mirror of
https://github.com/holub/mame
synced 2025-04-22 00:11:58 +03:00
Part 10 of "The big IO_MAP merge of 2008". (Andrew Gardner)
This commit is contained in:
parent
3c7aa41306
commit
dcb6d50706
@ -326,56 +326,45 @@ ADDRESS_MAP_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static ADDRESS_MAP_START( nekkyoku_readport_sub, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x12, 0x12) AM_READ(SMH_NOP) // unknown
|
||||
AM_RANGE(0xe1, 0xe1) AM_READ(fromance_busycheck_sub_r)
|
||||
AM_RANGE(0xe6, 0xe6) AM_READ(fromance_commanddata_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( nekkyoku_writeport_sub, ADDRESS_SPACE_IO, 8 )
|
||||
static ADDRESS_MAP_START( nekkyoku_sub_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x10, 0x10) AM_WRITE(fromance_crtc_data_w)
|
||||
AM_RANGE(0x11, 0x11) AM_WRITE(fromance_crtc_register_w)
|
||||
AM_RANGE(0x12, 0x12) AM_READ(SMH_NOP) // unknown
|
||||
AM_RANGE(0xe0, 0xe0) AM_WRITE(fromance_rombank_w)
|
||||
AM_RANGE(0xe1, 0xe1) AM_WRITE(fromance_gfxreg_w)
|
||||
AM_RANGE(0xe1, 0xe1) AM_READWRITE(fromance_busycheck_sub_r, fromance_gfxreg_w)
|
||||
AM_RANGE(0xe2, 0xe5) AM_WRITE(fromance_scroll_w)
|
||||
AM_RANGE(0xe6, 0xe6) AM_WRITE(fromance_busycheck_sub_w)
|
||||
AM_RANGE(0xe6, 0xe6) AM_READWRITE(fromance_commanddata_r, fromance_busycheck_sub_w)
|
||||
AM_RANGE(0xe7, 0xe7) AM_WRITE(fromance_adpcm_reset_w)
|
||||
AM_RANGE(0xe8, 0xe8) AM_WRITE(fromance_adpcm_w)
|
||||
AM_RANGE(0xe9, 0xe9) AM_WRITE(ay8910_write_port_0_w)
|
||||
AM_RANGE(0xea, 0xea) AM_WRITE(ay8910_control_port_0_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( fromance_readport_sub, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x12, 0x12) AM_READ(SMH_NOP) // unknown
|
||||
AM_RANGE(0x21, 0x21) AM_READ(fromance_busycheck_sub_r)
|
||||
AM_RANGE(0x26, 0x26) AM_READ(fromance_commanddata_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( idolmj_writeport_sub, ADDRESS_SPACE_IO, 8 )
|
||||
static ADDRESS_MAP_START( idolmj_sub_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x10, 0x10) AM_WRITE(fromance_crtc_data_w)
|
||||
AM_RANGE(0x11, 0x11) AM_WRITE(fromance_crtc_register_w)
|
||||
AM_RANGE(0x12, 0x12) AM_READ(SMH_NOP) // unknown
|
||||
AM_RANGE(0x20, 0x20) AM_WRITE(fromance_rombank_w)
|
||||
AM_RANGE(0x21, 0x21) AM_WRITE(fromance_gfxreg_w)
|
||||
AM_RANGE(0x21, 0x21) AM_READWRITE(fromance_busycheck_sub_r, fromance_gfxreg_w)
|
||||
AM_RANGE(0x22, 0x25) AM_WRITE(fromance_scroll_w)
|
||||
AM_RANGE(0x26, 0x26) AM_WRITE(fromance_busycheck_sub_w)
|
||||
AM_RANGE(0x26, 0x26) AM_READWRITE(fromance_commanddata_r, fromance_busycheck_sub_w)
|
||||
AM_RANGE(0x27, 0x27) AM_WRITE(fromance_adpcm_reset_w)
|
||||
AM_RANGE(0x28, 0x28) AM_WRITE(fromance_adpcm_w)
|
||||
AM_RANGE(0x29, 0x29) AM_WRITE(ay8910_write_port_0_w)
|
||||
AM_RANGE(0x2a, 0x2a) AM_WRITE(ay8910_control_port_0_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( fromance_writeport_sub, ADDRESS_SPACE_IO, 8 )
|
||||
static ADDRESS_MAP_START( fromance_sub_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x10, 0x10) AM_WRITE(fromance_crtc_data_w)
|
||||
AM_RANGE(0x11, 0x11) AM_WRITE(fromance_crtc_register_w)
|
||||
AM_RANGE(0x12, 0x12) AM_READ(SMH_NOP) // unknown
|
||||
AM_RANGE(0x20, 0x20) AM_WRITE(fromance_rombank_w)
|
||||
AM_RANGE(0x21, 0x21) AM_WRITE(fromance_gfxreg_w)
|
||||
AM_RANGE(0x21, 0x21) AM_READWRITE(fromance_busycheck_sub_r, fromance_gfxreg_w)
|
||||
AM_RANGE(0x22, 0x25) AM_WRITE(fromance_scroll_w)
|
||||
AM_RANGE(0x26, 0x26) AM_WRITE(fromance_busycheck_sub_w)
|
||||
AM_RANGE(0x26, 0x26) AM_READWRITE(fromance_commanddata_r, fromance_busycheck_sub_w)
|
||||
AM_RANGE(0x27, 0x27) AM_WRITE(fromance_adpcm_reset_w)
|
||||
AM_RANGE(0x28, 0x28) AM_WRITE(fromance_adpcm_w)
|
||||
AM_RANGE(0x2a, 0x2a) AM_WRITE(ym2413_register_port_0_w)
|
||||
@ -383,7 +372,6 @@ static ADDRESS_MAP_START( fromance_writeport_sub, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Port definitions
|
||||
@ -1032,7 +1020,7 @@ static MACHINE_DRIVER_START( nekkyoku )
|
||||
|
||||
MDRV_CPU_ADD("sub", Z80,12000000/2) /* 6.00 Mhz ? */
|
||||
MDRV_CPU_PROGRAM_MAP(nekkyoku_readmem_sub,nekkyoku_writemem_sub)
|
||||
MDRV_CPU_IO_MAP(nekkyoku_readport_sub,nekkyoku_writeport_sub)
|
||||
MDRV_CPU_IO_MAP(nekkyoku_sub_io_map,0)
|
||||
|
||||
MDRV_MACHINE_RESET(fromance)
|
||||
|
||||
@ -1070,7 +1058,7 @@ static MACHINE_DRIVER_START( idolmj )
|
||||
|
||||
MDRV_CPU_ADD("sub", Z80,12000000/2) /* 6.00 Mhz ? */
|
||||
MDRV_CPU_PROGRAM_MAP(fromance_readmem_sub,fromance_writemem_sub)
|
||||
MDRV_CPU_IO_MAP(fromance_readport_sub,idolmj_writeport_sub)
|
||||
MDRV_CPU_IO_MAP(idolmj_sub_io_map,0)
|
||||
|
||||
MDRV_MACHINE_RESET(fromance)
|
||||
|
||||
@ -1108,7 +1096,7 @@ static MACHINE_DRIVER_START( fromance )
|
||||
|
||||
MDRV_CPU_ADD("sub", Z80,12000000/2) /* 6.00 Mhz ? */
|
||||
MDRV_CPU_PROGRAM_MAP(fromance_readmem_sub,fromance_writemem_sub)
|
||||
MDRV_CPU_IO_MAP(fromance_readport_sub,fromance_writeport_sub)
|
||||
MDRV_CPU_IO_MAP(fromance_sub_io_map,0)
|
||||
|
||||
MDRV_MACHINE_RESET(fromance)
|
||||
|
||||
@ -1357,3 +1345,4 @@ GAME( 1989, mfunclub, 0, fromance, mfunclub, 0, ROT0, "Video System Co.",
|
||||
GAME( 1990, daiyogen, 0, fromance, daiyogen, 0, ROT0, "Video System Co.", "Mahjong Daiyogen (Japan)", 0 )
|
||||
GAME( 1991, nmsengen, 0, fromance, nmsengen, 0, ROT0, "Video System Co.", "Nekketsu Mahjong Sengen! AFTER 5 (Japan)", 0 )
|
||||
GAME( 1991, fromance, 0, fromance, fromance, 0, ROT0, "Video System Co.", "Idol-Mahjong Final Romance (Japan)", 0 )
|
||||
|
||||
|
@ -470,16 +470,11 @@ static WRITE8_HANDLER(zpu_coin_counter_w)
|
||||
coin_counter_w(offset, (data&0x40)>>6 );
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 )
|
||||
static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x4c, 0x4f) AM_READ(ls670_1_r)
|
||||
AM_RANGE(0x62, 0x62) AM_READ(zpu_inputs_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x4c, 0x4f) AM_WRITE(ls670_0_w)
|
||||
AM_RANGE(0x4c, 0x4f) AM_READWRITE(ls670_1_r, ls670_0_w)
|
||||
AM_RANGE(0x60, 0x60) AM_WRITE(zpu_bcd_decoder_w)
|
||||
AM_RANGE(0x62, 0x62) AM_READ(zpu_inputs_r)
|
||||
AM_RANGE(0x68, 0x68) AM_WRITE(zpu_coin_counter_w)
|
||||
AM_RANGE(0x6a, 0x6a) AM_WRITE(zpu_lamps_w)
|
||||
AM_RANGE(0x6e, 0x6f) AM_WRITE(zpu_led_w)
|
||||
@ -512,15 +507,10 @@ static WRITE8_HANDLER( vsb_ls273_audio_control_w )
|
||||
}
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( readport_cpu2, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x80, 0x83) AM_READ(ls670_0_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writeport_cpu2, ADDRESS_SPACE_IO, 8 )
|
||||
static ADDRESS_MAP_START( cpu2_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE(vsb_ls273_audio_control_w)
|
||||
AM_RANGE(0x80, 0x83) AM_WRITE(ls670_1_w)
|
||||
AM_RANGE(0x80, 0x83) AM_READWRITE(ls670_0_r, ls670_1_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( readmem_cpu2, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
@ -623,33 +613,28 @@ static READ8_HANDLER( cfb_port_02_r )
|
||||
return (port02_status);
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( readport_cpu3, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x02, 0x02) AM_READ(cfb_port_02_r) /* VCU status ? */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( writeport_cpu3_mb, ADDRESS_SPACE_IO, 8 )
|
||||
static ADDRESS_MAP_START( cpu3_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x01, 0x01) AM_WRITE(cfb_backgnd_color_w)
|
||||
AM_RANGE(0x02, 0x02) AM_WRITE(cfb_led_w)
|
||||
AM_RANGE(0x02, 0x02) AM_READWRITE(cfb_port_02_r, cfb_led_w) /* Read = VCU status ? */
|
||||
AM_RANGE(0x03, 0x03) AM_WRITE(cfb_zpu_int_req_set_w)
|
||||
AM_RANGE(0x04, 0x04) AM_WRITE(cfb_rom_bank_sel_w)
|
||||
AM_RANGE(0x05, 0x05) AM_WRITE(cfb_vbank_w) //visible/writable videopage select?
|
||||
ADDRESS_MAP_END
|
||||
|
||||
/* Great Guns has a little different banking layout */
|
||||
static ADDRESS_MAP_START( writeport_cpu3_gg, ADDRESS_SPACE_IO, 8 )
|
||||
|
||||
static ADDRESS_MAP_START( gg_cpu3_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE(SMH_NOP)
|
||||
AM_RANGE(0x01, 0x01) AM_WRITE(cfb_backgnd_color_w)
|
||||
AM_RANGE(0x02, 0x02) AM_WRITE(cfb_led_w)
|
||||
AM_RANGE(0x02, 0x02) AM_READWRITE(cfb_port_02_r, cfb_led_w) /* Read = VCU status ? */
|
||||
AM_RANGE(0x03, 0x03) AM_WRITE(cfb_zpu_int_req_set_w)
|
||||
AM_RANGE(0x04, 0x04) AM_WRITE(cfb_rom_bank_sel_w_gg)
|
||||
AM_RANGE(0x05, 0x05) AM_WRITE(cfb_vbank_w) //visible/writable videopage select?
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
static UINT8 VCU_video_reg[4];
|
||||
static WRITE8_HANDLER( VCU_video_reg_w )
|
||||
{
|
||||
@ -1089,23 +1074,17 @@ static WRITE8_HANDLER( main_sound_w )
|
||||
}
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( gg_readport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x62, 0x62) AM_READ(zpu_inputs_r)
|
||||
ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( gg_writeport, ADDRESS_SPACE_IO, 8 )
|
||||
static ADDRESS_MAP_START( gg_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x4c, 0x4c) AM_WRITE(main_sound_w)
|
||||
AM_RANGE(0x60, 0x60) AM_WRITE(zpu_bcd_decoder_w)
|
||||
AM_RANGE(0x62, 0x62) AM_READ(zpu_inputs_r)
|
||||
AM_RANGE(0x66, 0x66) AM_WRITE(SMH_NOP)
|
||||
AM_RANGE(0x68, 0x68) AM_WRITE(SMH_NOP)
|
||||
|
||||
AM_RANGE(0x6e, 0x6f) AM_WRITE(zpu_led_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
|
||||
/* frequency is 14.318 MHz/16/16/16/16 */
|
||||
static INTERRUPT_GEN( sound_interrupt )
|
||||
{
|
||||
@ -1495,16 +1474,16 @@ static MACHINE_DRIVER_START( mazerbla )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("main", Z80, 4000000) /* 4 MHz, no NMI, IM2 - vectors at 0xf8, 0xfa, 0xfc */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_IO_MAP(readport,writeport)
|
||||
MDRV_CPU_IO_MAP(io_map,0)
|
||||
|
||||
MDRV_CPU_ADD("sub", Z80, 4000000) /* 4 MHz, NMI, IM1 INT */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem_cpu2,writemem_cpu2)
|
||||
MDRV_CPU_IO_MAP(readport_cpu2,writeport_cpu2)
|
||||
MDRV_CPU_IO_MAP(cpu2_io_map,0)
|
||||
//MDRV_CPU_PERIODIC_INT(irq0_line_hold, 400 ) /* frequency in Hz */
|
||||
|
||||
MDRV_CPU_ADD("sub2", Z80, 4000000) /* 4 MHz, no NMI, IM1 INT */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem_cpu3,writemem_cpu3)
|
||||
MDRV_CPU_IO_MAP(readport_cpu3,writeport_cpu3_mb)
|
||||
MDRV_CPU_IO_MAP(cpu3_io_map,0)
|
||||
/* (vblank related ??) int generated by a custom video processor
|
||||
and cleared on ANY port access.
|
||||
but handled differently for now
|
||||
@ -1538,7 +1517,7 @@ static MACHINE_DRIVER_START( greatgun )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("main", Z80, 4000000) /* 4 MHz, no NMI, IM2 - vectors at 0xf8, 0xfa, 0xfc */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_IO_MAP(gg_readport,gg_writeport)
|
||||
MDRV_CPU_IO_MAP(gg_io_map,0)
|
||||
|
||||
MDRV_CPU_ADD("sub", Z80, 14318000 / 4) /* 3.579500 MHz, NMI - caused by sound command write, periodic INT */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
|
||||
@ -1546,7 +1525,7 @@ static MACHINE_DRIVER_START( greatgun )
|
||||
|
||||
MDRV_CPU_ADD("sub2", Z80, 4000000) /* 4 MHz, no NMI, IM1 INT */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem_cpu3,writemem_cpu3)
|
||||
MDRV_CPU_IO_MAP(readport_cpu3,writeport_cpu3_gg)
|
||||
MDRV_CPU_IO_MAP(gg_cpu3_io_map,0)
|
||||
/* (vblank related ??) int generated by a custom video processor
|
||||
and cleared on ANY port access.
|
||||
but handled differently for now
|
||||
@ -1682,3 +1661,5 @@ ROM_END
|
||||
GAME( 1983, mazerbla, 0, mazerbla, mazerbla, 0, ROT0, "Stern", "Mazer Blazer (set 1)", GAME_IMPERFECT_GRAPHICS |GAME_NO_SOUND | GAME_NOT_WORKING )
|
||||
GAME( 1983, mzrblzra, mazerbla, mazerbla, mazerbla, 0, ROT0, "Stern", "Mazer Blazer (set 2)", GAME_IMPERFECT_GRAPHICS |GAME_NO_SOUND | GAME_NOT_WORKING )
|
||||
GAME( 1983, greatgun, 0, greatgun, greatgun, 0, ROT0, "Stern", "Great Guns", GAME_IMPERFECT_GRAPHICS )
|
||||
|
||||
|
||||
|
@ -385,30 +385,21 @@ static WRITE8_HANDLER( bssoccer_DAC_2_w )
|
||||
dac_data_w( 2 + (offset & 1), (data & 0xf) * 0x11 );
|
||||
}
|
||||
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( bssoccer_pcm_1_readport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_READ(soundlatch2_r ) // From The Sound Z80
|
||||
ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( bssoccer_pcm_1_writeport, ADDRESS_SPACE_IO, 8 )
|
||||
static ADDRESS_MAP_START( bssoccer_pcm_1_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_READ(soundlatch2_r ) // From The Sound Z80
|
||||
AM_RANGE(0x00, 0x01) AM_WRITE(bssoccer_DAC_1_w ) // 2 x DAC
|
||||
AM_RANGE(0x03, 0x03) AM_WRITE(bssoccer_pcm_1_bankswitch_w ) // Rom Bank
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( bssoccer_pcm_2_readport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_READ(soundlatch3_r ) // From The Sound Z80
|
||||
ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( bssoccer_pcm_2_writeport, ADDRESS_SPACE_IO, 8 )
|
||||
static ADDRESS_MAP_START( bssoccer_pcm_2_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_READ(soundlatch3_r ) // From The Sound Z80
|
||||
AM_RANGE(0x00, 0x01) AM_WRITE(bssoccer_DAC_2_w ) // 2 x DAC
|
||||
AM_RANGE(0x03, 0x03) AM_WRITE(bssoccer_pcm_2_bankswitch_w ) // Rom Bank
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
Ultra Balloon
|
||||
***************************************************************************/
|
||||
@ -426,25 +417,21 @@ static WRITE8_HANDLER( uballoon_pcm_1_bankswitch_w )
|
||||
/* Memory maps: Yes, *no* RAM */
|
||||
|
||||
static ADDRESS_MAP_START( uballoon_pcm_1_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x03ff) AM_READ(SMH_ROM ) // ROM
|
||||
AM_RANGE(0x0000, 0x03ff) AM_READ(SMH_ROM ) // ROM
|
||||
AM_RANGE(0x0400, 0xffff) AM_READ(SMH_BANK1 ) // Banked ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( uballoon_pcm_1_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0xffff) AM_WRITE(SMH_ROM ) // ROM
|
||||
AM_RANGE(0x0000, 0xffff) AM_WRITE(SMH_ROM ) // ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( uballoon_pcm_1_readport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_READ(soundlatch2_r ) // From The Sound Z80
|
||||
ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( uballoon_pcm_1_writeport, ADDRESS_SPACE_IO, 8 )
|
||||
static ADDRESS_MAP_START( uballoon_pcm_1_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_READ(soundlatch2_r ) // From The Sound Z80
|
||||
AM_RANGE(0x00, 0x01) AM_WRITE(bssoccer_DAC_1_w ) // 2 x DAC
|
||||
AM_RANGE(0x03, 0x03) AM_WRITE(uballoon_pcm_1_bankswitch_w ) // Rom Bank
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static MACHINE_RESET(uballoon)
|
||||
{
|
||||
uballoon_pcm_1_bankswitch_w(machine, 0, 0);
|
||||
@ -859,11 +846,11 @@ static MACHINE_DRIVER_START( bssoccer )
|
||||
|
||||
MDRV_CPU_ADD("pcm1", Z80, 5000000) /* Z80B */
|
||||
MDRV_CPU_PROGRAM_MAP(bssoccer_pcm_1_readmem,bssoccer_pcm_1_writemem)
|
||||
MDRV_CPU_IO_MAP(bssoccer_pcm_1_readport,bssoccer_pcm_1_writeport)
|
||||
MDRV_CPU_IO_MAP(bssoccer_pcm_1_io_map,0)
|
||||
|
||||
MDRV_CPU_ADD("pcm2", Z80, 5000000) /* Z80B */
|
||||
MDRV_CPU_PROGRAM_MAP(bssoccer_pcm_2_readmem,bssoccer_pcm_2_writemem)
|
||||
MDRV_CPU_IO_MAP(bssoccer_pcm_2_readport,bssoccer_pcm_2_writeport)
|
||||
MDRV_CPU_IO_MAP(bssoccer_pcm_2_io_map,0)
|
||||
|
||||
MDRV_INTERLEAVE(100)
|
||||
|
||||
@ -919,7 +906,7 @@ static MACHINE_DRIVER_START( uballoon )
|
||||
|
||||
MDRV_CPU_ADD("pcm", Z80, 5000000) /* ? */
|
||||
MDRV_CPU_PROGRAM_MAP(uballoon_pcm_1_readmem,uballoon_pcm_1_writemem)
|
||||
MDRV_CPU_IO_MAP(uballoon_pcm_1_readport,uballoon_pcm_1_writeport)
|
||||
MDRV_CPU_IO_MAP(uballoon_pcm_1_io_map,0)
|
||||
|
||||
/* 2nd PCM Z80 missing */
|
||||
|
||||
@ -970,7 +957,7 @@ static MACHINE_DRIVER_START( sunaq )
|
||||
|
||||
MDRV_CPU_ADD("pcm", Z80, 24000000/4) /* Z80B */
|
||||
MDRV_CPU_PROGRAM_MAP(bssoccer_pcm_1_readmem,bssoccer_pcm_1_writemem)
|
||||
MDRV_CPU_IO_MAP(bssoccer_pcm_1_readport,bssoccer_pcm_1_writeport)
|
||||
MDRV_CPU_IO_MAP(bssoccer_pcm_1_io_map,0)
|
||||
|
||||
/* 2nd PCM Z80 missing */
|
||||
|
||||
@ -1345,3 +1332,4 @@ GAME( 1994, bestbest, 0, bestbest, bestbest, 0, ROT0, "SunA", "Best Of Be
|
||||
GAME( 1994, sunaq, 0, sunaq, sunaq, 0, ROT0, "SunA", "SunA Quiz 6000 Academy (940620-6)", 0 ) // Date/Version on-screen is 940620-6, but in the program rom it's 1994,6,30 K.H.T V6.00
|
||||
GAME( 1996, bssoccer, 0, bssoccer, bssoccer, 0, ROT0, "SunA", "Back Street Soccer", 0 )
|
||||
GAME( 1996, uballoon, 0, uballoon, uballoon, uballoon, ROT0, "SunA", "Ultra Balloon", 0 )
|
||||
|
||||
|
@ -263,27 +263,24 @@ static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xc000, 0xcfff) AM_WRITE(SMH_RAM)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( sound_readport, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x04, 0x04) AM_READ(soundlatch_clear_r)
|
||||
AM_RANGE(0x06, 0x06) AM_READ(soundlatch_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_writeport_3526, ADDRESS_SPACE_IO, 8 )
|
||||
static ADDRESS_MAP_START( sound_3526_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE(ym3526_control_port_0_w)
|
||||
AM_RANGE(0x01, 0x01) AM_WRITE(ym3526_write_port_0_w)
|
||||
AM_RANGE(0x02, 0x02) AM_WRITE(dac_0_signed_data_w)
|
||||
AM_RANGE(0x03, 0x03) AM_WRITE(dac_1_signed_data_w)
|
||||
AM_RANGE(0x04, 0x04) AM_READ(soundlatch_clear_r)
|
||||
AM_RANGE(0x06, 0x06) AM_READ(soundlatch_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_writeport_2203, ADDRESS_SPACE_IO, 8 )
|
||||
static ADDRESS_MAP_START( sound_2203_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITE(ym2203_control_port_0_w)
|
||||
AM_RANGE(0x01, 0x01) AM_WRITE(ym2203_write_port_0_w)
|
||||
AM_RANGE(0x02, 0x02) AM_WRITE(dac_0_signed_data_w)
|
||||
AM_RANGE(0x03, 0x03) AM_WRITE(dac_1_signed_data_w)
|
||||
AM_RANGE(0x04, 0x04) AM_READ(soundlatch_clear_r)
|
||||
AM_RANGE(0x06, 0x06) AM_READ(soundlatch_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( terracre )
|
||||
@ -568,7 +565,7 @@ static MACHINE_DRIVER_START( amazon )
|
||||
|
||||
MDRV_CPU_ADD("audio", Z80, 4000000) /* 4 MHz???? */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
|
||||
MDRV_CPU_IO_MAP(sound_readport,sound_writeport_3526)
|
||||
MDRV_CPU_IO_MAP(sound_3526_io_map,0)
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,128) /* ??? */
|
||||
|
||||
MDRV_MACHINE_START(amazon)
|
||||
@ -607,7 +604,7 @@ static MACHINE_DRIVER_START( ym3526 )
|
||||
|
||||
MDRV_CPU_ADD("audio", Z80, 4000000) /* 4 MHz???? */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
|
||||
MDRV_CPU_IO_MAP(sound_readport,sound_writeport_3526)
|
||||
MDRV_CPU_IO_MAP(sound_3526_io_map,0)
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,128) /* ??? */
|
||||
|
||||
|
||||
@ -644,7 +641,7 @@ static MACHINE_DRIVER_START( ym2203 )
|
||||
|
||||
MDRV_CPU_ADD("audio", Z80, 4000000) /* 4 MHz???? */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
|
||||
MDRV_CPU_IO_MAP(sound_readport,sound_writeport_2203)
|
||||
MDRV_CPU_IO_MAP(sound_2203_io_map,0)
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,128) /* ??? */
|
||||
|
||||
|
||||
@ -1034,3 +1031,4 @@ GAME( 1986, amatelas, amazon, amazon, amazon, amatelas, ROT270, "Nichibuts
|
||||
GAME( 1987, horekid, 0, amazon, horekid, horekid, ROT270, "Nichibutsu", "Kid no Hore Hore Daisakusen", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1987, horekidb, horekid, amazon, horekid, horekid, ROT270, "bootleg", "Kid no Hore Hore Daisakusen (bootleg)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1987, boobhack, horekid, amazon, horekid, horekid, ROT270, "bootleg", "Booby Kids (Italian manufactured graphic hack / bootleg of Kid no Hore Hore Daisakusen (bootleg))", GAME_SUPPORTS_SAVE )
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user