MCPcopy Create free account
hub / github.com/AppleWin/AppleWin / InsertInternal

Method InsertInternal

source/CardManager.cpp:52–148  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

50#include "z80emu.h"
51
52void 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;

Callers

nothing calls this directly

Calls 2

SetLanguageCardMethod · 0.80
GetLanguageCardMethod · 0.80

Tested by

no test coverage detected