Previous 199869 Revisions Next

r36198 Monday 2nd March, 2015 at 20:39:36 UTC by Angelo Salese
halt/reset line is actually at $900000
[/branches/kale/src/emu/cpu/z180]z180.c z180.h
[/branches/kale/src/mame/drivers]asuka.c
[/branches/kale/src/mame/includes]asuka.h
[/branches/kale/src/mame/video]asuka.c

branches/kale/src/emu/cpu/z180/z180.c
r244709r244710
121121   : cpu_device(mconfig, Z180, "Z180", tag, owner, clock, "z180", __FILE__)
122122   , m_program_config("program", ENDIANNESS_LITTLE, 8, 20, 0)
123123   , m_io_config("io", ENDIANNESS_LITTLE, 8, 16, 0)
124   , m_data_config("data", ENDIANNESS_LITTLE, 8, 16, 0)
124125{
125126}
126127
r244709r244710
847848      break;
848849
849850   case Z180_TDR0:
850      data = IO_TDR0 & Z180_TDR0_RMASK;
851      data = m_data->read_byte(0); //IO_TDR0 & Z180_TDR0_RMASK;
852     
851853      LOG(("Z180 '%s' TDR0   rd $%02x ($%02x)\n", tag(), data, m_io[port & 0x3f]));
852854      break;
853855
854856   case Z180_TDR1:
855      data = IO_TDR1 & Z180_TDR1_RMASK;
857      data = m_data->read_byte(1); //IO_TDR1 & Z180_TDR1_RMASK;
856858      LOG(("Z180 '%s' TDR1   rd $%02x ($%02x)\n", tag(), data, m_io[port & 0x3f]));
857859      break;
858860
859861   case Z180_RDR0:
860      data = IO_RDR0 & Z180_RDR0_RMASK;
862      data = m_data->read_byte(2);
863      //data = IO_RDR0 & Z180_RDR0_RMASK;
861864      LOG(("Z180 '%s' RDR0   rd $%02x ($%02x)\n", tag(), data, m_io[port & 0x3f]));
862865      break;
863866
864867   case Z180_RDR1:
865      data = IO_RDR1 & Z180_RDR1_RMASK;
868      data = m_data->read_byte(3);
869      //data = IO_RDR1 & Z180_RDR1_RMASK;
866870      LOG(("Z180 '%s' RDR1   rd $%02x ($%02x)\n", tag(), data, m_io[port & 0x3f]));
867871      break;
868872
r244709r244710
12761280
12771281   case Z180_TDR0:
12781282      LOG(("Z180 '%s' TDR0   wr $%02x ($%02x)\n", tag(), data,  data & Z180_TDR0_WMASK));
1283      m_data->write_byte(0,data);
12791284      IO_TDR0 = (IO_TDR0 & ~Z180_TDR0_WMASK) | (data & Z180_TDR0_WMASK);
12801285      break;
12811286
12821287   case Z180_TDR1:
12831288      LOG(("Z180 '%s' TDR1   wr $%02x ($%02x)\n", tag(), data,  data & Z180_TDR1_WMASK));
1289      m_data->write_byte(1,data);
12841290      IO_TDR1 = (IO_TDR1 & ~Z180_TDR1_WMASK) | (data & Z180_TDR1_WMASK);
12851291      break;
12861292
12871293   case Z180_RDR0:
12881294      LOG(("Z180 '%s' RDR0   wr $%02x ($%02x)\n", tag(), data,  data & Z180_RDR0_WMASK));
1295      m_data->write_byte(2,data);
1296
12891297      IO_RDR0 = (IO_RDR0 & ~Z180_RDR0_WMASK) | (data & Z180_RDR0_WMASK);
12901298      break;
12911299
12921300   case Z180_RDR1:
12931301      LOG(("Z180 '%s' RDR1   wr $%02x ($%02x)\n", tag(), data,  data & Z180_RDR1_WMASK));
1302      m_data->write_byte(3,data);
1303
12941304      IO_RDR1 = (IO_RDR1 & ~Z180_RDR1_WMASK) | (data & Z180_RDR1_WMASK);
1305
12951306      break;
12961307
12971308   case Z180_CNTR:
r244709r244710
19922003
19932004   m_program = &space(AS_PROGRAM);
19942005   m_direct = &m_program->direct();
2006   m_data = &space(AS_DATA);
19952007   m_iospace = &space(AS_IO);
19962008
19972009   /* set up the state table */
branches/kale/src/emu/cpu/z180/z180.h
r244709r244710
151151   virtual void execute_set_input(int inputnum, int state);
152152
153153   // device_memory_interface overrides
154   virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const { return (spacenum == AS_PROGRAM) ? &m_program_config : ( (spacenum == AS_IO) ? &m_io_config : NULL ); }
154   virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const { return (spacenum == AS_PROGRAM) ? &m_program_config : ( (spacenum == AS_IO) ? &m_io_config : ((spacenum == AS_DATA) ? &m_data_config : NULL) ); }
155155   virtual bool memory_translate(address_spacenum spacenum, int intention, offs_t &address);
156156
157157   // device_state_interface overrides
r244709r244710
167167private:
168168   address_space_config m_program_config;
169169   address_space_config m_io_config;
170   address_space_config m_data_config;
170171
171172   PAIR    m_PREPC,m_PC,m_SP,m_AF,m_BC,m_DE,m_HL,m_IX,m_IY;
172173   PAIR    m_AF2,m_BC2,m_DE2,m_HL2;
r244709r244710
191192   z80_daisy_chain m_daisy;
192193   address_space *m_program;
193194   direct_read_data *m_direct;
195   address_space *m_data;
194196   address_space *m_iospace;
195197   UINT8   m_rtemp;
196198   UINT32  m_ioltemp;
branches/kale/src/mame/drivers/asuka.c
r244709r244710
19281928static ADDRESS_MAP_START( cadash_sub_io_2, AS_IO, 8, cadash_state )
19291929   AM_RANGE(0x00, 0x3f) AM_RAM // z180 internal I/O regs
19301930ADDRESS_MAP_END
1931
1932static ADDRESS_MAP_START( cadash_sub_data, AS_DATA, 8, cadash_state )
1933
1934ADDRESS_MAP_END
1935
1936static ADDRESS_MAP_START( cadash_sub_data_2, AS_DATA, 8, cadash_state )
1937   
1938ADDRESS_MAP_END
19311939 
19321940
19331941static MACHINE_CONFIG_START( cadashjl, cadash_state )
r244709r244710
19431951   MCFG_CPU_ADD("subcpu", Z180, 4000000)   /* 4 MHz ??? */
19441952   MCFG_CPU_PROGRAM_MAP(cadash_sub_map)
19451953   MCFG_CPU_IO_MAP(cadash_sub_io)
1954   MCFG_CPU_DATA_MAP(cadash_sub_data)
19461955
19471956   MCFG_CPU_ADD("maincpu_2", M68000, XTAL_32MHz/2)   /* 68000p12 running at 16Mhz, verified on pcb  */
19481957   MCFG_CPU_PROGRAM_MAP(cadash_map_2)
r244709r244710
19541963   MCFG_CPU_ADD("subcpu_2", Z180, 4000000)   /* 4 MHz ??? */
19551964   MCFG_CPU_PROGRAM_MAP(cadash_sub_map_2)
19561965   MCFG_CPU_IO_MAP(cadash_sub_io_2)
1966   MCFG_CPU_DATA_MAP(cadash_sub_data_2)
19571967
19581968
19591969   MCFG_QUANTUM_TIME(attotime::from_hz(600))
branches/kale/src/mame/includes/asuka.h
r244709r244710
2323      m_cadash_shared_ram(*this, "sharedram"),
2424      m_maincpu(*this, "maincpu"),
2525      m_audiocpu(*this, "audiocpu"),
26      m_subcpu(*this, "subcpu"),
2627      m_msm(*this, "msm"),
2728      m_pc090oj(*this, "pc090oj"),
2829      m_tc0100scn(*this, "tc0100scn"),
r244709r244710
5354   /* devices */
5455   required_device<cpu_device> m_maincpu;
5556   required_device<cpu_device> m_audiocpu;
57   optional_device<cpu_device> m_subcpu;
5658   optional_device<msm5205_device> m_msm;
5759   required_device<pc090oj_device> m_pc090oj;
5860   required_device<tc0100scn_device> m_tc0100scn;
r244709r244710
9496public:
9597   cadash_state(const machine_config &mconfig, device_type type, const char *tag)
9698      : asuka_state(mconfig, type, tag),
99      m_subcpu_2(*this, "subcpu_2"),
97100      m_cadash_shared_ram_2(*this, "sharedram_2"),
98101      m_pc090oj_2(*this, "pc090oj_2"),
99102      m_tc0100scn_2(*this, "tc0100scn_2"),
r244709r244710
103106   //required_device<cpu_device> m_maincpu;
104107   //required_device<cpu_device> m_audiocpu;
105108   //optional_device<msm5205_device> m_msm;
109   optional_device<cpu_device> m_subcpu_2;
106110   optional_shared_ptr<UINT8> m_cadash_shared_ram_2;
107111   required_device<pc090oj_device> m_pc090oj_2;
108112   required_device<tc0100scn_device> m_tc0100scn_2;
branches/kale/src/mame/video/asuka.c
r244709r244710
99{
1010   /* Bits 2-5 are color bank; in asuka games bit 0 is global priority */
1111   m_pc090oj->set_sprite_ctrl(((data & 0x3c) >> 2) | ((data & 0x1) << 15));
12   m_subcpu->set_input_line(INPUT_LINE_RESET, (data & 2) ? CLEAR_LINE : ASSERT_LINE);
1213}
1314
1415WRITE16_MEMBER(cadash_state::asuka_spritectrl_w_2)
1516{
1617   /* Bits 2-5 are color bank; in asuka games bit 0 is global priority */
1718   m_pc090oj_2->set_sprite_ctrl(((data & 0x3c) >> 2) | ((data & 0x1) << 15));
19   m_subcpu_2->set_input_line(INPUT_LINE_RESET, (data & 2) ? CLEAR_LINE : ASSERT_LINE);
20
1821}
1922
2023/**************************************************************


Previous 199869 Revisions Next


© 1997-2024 The MAME Team