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; }
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); }
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; }