Previous 15994 Revisions Next

r13435 Thursday 1st December, 2011 at 19:02:33 UTC by Sandro Ronco
kc: changed modules name to be more descriptive. (no whatsnew)
[src/mess/drivers]kc.c
[src/mess/machine]kc.c kc_d002.c kc_d004.c kc_ram.c kc_rom.c

src/mess/machine/kc_d002.c
r13434r13435
3838   PORT_DIPSETTING( 0xF0, "0xF0" )      // reserved for FDC D004
3939INPUT_PORTS_END
4040
41static SLOT_INTERFACE_START(kc_d002_cart)
42   SLOT_INTERFACE("standard", KC_STANDARD)   // standard 8KB ROM module
43   SLOT_INTERFACE("m006", KC_M006)         // BASIC
44   SLOT_INTERFACE("m011", KC_M011)         // 64KB RAM
45   SLOT_INTERFACE("m022", KC_M022)         // 16KB RAM
46   SLOT_INTERFACE("m032", KC_M032)         // 256KB segmented RAM
47   SLOT_INTERFACE("m033", KC_M033)         // TypeStar
48   SLOT_INTERFACE("m034", KC_M034)         // 512KB segmented RAM
49   SLOT_INTERFACE("m035", KC_M035)         // 1MB segmented RAM
50   SLOT_INTERFACE("m036", KC_M036)         // 128KB segmented RAM
51SLOT_INTERFACE_END
41// defined in drivers/kc.c
42SLOT_INTERFACE_EXTERN(kc85_cart);
43SLOT_INTERFACE_EXTERN(kc85_exp);
5244
53static SLOT_INTERFACE_START(kc_d002_exp)
54   SLOT_INTERFACE("d002", KC_D002)         // D002 Bus Driver
55   SLOT_INTERFACE("d004", KC_D004)         // D004 Floppy Disk Interface
56SLOT_INTERFACE_END
57
5845WRITE_LINE_MEMBER(kc_d002_device::out_irq_w)
5946{
6047   m_slot->m_out_irq_func(state);
r13434r13435
7865};
7966
8067static MACHINE_CONFIG_FRAGMENT( kc_d002 )
81   MCFG_KC85_CARTRIDGE_ADD("m1", "m2", kc_d002_interface, kc_d002_cart, NULL, NULL)
82   MCFG_KC85_CARTRIDGE_ADD("m2", "m3", kc_d002_interface, kc_d002_cart, NULL, NULL)
83   MCFG_KC85_CARTRIDGE_ADD("m3", "m4", kc_d002_interface, kc_d002_cart, NULL, NULL)
84   MCFG_KC85_CARTRIDGE_ADD("m4", "exp", kc_d002_interface, kc_d002_cart, NULL, NULL)
68   MCFG_KC85_CARTRIDGE_ADD("m0", "m4", kc_d002_interface, kc85_cart, NULL, NULL)
69   MCFG_KC85_CARTRIDGE_ADD("m4", "m8", kc_d002_interface, kc85_cart, NULL, NULL)
70   MCFG_KC85_CARTRIDGE_ADD("m8", "mc", kc_d002_interface, kc85_cart, NULL, NULL)
71   MCFG_KC85_CARTRIDGE_ADD("mc", "exp", kc_d002_interface, kc85_cart, NULL, NULL)
8572
8673   // expansion interface
87   MCFG_KC85_EXPANSION_ADD("exp", NULL, kc_d002_interface, kc_d002_exp , NULL, NULL)
74   MCFG_KC85_EXPANSION_ADD("exp", NULL, kc_d002_interface, kc85_exp , NULL, NULL)
8875MACHINE_CONFIG_END
8976
9077//**************************************************************************
r13434r13435
10289//-------------------------------------------------
10390
10491kc_d002_device::kc_d002_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
105      : device_t(mconfig, KC_D002, "D002", tag, owner, clock),
92      : device_t(mconfig, KC_D002, "D002 Bus Driver", tag, owner, clock),
10693      device_kcexp_interface( mconfig, *this )
10794{
10895}
r13434r13435
115102{
116103   m_slot = dynamic_cast<kcexp_slot_device *>(owner());
117104
118   m_expansions[0] = downcast<kcexp_slot_device *>(subdevice("m1"));
119   m_expansions[1] = downcast<kcexp_slot_device *>(subdevice("m2"));
120   m_expansions[2] = downcast<kcexp_slot_device *>(subdevice("m3"));
121   m_expansions[3] = downcast<kcexp_slot_device *>(subdevice("m4"));
105   m_expansions[0] = downcast<kcexp_slot_device *>(subdevice("m0"));
106   m_expansions[1] = downcast<kcexp_slot_device *>(subdevice("m4"));
107   m_expansions[2] = downcast<kcexp_slot_device *>(subdevice("m8"));
108   m_expansions[3] = downcast<kcexp_slot_device *>(subdevice("mc"));
122109   m_expansions[4] = downcast<kcexp_slot_device *>(subdevice("exp"));
123110}
124111
r13434r13435
178165   {
179166      UINT8 slot_id = (offset>>8) & 0xff;
180167
181      if ((slot_id & 0xf0) == input_port_read(this, "ID"))
168      if ((slot_id & 0xf0) == input_port_read(this, "ID") && !(slot_id & 0x03))
182169         data = m_expansions[(slot_id>>2) & 3]->module_id_r();
183170      else
184171         m_expansions[4]->io_read(offset, data);
r13434r13435
200187   {
201188      UINT8 slot_id = (offset>>8) & 0xff;
202189
203      if ((slot_id & 0xf0) == input_port_read(this, "ID"))
190      if ((slot_id & 0xf0) == input_port_read(this, "ID") && !(slot_id & 0x03))
204191         m_expansions[(slot_id>>2) & 3]->control_w(data);
205192      else
206193         m_expansions[4]->io_write(offset, data);
src/mess/machine/kc_ram.c
r13434r13435
4141//-------------------------------------------------
4242
4343kc_m011_device::kc_m011_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
44      : device_t(mconfig, KC_M011, "M011", tag, owner, clock),
44      : device_t(mconfig, KC_M011, "M011 64KB RAM", tag, owner, clock),
4545      device_kcexp_interface( mconfig, *this )
4646{
4747}
r13434r13435
146146//-------------------------------------------------
147147
148148kc_m022_device::kc_m022_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
149      : kc_m011_device(mconfig, KC_M022, "M022", tag, owner, clock)
149      : kc_m011_device(mconfig, KC_M022, "M022 16KB RAM", tag, owner, clock)
150150{
151151}
152152
r13434r13435
191191//-------------------------------------------------
192192
193193kc_m032_device::kc_m032_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
194      : kc_m011_device(mconfig, KC_M032, "M032", tag, owner, clock)
194      : kc_m011_device(mconfig, KC_M032, "M032 256KB segmented RAM", tag, owner, clock)
195195{
196196}
197197
r13434r13435
260260//-------------------------------------------------
261261
262262kc_m034_device::kc_m034_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
263      : kc_m011_device(mconfig, KC_M034, "M034", tag, owner, clock)
263      : kc_m011_device(mconfig, KC_M034, "M034 512KB segmented RAM", tag, owner, clock)
264264{
265265}
266266
r13434r13435
329329//-------------------------------------------------
330330
331331kc_m035_device::kc_m035_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
332      : kc_m011_device(mconfig, KC_M035, "M035", tag, owner, clock)
332      : kc_m011_device(mconfig, KC_M035, "M035 1MB segmented RAM", tag, owner, clock)
333333{
334334}
335335
r13434r13435
387387//-------------------------------------------------
388388
389389kc_m036_device::kc_m036_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
390      : kc_m011_device(mconfig, KC_M036, "M036", tag, owner, clock)
390      : kc_m011_device(mconfig, KC_M036, "M036 128KB segmented RAM", tag, owner, clock)
391391{
392392}
393393
src/mess/machine/kc_d004.c
r13434r13435
130130//-------------------------------------------------
131131
132132kc_d004_device::kc_d004_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
133      : device_t(mconfig, KC_D004, "D004", tag, owner, clock),
133      : device_t(mconfig, KC_D004, "D004 Floppy Disk Interface", tag, owner, clock),
134134      device_kcexp_interface( mconfig, *this ),
135135      m_cpu(*this, Z80_TAG),
136136      m_fdc(*this, UPD765_TAG)
src/mess/machine/kc_rom.c
r13434r13435
141141//-------------------------------------------------
142142
143143kc_m006_device::kc_m006_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
144      : kc_8k_device(mconfig, KC_M006, "M006", tag, owner, clock)
144      : kc_8k_device(mconfig, KC_M006, "M006 BASIC", tag, owner, clock)
145145{
146146}
147147
r13434r13435
183183//-------------------------------------------------
184184
185185kc_m033_device::kc_m033_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
186      : kc_8k_device(mconfig, KC_M033, "M033", tag, owner, clock)
186      : kc_8k_device(mconfig, KC_M033, "M033 TypeStar", tag, owner, clock)
187187{
188188}
189189
src/mess/machine/kc.c
r13434r13435
808808
809809   m_ram_base = m_ram->pointer();
810810
811   m_expansions[0] = machine().device<kcexp_slot_device>("m1");
812   m_expansions[1] = machine().device<kcexp_slot_device>("m2");
811   m_expansions[0] = machine().device<kcexp_slot_device>("m8");
812   m_expansions[1] = machine().device<kcexp_slot_device>("mc");
813813   m_expansions[2] = machine().device<kcexp_slot_device>("exp");
814814}
815815
src/mess/drivers/kc.c
r13434r13435
7474   DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_HALT)
7575};
7676
77static SLOT_INTERFACE_START(kc85_cart)
77extern SLOT_INTERFACE_START(kc85_cart)
7878   SLOT_INTERFACE("standard", KC_STANDARD)   // standard 8KB ROM module
7979   SLOT_INTERFACE("m006", KC_M006)         // BASIC
8080   SLOT_INTERFACE("m011", KC_M011)         // 64KB RAM
r13434r13435
8686   SLOT_INTERFACE("m036", KC_M036)         // 128KB segmented RAM
8787SLOT_INTERFACE_END
8888
89static SLOT_INTERFACE_START(kc85_exp)
89extern SLOT_INTERFACE_START(kc85_exp)
9090   SLOT_INTERFACE("d002", KC_D002)         // D002 Bus Driver
9191   SLOT_INTERFACE("d004", KC_D004)         // D004 Floppy Disk Interface
9292SLOT_INTERFACE_END
r13434r13435
164164   MCFG_CASSETTE_ADD( CASSETTE_TAG, kc_cassette_interface )
165165
166166   /* cartridge slot */
167   MCFG_KC85_CARTRIDGE_ADD("m1", "m2", kc85_exp_interface, kc85_cart, NULL, NULL)
168   MCFG_KC85_CARTRIDGE_ADD("m2", "exp", kc85_exp_interface, kc85_cart, NULL, NULL)
167   MCFG_KC85_CARTRIDGE_ADD("m8", "mc", kc85_exp_interface, kc85_cart, NULL, NULL)
168   MCFG_KC85_CARTRIDGE_ADD("mc", "exp", kc85_exp_interface, kc85_cart, NULL, NULL)
169169
170170   /* expansion interface */
171171   MCFG_KC85_EXPANSION_ADD("exp", NULL, kc85_exp_interface, kc85_exp , NULL, NULL)
r13434r13435
217217   MCFG_CASSETTE_ADD( CASSETTE_TAG, kc_cassette_interface )
218218
219219   /* cartridge slot */
220   MCFG_KC85_CARTRIDGE_ADD("m1", "m2", kc85_exp_interface, kc85_cart, NULL, NULL)
221   MCFG_KC85_CARTRIDGE_ADD("m2", "exp", kc85_exp_interface, kc85_cart, NULL, NULL)
220   MCFG_KC85_CARTRIDGE_ADD("m8", "mc", kc85_exp_interface, kc85_cart, NULL, NULL)
221   MCFG_KC85_CARTRIDGE_ADD("mc", "exp", kc85_exp_interface, kc85_cart, NULL, NULL)
222222
223223   /* expansion interface */
224224   MCFG_KC85_EXPANSION_ADD("exp", NULL, kc85_exp_interface, kc85_exp , NULL, NULL)

Previous 15994 Revisions Next


© 1998-2018 The MESS Team