diff --git a/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj b/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj index 71c6402e30..6d040811d6 100644 --- a/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj +++ b/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj @@ -419,6 +419,12 @@ PSXControllerConfig.cs + + Form + + + PSXHashDiscs.cs + Form @@ -1240,6 +1246,9 @@ PSXControllerConfig.cs + + PSXHashDiscs.cs + PSXOptions.cs diff --git a/BizHawk.Client.EmuHawk/MainForm.Designer.cs b/BizHawk.Client.EmuHawk/MainForm.Designer.cs index cef06a4ce6..713f84d079 100644 --- a/BizHawk.Client.EmuHawk/MainForm.Designer.cs +++ b/BizHawk.Client.EmuHawk/MainForm.Designer.cs @@ -318,6 +318,7 @@ this.AppleSubMenu = new System.Windows.Forms.ToolStripMenuItem(); this.AppleDisksSubMenu = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator31 = new System.Windows.Forms.ToolStripSeparator(); + this.settingsToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.HelpSubMenu = new System.Windows.Forms.ToolStripMenuItem(); this.OnlineHelpMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.ForumsMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -395,7 +396,7 @@ this.ClearSRAMContextMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.ShowMenuContextMenuSeparator = new System.Windows.Forms.ToolStripSeparator(); this.ShowMenuContextMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.settingsToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.PSXHashDiscsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.MainformMenu.SuspendLayout(); this.MainStatusBar.SuspendLayout(); this.MainFormContextMenu.SuspendLayout(); @@ -2494,7 +2495,8 @@ this.PSXSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.PSXControllerSettingsMenuItem, this.PSXOptionsMenuItem, - this.PSXDiscControlsMenuItem}); + this.PSXDiscControlsMenuItem, + this.PSXHashDiscsToolStripMenuItem}); this.PSXSubMenu.Name = "PSXSubMenu"; this.PSXSubMenu.Size = new System.Drawing.Size(37, 17); this.PSXSubMenu.Text = "PSX"; @@ -2811,7 +2813,7 @@ this.AppleDisksSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripSeparator31}); this.AppleDisksSubMenu.Name = "AppleDisksSubMenu"; - this.AppleDisksSubMenu.Size = new System.Drawing.Size(152, 22); + this.AppleDisksSubMenu.Size = new System.Drawing.Size(125, 22); this.AppleDisksSubMenu.Text = "Disks"; this.AppleDisksSubMenu.DropDownOpened += new System.EventHandler(this.AppleDisksSubMenu_DropDownOpened); // @@ -2820,6 +2822,13 @@ this.toolStripSeparator31.Name = "toolStripSeparator31"; this.toolStripSeparator31.Size = new System.Drawing.Size(57, 6); // + // settingsToolStripMenuItem1 + // + this.settingsToolStripMenuItem1.Name = "settingsToolStripMenuItem1"; + this.settingsToolStripMenuItem1.Size = new System.Drawing.Size(125, 22); + this.settingsToolStripMenuItem1.Text = "&Settings..."; + this.settingsToolStripMenuItem1.Click += new System.EventHandler(this.settingsToolStripMenuItem1_Click_1); + // // HelpSubMenu // this.HelpSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -3135,7 +3144,7 @@ this.ShowMenuContextMenuSeparator, this.ShowMenuContextMenuItem}); this.MainFormContextMenu.Name = "contextMenuStrip1"; - this.MainFormContextMenu.Size = new System.Drawing.Size(217, 468); + this.MainFormContextMenu.Size = new System.Drawing.Size(202, 468); this.MainFormContextMenu.Closing += new System.Windows.Forms.ToolStripDropDownClosingEventHandler(this.MainFormContextMenu_Closing); this.MainFormContextMenu.Opening += new System.ComponentModel.CancelEventHandler(this.MainFormContextMenu_Opening); // @@ -3143,7 +3152,7 @@ // this.OpenRomContextMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.OpenFile; this.OpenRomContextMenuItem.Name = "OpenRomContextMenuItem"; - this.OpenRomContextMenuItem.Size = new System.Drawing.Size(216, 22); + this.OpenRomContextMenuItem.Size = new System.Drawing.Size(201, 22); this.OpenRomContextMenuItem.Text = "Open Rom"; this.OpenRomContextMenuItem.Click += new System.EventHandler(this.OpenRomMenuItem_Click); // @@ -3151,7 +3160,7 @@ // this.LoadLastRomContextMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Recent; this.LoadLastRomContextMenuItem.Name = "LoadLastRomContextMenuItem"; - this.LoadLastRomContextMenuItem.Size = new System.Drawing.Size(216, 22); + this.LoadLastRomContextMenuItem.Size = new System.Drawing.Size(201, 22); this.LoadLastRomContextMenuItem.Text = "Load Last ROM"; this.LoadLastRomContextMenuItem.Click += new System.EventHandler(this.LoadLastRomContextMenuItem_Click); // @@ -3159,20 +3168,20 @@ // this.StopAVContextMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Stop; this.StopAVContextMenuItem.Name = "StopAVContextMenuItem"; - this.StopAVContextMenuItem.Size = new System.Drawing.Size(216, 22); + this.StopAVContextMenuItem.Size = new System.Drawing.Size(201, 22); this.StopAVContextMenuItem.Text = "Stop AVI/WAV"; this.StopAVContextMenuItem.Click += new System.EventHandler(this.StopAVMenuItem_Click); // // ContextSeparator_AfterROM // this.ContextSeparator_AfterROM.Name = "ContextSeparator_AfterROM"; - this.ContextSeparator_AfterROM.Size = new System.Drawing.Size(213, 6); + this.ContextSeparator_AfterROM.Size = new System.Drawing.Size(198, 6); // // RecordMovieContextMenuItem // this.RecordMovieContextMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.RecordHS; this.RecordMovieContextMenuItem.Name = "RecordMovieContextMenuItem"; - this.RecordMovieContextMenuItem.Size = new System.Drawing.Size(216, 22); + this.RecordMovieContextMenuItem.Size = new System.Drawing.Size(201, 22); this.RecordMovieContextMenuItem.Text = "Record Movie"; this.RecordMovieContextMenuItem.Click += new System.EventHandler(this.RecordMovieMenuItem_Click); // @@ -3180,7 +3189,7 @@ // this.PlayMovieContextMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Play; this.PlayMovieContextMenuItem.Name = "PlayMovieContextMenuItem"; - this.PlayMovieContextMenuItem.Size = new System.Drawing.Size(216, 22); + this.PlayMovieContextMenuItem.Size = new System.Drawing.Size(201, 22); this.PlayMovieContextMenuItem.Text = "Play Movie"; this.PlayMovieContextMenuItem.Click += new System.EventHandler(this.PlayMovieMenuItem_Click); // @@ -3188,7 +3197,7 @@ // this.RestartMovieContextMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.restart; this.RestartMovieContextMenuItem.Name = "RestartMovieContextMenuItem"; - this.RestartMovieContextMenuItem.Size = new System.Drawing.Size(216, 22); + this.RestartMovieContextMenuItem.Size = new System.Drawing.Size(201, 22); this.RestartMovieContextMenuItem.Text = "Restart Movie"; this.RestartMovieContextMenuItem.Click += new System.EventHandler(this.PlayFromBeginningMenuItem_Click); // @@ -3196,7 +3205,7 @@ // this.StopMovieContextMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Stop; this.StopMovieContextMenuItem.Name = "StopMovieContextMenuItem"; - this.StopMovieContextMenuItem.Size = new System.Drawing.Size(216, 22); + this.StopMovieContextMenuItem.Size = new System.Drawing.Size(201, 22); this.StopMovieContextMenuItem.Text = "Stop Movie"; this.StopMovieContextMenuItem.Click += new System.EventHandler(this.StopMovieMenuItem_Click); // @@ -3204,14 +3213,14 @@ // this.LoadLastMovieContextMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Recent; this.LoadLastMovieContextMenuItem.Name = "LoadLastMovieContextMenuItem"; - this.LoadLastMovieContextMenuItem.Size = new System.Drawing.Size(216, 22); + this.LoadLastMovieContextMenuItem.Size = new System.Drawing.Size(201, 22); this.LoadLastMovieContextMenuItem.Text = "Load Last Movie"; this.LoadLastMovieContextMenuItem.Click += new System.EventHandler(this.LoadLastMovieContextMenuItem_Click); // // BackupMovieContextMenuItem // this.BackupMovieContextMenuItem.Name = "BackupMovieContextMenuItem"; - this.BackupMovieContextMenuItem.Size = new System.Drawing.Size(216, 22); + this.BackupMovieContextMenuItem.Size = new System.Drawing.Size(201, 22); this.BackupMovieContextMenuItem.Text = "Backup Movie"; this.BackupMovieContextMenuItem.Click += new System.EventHandler(this.BackupMovieContextMenuItem_Click); // @@ -3219,28 +3228,28 @@ // this.StopNoSaveContextMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Stop; this.StopNoSaveContextMenuItem.Name = "StopNoSaveContextMenuItem"; - this.StopNoSaveContextMenuItem.Size = new System.Drawing.Size(216, 22); + this.StopNoSaveContextMenuItem.Size = new System.Drawing.Size(201, 22); this.StopNoSaveContextMenuItem.Text = "Stop Movie without Saving"; this.StopNoSaveContextMenuItem.Click += new System.EventHandler(this.StopMovieWithoutSavingMenuItem_Click); // // ViewSubtitlesContextMenuItem // this.ViewSubtitlesContextMenuItem.Name = "ViewSubtitlesContextMenuItem"; - this.ViewSubtitlesContextMenuItem.Size = new System.Drawing.Size(216, 22); + this.ViewSubtitlesContextMenuItem.Size = new System.Drawing.Size(201, 22); this.ViewSubtitlesContextMenuItem.Text = "View Subtitles"; this.ViewSubtitlesContextMenuItem.Click += new System.EventHandler(this.ViewSubtitlesContextMenuItem_Click); // // AddSubtitleContextMenuItem // this.AddSubtitleContextMenuItem.Name = "AddSubtitleContextMenuItem"; - this.AddSubtitleContextMenuItem.Size = new System.Drawing.Size(216, 22); + this.AddSubtitleContextMenuItem.Size = new System.Drawing.Size(201, 22); this.AddSubtitleContextMenuItem.Text = "Add Subtitle"; this.AddSubtitleContextMenuItem.Click += new System.EventHandler(this.AddSubtitleContextMenuItem_Click); // // ViewCommentsContextMenuItem // this.ViewCommentsContextMenuItem.Name = "ViewCommentsContextMenuItem"; - this.ViewCommentsContextMenuItem.Size = new System.Drawing.Size(216, 22); + this.ViewCommentsContextMenuItem.Size = new System.Drawing.Size(201, 22); this.ViewCommentsContextMenuItem.Text = "View Comments"; this.ViewCommentsContextMenuItem.Click += new System.EventHandler(this.ViewCommentsContextMenuItem_Click); // @@ -3248,27 +3257,27 @@ // this.SaveMovieContextMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.SaveAs; this.SaveMovieContextMenuItem.Name = "SaveMovieContextMenuItem"; - this.SaveMovieContextMenuItem.Size = new System.Drawing.Size(216, 22); + this.SaveMovieContextMenuItem.Size = new System.Drawing.Size(201, 22); this.SaveMovieContextMenuItem.Text = "Save Movie"; this.SaveMovieContextMenuItem.Click += new System.EventHandler(this.SaveMovieMenuItem_Click); // // ContextSeparator_AfterMovie // this.ContextSeparator_AfterMovie.Name = "ContextSeparator_AfterMovie"; - this.ContextSeparator_AfterMovie.Size = new System.Drawing.Size(213, 6); + this.ContextSeparator_AfterMovie.Size = new System.Drawing.Size(198, 6); // // UndoSavestateContextMenuItem // this.UndoSavestateContextMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.undo; this.UndoSavestateContextMenuItem.Name = "UndoSavestateContextMenuItem"; - this.UndoSavestateContextMenuItem.Size = new System.Drawing.Size(216, 22); + this.UndoSavestateContextMenuItem.Size = new System.Drawing.Size(201, 22); this.UndoSavestateContextMenuItem.Text = "Undo Savestate"; this.UndoSavestateContextMenuItem.Click += new System.EventHandler(this.UndoSavestateContextMenuItem_Click); // // ContextSeparator_AfterUndo // this.ContextSeparator_AfterUndo.Name = "ContextSeparator_AfterUndo"; - this.ContextSeparator_AfterUndo.Size = new System.Drawing.Size(213, 6); + this.ContextSeparator_AfterUndo.Size = new System.Drawing.Size(198, 6); // // ConfigContextMenuItem // @@ -3291,7 +3300,7 @@ this.toolStripMenuItem66, this.toolStripMenuItem67}); this.ConfigContextMenuItem.Name = "ConfigContextMenuItem"; - this.ConfigContextMenuItem.Size = new System.Drawing.Size(216, 22); + this.ConfigContextMenuItem.Size = new System.Drawing.Size(201, 22); this.ConfigContextMenuItem.Text = "Config"; // // toolStripMenuItem6 @@ -3459,7 +3468,7 @@ // this.ScreenshotContextMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.camera; this.ScreenshotContextMenuItem.Name = "ScreenshotContextMenuItem"; - this.ScreenshotContextMenuItem.Size = new System.Drawing.Size(216, 22); + this.ScreenshotContextMenuItem.Size = new System.Drawing.Size(201, 22); this.ScreenshotContextMenuItem.Text = "Screenshot"; this.ScreenshotContextMenuItem.Click += new System.EventHandler(this.ScreenshotMenuItem_Click); // @@ -3467,35 +3476,35 @@ // this.CloseRomContextMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Close; this.CloseRomContextMenuItem.Name = "CloseRomContextMenuItem"; - this.CloseRomContextMenuItem.Size = new System.Drawing.Size(216, 22); + this.CloseRomContextMenuItem.Size = new System.Drawing.Size(201, 22); this.CloseRomContextMenuItem.Text = "Close ROM"; this.CloseRomContextMenuItem.Click += new System.EventHandler(this.CloseRomMenuItem_Click); // // ClearSRAMContextMenuItem // this.ClearSRAMContextMenuItem.Name = "ClearSRAMContextMenuItem"; - this.ClearSRAMContextMenuItem.Size = new System.Drawing.Size(216, 22); + this.ClearSRAMContextMenuItem.Size = new System.Drawing.Size(201, 22); this.ClearSRAMContextMenuItem.Text = "Close and Clear SRAM"; this.ClearSRAMContextMenuItem.Click += new System.EventHandler(this.ClearSRAMContextMenuItem_Click); // // ShowMenuContextMenuSeparator // this.ShowMenuContextMenuSeparator.Name = "ShowMenuContextMenuSeparator"; - this.ShowMenuContextMenuSeparator.Size = new System.Drawing.Size(213, 6); + this.ShowMenuContextMenuSeparator.Size = new System.Drawing.Size(198, 6); // // ShowMenuContextMenuItem // this.ShowMenuContextMenuItem.Name = "ShowMenuContextMenuItem"; - this.ShowMenuContextMenuItem.Size = new System.Drawing.Size(216, 22); + this.ShowMenuContextMenuItem.Size = new System.Drawing.Size(201, 22); this.ShowMenuContextMenuItem.Text = "Show Menu"; this.ShowMenuContextMenuItem.Click += new System.EventHandler(this.ShowMenuContextMenuItem_Click); // - // settingsToolStripMenuItem1 + // PSXHashDiscsToolStripMenuItem // - this.settingsToolStripMenuItem1.Name = "settingsToolStripMenuItem1"; - this.settingsToolStripMenuItem1.Size = new System.Drawing.Size(152, 22); - this.settingsToolStripMenuItem1.Text = "&Settings..."; - this.settingsToolStripMenuItem1.Click += new System.EventHandler(this.settingsToolStripMenuItem1_Click_1); + this.PSXHashDiscsToolStripMenuItem.Name = "PSXHashDiscsToolStripMenuItem"; + this.PSXHashDiscsToolStripMenuItem.Size = new System.Drawing.Size(163, 22); + this.PSXHashDiscsToolStripMenuItem.Text = "&Hash Discs"; + this.PSXHashDiscsToolStripMenuItem.Click += new System.EventHandler(this.PSXHashDiscsToolStripMenuItem_Click); // // MainForm // @@ -3903,6 +3912,7 @@ private System.Windows.Forms.ToolStripMenuItem gBAWithMGBAToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem AutoHawkMenuItem; private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem PSXHashDiscsToolStripMenuItem; } } diff --git a/BizHawk.Client.EmuHawk/MainForm.cs b/BizHawk.Client.EmuHawk/MainForm.cs index e4431fce41..9ee2275cb6 100644 --- a/BizHawk.Client.EmuHawk/MainForm.cs +++ b/BizHawk.Client.EmuHawk/MainForm.cs @@ -3793,5 +3793,10 @@ namespace BizHawk.Client.EmuHawk { GenericCoreConfig.DoDialog(this, "Apple II Settings"); } + + private void PSXHashDiscsToolStripMenuItem_Click(object sender, EventArgs e) + { + new PSXHashDiscs().ShowDialog(); + } } } diff --git a/BizHawk.Client.EmuHawk/config/PSX/PSXHashDiscs.Designer.cs b/BizHawk.Client.EmuHawk/config/PSX/PSXHashDiscs.Designer.cs new file mode 100644 index 0000000000..b378d4951e --- /dev/null +++ b/BizHawk.Client.EmuHawk/config/PSX/PSXHashDiscs.Designer.cs @@ -0,0 +1,116 @@ +namespace BizHawk.Client.EmuHawk +{ + partial class PSXHashDiscs + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.btnClose = new System.Windows.Forms.Button(); + this.btnHash = new System.Windows.Forms.Button(); + this.txtHashes = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // btnClose + // + this.btnClose.DialogResult = System.Windows.Forms.DialogResult.OK; + this.btnClose.Location = new System.Drawing.Point(347, 239); + this.btnClose.Name = "btnClose"; + this.btnClose.Size = new System.Drawing.Size(75, 23); + this.btnClose.TabIndex = 0; + this.btnClose.Text = "Close"; + this.btnClose.UseVisualStyleBackColor = true; + // + // btnHash + // + this.btnHash.Location = new System.Drawing.Point(27, 239); + this.btnHash.Name = "btnHash"; + this.btnHash.Size = new System.Drawing.Size(75, 23); + this.btnHash.TabIndex = 1; + this.btnHash.Text = "Hash"; + this.btnHash.UseVisualStyleBackColor = true; + this.btnHash.Click += new System.EventHandler(this.btnHash_Click); + // + // txtHashes + // + this.txtHashes.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.txtHashes.Location = new System.Drawing.Point(27, 51); + this.txtHashes.Multiline = true; + this.txtHashes.Name = "txtHashes"; + this.txtHashes.ReadOnly = true; + this.txtHashes.Size = new System.Drawing.Size(395, 146); + this.txtHashes.TabIndex = 2; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(24, 211); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(200, 13); + this.label1.TabIndex = 3; + this.label1.Text = "Sorry, this is gonna freeze while it hashes"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(96, 9); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(223, 26); + this.label2.TabIndex = 4; + this.label2.Text = "This tool hashes your discs in a standard way.\r\nCheck against redump.org \"Total\" " + + "CRC-32"; + // + // PSXHashDiscs + // + this.AcceptButton = this.btnClose; + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.CancelButton = this.btnClose; + this.ClientSize = new System.Drawing.Size(446, 276); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Controls.Add(this.txtHashes); + this.Controls.Add(this.btnHash); + this.Controls.Add(this.btnClose); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "PSXHashDiscs"; + this.Text = "PSX Disc Hasher"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button btnClose; + private System.Windows.Forms.Button btnHash; + private System.Windows.Forms.TextBox txtHashes; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + } +} \ No newline at end of file diff --git a/BizHawk.Client.EmuHawk/config/PSX/PSXHashDiscs.cs b/BizHawk.Client.EmuHawk/config/PSX/PSXHashDiscs.cs new file mode 100644 index 0000000000..2a927733eb --- /dev/null +++ b/BizHawk.Client.EmuHawk/config/PSX/PSXHashDiscs.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +using BizHawk.Client.Common; +using BizHawk.Emulation.DiscSystem; +using BizHawk.Emulation.Cores.Sony.PSX; + +namespace BizHawk.Client.EmuHawk +{ + public partial class PSXHashDiscs : Form + { + public PSXHashDiscs() + { + InitializeComponent(); + } + + private void btnHash_Click(object sender, EventArgs e) + { + txtHashes.Text = ""; + btnHash.Enabled = false; + try + { + var psx = ((Octoshock)Global.Emulator); + foreach (var disc in psx.Discs) + { + DiscHasher hasher = new DiscHasher(disc); + uint hash = hasher.Calculate_PSX_RedumpHash(); + txtHashes.Text += string.Format("{0:X8} {1}\r\n", hash, disc.Name); + } + } + finally + { + btnHash.Enabled = true; + } + } + } +} diff --git a/BizHawk.Client.EmuHawk/config/PSX/PSXHashDiscs.resx b/BizHawk.Client.EmuHawk/config/PSX/PSXHashDiscs.resx new file mode 100644 index 0000000000..1af7de150c --- /dev/null +++ b/BizHawk.Client.EmuHawk/config/PSX/PSXHashDiscs.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/BizHawk.Emulation.Cores/Consoles/Sony/PSX/Octoshock.cs b/BizHawk.Emulation.Cores/Consoles/Sony/PSX/Octoshock.cs index daa0bf3e90..75db10fd13 100644 --- a/BizHawk.Emulation.Cores/Consoles/Sony/PSX/Octoshock.cs +++ b/BizHawk.Emulation.Cores/Consoles/Sony/PSX/Octoshock.cs @@ -191,29 +191,16 @@ namespace BizHawk.Emulation.Cores.Sony.PSX { cbActivity(this); - //lets you check subcode generation by logging it and checking against the CCD subcode - bool subcodeLog = false; - bool readLog = false; - - if (subcodeLog) Console.Write("{0}|", lba); - else if (readLog) Console.WriteLine("Read Sector: " + lba); - //todo - cache reader DiscSystem.DiscSectorReader dsr = new DiscSystem.DiscSectorReader(Disc); dsr.ReadLBA_2448(lba, SectorBuffer, 0); Marshal.Copy(SectorBuffer, 0, new IntPtr(dst), 2448); - //if (subcodeLog) - //{ - // for (int i = 0; i < 24; i++) - // Console.Write("{0:X2}", *((byte*)dst + 2352 + i)); - // Console.WriteLine(); - //} - return OctoshockDll.SHOCK_OK; } } + public List Discs; List discInterfaces = new List(); DiscInterface currentDiscInterface; @@ -238,6 +225,8 @@ namespace BizHawk.Emulation.Cores.Sony.PSX _Settings = (Settings)settings ?? new Settings(); _SyncSettings = (SyncSettings)syncSettings ?? new SyncSettings(); + Discs = discs; + Attach(); HackyDiscButtons.AddRange(discNames); diff --git a/BizHawk.Emulation.DiscSystem/Disc.cs b/BizHawk.Emulation.DiscSystem/Disc.cs index 5fc2acae9e..e9334f3485 100644 --- a/BizHawk.Emulation.DiscSystem/Disc.cs +++ b/BizHawk.Emulation.DiscSystem/Disc.cs @@ -42,6 +42,11 @@ namespace BizHawk.Emulation.DiscSystem /// public DiscStructure.Session Session1 { get { return Structure.Sessions[1]; } } + /// + /// The name of a disc. Loosely based on the filename. Just for informational purposes. + /// + public string Name; + /// /// The DiscTOCRaw corresponding to the RawTOCEntries. /// TODO - there's one of these for every session, so... having one here doesnt make sense diff --git a/BizHawk.Emulation.DiscSystem/DiscMountJob.cs b/BizHawk.Emulation.DiscSystem/DiscMountJob.cs index 64a0fd3539..4850da25de 100644 --- a/BizHawk.Emulation.DiscSystem/DiscMountJob.cs +++ b/BizHawk.Emulation.DiscSystem/DiscMountJob.cs @@ -63,6 +63,8 @@ namespace BizHawk.Emulation.DiscSystem if (OUT_Disc != null) { + OUT_Disc.Name = Path.GetFileName(IN_FromPath); + //generate toc and structure: //1. TOCRaw from RawTOCEntries var tocSynth = new Synthesize_DiscTOC_From_RawTOCEntries_Job() { Entries = OUT_Disc.RawTOCEntries };