Previous 199869 Revisions Next

r21923 Monday 18th March, 2013 at 01:56:38 UTC by Angelo Salese
Part 1 of Namco System 2/21 state machine conversion
[src/mame/drivers]namcoic.c namcos2.c namcos21.c
[src/mame/includes]namcoic.h namcos2.h namcos21.h
[src/mame/machine]namcos2.c

trunk/src/mame/includes/namcos21.h
r21922r21923
146146   DECLARE_WRITE16_MEMBER(winrun_gpu_register_w);
147147   DECLARE_WRITE16_MEMBER(winrun_gpu_videoram_w);
148148   DECLARE_READ16_MEMBER(winrun_gpu_videoram_r);
149
149150   DECLARE_DRIVER_INIT(driveyes);
150151   DECLARE_DRIVER_INIT(winrun);
151152   DECLARE_DRIVER_INIT(starblad);
trunk/src/mame/includes/namcos2.h
r21922r21923
182182   INTERRUPT_GEN_MEMBER(namcos2_68k_slave_vblank);
183183   INTERRUPT_GEN_MEMBER(namcos2_68k_gpu_vblank);
184184   TIMER_CALLBACK_MEMBER(namcos2_posirq_tick);
185
186   DECLARE_WRITE8_MEMBER( namcos2_68k_eeprom_w );
187   DECLARE_READ8_MEMBER( namcos2_68k_eeprom_r );
188   DECLARE_WRITE16_MEMBER( namcos2_68k_master_C148_w );
189   DECLARE_READ16_MEMBER( namcos2_68k_master_C148_r );
190
191   DECLARE_WRITE16_MEMBER( namcos2_68k_slave_C148_w );
192   DECLARE_READ16_MEMBER( namcos2_68k_slave_C148_r );
193
194   DECLARE_WRITE8_MEMBER( namcos2_mcu_port_d_w );
195   DECLARE_READ8_MEMBER( namcos2_mcu_port_d_r );
196   DECLARE_WRITE8_MEMBER( namcos2_mcu_analog_ctrl_w );
197   DECLARE_READ8_MEMBER( namcos2_mcu_analog_ctrl_r );
198   DECLARE_WRITE8_MEMBER( namcos2_mcu_analog_port_w );
199   DECLARE_READ8_MEMBER( namcos2_mcu_analog_port_r );
200   DECLARE_WRITE8_MEMBER( namcos2_sound_bankselect_w );
201
202   /* TODO: this should belong to namcos21_state */
203   DECLARE_WRITE16_MEMBER( namcos21_68k_gpu_C148_w );
204   DECLARE_READ16_MEMBER( namcos21_68k_gpu_C148_r );
185205};
186206
187207class namcos2_state : public namcos2_shared_state
r21922r21923
281301   UINT16 m_serial_comms_ctrl[0x8];
282302
283303   optional_device<namco_c45_road_device> m_c45_road;
304
305   DECLARE_READ16_MEMBER( namcos2_68k_key_r );
306   DECLARE_WRITE16_MEMBER( namcos2_68k_key_w );
307   DECLARE_WRITE16_MEMBER( namco_tilemapvideoram16_w );
308   DECLARE_READ16_MEMBER( namco_tilemapvideoram16_r );
309   DECLARE_WRITE16_MEMBER( namco_tilemapcontrol16_w );
310   DECLARE_READ16_MEMBER( namco_tilemapcontrol16_r );
311   DECLARE_READ16_MEMBER( namcos2_finallap_prot_r );
312
284313};
285314
286315/*----------- defined in video/namcos2.c -----------*/
r21922r21923
301330
302331extern void (*namcos2_kickstart)(running_machine &machine, int internal);
303332
304DECLARE_READ16_HANDLER( namcos2_flap_prot_r );
305333
306334/**************************************************************/
307/*  EEPROM memory function handlers                           */
308/**************************************************************/
309#define NAMCOS2_68K_eeprom_W    namcos2_68k_eeprom_w
310#define NAMCOS2_68K_eeprom_R    namcos2_68k_eeprom_r
311DECLARE_WRITE16_HANDLER( namcos2_68k_eeprom_w );
312DECLARE_READ16_HANDLER( namcos2_68k_eeprom_r );
313
314/**************************************************************/
315/*  Shared data ROM memory handlerhandlers                    */
316/**************************************************************/
317DECLARE_READ16_HANDLER( namcos2_68k_data_rom_r );
318
319/**************************************************************/
320/* Shared protection/random number generator                  */
321/**************************************************************/
322DECLARE_READ16_HANDLER( namcos2_68k_key_r );
323DECLARE_WRITE16_HANDLER( namcos2_68k_key_w );
324
325/**************************************************************/
326335/* Non-shared memory custom IO device - IRQ/Inputs/Outputs   */
327336/**************************************************************/
328337
r21922r21923
335344#define NAMCOS2_C148_SERIRQ     6       /* 0x1cc000 */
336345#define NAMCOS2_C148_VBLANKIRQ  7       /* 0x1ce000 */
337346
338DECLARE_WRITE16_HANDLER( namcos2_68k_master_C148_w );
339DECLARE_READ16_HANDLER( namcos2_68k_master_C148_r );
340
341DECLARE_WRITE16_HANDLER( namcos2_68k_slave_C148_w );
342DECLARE_READ16_HANDLER( namcos2_68k_slave_C148_r );
343
344DECLARE_WRITE16_HANDLER( namcos2_68k_gpu_C148_w );
345DECLARE_READ16_HANDLER( namcos2_68k_gpu_C148_r );
346
347347void namcos2_adjust_posirq_timer( running_machine &machine, int scanline );
348348
349349/**************************************************************/
r21922r21923
367367/* Sound CPU support handlers - 6809                          */
368368/**************************************************************/
369369
370DECLARE_WRITE8_HANDLER( namcos2_sound_bankselect_w );
371
372/**************************************************************/
373/* MCU Specific support handlers - HD63705                    */
374/**************************************************************/
375
376DECLARE_WRITE8_HANDLER( namcos2_mcu_analog_ctrl_w );
377DECLARE_READ8_HANDLER( namcos2_mcu_analog_ctrl_r );
378
379DECLARE_WRITE8_HANDLER( namcos2_mcu_analog_port_w );
380DECLARE_READ8_HANDLER( namcos2_mcu_analog_port_r );
381
382DECLARE_WRITE8_HANDLER( namcos2_mcu_port_d_w );
383DECLARE_READ8_HANDLER( namcos2_mcu_port_d_r );
384
385DECLARE_READ8_HANDLER( namcos2_input_port_0_r );
386DECLARE_READ8_HANDLER( namcos2_input_port_10_r );
387DECLARE_READ8_HANDLER( namcos2_input_port_12_r );
trunk/src/mame/includes/namcoic.h
r21922r21923
159159
160160void namco_tilemap_draw( bitmap_ind16 &bitmap, const rectangle &cliprect, int pri );
161161void namco_tilemap_invalidate( void );
162DECLARE_WRITE16_HANDLER( namco_tilemapvideoram16_w );
163DECLARE_READ16_HANDLER( namco_tilemapvideoram16_r );
164DECLARE_WRITE16_HANDLER( namco_tilemapcontrol16_w );
165DECLARE_READ16_HANDLER( namco_tilemapcontrol16_r );
166162
167163DECLARE_READ32_HANDLER( namco_tilemapvideoram32_r );
168164DECLARE_WRITE32_HANDLER( namco_tilemapvideoram32_w );
trunk/src/mame/drivers/namcoic.c
r21922r21923
130130   }
131131} /* SetTilemapVideoram */
132132
133WRITE16_HANDLER( namco_tilemapvideoram16_w )
133WRITE16_MEMBER( namcos2_state::namco_tilemapvideoram16_w )
134134{
135135   UINT16 newword = mTilemapInfo.videoram[offset];
136136   COMBINE_DATA( &newword );
137137   SetTilemapVideoram( offset, newword );
138138}
139139
140READ16_HANDLER( namco_tilemapvideoram16_r )
140READ16_MEMBER( namcos2_state::namco_tilemapvideoram16_r )
141141{
142142   return mTilemapInfo.videoram[offset];
143143}
r21922r21923
193193   }
194194} /* SetTilemapControl */
195195
196WRITE16_HANDLER( namco_tilemapcontrol16_w )
196WRITE16_HANDLER( namcos2_state::namco_tilemapcontrol16_w )
197197{
198198   UINT16 newword = mTilemapInfo.control[offset];
199199   COMBINE_DATA( &newword );
200200   SetTilemapControl( offset, newword );
201201}
202202
203READ16_HANDLER( namco_tilemapcontrol16_r )
203READ16_HANDLER( namcos2_state::namco_tilemapcontrol16_r )
204204{
205205   return mTilemapInfo.control[offset];
206206}
trunk/src/mame/drivers/namcos21.c
r21922r21923
10881088static ADDRESS_MAP_START( namcos21_68k_master, AS_PROGRAM, 16, namcos21_state )
10891089   AM_RANGE(0x000000, 0x0fffff) AM_ROM
10901090   AM_RANGE(0x100000, 0x10ffff) AM_RAM /* private work RAM */
1091   AM_RANGE(0x180000, 0x183fff) AM_READWRITE_LEGACY(NAMCOS2_68K_eeprom_R,NAMCOS2_68K_eeprom_W)
1092   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE_LEGACY(namcos2_68k_master_C148_r,namcos2_68k_master_C148_w)
1091   AM_RANGE(0x180000, 0x183fff) AM_READWRITE8(namcos2_68k_eeprom_r,namcos2_68k_eeprom_w,0x00ff)
1092   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE(namcos2_68k_master_C148_r,namcos2_68k_master_C148_w)
10931093   NAMCO21_68K_COMMON
10941094ADDRESS_MAP_END
10951095
10961096static ADDRESS_MAP_START( namcos21_68k_slave, AS_PROGRAM, 16, namcos21_state )
10971097   AM_RANGE(0x000000, 0x07ffff) AM_ROM
10981098   AM_RANGE(0x100000, 0x13ffff) AM_RAM /* private work RAM */
1099   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE_LEGACY(namcos2_68k_slave_C148_r,namcos2_68k_slave_C148_w)
1099   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE(namcos2_68k_slave_C148_r,namcos2_68k_slave_C148_w)
11001100   NAMCO21_68K_COMMON
11011101ADDRESS_MAP_END
11021102
r21922r21923
13181318static ADDRESS_MAP_START( am_master_winrun, AS_PROGRAM, 16, namcos21_state )
13191319   AM_RANGE(0x000000, 0x03ffff) AM_ROM
13201320   AM_RANGE(0x100000, 0x10ffff) AM_RAM /* work RAM */
1321   AM_RANGE(0x180000, 0x183fff) AM_READWRITE_LEGACY(NAMCOS2_68K_eeprom_R,NAMCOS2_68K_eeprom_W)
1322   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE_LEGACY(namcos2_68k_master_C148_r,namcos2_68k_master_C148_w)
1321   AM_RANGE(0x180000, 0x183fff) AM_READWRITE8(namcos2_68k_eeprom_r,namcos2_68k_eeprom_w,0x00ff)
1322   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE(namcos2_68k_master_C148_r,namcos2_68k_master_C148_w)
13231323   AM_RANGE(0x250000, 0x25ffff) AM_RAM AM_SHARE("winrun_polydata")
13241324   AM_RANGE(0x260000, 0x26ffff) AM_RAM /* unused? */
13251325   AM_RANGE(0x280000, 0x281fff) AM_WRITE(winrun_dspbios_w) AM_SHARE("winrun_dspbios")
r21922r21923
13381338static ADDRESS_MAP_START( am_slave_winrun, AS_PROGRAM, 16, namcos21_state )
13391339   AM_RANGE(0x000000, 0x03ffff) AM_ROM
13401340   AM_RANGE(0x100000, 0x13ffff) AM_RAM
1341   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE_LEGACY(namcos2_68k_slave_C148_r,namcos2_68k_slave_C148_w)
1341   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE(namcos2_68k_slave_C148_r,namcos2_68k_slave_C148_w)
13421342   AM_RANGE(0x600000, 0x60ffff) AM_READWRITE(winrun_gpucomram_r,winrun_gpucomram_w)
13431343   AM_RANGE(0x800000, 0x87ffff) AM_READ(datarom_r)
13441344   AM_RANGE(0x900000, 0x90ffff) AM_READWRITE(shareram1_r,shareram1_w)
r21922r21923
13511351   AM_RANGE(0x000000, 0x07ffff) AM_ROM
13521352   AM_RANGE(0x100000, 0x100001) AM_READWRITE(winrun_gpu_color_r,winrun_gpu_color_w) /* ? */
13531353   AM_RANGE(0x180000, 0x19ffff) AM_RAM /* work RAM */
1354   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE_LEGACY(namcos2_68k_gpu_C148_r,namcos2_68k_gpu_C148_w)
1354   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE(namcos21_68k_gpu_C148_r,namcos21_68k_gpu_C148_w)
13551355   AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("winrun_comram")
13561356   AM_RANGE(0x400000, 0x41ffff) AM_READWRITE(paletteram16_r,paletteram16_w) AM_SHARE("paletteram")
13571357   AM_RANGE(0x600000, 0x6fffff) AM_READ(gpu_data_r)
r21922r21923
13741374   AM_RANGE(0x7800, 0x7fff) AM_READWRITE(namcos2_dualportram_byte_r,namcos2_dualportram_byte_w) /* mirror */
13751375   AM_RANGE(0x8000, 0x9fff) AM_RAM
13761376   AM_RANGE(0xa000, 0xbfff) AM_WRITENOP /* amplifier enable on 1st write */
1377   AM_RANGE(0xc000, 0xc001) AM_WRITE_LEGACY(namcos2_sound_bankselect_w)
1377   AM_RANGE(0xc000, 0xc001) AM_WRITE(namcos2_sound_bankselect_w)
13781378   AM_RANGE(0xd001, 0xd001) AM_WRITENOP /* watchdog */
13791379   AM_RANGE(0xd000, 0xffff) AM_ROM
13801380   AM_RANGE(0xc000, 0xffff) AM_WRITENOP /* avoid debug log noise; games write frequently to 0xe000 */
r21922r21923
13891389   AM_RANGE(0x0000, 0x0000) AM_READNOP
13901390   AM_RANGE(0x0001, 0x0001) AM_READ_PORT("PORTB")          /* p1,p2 start */
13911391   AM_RANGE(0x0002, 0x0002) AM_READ_PORT("PORTC")          /* coins */
1392   AM_RANGE(0x0003, 0x0003) AM_READWRITE_LEGACY(namcos2_mcu_port_d_r,namcos2_mcu_port_d_w)
1392   AM_RANGE(0x0003, 0x0003) AM_READWRITE(namcos2_mcu_port_d_r,namcos2_mcu_port_d_w)
13931393   AM_RANGE(0x0007, 0x0007) AM_READ_PORT("PORTH")          /* fire buttons */
1394   AM_RANGE(0x0010, 0x0010) AM_READWRITE_LEGACY(namcos2_mcu_analog_ctrl_r,namcos2_mcu_analog_ctrl_w)
1395   AM_RANGE(0x0011, 0x0011) AM_READWRITE_LEGACY(namcos2_mcu_analog_port_r,namcos2_mcu_analog_port_w)
1394   AM_RANGE(0x0010, 0x0010) AM_READWRITE(namcos2_mcu_analog_ctrl_r,namcos2_mcu_analog_ctrl_w)
1395   AM_RANGE(0x0011, 0x0011) AM_READWRITE(namcos2_mcu_analog_port_r,namcos2_mcu_analog_port_w)
13961396   AM_RANGE(0x0000, 0x003f) AM_RAM
13971397   AM_RANGE(0x0040, 0x01bf) AM_RAM
13981398   AM_RANGE(0x01c0, 0x1fff) AM_ROM
r21922r21923
14261426static ADDRESS_MAP_START( driveyes_68k_master, AS_PROGRAM, 16, namcos21_state )
14271427   AM_RANGE(0x000000, 0x03ffff) AM_ROM
14281428   AM_RANGE(0x100000, 0x10ffff) AM_RAM /* private work RAM */
1429   AM_RANGE(0x180000, 0x183fff) AM_READWRITE_LEGACY(NAMCOS2_68K_eeprom_R,NAMCOS2_68K_eeprom_W)
1430   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE_LEGACY(namcos2_68k_master_C148_r,namcos2_68k_master_C148_w)
1429   AM_RANGE(0x180000, 0x183fff) AM_READWRITE8(namcos2_68k_eeprom_r,namcos2_68k_eeprom_w,0x00ff)
1430   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE(namcos2_68k_master_C148_r,namcos2_68k_master_C148_w)
14311431   AM_RANGE(0x250000, 0x25ffff) AM_RAM AM_SHARE("winrun_polydata")
14321432   AM_RANGE(0x280000, 0x281fff) AM_WRITE(winrun_dspbios_w) AM_SHARE("winrun_dspbios")
14331433   AM_RANGE(0x380000, 0x38000f) AM_READWRITE(winrun_dspcomram_control_r,winrun_dspcomram_control_w)
r21922r21923
14401440static ADDRESS_MAP_START( driveyes_68k_slave, AS_PROGRAM, 16, namcos21_state )
14411441   AM_RANGE(0x000000, 0x03ffff) AM_ROM
14421442   AM_RANGE(0x100000, 0x10ffff) AM_RAM /* private work RAM */
1443   AM_RANGE(0x1c0000, 0x1fffff) AM_READ_LEGACY(namcos2_68k_slave_C148_r) AM_WRITE_LEGACY(namcos2_68k_slave_C148_w)
1443   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE(namcos2_68k_slave_C148_r,namcos2_68k_slave_C148_w)
14441444   DRIVEYES_68K_COMMON
14451445ADDRESS_MAP_END
14461446
trunk/src/mame/drivers/namcos2.c
r21922r21923
3636
3737    Valkyrie No Densetsu
3838    - gives ADSMISS error on startup
39       Does a checksum on area 0x181000 - 0x183fff, in 0x20 bytes block chunks. Game doesn't init it properly so you'd have to go into service menu and do
39       Does a checksum on area 0x181000 - 0x183fff, in 0x20 bytes block chunks. Game doesn't init it properly so you either have to go into service menu and do
4040       an "all data clear" or play once to get rid of the message.
4141
4242    Bubble Trouble (Golly Ghost II)
r21922r21923
590590*/
591591
592592static ADDRESS_MAP_START( namcos2_68k_default_cpu_board_am, AS_PROGRAM, 16, namcos2_state )
593   AM_RANGE(0x200000, 0x3fffff) AM_READ_LEGACY(namcos2_68k_data_rom_r)
594   AM_RANGE(0x400000, 0x41ffff) AM_READWRITE_LEGACY(namco_tilemapvideoram16_r,namco_tilemapvideoram16_w)
595   AM_RANGE(0x420000, 0x42003f) AM_READWRITE_LEGACY(namco_tilemapcontrol16_r,namco_tilemapcontrol16_w)
593   AM_RANGE(0x200000, 0x3fffff) AM_ROM AM_REGION("data_rom", 0)
594   AM_RANGE(0x400000, 0x41ffff) AM_READWRITE(namco_tilemapvideoram16_r,namco_tilemapvideoram16_w)
595   AM_RANGE(0x420000, 0x42003f) AM_READWRITE(namco_tilemapcontrol16_r,namco_tilemapcontrol16_w)
596596   AM_RANGE(0x440000, 0x44ffff) AM_READWRITE(paletteram_word_r,paletteram_word_w) AM_SHARE("paletteram")
597597   AM_RANGE(0x460000, 0x460fff) AM_READWRITE(dpram_word_r,dpram_word_w)
598598   AM_RANGE(0x468000, 0x468fff) AM_READWRITE(dpram_word_r,dpram_word_w) /* mirror */
r21922r21923
607607   AM_RANGE(0xc40000, 0xc40001) AM_READWRITE(gfx_ctrl_r, gfx_ctrl_w)
608608   AM_RANGE(0xc80000, 0xc9ffff) AM_RAM_WRITE(rozram_word_w) AM_SHARE("rozram")
609609   AM_RANGE(0xcc0000, 0xcc000f) AM_RAM AM_SHARE("rozctrl")
610   AM_RANGE(0xd00000, 0xd0000f) AM_READWRITE_LEGACY(namcos2_68k_key_r,namcos2_68k_key_w)
610   AM_RANGE(0xd00000, 0xd0000f) AM_READWRITE(namcos2_68k_key_r,namcos2_68k_key_w)
611611   AM_IMPORT_FROM( namcos2_68k_default_cpu_board_am )
612612ADDRESS_MAP_END
613613
614614static ADDRESS_MAP_START( master_default_am, AS_PROGRAM, 16, namcos2_state )
615615   AM_RANGE(0x000000, 0x03ffff) AM_ROM
616616   AM_RANGE(0x100000, 0x10ffff) AM_RAMBANK(NAMCOS2_68K_MASTER_RAM)
617   AM_RANGE(0x180000, 0x183fff) AM_READWRITE_LEGACY(NAMCOS2_68K_eeprom_R,NAMCOS2_68K_eeprom_W)
618   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE_LEGACY(namcos2_68k_master_C148_r,namcos2_68k_master_C148_w)
617   AM_RANGE(0x180000, 0x183fff) AM_READWRITE8(namcos2_68k_eeprom_r,namcos2_68k_eeprom_w,0x00ff)
618   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE(namcos2_68k_master_C148_r,namcos2_68k_master_C148_w)
619619   AM_IMPORT_FROM( common_default_am )
620620ADDRESS_MAP_END
621621
622622static ADDRESS_MAP_START( slave_default_am, AS_PROGRAM, 16, namcos2_state )
623623   AM_RANGE(0x000000, 0x03ffff) AM_ROM
624624   AM_RANGE(0x100000, 0x13ffff) AM_RAMBANK(NAMCOS2_68K_SLAVE_RAM)
625   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE_LEGACY(namcos2_68k_slave_C148_r,namcos2_68k_slave_C148_w)
625   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE(namcos2_68k_slave_C148_r,namcos2_68k_slave_C148_w)
626626   AM_IMPORT_FROM( common_default_am )
627627ADDRESS_MAP_END
628628
r21922r21923
630630/*************************************************************/
631631
632632static ADDRESS_MAP_START( common_finallap_am, AS_PROGRAM, 16, namcos2_state )
633   AM_RANGE(0x300000, 0x33ffff) AM_READ_LEGACY(namcos2_flap_prot_r)
633   AM_RANGE(0x300000, 0x33ffff) AM_READ(namcos2_finallap_prot_r)
634634   AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_SHARE("spriteram")
635635   AM_RANGE(0x840000, 0x840001) AM_READWRITE(gfx_ctrl_r, gfx_ctrl_w)
636636   AM_RANGE(0x880000, 0x89ffff) AM_DEVREADWRITE("c45_road", namco_c45_road_device, read, write)
r21922r21923
641641static ADDRESS_MAP_START( master_finallap_am, AS_PROGRAM, 16, namcos2_state )
642642   AM_RANGE(0x000000, 0x03ffff) AM_ROM
643643   AM_RANGE(0x100000, 0x10ffff) AM_RAMBANK(NAMCOS2_68K_MASTER_RAM)
644   AM_RANGE(0x180000, 0x183fff) AM_READWRITE_LEGACY(NAMCOS2_68K_eeprom_R,NAMCOS2_68K_eeprom_W)
645   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE_LEGACY(namcos2_68k_master_C148_r,namcos2_68k_master_C148_w)
644   AM_RANGE(0x180000, 0x183fff) AM_READWRITE8(namcos2_68k_eeprom_r,namcos2_68k_eeprom_w,0x00ff)
645   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE(namcos2_68k_master_C148_r,namcos2_68k_master_C148_w)
646646   AM_IMPORT_FROM( common_finallap_am )
647647ADDRESS_MAP_END
648648
649649static ADDRESS_MAP_START( slave_finallap_am, AS_PROGRAM, 16, namcos2_state )
650650   AM_RANGE(0x000000, 0x03ffff) AM_ROM
651651   AM_RANGE(0x100000, 0x13ffff) AM_RAMBANK(NAMCOS2_68K_SLAVE_RAM)
652   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE_LEGACY(namcos2_68k_slave_C148_r,namcos2_68k_slave_C148_w)
652   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE(namcos2_68k_slave_C148_r,namcos2_68k_slave_C148_w)
653653   AM_IMPORT_FROM( common_finallap_am )
654654ADDRESS_MAP_END
655655
r21922r21923
658658static ADDRESS_MAP_START( common_sgunner_am, AS_PROGRAM, 16, namcos2_state )
659659   AM_RANGE(0x800000, 0x8141ff) AM_READWRITE(c355_obj_ram_r,c355_obj_ram_w)
660660   AM_RANGE(0x818000, 0x818001) AM_WRITENOP
661   AM_RANGE(0xa00000, 0xa0000f) AM_READWRITE_LEGACY(namcos2_68k_key_r,namcos2_68k_key_w)
661   AM_RANGE(0xa00000, 0xa0000f) AM_READWRITE(namcos2_68k_key_r,namcos2_68k_key_w)
662662   AM_IMPORT_FROM( namcos2_68k_default_cpu_board_am )
663663ADDRESS_MAP_END
664664
665665static ADDRESS_MAP_START( master_sgunner_am, AS_PROGRAM, 16, namcos2_state )
666666   AM_RANGE(0x000000, 0x03ffff) AM_ROM
667667   AM_RANGE(0x100000, 0x10ffff) AM_RAMBANK(NAMCOS2_68K_MASTER_RAM)
668   AM_RANGE(0x180000, 0x183fff) AM_READWRITE_LEGACY(NAMCOS2_68K_eeprom_R,NAMCOS2_68K_eeprom_W)
669   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE_LEGACY(namcos2_68k_master_C148_r,namcos2_68k_master_C148_w)
668   AM_RANGE(0x180000, 0x183fff) AM_READWRITE8(namcos2_68k_eeprom_r,namcos2_68k_eeprom_w,0x00ff)
669   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE(namcos2_68k_master_C148_r,namcos2_68k_master_C148_w)
670670   AM_IMPORT_FROM( common_sgunner_am )
671671ADDRESS_MAP_END
672672
673673static ADDRESS_MAP_START( slave_sgunner_am, AS_PROGRAM, 16, namcos2_state )
674674   AM_RANGE(0x000000, 0x03ffff) AM_ROM
675675   AM_RANGE(0x100000, 0x13ffff) AM_RAMBANK(NAMCOS2_68K_SLAVE_RAM)
676   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE_LEGACY(namcos2_68k_slave_C148_r,namcos2_68k_slave_C148_w)
676   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE(namcos2_68k_slave_C148_r,namcos2_68k_slave_C148_w)
677677   AM_IMPORT_FROM( common_sgunner_am )
678678ADDRESS_MAP_END
679679
680680/*************************************************************/
681681
682682static ADDRESS_MAP_START( common_metlhawk_am, AS_PROGRAM, 16, namcos2_state )
683   AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_SHARE("spriteram") \
684   AM_RANGE(0xc40000, 0xc4ffff) AM_READWRITE(c169_roz_videoram_r,c169_roz_videoram_w) AM_SHARE("rozvideoram") \
685   AM_RANGE(0xd00000, 0xd0001f) AM_READWRITE(c169_roz_control_r,c169_roz_control_w) \
686   AM_RANGE(0xe00000, 0xe00001) AM_READWRITE(gfx_ctrl_r, gfx_ctrl_w) /* ??? */ \
683   AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_SHARE("spriteram")
684   AM_RANGE(0xc40000, 0xc4ffff) AM_READWRITE(c169_roz_videoram_r,c169_roz_videoram_w) AM_SHARE("rozvideoram")
685   AM_RANGE(0xd00000, 0xd0001f) AM_READWRITE(c169_roz_control_r,c169_roz_control_w)
686   AM_RANGE(0xe00000, 0xe00001) AM_READWRITE(gfx_ctrl_r, gfx_ctrl_w) /* ??? */
687687   AM_IMPORT_FROM( namcos2_68k_default_cpu_board_am )
688688ADDRESS_MAP_END
689689
690690static ADDRESS_MAP_START( master_metlhawk_am, AS_PROGRAM, 16, namcos2_state )
691691   AM_RANGE(0x000000, 0x03ffff) AM_ROM
692692   AM_RANGE(0x100000, 0x10ffff) AM_RAMBANK(NAMCOS2_68K_MASTER_RAM)
693   AM_RANGE(0x180000, 0x183fff) AM_READWRITE_LEGACY(NAMCOS2_68K_eeprom_R,NAMCOS2_68K_eeprom_W)
694   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE_LEGACY(namcos2_68k_master_C148_r,namcos2_68k_master_C148_w)
693   AM_RANGE(0x180000, 0x183fff) AM_READWRITE8(namcos2_68k_eeprom_r,namcos2_68k_eeprom_w,0x00ff)
694   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE(namcos2_68k_master_C148_r,namcos2_68k_master_C148_w)
695695   AM_IMPORT_FROM( common_metlhawk_am )
696696ADDRESS_MAP_END
697697
698698static ADDRESS_MAP_START( slave_metlhawk_am, AS_PROGRAM, 16, namcos2_state )
699699   AM_RANGE(0x000000, 0x03ffff) AM_ROM
700700   AM_RANGE(0x100000, 0x13ffff) AM_RAMBANK(NAMCOS2_68K_SLAVE_RAM)
701   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE_LEGACY(namcos2_68k_slave_C148_r,namcos2_68k_slave_C148_w)
701   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE(namcos2_68k_slave_C148_r,namcos2_68k_slave_C148_w)
702702   AM_IMPORT_FROM( common_metlhawk_am )
703703ADDRESS_MAP_END
704704
r21922r21923
713713   AM_RANGE(0xa00000, 0xa1ffff) AM_DEVREADWRITE("c45_road", namco_c45_road_device, read, write)
714714   AM_RANGE(0xc00000, 0xc0ffff) AM_READWRITE(c169_roz_videoram_r,c169_roz_videoram_w) AM_SHARE("rozvideoram")
715715   AM_RANGE(0xd00000, 0xd0001f) AM_READWRITE(c169_roz_control_r,c169_roz_control_w)
716   AM_RANGE(0xf00000, 0xf00007) AM_READWRITE_LEGACY(namcos2_68k_key_r,namcos2_68k_key_w)
716   AM_RANGE(0xf00000, 0xf00007) AM_READWRITE(namcos2_68k_key_r,namcos2_68k_key_w)
717717   AM_IMPORT_FROM( namcos2_68k_default_cpu_board_am )
718718ADDRESS_MAP_END
719719
720720static ADDRESS_MAP_START( master_luckywld_am, AS_PROGRAM, 16, namcos2_state )
721721   AM_RANGE(0x000000, 0x03ffff) AM_ROM
722722   AM_RANGE(0x100000, 0x10ffff) AM_RAMBANK(NAMCOS2_68K_MASTER_RAM)
723   AM_RANGE(0x180000, 0x183fff) AM_READWRITE_LEGACY(NAMCOS2_68K_eeprom_R,NAMCOS2_68K_eeprom_W)
724   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE_LEGACY(namcos2_68k_master_C148_r,namcos2_68k_master_C148_w)
723   AM_RANGE(0x180000, 0x183fff) AM_READWRITE8(namcos2_68k_eeprom_r,namcos2_68k_eeprom_w,0x00ff)
724   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE(namcos2_68k_master_C148_r,namcos2_68k_master_C148_w)
725725   AM_IMPORT_FROM( common_luckywld_am )
726726ADDRESS_MAP_END
727727
728728static ADDRESS_MAP_START( slave_luckywld_am, AS_PROGRAM, 16, namcos2_state )
729729   AM_RANGE(0x000000, 0x03ffff) AM_ROM
730730   AM_RANGE(0x100000, 0x13ffff) AM_RAMBANK(NAMCOS2_68K_SLAVE_RAM)
731   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE_LEGACY(namcos2_68k_slave_C148_r,namcos2_68k_slave_C148_w)
731   AM_RANGE(0x1c0000, 0x1fffff) AM_READWRITE(namcos2_68k_slave_C148_r,namcos2_68k_slave_C148_w)
732732   AM_IMPORT_FROM( common_luckywld_am )
733733ADDRESS_MAP_END
734734
r21922r21923
744744   AM_RANGE(0x7800, 0x7fff) AM_READWRITE(dpram_byte_r,dpram_byte_w) /* mirror */
745745   AM_RANGE(0x8000, 0x9fff) AM_RAM
746746   AM_RANGE(0xa000, 0xbfff) AM_WRITENOP /* Amplifier enable on 1st write */
747   AM_RANGE(0xc000, 0xc001) AM_WRITE_LEGACY(namcos2_sound_bankselect_w)
747   AM_RANGE(0xc000, 0xc001) AM_WRITE(namcos2_sound_bankselect_w)
748748   AM_RANGE(0xd001, 0xd001) AM_WRITENOP /* Watchdog */
749749   AM_RANGE(0xe000, 0xe000) AM_WRITENOP
750750   AM_RANGE(0xd000, 0xffff) AM_ROM
r21922r21923
758758static ADDRESS_MAP_START( mcu_default_am, AS_PROGRAM, 8, namcos2_state )
759759   /* input ports and dips are mapped here */
760760   AM_RANGE(0x0000, 0x0000) AM_READNOP /* Keep logging quiet */
761   AM_RANGE(0x0001, 0x0001) AM_READ_LEGACY(namcos2_input_port_0_r)
761   AM_RANGE(0x0001, 0x0001) AM_READ_PORT("MCUB")
762762   AM_RANGE(0x0002, 0x0002) AM_READ_PORT("MCUC")
763   AM_RANGE(0x0003, 0x0003) AM_READWRITE_LEGACY(namcos2_mcu_port_d_r,namcos2_mcu_port_d_w)
764   AM_RANGE(0x0007, 0x0007) AM_READ_LEGACY(namcos2_input_port_10_r)
765   AM_RANGE(0x0010, 0x0010) AM_READWRITE_LEGACY(namcos2_mcu_analog_ctrl_r,namcos2_mcu_analog_ctrl_w)
766   AM_RANGE(0x0011, 0x0011) AM_READWRITE_LEGACY(namcos2_mcu_analog_port_r,namcos2_mcu_analog_port_w)
763   AM_RANGE(0x0003, 0x0003) AM_READWRITE(namcos2_mcu_port_d_r,namcos2_mcu_port_d_w)
764   AM_RANGE(0x0007, 0x0007) AM_READ_PORT("MCUH")
765   AM_RANGE(0x0010, 0x0010) AM_READWRITE(namcos2_mcu_analog_ctrl_r,namcos2_mcu_analog_ctrl_w)
766   AM_RANGE(0x0011, 0x0011) AM_READWRITE(namcos2_mcu_analog_port_r,namcos2_mcu_analog_port_w)
767767   AM_RANGE(0x0000, 0x003f) AM_RAM /* Fill in register to stop logging */
768768   AM_RANGE(0x0040, 0x01bf) AM_RAM
769769   AM_RANGE(0x01c0, 0x1fff) AM_ROM
770770   AM_RANGE(0x2000, 0x2000) AM_READ_PORT("DSW")
771   AM_RANGE(0x3000, 0x3000) AM_READ_LEGACY(namcos2_input_port_12_r)
771   AM_RANGE(0x3000, 0x3000) AM_READ_PORT("MCUDI0")
772772   AM_RANGE(0x3001, 0x3001) AM_READ_PORT("MCUDI1")
773773   AM_RANGE(0x3002, 0x3002) AM_READ_PORT("MCUDI2")
774774   AM_RANGE(0x3003, 0x3003) AM_READ_PORT("MCUDI3")
r21922r21923
1584158463B05 Measured at 120ns = 8.333 MHz BUT 49.152MHz/6 = 8.192MHz = 122ns
15851585
15861586I've corrected all frequencies to be multiples of integer divisions of
1587the 49.152MHz master clock. Additionally the 6305 looks to hav an
1587the 49.152MHz master clock. Additionally the 6305 looks to have an
15881588internal divider.
15891589
15901590Soooo;
r21922r21923
20142014   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
20152015   NAMCOS2_GFXROM_LOAD_128K( "atshape.bin",  0x000000, CRC(dfcad82b) SHA1(9c3826b8dc36fa0d71c0de7f8be3479d9a025803) )
20162016
2017   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
2017   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
20182018   NAMCOS2_DATA_LOAD_E_128K( "at1dat0.bin",  0x000000, CRC(844890f4) SHA1(1be30760acd81fae836301d81d6adbb3e5941373) )
20192019   NAMCOS2_DATA_LOAD_O_128K( "at1dat1.bin",  0x000000, CRC(21715313) SHA1(97c6edae6a5f1df434f1dcf7be307b5e006e72a6) )
20202020
r21922r21923
20682068   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
20692069   NAMCOS2_GFXROM_LOAD_128K( "atshape.bin",  0x000000, CRC(dfcad82b) SHA1(9c3826b8dc36fa0d71c0de7f8be3479d9a025803) )
20702070
2071   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
2071   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
20722072   NAMCOS2_DATA_LOAD_E_128K( "at1dat0.bin",  0x000000, CRC(844890f4) SHA1(1be30760acd81fae836301d81d6adbb3e5941373) )
20732073   NAMCOS2_DATA_LOAD_O_128K( "at1dat1.bin",  0x000000, CRC(21715313) SHA1(97c6edae6a5f1df434f1dcf7be307b5e006e72a6) )
20742074
r21922r21923
21222122   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
21232123   NAMCOS2_GFXROM_LOAD_128K( "atshape.bin",  0x000000, CRC(dfcad82b) SHA1(9c3826b8dc36fa0d71c0de7f8be3479d9a025803) )
21242124
2125   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
2125   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
21262126   NAMCOS2_DATA_LOAD_E_128K( "at1dat0.bin",  0x000000, CRC(844890f4) SHA1(1be30760acd81fae836301d81d6adbb3e5941373) )
21272127   NAMCOS2_DATA_LOAD_O_128K( "at1dat1.bin",  0x000000, CRC(21715313) SHA1(97c6edae6a5f1df434f1dcf7be307b5e006e72a6) )
21282128
r21922r21923
21752175   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
21762176   NAMCOS2_GFXROM_LOAD_128K( "bu_shape.bin",  0x000000,CRC(80a6b722) SHA1(2c24327a890310c5e8086dc6821627108a88c62e) )
21772177
2178   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
2178   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
21792179   NAMCOS2_DATA_LOAD_E_128K( "bu1_dat0.bin",  0x000000, CRC(e0a9d92f) SHA1(15042e6d7b31bec08ccdf36e89fdb4b6fb62fa4b) )
21802180   NAMCOS2_DATA_LOAD_O_128K( "bu1_dat1.bin",  0x000000, CRC(5fe54b73) SHA1(a5d4895f0a4523be20de40ccaa74f8fad0d5df7d) )
21812181
r21922r21923
22272227   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
22282228   NAMCOS2_GFXROM_LOAD_128K( "bu_shape.bin",  0x000000,CRC(80a6b722) SHA1(2c24327a890310c5e8086dc6821627108a88c62e) )
22292229
2230   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
2230   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
22312231   NAMCOS2_DATA_LOAD_E_128K( "bu1_dat0.bin",  0x000000, CRC(e0a9d92f) SHA1(15042e6d7b31bec08ccdf36e89fdb4b6fb62fa4b) )
22322232   NAMCOS2_DATA_LOAD_O_128K( "bu1_dat1.bin",  0x000000, CRC(5fe54b73) SHA1(a5d4895f0a4523be20de40ccaa74f8fad0d5df7d) )
22332233
r21922r21923
22722272   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
22732273   ROM_LOAD( "co1sha0.bin",  0x000000, 0x80000, CRC(063a70cc) SHA1(c3179d55d57c47d3fef49d45e45b88c4d8250548) )
22742274
2275   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
2275   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
22762276   NAMCOS2_DATA_LOAD_E_128K( "co1dat0.bin",  0x000000, CRC(b53da2ae) SHA1(a7fe63668d50928d5d2e2249a5f377c7e8dfc6a5) )
22772277   NAMCOS2_DATA_LOAD_O_128K( "co1dat1.bin",  0x000000, CRC(d21ad10b) SHA1(dcf2d4cc048ea57507952a9a35390af7de5cfe34) )
22782278
r21922r21923
23182318   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
23192319   ROM_LOAD( "co1sha0.bin",  0x000000, 0x80000, CRC(063a70cc) SHA1(c3179d55d57c47d3fef49d45e45b88c4d8250548) )
23202320
2321   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
2321   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
23222322   NAMCOS2_DATA_LOAD_E_128K( "co1dat0.bin",  0x000000, CRC(b53da2ae) SHA1(a7fe63668d50928d5d2e2249a5f377c7e8dfc6a5) )
23232323   NAMCOS2_DATA_LOAD_O_128K( "co1dat1.bin",  0x000000, CRC(d21ad10b) SHA1(dcf2d4cc048ea57507952a9a35390af7de5cfe34) )
23242324
r21922r21923
23712371   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
23722372   NAMCOS2_GFXROM_LOAD_128K( "df1_sha.bin",  0x000000, CRC(9a7c9a9b) SHA1(06221ae8d3f6bebbb5a7ab2eaaf35b9922389115) )
23732373
2374   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
2374   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
23752375   NAMCOS2_DATA_LOAD_E_256K( "df1_dat0.bin",  0x000000, CRC(f5851c85) SHA1(e99c05891622cdaab394630b7b2678968e6761d7) )
23762376   NAMCOS2_DATA_LOAD_O_256K( "df1_dat1.bin",  0x000000, CRC(1a31e46b) SHA1(4be7115893b27d6a3dc38c97dcb41eafebb423cd) )
23772377
r21922r21923
24152415   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
24162416   ROM_LOAD( "shape.bin",  0x000000, 0x80000, CRC(698e7a3e) SHA1(4d41bf0242626ca1448d1f650c84b5987a7f6597) )
24172417
2418   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
2418   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
24192419   NAMCOS2_DATA_LOAD_E_128K( "data0.bin",  0x000000, CRC(3e53331f) SHA1(3dd4c133f587361f30ab1b890f5b05749d5838e3) )
24202420   NAMCOS2_DATA_LOAD_O_128K( "data1.bin",  0x000000, CRC(d5427f11) SHA1(af8d8153dc60044616a6b0571831c53c09fefda1) )
24212421
r21922r21923
24652465   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
24662466   ROM_LOAD( "shape.bin",  0x000000, 0x80000, CRC(698e7a3e) SHA1(4d41bf0242626ca1448d1f650c84b5987a7f6597) )
24672467
2468   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
2468   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
24692469   NAMCOS2_DATA_LOAD_E_128K( "data0.bin",  0x000000, CRC(3e53331f) SHA1(3dd4c133f587361f30ab1b890f5b05749d5838e3) )
24702470   NAMCOS2_DATA_LOAD_O_128K( "data1.bin",  0x000000, CRC(d5427f11) SHA1(af8d8153dc60044616a6b0571831c53c09fefda1) )
24712471
r21922r21923
25122512   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
25132513   NAMCOS2_GFXROM_LOAD_128K( "fl2-sha",  0x000000, CRC(5fda0b6d) SHA1(92c0410e159977ea73a8e8c0cb1321c3056f6c2f) )
25142514
2515   ROM_REGION16_BE( 0x200000, "user1", ROMREGION_ERASEFF ) /* Shared data roms */
2515   ROM_REGION16_BE( 0x200000, "data_rom", ROMREGION_ERASEFF ) /* Shared data roms */
25162516   /* No DAT files present in ZIP archive */
25172517
25182518   ROM_REGION( 0x100, "c45_road:clut", 0 ) /* prom for road colors */
r21922r21923
25672567   ROM_REGION( 0x080000, "gfx4", 0 )                 /* Mask shape */
25682568   NAMCOS2_GFXROM_LOAD_128K( "fl2-sha",  0x000000, CRC(5fda0b6d) SHA1(92c0410e159977ea73a8e8c0cb1321c3056f6c2f) )
25692569
2570   ROM_REGION16_BE( 0x200000, "user1", ROMREGION_ERASEFF ) /* Shared data roms */
2570   ROM_REGION16_BE( 0x200000, "data_rom", ROMREGION_ERASEFF ) /* Shared data roms */
25712571   /* No DAT files present in ZIP archive */
25722572
25732573   ROM_REGION( 0x100, "c45_road:clut", 0 ) /* prom for road colors */
r21922r21923
26222622   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
26232623   NAMCOS2_GFXROM_LOAD_128K( "fl2-sha",  0x000000, CRC(5fda0b6d) SHA1(92c0410e159977ea73a8e8c0cb1321c3056f6c2f) )
26242624
2625   ROM_REGION16_BE( 0x200000, "user1", ROMREGION_ERASEFF ) /* Shared data roms */
2625   ROM_REGION16_BE( 0x200000, "data_rom", ROMREGION_ERASEFF ) /* Shared data roms */
26262626   /* No DAT files present in ZIP archive */
26272627
26282628   ROM_REGION( 0x100, "c45_road:clut", 0 ) /* prom for road colors */
r21922r21923
26772677   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
26782678   NAMCOS2_GFXROM_LOAD_128K( "fl2-sha",  0x000000, CRC(5fda0b6d) SHA1(92c0410e159977ea73a8e8c0cb1321c3056f6c2f) )
26792679
2680   ROM_REGION16_BE( 0x200000, "user1", ROMREGION_ERASEFF ) /* Shared data roms */
2680   ROM_REGION16_BE( 0x200000, "data_rom", ROMREGION_ERASEFF ) /* Shared data roms */
26812681   /* No DAT files present in ZIP archive */
26822682
26832683   ROM_REGION( 0x100, "c45_road:clut", 0 ) /* prom for road colors */
r21922r21923
27322732   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
27332733   NAMCOS2_GFXROM_LOAD_128K( "fl1_sha.bin",  0x000000, CRC(b7e1c7a3) SHA1(b82f9b340d95b80a12286647adba8c139b4d081a) )
27342734
2735   ROM_REGION16_BE( 0x200000, "user1", ROMREGION_ERASEFF ) /* Shared data roms */
2735   ROM_REGION16_BE( 0x200000, "data_rom", ROMREGION_ERASEFF ) /* Shared data roms */
27362736   /* No DAT files present in ZIP archive */
27372737
27382738   ROM_REGION( 0x100, "c45_road:clut", 0 ) /* prom for road colors */
r21922r21923
27902790   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
27912791   NAMCOS2_GFXROM_LOAD_256K( "fls2sha",  0x000000, CRC(f7b40a85) SHA1(a458a1cc0dae757fe8a15cb5f5ae46d3c033df00) )
27922792
2793   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
2793   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
27942794   NAMCOS2_DATA_LOAD_E_256K( "fls2dat0",  0x000000, CRC(f1af432c) SHA1(c514261a49ceb5c3ba0246519ba5d02e9a20d950) )
27952795   NAMCOS2_DATA_LOAD_O_256K( "fls2dat1",  0x000000, CRC(8719533e) SHA1(98d2767da6f7f67da7af15e8cfed95adb04b7427) )
27962796
r21922r21923
28472847   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
28482848   NAMCOS2_GFXROM_LOAD_256K( "fls2sha",  0x000000, CRC(f7b40a85) SHA1(a458a1cc0dae757fe8a15cb5f5ae46d3c033df00) )
28492849
2850   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
2850   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
28512851   NAMCOS2_DATA_LOAD_E_256K( "fls2dat0",  0x000000, CRC(f1af432c) SHA1(c514261a49ceb5c3ba0246519ba5d02e9a20d950) )
28522852   NAMCOS2_DATA_LOAD_O_256K( "fls2dat1",  0x000000, CRC(8719533e) SHA1(98d2767da6f7f67da7af15e8cfed95adb04b7427) )
28532853
r21922r21923
29042904   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
29052905   NAMCOS2_GFXROM_LOAD_256K( "flt2_sha.bin",  0x000000, CRC(6986565b) SHA1(df95f2ad5d1e938551d33153f2dcc4711ffd0eba) )
29062906
2907   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
2907   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
29082908   NAMCOS2_DATA_LOAD_E_128K( "flt1d0",  0x000000, CRC(80004966) SHA1(112b2a9b0ea792d5dbff1b9cf904da788aeede29) )
29092909   NAMCOS2_DATA_LOAD_O_128K( "flt1d1",  0x000000, CRC(a2e93e8c) SHA1(9c8a5431a79153a70eb6939d16e0a5a6be235e75) )
29102910
r21922r21923
29652965   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
29662966   NAMCOS2_GFXROM_LOAD_256K( "flt2_sha.bin",  0x000000, CRC(6986565b) SHA1(df95f2ad5d1e938551d33153f2dcc4711ffd0eba) )
29672967
2968   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
2968   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
29692969   NAMCOS2_DATA_LOAD_E_128K( "flt1d0",  0x000000, CRC(80004966) SHA1(112b2a9b0ea792d5dbff1b9cf904da788aeede29) )
29702970   NAMCOS2_DATA_LOAD_O_128K( "flt1d1",  0x000000, CRC(a2e93e8c) SHA1(9c8a5431a79153a70eb6939d16e0a5a6be235e75) )
29712971
r21922r21923
30293029   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
30303030   NAMCOS2_GFXROM_LOAD_256K( "fltsha",  0x000000, CRC(211bbd83) SHA1(17502830d1af1e2cfbc17e2f3bb303f2a0c27e68) )
30313031
3032   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
3032   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
30333033   NAMCOS2_DATA_LOAD_E_128K( "flt1d0",  0x000000, CRC(80004966) SHA1(112b2a9b0ea792d5dbff1b9cf904da788aeede29) )
30343034   NAMCOS2_DATA_LOAD_O_128K( "flt1d1",  0x000000, CRC(a2e93e8c) SHA1(9c8a5431a79153a70eb6939d16e0a5a6be235e75) )
30353035
r21922r21923
30913091   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
30923092   NAMCOS2_GFXROM_LOAD_256K( "flt sha.7n",  0x000000, CRC(211bbd83) SHA1(17502830d1af1e2cfbc17e2f3bb303f2a0c27e68) )
30933093
3094   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data ROMs */
3094   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data ROMs */
30953095   NAMCOS2_DATA_LOAD_E_128K( "flt1_d0.13s",  0x000000, CRC(80004966) SHA1(112b2a9b0ea792d5dbff1b9cf904da788aeede29) )
30963096   NAMCOS2_DATA_LOAD_O_128K( "flt1_d1.13p",  0x000000, CRC(a2e93e8c) SHA1(9c8a5431a79153a70eb6939d16e0a5a6be235e75) )
30973097
r21922r21923
31503150   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
31513151   NAMCOS2_GFXROM_LOAD_256K( "flt2_sha.bin",  0x000000, CRC(6986565b) SHA1(df95f2ad5d1e938551d33153f2dcc4711ffd0eba) )
31523152
3153   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
3153   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
31543154   NAMCOS2_DATA_LOAD_E_128K( "flt1d0",  0x000000, CRC(80004966) SHA1(112b2a9b0ea792d5dbff1b9cf904da788aeede29) )
31553155   NAMCOS2_DATA_LOAD_O_128K( "flt1d1",  0x000000, CRC(a2e93e8c) SHA1(9c8a5431a79153a70eb6939d16e0a5a6be235e75) )
31563156
r21922r21923
32123212   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
32133213   NAMCOS2_GFXROM_LOAD_256K( "fh1_sha.bin",  0x000000, CRC(15875eb0) SHA1(9225df6b01897938488461ebf0717e6d7b81d562) )
32143214
3215   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
3215   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
32163216   NAMCOS2_DATA_LOAD_E_128K( "fh1_dt0.bin",  0x000000, CRC(2441c26f) SHA1(429c8f12f7bef3e62153ac8b9e00ea870db36a7b) )
32173217   NAMCOS2_DATA_LOAD_O_128K( "fh1_dt1.bin",  0x000000, CRC(48154deb) SHA1(d6fde316f90bc847f60fa8d997504da34337ffa4) )
32183218   NAMCOS2_DATA_LOAD_E_128K( "fh1_dt2.bin",  0x100000, CRC(12453ba4) SHA1(26ad0da6e56ece6f1ba0b0cf23d2fdae2ce24100) )
r21922r21923
34353435   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
34363436   NAMCOS2_GFXROM_LOAD_128K( "fx_sha.7n", 0x000000, CRC(f7aa4af7) SHA1(b18ffda9e35beb0f072825e2899691be370f33b1) )
34373437
3438   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
3438   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
34393439   NAMCOS2_DATA_LOAD_E_256K( "fx_dat0.13s", 0x000000, CRC(63abf69b) SHA1(6776991eeff434bf9720f49ad6e62c37fc7ddf40) )
34403440   NAMCOS2_DATA_LOAD_O_256K( "fx_dat1.13r", 0x000000, CRC(725bed14) SHA1(bbf886ac7f8c2c7857bc0b5d7f8fc7e63e8e9559) )
34413441   NAMCOS2_DATA_LOAD_E_256K( "fx_dat2.13p", 0x100000, CRC(71e4a5a0) SHA1(a0188c920a43c5e69e25464627094b6b6ed26a59) )
r21922r21923
34893489   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
34903490   NAMCOS2_GFXROM_LOAD_256K( "mv1-sha.bin",  0x000000, CRC(a47db5d3) SHA1(110e26412aa84f229773049112709be457b7a6ff) )
34913491
3492   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
3492   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
34933493   NAMCOS2_DATA_LOAD_E_128K( "mv2_dat0",  0x000000, CRC(62e6318b) SHA1(5c26bc054298f2a0980f7e82ba1844bc9f5eff98) )
34943494   NAMCOS2_DATA_LOAD_O_128K( "mv2_dat1",  0x000000, CRC(8a6902ca) SHA1(272e8699b872b3a50d72090b43c57493e6642bfe) )
34953495   NAMCOS2_DATA_LOAD_E_128K( "mv2_dat2",  0x100000, CRC(f5c6408c) SHA1(568fb08d0763dc91674d708fa2d15ca952956145) )
r21922r21923
35403540   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
35413541   NAMCOS2_GFXROM_LOAD_256K( "mv1-sha.bin",  0x000000, CRC(a47db5d3) SHA1(110e26412aa84f229773049112709be457b7a6ff) )
35423542
3543   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
3543   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
35443544   NAMCOS2_DATA_LOAD_E_128K( "mv1-dat0.bin",  0x000000, CRC(e15f412e) SHA1(d3ff006d4577540a690c912e94897a1b638ac265) )
35453545   NAMCOS2_DATA_LOAD_O_128K( "mv1-dat1.bin",  0x000000, CRC(73e1545a) SHA1(a04034e56fef69fb2a2eb88f2f392c376e52d00d) )
35463546
r21922r21923
35993599   ROM_REGION( 0x80000, "gfx5", 0 ) /* Mask shape (ROZ) */
36003600   ROM_LOAD( "mh-rzsh.bin",    0x000000, 0x40000, CRC(5090b1cf) SHA1(b814f8309a6133c6ece5f20161ebd02a981da66f) )
36013601
3602   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
3602   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
36033603   NAMCOS2_DATA_LOAD_E_128K( "mh1d0.13s",  0x000000, CRC(8b178ac7) SHA1(210d31baf0aaba1af5efc15ec05714123f669030) )
36043604   NAMCOS2_DATA_LOAD_O_128K( "mh1d1.13p",  0x000000, CRC(10684fd6) SHA1(1e39d32dcf7ab9a146aa01f47e2737142874eede) )
36053605
r21922r21923
36703670   ROM_REGION( 0x80000, "gfx5", 0 ) /* Mask shape (ROZ) */
36713671   ROM_LOAD( "mh-rzsh.bin",    0x000000, 0x40000, CRC(5090b1cf) SHA1(b814f8309a6133c6ece5f20161ebd02a981da66f) )
36723672
3673   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
3673   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
36743674   NAMCOS2_DATA_LOAD_E_128K( "mh1d0.13s",  0x000000, CRC(8b178ac7) SHA1(210d31baf0aaba1af5efc15ec05714123f669030) )
36753675   NAMCOS2_DATA_LOAD_O_128K( "mh1d1.13p",  0x000000, CRC(10684fd6) SHA1(1e39d32dcf7ab9a146aa01f47e2737142874eede) )
36763676
r21922r21923
37363736   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
37373737   NAMCOS2_GFXROM_LOAD_128K( "mn_sha.bin",  0x000000, CRC(c28af90f) SHA1(8b7f95375eb32c3e30c2a55b7f543235f56d3a13) )
37383738
3739   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
3739   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
37403740   NAMCOS2_DATA_LOAD_E_128K( "mn1_dat0.bin",  0x000000, CRC(104bcca8) SHA1(e8368d0dc51bf0653143bf2261d7ed5b54d92941) )
37413741   NAMCOS2_DATA_LOAD_O_128K( "mn1_dat1.bin",  0x000000, CRC(d2a918fb) SHA1(032b7a7bcc60c41325e7b35df9a932e68cdd0788) )
37423742
r21922r21923
37923792   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
37933793   NAMCOS2_GFXROM_LOAD_128K( "or1_sha.bin",  0x000000, CRC(7aec9dee) SHA1(2e774e4cff69173b4524d6b25a6a449ba5498a6a) )
37943794
3795   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
3795   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
37963796   NAMCOS2_DATA_LOAD_E_128K( "or1_dt0.bin",  0x000000, CRC(de214f7a) SHA1(59883c7886b403306c30e51d7f49225483792650) )
37973797   NAMCOS2_DATA_LOAD_O_128K( "or1_dt1.bin",  0x000000, CRC(25e3e6c8) SHA1(ad093f15edaea71f6c7226c6e4f3c2130d418013) )
37983798
r21922r21923
38483848   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
38493849   NAMCOS2_GFXROM_LOAD_128K( "or1_sha.bin",  0x000000, CRC(7aec9dee) SHA1(2e774e4cff69173b4524d6b25a6a449ba5498a6a) )
38503850
3851   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
3851   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
38523852   NAMCOS2_DATA_LOAD_E_128K( "or1_dt0.bin",  0x000000, CRC(de214f7a) SHA1(59883c7886b403306c30e51d7f49225483792650) )
38533853   NAMCOS2_DATA_LOAD_O_128K( "or1_dt1.bin",  0x000000, CRC(25e3e6c8) SHA1(ad093f15edaea71f6c7226c6e4f3c2130d418013) )
38543854
r21922r21923
39083908   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
39093909   NAMCOS2_GFXROM_LOAD_128K( "ps1-sha.bin",  0x000000, CRC(58e26fcf) SHA1(9edc3b54964f923ed07ee878520ccf3f188f04ad) )
39103910
3911   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
3911   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
39123912   NAMCOS2_DATA_LOAD_E_128K( "ps1dat0.bin",  0x000000, CRC(ee4194b0) SHA1(a0c2a807db70164ed761e5ad04301e5ae1173e7a) )
39133913   NAMCOS2_DATA_LOAD_O_128K( "ps1dat1.bin",  0x000000, CRC(5b22d714) SHA1(f6cb1fe661f7691269840245f06875845fd6eb33) )
39143914
r21922r21923
39523952   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
39533953   ROM_LOAD( "shape.bin",  0x000000, 0x80000, CRC(cf58fbbe) SHA1(fbe3b2f0c3267b298993d6238d97b119e13e07f6) )
39543954
3955   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
3955   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
39563956   NAMCOS2_DATA_LOAD_E_128K( "data0.bin",  0x000000, CRC(0baf44ee) SHA1(5135d634f76893adb26a32976a69e2d47e2385c6) )
39573957   NAMCOS2_DATA_LOAD_O_128K( "data1.bin",  0x000000, CRC(58a8daac) SHA1(c13ae8fc25b748a006c6db5b4b7ae593738544e8) )
39583958   NAMCOS2_DATA_LOAD_E_128K( "data2.bin",  0x100000, CRC(8e850a2a) SHA1(e5230e80a23ca6d09c2c53f443ecf70cc74075d7) )
r21922r21923
39983998   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
39993999   ROM_LOAD( "shape.bin",  0x000000, 0x80000, CRC(cf58fbbe) SHA1(fbe3b2f0c3267b298993d6238d97b119e13e07f6) )
40004000
4001   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
4001   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
40024002   NAMCOS2_DATA_LOAD_E_128K( "data0.bin",  0x000000, CRC(0baf44ee) SHA1(5135d634f76893adb26a32976a69e2d47e2385c6) )
40034003   NAMCOS2_DATA_LOAD_O_128K( "data1.bin",  0x000000, CRC(58a8daac) SHA1(c13ae8fc25b748a006c6db5b4b7ae593738544e8) )
40044004   NAMCOS2_DATA_LOAD_E_128K( "data2.bin",  0x100000, CRC(8e850a2a) SHA1(e5230e80a23ca6d09c2c53f443ecf70cc74075d7) )
r21922r21923
40474047   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
40484048   ROM_LOAD( "sn_sha0.8n",  0x000000, 0x80000, CRC(01e20999) SHA1(5f925b5b43aa8889e077f7854a89d0731052605d) )
40494049
4050   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
4050   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
40514051   NAMCOS2_DATA_LOAD_E_128K( "sn1_dat0.13s",  0x000000, CRC(72bfeca8) SHA1(88a2f8959d803611b2f2e219cb8ff085a37d01fe) )
40524052   NAMCOS2_DATA_LOAD_O_128K( "sn1_dat1.13p",  0x000000, CRC(99b3e653) SHA1(d7e29ad4e059f5d5e03386d903428c879d591459) )
40534053
r21922r21923
40984098   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
40994099   ROM_LOAD( "sn_sha0.8n",  0x000000, 0x80000, CRC(01e20999) SHA1(5f925b5b43aa8889e077f7854a89d0731052605d) )
41004100
4101   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
4101   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
41024102   NAMCOS2_DATA_LOAD_E_128K( "sn1_dat0.13s",  0x000000, CRC(72bfeca8) SHA1(88a2f8959d803611b2f2e219cb8ff085a37d01fe) )
41034103   NAMCOS2_DATA_LOAD_O_128K( "sn1_dat1.13p",  0x000000, CRC(99b3e653) SHA1(d7e29ad4e059f5d5e03386d903428c879d591459) )
41044104
r21922r21923
41544154   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
41554155   ROM_LOAD( "sns_sha0.bin",  0x000000, 0x80000, CRC(0374fd67) SHA1(2f09536ef4f8e1aa719108e73642feb376d6efff) )
41564156
4157   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
4157   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
41584158   NAMCOS2_DATA_LOAD_E_128K( "sns_dat0.bin",  0x000000, CRC(48295d93) SHA1(2b314128d5ed7d30895967dbd2ecd8f1dfdc61ca) )
41594159   NAMCOS2_DATA_LOAD_O_128K( "sns_dat1.bin",  0x000000, CRC(b44cc656) SHA1(7126ef28bf174c6c560469fa6dc4cfb439811850) )
41604160   NAMCOS2_DATA_LOAD_E_128K( "sns_dat2.bin",  0x100000, CRC(ca2ae645) SHA1(8addc8ed8244d0ff4c03909e865e3f15934963f1) )
r21922r21923
42124212   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
42134213   ROM_LOAD( "sns_sha0.bin",  0x000000, 0x80000, CRC(0374fd67) SHA1(2f09536ef4f8e1aa719108e73642feb376d6efff) )
42144214
4215   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
4215   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
42164216   NAMCOS2_DATA_LOAD_E_128K( "sns_dat0.bin",  0x000000, CRC(48295d93) SHA1(2b314128d5ed7d30895967dbd2ecd8f1dfdc61ca) )
42174217   NAMCOS2_DATA_LOAD_O_128K( "sns_dat1.bin",  0x000000, CRC(b44cc656) SHA1(7126ef28bf174c6c560469fa6dc4cfb439811850) )
42184218   NAMCOS2_DATA_LOAD_E_128K( "sns_dat2.bin",  0x100000, CRC(ca2ae645) SHA1(8addc8ed8244d0ff4c03909e865e3f15934963f1) )
r21922r21923
42624262   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
42634263   ROM_LOAD( "ss1_sha0.7n",  0x000000, 0x80000,  CRC(fea6952c) SHA1(3bf27ee1e7e4c5ee0d53f28d49ef063b3f8064ba) )
42644264
4265   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
4265   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
42664266   NAMCOS2_DATA_LOAD_E_256K( "ss1_dat0.13s",  0x000000, CRC(6a360f91) SHA1(22597c6bf7c597cf554a27182b4748de43a87b0a)  )
42674267   NAMCOS2_DATA_LOAD_O_256K( "ss1_dat1.13p",  0x000000, CRC(ab1e487d) SHA1(b40ea6c28dd9adae4939f69fcbf53414ae4703c6) )
42684268
r21922r21923
43084308   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
43094309   ROM_LOAD( "sss_sha0.bin",  0x000000, 0x80000, CRC(b71a731a) SHA1(29eab0ad5618f54e6c790d20f7dc895afae6c709) )
43104310
4311   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
4311   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
43124312   NAMCOS2_DATA_LOAD_E_256K( "sss1dat0.bin",  0x000000, CRC(db3e6aec) SHA1(928960e3dc9c8225e695d12e9b18fbb7f151c151) )
43134313   NAMCOS2_DATA_LOAD_O_256K( "sss1dat1.bin",  0x000000, CRC(463b5ba8) SHA1(029dce2e7ee50181392b6ef409bbd192105fb065) )
43144314
r21922r21923
43544354   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
43554355   ROM_LOAD( "sss_sha0.bin",  0x000000, 0x80000, CRC(b71a731a) SHA1(29eab0ad5618f54e6c790d20f7dc895afae6c709) )
43564356
4357   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
4357   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
43584358   NAMCOS2_DATA_LOAD_E_256K( "sss1dat0.bin",  0x000000, CRC(db3e6aec) SHA1(928960e3dc9c8225e695d12e9b18fbb7f151c151) )
43594359   NAMCOS2_DATA_LOAD_O_256K( "sss1dat1.bin",  0x000000, CRC(463b5ba8) SHA1(029dce2e7ee50181392b6ef409bbd192105fb065) )
43604360   NAMCOS2_DATA_LOAD_E_256K( "ssg1dat2.bin",  0x080000, CRC(754128aa) SHA1(459ffb08bcd905644d6019e5b25870dcb1e2b418) )
r21922r21923
44024402   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
44034403   ROM_LOAD( "sst_sha0.bin", 0x000000, 0x80000, CRC(4f64d4bd) SHA1(0eb5311448cfd91b1e139b64b2f35b5179237e58) )
44044404
4405   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
4405   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
44064406   NAMCOS2_DATA_LOAD_E_512K( "sst1dat0.bin",  0x000000, CRC(b99c9656) SHA1(ac9e6bf46204dad70caf0d75614a20af0269a07f) )
44074407   NAMCOS2_DATA_LOAD_O_512K( "sst1dat1.bin",  0x000000, CRC(60cf6281) SHA1(c02a5bf8f4f94cbe8b0448c9457af53cd1c043d0) )
44084408
r21922r21923
44494449   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
44504450   ROM_LOAD( "eh2-sha0.bin",  0x000000, 0x80000, CRC(7F24619C) SHA1(0D19AB621CB42C5315BE9A6B56F6711FC46FFFF7) )
44514451
4452   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
4452   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
44534453   NAMCOS2_DATA_LOAD_E_256K( "eh1-d0.bin",  0x000000, CRC(B43E5DFA) SHA1(7E24EE46169532CDB5C504239F7961F8D17E86E4) )
44544454   NAMCOS2_DATA_LOAD_O_256K( "eh1-d1.bin",  0x000000, CRC(9825D5BF) SHA1(720F0E90C69A2E0C48889D510A15102768226A67) )
44554455   NAMCOS2_DATA_LOAD_O_256K( "eh1-d3.bin",  0x100000, CRC(F46D301F) SHA1(70797FD584735844539553EFCAD53E11239EC10E) )
r21922r21923
45014501   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
45024502   ROM_LOAD( "eh1-sha0.bin",  0x000000, 0x80000, CRC(39585cf9) SHA1(8cc18b5745ab2cf50d4df0a17fc1a57771db28ab) )
45034503
4504   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
4504   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
45054505   NAMCOS2_DATA_LOAD_E_256K( "eh1-d0.bin",  0x000000, CRC(b43e5dfa) SHA1(7e24ee46169532cdb5c504239f7961f8d17e86e4) )
45064506   NAMCOS2_DATA_LOAD_O_256K( "eh1-d1.bin",  0x000000, CRC(9825d5bf) SHA1(720f0e90c69a2e0c48889d510a15102768226a67) )
45074507   NAMCOS2_DATA_LOAD_O_256K( "eh1-d3.bin",  0x100000, CRC(f46d301f) SHA1(70797fd584735844539553efcad53e11239ec10e) )
r21922r21923
45604560   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
45614561   ROM_LOAD( "ehs1-sha0.7n",  0x000000, 0x80000, CRC(0f0e2dbf) SHA1(a4575fbdc868ba959d23204be7d659d40d8db4c2) )
45624562
4563   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
4563   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
45644564   NAMCOS2_DATA_LOAD_E_512K( "ehs1-dat0.13s",  0x000000, CRC(12a202fb) SHA1(dca1b88cb524d54a699d4f6003854cfc980e084b) )
45654565   NAMCOS2_DATA_LOAD_O_512K( "ehs1-dat1.13r",  0x000000, CRC(91790905) SHA1(988af294959dbb8636f808347b44897a133d3203) )
45664566   NAMCOS2_DATA_LOAD_E_512K( "ehs1-dat2.13p",  0x100000, CRC(087da1f3) SHA1(e9c4ba0383e883502c0f45ae6e6d5daba4eccb01) )
r21922r21923
46204620   ROM_REGION( 0x080000, "gfx4", 0 )    /* Mask shape */
46214621   NAMCOS2_GFXROM_LOAD_128K( "wdshape.bin",  0x000000, CRC(3b5e0249) SHA1(259bbabf57a8ad739c646c56aad6d0b92e10adcd) )
46224622
4623   ROM_REGION16_BE( 0x200000, "user1", 0 )  /* Shared data roms */
4623   ROM_REGION16_BE( 0x200000, "data_rom", 0 )  /* Shared data roms */
46244624   NAMCOS2_DATA_LOAD_E_128K( "wd1dat0.bin",  0x000000, CRC(ea209f48) SHA1(5e73a745dc2faaa4ce6c633d4072d41e9e494276) )
46254625   NAMCOS2_DATA_LOAD_O_128K( "wd1dat1.bin",  0x000000, CRC(04b48ada) SHA1(aa046f8856bdd5b56d481c2c12ad2808c6517a5f) )
46264626
r21922r21923
46734673   ROM_REGION( 0x080000, "gfx4", 0 )    /* Mask shape */
46744674   NAMCOS2_GFXROM_LOAD_128K( "ky1_sha.bin",  0x000000, CRC(380a20d7) SHA1(9627d2e0192779d50bfb25d5c19976275818c310) )
46754675
4676   ROM_REGION16_BE( 0x200000, "user1", 0 )  /* Shared data roms */
4676   ROM_REGION16_BE( 0x200000, "data_rom", 0 )  /* Shared data roms */
46774677   NAMCOS2_DATA_LOAD_E_128K( "ky1_d0.bin",   0x000000, CRC(c9cf399d) SHA1(90cba42781b1e03ecc3f5b802d740ace6b88baaa) )
46784678   NAMCOS2_DATA_LOAD_O_128K( "ky1_d1.bin",   0x000000, CRC(6d4f21b9) SHA1(f234a785f61969be684d2a4aed59616f125d72fc) )
46794679   NAMCOS2_DATA_LOAD_E_128K( "ky1_d2.bin",   0x100000, CRC(eb6d19c8) SHA1(c9fdb33fe191d3c4d284db7cbb05d852551a998d) )
r21922r21923
47234723   ROM_REGION( 0x080000, "gfx4", 0 )    /* Mask shape */
47244724   NAMCOS2_GFXROM_LOAD_128K( "ky1_sha.bin",  0x000000, CRC(380a20d7) SHA1(9627d2e0192779d50bfb25d5c19976275818c310) )
47254725
4726   ROM_REGION16_BE( 0x200000, "user1", 0 )  /* Shared data roms */
4726   ROM_REGION16_BE( 0x200000, "data_rom", 0 )  /* Shared data roms */
47274727   NAMCOS2_DATA_LOAD_E_128K( "ky1_d0.bin",   0x000000, CRC(c9cf399d) SHA1(90cba42781b1e03ecc3f5b802d740ace6b88baaa) )
47284728   NAMCOS2_DATA_LOAD_O_128K( "ky1_d1.bin",   0x000000, CRC(6d4f21b9) SHA1(f234a785f61969be684d2a4aed59616f125d72fc) )
47294729   NAMCOS2_DATA_LOAD_E_128K( "ky1_d2.bin",   0x100000, CRC(eb6d19c8) SHA1(c9fdb33fe191d3c4d284db7cbb05d852551a998d) )
r21922r21923
47694769   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
47704770   NAMCOS2_GFXROM_LOAD_128K( "gl1sha0.7n", 0x000000, CRC(8886f6f5) SHA1(3b311c5061449e1bbde1a1006fd967a6154326b8) )
47714771
4772   ROM_REGION16_BE( 0x200000, "user1", ROMREGION_ERASEFF ) /* Shared data roms */
4772   ROM_REGION16_BE( 0x200000, "data_rom", ROMREGION_ERASEFF ) /* Shared data roms */
47734773   /* All DAT ROM sockets unpopulated on PCB */
47744774
47754775   ROM_REGION16_BE( 0x2000, "user2", 0 ) /* sprite zoom */
r21922r21923
48194819   ROM_REGION( 0x080000, "gfx4", 0 ) /* Mask shape */
48204820   ROM_LOAD( "bt1-sha0.bin",   0x000000, 0x80000, CRC(dc4664df) SHA1(59818b14e74ee9b15a66e850658e4697d78b28d9) )
48214821
4822   ROM_REGION16_BE( 0x200000, "user1", ROMREGION_ERASEFF ) /* Shared data roms */
4822   ROM_REGION16_BE( 0x200000, "data_rom", ROMREGION_ERASEFF ) /* Shared data roms */
48234823   /* All DAT ROM sockets unpopulated on PCB */
48244824
48254825   ROM_REGION16_BE( 0x2000, "user2", 0 ) /* sprite zoom */
r21922r21923
49894989   ROM_REGION( 0x80000, "gfx5", 0 ) /* 16x16 shape */
49904990   ROM_LOAD( "lw1rzs0.20z", 0x000000, 0x80000, CRC(a1071537) SHA1(bb8a97b82066d7838471e258d1c3c716ede7572c) )
49914991
4992   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
4992   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
49934993   ROM_LOAD16_BYTE( "lw1dat0.13s",  0x000000, 0x80000, CRC(5d387d47) SHA1(e40ef52d1403fa630294d736f35a6924fa4e762e) )
49944994   ROM_LOAD16_BYTE( "lw1dat1.13p",  0x000001, 0x80000, CRC(7ba94476) SHA1(cd4a964050e706f783450ace277e67586bf69e61) )
49954995   ROM_LOAD16_BYTE( "lw1dat2.13r",  0x100000, 0x80000, CRC(eeba7c62) SHA1(6468518d3a5499b3f9a066488d83252cfc804d69) )
r21922r21923
50555055   ROM_REGION( 0x80000, "gfx5", 0 ) /* 16x16 shape */
50565056   ROM_LOAD( "lw1rzs0.20z", 0x000000, 0x80000, CRC(a1071537) SHA1(bb8a97b82066d7838471e258d1c3c716ede7572c) )
50575057
5058   ROM_REGION16_BE( 0x200000, "user1", 0 ) /* Shared data roms */
5058   ROM_REGION16_BE( 0x200000, "data_rom", 0 ) /* Shared data roms */
50595059   ROM_LOAD16_BYTE( "lw1dat0.13s",  0x000000, 0x80000, CRC(5d387d47) SHA1(e40ef52d1403fa630294d736f35a6924fa4e762e) )
50605060   ROM_LOAD16_BYTE( "lw1dat1.13p",  0x000001, 0x80000, CRC(7ba94476) SHA1(cd4a964050e706f783450ace277e67586bf69e61) )
50615061   ROM_LOAD16_BYTE( "lw1dat2.13r",  0x100000, 0x80000, CRC(eeba7c62) SHA1(6468518d3a5499b3f9a066488d83252cfc804d69) )
trunk/src/mame/machine/namcos2.c
r21922r21923
3030static int sendval;
3131
3232
33// not shared
34READ16_HANDLER( namcos2_flap_prot_r )
33READ16_MEMBER( namcos2_state::namcos2_finallap_prot_r )
3534{
3635   static const UINT16 table0[8] = { 0x0000,0x0040,0x0440,0x2440,0x2480,0xa080,0x8081,0x8041 };
3736   static const UINT16 table1[8] = { 0x0040,0x0060,0x0060,0x0860,0x0864,0x08e4,0x08e5,0x08a5 };
r21922r21923
113112
114113MACHINE_RESET_MEMBER(namcos2_shared_state,namcos2)
115114{
116   address_space &space = machine().device("maincpu")->memory().space(AS_PROGRAM);
115//   address_space &space = machine().device("maincpu")->memory().space(AS_PROGRAM);
116   address_space &audio_space = machine().device("audiocpu")->memory().space(AS_PROGRAM);
117
117118   mFinalLapProtCount = 0;
118119   namcos2_mcu_analog_ctrl = 0;
119120   namcos2_mcu_analog_data = 0xaa;
r21922r21923
121122   sendval = 0;
122123
123124   /* Initialise the bank select in the sound CPU */
124   namcos2_sound_bankselect_w(space, 0, 0); /* Page in bank 0 */
125   namcos2_sound_bankselect_w(audio_space, 0, 0); /* Page in bank 0 */
125126
126127   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE );
127128
r21922r21923
139140/* EEPROM Load/Save and read/write handling                  */
140141/*************************************************************/
141142
142WRITE16_HANDLER( namcos2_68k_eeprom_w ){
143   if( ACCESSING_BITS_0_7 )
144   {
145      namcos2_eeprom[offset] = data;
146   }
143WRITE8_MEMBER( namcos2_shared_state::namcos2_68k_eeprom_w )
144{
145   namcos2_eeprom[offset] = data;
147146}
148147
149READ16_HANDLER( namcos2_68k_eeprom_r ){
148READ8_MEMBER( namcos2_shared_state::namcos2_68k_eeprom_r )
149{
150150   return namcos2_eeprom[offset];
151151}
152152
153/*************************************************************/
154/* 68000 Shared memory area - Data ROM area                  */
155/*************************************************************/
156READ16_HANDLER( namcos2_68k_data_rom_r ){
157   UINT16 *ROM = (UINT16 *)space.machine().root_device().memregion("user1")->base();
158   return ROM[offset];
159}
160153
161154
162
163155/**************************************************************/
164156/* 68000 Shared serial communications processor (CPU5?)       */
165157/**************************************************************/
r21922r21923
227219sws93       1993    334         $014e
228220 *************************************************************/
229221
230READ16_HANDLER( namcos2_68k_key_r )
222READ16_MEMBER( namcos2_state::namcos2_68k_key_r )
231223{
232   switch (space.machine().driver_data<namcos2_shared_state>()->m_gametype)
224   switch (machine().driver_data<namcos2_shared_state>()->m_gametype)
233225   {
234226   case NAMCOS2_ORDYNE:
235227      switch(offset)
r21922r21923
401393   return space.machine().rand()&0xffff;
402394}
403395
404WRITE16_HANDLER( namcos2_68k_key_w )
396WRITE16_MEMBER( namcos2_state::namcos2_68k_key_w )
405397{
406   int gametype = space.machine().driver_data<namcos2_shared_state>()->m_gametype;
398   int gametype = machine().driver_data<namcos2_shared_state>()->m_gametype;
407399   if( gametype == NAMCOS2_MARVEL_LAND && offset == 5 )
408400   {
409401      if (data == 0x615E) sendval = 1;
r21922r21923
619611   return result;
620612}
621613
622WRITE16_HANDLER( namcos2_68k_master_C148_w )
614WRITE16_MEMBER( namcos2_shared_state::namcos2_68k_master_C148_w )
623615{
624616   (void)ReadWriteC148(space, offset, data, 1);
625617}
626618
627READ16_HANDLER( namcos2_68k_master_C148_r )
619READ16_MEMBER( namcos2_shared_state::namcos2_68k_master_C148_r )
628620{
629621   return ReadWriteC148(space, offset, 0, 0);
630622}
631623
632WRITE16_HANDLER( namcos2_68k_slave_C148_w )
624WRITE16_MEMBER( namcos2_shared_state::namcos2_68k_slave_C148_w )
633625{
634626   (void)ReadWriteC148(space, offset, data, 1);
635627}
636628
637READ16_HANDLER( namcos2_68k_slave_C148_r )
629READ16_MEMBER( namcos2_shared_state::namcos2_68k_slave_C148_r )
638630{
639631   return ReadWriteC148(space, offset, 0, 0);
640632}
641633
642WRITE16_HANDLER( namcos2_68k_gpu_C148_w )
634WRITE16_MEMBER( namcos2_shared_state::namcos21_68k_gpu_C148_w )
643635{
644636   (void)ReadWriteC148(space, offset, data, 1);
645637}
646638
647READ16_HANDLER( namcos2_68k_gpu_C148_r )
639READ16_MEMBER( namcos2_shared_state::namcos21_68k_gpu_C148_r )
648640{
649641   return ReadWriteC148(space, offset, 0, 0);
650642}
r21922r21923
706698/*  Sound sub-system                                          */
707699/**************************************************************/
708700
709WRITE8_HANDLER( namcos2_sound_bankselect_w )
701WRITE8_MEMBER( namcos2_shared_state::namcos2_sound_bankselect_w )
710702{
711   UINT8 *RAM=space.machine().root_device().memregion("audiocpu")->base();
712   UINT32 max = (space.machine().root_device().memregion("audiocpu")->bytes() - 0x10000) / 0x4000;
703   UINT8 *RAM= machine().root_device().memregion("audiocpu")->base();
704   UINT32 max = (machine().root_device().memregion("audiocpu")->bytes() - 0x10000) / 0x4000;
713705   int bank = ( data >> 4 ) % max; /* 991104.CAB */
714   space.machine().root_device().membank(BANKED_SOUND_ROM)->set_base(&RAM[ 0x10000 + ( 0x4000 * bank ) ] );
706   machine().root_device().membank(BANKED_SOUND_ROM)->set_base(&RAM[ 0x10000 + ( 0x4000 * bank ) ] );
715707}
716708
717709/**************************************************************/
r21922r21923
720712/*                                                            */
721713/**************************************************************/
722714
723WRITE8_HANDLER( namcos2_mcu_analog_ctrl_w )
715WRITE8_MEMBER( namcos2_shared_state::namcos2_mcu_analog_ctrl_w )
724716{
725717   namcos2_mcu_analog_ctrl = data & 0xff;
726718
r21922r21923
735727      switch((data>>2) & 0x07)
736728      {
737729      case 0:
738         namcos2_mcu_analog_data=space.machine().root_device().ioport("AN0")->read();
730         namcos2_mcu_analog_data=machine().root_device().ioport("AN0")->read();
739731         break;
740732      case 1:
741         namcos2_mcu_analog_data=space.machine().root_device().ioport("AN1")->read();
733         namcos2_mcu_analog_data=machine().root_device().ioport("AN1")->read();
742734         break;
743735      case 2:
744         namcos2_mcu_analog_data=space.machine().root_device().ioport("AN2")->read();
736         namcos2_mcu_analog_data=machine().root_device().ioport("AN2")->read();
745737         break;
746738      case 3:
747         namcos2_mcu_analog_data=space.machine().root_device().ioport("AN3")->read();
739         namcos2_mcu_analog_data=machine().root_device().ioport("AN3")->read();
748740         break;
749741      case 4:
750         namcos2_mcu_analog_data=space.machine().root_device().ioport("AN4")->read();
742         namcos2_mcu_analog_data=machine().root_device().ioport("AN4")->read();
751743         break;
752744      case 5:
753         namcos2_mcu_analog_data=space.machine().root_device().ioport("AN5")->read();
745         namcos2_mcu_analog_data=machine().root_device().ioport("AN5")->read();
754746         break;
755747      case 6:
756         namcos2_mcu_analog_data=space.machine().root_device().ioport("AN6")->read();
748         namcos2_mcu_analog_data=machine().root_device().ioport("AN6")->read();
757749         break;
758750      case 7:
759         namcos2_mcu_analog_data=space.machine().root_device().ioport("AN7")->read();
751         namcos2_mcu_analog_data=machine().root_device().ioport("AN7")->read();
760752         break;
761753      default:
762754         output_set_value("anunk",data);
r21922r21923
773765      /* If the interrupt enable bit is set trigger an A/D IRQ */
774766      if(data & 0x20)
775767      {
776         generic_pulse_irq_line(space.machine().device("mcu"), HD63705_INT_ADCONV, 1);
768         generic_pulse_irq_line(machine().device("mcu")->execute(), HD63705_INT_ADCONV, 1);
777769      }
778770   }
779771}
780772
781READ8_HANDLER( namcos2_mcu_analog_ctrl_r )
773READ8_MEMBER( namcos2_shared_state::namcos2_mcu_analog_ctrl_r )
782774{
783775   int data=0;
784776
r21922r21923
792784   return data;
793785}
794786
795WRITE8_HANDLER( namcos2_mcu_analog_port_w )
787WRITE8_MEMBER( namcos2_shared_state::namcos2_mcu_analog_port_w )
796788{
797789}
798790
799READ8_HANDLER( namcos2_mcu_analog_port_r )
791READ8_MEMBER( namcos2_shared_state::namcos2_mcu_analog_port_r )
800792{
801793   if(namcos2_mcu_analog_complete==1) namcos2_mcu_analog_complete=0;
802794   return namcos2_mcu_analog_data;
803795}
804796
805WRITE8_HANDLER( namcos2_mcu_port_d_w )
797WRITE8_MEMBER( namcos2_shared_state::namcos2_mcu_port_d_w )
806798{
807799   /* Undefined operation on write */
808800}
809801
810READ8_HANDLER( namcos2_mcu_port_d_r )
802READ8_MEMBER( namcos2_shared_state::namcos2_mcu_port_d_r )
811803{
812804   /* Provides a digital version of the analog ports */
813805   int threshold = 0x7f;
814806   int data = 0;
815807
816808   /* Read/convert the bits one at a time */
817   if(space.machine().root_device().ioport("AN0")->read() > threshold) data |= 0x01;
818   if(space.machine().root_device().ioport("AN1")->read() > threshold) data |= 0x02;
819   if(space.machine().root_device().ioport("AN2")->read() > threshold) data |= 0x04;
820   if(space.machine().root_device().ioport("AN3")->read() > threshold) data |= 0x08;
821   if(space.machine().root_device().ioport("AN4")->read() > threshold) data |= 0x10;
822   if(space.machine().root_device().ioport("AN5")->read() > threshold) data |= 0x20;
823   if(space.machine().root_device().ioport("AN6")->read() > threshold) data |= 0x40;
824   if(space.machine().root_device().ioport("AN7")->read() > threshold) data |= 0x80;
809   if(machine().root_device().ioport("AN0")->read() > threshold) data |= 0x01;
810   if(machine().root_device().ioport("AN1")->read() > threshold) data |= 0x02;
811   if(machine().root_device().ioport("AN2")->read() > threshold) data |= 0x04;
812   if(machine().root_device().ioport("AN3")->read() > threshold) data |= 0x08;
813   if(machine().root_device().ioport("AN4")->read() > threshold) data |= 0x10;
814   if(machine().root_device().ioport("AN5")->read() > threshold) data |= 0x20;
815   if(machine().root_device().ioport("AN6")->read() > threshold) data |= 0x40;
816   if(machine().root_device().ioport("AN7")->read() > threshold) data |= 0x80;
825817
826818   /* Return the result */
827819   return data;
828820}
829821
830READ8_HANDLER( namcos2_input_port_0_r )
831{
832   int data = space.machine().root_device().ioport("MCUB")->read();
833   return data;
834}
835
836READ8_HANDLER( namcos2_input_port_10_r )
837{
838   int data = space.machine().root_device().ioport("MCUH")->read();
839   return data;
840}
841
842READ8_HANDLER( namcos2_input_port_12_r )
843{
844   int data = space.machine().root_device().ioport("MCUDI0")->read();
845   return data;
846}

Previous 199869 Revisions Next


© 1997-2024 The MAME Team