Beispiel #1
0
        public IOPage(TurboGraphics host, CDRom cdrom)
        {
            m_Video   = new Video();
            m_JoyPort = new IOPort();
            m_PSG     = new PSG(cdrom);
            m_CDRom   = cdrom;
            m_Host    = host;

            m_TimerOverflow  = 0x10000 << 10;
            m_OverFlowCycles = 0;
        }
Beispiel #2
0
        public PSG(CDRom cdrom)
        {
            m_Channels = new PSG_Channel[8];

            for (int i = 0; i < 8; i++)
            {
                m_Channels[i]               = new PSG_Channel();
                m_Channels[i].m_Buffer      = new int[32];
                m_Channels[i].m_BufferIndex = 0;
            }

            m_Selected = m_Channels[0];
            m_CDRom    = cdrom;

            StartMixer(44100, 1024);
        }
Beispiel #3
0
        public TurboGraphics()
        {
            MemoryBank nullMemory = new MemoryBank();
            RamBank    memory     = new RamBank();

            m_CDRom  = new CDRom();
            m_IOPage = new IOPage(this, m_CDRom);

            // We have 256 ram banks to work with
            m_BankList = new MemoryBank[0x100];

            for (int i = 0; i < 0x100; i++)
            {
                m_BankList[i] = nullMemory;
            }

            m_BankList[0xF8] = memory;
            m_BankList[0xF9] = memory;
            m_BankList[0xFA] = memory;
            m_BankList[0xFB] = memory;

            // CD-ROM BRAM
            m_BankList[0xF7] = m_CDRom.GetSaveMemory();

            // CD-ROM ram sub system
            m_BankList[0x80] = m_CDRom.GetRam(0);
            m_BankList[0x81] = m_CDRom.GetRam(1);
            m_BankList[0x82] = m_CDRom.GetRam(2);
            m_BankList[0x83] = m_CDRom.GetRam(3);
            m_BankList[0x84] = m_CDRom.GetRam(4);
            m_BankList[0x85] = m_CDRom.GetRam(5);
            m_BankList[0x86] = m_CDRom.GetRam(6);
            m_BankList[0x87] = m_CDRom.GetRam(7);

            m_BankList[0xFF] = m_IOPage;
        }