Esempio n. 1
0
 public InterruptController()
 {
     interruptEnableFlag = new DataBus <byte>((byte)0);
     interruptsEnabled   = false;
     hasInterrupt        = false;
     currentInterrupt    = -1;
 }
Esempio n. 2
0
        // 0 - OAM Search
        // 1 - Pixel Transfer
        // 2 - H-Blank
        // 3 - V-Blank

        public PPU(InterruptController interruptController, LCD display)
        {
            vram = new byte[0x2000];
            oam  = new byte[40 * 4];
            // 4 bytes of data for each of 40 sprites
            output = new byte[256 * 256];
            // one color for each pixel

            lcd      = display;
            finished = new DirectBitmap(160, 144);

            // Assign Default Values
            lcdControl         = new DataBus <byte>(0);
            lcdStatus          = new DataBus <byte>(0);
            scrollY            = new DataBus <byte>(0);
            scrollX            = new DataBus <byte>(0);
            scanLine           = new DataBus <byte>(0);
            scanLineCompare    = new DataBus <byte>(0);
            dmaTransferAddress = new DataBus <byte>(0);
            bgPalette          = new DataBus <byte>(0);
            obj0Palette        = new DataBus <byte>(0);
            obj1Palette        = new DataBus <byte>(0);
            windowY            = new DataBus <byte>(0);
            windowX            = new DataBus <byte>(0);

            ppuState = 0;
            ppuClock = 0;
            rendered = false;
        }
Esempio n. 3
0
        public Timer(InterruptController interruptController)
        {
            dividerRegister = new DataBus <byte>((byte)0);
            timerCounter    = new DataBus <byte>((byte)0);
            timerModulo     = new DataBus <byte>((byte)0);
            timerControl    = new DataBus <byte>((byte)0);

            ic = interruptController;
        }