public void Reset() { Mikey.Reset(); Suzy.Reset(); Mmu.Reset(); Cpu.Reset(); }
private void GenerateInterrupts() { // "Mikey is only source of interrupts. It contains all timers (regular, audio and UART)" if (SystemClock.CompatibleCycleCount >= NextTimerEvent) { Mikey.Update(); } }
public void Initialize() { Ram = new Ram64KBMemory(); Rom = new RomBootMemory(); Rom.LoadBootImage(BootRomImage); Mikey = new Mikey(this); Suzy = new Suzy(this); Suzy.Initialize(); // Pass all hardware that have memory access to MMU Mmu = new MemoryManagementUnit(Rom, Ram, Mikey, Suzy); SystemClock = new Clock(); LcdScreenDma = new int[0x3FC0]; // 160 * 102 pixels // Construct processor Cpu = new Cmos65SC02(Mmu, SystemClock); Mikey.Initialize(); // Initialization means running reset operation Reset(); }