using System; using System.Windows.Forms; using Core.Cpu; using Core.Memory; namespace Desktop { public partial class Form1 : Form { private Z80 _cpu = null!; private MemoryBus _memoryBus = null!; public Form1() { InitializeComponent(); InitializeEmulator(); } private void InitializeEmulator() { try { // 1. Initialize the memory bus _memoryBus = new MemoryBus(); // 2. Load the ROM from disk // Make sure "48.rom" matches the name of the file you added to your project byte[] romData = RomLoader.Load("48.rom"); // 3. Inject the ROM into the memory bus _memoryBus.LoadRom(romData); // 4. Initialize the CPU with the populated memory _cpu = new Z80(_memoryBus); DebuggerForm debugger = new DebuggerForm(_cpu, _memoryBus); debugger.Show(); //MessageBox.Show("ROM loaded and CPU initialized successfully!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show($"Failed to initialize emulator:\n{ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }