예제 #1
0
        public NES(Cartridge gameCartridge, Joypad joypad)
        {
            var ppuBus = new PpuBus(gameCartridge.CharacterRom, gameCartridge.GameMirroring);

            _ppu = new Ppu(ppuBus, new NmiTrigger(() => _cpu.NMI()));

            var cpuBus = new CpuBus(gameCartridge.ProgramRom, _ppu, joypad, new DMA(PerformDma), () => _cpu.MasterClockCycles);

            _cpu = new Cpu(cpuBus);
        }
예제 #2
0
        public CPUforHelloWorld()
        {
            var rom       = Resources.ResourceManager.GetObject("sample1");
            var cartridge = new Cartridge(new MemoryStream((byte[])rom));
            var ram       = new RAM(0x0800);

            ppu = new PPU(cartridge);
            var bus = new CpuBus(ram, ppu, cartridge);

            cpu = new CPU(bus);
        }