Previous 199869 Revisions Next

r30748 Saturday 31st May, 2014 at 18:03:50 UTC by David Haywood
misc changes (nw)
[src/mame/drivers]kenseim.c

trunk/src/mame/drivers/kenseim.c
r30747r30748
4242   /* kenseim */
4343   DECLARE_READ16_MEMBER(cps1_kensei_r);
4444   DECLARE_WRITE16_MEMBER(cps1_kensei_w);
45   DECLARE_READ16_MEMBER(kensei_dsw_r);
4546   DECLARE_DRIVER_INIT(kenseim);
4647
4748   DECLARE_READ8_MEMBER(porta_default_r) { logerror("%s read port A but no handler assigned\n", machine().describe_context()); return 0xff; }
r30747r30748
8485
8586READ16_MEMBER(kenseim_state::cps1_kensei_r)
8687{
87   logerror("%s cps1_kensei_r (%04x)\n", machine().describe_context(), mem_mask);
88   logerror("%s cps1_kensei_r offs %04x, (%04x)\n", machine().describe_context(), offset *2, mem_mask);
8889   return rand();
8990}
9091
9192WRITE16_MEMBER(kenseim_state::cps1_kensei_w)
9293{
93   logerror("%s cps1_kensei_w %04x (%04x)\n", machine().describe_context(), data, mem_mask);
94   logerror("%s cps1_kensei_w offs %04x, %04x (%04x)\n", machine().describe_context(), offset *2, data, mem_mask);
9495}
9596
9697/*
r30747r30748
188189   { NULL }
189190};
190191
192READ16_MEMBER(kenseim_state::kensei_dsw_r)
193{
191194
195
196   static const char *const dswname[] = { "IN0", "DSWA", "DSWB", "DSWC" };
197   
198   if (offset > 0)
199   {
200      logerror("%s kensei_dsw_r offs %04x, (%04x)\n", machine().describe_context(), offset *2, mem_mask);
201
202      int in = ioport(dswname[offset])->read();
203      return (in << 8) | 0xff;
204   }
205   else
206   {  // connected to the other board instead of IN0? (or at least some bits are)
207
208      logerror("%s kensei_dsw_r offs %04x (comms?), (%04x)\n", machine().describe_context(), offset *2, mem_mask);
209      int in = ((rand() & 0xff) & ~0x20) | 0x40; // 0x20 causes 'comamnd wait' message - 0x40 is still service mode? (valid or leftover - test mode trigger should be on sub pcb?)
210      return (in << 8) | 0xff;
211
212   }
213}
214
215
192216static MACHINE_CONFIG_DERIVED_CLASS( kenseim, cps1_12MHz, kenseim_state )
193217
194218   MCFG_CPU_ADD("gamecpu", TMPZ84C011, XTAL_16MHz/2) // tmpz84c011 - divider unknown
r30747r30748
220244   MCFG_QUANTUM_PERFECT_CPU("maincpu")
221245MACHINE_CONFIG_END
222246
247
223248static INPUT_PORTS_START( kenseim )
224249   // the regular CPS1 input ports are used for comms with the extra board
225250   PORT_START("IN0")
r30747r30748
339364DRIVER_INIT_MEMBER(kenseim_state,kenseim)
340365{
341366   m_maincpu->space(AS_PROGRAM).install_read_handler(0x800000, 0x800007, read16_delegate(FUNC(kenseim_state::cps1_kensei_r),this));
367   m_maincpu->space(AS_PROGRAM).install_read_handler(0x800018, 0x80001f, read16_delegate(FUNC(kenseim_state::kensei_dsw_r),this));
368
342369   m_maincpu->space(AS_PROGRAM).install_write_handler(0x800030, 0x800037, write16_delegate(FUNC(kenseim_state::cps1_kensei_w),this));
343370
344371   DRIVER_INIT_CALL(cps1);
345}
372}
346373
347374
348375 // 1994.04.18 is from extra PCB rom, Siguma or Sigma? (Siguma is in the ROM)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team