Пример #1
0
        public GPU(Clock cpuClock, GPURegisters gpuRegisters)
        {
            this.cpuClock     = cpuClock;
            this.gpuRegisters = gpuRegisters;

            clock = new Clock();

            gpuMode = GPUMode.HBlankPeriod;

            memoryData        = new byte[0x2000];
            tileSet           = new byte[0x17FF];
            tileBackgroundMap = new byte[0x7FF];
            oamData           = new byte[0xA0];
            zRamData          = new byte[0x7F];

            bmp.Save("D:\\test.bmp");
        }
Пример #2
0
        public void Load(byte[] rom)
        {
            cartridge = new Cartridge(rom);

            clock = new Clock();

            cpuRegisters = new CPURegisters(cartridge);
            gpuRegisters = new GPURegisters();

            gpu = new GPU(clock, gpuRegisters);

            keyboard = new Keyboard();

            memory = new Memory(cartridge, gpu, cpuRegisters, gpuRegisters, keyboard);

            processor = new Processor(memory, cpuRegisters, gpu, clock);

            memory.Initialize();
            processor.Initialize();
        }