Memory map merge for drivers: blmbycar, blockade, blockhl, blockout, bombjack, boogwing, and bottom9.

This commit is contained in:
Andrew Gardner 2008-08-02 05:31:21 +00:00
parent 6d5941e085
commit 3ea67aa8c9
7 changed files with 184 additions and 291 deletions

View File

@ -113,45 +113,31 @@ static READ16_HANDLER( blmbycar_opt_wheel_r )
***************************************************************************/
static ADDRESS_MAP_START( blmbycar_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM ) // ROM
AM_RANGE(0xfec000, 0xfeffff) AM_READ(SMH_RAM ) // RAM
AM_RANGE(0x200000, 0x2005ff) AM_READ(SMH_RAM ) // Palette
AM_RANGE(0x200600, 0x203fff) AM_READ(SMH_RAM ) //
AM_RANGE(0x204000, 0x2045ff) AM_READ(SMH_RAM ) // Palette
AM_RANGE(0x204600, 0x207fff) AM_READ(SMH_RAM ) //
AM_RANGE(0x104000, 0x105fff) AM_READ(SMH_RAM ) // Layer 1
AM_RANGE(0x106000, 0x107fff) AM_READ(SMH_RAM ) // Layer 0
AM_RANGE(0x440000, 0x441fff) AM_READ(SMH_RAM ) //
AM_RANGE(0x444000, 0x445fff) AM_READ(SMH_RAM ) // Sprites (size?)
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("P1_P2")
AM_RANGE(0x700004, 0x700005) AM_READ(blmbycar_opt_wheel_r ) // Wheel (optical)
AM_RANGE(0x700006, 0x700007) AM_READ_PORT("UNK")
AM_RANGE(0x700008, 0x700009) AM_READ(blmbycar_pot_wheel_r ) // Wheel (potentiometer)
AM_RANGE(0x70000e, 0x70000f) AM_READ(OKIM6295_status_0_lsb_r ) // Sound
ADDRESS_MAP_END
static ADDRESS_MAP_START( blmbycar_writemem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_WRITE(SMH_ROM ) // ROM
AM_RANGE(0xfec000, 0xfeffff) AM_WRITE(SMH_RAM ) // RAM
AM_RANGE(0x100000, 0x103fff) AM_WRITE(SMH_RAM ) //
AM_RANGE(0x104000, 0x105fff) AM_WRITE(blmbycar_vram_1_w) AM_BASE(&blmbycar_vram_1 ) // Layer 1
AM_RANGE(0x106000, 0x107fff) AM_WRITE(blmbycar_vram_0_w) AM_BASE(&blmbycar_vram_0 ) // Layer 0
AM_RANGE(0x108000, 0x10bfff) AM_WRITE(SMH_RAM ) //
AM_RANGE(0x10c000, 0x10c003) AM_WRITE(SMH_RAM) AM_BASE(&blmbycar_scroll_1 ) // Scroll 1
AM_RANGE(0x10c004, 0x10c007) AM_WRITE(SMH_RAM) AM_BASE(&blmbycar_scroll_0 ) // Scroll 0
AM_RANGE(0x200000, 0x2005ff) AM_WRITE(blmbycar_palette_w ) // Palette
AM_RANGE(0x200600, 0x203fff) AM_WRITE(SMH_RAM ) //
AM_RANGE(0x204000, 0x2045ff) AM_WRITE(blmbycar_palette_w) AM_BASE(&paletteram16 ) // Palette
AM_RANGE(0x204600, 0x207fff) AM_WRITE(SMH_RAM ) //
AM_RANGE(0x440000, 0x441fff) AM_WRITE(SMH_RAM ) //
AM_RANGE(0x444000, 0x445fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size ) // Sprites (size?)
AM_RANGE(0x70000a, 0x70000b) AM_WRITE(SMH_NOP ) // ? Wheel
AM_RANGE(0x70000c, 0x70000d) AM_WRITE(blmbycar_okibank_w ) // Sound
AM_RANGE(0x70000e, 0x70000f) AM_WRITE(OKIM6295_data_0_lsb_w ) //
AM_RANGE(0x70006a, 0x70006b) AM_WRITE(blmbycar_pot_wheel_reset_w ) // Wheel (potentiometer)
AM_RANGE(0x70007a, 0x70007b) AM_WRITE(blmbycar_pot_wheel_shift_w ) //
static ADDRESS_MAP_START( blmbycar_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0xfec000, 0xfeffff) AM_RAM
AM_RANGE(0x100000, 0x103fff) AM_WRITE(SMH_RAM ) //
AM_RANGE(0x104000, 0x105fff) AM_RAM_WRITE(blmbycar_vram_1_w) AM_BASE(&blmbycar_vram_1 ) // Layer 1
AM_RANGE(0x106000, 0x107fff) AM_RAM_WRITE(blmbycar_vram_0_w) AM_BASE(&blmbycar_vram_0 ) // Layer 0
AM_RANGE(0x108000, 0x10bfff) AM_WRITE(SMH_RAM ) //
AM_RANGE(0x10c000, 0x10c003) AM_WRITE(SMH_RAM) AM_BASE(&blmbycar_scroll_1 ) // Scroll 1
AM_RANGE(0x10c004, 0x10c007) AM_WRITE(SMH_RAM) AM_BASE(&blmbycar_scroll_0 ) // Scroll 0
AM_RANGE(0x200000, 0x2005ff) AM_RAM_WRITE(blmbycar_palette_w ) // Palette
AM_RANGE(0x200600, 0x203fff) AM_RAM
AM_RANGE(0x204000, 0x2045ff) AM_RAM_WRITE(blmbycar_palette_w) AM_BASE(&paletteram16 ) // Palette
AM_RANGE(0x204600, 0x207fff) AM_RAM
AM_RANGE(0x440000, 0x441fff) AM_RAM
AM_RANGE(0x444000, 0x445fff) AM_RAM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size ) // Sprites (size?)
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW" )
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("P1_P2" )
AM_RANGE(0x700004, 0x700005) AM_READ(blmbycar_opt_wheel_r ) // Wheel (optical)
AM_RANGE(0x700006, 0x700007) AM_READ_PORT("UNK" )
AM_RANGE(0x700008, 0x700009) AM_READ(blmbycar_pot_wheel_r ) // Wheel (potentiometer)
AM_RANGE(0x70000a, 0x70000b) AM_WRITE(SMH_NOP ) // ? Wheel
AM_RANGE(0x70000c, 0x70000d) AM_WRITE(blmbycar_okibank_w ) // Sound
AM_RANGE(0x70000e, 0x70000f) AM_READWRITE(OKIM6295_status_0_lsb_r, OKIM6295_data_0_lsb_w) // Sound
AM_RANGE(0x70006a, 0x70006b) AM_WRITE(blmbycar_pot_wheel_reset_w ) // Wheel (potentiometer)
AM_RANGE(0x70007a, 0x70007b) AM_WRITE(blmbycar_pot_wheel_shift_w ) //
ADDRESS_MAP_END
static READ16_HANDLER( waterball_unk_r )
@ -163,42 +149,28 @@ static READ16_HANDLER( waterball_unk_r )
return retvalue;
}
static ADDRESS_MAP_START( watrball_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM ) // ROM
AM_RANGE(0xfec000, 0xfeffff) AM_READ(SMH_RAM ) // RAM
AM_RANGE(0x200000, 0x2005ff) AM_READ(SMH_RAM ) // Palette
AM_RANGE(0x200600, 0x203fff) AM_READ(SMH_RAM ) //
AM_RANGE(0x204000, 0x2045ff) AM_READ(SMH_RAM ) // Palette
AM_RANGE(0x204600, 0x207fff) AM_READ(SMH_RAM ) //
AM_RANGE(0x104000, 0x105fff) AM_READ(SMH_RAM ) // Layer 1
AM_RANGE(0x106000, 0x107fff) AM_READ(SMH_RAM ) // Layer 0
AM_RANGE(0x440000, 0x441fff) AM_READ(SMH_RAM ) //
AM_RANGE(0x444000, 0x445fff) AM_READ(SMH_RAM ) // Sprites (size?)
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("P1_P2")
AM_RANGE(0x700006, 0x700007) AM_READ(SMH_NOP ) // read
AM_RANGE(0x700008, 0x700009) AM_READ(waterball_unk_r ) // 0x0008 must toggle
AM_RANGE(0x70000e, 0x70000f) AM_READ(OKIM6295_status_0_lsb_r ) // Sound
ADDRESS_MAP_END
static ADDRESS_MAP_START( watrball_writemem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_WRITE(SMH_ROM ) // ROM
AM_RANGE(0xfec000, 0xfeffff) AM_WRITE(SMH_RAM ) // RAM
AM_RANGE(0x100000, 0x103fff) AM_WRITE(SMH_RAM ) //
AM_RANGE(0x104000, 0x105fff) AM_WRITE(blmbycar_vram_1_w) AM_BASE(&blmbycar_vram_1 ) // Layer 1
AM_RANGE(0x106000, 0x107fff) AM_WRITE(blmbycar_vram_0_w) AM_BASE(&blmbycar_vram_0 ) // Layer 0
AM_RANGE(0x108000, 0x10bfff) AM_WRITE(SMH_RAM ) //
AM_RANGE(0x10c000, 0x10c003) AM_WRITE(SMH_RAM) AM_BASE(&blmbycar_scroll_1 ) // Scroll 1
AM_RANGE(0x10c004, 0x10c007) AM_WRITE(SMH_RAM) AM_BASE(&blmbycar_scroll_0 ) // Scroll 0
AM_RANGE(0x200000, 0x2005ff) AM_WRITE(blmbycar_palette_w ) // Palette
AM_RANGE(0x200600, 0x203fff) AM_WRITE(SMH_RAM ) //
AM_RANGE(0x204000, 0x2045ff) AM_WRITE(blmbycar_palette_w) AM_BASE(&paletteram16 ) // Palette
AM_RANGE(0x204600, 0x207fff) AM_WRITE(SMH_RAM ) //
AM_RANGE(0x440000, 0x441fff) AM_WRITE(SMH_RAM ) //
AM_RANGE(0x444000, 0x445fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size ) // Sprites (size?)
AM_RANGE(0x70000a, 0x70000b) AM_WRITE(SMH_NOP ) // ?? busy
AM_RANGE(0x70000c, 0x70000d) AM_WRITE(blmbycar_okibank_w ) // Sound
AM_RANGE(0x70000e, 0x70000f) AM_WRITE(OKIM6295_data_0_lsb_w ) //
static ADDRESS_MAP_START( watrball_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0xfec000, 0xfeffff) AM_RAM
AM_RANGE(0x100000, 0x103fff) AM_WRITE(SMH_RAM ) //
AM_RANGE(0x104000, 0x105fff) AM_RAM_WRITE(blmbycar_vram_1_w) AM_BASE(&blmbycar_vram_1 ) // Layer 1
AM_RANGE(0x106000, 0x107fff) AM_RAM_WRITE(blmbycar_vram_0_w) AM_BASE(&blmbycar_vram_0 ) // Layer 0
AM_RANGE(0x108000, 0x10bfff) AM_WRITE(SMH_RAM ) //
AM_RANGE(0x10c000, 0x10c003) AM_WRITE(SMH_RAM) AM_BASE(&blmbycar_scroll_1 ) // Scroll 1
AM_RANGE(0x10c004, 0x10c007) AM_WRITE(SMH_RAM) AM_BASE(&blmbycar_scroll_0 ) // Scroll 0
AM_RANGE(0x200000, 0x2005ff) AM_RAM_WRITE(blmbycar_palette_w ) // Palette
AM_RANGE(0x200600, 0x203fff) AM_RAM
AM_RANGE(0x204000, 0x2045ff) AM_RAM_WRITE(blmbycar_palette_w) AM_BASE(&paletteram16 ) // Palette
AM_RANGE(0x204600, 0x207fff) AM_RAM
AM_RANGE(0x440000, 0x441fff) AM_RAM
AM_RANGE(0x444000, 0x445fff) AM_RAM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size ) // Sprites (size?)
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW" )
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("P1_P2" )
AM_RANGE(0x700006, 0x700007) AM_READ(SMH_NOP ) // read
AM_RANGE(0x700008, 0x700009) AM_READ(waterball_unk_r ) // 0x0008 must toggle
AM_RANGE(0x70000a, 0x70000b) AM_WRITE(SMH_NOP ) // ?? busy
AM_RANGE(0x70000c, 0x70000d) AM_WRITE(blmbycar_okibank_w ) // Sound
AM_RANGE(0x70000e, 0x70000f) AM_READWRITE(OKIM6295_status_0_lsb_r, OKIM6295_data_0_lsb_w) //
ADDRESS_MAP_END
/***************************************************************************
@ -367,7 +339,7 @@ static const gfx_layout layout_16x16x4 =
/* Layers both use the first $20 color codes. Sprites the next $10 */
static GFXDECODE_START( blmbycar )
GFXDECODE_ENTRY( "gfx1", 0, layout_16x16x4, 0x0, 0x30 ) // [0] Layers + Sprites
GFXDECODE_ENTRY( "sprites", 0, layout_16x16x4, 0x0, 0x30 ) // [0] Layers + Sprites
GFXDECODE_END
@ -384,7 +356,7 @@ static MACHINE_DRIVER_START( blmbycar )
/* basic machine hardware */
MDRV_CPU_ADD("main", M68000, 10000000) /* ? */
MDRV_CPU_PROGRAM_MAP(blmbycar_readmem,blmbycar_writemem)
MDRV_CPU_PROGRAM_MAP(blmbycar_map,0)
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)
/* video hardware */
@ -414,7 +386,7 @@ static MACHINE_DRIVER_START( watrball )
/* basic machine hardware */
MDRV_CPU_ADD("main", M68000, 10000000) /* ? */
MDRV_CPU_PROGRAM_MAP(watrball_readmem,watrball_writemem)
MDRV_CPU_PROGRAM_MAP(watrball_map,0)
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)
/* video hardware */
@ -467,7 +439,7 @@ ROM_START( blmbycar )
ROM_LOAD16_BYTE( "bcrom4.bin", 0x000000, 0x080000, CRC(06d490ba) SHA1(6d113561b474bf613c6b91c9525a52025ae65ab7) )
ROM_LOAD16_BYTE( "bcrom6.bin", 0x000001, 0x080000, CRC(33aca664) SHA1(04fff492654d3edac62e9d35808e5946bcc78cbb) )
ROM_REGION( 0x200000, "gfx1", ROMREGION_DISPOSE ) /* Sprites */
ROM_REGION( 0x200000, "sprites", ROMREGION_DISPOSE ) /* Sprites */
ROM_LOAD( "bc_rom7", 0x000000, 0x080000, CRC(e55ca79b) SHA1(4453a6ae0518832f437ab701c28cb2f32920f8ba) )
ROM_LOAD( "bc_rom8", 0x080000, 0x080000, CRC(cdf38c96) SHA1(3273c29b6a01a7296d06fc653120f8c615195d2c) )
ROM_LOAD( "bc_rom9", 0x100000, 0x080000, CRC(0337ab3d) SHA1(18c72cd640c7b599390dffaeb670f5832202bf06) )
@ -484,7 +456,7 @@ ROM_START( blmbycau )
ROM_LOAD16_BYTE( "bc_rom4", 0x000000, 0x080000, CRC(76f054a2) SHA1(198efd152b13033e5249119ca48b9e0f6351b0b9) )
ROM_LOAD16_BYTE( "bc_rom6", 0x000001, 0x080000, CRC(2570b4c5) SHA1(706465950023a6ef7c85ceb9c76246d7556b3859) )
ROM_REGION( 0x200000, "gfx1", ROMREGION_DISPOSE ) /* Sprites */
ROM_REGION( 0x200000, "sprites", ROMREGION_DISPOSE ) /* Sprites */
ROM_LOAD( "bc_rom7", 0x000000, 0x080000, CRC(e55ca79b) SHA1(4453a6ae0518832f437ab701c28cb2f32920f8ba) )
ROM_LOAD( "bc_rom8", 0x080000, 0x080000, CRC(cdf38c96) SHA1(3273c29b6a01a7296d06fc653120f8c615195d2c) )
ROM_LOAD( "bc_rom9", 0x100000, 0x080000, CRC(0337ab3d) SHA1(18c72cd640c7b599390dffaeb670f5832202bf06) )
@ -517,7 +489,7 @@ ROM_START( watrball )
ROM_LOAD16_BYTE( "rom4.bin", 0x000000, 0x020000, CRC(bfbfa720) SHA1(d6d14c0ba545eb7adee7190da2d3db1c6dd00d75) )
ROM_LOAD16_BYTE( "rom6.bin", 0x000001, 0x020000, CRC(acff9b01) SHA1(b85671bcc4f03fdf05eb1c9b5d4143e33ec1d7db) )
ROM_REGION( 0x200000, "gfx1", ROMREGION_DISPOSE ) /* Sprites */
ROM_REGION( 0x200000, "sprites", ROMREGION_DISPOSE ) /* Sprites */
ROM_LOAD( "rom7.bin", 0x000000, 0x080000, CRC(e7e5c311) SHA1(5af1a666bf23c5505d120d81fb942f5c49341861) )
ROM_LOAD( "rom8.bin", 0x080000, 0x080000, CRC(fd27ce6e) SHA1(a472a8cc25818427d2870518649780146e51835b) )
ROM_LOAD( "rom9.bin", 0x100000, 0x080000, CRC(122cc0ad) SHA1(27cdb19fa082089e47c5cdb44742cfd93aa23a00) )

View File

@ -109,27 +109,17 @@ static WRITE8_HANDLER( blockade_coin_latch_w )
}
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x07ff) AM_READ(SMH_ROM) AM_MIRROR(0x6000)
AM_RANGE(0x8000, 0x83ff) AM_READ(SMH_RAM) AM_MIRROR(0x6c00)
AM_RANGE(0x9000, 0x90ff) AM_READ(SMH_RAM) AM_MIRROR(0x6f00)
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x07ff) AM_ROM AM_MIRROR(0x6000)
AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(blockade_videoram_w) AM_BASE(&videoram) AM_MIRROR(0x6c00)
AM_RANGE(0x9000, 0x90ff) AM_RAM AM_MIRROR(0x6f00)
ADDRESS_MAP_END
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x07ff) AM_WRITE(SMH_ROM) AM_MIRROR(0x6000)
AM_RANGE(0x8000, 0x83ff) AM_WRITE(blockade_videoram_w) AM_BASE(&videoram) AM_MIRROR(0x6c00)
AM_RANGE(0x9000, 0x90ff) AM_WRITE(SMH_RAM) AM_MIRROR(0x6f00)
ADDRESS_MAP_END
static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0x01, 0x01) AM_READ(blockade_input_port_0_r)
static ADDRESS_MAP_START( main_io_map, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0x01, 0x01) AM_READWRITE(blockade_input_port_0_r, blockade_coin_latch_w)
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN1")
AM_RANGE(0x04, 0x04) AM_READ_PORT("IN2")
ADDRESS_MAP_END
static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0x01, 0x01) AM_WRITE(blockade_coin_latch_w)
AM_RANGE(0x02, 0x02) AM_WRITE(blockade_sound_freq_w)
AM_RANGE(0x04, 0x04) AM_READ_PORT("IN2")
AM_RANGE(0x04, 0x04) AM_WRITE(blockade_env_on_w)
AM_RANGE(0x08, 0x08) AM_WRITE(blockade_env_off_w)
ADDRESS_MAP_END
@ -450,8 +440,8 @@ static MACHINE_DRIVER_START( blockade )
/* basic machine hardware */
MDRV_CPU_ADD("main", 8080, 2079000)
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
MDRV_CPU_IO_MAP(readport,writeport)
MDRV_CPU_PROGRAM_MAP(main_map,0)
MDRV_CPU_IO_MAP(main_io_map,0)
MDRV_CPU_VBLANK_INT("main", blockade_interrupt)
/* video hardware */

View File

@ -66,45 +66,32 @@ static WRITE8_HANDLER( blockhl_sh_irqtrigger_w )
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1f84, 0x1f84) AM_WRITE(soundlatch_w)
AM_RANGE(0x1f88, 0x1f88) AM_WRITE(blockhl_sh_irqtrigger_w)
AM_RANGE(0x1f8c, 0x1f8c) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1f94, 0x1f94) AM_READ_PORT("DSW3")
AM_RANGE(0x1f95, 0x1f95) AM_READ_PORT("P1")
AM_RANGE(0x1f96, 0x1f96) AM_READ_PORT("P2")
AM_RANGE(0x1f97, 0x1f97) AM_READ_PORT("DSW1")
AM_RANGE(0x1f98, 0x1f98) AM_READ_PORT("DSW2")
AM_RANGE(0x0000, 0x3fff) AM_READ(K052109_051960_r)
AM_RANGE(0x4000, 0x57ff) AM_READ(SMH_RAM)
AM_RANGE(0x5800, 0x5fff) AM_READ(bankedram_r)
AM_RANGE(0x6000, 0x7fff) AM_READ(SMH_BANK1)
AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM)
AM_RANGE(0x0000, 0x3fff) AM_READWRITE(K052109_051960_r, K052109_051960_w)
AM_RANGE(0x4000, 0x57ff) AM_RAM
AM_RANGE(0x5800, 0x5fff) AM_READWRITE(bankedram_r, bankedram_w) AM_BASE(&ram)
AM_RANGE(0x6000, 0x7fff) AM_READWRITE(SMH_BANK1, SMH_ROM)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1f84, 0x1f84) AM_WRITE(soundlatch_w)
AM_RANGE(0x1f88, 0x1f88) AM_WRITE(blockhl_sh_irqtrigger_w)
AM_RANGE(0x1f8c, 0x1f8c) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x0000, 0x3fff) AM_WRITE(K052109_051960_w)
AM_RANGE(0x4000, 0x57ff) AM_WRITE(SMH_RAM)
AM_RANGE(0x5800, 0x5fff) AM_WRITE(bankedram_w) AM_BASE(&ram)
AM_RANGE(0x6000, 0x7fff) AM_WRITE(SMH_ROM)
AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM)
static ADDRESS_MAP_START( audio_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xc001, 0xc001) AM_READ(YM2151_status_port_0_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM)
AM_RANGE(0xc000, 0xc000) AM_WRITE(YM2151_register_port_0_w)
AM_RANGE(0xc001, 0xc001) AM_WRITE(YM2151_data_port_0_w)
AM_RANGE(0xc001, 0xc001) AM_READWRITE(YM2151_status_port_0_r, YM2151_data_port_0_w)
AM_RANGE(0xe00c, 0xe00d) AM_WRITE(SMH_NOP) /* leftover from missing 007232? */
ADDRESS_MAP_END
/***************************************************************************
Input Ports
@ -209,11 +196,11 @@ static MACHINE_DRIVER_START( blockhl )
/* basic machine hardware */
MDRV_CPU_ADD("main", KONAMI,3000000) /* Konami custom 052526 */
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
MDRV_CPU_PROGRAM_MAP(main_map,0)
MDRV_CPU_VBLANK_INT("main", blockhl_interrupt)
MDRV_CPU_ADD("audio", Z80, 3579545)
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
MDRV_CPU_PROGRAM_MAP(audio_map,0)
MDRV_MACHINE_RESET(blockhl)

View File

@ -45,48 +45,31 @@ static WRITE16_HANDLER( blockout_sound_command_w )
}
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_READ(SMH_ROM)
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_READ_PORT("P1")
AM_RANGE(0x100002, 0x100003) AM_READ_PORT("P2")
AM_RANGE(0x100004, 0x100005) AM_READ_PORT("SYSTEM")
AM_RANGE(0x100006, 0x100007) AM_READ_PORT("DSW1")
AM_RANGE(0x100008, 0x100009) AM_READ_PORT("DSW2")
AM_RANGE(0x180000, 0x1bffff) AM_READ(SMH_RAM)
AM_RANGE(0x1d4000, 0x1dffff) AM_READ(SMH_RAM)
AM_RANGE(0x1f4000, 0x1fffff) AM_READ(SMH_RAM)
AM_RANGE(0x200000, 0x207fff) AM_READ(SMH_RAM)
AM_RANGE(0x208000, 0x21ffff) AM_READ(SMH_RAM)
AM_RANGE(0x280200, 0x2805ff) AM_READ(SMH_RAM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_WRITE(SMH_ROM)
AM_RANGE(0x100014, 0x100015) AM_WRITE(blockout_sound_command_w)
AM_RANGE(0x100016, 0x100017) AM_WRITE(SMH_NOP) /* don't know, maybe reset sound CPU */
AM_RANGE(0x180000, 0x1bffff) AM_WRITE(blockout_videoram_w) AM_BASE(&blockout_videoram)
AM_RANGE(0x1d4000, 0x1dffff) AM_WRITE(SMH_RAM) /* work RAM */
AM_RANGE(0x1f4000, 0x1fffff) AM_WRITE(SMH_RAM) /* work RAM */
AM_RANGE(0x200000, 0x207fff) AM_WRITE(SMH_RAM) AM_BASE(&blockout_frontvideoram)
AM_RANGE(0x208000, 0x21ffff) AM_WRITE(SMH_RAM) /* ??? */
AM_RANGE(0x180000, 0x1bffff) AM_RAM_WRITE(blockout_videoram_w) AM_BASE(&blockout_videoram)
AM_RANGE(0x1d4000, 0x1dffff) AM_RAM /* work RAM */
AM_RANGE(0x1f4000, 0x1fffff) AM_RAM /* work RAM */
AM_RANGE(0x200000, 0x207fff) AM_RAM_WRITE(SMH_RAM) AM_BASE(&blockout_frontvideoram)
AM_RANGE(0x208000, 0x21ffff) AM_RAM /* ??? */
AM_RANGE(0x280002, 0x280003) AM_WRITE(blockout_frontcolor_w)
AM_RANGE(0x280200, 0x2805ff) AM_WRITE(blockout_paletteram_w) AM_BASE(&paletteram16)
AM_RANGE(0x280200, 0x2805ff) AM_RAM_WRITE(blockout_paletteram_w) AM_BASE(&paletteram16)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM)
AM_RANGE(0x8801, 0x8801) AM_READ(YM2151_status_port_0_r)
AM_RANGE(0x9800, 0x9800) AM_READ(OKIM6295_status_0_r)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM)
static ADDRESS_MAP_START( audio_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8800) AM_WRITE(YM2151_register_port_0_w)
AM_RANGE(0x8801, 0x8801) AM_WRITE(YM2151_data_port_0_w)
AM_RANGE(0x9800, 0x9800) AM_WRITE(OKIM6295_data_0_w)
AM_RANGE(0x8801, 0x8801) AM_READWRITE(YM2151_status_port_0_r, YM2151_data_port_0_w)
AM_RANGE(0x9800, 0x9800) AM_READWRITE(OKIM6295_status_0_r, OKIM6295_data_0_w)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
@ -201,11 +184,11 @@ static MACHINE_DRIVER_START( blockout )
/* basic machine hardware */
MDRV_CPU_ADD("main", M68000, 10000000) /* MRH - 8.76 makes gfx/adpcm samples sync better -- but 10 is correct speed*/
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
MDRV_CPU_PROGRAM_MAP(main_map,0)
MDRV_CPU_VBLANK_INT_HACK(blockout_interrupt,2)
MDRV_CPU_ADD("audio", Z80, 3579545) /* 3.579545 MHz */
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
MDRV_CPU_PROGRAM_MAP(audio_map,0)
/* video hardware */
MDRV_SCREEN_ADD("main", RASTER)

View File

@ -138,47 +138,34 @@ static READ8_HANDLER( bombjack_soundlatch_r )
}
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
AM_RANGE(0x8000, 0x97ff) AM_READ(SMH_RAM) /* including video and color RAM */
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("P1")
AM_RANGE(0xb001, 0xb001) AM_READ_PORT("P2")
AM_RANGE(0xb002, 0xb002) AM_READ_PORT("SYSTEM")
AM_RANGE(0xb003, 0xb003) AM_READ(SMH_NOP) /* watchdog reset? */
AM_RANGE(0xb004, 0xb004) AM_READ_PORT("DSW1")
AM_RANGE(0xb005, 0xb005) AM_READ_PORT("DSW2")
AM_RANGE(0xc000, 0xdfff) AM_READ(SMH_ROM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
AM_RANGE(0x8000, 0x8fff) AM_WRITE(SMH_RAM)
AM_RANGE(0x9000, 0x93ff) AM_WRITE(bombjack_videoram_w) AM_BASE(&videoram)
AM_RANGE(0x9400, 0x97ff) AM_WRITE(bombjack_colorram_w) AM_BASE(&colorram)
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(bombjack_videoram_w) AM_BASE(&videoram)
AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(bombjack_colorram_w) AM_BASE(&colorram)
AM_RANGE(0x9820, 0x987f) AM_WRITE(SMH_RAM) AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
AM_RANGE(0x9a00, 0x9a00) AM_WRITE(SMH_NOP)
AM_RANGE(0x9c00, 0x9cff) AM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE(&paletteram)
AM_RANGE(0x9e00, 0x9e00) AM_WRITE(bombjack_background_w)
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("P1")
AM_RANGE(0xb000, 0xb000) AM_WRITE(interrupt_enable_w)
AM_RANGE(0xb001, 0xb001) AM_READ_PORT("P2")
AM_RANGE(0xb002, 0xb002) AM_READ_PORT("SYSTEM")
AM_RANGE(0xb003, 0xb003) AM_READ(SMH_NOP) /* watchdog reset? */
AM_RANGE(0xb004, 0xb004) AM_READ_PORT("DSW1")
AM_RANGE(0xb004, 0xb004) AM_WRITE(bombjack_flipscreen_w)
AM_RANGE(0xb005, 0xb005) AM_READ_PORT("DSW2")
AM_RANGE(0xb800, 0xb800) AM_WRITE(bombjack_soundlatch_w)
AM_RANGE(0xc000, 0xdfff) AM_WRITE(SMH_ROM)
AM_RANGE(0xc000, 0xdfff) AM_ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( bombjack_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_ROM)
AM_RANGE(0x4000, 0x43ff) AM_READ(SMH_RAM)
static ADDRESS_MAP_START( audio_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
AM_RANGE(0x6000, 0x6000) AM_READ(bombjack_soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( bombjack_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_WRITE(SMH_ROM)
AM_RANGE(0x4000, 0x43ff) AM_WRITE(SMH_RAM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( bombjack_sound_writeport, ADDRESS_SPACE_IO, 8 )
static ADDRESS_MAP_START( audio_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(AY8910_control_port_0_w)
AM_RANGE(0x01, 0x01) AM_WRITE(AY8910_write_port_0_w)
@ -323,10 +310,10 @@ static const gfx_layout spritelayout2 =
};
static GFXDECODE_START( bombjack )
GFXDECODE_ENTRY( "gfx1", 0x0000, charlayout1, 0, 16 ) /* characters */
GFXDECODE_ENTRY( "gfx2", 0x0000, charlayout2, 0, 16 ) /* background tiles */
GFXDECODE_ENTRY( "gfx3", 0x0000, spritelayout1, 0, 16 ) /* normal sprites */
GFXDECODE_ENTRY( "gfx3", 0x1000, spritelayout2, 0, 16 ) /* large sprites */
GFXDECODE_ENTRY( "chars", 0x0000, charlayout1, 0, 16 ) /* characters */
GFXDECODE_ENTRY( "tiles", 0x0000, charlayout2, 0, 16 ) /* background tiles */
GFXDECODE_ENTRY( "sprites", 0x0000, spritelayout1, 0, 16 ) /* normal sprites */
GFXDECODE_ENTRY( "sprites", 0x1000, spritelayout2, 0, 16 ) /* large sprites */
GFXDECODE_END
@ -336,12 +323,12 @@ static MACHINE_DRIVER_START( bombjack )
/* basic machine hardware */
MDRV_CPU_ADD("main", Z80, 4000000) /* 4 MHz */
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
MDRV_CPU_PROGRAM_MAP(main_map,0)
MDRV_CPU_VBLANK_INT("main", nmi_line_pulse)
MDRV_CPU_ADD("audio", Z80, 3072000) /* 3.072 MHz????? */
MDRV_CPU_PROGRAM_MAP(bombjack_sound_readmem,bombjack_sound_writemem)
MDRV_CPU_IO_MAP(0,bombjack_sound_writeport)
MDRV_CPU_PROGRAM_MAP(audio_map,0)
MDRV_CPU_IO_MAP(audio_io_map,0)
MDRV_CPU_VBLANK_INT("main", nmi_line_pulse)
MDRV_MACHINE_START(bombjack)
@ -392,17 +379,17 @@ ROM_START( bombjack )
ROM_REGION( 0x10000, "audio", 0 ) /* 64k for sound board */
ROM_LOAD( "01_h03t.bin", 0x0000, 0x2000, CRC(8407917d) SHA1(318face9f7a7ab6c7eeac773995040425e780aaf) )
ROM_REGION( 0x3000, "gfx1", ROMREGION_DISPOSE )
ROM_REGION( 0x3000, "chars", ROMREGION_DISPOSE )
ROM_LOAD( "03_e08t.bin", 0x0000, 0x1000, CRC(9f0470d5) SHA1(94ef52ef47b4399a03528fe3efeac9c1d6983446) ) /* chars */
ROM_LOAD( "04_h08t.bin", 0x1000, 0x1000, CRC(81ec12e6) SHA1(e29ba193f21aa898499187603b25d2e226a07c7b) )
ROM_LOAD( "05_k08t.bin", 0x2000, 0x1000, CRC(e87ec8b1) SHA1(a66808ef2d62fca2854396898b86bac9be5f17a3) )
ROM_REGION( 0x6000, "gfx2", ROMREGION_DISPOSE )
ROM_REGION( 0x6000, "tiles", ROMREGION_DISPOSE )
ROM_LOAD( "06_l08t.bin", 0x0000, 0x2000, CRC(51eebd89) SHA1(515128a3971fcb97b60c5b6bdd2b03026aec1921) ) /* background tiles */
ROM_LOAD( "07_n08t.bin", 0x2000, 0x2000, CRC(9dd98e9d) SHA1(6db6006a6e20ff7c243d88293ca53681c4703ea5) )
ROM_LOAD( "08_r08t.bin", 0x4000, 0x2000, CRC(3155ee7d) SHA1(e7897dca4c145f10b7d975b8ef0e4d8aa9354c25) )
ROM_REGION( 0x6000, "gfx3", ROMREGION_DISPOSE )
ROM_REGION( 0x6000, "sprites", ROMREGION_DISPOSE )
ROM_LOAD( "16_m07b.bin", 0x0000, 0x2000, CRC(94694097) SHA1(de71bcd67f97d05527f2504fc8430be333fb9ec2) ) /* sprites */
ROM_LOAD( "15_l07b.bin", 0x2000, 0x2000, CRC(013f58f2) SHA1(20c64593ab9fcb04cefbce0cd5d17ce3ff26441b) )
ROM_LOAD( "14_j07b.bin", 0x4000, 0x2000, CRC(101c858d) SHA1(ed1746c15cdb04fae888601d940183d5c7702282) )
@ -422,17 +409,17 @@ ROM_START( bombjac2 )
ROM_REGION( 0x10000, "audio", 0 ) /* 64k for sound board */
ROM_LOAD( "01_h03t.bin", 0x0000, 0x2000, CRC(8407917d) SHA1(318face9f7a7ab6c7eeac773995040425e780aaf) )
ROM_REGION( 0x3000, "gfx1", ROMREGION_DISPOSE )
ROM_REGION( 0x3000, "chars", ROMREGION_DISPOSE )
ROM_LOAD( "03_e08t.bin", 0x0000, 0x1000, CRC(9f0470d5) SHA1(94ef52ef47b4399a03528fe3efeac9c1d6983446) ) /* chars */
ROM_LOAD( "04_h08t.bin", 0x1000, 0x1000, CRC(81ec12e6) SHA1(e29ba193f21aa898499187603b25d2e226a07c7b) )
ROM_LOAD( "05_k08t.bin", 0x2000, 0x1000, CRC(e87ec8b1) SHA1(a66808ef2d62fca2854396898b86bac9be5f17a3) )
ROM_REGION( 0x6000, "gfx2", ROMREGION_DISPOSE )
ROM_REGION( 0x6000, "tiles", ROMREGION_DISPOSE )
ROM_LOAD( "06_l08t.bin", 0x0000, 0x2000, CRC(51eebd89) SHA1(515128a3971fcb97b60c5b6bdd2b03026aec1921) ) /* background tiles */
ROM_LOAD( "07_n08t.bin", 0x2000, 0x2000, CRC(9dd98e9d) SHA1(6db6006a6e20ff7c243d88293ca53681c4703ea5) )
ROM_LOAD( "08_r08t.bin", 0x4000, 0x2000, CRC(3155ee7d) SHA1(e7897dca4c145f10b7d975b8ef0e4d8aa9354c25) )
ROM_REGION( 0x6000, "gfx3", ROMREGION_DISPOSE )
ROM_REGION( 0x6000, "sprites", ROMREGION_DISPOSE )
ROM_LOAD( "16_m07b.bin", 0x0000, 0x2000, CRC(94694097) SHA1(de71bcd67f97d05527f2504fc8430be333fb9ec2) ) /* sprites */
ROM_LOAD( "15_l07b.bin", 0x2000, 0x2000, CRC(013f58f2) SHA1(20c64593ab9fcb04cefbce0cd5d17ce3ff26441b) )
ROM_LOAD( "14_j07b.bin", 0x4000, 0x2000, CRC(101c858d) SHA1(ed1746c15cdb04fae888601d940183d5c7702282) )

View File

@ -109,16 +109,16 @@ static ADDRESS_MAP_START( boogwing_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x24e000, 0x24e7ff) AM_WRITE(deco16_104_prot_w) AM_BASE(&deco16_prot_ram)
AM_RANGE(0x260000, 0x26000f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf12_control)
AM_RANGE(0x264000, 0x265fff) AM_READ(SMH_RAM) AM_WRITE(deco16_pf1_data_w) AM_BASE(&deco16_pf1_data)
AM_RANGE(0x266000, 0x267fff) AM_READ(SMH_RAM) AM_WRITE(deco16_pf2_data_w) AM_BASE(&deco16_pf2_data)
AM_RANGE(0x268000, 0x268fff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf1_rowscroll)
AM_RANGE(0x26a000, 0x26afff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf2_rowscroll)
AM_RANGE(0x264000, 0x265fff) AM_RAM_WRITE(deco16_pf1_data_w) AM_BASE(&deco16_pf1_data)
AM_RANGE(0x266000, 0x267fff) AM_RAM_WRITE(deco16_pf2_data_w) AM_BASE(&deco16_pf2_data)
AM_RANGE(0x268000, 0x268fff) AM_RAM AM_BASE(&deco16_pf1_rowscroll)
AM_RANGE(0x26a000, 0x26afff) AM_RAM AM_BASE(&deco16_pf2_rowscroll)
AM_RANGE(0x270000, 0x27000f) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf34_control)
AM_RANGE(0x274000, 0x275fff) AM_READ(SMH_RAM) AM_WRITE(deco16_pf3_data_w) AM_BASE(&deco16_pf3_data)
AM_RANGE(0x276000, 0x277fff) AM_READ(SMH_RAM) AM_WRITE(deco16_pf4_data_w) AM_BASE(&deco16_pf4_data)
AM_RANGE(0x278000, 0x278fff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf3_rowscroll)
AM_RANGE(0x27a000, 0x27afff) AM_READ(SMH_RAM) AM_WRITE(SMH_RAM) AM_BASE(&deco16_pf4_rowscroll)
AM_RANGE(0x274000, 0x275fff) AM_RAM_WRITE(deco16_pf3_data_w) AM_BASE(&deco16_pf3_data)
AM_RANGE(0x276000, 0x277fff) AM_RAM_WRITE(deco16_pf4_data_w) AM_BASE(&deco16_pf4_data)
AM_RANGE(0x278000, 0x278fff) AM_RAM AM_BASE(&deco16_pf3_rowscroll)
AM_RANGE(0x27a000, 0x27afff) AM_RAM AM_BASE(&deco16_pf4_rowscroll)
AM_RANGE(0x280000, 0x28000f) AM_NOP // ?
AM_RANGE(0x282000, 0x282001) AM_NOP // Palette setup?
@ -129,27 +129,19 @@ static ADDRESS_MAP_START( boogwing_map, ADDRESS_SPACE_PROGRAM, 16 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x000000, 0x00ffff) AM_READ(SMH_ROM)
AM_RANGE(0x100000, 0x100001) AM_READ(SMH_NOP)
AM_RANGE(0x110000, 0x110001) AM_READ(YM2151_status_port_0_r)
AM_RANGE(0x120000, 0x120001) AM_READ(OKIM6295_status_0_r)
AM_RANGE(0x130000, 0x130001) AM_READ(OKIM6295_status_1_r)
static ADDRESS_MAP_START( audio_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_NOP
AM_RANGE(0x110000, 0x110001) AM_READWRITE(YM2151_status_port_0_r, YM2151_word_0_w)
AM_RANGE(0x120000, 0x120001) AM_READWRITE(OKIM6295_status_0_r, OKIM6295_data_0_w)
AM_RANGE(0x130000, 0x130001) AM_READWRITE(OKIM6295_status_1_r, OKIM6295_data_1_w)
AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_READ(SMH_BANK8)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x000000, 0x00ffff) AM_WRITE(SMH_ROM)
AM_RANGE(0x100000, 0x100001) AM_WRITE(SMH_NOP)
AM_RANGE(0x110000, 0x110001) AM_WRITE(YM2151_word_0_w)
AM_RANGE(0x120000, 0x120001) AM_WRITE(OKIM6295_data_0_w)
AM_RANGE(0x130000, 0x130001) AM_WRITE(OKIM6295_data_1_w)
AM_RANGE(0x1f0000, 0x1f1fff) AM_WRITE(SMH_BANK8)
AM_RANGE(0x1f0000, 0x1f1fff) AM_READWRITE(SMH_BANK8, SMH_BANK8)
AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE(H6280_timer_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE(H6280_irq_status_w)
ADDRESS_MAP_END
/**********************************************************************************/
static INPUT_PORTS_START( boogwing )
@ -275,11 +267,11 @@ static const gfx_layout spritelayout =
static GFXDECODE_START( boogwing )
GFXDECODE_ENTRY( "gfx1", 0, tile_8x8_layout, 0, 16 ) /* Tiles (8x8) */
GFXDECODE_ENTRY( "gfx2", 0, tile_16x16_layout_5bpp, 0x100, 16 ) /* Tiles (16x16) */
GFXDECODE_ENTRY( "gfx3", 0, tile_16x16_layout, 0x300, 32 ) /* Tiles (16x16) */
GFXDECODE_ENTRY( "gfx4", 0, spritelayout, 0x500, 32 ) /* Sprites (16x16) */
GFXDECODE_ENTRY( "gfx5", 0, spritelayout, 0x700, 16 ) /* Sprites (16x16) */
GFXDECODE_ENTRY( "tiles1", 0, tile_8x8_layout, 0, 16 ) /* Tiles (8x8) */
GFXDECODE_ENTRY( "tiles2", 0, tile_16x16_layout_5bpp, 0x100, 16 ) /* Tiles (16x16) */
GFXDECODE_ENTRY( "tiles3", 0, tile_16x16_layout, 0x300, 32 ) /* Tiles (16x16) */
GFXDECODE_ENTRY( "sprites1", 0, spritelayout, 0x500, 32 ) /* Sprites (16x16) */
GFXDECODE_ENTRY( "sprites2", 0, spritelayout, 0x700, 16 ) /* Sprites (16x16) */
GFXDECODE_END
/**********************************************************************************/
@ -309,7 +301,7 @@ static MACHINE_DRIVER_START( boogwing )
MDRV_CPU_VBLANK_INT("main", irq6_line_hold)
MDRV_CPU_ADD("audio", H6280,32220000/4)
MDRV_CPU_PROGRAM_MAP(sound_readmem, sound_writemem)
MDRV_CPU_PROGRAM_MAP(audio_map,0)
/* video hardware */
MDRV_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM )
@ -358,24 +350,24 @@ ROM_START( boogwing )
ROM_REGION( 0x10000, "audio", 0 )
ROM_LOAD( "kn06.18p", 0x00000, 0x10000, CRC(3e8bc4e1) SHA1(7e4c357afefa47b8f101727e06485eb9ebae635d) )
ROM_REGION( 0x20000, "gfx1", ROMREGION_DISPOSE ) /* Tiles 1 */
ROM_REGION( 0x20000, "tiles1", ROMREGION_DISPOSE ) /* Tiles 1 */
ROM_LOAD16_BYTE( "kn05.9e", 0x00000, 0x010000, CRC(d10aef95) SHA1(a611a35ab312caee19c31da079c647679d31673d) )
ROM_LOAD16_BYTE( "kn04.8e", 0x00001, 0x010000, CRC(329323a8) SHA1(e2ec7b059301c0a2e052dfc683e044c808ad9b33) )
ROM_REGION( 0x300000, "gfx2", ROMREGION_DISPOSE ) /* Tiles 2 */
ROM_REGION( 0x300000, "tiles2", ROMREGION_DISPOSE ) /* Tiles 2 */
ROM_LOAD( "mbd-01.9b", 0x000000, 0x100000, CRC(d7de4f4b) SHA1(4747f8795e277ed8106667b6f68e1176d95db684) )
ROM_LOAD( "mbd-00.8b", 0x100000, 0x100000, CRC(adb20ba9) SHA1(2ffa1dd19a438a4d2f5743b1050a8037183a3e7d) )
/* 0x100000 bytes expanded from mbd-02.10e copied here later */
ROM_REGION( 0x200000, "gfx3", ROMREGION_DISPOSE ) /* Tiles 3 */
ROM_REGION( 0x200000, "tiles3", ROMREGION_DISPOSE ) /* Tiles 3 */
ROM_LOAD( "mbd-03.13b", 0x000000, 0x100000, CRC(cf798f2c) SHA1(f484a22679d6a4d4b0dcac820de3f1a37cbc478f) )
ROM_LOAD( "mbd-04.14b", 0x100000, 0x100000, CRC(d9764d0b) SHA1(74d6f09d65d073606a6e10556cedf740aa50ff08) )
ROM_REGION( 0x400000, "gfx4", ROMREGION_DISPOSE ) /* Sprites 1 */
ROM_REGION( 0x400000, "sprites1", ROMREGION_DISPOSE ) /* Sprites 1 */
ROM_LOAD16_BYTE( "mbd-05.16b", 0x000001, 0x200000, CRC(1768c66a) SHA1(06bf3bb187c65db9dcce959a43a7231e2ac45c17) )
ROM_LOAD16_BYTE( "mbd-06.17b", 0x000000, 0x200000, CRC(7750847a) SHA1(358266ed68a9816094e7aab0905d958284c8ce98) )
ROM_REGION( 0x400000, "gfx5", ROMREGION_DISPOSE ) /* Sprites 2 */
ROM_REGION( 0x400000, "sprites2", ROMREGION_DISPOSE ) /* Sprites 2 */
ROM_LOAD16_BYTE( "mbd-07.18b", 0x000001, 0x200000, CRC(241faac1) SHA1(588be0cf2647c1d185a99c987a5a20ab7ad8dea8) )
ROM_LOAD16_BYTE( "mbd-08.19b", 0x000000, 0x200000, CRC(f13b1e56) SHA1(f8f5e8c4e6c159f076d4e6505bd901ade5c6a0ca) )
@ -402,24 +394,24 @@ ROM_START( boogwina )
ROM_REGION( 0x10000, "audio", 0 )
ROM_LOAD( "km06.18p", 0x00000, 0x10000, CRC(3e8bc4e1) SHA1(7e4c357afefa47b8f101727e06485eb9ebae635d) )
ROM_REGION( 0x20000, "gfx1", ROMREGION_DISPOSE ) /* Tiles 1 */
ROM_REGION( 0x20000, "tiles1", ROMREGION_DISPOSE ) /* Tiles 1 */
ROM_LOAD16_BYTE( "kn05.9e", 0x00000, 0x010000, CRC(d10aef95) SHA1(a611a35ab312caee19c31da079c647679d31673d) )
ROM_LOAD16_BYTE( "kn04.8e", 0x00001, 0x010000, CRC(329323a8) SHA1(e2ec7b059301c0a2e052dfc683e044c808ad9b33) )
ROM_REGION( 0x300000, "gfx2", ROMREGION_DISPOSE ) /* Tiles 2 */
ROM_REGION( 0x300000, "tiles2", ROMREGION_DISPOSE ) /* Tiles 2 */
ROM_LOAD( "mbd-01.9b", 0x000000, 0x100000, CRC(d7de4f4b) SHA1(4747f8795e277ed8106667b6f68e1176d95db684) )
ROM_LOAD( "mbd-00.8b", 0x100000, 0x100000, CRC(adb20ba9) SHA1(2ffa1dd19a438a4d2f5743b1050a8037183a3e7d) )
/* 0x100000 bytes expanded from mbd-02.10e copied here later */
ROM_REGION( 0x200000, "gfx3", ROMREGION_DISPOSE ) /* Tiles 3 */
ROM_REGION( 0x200000, "tiles3", ROMREGION_DISPOSE ) /* Tiles 3 */
ROM_LOAD( "mbd-03.13b", 0x000000, 0x100000, CRC(cf798f2c) SHA1(f484a22679d6a4d4b0dcac820de3f1a37cbc478f) )
ROM_LOAD( "mbd-04.14b", 0x100000, 0x100000, CRC(d9764d0b) SHA1(74d6f09d65d073606a6e10556cedf740aa50ff08) )
ROM_REGION( 0x400000, "gfx4", ROMREGION_DISPOSE ) /* Sprites 1 */
ROM_REGION( 0x400000, "sprites1", ROMREGION_DISPOSE ) /* Sprites 1 */
ROM_LOAD16_BYTE( "mbd-05.16b", 0x000001, 0x200000, CRC(1768c66a) SHA1(06bf3bb187c65db9dcce959a43a7231e2ac45c17) )
ROM_LOAD16_BYTE( "mbd-06.17b", 0x000000, 0x200000, CRC(7750847a) SHA1(358266ed68a9816094e7aab0905d958284c8ce98) )
ROM_REGION( 0x400000, "gfx5", ROMREGION_DISPOSE ) /* Sprites 2 */
ROM_REGION( 0x400000, "sprites2", ROMREGION_DISPOSE ) /* Sprites 2 */
ROM_LOAD16_BYTE( "mbd-07.18b", 0x000001, 0x200000, CRC(241faac1) SHA1(588be0cf2647c1d185a99c987a5a20ab7ad8dea8) )
ROM_LOAD16_BYTE( "mbd-08.19b", 0x000000, 0x200000, CRC(f13b1e56) SHA1(f8f5e8c4e6c159f076d4e6505bd901ade5c6a0ca) )
@ -446,24 +438,24 @@ ROM_START( ragtime )
ROM_REGION( 0x10000, "audio", 0 )
ROM_LOAD( "km06.18p", 0x00000, 0x10000, CRC(3e8bc4e1) SHA1(7e4c357afefa47b8f101727e06485eb9ebae635d) )
ROM_REGION( 0x20000, "gfx1", ROMREGION_DISPOSE ) /* Tiles 1 */
ROM_REGION( 0x20000, "tiles1", ROMREGION_DISPOSE ) /* Tiles 1 */
ROM_LOAD16_BYTE( "kn05.9e", 0x00000, 0x010000, CRC(d10aef95) SHA1(a611a35ab312caee19c31da079c647679d31673d) )
ROM_LOAD16_BYTE( "kn04.8e", 0x00001, 0x010000, CRC(329323a8) SHA1(e2ec7b059301c0a2e052dfc683e044c808ad9b33) )
ROM_REGION( 0x300000, "gfx2", ROMREGION_DISPOSE ) /* Tiles 2 */
ROM_REGION( 0x300000, "tiles2", ROMREGION_DISPOSE ) /* Tiles 2 */
ROM_LOAD( "mbd-01.9b", 0x000000, 0x100000, CRC(d7de4f4b) SHA1(4747f8795e277ed8106667b6f68e1176d95db684) )
ROM_LOAD( "mbd-00.8b", 0x100000, 0x100000, CRC(adb20ba9) SHA1(2ffa1dd19a438a4d2f5743b1050a8037183a3e7d) )
/* 0x100000 bytes expanded from mbd-02.10e copied here later */
ROM_REGION( 0x200000, "gfx3", ROMREGION_DISPOSE ) /* Tiles 3 */
ROM_REGION( 0x200000, "tiles3", ROMREGION_DISPOSE ) /* Tiles 3 */
ROM_LOAD( "mbd-03.13b", 0x000000, 0x100000, CRC(cf798f2c) SHA1(f484a22679d6a4d4b0dcac820de3f1a37cbc478f) )
ROM_LOAD( "mbd-04.14b", 0x100000, 0x100000, CRC(d9764d0b) SHA1(74d6f09d65d073606a6e10556cedf740aa50ff08) )
ROM_REGION( 0x400000, "gfx4", ROMREGION_DISPOSE ) /* Sprites 1 */
ROM_REGION( 0x400000, "sprites1", ROMREGION_DISPOSE ) /* Sprites 1 */
ROM_LOAD16_BYTE( "mbd-05.16b", 0x000001, 0x200000, CRC(1768c66a) SHA1(06bf3bb187c65db9dcce959a43a7231e2ac45c17) )
ROM_LOAD16_BYTE( "mbd-06.17b", 0x000000, 0x200000, CRC(7750847a) SHA1(358266ed68a9816094e7aab0905d958284c8ce98) )
ROM_REGION( 0x400000, "gfx5", ROMREGION_DISPOSE ) /* Sprites 2 */
ROM_REGION( 0x400000, "sprites2", ROMREGION_DISPOSE ) /* Sprites 2 */
ROM_LOAD16_BYTE( "mbd-07.18b", 0x000001, 0x200000, CRC(241faac1) SHA1(588be0cf2647c1d185a99c987a5a20ab7ad8dea8) )
ROM_LOAD16_BYTE( "mbd-08.19b", 0x000000, 0x200000, CRC(f13b1e56) SHA1(f8f5e8c4e6c159f076d4e6505bd901ade5c6a0ca) )
@ -483,11 +475,11 @@ ROM_END
static DRIVER_INIT( boogwing )
{
const UINT8* src=memory_region(machine, "gfx6");
UINT8* dst=memory_region(machine, "gfx2") + 0x200000;
UINT8* dst=memory_region(machine, "tiles2") + 0x200000;
deco56_decrypt_gfx(machine, "gfx1");
deco56_decrypt_gfx(machine, "gfx2");
deco56_decrypt_gfx(machine, "gfx3");
deco56_decrypt_gfx(machine, "tiles1");
deco56_decrypt_gfx(machine, "tiles2");
deco56_decrypt_gfx(machine, "tiles3");
deco56_remap_gfx(machine, "gfx6");
deco102_decrypt_cpu(machine, "main", 0x42ba, 0x00, 0x18);
memcpy(dst, src, 0x100000);

View File

@ -130,55 +130,37 @@ static WRITE8_HANDLER( sound_bank_w )
}
static ADDRESS_MAP_START( bottom9_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x07ff) AM_READ(bottom9_bankedram1_r)
AM_RANGE(0x1fd0, 0x1fd0) AM_READ_PORT("SYSTEM")
AM_RANGE(0x1fd1, 0x1fd1) AM_READ_PORT("P1")
AM_RANGE(0x1fd2, 0x1fd2) AM_READ_PORT("P2")
AM_RANGE(0x1fd3, 0x1fd3) AM_READ_PORT("DSW1")
AM_RANGE(0x1fe0, 0x1fe0) AM_READ_PORT("DSW2")
AM_RANGE(0x2000, 0x27ff) AM_READ(bottom9_bankedram2_r)
AM_RANGE(0x0000, 0x3fff) AM_READ(K052109_051960_r)
AM_RANGE(0x4000, 0x5fff) AM_READ(SMH_RAM)
AM_RANGE(0x6000, 0x7fff) AM_READ(SMH_BANK1)
AM_RANGE(0x8000, 0xffff) AM_READ(SMH_ROM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( bottom9_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x07ff) AM_WRITE(bottom9_bankedram1_w)
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x07ff) AM_READWRITE(bottom9_bankedram1_r, bottom9_bankedram1_w)
AM_RANGE(0x1f80, 0x1f80) AM_WRITE(bankswitch_w)
AM_RANGE(0x1f90, 0x1f90) AM_WRITE(bottom9_1f90_w)
AM_RANGE(0x1fa0, 0x1fa0) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1fb0, 0x1fb0) AM_WRITE(soundlatch_w)
AM_RANGE(0x1fc0, 0x1fc0) AM_WRITE(bottom9_sh_irqtrigger_w)
AM_RANGE(0x1fd0, 0x1fd0) AM_READ_PORT("SYSTEM")
AM_RANGE(0x1fd1, 0x1fd1) AM_READ_PORT("P1")
AM_RANGE(0x1fd2, 0x1fd2) AM_READ_PORT("P2")
AM_RANGE(0x1fd3, 0x1fd3) AM_READ_PORT("DSW1")
AM_RANGE(0x1fe0, 0x1fe0) AM_READ_PORT("DSW2")
AM_RANGE(0x1ff0, 0x1fff) AM_WRITE(K051316_ctrl_0_w)
AM_RANGE(0x2000, 0x27ff) AM_WRITE(bottom9_bankedram2_w) AM_BASE(&paletteram)
AM_RANGE(0x0000, 0x3fff) AM_WRITE(K052109_051960_w)
AM_RANGE(0x4000, 0x5fff) AM_WRITE(SMH_RAM)
AM_RANGE(0x6000, 0x7fff) AM_WRITE(SMH_ROM)
AM_RANGE(0x8000, 0xffff) AM_WRITE(SMH_ROM)
AM_RANGE(0x2000, 0x27ff) AM_READWRITE(bottom9_bankedram2_r, bottom9_bankedram2_w) AM_BASE(&paletteram)
AM_RANGE(0x0000, 0x3fff) AM_READWRITE(K052109_051960_r, K052109_051960_w)
AM_RANGE(0x4000, 0x5fff) AM_RAM
AM_RANGE(0x6000, 0x7fff) AM_READWRITE(SMH_BANK1, SMH_ROM)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( bottom9_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM)
AM_RANGE(0xa000, 0xa00d) AM_READ(K007232_read_port_0_r)
AM_RANGE(0xb000, 0xb00d) AM_READ(K007232_read_port_1_r)
AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( bottom9_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM)
static ADDRESS_MAP_START( audio_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_WRITE(sound_bank_w)
AM_RANGE(0xa000, 0xa00d) AM_WRITE(K007232_write_port_0_w)
AM_RANGE(0xb000, 0xb00d) AM_WRITE(K007232_write_port_1_w)
AM_RANGE(0xa000, 0xa00d) AM_READWRITE(K007232_read_port_0_r, K007232_write_port_0_w)
AM_RANGE(0xb000, 0xb00d) AM_READWRITE(K007232_read_port_1_r, K007232_write_port_1_w)
AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_r)
AM_RANGE(0xf000, 0xf000) AM_WRITE(nmi_enable_w)
ADDRESS_MAP_END
static INPUT_PORTS_START( bottom9 )
PORT_START_TAG("P1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
@ -324,11 +306,11 @@ static MACHINE_DRIVER_START( bottom9 )
/* basic machine hardware */
MDRV_CPU_ADD("main", M6809, 2000000) /* ? */
MDRV_CPU_PROGRAM_MAP(bottom9_readmem,bottom9_writemem)
MDRV_CPU_PROGRAM_MAP(main_map,0)
MDRV_CPU_VBLANK_INT("main", bottom9_interrupt)
MDRV_CPU_ADD("audio", Z80, 3579545)
MDRV_CPU_PROGRAM_MAP(bottom9_sound_readmem,bottom9_sound_writemem)
MDRV_CPU_PROGRAM_MAP(audio_map,0)
MDRV_CPU_VBLANK_INT_HACK(bottom9_sound_interrupt,8) /* irq is triggered by the main CPU */
/* video hardware */