| 50 | #include "z80emu.h" |
| 51 | |
| 52 | void CardManager::InsertInternal(UINT slot, SS_CARDTYPE type) |
| 53 | { |
| 54 | RemoveInternal(slot); |
| 55 | |
| 56 | switch (type) |
| 57 | { |
| 58 | case CT_Empty: |
| 59 | m_slot[slot] = new EmptyCard(slot); |
| 60 | break; |
| 61 | case CT_Disk2: |
| 62 | m_slot[slot] = new Disk2InterfaceCard(slot); |
| 63 | break; |
| 64 | case CT_SSC: |
| 65 | _ASSERT(m_pSSC == NULL); |
| 66 | if (m_pSSC) break; // Only support one SSC |
| 67 | m_slot[slot] = m_pSSC = new CSuperSerialCard(slot); |
| 68 | break; |
| 69 | case CT_MockingboardC: |
| 70 | case CT_MegaAudio: |
| 71 | case CT_SDMusic: |
| 72 | m_slot[slot] = new MockingboardCard(slot, type); |
| 73 | break; |
| 74 | case CT_GenericPrinter: |
| 75 | _ASSERT(m_pParallelPrinterCard == NULL); |
| 76 | if (m_pParallelPrinterCard) break; // Only support one Printer card |
| 77 | m_slot[slot] = m_pParallelPrinterCard = new ParallelPrinterCard(slot); |
| 78 | break; |
| 79 | case CT_GenericHDD: |
| 80 | m_slot[slot] = new HarddiskInterfaceCard(slot); |
| 81 | break; |
| 82 | case CT_GenericClock: |
| 83 | m_slot[slot] = new DummyCard(type, slot); |
| 84 | break; |
| 85 | case CT_MouseInterface: |
| 86 | _ASSERT(m_pMouseCard == NULL); |
| 87 | if (m_pMouseCard) break; // Only support one Mouse card |
| 88 | m_slot[slot] = m_pMouseCard = new CMouseInterface(slot); |
| 89 | break; |
| 90 | case CT_Z80: |
| 91 | _ASSERT(m_pZ80Card == NULL); |
| 92 | if (m_pZ80Card) break; // Only support one Z80 card |
| 93 | m_slot[slot] = m_pZ80Card = new Z80Card(slot); |
| 94 | break; |
| 95 | case CT_Phasor: |
| 96 | m_slot[slot] = new MockingboardCard(slot, type); |
| 97 | break; |
| 98 | case CT_Echo: |
| 99 | m_slot[slot] = new DummyCard(type, slot); |
| 100 | break; |
| 101 | case CT_SAM: |
| 102 | m_slot[slot] = new SAMCard(slot); |
| 103 | break; |
| 104 | case CT_Uthernet: |
| 105 | m_slot[slot] = new Uthernet1(slot); |
| 106 | break; |
| 107 | case CT_FourPlay: |
| 108 | m_slot[slot] = new FourPlayCard(slot); |
| 109 | break; |
nothing calls this directly
no test coverage detected