Exemplo n.º 1
0
        protected override void loadROMs()
        {
            m_CharacterROM         = Utilities.loadCharacterROM("ROMs\\PET_characters-2.901447-10.bin", 8);
            m_CharacterROMInverted = Utilities.loadCharacterROM("ROMs\\PET_characters-2.901447-10.bin", 8, true);

            ROMmodule rmTemp;

            rmTemp = new ROMmodule(m_cpu, "ROMs\\PET_basic-2-c000.901465-01.bin", 0xC000);
            rmTemp = new ROMmodule(m_cpu, "ROMs\\PET_basic-2-d000.901465-02.bin", 0xD000);
            rmTemp = new ROMmodule(m_cpu, "ROMs\\PET_edit-2-n.901447-24.bin", 0xE000);
            rmTemp = new ROMmodule(m_cpu, "ROMs\\PET_kernal-2.901465-03.bin", 0xF000);
        }
Exemplo n.º 2
0
        protected override void loadROMs()
        {
            m_CharacterROM         = Utilities.loadCharacterROM("ROMs\\PET_characters-1.901447-08.bin", 8);
            m_CharacterROMInverted = Utilities.loadCharacterROM("ROMs\\PET_characters-1.901447-08.bin", 8, true);

            ROMmodule rmTemp;

            rmTemp = new ROMmodule(m_cpu, "ROMs\\PET_rom-1-c000.901447-09.bin", 0xC000);
            rmTemp = new ROMmodule(m_cpu, "ROMs\\PET_rom-1-c800.901447-02.bin", 0xC800);
            rmTemp = new ROMmodule(m_cpu, "ROMs\\PET_rom-1-d000.901447-03.bin", 0xD000);
            rmTemp = new ROMmodule(m_cpu, "ROMs\\PET_rom-1-d800.901447-04.bin", 0xD800);
            rmTemp = new ROMmodule(m_cpu, "ROMs\\PET_rom-1-e000.901447-05.bin", 0xE000);
            rmTemp = new ROMmodule(m_cpu, "ROMs\\PET_rom-1-f000.901447-06.bin", 0xF000);
            rmTemp = new ROMmodule(m_cpu, "ROMs\\PET_rom-1-f800.901447-07.bin", 0xF800);
        }
Exemplo n.º 3
0
        protected virtual void loadROMs()
        {
            m_CharacterROM         = Utilities.loadCharacterROM_FLIP("ROMs\\Apple1_charmap.rom", 8, false);
            m_CharacterROMInverted = Utilities.loadCharacterROM_FLIP("ROMs\\Apple1_charmap.rom", 8, true);

            ROMmodule rmHexMon = new ROMmodule(m_cpu, "ROMs\\Apple1_HexMonitor.rom", 0xFF00);
            ROMmodule rmBASIC;

            if (m_bLoadBASIC)
            {
                rmBASIC = new ROMmodule(m_cpu, "ROMs\\Apple1_basic.rom", 0xE000);
            }
            if (m_bLoadHELLO)
            {
                m_cpu.loadCC65BIN("ROMs\\Apple1_hello.bin");
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// http://www.classiccmp.org/cpmarchives/trs80/mirrors/kjsl/www.kjsl.com/trs80/mod1intern.html
        /// </summary>
        void ISystemBase.setupBase()
        {
            m_cpu = new Z80();
            m_cpu.installRAMBank(0x4000, 16);

            // setup display
            m_VideoInfo            = new VideoInfoStruct();
            m_VideoInfo.Rows       = 25;
            m_VideoInfo.Cols       = 80;
            m_VideoInfo.CharHeight = 8;
            m_VideoInfo.CharWidth  = 8;
            m_VideoInfo.FontColor  = Color.Green;
            m_VideoInfo.BackColor  = Color.Black;

            ROMmodule rmBIOS = new ROMmodule(m_cpu, "ROMs\\TRS80_level1.rom", 0);

            m_cpu.Reset();
        }
Exemplo n.º 5
0
        /// <summary>
        /// http://searle.hostei.com/grant/z80/SimpleZ80.html
        /// </summary>
        void ISystemBase.setupBase()
        {
            m_cpu = new Z80();
            m_cpu.installRAMBank(0x2000, 56);
            m_cpu.registerIOHandler(0x80, ControlIn, ControlOut);
            m_cpu.registerIOHandler(0x81, DataIn, DataOut);

            // setup display
            m_VideoInfo            = new VideoInfoStruct();
            m_VideoInfo.Rows       = 25;
            m_VideoInfo.Cols       = 40;
            m_VideoInfo.CharHeight = 8;
            m_VideoInfo.CharWidth  = 8;
            m_VideoInfo.FontColor  = Color.Green;
            m_VideoInfo.BackColor  = Color.Black;

            m_iCursorX = m_iCursorY = 0;

            m_ScreenBuffer = new char[m_VideoInfo.Rows][];
            for (int r = 0; r < m_VideoInfo.Rows; r++)
            {
                m_ScreenBuffer[r] = new char[m_VideoInfo.Cols];
                for (int c = 0; c < m_VideoInfo.Cols; c++)
                {
                    m_ScreenBuffer[r][c] = ' ';
                }
            }
            m_bNeedRefresh = false;

            m_DisplayQueue  = new Queue <byte>(10);
            m_KeyboardQueue = new Queue <KeyPressEventArgs>(10);

            // load character set
            m_CharacterROM         = Utilities.loadCharacterROM("ROMs\\SPECTRUM_ZX82.bin", 8, false, 0x3d00, 0x20);
            m_CharacterROMInverted = Utilities.loadCharacterROM("ROMs\\SPECTRUM_ZX82.bin", 8, true, 0x3d00, 0x20);
            //m_CharacterROM = Utilities.loadCharacterROM("ROMs\\CGA.bin", 8, false);
            //m_CharacterROMInverted = Utilities.loadCharacterROM("ROMs\\CGA.bin", 8, true);

            // load ROMs
            ROMmodule rmBIOS  = new ROMmodule(m_cpu, "ROMs\\Z80_INTMINI.bin", 0);
            ROMmodule rmBASIC = new ROMmodule(m_cpu, "ROMs\\Z80_BASIC.bin", 0x150);

            m_cpu.Reset();
        }