From 7e03d81ecd942a10ef28626f61ecd0c577e0e7be Mon Sep 17 00:00:00 2001 From: Luca Elia Date: Sun, 21 Mar 2010 18:41:50 +0000 Subject: [PATCH] New games added or promoted from NOT_WORKING status --------------------------------------------------- Tobikose! Jumpman [tormod, R. Howard, K. Svensson, D. Beneke, Smitdogg, Luca Elia, The Dumping Union] --- src/mame/drivers/cave.c | 1164 +++++++++++++++++++++++---------------- src/mame/mamedriv.c | 1 + src/mame/video/cave.c | 8 +- 3 files changed, 694 insertions(+), 479 deletions(-) diff --git a/src/mame/drivers/cave.c b/src/mame/drivers/cave.c index 0bdb1936cb5..bac23a6f8ca 100644 --- a/src/mame/drivers/cave.c +++ b/src/mame/drivers/cave.c @@ -16,25 +16,26 @@ Other : 93C46 EEPROM ----------------------------------------------------------------------------------------- -Year + Game License PCB Tilemaps Sprites Other +Year + Game License PCB Tilemaps Sprites Other ----------------------------------------------------------------------------------------- -94 Mazinger Z Banpresto ? 038 9335EX706 013 9341E7009 Z80 -94 PowerInstinct 2 Atlus ATG02? 038 9429WX709 013 Z80 NMK 112 -95 P.I. Legends Atlus AT047G2-B 038 9429WX709 013 9341E7009 Z80 NMK 112 -95 Metamoqester Banpresto BP947A 038 9437WX711 013 9346E7002 Z80 -95 Sailor Moon Banpresto BP945A 038 9437WX711 013 9346E7002 Z80 -95 Donpachi Atlus AT-C01DP-2 038 9429WX727 013 8647-01 NMK 112 -96 Air Gallet Banpresto BP962A 038 9437WX711 013 9346E7002 Z80 -96 Hotdog Storm Marble ASTC9501 038 9341EX702 Z80 -97 Dodonpachi Atlus ATC03D2 ? -98 Dangun Feveron Nihon System CV01 038 9808WX003 013 9807EX004 -98 ESP Ra.De. Atlus ATC04 ? -98 Uo Poko Jaleco CV02 038 9749WX001 013 9749EX004 -99 Guwange Atlus ATC05 ? -99 Gaia Crusaders Noise Factory ? 038 9838WX003 013 9918EX008 -99 Koro Koro Quest Takumi TUG-01B 038 9838WX004 013 9838EX004 -99 Crusher Makochan Takumi TUG-01B -01 Thunder Heroes Primetek ? 038 9838WX003 013 9918EX008 +94 Mazinger Z Banpresto ? 038 9335EX706 013 9341E7009 Z80 +94 PowerInstinct 2 Atlus ATG02? 038 9429WX709 013 Z80 NMK 112 +95 P.I. Legends Atlus AT047G2-B 038 9429WX709 013 9341E7009 Z80 NMK 112 +95 Metamoqester Banpresto BP947A 038 9437WX711 013 9346E7002 Z80 +95 Sailor Moon Banpresto BP945A 038 9437WX711 013 9346E7002 Z80 +95 Donpachi Atlus AT-C01DP-2 038 9429WX727 013 8647-01 NMK 112 +96 Air Gallet Banpresto BP962A 038 9437WX711 013 9346E7002 Z80 +96 Hotdog Storm Marble ASTC9501 038 9341EX702 Z80 +97 Dodonpachi Atlus ATC03D2 ? +98 Dangun Feveron Nihon System CV01 038 9808WX003 013 9807EX004 +98 ESP Ra.De. Atlus ATC04 ? +98 Uo Poko Jaleco CV02 038 9749WX001 013 9749EX004 +99 Guwange Atlus ATC05 ? +99 Gaia Crusaders Noise Factory ? 038 9838WX003 013 9918EX008 +99 Koro Koro Quest Takumi TUG-01B 038 9838WX004 013 9838EX004 +99 Crusher Makochan Takumi TUG-01B "" "" +99 Tobikose! Jumpman Namco TJ0476 038 9919WX007 013 9934WX002 +01 Thunder Heroes Primetek ? 038 9838WX003 013 9918EX008 ----------------------------------------------------------------------------------------- To Do: @@ -419,23 +420,23 @@ static const eeprom_interface eeprom_interface_93C46_8bit = ***************************************************************************/ static ADDRESS_MAP_START( dfeveron_map, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM - AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM - AM_RANGE(0x300000, 0x300003) AM_DEVREADWRITE8("ymz", ymz280b_r, ymz280b_w, 0x00ff) // YMZ280 -/**/AM_RANGE(0x400000, 0x407fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites + AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM + AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM + AM_RANGE(0x300000, 0x300003) AM_DEVREADWRITE8("ymz", ymz280b_r, ymz280b_w, 0x00ff) // YMZ280 +/**/AM_RANGE(0x400000, 0x407fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites /**/AM_RANGE(0x408000, 0x40ffff) AM_RAM AM_BASE_MEMBER(cave_state, spriteram_2) // Sprites? -/**/AM_RANGE(0x500000, 0x507fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 -/**/AM_RANGE(0x600000, 0x607fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE_MEMBER(cave_state, vram_1) // Layer 1 +/**/AM_RANGE(0x500000, 0x507fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 +/**/AM_RANGE(0x600000, 0x607fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE_MEMBER(cave_state, vram_1) // Layer 1 /**/AM_RANGE(0x708000, 0x708fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, paletteram, paletteram_size) // Palette -/**/AM_RANGE(0x710000, 0x710bff) AM_READONLY // ? - AM_RANGE(0x710c00, 0x710fff) AM_RAM // ? - AM_RANGE(0x800000, 0x800007) AM_READ(cave_irq_cause_r) // IRQ Cause +/**/AM_RANGE(0x710000, 0x710bff) AM_READONLY // ? + AM_RANGE(0x710c00, 0x710fff) AM_RAM // ? + AM_RANGE(0x800000, 0x800007) AM_READ(cave_irq_cause_r) // IRQ Cause AM_RANGE(0x800000, 0x80007f) AM_WRITEONLY AM_BASE_MEMBER(cave_state, videoregs) // Video Regs -/**/AM_RANGE(0x900000, 0x900005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control -/**/AM_RANGE(0xa00000, 0xa00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_1) // Layer 1 Control - AM_RANGE(0xb00000, 0xb00001) AM_READ_PORT("IN0") // Inputs - AM_RANGE(0xb00002, 0xb00003) AM_READ_PORT("IN1") // Inputs + EEPROM - AM_RANGE(0xc00000, 0xc00001) AM_DEVWRITE("eeprom", cave_eeprom_msb_w) // EEPROM +/**/AM_RANGE(0x900000, 0x900005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control +/**/AM_RANGE(0xa00000, 0xa00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_1) // Layer 1 Control + AM_RANGE(0xb00000, 0xb00001) AM_READ_PORT("IN0") // Inputs + AM_RANGE(0xb00002, 0xb00003) AM_READ_PORT("IN1") // Inputs + EEPROM + AM_RANGE(0xc00000, 0xc00001) AM_DEVWRITE("eeprom", cave_eeprom_msb_w) // EEPROM ADDRESS_MAP_END @@ -444,23 +445,23 @@ ADDRESS_MAP_END ***************************************************************************/ static ADDRESS_MAP_START( ddonpach_map, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM - AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM - AM_RANGE(0x300000, 0x300003) AM_DEVREADWRITE8("ymz", ymz280b_r, ymz280b_w, 0x00ff) // YMZ280 -/**/AM_RANGE(0x400000, 0x407fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites + AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM + AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM + AM_RANGE(0x300000, 0x300003) AM_DEVREADWRITE8("ymz", ymz280b_r, ymz280b_w, 0x00ff) // YMZ280 +/**/AM_RANGE(0x400000, 0x407fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites /**/AM_RANGE(0x408000, 0x40ffff) AM_RAM AM_BASE_MEMBER(cave_state, spriteram_2) // Sprites? -/**/AM_RANGE(0x500000, 0x507fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 -/**/AM_RANGE(0x600000, 0x607fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE_MEMBER(cave_state, vram_1) // Layer 1 -/**/AM_RANGE(0x700000, 0x70ffff) AM_RAM_WRITE(cave_vram_2_8x8_w) AM_BASE_MEMBER(cave_state, vram_2) // Layer 2 - AM_RANGE(0x800000, 0x800007) AM_READ(cave_irq_cause_r) // IRQ Cause +/**/AM_RANGE(0x500000, 0x507fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 +/**/AM_RANGE(0x600000, 0x607fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE_MEMBER(cave_state, vram_1) // Layer 1 +/**/AM_RANGE(0x700000, 0x70ffff) AM_RAM_WRITE(cave_vram_2_8x8_w) AM_BASE_MEMBER(cave_state, vram_2) // Layer 2 + AM_RANGE(0x800000, 0x800007) AM_READ(cave_irq_cause_r) // IRQ Cause AM_RANGE(0x800000, 0x80007f) AM_WRITEONLY AM_BASE_MEMBER(cave_state, videoregs) // Video Regs -/**/AM_RANGE(0x900000, 0x900005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control -/**/AM_RANGE(0xa00000, 0xa00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_1) // Layer 1 Control -/**/AM_RANGE(0xb00000, 0xb00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_2) // Layer 2 Control +/**/AM_RANGE(0x900000, 0x900005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control +/**/AM_RANGE(0xa00000, 0xa00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_1) // Layer 1 Control +/**/AM_RANGE(0xb00000, 0xb00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_2) // Layer 2 Control /**/AM_RANGE(0xc00000, 0xc0ffff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, paletteram, paletteram_size) // Palette - AM_RANGE(0xd00000, 0xd00001) AM_READ_PORT("IN0") // Inputs - AM_RANGE(0xd00002, 0xd00003) AM_READ_PORT("IN1") // Inputs + EEPROM - AM_RANGE(0xe00000, 0xe00001) AM_DEVWRITE("eeprom", cave_eeprom_msb_w) // EEPROM + AM_RANGE(0xd00000, 0xd00001) AM_READ_PORT("IN0") // Inputs + AM_RANGE(0xd00002, 0xd00003) AM_READ_PORT("IN1") // Inputs + EEPROM + AM_RANGE(0xe00000, 0xe00001) AM_DEVWRITE("eeprom", cave_eeprom_msb_w) // EEPROM ADDRESS_MAP_END @@ -495,24 +496,24 @@ WRITE16_HANDLER( donpachi_videoregs_w ) #endif static ADDRESS_MAP_START( donpachi_map, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM - AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM - AM_RANGE(0x200000, 0x207fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE_MEMBER(cave_state, vram_1) // Layer 1 - AM_RANGE(0x300000, 0x307fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 - AM_RANGE(0x400000, 0x407fff) AM_RAM_WRITE(cave_vram_2_8x8_w) AM_BASE_MEMBER(cave_state, vram_2) // Layer 2 - AM_RANGE(0x500000, 0x507fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites - AM_RANGE(0x508000, 0x50ffff) AM_RAM AM_BASE_MEMBER(cave_state, spriteram_2) // Sprites? -/**/AM_RANGE(0x600000, 0x600005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_1) // Layer 1 Control -/**/AM_RANGE(0x700000, 0x700005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control -/**/AM_RANGE(0x800000, 0x800005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_2) // Layer 2 Control - AM_RANGE(0x900000, 0x90007f) AM_RAM_READ(donpachi_videoregs_r) AM_BASE_MEMBER(cave_state, videoregs) // Video Regs + AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM + AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM + AM_RANGE(0x200000, 0x207fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE_MEMBER(cave_state, vram_1) // Layer 1 + AM_RANGE(0x300000, 0x307fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 + AM_RANGE(0x400000, 0x407fff) AM_RAM_WRITE(cave_vram_2_8x8_w) AM_BASE_MEMBER(cave_state, vram_2) // Layer 2 + AM_RANGE(0x500000, 0x507fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites + AM_RANGE(0x508000, 0x50ffff) AM_RAM AM_BASE_MEMBER(cave_state, spriteram_2) // Sprites? +/**/AM_RANGE(0x600000, 0x600005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_1) // Layer 1 Control +/**/AM_RANGE(0x700000, 0x700005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control +/**/AM_RANGE(0x800000, 0x800005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_2) // Layer 2 Control + AM_RANGE(0x900000, 0x90007f) AM_RAM_READ(donpachi_videoregs_r) AM_BASE_MEMBER(cave_state, videoregs) // Video Regs /**/AM_RANGE(0xa08000, 0xa08fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, paletteram, paletteram_size) // Palette - AM_RANGE(0xb00000, 0xb00003) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff) // M6295 - AM_RANGE(0xb00010, 0xb00013) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff) // - AM_RANGE(0xb00020, 0xb0002f) AM_DEVWRITE("nmk112", nmk112_okibank_lsb_w) // - AM_RANGE(0xc00000, 0xc00001) AM_READ_PORT("IN0") // Inputs - AM_RANGE(0xc00002, 0xc00003) AM_READ_PORT("IN1") // Inputs + EEPROM - AM_RANGE(0xd00000, 0xd00001) AM_DEVWRITE("eeprom", cave_eeprom_msb_w) // EEPROM + AM_RANGE(0xb00000, 0xb00003) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff) // M6295 + AM_RANGE(0xb00010, 0xb00013) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff) // + AM_RANGE(0xb00020, 0xb0002f) AM_DEVWRITE("nmk112", nmk112_okibank_lsb_w) // + AM_RANGE(0xc00000, 0xc00001) AM_READ_PORT("IN0") // Inputs + AM_RANGE(0xc00002, 0xc00003) AM_READ_PORT("IN1") // Inputs + EEPROM + AM_RANGE(0xd00000, 0xd00001) AM_DEVWRITE("eeprom", cave_eeprom_msb_w) // EEPROM ADDRESS_MAP_END @@ -521,23 +522,23 @@ ADDRESS_MAP_END ***************************************************************************/ static ADDRESS_MAP_START( esprade_map, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM - AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM - AM_RANGE(0x300000, 0x300003) AM_DEVREADWRITE8("ymz", ymz280b_r, ymz280b_w, 0x00ff) // YMZ280 -/**/AM_RANGE(0x400000, 0x407fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites + AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM + AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM + AM_RANGE(0x300000, 0x300003) AM_DEVREADWRITE8("ymz", ymz280b_r, ymz280b_w, 0x00ff) // YMZ280 +/**/AM_RANGE(0x400000, 0x407fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites /**/AM_RANGE(0x408000, 0x40ffff) AM_RAM AM_BASE_MEMBER(cave_state, spriteram_2) // Sprites? -/**/AM_RANGE(0x500000, 0x507fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 -/**/AM_RANGE(0x600000, 0x607fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE_MEMBER(cave_state, vram_1) // Layer 1 -/**/AM_RANGE(0x700000, 0x707fff) AM_RAM_WRITE(cave_vram_2_w) AM_BASE_MEMBER(cave_state, vram_2) // Layer 2 - AM_RANGE(0x800000, 0x800007) AM_READ(cave_irq_cause_r) // IRQ Cause +/**/AM_RANGE(0x500000, 0x507fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 +/**/AM_RANGE(0x600000, 0x607fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE_MEMBER(cave_state, vram_1) // Layer 1 +/**/AM_RANGE(0x700000, 0x707fff) AM_RAM_WRITE(cave_vram_2_w) AM_BASE_MEMBER(cave_state, vram_2) // Layer 2 + AM_RANGE(0x800000, 0x800007) AM_READ(cave_irq_cause_r) // IRQ Cause AM_RANGE(0x800000, 0x80007f) AM_WRITEONLY AM_BASE_MEMBER(cave_state, videoregs) // Video Regs -/**/AM_RANGE(0x900000, 0x900005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control -/**/AM_RANGE(0xa00000, 0xa00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_1) // Layer 1 Control -/**/AM_RANGE(0xb00000, 0xb00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_2) // Layer 2 Control +/**/AM_RANGE(0x900000, 0x900005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control +/**/AM_RANGE(0xa00000, 0xa00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_1) // Layer 1 Control +/**/AM_RANGE(0xb00000, 0xb00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_2) // Layer 2 Control /**/AM_RANGE(0xc00000, 0xc0ffff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, paletteram, paletteram_size) // Palette - AM_RANGE(0xd00000, 0xd00001) AM_READ_PORT("IN0" ) // Inputs - AM_RANGE(0xd00002, 0xd00003) AM_READ_PORT("IN1" ) // Inputs + EEPROM - AM_RANGE(0xe00000, 0xe00001) AM_DEVWRITE("eeprom", cave_eeprom_msb_w) // EEPROM + AM_RANGE(0xd00000, 0xd00001) AM_READ_PORT("IN0" ) // Inputs + AM_RANGE(0xd00002, 0xd00003) AM_READ_PORT("IN1" ) // Inputs + EEPROM + AM_RANGE(0xe00000, 0xe00001) AM_DEVWRITE("eeprom", cave_eeprom_msb_w) // EEPROM ADDRESS_MAP_END @@ -546,28 +547,28 @@ ADDRESS_MAP_END ***************************************************************************/ static ADDRESS_MAP_START( gaia_map, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM - AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM - AM_RANGE(0x300000, 0x300003) AM_DEVREADWRITE8("ymz", ymz280b_r, ymz280b_w, 0x00ff) // YMZ280 - AM_RANGE(0x400000, 0x407fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprite bank 1 + AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM + AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM + AM_RANGE(0x300000, 0x300003) AM_DEVREADWRITE8("ymz", ymz280b_r, ymz280b_w, 0x00ff) // YMZ280 + AM_RANGE(0x400000, 0x407fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprite bank 1 AM_RANGE(0x408000, 0x40ffff) AM_RAM AM_BASE_MEMBER(cave_state, spriteram_2) // Sprite bank 2 - AM_RANGE(0x500000, 0x507fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 - AM_RANGE(0x508000, 0x50ffff) AM_RAM // More Layer 0, Tested but not used? - AM_RANGE(0x600000, 0x607fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE_MEMBER(cave_state, vram_1) // Layer 1 - AM_RANGE(0x608000, 0x60ffff) AM_RAM // More Layer 1, Tested but not used? - AM_RANGE(0x700000, 0x707fff) AM_RAM_WRITE(cave_vram_2_w) AM_BASE_MEMBER(cave_state, vram_2) // Layer 2 - AM_RANGE(0x708000, 0x70ffff) AM_RAM // More Layer 2, Tested but not used? - AM_RANGE(0x800000, 0x800007) AM_READ(cave_irq_cause_r) // IRQ Cause + AM_RANGE(0x500000, 0x507fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 + AM_RANGE(0x508000, 0x50ffff) AM_RAM // More Layer 0, Tested but not used? + AM_RANGE(0x600000, 0x607fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE_MEMBER(cave_state, vram_1) // Layer 1 + AM_RANGE(0x608000, 0x60ffff) AM_RAM // More Layer 1, Tested but not used? + AM_RANGE(0x700000, 0x707fff) AM_RAM_WRITE(cave_vram_2_w) AM_BASE_MEMBER(cave_state, vram_2) // Layer 2 + AM_RANGE(0x708000, 0x70ffff) AM_RAM // More Layer 2, Tested but not used? + AM_RANGE(0x800000, 0x800007) AM_READ(cave_irq_cause_r) // IRQ Cause AM_RANGE(0x800000, 0x80007f) AM_WRITEONLY AM_BASE_MEMBER(cave_state, videoregs) // Video Regs -/**/AM_RANGE(0x900000, 0x900005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control -/**/AM_RANGE(0xa00000, 0xa00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_1) // Layer 1 Control -/**/AM_RANGE(0xb00000, 0xb00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_2) // Layer 2 Control +/**/AM_RANGE(0x900000, 0x900005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control +/**/AM_RANGE(0xa00000, 0xa00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_1) // Layer 1 Control +/**/AM_RANGE(0xb00000, 0xb00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_2) // Layer 2 Control AM_RANGE(0xc00000, 0xc0ffff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, paletteram, paletteram_size) // Palette - AM_RANGE(0xd00010, 0xd00011) AM_READ_PORT("IN0") // Inputs - AM_RANGE(0xd00010, 0xd00011) AM_WRITE(gaia_coin_lsb_w) // Coin counter only - AM_RANGE(0xd00012, 0xd00013) AM_READ_PORT("IN1") // Inputs - AM_RANGE(0xd00014, 0xd00015) AM_READ_PORT("DSW") // Dips - AM_RANGE(0xd00014, 0xd00015) AM_WRITE(watchdog_reset16_w) // Watchdog? + AM_RANGE(0xd00010, 0xd00011) AM_READ_PORT("IN0") // Inputs + AM_RANGE(0xd00010, 0xd00011) AM_WRITE(gaia_coin_lsb_w) // Coin counter only + AM_RANGE(0xd00012, 0xd00013) AM_READ_PORT("IN1") // Inputs + AM_RANGE(0xd00014, 0xd00015) AM_READ_PORT("DSW") // Dips + AM_RANGE(0xd00014, 0xd00015) AM_WRITE(watchdog_reset16_w) // Watchdog? ADDRESS_MAP_END @@ -576,25 +577,25 @@ ADDRESS_MAP_END ***************************************************************************/ static ADDRESS_MAP_START( guwange_map, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM - AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM - AM_RANGE(0x300000, 0x300007) AM_READ(cave_irq_cause_r) // IRQ Cause + AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM + AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM + AM_RANGE(0x300000, 0x300007) AM_READ(cave_irq_cause_r) // IRQ Cause AM_RANGE(0x300000, 0x30007f) AM_WRITEONLY AM_BASE_MEMBER(cave_state, videoregs) // Video Regs -/**/AM_RANGE(0x400000, 0x407fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites +/**/AM_RANGE(0x400000, 0x407fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites /**/AM_RANGE(0x408000, 0x40ffff) AM_RAM AM_BASE_MEMBER(cave_state, spriteram_2) // Sprites? -/**/AM_RANGE(0x500000, 0x507fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 -/**/AM_RANGE(0x600000, 0x607fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE_MEMBER(cave_state, vram_1) // Layer 1 -/**/AM_RANGE(0x700000, 0x707fff) AM_RAM_WRITE(cave_vram_2_w) AM_BASE_MEMBER(cave_state, vram_2) // Layer 2 - AM_RANGE(0x800000, 0x800003) AM_DEVREADWRITE8("ymz", ymz280b_r, ymz280b_w, 0x00ff) // YMZ280 -/**/AM_RANGE(0x900000, 0x900005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control -/**/AM_RANGE(0xa00000, 0xa00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_1) // Layer 1 Control -/**/AM_RANGE(0xb00000, 0xb00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_2) // Layer 2 Control +/**/AM_RANGE(0x500000, 0x507fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 +/**/AM_RANGE(0x600000, 0x607fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE_MEMBER(cave_state, vram_1) // Layer 1 +/**/AM_RANGE(0x700000, 0x707fff) AM_RAM_WRITE(cave_vram_2_w) AM_BASE_MEMBER(cave_state, vram_2) // Layer 2 + AM_RANGE(0x800000, 0x800003) AM_DEVREADWRITE8("ymz", ymz280b_r, ymz280b_w, 0x00ff) // YMZ280 +/**/AM_RANGE(0x900000, 0x900005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control +/**/AM_RANGE(0xa00000, 0xa00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_1) // Layer 1 Control +/**/AM_RANGE(0xb00000, 0xb00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_2) // Layer 2 Control /**/AM_RANGE(0xc00000, 0xc0ffff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, paletteram, paletteram_size) // Palette - AM_RANGE(0xd00010, 0xd00011) AM_READ_PORT("IN0") // Inputs - AM_RANGE(0xd00010, 0xd00011) AM_DEVWRITE("eeprom", cave_eeprom_lsb_w) // EEPROM - AM_RANGE(0xd00012, 0xd00013) AM_READ_PORT("IN1") // Inputs + EEPROM -// AM_RANGE(0xd00012, 0xd00013) AM_WRITENOP // ? -// AM_RANGE(0xd00014, 0xd00015) AM_WRITENOP // ? $800068 in dfeveron ? probably Watchdog + AM_RANGE(0xd00010, 0xd00011) AM_READ_PORT("IN0") // Inputs + AM_RANGE(0xd00010, 0xd00011) AM_DEVWRITE("eeprom", cave_eeprom_lsb_w) // EEPROM + AM_RANGE(0xd00012, 0xd00013) AM_READ_PORT("IN1") // Inputs + EEPROM +// AM_RANGE(0xd00012, 0xd00013) AM_WRITENOP // ? +// AM_RANGE(0xd00014, 0xd00015) AM_WRITENOP // ? $800068 in dfeveron ? probably Watchdog ADDRESS_MAP_END @@ -603,24 +604,24 @@ ADDRESS_MAP_END ***************************************************************************/ static ADDRESS_MAP_START( hotdogst_map, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM - AM_RANGE(0x300000, 0x30ffff) AM_RAM // RAM + AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM + AM_RANGE(0x300000, 0x30ffff) AM_RAM // RAM /**/AM_RANGE(0x408000, 0x408fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, paletteram, paletteram_size) // Palette -/**/AM_RANGE(0x880000, 0x887fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 -/**/AM_RANGE(0x900000, 0x907fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE_MEMBER(cave_state, vram_1) // Layer 1 -/**/AM_RANGE(0x980000, 0x987fff) AM_RAM_WRITE(cave_vram_2_w) AM_BASE_MEMBER(cave_state, vram_2) // Layer 2 - AM_RANGE(0xa80000, 0xa80007) AM_READ(cave_irq_cause_r) // IRQ Cause -// AM_RANGE(0xa8006e, 0xa8006f) AM_READ(soundlatch_ack_r) // From Sound CPU - AM_RANGE(0xa8006e, 0xa8006f) AM_WRITE(sound_cmd_w) // To Sound CPU +/**/AM_RANGE(0x880000, 0x887fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 +/**/AM_RANGE(0x900000, 0x907fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE_MEMBER(cave_state, vram_1) // Layer 1 +/**/AM_RANGE(0x980000, 0x987fff) AM_RAM_WRITE(cave_vram_2_w) AM_BASE_MEMBER(cave_state, vram_2) // Layer 2 + AM_RANGE(0xa80000, 0xa80007) AM_READ(cave_irq_cause_r) // IRQ Cause +// AM_RANGE(0xa8006e, 0xa8006f) AM_READ(soundlatch_ack_r) // From Sound CPU + AM_RANGE(0xa8006e, 0xa8006f) AM_WRITE(sound_cmd_w) // To Sound CPU AM_RANGE(0xa80000, 0xa8007f) AM_WRITEONLY AM_BASE_MEMBER(cave_state, videoregs) // Video Regs -/**/AM_RANGE(0xb00000, 0xb00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control -/**/AM_RANGE(0xb80000, 0xb80005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_1) // Layer 1 Control -/**/AM_RANGE(0xc00000, 0xc00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_2) // Layer 2 Control - AM_RANGE(0xc80000, 0xc80001) AM_READ_PORT("IN0") // Inputs - AM_RANGE(0xc80002, 0xc80003) AM_READ_PORT("IN1") // Inputs + EEPROM - AM_RANGE(0xd00000, 0xd00001) AM_DEVWRITE("eeprom", hotdogst_eeprom_msb_w) // EEPROM - AM_RANGE(0xd00002, 0xd00003) AM_WRITENOP // ??? -/**/AM_RANGE(0xf00000, 0xf07fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites +/**/AM_RANGE(0xb00000, 0xb00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control +/**/AM_RANGE(0xb80000, 0xb80005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_1) // Layer 1 Control +/**/AM_RANGE(0xc00000, 0xc00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_2) // Layer 2 Control + AM_RANGE(0xc80000, 0xc80001) AM_READ_PORT("IN0") // Inputs + AM_RANGE(0xc80002, 0xc80003) AM_READ_PORT("IN1") // Inputs + EEPROM + AM_RANGE(0xd00000, 0xd00001) AM_DEVWRITE("eeprom", hotdogst_eeprom_msb_w) // EEPROM + AM_RANGE(0xd00002, 0xd00003) AM_WRITENOP // ??? +/**/AM_RANGE(0xf00000, 0xf07fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites /**/AM_RANGE(0xf08000, 0xf0ffff) AM_RAM AM_BASE_MEMBER(cave_state, spriteram_2) // Sprites? ADDRESS_MAP_END @@ -696,62 +697,59 @@ static CUSTOM_INPUT( korokoro_hopper_r ) static ADDRESS_MAP_START( korokoro_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM -// AM_RANGE(0x100000, 0x107fff) AM_READONLY // Layer 0 - AM_RANGE(0x100000, 0x107fff) AM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 -// AM_RANGE(0x140000, 0x140005) AM_READONLY // Layer 0 Control - AM_RANGE(0x140000, 0x140005) AM_WRITEONLY AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control -// AM_RANGE(0x180000, 0x187fff) AM_READONLY // Sprites - AM_RANGE(0x180000, 0x187fff) AM_WRITEONLY AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites + AM_RANGE(0x100000, 0x107fff) AM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 + AM_RANGE(0x140000, 0x140005) AM_WRITEONLY AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control + AM_RANGE(0x180000, 0x187fff) AM_WRITEONLY AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites AM_RANGE(0x1c0000, 0x1c0007) AM_READ(cave_irq_cause_r) // IRQ Cause - AM_RANGE(0x1c0000, 0x1c007f) AM_WRITEONLY AM_BASE_MEMBER(cave_state, videoregs) // Video Regs -// AM_RANGE(0x200000, 0x207fff) AM_READONLY // Palette + AM_RANGE(0x1c0000, 0x1c007f) AM_WRITEONLY AM_BASE_MEMBER(cave_state, videoregs) // Video Regs AM_RANGE(0x200000, 0x207fff) AM_WRITEONLY AM_BASE_SIZE_MEMBER(cave_state, paletteram, paletteram_size) // Palette // AM_RANGE(0x240000, 0x240003) AM_DEVREAD8( "ymz", ymz280b_r, 0x00ff) // YMZ280 AM_RANGE(0x240000, 0x240003) AM_DEVWRITE8( "ymz", ymz280b_w, 0x00ff) // YMZ280 AM_RANGE(0x280000, 0x280001) AM_READ_PORT("IN0") // Inputs + ??? AM_RANGE(0x280002, 0x280003) AM_READ_PORT("IN1") // Inputs + EEPROM - AM_RANGE(0x280008, 0x280009) AM_WRITE(korokoro_leds_w) + AM_RANGE(0x280008, 0x280009) AM_WRITE(korokoro_leds_w) // Leds AM_RANGE(0x28000a, 0x28000b) AM_DEVWRITE("eeprom", korokoro_eeprom_msb_w) // EEPROM - AM_RANGE(0x28000c, 0x28000d) AM_WRITENOP // 0 (watchdog?) + AM_RANGE(0x28000c, 0x28000d) AM_WRITENOP // 0 (watchdog?) AM_RANGE(0x300000, 0x30ffff) AM_RAM // RAM ADDRESS_MAP_END static ADDRESS_MAP_START( crusherm_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM - AM_RANGE(0x100000, 0x107fff) AM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 - AM_RANGE(0x140000, 0x140005) AM_WRITEONLY AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control - AM_RANGE(0x180000, 0x187fff) AM_WRITEONLY AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites + AM_RANGE(0x100000, 0x107fff) AM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 + AM_RANGE(0x140000, 0x140005) AM_WRITEONLY AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control + AM_RANGE(0x180000, 0x187fff) AM_WRITEONLY AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites AM_RANGE(0x200000, 0x207fff) AM_WRITEONLY AM_BASE_SIZE_MEMBER(cave_state, paletteram, paletteram_size) // Palette AM_RANGE(0x240000, 0x240003) AM_DEVWRITE8( "ymz", ymz280b_w, 0x00ff) // YMZ280 AM_RANGE(0x280000, 0x280001) AM_READ_PORT("IN0") // Inputs + ??? AM_RANGE(0x280002, 0x280003) AM_READ_PORT("IN1") // Inputs + EEPROM - AM_RANGE(0x280008, 0x280009) AM_WRITE(korokoro_leds_w) + AM_RANGE(0x280008, 0x280009) AM_WRITE(korokoro_leds_w) // Leds AM_RANGE(0x28000a, 0x28000b) AM_DEVWRITE("eeprom", korokoro_eeprom_msb_w) // EEPROM - AM_RANGE(0x28000c, 0x28000d) AM_WRITENOP // 0 (watchdog?) + AM_RANGE(0x28000c, 0x28000d) AM_WRITENOP // 0 (watchdog?) AM_RANGE(0x300000, 0x300007) AM_READ(cave_irq_cause_r) // IRQ Cause - AM_RANGE(0x300000, 0x30007f) AM_WRITEONLY AM_BASE_MEMBER(cave_state, videoregs) // Video Regs + AM_RANGE(0x300000, 0x30007f) AM_WRITEONLY AM_BASE_MEMBER(cave_state, videoregs) // Video Regs AM_RANGE(0x340000, 0x34ffff) AM_RAM // RAM ADDRESS_MAP_END + /*************************************************************************** Mazinger Z ***************************************************************************/ static ADDRESS_MAP_START( mazinger_map, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM - AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM -/**/AM_RANGE(0x200000, 0x207fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites + AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM + AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM +/**/AM_RANGE(0x200000, 0x207fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites /**/AM_RANGE(0x208000, 0x20ffff) AM_RAM AM_BASE_MEMBER(cave_state, spriteram_2) // Sprites? - AM_RANGE(0x300000, 0x300007) AM_READ(cave_irq_cause_r) // IRQ Cause - AM_RANGE(0x300068, 0x300069) AM_WRITE(watchdog_reset16_w) // Watchdog - AM_RANGE(0x30006e, 0x30006f) AM_READWRITE(soundlatch_ack_r, sound_cmd_w) // From Sound CPU + AM_RANGE(0x300000, 0x300007) AM_READ(cave_irq_cause_r) // IRQ Cause + AM_RANGE(0x300068, 0x300069) AM_WRITE(watchdog_reset16_w) // Watchdog + AM_RANGE(0x30006e, 0x30006f) AM_READWRITE(soundlatch_ack_r, sound_cmd_w) // From Sound CPU AM_RANGE(0x300000, 0x30007f) AM_WRITEONLY AM_BASE_MEMBER(cave_state, videoregs) // Video Regs - AM_RANGE(0x400000, 0x407fff) AM_RAM_WRITE(cave_vram_1_8x8_w) AM_BASE_MEMBER(cave_state, vram_1) // Layer 1 -/**/AM_RANGE(0x500000, 0x507fff) AM_RAM_WRITE(cave_vram_0_8x8_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 -/**/AM_RANGE(0x600000, 0x600005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_1) // Layer 1 Control -/**/AM_RANGE(0x700000, 0x700005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control - AM_RANGE(0x800000, 0x800001) AM_READ_PORT("IN0") // Inputs - AM_RANGE(0x800002, 0x800003) AM_READ_PORT("IN1") // Inputs + EEPROM - AM_RANGE(0x900000, 0x900001) AM_DEVWRITE("eeprom", cave_eeprom_msb_w) // EEPROM + AM_RANGE(0x400000, 0x407fff) AM_RAM_WRITE(cave_vram_1_8x8_w) AM_BASE_MEMBER(cave_state, vram_1) // Layer 1 +/**/AM_RANGE(0x500000, 0x507fff) AM_RAM_WRITE(cave_vram_0_8x8_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 +/**/AM_RANGE(0x600000, 0x600005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_1) // Layer 1 Control +/**/AM_RANGE(0x700000, 0x700005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control + AM_RANGE(0x800000, 0x800001) AM_READ_PORT("IN0") // Inputs + AM_RANGE(0x800002, 0x800003) AM_READ_PORT("IN1") // Inputs + EEPROM + AM_RANGE(0x900000, 0x900001) AM_DEVWRITE("eeprom", cave_eeprom_msb_w) // EEPROM /**/AM_RANGE(0xc08000, 0xc0ffff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, paletteram, paletteram_size) // Palette AM_RANGE(0xd00000, 0xd7ffff) AM_ROMBANK("bank1") // ROM ADDRESS_MAP_END @@ -762,29 +760,29 @@ ADDRESS_MAP_END ***************************************************************************/ static ADDRESS_MAP_START( metmqstr_map, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM - AM_RANGE(0x100000, 0x17ffff) AM_ROM // ROM - AM_RANGE(0x200000, 0x27ffff) AM_ROM // ROM + AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM + AM_RANGE(0x100000, 0x17ffff) AM_ROM // ROM + AM_RANGE(0x200000, 0x27ffff) AM_ROM // ROM AM_RANGE(0x408000, 0x408fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, paletteram, paletteram_size) // Palette - AM_RANGE(0x600000, 0x600001) AM_READ(watchdog_reset16_r) // Watchdog? - AM_RANGE(0x880000, 0x887fff) AM_RAM_WRITE(cave_vram_2_w) AM_BASE_MEMBER(cave_state, vram_2) // Layer 2 - AM_RANGE(0x888000, 0x88ffff) AM_RAM // - AM_RANGE(0x900000, 0x907fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE_MEMBER(cave_state, vram_1) // Layer 1 - AM_RANGE(0x908000, 0x90ffff) AM_RAM // - AM_RANGE(0x980000, 0x987fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 - AM_RANGE(0x988000, 0x98ffff) AM_RAM // - AM_RANGE(0xa80000, 0xa80007) AM_READ(cave_irq_cause_r) // IRQ Cause - AM_RANGE(0xa80068, 0xa80069) AM_WRITE(watchdog_reset16_w) // Watchdog? - AM_RANGE(0xa8006c, 0xa8006d) AM_READ(soundflags_ack_r) AM_WRITENOP // Communication - AM_RANGE(0xa8006e, 0xa8006f) AM_READWRITE(soundlatch_ack_r, sound_cmd_w) // From Sound CPU + AM_RANGE(0x600000, 0x600001) AM_READ(watchdog_reset16_r) // Watchdog? + AM_RANGE(0x880000, 0x887fff) AM_RAM_WRITE(cave_vram_2_w) AM_BASE_MEMBER(cave_state, vram_2) // Layer 2 + AM_RANGE(0x888000, 0x88ffff) AM_RAM // + AM_RANGE(0x900000, 0x907fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE_MEMBER(cave_state, vram_1) // Layer 1 + AM_RANGE(0x908000, 0x90ffff) AM_RAM // + AM_RANGE(0x980000, 0x987fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 + AM_RANGE(0x988000, 0x98ffff) AM_RAM // + AM_RANGE(0xa80000, 0xa80007) AM_READ(cave_irq_cause_r) // IRQ Cause + AM_RANGE(0xa80068, 0xa80069) AM_WRITE(watchdog_reset16_w) // Watchdog? + AM_RANGE(0xa8006c, 0xa8006d) AM_READ(soundflags_ack_r) AM_WRITENOP // Communication + AM_RANGE(0xa8006e, 0xa8006f) AM_READWRITE(soundlatch_ack_r, sound_cmd_w) // From Sound CPU AM_RANGE(0xa80000, 0xa8007f) AM_WRITEONLY AM_BASE_MEMBER(cave_state, videoregs) // Video Regs -/**/AM_RANGE(0xb00000, 0xb00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_2) // Layer 2 Control -/**/AM_RANGE(0xb80000, 0xb80005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_1) // Layer 1 Control -/**/AM_RANGE(0xc00000, 0xc00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control - AM_RANGE(0xc80000, 0xc80001) AM_READ_PORT("IN0") // Inputs - AM_RANGE(0xc80002, 0xc80003) AM_READ_PORT("IN1") // Inputs + EEPROM - AM_RANGE(0xd00000, 0xd00001) AM_DEVWRITE("eeprom", metmqstr_eeprom_msb_w) // EEPROM - AM_RANGE(0xf00000, 0xf07fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites +/**/AM_RANGE(0xb00000, 0xb00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_2) // Layer 2 Control +/**/AM_RANGE(0xb80000, 0xb80005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_1) // Layer 1 Control +/**/AM_RANGE(0xc00000, 0xc00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control + AM_RANGE(0xc80000, 0xc80001) AM_READ_PORT("IN0") // Inputs + AM_RANGE(0xc80002, 0xc80003) AM_READ_PORT("IN1") // Inputs + EEPROM + AM_RANGE(0xd00000, 0xd00001) AM_DEVWRITE("eeprom", metmqstr_eeprom_msb_w) // EEPROM + AM_RANGE(0xf00000, 0xf07fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites AM_RANGE(0xf08000, 0xf0ffff) AM_RAM AM_BASE_MEMBER(cave_state, spriteram_2) // RAM ADDRESS_MAP_END @@ -819,28 +817,28 @@ static WRITE16_HANDLER( pwrinst2_vctrl_2_w ) { cave_state *state = (cave_state * static WRITE16_HANDLER( pwrinst2_vctrl_3_w ) { cave_state *state = (cave_state *)space->machine->driver_data; vctrl_w(state->vctrl_3, offset, data, mem_mask); } static ADDRESS_MAP_START( pwrinst2_map, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM - AM_RANGE(0x400000, 0x40ffff) AM_RAM // RAM - AM_RANGE(0x500000, 0x500001) AM_READ_PORT("IN0") // Inputs - AM_RANGE(0x500002, 0x500003) AM_READ_PORT("IN1") // - AM_RANGE(0x600000, 0x6fffff) AM_ROM AM_REGION("user1", 0) // extra data ROM space - AM_RANGE(0x700000, 0x700001) AM_DEVWRITE("eeprom", cave_eeprom_msb_w) // EEPROM - AM_RANGE(0x800000, 0x807fff) AM_RAM_WRITE(cave_vram_2_w) AM_BASE_MEMBER(cave_state, vram_2) // Layer 2 - AM_RANGE(0x880000, 0x887fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 - AM_RANGE(0x900000, 0x907fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE_MEMBER(cave_state, vram_1) // Layer 1 - AM_RANGE(0x980000, 0x987fff) AM_RAM_WRITE(cave_vram_3_8x8_w) AM_BASE_MEMBER(cave_state, vram_3) // Layer 3 - AM_RANGE(0xa00000, 0xa07fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites - AM_RANGE(0xa08000, 0xa0ffff) AM_RAM AM_BASE_MEMBER(cave_state, spriteram_2) // Sprites? - AM_RANGE(0xa10000, 0xa1ffff) AM_RAM // Sprites? - AM_RANGE(0xa80000, 0xa8007f) AM_RAM_READ(donpachi_videoregs_r) AM_BASE_MEMBER(cave_state, videoregs) // Video Regs -/**/AM_RANGE(0xb00000, 0xb00005) AM_RAM_WRITE(pwrinst2_vctrl_2_w) AM_BASE_MEMBER(cave_state, vctrl_2) // Layer 2 Control -/**/AM_RANGE(0xb80000, 0xb80005) AM_RAM_WRITE(pwrinst2_vctrl_0_w) AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control -/**/AM_RANGE(0xc00000, 0xc00005) AM_RAM_WRITE(pwrinst2_vctrl_1_w) AM_BASE_MEMBER(cave_state, vctrl_1) // Layer 1 Control -/**/AM_RANGE(0xc80000, 0xc80005) AM_RAM_WRITE(pwrinst2_vctrl_3_w) AM_BASE_MEMBER(cave_state, vctrl_3) // Layer 3 Control - AM_RANGE(0xd80000, 0xd80001) AM_READ(soundlatch_ack_r) // ? From Sound CPU - AM_RANGE(0xe00000, 0xe00001) AM_WRITE(sound_cmd_w) // To Sound CPU - AM_RANGE(0xe80000, 0xe80001) AM_DEVREAD("eeprom", pwrinst2_eeprom_r) // EEPROM - AM_RANGE(0xf00000, 0xf04fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, paletteram, paletteram_size) // Palette + AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM + AM_RANGE(0x400000, 0x40ffff) AM_RAM // RAM + AM_RANGE(0x500000, 0x500001) AM_READ_PORT("IN0") // Inputs + AM_RANGE(0x500002, 0x500003) AM_READ_PORT("IN1") // + AM_RANGE(0x600000, 0x6fffff) AM_ROM AM_REGION("user1", 0) // extra data ROM space + AM_RANGE(0x700000, 0x700001) AM_DEVWRITE("eeprom", cave_eeprom_msb_w) // EEPROM + AM_RANGE(0x800000, 0x807fff) AM_RAM_WRITE(cave_vram_2_w) AM_BASE_MEMBER(cave_state, vram_2) // Layer 2 + AM_RANGE(0x880000, 0x887fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 + AM_RANGE(0x900000, 0x907fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE_MEMBER(cave_state, vram_1) // Layer 1 + AM_RANGE(0x980000, 0x987fff) AM_RAM_WRITE(cave_vram_3_8x8_w) AM_BASE_MEMBER(cave_state, vram_3) // Layer 3 + AM_RANGE(0xa00000, 0xa07fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites + AM_RANGE(0xa08000, 0xa0ffff) AM_RAM AM_BASE_MEMBER(cave_state, spriteram_2) // Sprites? + AM_RANGE(0xa10000, 0xa1ffff) AM_RAM // Sprites? + AM_RANGE(0xa80000, 0xa8007f) AM_RAM_READ(donpachi_videoregs_r) AM_BASE_MEMBER(cave_state, videoregs) // Video Regs +/**/AM_RANGE(0xb00000, 0xb00005) AM_RAM_WRITE(pwrinst2_vctrl_2_w) AM_BASE_MEMBER(cave_state, vctrl_2) // Layer 2 Control +/**/AM_RANGE(0xb80000, 0xb80005) AM_RAM_WRITE(pwrinst2_vctrl_0_w) AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control +/**/AM_RANGE(0xc00000, 0xc00005) AM_RAM_WRITE(pwrinst2_vctrl_1_w) AM_BASE_MEMBER(cave_state, vctrl_1) // Layer 1 Control +/**/AM_RANGE(0xc80000, 0xc80005) AM_RAM_WRITE(pwrinst2_vctrl_3_w) AM_BASE_MEMBER(cave_state, vctrl_3) // Layer 3 Control + AM_RANGE(0xd80000, 0xd80001) AM_READ(soundlatch_ack_r) // ? From Sound CPU + AM_RANGE(0xe00000, 0xe00001) AM_WRITE(sound_cmd_w) // To Sound CPU + AM_RANGE(0xe80000, 0xe80001) AM_DEVREAD("eeprom", pwrinst2_eeprom_r) // EEPROM + AM_RANGE(0xf00000, 0xf04fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, paletteram, paletteram_size) // Palette ADDRESS_MAP_END @@ -860,27 +858,93 @@ static ADDRESS_MAP_START( sailormn_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x110000, 0x110001) AM_RAM // (agallet) AM_RANGE(0x200000, 0x3fffff) AM_ROM // ROM AM_RANGE(0x400000, 0x407fff) AM_RAM // (agallet) - AM_RANGE(0x408000, 0x40bfff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, paletteram, paletteram_size) // Palette + AM_RANGE(0x408000, 0x40bfff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, paletteram, paletteram_size) // Palette AM_RANGE(0x40c000, 0x40ffff) AM_RAM // (agallet) AM_RANGE(0x410000, 0x410001) AM_RAM // (agallet) - AM_RANGE(0x500000, 0x507fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites - AM_RANGE(0x508000, 0x50ffff) AM_RAM AM_BASE_MEMBER(cave_state, spriteram_2) // Sprites? + AM_RANGE(0x500000, 0x507fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites + AM_RANGE(0x508000, 0x50ffff) AM_RAM AM_BASE_MEMBER(cave_state, spriteram_2) // Sprites? AM_RANGE(0x510000, 0x510001) AM_RAM // (agallet) AM_RANGE(0x600000, 0x600001) AM_READ(sailormn_input0_r) // Inputs + Watchdog! AM_RANGE(0x600002, 0x600003) AM_READ_PORT("IN1") // Inputs + EEPROM AM_RANGE(0x700000, 0x700001) AM_DEVWRITE("eeprom", sailormn_eeprom_msb_w) // EEPROM - AM_RANGE(0x800000, 0x807fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 - AM_RANGE(0x880000, 0x887fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE_MEMBER(cave_state, vram_1) // Layer 1 - AM_RANGE(0x900000, 0x907fff) AM_RAM_WRITE(cave_vram_2_w) AM_BASE_MEMBER(cave_state, vram_2) // Layer 2 + AM_RANGE(0x800000, 0x807fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 + AM_RANGE(0x880000, 0x887fff) AM_RAM_WRITE(cave_vram_1_w) AM_BASE_MEMBER(cave_state, vram_1) // Layer 1 + AM_RANGE(0x900000, 0x907fff) AM_RAM_WRITE(cave_vram_2_w) AM_BASE_MEMBER(cave_state, vram_2) // Layer 2 AM_RANGE(0x908000, 0x908001) AM_RAM // (agallet) -/**/AM_RANGE(0xa00000, 0xa00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control -/**/AM_RANGE(0xa80000, 0xa80005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_1) // Layer 1 Control -/**/AM_RANGE(0xb00000, 0xb00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_2) // Layer 2 Control +/**/AM_RANGE(0xa00000, 0xa00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control +/**/AM_RANGE(0xa80000, 0xa80005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_1) // Layer 1 Control +/**/AM_RANGE(0xb00000, 0xb00005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_2) // Layer 2 Control AM_RANGE(0xb80000, 0xb80007) AM_READ(cave_irq_cause_r) // IRQ Cause (bit 2 tested!) AM_RANGE(0xb8006c, 0xb8006d) AM_READ(soundflags_ack_r) // Communication AM_RANGE(0xb8006e, 0xb8006f) AM_READ(soundlatch_ack_r) // From Sound CPU AM_RANGE(0xb8006e, 0xb8006f) AM_WRITE(sound_cmd_w) // To Sound CPU - AM_RANGE(0xb80000, 0xb8007f) AM_WRITEONLY AM_BASE_MEMBER(cave_state, videoregs) // Video Regs + AM_RANGE(0xb80000, 0xb8007f) AM_WRITEONLY AM_BASE_MEMBER(cave_state, videoregs) // Video Regs +ADDRESS_MAP_END + + +/*************************************************************************** + Tobikose! Jumpman +***************************************************************************/ + +static WRITE16_DEVICE_HANDLER( tjumpman_eeprom_lsb_w ) +{ + if (data & ~0x0038) + logerror("%s: Unknown EEPROM bit written %04X\n",cpuexec_describe_context(device->machine),data); + + if (ACCESSING_BITS_0_7) // odd address + { + // latch the bit + eeprom_write_bit(device, data & 0x0020); + + // reset line asserted: reset. + eeprom_set_cs_line(device, (data & 0x0008) ? CLEAR_LINE : ASSERT_LINE); + + // clock line asserted: write latch or select next bit to read + eeprom_set_clock_line(device, (data & 0x0010) ? ASSERT_LINE : CLEAR_LINE); + } +} + +static WRITE16_HANDLER( tjumpman_leds_w ) +{ + cave_state *state = (cave_state *)space->machine->driver_data; + if (ACCESSING_BITS_0_7) + { + set_led_status(space->machine, 0, data & 0x0001); // suru + set_led_status(space->machine, 1, data & 0x0002); // shinai + set_led_status(space->machine, 2, data & 0x0004); // payout + set_led_status(space->machine, 3, data & 0x0008); // go + set_led_status(space->machine, 4, data & 0x0010); // 1 bet + set_led_status(space->machine, 5, data & 0x0020); // medal + state->hopper = data & 0x0040; // hopper + set_led_status(space->machine, 6, data & 0x0080); // 3 bet + } + +// popmessage("led %04X", data); +} + +static CUSTOM_INPUT( tjumpman_hopper_r ) +{ + cave_state *state = (cave_state *)field->port->machine->driver_data; + return (state->hopper && !(video_screen_get_frame_number(field->port->machine->primary_screen) % 10)) ? 0 : 1; +} + +static ADDRESS_MAP_START( tjumpman_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM + AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_BASE_SIZE_GENERIC( nvram ) // RAM + AM_RANGE(0x200000, 0x207fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites + AM_RANGE(0x208000, 0x20ffff) AM_RAM AM_BASE_MEMBER(cave_state, spriteram_2) // Sprite bank 2 + AM_RANGE(0x304000, 0x307fff) AM_WRITE(cave_vram_0_w) // Layer 0 - 16x16 tiles mapped here + AM_RANGE(0x300000, 0x307fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 + AM_RANGE(0x400000, 0x400005) AM_WRITEONLY AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control + AM_RANGE(0x500000, 0x50ffff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, paletteram, paletteram_size) // Palette + AM_RANGE(0x600000, 0x600001) AM_READ_PORT("IN0") // Inputs + EEPROM + Hopper + AM_RANGE(0x600002, 0x600003) AM_READ_PORT("IN1") // Inputs + AM_RANGE(0x700000, 0x700007) AM_READ(cave_irq_cause_r) // IRQ Cause + AM_RANGE(0x700068, 0x700069) AM_WRITE(watchdog_reset16_w) // Watchdog + AM_RANGE(0x700000, 0x70007f) AM_WRITEONLY AM_BASE_MEMBER(cave_state, videoregs) // Video Regs + AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff) // M6295 + AM_RANGE(0xc00000, 0xc00001) AM_WRITE(tjumpman_leds_w) // Leds + Hopper + AM_RANGE(0xe00000, 0xe00001) AM_DEVWRITE("eeprom", tjumpman_eeprom_lsb_w) // EEPROM ADDRESS_MAP_END @@ -889,19 +953,19 @@ ADDRESS_MAP_END ***************************************************************************/ static ADDRESS_MAP_START( uopoko_map, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM - AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM - AM_RANGE(0x300000, 0x300003) AM_DEVREADWRITE8("ymz", ymz280b_r, ymz280b_w, 0x00ff) // YMZ280 -/**/AM_RANGE(0x400000, 0x407fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites + AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM + AM_RANGE(0x100000, 0x10ffff) AM_RAM // RAM + AM_RANGE(0x300000, 0x300003) AM_DEVREADWRITE8("ymz", ymz280b_r, ymz280b_w, 0x00ff) // YMZ280 +/**/AM_RANGE(0x400000, 0x407fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size) // Sprites /**/AM_RANGE(0x408000, 0x40ffff) AM_RAM AM_BASE_MEMBER(cave_state, spriteram_2) // Sprites? -/**/AM_RANGE(0x500000, 0x507fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 - AM_RANGE(0x600000, 0x600007) AM_READ(cave_irq_cause_r) // IRQ Cause +/**/AM_RANGE(0x500000, 0x507fff) AM_RAM_WRITE(cave_vram_0_w) AM_BASE_MEMBER(cave_state, vram_0) // Layer 0 + AM_RANGE(0x600000, 0x600007) AM_READ(cave_irq_cause_r) // IRQ Cause AM_RANGE(0x600000, 0x60007f) AM_WRITEONLY AM_BASE_MEMBER(cave_state, videoregs) // Video Regs -/**/AM_RANGE(0x700000, 0x700005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control +/**/AM_RANGE(0x700000, 0x700005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_0) // Layer 0 Control /**/AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, paletteram, paletteram_size) // Palette - AM_RANGE(0x900000, 0x900001) AM_READ_PORT("IN0") // Inputs - AM_RANGE(0x900002, 0x900003) AM_READ_PORT("IN1") // Inputs + EEPROM - AM_RANGE(0xa00000, 0xa00001) AM_DEVWRITE("eeprom", cave_eeprom_msb_w) // EEPROM + AM_RANGE(0x900000, 0x900001) AM_READ_PORT("IN0") // Inputs + AM_RANGE(0x900002, 0x900003) AM_READ_PORT("IN1") // Inputs + EEPROM + AM_RANGE(0xa00000, 0xa00001) AM_DEVWRITE("eeprom", cave_eeprom_msb_w) // EEPROM ADDRESS_MAP_END @@ -936,9 +1000,9 @@ static WRITE8_HANDLER( hotdogst_okibank_w ) } static ADDRESS_MAP_START( hotdogst_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_ROM // ROM - AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank2") // ROM (Banked) - AM_RANGE(0xe000, 0xffff) AM_RAM // RAM + AM_RANGE(0x0000, 0x3fff) AM_ROM // ROM + AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank2") // ROM (Banked) + AM_RANGE(0xe000, 0xffff) AM_RAM // RAM ADDRESS_MAP_END static ADDRESS_MAP_START( hotdogst_sound_portmap, ADDRESS_SPACE_IO, 8 ) @@ -946,7 +1010,7 @@ static ADDRESS_MAP_START( hotdogst_sound_portmap, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0x00, 0x00) AM_WRITE(hotdogst_rombank_w) // ROM bank AM_RANGE(0x30, 0x30) AM_READ(soundlatch_lo_r) // From Main CPU AM_RANGE(0x40, 0x40) AM_READ(soundlatch_hi_r) // - AM_RANGE(0x50, 0x51) AM_DEVREADWRITE("ymsnd", ym2203_r, ym2203_w) // + AM_RANGE(0x50, 0x51) AM_DEVREADWRITE("ymsnd", ym2203_r, ym2203_w) // AM_RANGE(0x60, 0x60) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w) // M6295 AM_RANGE(0x70, 0x70) AM_WRITE(hotdogst_okibank_w) // Samples bank ADDRESS_MAP_END @@ -965,21 +1029,21 @@ static WRITE8_HANDLER( mazinger_rombank_w ) } static ADDRESS_MAP_START( mazinger_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_ROM // ROM - AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank2") // ROM (Banked) - AM_RANGE(0xc000, 0xc7ff) AM_RAM // RAM - AM_RANGE(0xf800, 0xffff) AM_RAM // RAM + AM_RANGE(0x0000, 0x3fff) AM_ROM // ROM + AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank2") // ROM (Banked) + AM_RANGE(0xc000, 0xc7ff) AM_RAM // RAM + AM_RANGE(0xf800, 0xffff) AM_RAM // RAM ADDRESS_MAP_END static ADDRESS_MAP_START( mazinger_sound_portmap, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x00, 0x00) AM_WRITE(mazinger_rombank_w) // ROM bank - AM_RANGE(0x10, 0x10) AM_WRITE(soundlatch_ack_w) // To Main CPU - AM_RANGE(0x30, 0x30) AM_READ(soundlatch_lo_r) // From Main CPU - AM_RANGE(0x50, 0x51) AM_DEVWRITE("ymsnd", ym2203_w) // YM2203 - AM_RANGE(0x52, 0x53) AM_DEVREAD("ymsnd", ym2203_r) // YM2203 - AM_RANGE(0x70, 0x70) AM_DEVWRITE("oki", okim6295_w) // M6295 - AM_RANGE(0x74, 0x74) AM_WRITE(hotdogst_okibank_w) // Samples bank + AM_RANGE(0x00, 0x00) AM_WRITE(mazinger_rombank_w) // ROM bank + AM_RANGE(0x10, 0x10) AM_WRITE(soundlatch_ack_w) // To Main CPU + AM_RANGE(0x30, 0x30) AM_READ(soundlatch_lo_r) // From Main CPU + AM_RANGE(0x50, 0x51) AM_DEVWRITE("ymsnd", ym2203_w) // YM2203 + AM_RANGE(0x52, 0x53) AM_DEVREAD("ymsnd", ym2203_r) // YM2203 + AM_RANGE(0x70, 0x70) AM_DEVWRITE("oki", okim6295_w) // M6295 + AM_RANGE(0x74, 0x74) AM_WRITE(hotdogst_okibank_w) // Samples bank ADDRESS_MAP_END @@ -1014,22 +1078,22 @@ static WRITE8_HANDLER( metmqstr_okibank1_w ) } static ADDRESS_MAP_START( metmqstr_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_ROM // ROM - AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1") // ROM (Banked) - AM_RANGE(0xe000, 0xffff) AM_RAM // RAM + AM_RANGE(0x0000, 0x3fff) AM_ROM // ROM + AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1") // ROM (Banked) + AM_RANGE(0xe000, 0xffff) AM_RAM // RAM ADDRESS_MAP_END static ADDRESS_MAP_START( metmqstr_sound_portmap, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x00, 0x00) AM_WRITE(metmqstr_rombank_w) // Rom Bank - AM_RANGE(0x20, 0x20) AM_READ(soundflags_r) // Communication - AM_RANGE(0x30, 0x30) AM_READ(soundlatch_lo_r) // From Main CPU - AM_RANGE(0x40, 0x40) AM_READ(soundlatch_hi_r) // + AM_RANGE(0x00, 0x00) AM_WRITE(metmqstr_rombank_w) // Rom Bank + AM_RANGE(0x20, 0x20) AM_READ(soundflags_r) // Communication + AM_RANGE(0x30, 0x30) AM_READ(soundlatch_lo_r) // From Main CPU + AM_RANGE(0x40, 0x40) AM_READ(soundlatch_hi_r) // AM_RANGE(0x50, 0x51) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w) // YM2151 - AM_RANGE(0x60, 0x60) AM_DEVWRITE("oki1", okim6295_w) // M6295 #0 - AM_RANGE(0x70, 0x70) AM_WRITE(metmqstr_okibank0_w) // Samples Bank #0 - AM_RANGE(0x80, 0x80) AM_DEVWRITE("oki2", okim6295_w) // M6295 #1 - AM_RANGE(0x90, 0x90) AM_WRITE(metmqstr_okibank1_w) // Samples Bank #1 + AM_RANGE(0x60, 0x60) AM_DEVWRITE("oki1", okim6295_w) // M6295 #0 + AM_RANGE(0x70, 0x70) AM_WRITE(metmqstr_okibank0_w) // Samples Bank #0 + AM_RANGE(0x80, 0x80) AM_DEVWRITE("oki2", okim6295_w) // M6295 #1 + AM_RANGE(0x90, 0x90) AM_WRITE(metmqstr_okibank1_w) // Samples Bank #1 ADDRESS_MAP_END @@ -1046,19 +1110,19 @@ static WRITE8_HANDLER( pwrinst2_rombank_w ) } static ADDRESS_MAP_START( pwrinst2_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM - AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") // ROM (Banked) - AM_RANGE(0xe000, 0xffff) AM_RAM // RAM + AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM + AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") // ROM (Banked) + AM_RANGE(0xe000, 0xffff) AM_RAM // RAM ADDRESS_MAP_END static ADDRESS_MAP_START( pwrinst2_sound_portmap, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_GLOBAL_MASK(0xff) AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w) // M6295 AM_RANGE(0x08, 0x08) AM_DEVREADWRITE("oki2", okim6295_r, okim6295_w) // - AM_RANGE(0x10, 0x17) AM_DEVWRITE("nmk112", nmk112_okibank_w) // Samples bank - AM_RANGE(0x40, 0x41) AM_DEVREADWRITE("ymsnd", ym2203_r, ym2203_w) // + AM_RANGE(0x10, 0x17) AM_DEVWRITE("nmk112", nmk112_okibank_w) // Samples bank + AM_RANGE(0x40, 0x41) AM_DEVREADWRITE("ymsnd", ym2203_r, ym2203_w) // AM_RANGE(0x50, 0x50) AM_WRITE(soundlatch_ack_w) // To Main CPU -// AM_RANGE(0x51, 0x51) AM_WRITENOP // ?? volume +// AM_RANGE(0x51, 0x51) AM_WRITENOP // ?? volume AM_RANGE(0x80, 0x80) AM_WRITE(pwrinst2_rombank_w) // ROM bank AM_RANGE(0x60, 0x60) AM_READ(soundlatch_hi_r) // From Main CPU AM_RANGE(0x70, 0x70) AM_READ(soundlatch_lo_r) // @@ -1108,10 +1172,10 @@ static WRITE8_HANDLER( sailormn_okibank1_w ) } static ADDRESS_MAP_START( sailormn_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_ROM // ROM - AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1") // ROM (Banked) + AM_RANGE(0x0000, 0x3fff) AM_ROM // ROM + AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1") // ROM (Banked) AM_RANGE(0xc000, 0xdfff) AM_READWRITE(mirror_ram_r, mirror_ram_w) AM_BASE_MEMBER(cave_state, mirror_ram) // RAM - AM_RANGE(0xe000, 0xffff) AM_READWRITE(mirror_ram_r, mirror_ram_w) // Mirrored RAM (agallet) + AM_RANGE(0xe000, 0xffff) AM_READWRITE(mirror_ram_r, mirror_ram_w) // Mirrored RAM (agallet) ADDRESS_MAP_END static ADDRESS_MAP_START( sailormn_sound_portmap, ADDRESS_SPACE_IO, 8 ) @@ -1121,7 +1185,7 @@ static ADDRESS_MAP_START( sailormn_sound_portmap, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0x20, 0x20) AM_READ(soundflags_r) // Communication AM_RANGE(0x30, 0x30) AM_READ(soundlatch_lo_r) // From Main CPU AM_RANGE(0x40, 0x40) AM_READ(soundlatch_hi_r) // - AM_RANGE(0x50, 0x51) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w) // YM2151 + AM_RANGE(0x50, 0x51) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w) // YM2151 AM_RANGE(0x60, 0x60) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w) // M6295 #0 AM_RANGE(0x70, 0x70) AM_WRITE(sailormn_okibank0_w) // Samples Bank #0 AM_RANGE(0x80, 0x80) AM_DEVREADWRITE("oki2", okim6295_r, okim6295_w) // M6295 #1 @@ -1379,6 +1443,30 @@ static INPUT_PORTS_START( korokoro ) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) INPUT_PORTS_END +static INPUT_PORTS_START( tjumpman ) + PORT_START("IN0") + PORT_SERVICE_NO_TOGGLE( 0x01, IP_ACTIVE_LOW ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( DEF_STR( Yes ) ) PORT_CODE(KEYCODE_Y) // suru ("do") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME( "1 Bet" ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM(tjumpman_hopper_r, NULL) + + PORT_START("IN1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_CONFNAME( 0x08, 0x08, "Self Test" ) + PORT_CONFSETTING( 0x08, DEF_STR( Off ) ) + PORT_CONFSETTING( 0x00, DEF_STR( On ) ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 ) PORT_NAME( DEF_STR( No ) ) PORT_CODE(KEYCODE_N) // shinai ("not") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME( "Go" ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) // medal + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME( "3 Bet" ) +INPUT_PORTS_END + /*************************************************************************** @@ -1437,6 +1525,18 @@ static const gfx_layout layout_8x8x8 = 8*8*8 }; +/* 8x8x8 tiles, split in two roms (low / high nibble) */ +static const gfx_layout layout_8x8x8_split = +{ + 8,8, + RGN_FRAC(1,2), + 8, + {STEP4(RGN_FRAC(1,2),1), STEP4(0,1)}, + {STEP8(0,4)}, + {STEP8(0,4*8)}, + 8*8*4 +}; + #if 0 /* 16x16x8 Zooming Sprites - No need to decode them */ static const gfx_layout layout_sprites = @@ -1461,9 +1561,9 @@ static GFXDECODE_START( dfeveron ) for consistency with games having $8000 real colors. A PALETTE_INIT function is thus needed for sprites */ -// "gfx1" // Sprites - GFXDECODE_ENTRY( "gfx2", 0, layout_8x8x4, 0x4400, 0x40 ) // [0] Layer 0 - GFXDECODE_ENTRY( "gfx3", 0, layout_8x8x4, 0x4400, 0x40 ) // [1] Layer 1 +// "sprites" + GFXDECODE_ENTRY( "layer0", 0, layout_8x8x4, 0x4400, 0x40 ) // [0] Layer 0 + GFXDECODE_ENTRY( "layer1", 0, layout_8x8x4, 0x4400, 0x40 ) // [1] Layer 1 GFXDECODE_END /*************************************************************************** @@ -1477,10 +1577,10 @@ static GFXDECODE_START( ddonpach ) in the color table). Layer 2 uses the whole 256 for any given color code and the 4000-7fff range in the color table. */ -// "gfx1" // Sprites - GFXDECODE_ENTRY( "gfx2", 0, layout_8x8x4, 0x8000, 0x40 ) // [0] Layer 0 - GFXDECODE_ENTRY( "gfx3", 0, layout_8x8x4, 0x8000, 0x40 ) // [1] Layer 1 - GFXDECODE_ENTRY( "gfx4", 0, layout_8x8x8, 0x4000, 0x40 ) // [2] Layer 2 +// "sprites" + GFXDECODE_ENTRY( "layer0", 0, layout_8x8x4, 0x8000, 0x40 ) // [0] Layer 0 + GFXDECODE_ENTRY( "layer1", 0, layout_8x8x4, 0x8000, 0x40 ) // [1] Layer 1 + GFXDECODE_ENTRY( "layer2", 0, layout_8x8x8, 0x4000, 0x40 ) // [2] Layer 2 GFXDECODE_END /*************************************************************************** @@ -1493,10 +1593,10 @@ static GFXDECODE_START( donpachi ) for consistency with games having $8000 real colors. A PALETTE_INIT function is thus needed for sprites */ -// "gfx1" // Sprites - GFXDECODE_ENTRY( "gfx2", 0, layout_8x8x4, 0x4400, 0x40 ) // [0] Layer 0 - GFXDECODE_ENTRY( "gfx3", 0, layout_8x8x4, 0x4400, 0x40 ) // [1] Layer 1 - GFXDECODE_ENTRY( "gfx4", 0, layout_8x8x4, 0x4400, 0x40 ) // [2] Layer 2 +// "sprites" + GFXDECODE_ENTRY( "layer0", 0, layout_8x8x4, 0x4400, 0x40 ) // [0] Layer 0 + GFXDECODE_ENTRY( "layer1", 0, layout_8x8x4, 0x4400, 0x40 ) // [1] Layer 1 + GFXDECODE_ENTRY( "layer2", 0, layout_8x8x4, 0x4400, 0x40 ) // [2] Layer 2 GFXDECODE_END /*************************************************************************** @@ -1504,10 +1604,10 @@ GFXDECODE_END ***************************************************************************/ static GFXDECODE_START( esprade ) -// "gfx1" // Sprites - GFXDECODE_ENTRY( "gfx2", 0, layout_8x8x8, 0x4000, 0x40 ) // [0] Layer 0 - GFXDECODE_ENTRY( "gfx3", 0, layout_8x8x8, 0x4000, 0x40 ) // [1] Layer 1 - GFXDECODE_ENTRY( "gfx4", 0, layout_8x8x8, 0x4000, 0x40 ) // [2] Layer 2 +// "sprites" + GFXDECODE_ENTRY( "layer0", 0, layout_8x8x8, 0x4000, 0x40 ) // [0] Layer 0 + GFXDECODE_ENTRY( "layer1", 0, layout_8x8x8, 0x4000, 0x40 ) // [1] Layer 1 + GFXDECODE_ENTRY( "layer2", 0, layout_8x8x8, 0x4000, 0x40 ) // [2] Layer 2 GFXDECODE_END /*************************************************************************** @@ -1520,10 +1620,10 @@ static GFXDECODE_START( hotdogst ) for consistency with games having $8000 real colors. A PALETTE_INIT function is needed for sprites */ -// "gfx1" // Sprites - GFXDECODE_ENTRY( "gfx2", 0, layout_8x8x4, 0x4000, 0x40 ) // [0] Layer 0 - GFXDECODE_ENTRY( "gfx3", 0, layout_8x8x4, 0x4000, 0x40 ) // [1] Layer 1 - GFXDECODE_ENTRY( "gfx4", 0, layout_8x8x4, 0x4000, 0x40 ) // [2] Layer 2 +// "sprites" + GFXDECODE_ENTRY( "layer0", 0, layout_8x8x4, 0x4000, 0x40 ) // [0] Layer 0 + GFXDECODE_ENTRY( "layer1", 0, layout_8x8x4, 0x4000, 0x40 ) // [1] Layer 1 + GFXDECODE_ENTRY( "layer2", 0, layout_8x8x4, 0x4000, 0x40 ) // [2] Layer 2 GFXDECODE_END /*************************************************************************** @@ -1531,8 +1631,8 @@ GFXDECODE_END ***************************************************************************/ static GFXDECODE_START( korokoro ) -// "gfx1" // Sprites - GFXDECODE_ENTRY( "gfx2", 0, layout_8x8x4, 0x4400, 0x40 ) // [0] Layer 0 +// "sprites" + GFXDECODE_ENTRY( "layer0", 0, layout_8x8x4, 0x4400, 0x40 ) // [0] Layer 0 GFXDECODE_END /*************************************************************************** @@ -1548,9 +1648,9 @@ static GFXDECODE_START( mazinger ) $40 color codes, only $400 colors are addressable. A PALETTE_INIT function is thus needed for sprites and layer 0. */ -// "gfx1" // Sprites - GFXDECODE_ENTRY( "gfx2", 0, layout_8x8x4, 0x4000, 0x40 ) // [0] Layer 0 - GFXDECODE_ENTRY( "gfx3", 0, layout_8x8x6, 0x4400, 0x40 ) // [1] Layer 1 +// "sprites" + GFXDECODE_ENTRY( "layer0", 0, layout_8x8x4, 0x4000, 0x40 ) // [0] Layer 0 + GFXDECODE_ENTRY( "layer1", 0, layout_8x8x6, 0x4400, 0x40 ) // [1] Layer 1 GFXDECODE_END @@ -1559,11 +1659,11 @@ GFXDECODE_END ***************************************************************************/ static GFXDECODE_START( pwrinst2 ) -// "gfx1" // Sprites - GFXDECODE_ENTRY( "gfx2", 0, layout_8x8x4, 0x0800+0x8000, 0x40 ) // [0] Layer 0 - GFXDECODE_ENTRY( "gfx3", 0, layout_8x8x4, 0x1000+0x8000, 0x40 ) // [1] Layer 1 - GFXDECODE_ENTRY( "gfx4", 0, layout_8x8x4, 0x1800+0x8000, 0x40 ) // [2] Layer 2 - GFXDECODE_ENTRY( "gfx5", 0, layout_8x8x4, 0x2000+0x8000, 0x40 ) // [3] Layer 3 +// "sprites" + GFXDECODE_ENTRY( "layer0", 0, layout_8x8x4, 0x0800+0x8000, 0x40 ) // [0] Layer 0 + GFXDECODE_ENTRY( "layer1", 0, layout_8x8x4, 0x1000+0x8000, 0x40 ) // [1] Layer 1 + GFXDECODE_ENTRY( "layer2", 0, layout_8x8x4, 0x1800+0x8000, 0x40 ) // [2] Layer 2 + GFXDECODE_ENTRY( "layer3", 0, layout_8x8x4, 0x2000+0x8000, 0x40 ) // [3] Layer 3 GFXDECODE_END @@ -1573,10 +1673,20 @@ GFXDECODE_END static GFXDECODE_START( sailormn ) /* 4 bit sprites ? */ -// "gfx1" // Sprites - GFXDECODE_ENTRY( "gfx2", 0, layout_8x8x4, 0x4400, 0x40 ) // [0] Layer 0 - GFXDECODE_ENTRY( "gfx3", 0, layout_8x8x4, 0x4800, 0x40 ) // [1] Layer 1 - GFXDECODE_ENTRY( "gfx4", 0, layout_8x8x6_2, 0x4c00, 0x40 ) // [2] Layer 2 +// "sprites" + GFXDECODE_ENTRY( "layer0", 0, layout_8x8x4, 0x4400, 0x40 ) // [0] Layer 0 + GFXDECODE_ENTRY( "layer1", 0, layout_8x8x4, 0x4800, 0x40 ) // [1] Layer 1 + GFXDECODE_ENTRY( "layer2", 0, layout_8x8x6_2, 0x4c00, 0x40 ) // [2] Layer 2 +GFXDECODE_END + + +/*************************************************************************** + Tobikose! Jumpman +***************************************************************************/ + +static GFXDECODE_START( tjumpman ) +// "sprites" + GFXDECODE_ENTRY( "layer0", 0, layout_8x8x8_split, 0x4000, 0x40 ) // [0] Layer 0 GFXDECODE_END @@ -1585,8 +1695,8 @@ GFXDECODE_END ***************************************************************************/ static GFXDECODE_START( uopoko ) -// "gfx1" // Sprites - GFXDECODE_ENTRY( "gfx2", 0, layout_8x8x8, 0x4000, 0x40 ) // [0] Layer 0 +// "sprites" + GFXDECODE_ENTRY( "layer0", 0, layout_8x8x8, 0x4000, 0x40 ) // [0] Layer 0 GFXDECODE_END @@ -1680,8 +1790,8 @@ static MACHINE_DRIVER_START( dfeveron ) MDRV_GFXDECODE(dfeveron) MDRV_PALETTE_LENGTH(0x8000) /* $8000 palette entries for consistency with the other games */ - MDRV_PALETTE_INIT(dfeveron) + MDRV_VIDEO_START(cave_2_layers) MDRV_VIDEO_UPDATE(cave) @@ -1724,8 +1834,8 @@ static MACHINE_DRIVER_START( ddonpach ) MDRV_GFXDECODE(ddonpach) MDRV_PALETTE_LENGTH(0x8000 + 0x40*16) // $400 extra entries for layers 1&2 - MDRV_PALETTE_INIT(ddonpach) + MDRV_VIDEO_START(cave_3_layers) MDRV_VIDEO_UPDATE(cave) @@ -1772,8 +1882,8 @@ static MACHINE_DRIVER_START( donpachi ) MDRV_GFXDECODE(donpachi) MDRV_PALETTE_LENGTH(0x8000) /* $8000 palette entries for consistency with the other games */ - MDRV_PALETTE_INIT(dfeveron) + MDRV_VIDEO_START(cave_3_layers) MDRV_VIDEO_UPDATE(cave) @@ -1822,8 +1932,8 @@ static MACHINE_DRIVER_START( esprade ) MDRV_GFXDECODE(esprade) MDRV_PALETTE_LENGTH(0x8000) - MDRV_PALETTE_INIT(cave) + MDRV_VIDEO_START(cave_3_layers) MDRV_VIDEO_UPDATE(cave) @@ -1864,8 +1974,8 @@ static MACHINE_DRIVER_START( gaia ) MDRV_GFXDECODE(esprade) MDRV_PALETTE_LENGTH(0x8000) - MDRV_PALETTE_INIT(cave) + MDRV_VIDEO_START(cave_3_layers) MDRV_VIDEO_UPDATE(cave) @@ -1907,8 +2017,8 @@ static MACHINE_DRIVER_START( guwange ) MDRV_GFXDECODE(esprade) MDRV_PALETTE_LENGTH(0x8000) - MDRV_PALETTE_INIT(cave) + MDRV_VIDEO_START(cave_3_layers) MDRV_VIDEO_UPDATE(cave) @@ -1953,8 +2063,8 @@ static MACHINE_DRIVER_START( hotdogst ) MDRV_GFXDECODE(hotdogst) MDRV_PALETTE_LENGTH(0x8000) /* $8000 palette entries for consistency with the other games */ - MDRV_PALETTE_INIT(dfeveron) + MDRV_VIDEO_START(cave_3_layers) MDRV_VIDEO_UPDATE(cave) @@ -2007,8 +2117,8 @@ static MACHINE_DRIVER_START( korokoro ) MDRV_GFXDECODE(korokoro) MDRV_PALETTE_LENGTH(0x8000) /* $8000 palette entries for consistency with the other games */ - MDRV_PALETTE_INIT(korokoro) + MDRV_VIDEO_START(cave_1_layer) MDRV_VIDEO_UPDATE(cave) @@ -2066,8 +2176,8 @@ static MACHINE_DRIVER_START( mazinger ) MDRV_GFXDECODE(mazinger) MDRV_PALETTE_LENGTH(0x8000) /* $8000 palette entries for consistency with the other games */ - MDRV_PALETTE_INIT(mazinger) + MDRV_VIDEO_START(cave_2_layers) MDRV_VIDEO_UPDATE(cave) @@ -2126,8 +2236,8 @@ static MACHINE_DRIVER_START( metmqstr ) MDRV_GFXDECODE(donpachi) MDRV_PALETTE_LENGTH(0x8000) /* $8000 palette entries for consistency with the other games */ - MDRV_PALETTE_INIT(dfeveron) + MDRV_VIDEO_START(cave_3_layers) MDRV_VIDEO_UPDATE(cave) @@ -2190,8 +2300,8 @@ static MACHINE_DRIVER_START( pwrinst2 ) MDRV_GFXDECODE(pwrinst2) MDRV_PALETTE_LENGTH(0x8000+0x2800) - MDRV_PALETTE_INIT(pwrinst2) + MDRV_VIDEO_START(cave_4_layers) MDRV_VIDEO_UPDATE(cave) @@ -2257,8 +2367,8 @@ static MACHINE_DRIVER_START( sailormn ) MDRV_GFXDECODE(sailormn) MDRV_PALETTE_LENGTH(0x8000) /* $8000 palette entries for consistency with the other games */ - MDRV_PALETTE_INIT(sailormn) // 4 bit sprites, 6 bit tiles + MDRV_VIDEO_START(sailormn_3_layers) /* Layer 2 has 1 banked ROM */ MDRV_VIDEO_UPDATE(cave) @@ -2281,6 +2391,55 @@ static MACHINE_DRIVER_START( sailormn ) MACHINE_DRIVER_END +/*************************************************************************** + Tobikose! Jumpman +***************************************************************************/ + +static MACHINE_DRIVER_START( tjumpman ) + + /* driver data */ + MDRV_DRIVER_DATA(cave_state) + + MDRV_NVRAM_HANDLER(generic_0fill) + + /* basic machine hardware */ + MDRV_CPU_ADD("maincpu", M68000, XTAL_28MHz / 2) + MDRV_CPU_PROGRAM_MAP(tjumpman_map) + MDRV_CPU_VBLANK_INT("screen", cave_interrupt) + + MDRV_WATCHDOG_TIME_INIT(SEC(3)) /* a guess, and certainly wrong */ + + MDRV_MACHINE_START(cave) + MDRV_MACHINE_RESET(cave) + MDRV_EEPROM_93C46_ADD("eeprom") + + /* video hardware */ + MDRV_SCREEN_ADD("screen", RASTER) + MDRV_SCREEN_REFRESH_RATE(15625/271.5) + MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) + MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) + MDRV_SCREEN_SIZE(0x200, 240) + MDRV_SCREEN_VISIBLE_AREA(0x80, 0x80 + 0x140-1, 0, 240-1) + + MDRV_GFXDECODE(tjumpman) + MDRV_PALETTE_LENGTH(0x8000) + MDRV_PALETTE_INIT(cave) + + MDRV_VIDEO_START(cave_1_layer) + MDRV_VIDEO_UPDATE(cave) + + /* sound hardware */ + MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") + + MDRV_SOUND_ADD("oki1", OKIM6295, XTAL_28MHz / 28) + MDRV_SOUND_CONFIG(okim6295_interface_pin7high) // clock frequency & pin 7 not verified + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) + + // oki2 spot is unpopulated +MACHINE_DRIVER_END + + /*************************************************************************** Uo Poko ***************************************************************************/ @@ -2334,10 +2493,10 @@ MACHINE_DRIVER_END /* 4 bits -> 8 bits. Even and odd pixels are swapped */ static void unpack_sprites(running_machine *machine) { - const UINT32 len = memory_region_length(machine, "gfx1"); - UINT8 *rgn = memory_region(machine, "gfx1"); - UINT8 *src = rgn + len / 2 - 1; - UINT8 *dst = rgn + len - 1; + const UINT32 len = memory_region_length(machine, "sprites"); + UINT8 *rgn = memory_region (machine, "sprites"); + UINT8 *src = rgn + len / 2 - 1; + UINT8 *dst = rgn + len - 1; while(dst > src) { @@ -2351,10 +2510,10 @@ static void unpack_sprites(running_machine *machine) /* 4 bits -> 8 bits. Even and odd pixels and even and odd words, are swapped */ static void ddonpach_unpack_sprites(running_machine *machine) { - const UINT32 len = memory_region_length(machine, "gfx1"); - UINT8 *rgn = memory_region(machine, "gfx1"); - UINT8 *src = rgn + len / 2 - 1; - UINT8 *dst = rgn + len - 1; + const UINT32 len = memory_region_length(machine, "sprites"); + UINT8 *rgn = memory_region (machine, "sprites"); + UINT8 *src = rgn + len / 2 - 1; + UINT8 *dst = rgn + len - 1; while(dst > src) { @@ -2375,8 +2534,8 @@ static void ddonpach_unpack_sprites(running_machine *machine) /* 2 pages of 4 bits -> 8 bits */ static void esprade_unpack_sprites(running_machine *machine) { - UINT8 *src = memory_region(machine, "gfx1"); - UINT8 *dst = src + memory_region_length(machine, "gfx1"); + UINT8 *src = memory_region(machine, "sprites"); + UINT8 *dst = src + memory_region_length(machine, "sprites"); while(src < dst) { @@ -2442,18 +2601,18 @@ BP962A.U77 23C16000 GFX ROM_LOAD( "bp962a.u9", 0x00000, 0x08000, CRC(06caddbe) SHA1(6a3cc50558ba19a31b21b7f3ec6c6e2846244ff1) ) \ ROM_CONTINUE( 0x10000, 0x78000 ) \ \ - ROM_REGION( 0x400000 * 2, "gfx1", 0 ) \ + ROM_REGION( 0x400000 * 2, "sprites", 0 ) \ ROM_LOAD( "bp962a.u76", 0x000000, 0x200000, CRC(858da439) SHA1(33a3d2a3ec3fa3364b00e1e43b405e5030a5b2a3) ) \ ROM_LOAD( "bp962a.u77", 0x200000, 0x200000, CRC(ea2ba35e) SHA1(72487f21d44fe7be9a98068ce7f57a43c132945f) ) \ \ - ROM_REGION( 0x100000, "gfx2", 0 ) \ + ROM_REGION( 0x100000, "layer0", 0 ) \ ROM_LOAD( "bp962a.u53", 0x000000, 0x100000, CRC(fcd9a107) SHA1(169b94db8389e7d47d4d77f36907a62c30fea727) ) \ ROM_CONTINUE( 0x000000, 0x100000 ) \ \ - ROM_REGION( 0x200000, "gfx3", 0 ) \ + ROM_REGION( 0x200000, "layer1", 0 ) \ ROM_LOAD( "bp962a.u54", 0x000000, 0x200000, CRC(0cfa3409) SHA1(17107e26762ef7e3b902fb29a6d7bc534a4d09aa) ) \ \ - ROM_REGION( (1*0x200000)*2, "gfx4", 0 ) \ + ROM_REGION( (1*0x200000)*2, "layer2", 0 ) \ \ ROM_LOAD( "bp962a.u57", 0x000000, 0x200000, CRC(6d608957) SHA1(15f6e8346f5f95eb229505b1b4666dabeb810ee8) ) \ \ @@ -2523,14 +2682,14 @@ ROM_START( dfeveron ) ROM_LOAD16_BYTE( "cv01-u34.bin", 0x000000, 0x080000, CRC(be87f19d) SHA1(595239245df3835cdf5a99a6c62480465558d8d3) ) ROM_LOAD16_BYTE( "cv01-u33.bin", 0x000001, 0x080000, CRC(e53a7db3) SHA1(ddced29f78dc3cc89038757b6577ba2ba0d8b041) ) - ROM_REGION( 0x800000 * 2, "gfx1", 0 ) /* Sprites: * 2 , do not dispose */ + ROM_REGION( 0x800000 * 2, "sprites", 0 ) /* Sprites: * 2 */ ROM_LOAD( "cv01-u25.bin", 0x000000, 0x400000, CRC(a6f6a95d) SHA1(e1eb45cb5d0e6163edfd9d830633b913fb53c6ca) ) ROM_LOAD( "cv01-u26.bin", 0x400000, 0x400000, CRC(32edb62a) SHA1(3def74e1316b80cc25a8c3ac162cd7bcb8cc807c) ) - ROM_REGION( 0x200000, "gfx2", 0 ) /* Layer 0 */ + ROM_REGION( 0x200000, "layer0", 0 ) /* Layer 0 */ ROM_LOAD( "cv01-u50.bin", 0x000000, 0x200000, CRC(7a344417) SHA1(828bd8f95d2fcc34407e17629ccafc904a4ea12d) ) - ROM_REGION( 0x200000, "gfx3", 0 ) /* Layer 1 */ + ROM_REGION( 0x200000, "layer1", 0 ) /* Layer 1 */ ROM_LOAD( "cv01-u49.bin", 0x000000, 0x200000, CRC(d21cdda7) SHA1(cace4650de580c3c4a037f1f5c32bfc1846b383c) ) ROM_REGION( 0x400000, "ymz", 0 ) /* Samples */ @@ -2629,14 +2788,14 @@ ROM_START( feversos ) ROM_LOAD16_BYTE( "cv01-u34.sos", 0x000000, 0x080000, CRC(24ef3ce6) SHA1(42799eebbb2686a837b8972aec684143deadca59) ) ROM_LOAD16_BYTE( "cv01-u33.sos", 0x000001, 0x080000, CRC(64ff73fd) SHA1(7fc3a8469cec2361d373a4dac4a547c13ca5f709) ) - ROM_REGION( 0x800000 * 2, "gfx1", 0 ) /* Sprites: * 2 , do not dispose */ + ROM_REGION( 0x800000 * 2, "sprites", 0 ) /* Sprites: * 2 */ ROM_LOAD( "cv01-u25.bin", 0x000000, 0x400000, CRC(a6f6a95d) SHA1(e1eb45cb5d0e6163edfd9d830633b913fb53c6ca) ) ROM_LOAD( "cv01-u26.bin", 0x400000, 0x400000, CRC(32edb62a) SHA1(3def74e1316b80cc25a8c3ac162cd7bcb8cc807c) ) - ROM_REGION( 0x200000, "gfx2", 0 ) /* Layer 0 */ + ROM_REGION( 0x200000, "layer0", 0 ) /* Layer 0 */ ROM_LOAD( "cv01-u50.bin", 0x000000, 0x200000, CRC(7a344417) SHA1(828bd8f95d2fcc34407e17629ccafc904a4ea12d) ) - ROM_REGION( 0x200000, "gfx3", 0 ) /* Layer 1 */ + ROM_REGION( 0x200000, "layer1", 0 ) /* Layer 1 */ ROM_LOAD( "cv01-u49.bin", 0x000000, 0x200000, CRC(d21cdda7) SHA1(cace4650de580c3c4a037f1f5c32bfc1846b383c) ) ROM_REGION( 0x400000, "ymz", 0 ) /* Samples */ @@ -2664,19 +2823,19 @@ ROM_START( ddonpach ) ROM_LOAD16_BYTE( "b1.u27", 0x000000, 0x080000, CRC(b5cdc8d3) SHA1(58757b50e21a27e500a82c03f62cf02a85389926) ) ROM_LOAD16_BYTE( "b2.u26", 0x000001, 0x080000, CRC(6bbb063a) SHA1(e5de64b9c3efc0a38a2e0e16b78ee393bff63558) ) - ROM_REGION( 0x800000 * 2, "gfx1", 0 ) /* Sprites: * 2, do not dispose */ + ROM_REGION( 0x800000 * 2, "sprites", 0 ) /* Sprites: * 2 */ ROM_LOAD( "u50.bin", 0x000000, 0x200000, CRC(14b260ec) SHA1(33bda210302428d5500115d0c7a839cdfcb67d17) ) ROM_LOAD( "u51.bin", 0x200000, 0x200000, CRC(e7ba8cce) SHA1(ad74a6b7d53760b19587c4a6dbea937daa7e87ce) ) ROM_LOAD( "u52.bin", 0x400000, 0x200000, CRC(02492ee0) SHA1(64d9cc64a4ad189a8b03cf6a749ddb732b4a0014) ) ROM_LOAD( "u53.bin", 0x600000, 0x200000, CRC(cb4c10f0) SHA1(a622e8bd0c938b5d38b392b247400b744d8be288) ) - ROM_REGION( 0x200000, "gfx2", 0 ) /* Layer 0 */ + ROM_REGION( 0x200000, "layer0", 0 ) /* Layer 0 */ ROM_LOAD( "u60.bin", 0x000000, 0x200000, CRC(903096a7) SHA1(a243e903fef7c4a7b71383263e82e42acd869261) ) - ROM_REGION( 0x200000, "gfx3", 0 ) /* Layer 1 */ + ROM_REGION( 0x200000, "layer1", 0 ) /* Layer 1 */ ROM_LOAD( "u61.bin", 0x000000, 0x200000, CRC(d89b7631) SHA1(a66bb4955ca58fab8973ca37a0f971e9a67ce017) ) - ROM_REGION( 0x200000, "gfx4", 0 ) /* Layer 2 */ + ROM_REGION( 0x200000, "layer2", 0 ) /* Layer 2 */ ROM_LOAD( "u62.bin", 0x000000, 0x200000, CRC(292bfb6b) SHA1(11b385991ee990eb5ef36e136b988802b5f90fa4) ) ROM_REGION( 0x400000, "ymz", 0 ) /* Samples */ @@ -2693,19 +2852,19 @@ ROM_START( ddonpachj ) ROM_LOAD16_BYTE( "u27.bin", 0x000000, 0x080000, CRC(2432ff9b) SHA1(fbc826c30553f6553ead40b312b73c049e8f4bf6) ) ROM_LOAD16_BYTE( "u26.bin", 0x000001, 0x080000, CRC(4f3a914a) SHA1(ae98eba049f1462aa1145f6959b9f9a32c97278f) ) - ROM_REGION( 0x800000 * 2, "gfx1", 0 ) /* Sprites: * 2, do not dispose */ + ROM_REGION( 0x800000 * 2, "sprites", 0 ) /* Sprites: * 2 */ ROM_LOAD( "u50.bin", 0x000000, 0x200000, CRC(14b260ec) SHA1(33bda210302428d5500115d0c7a839cdfcb67d17) ) ROM_LOAD( "u51.bin", 0x200000, 0x200000, CRC(e7ba8cce) SHA1(ad74a6b7d53760b19587c4a6dbea937daa7e87ce) ) ROM_LOAD( "u52.bin", 0x400000, 0x200000, CRC(02492ee0) SHA1(64d9cc64a4ad189a8b03cf6a749ddb732b4a0014) ) ROM_LOAD( "u53.bin", 0x600000, 0x200000, CRC(cb4c10f0) SHA1(a622e8bd0c938b5d38b392b247400b744d8be288) ) - ROM_REGION( 0x200000, "gfx2", 0 ) /* Layer 0 */ + ROM_REGION( 0x200000, "layer0", 0 ) /* Layer 0 */ ROM_LOAD( "u60.bin", 0x000000, 0x200000, CRC(903096a7) SHA1(a243e903fef7c4a7b71383263e82e42acd869261) ) - ROM_REGION( 0x200000, "gfx3", 0 ) /* Layer 1 */ + ROM_REGION( 0x200000, "layer1", 0 ) /* Layer 1 */ ROM_LOAD( "u61.bin", 0x000000, 0x200000, CRC(d89b7631) SHA1(a66bb4955ca58fab8973ca37a0f971e9a67ce017) ) - ROM_REGION( 0x200000, "gfx4", 0 ) /* Layer 2 */ + ROM_REGION( 0x200000, "layer2", 0 ) /* Layer 2 */ ROM_LOAD( "u62.bin", 0x000000, 0x200000, CRC(292bfb6b) SHA1(11b385991ee990eb5ef36e136b988802b5f90fa4) ) ROM_REGION( 0x400000, "ymz", 0 ) /* Samples */ @@ -2760,17 +2919,17 @@ ROM_START( donpachi ) ROM_REGION( 0x080000, "maincpu", 0 ) /* 68000 code */ ROM_LOAD16_WORD_SWAP( "prgu.u29", 0x00000, 0x80000, CRC(89c36802) SHA1(7857c726cecca5a4fce282e0d2b873774d2c1b1d) ) - ROM_REGION( 0x400000 * 2, "gfx1", 0 ) /* Sprites (do not dispose) */ + ROM_REGION( 0x400000 * 2, "sprites", 0 ) /* Sprites */ ROM_LOAD( "atdp.u44", 0x000000, 0x200000, CRC(7189e953) SHA1(53adbe6ea5e01ecb48575e9db82cc3d0dc8a3726) ) ROM_LOAD( "atdp.u45", 0x200000, 0x200000, CRC(6984173f) SHA1(625dd6674adeb206815855b8b6a1fba79ed5c4cd) ) - ROM_REGION( 0x100000, "gfx2", 0 ) /* Layer 0 */ + ROM_REGION( 0x100000, "layer0", 0 ) /* Layer 0 */ ROM_LOAD( "atdp.u54", 0x000000, 0x100000, CRC(6bda6b66) SHA1(6472e6706505bac17484fb8bf4e8922ced4adf63) ) - ROM_REGION( 0x100000, "gfx3", 0 ) /* Layer 1 */ + ROM_REGION( 0x100000, "layer1", 0 ) /* Layer 1 */ ROM_LOAD( "atdp.u57", 0x000000, 0x100000, CRC(0a0e72b9) SHA1(997e8253777e7acca5a1c0c4026e78eecc122d5d) ) - ROM_REGION( 0x040000, "gfx4", 0 ) /* Text / Character Layer */ + ROM_REGION( 0x040000, "layer2", 0 ) /* Text / Character Layer */ ROM_LOAD( "text.u58", 0x000000, 0x040000, CRC(5dba06e7) SHA1(f9dab7f6c732a683fddb4cae090a875b3962332b) ) ROM_REGION( 0x240000, "oki1", 0 ) /* OKIM6295 #1 Samples */ @@ -2790,17 +2949,17 @@ ROM_START( donpachij ) ROM_REGION( 0x080000, "maincpu", 0 ) /* 68000 code */ ROM_LOAD16_WORD_SWAP( "prg.u29", 0x00000, 0x80000, CRC(6be14af6) SHA1(5b1158071f160efeded816ae4c4edca1d00d6e05) ) - ROM_REGION( 0x400000 * 2, "gfx1", 0 ) /* Sprites (do not dispose) */ + ROM_REGION( 0x400000 * 2, "sprites", 0 ) /* Sprites */ ROM_LOAD( "atdp.u44", 0x000000, 0x200000, CRC(7189e953) SHA1(53adbe6ea5e01ecb48575e9db82cc3d0dc8a3726) ) ROM_LOAD( "atdp.u45", 0x200000, 0x200000, CRC(6984173f) SHA1(625dd6674adeb206815855b8b6a1fba79ed5c4cd) ) - ROM_REGION( 0x100000, "gfx2", 0 ) /* Layer 0 */ + ROM_REGION( 0x100000, "layer0", 0 ) /* Layer 0 */ ROM_LOAD( "atdp.u54", 0x000000, 0x100000, CRC(6bda6b66) SHA1(6472e6706505bac17484fb8bf4e8922ced4adf63) ) - ROM_REGION( 0x100000, "gfx3", 0 ) /* Layer 1 */ + ROM_REGION( 0x100000, "layer1", 0 ) /* Layer 1 */ ROM_LOAD( "atdp.u57", 0x000000, 0x100000, CRC(0a0e72b9) SHA1(997e8253777e7acca5a1c0c4026e78eecc122d5d) ) - ROM_REGION( 0x040000, "gfx4", 0 ) /* Text / Character Layer */ + ROM_REGION( 0x040000, "layer2", 0 ) /* Text / Character Layer */ ROM_LOAD( "u58.bin", 0x000000, 0x040000, CRC(285379ff) SHA1(b9552edcec29ddf4b552800b145c398b94117ab0) ) ROM_REGION( 0x240000, "oki1", 0 ) /* OKIM6295 #1 Samples */ @@ -2820,17 +2979,17 @@ ROM_START( donpachikr ) ROM_REGION( 0x080000, "maincpu", 0 ) /* 68000 code */ ROM_LOAD16_WORD_SWAP( "prgk.u26", 0x00000, 0x80000, CRC(bbaf4c8b) SHA1(0f9d42c8c4c5b69e3d39bf768bc4b663f66b4f36) ) - ROM_REGION( 0x400000 * 2, "gfx1", 0 ) /* Sprites (do not dispose) */ + ROM_REGION( 0x400000 * 2, "sprites", 0 ) /* Sprites */ ROM_LOAD( "atdp.u44", 0x000000, 0x200000, CRC(7189e953) SHA1(53adbe6ea5e01ecb48575e9db82cc3d0dc8a3726) ) ROM_LOAD( "atdp.u45", 0x200000, 0x200000, CRC(6984173f) SHA1(625dd6674adeb206815855b8b6a1fba79ed5c4cd) ) - ROM_REGION( 0x100000, "gfx2", 0 ) /* Layer 0 */ + ROM_REGION( 0x100000, "layer0", 0 ) /* Layer 0 */ ROM_LOAD( "atdp.u54", 0x000000, 0x100000, CRC(6bda6b66) SHA1(6472e6706505bac17484fb8bf4e8922ced4adf63) ) - ROM_REGION( 0x100000, "gfx3", 0 ) /* Layer 1 */ + ROM_REGION( 0x100000, "layer1", 0 ) /* Layer 1 */ ROM_LOAD( "atdp.u57", 0x000000, 0x100000, CRC(0a0e72b9) SHA1(997e8253777e7acca5a1c0c4026e78eecc122d5d) ) - ROM_REGION( 0x040000, "gfx4", 0 ) /* Text / Character Layer */ + ROM_REGION( 0x040000, "layer2", 0 ) /* Text / Character Layer */ ROM_LOAD( "u58.bin", 0x000000, 0x040000, CRC(285379ff) SHA1(b9552edcec29ddf4b552800b145c398b94117ab0) ) ROM_REGION( 0x240000, "oki1", 0 ) /* OKIM6295 #1 Samples */ @@ -2850,17 +3009,17 @@ ROM_START( donpachihk ) ROM_REGION( 0x080000, "maincpu", 0 ) /* 68000 code */ ROM_LOAD16_WORD_SWAP( "37.u29", 0x00000, 0x80000, CRC(71f39f30) SHA1(08a028208f21c073d450a29061604f27775786a8) ) - ROM_REGION( 0x400000 * 2, "gfx1", 0 ) /* Sprites (do not dispose) */ + ROM_REGION( 0x400000 * 2, "sprites", 0 ) /* Sprites */ ROM_LOAD( "atdp.u44", 0x000000, 0x200000, CRC(7189e953) SHA1(53adbe6ea5e01ecb48575e9db82cc3d0dc8a3726) ) ROM_LOAD( "atdp.u45", 0x200000, 0x200000, CRC(6984173f) SHA1(625dd6674adeb206815855b8b6a1fba79ed5c4cd) ) - ROM_REGION( 0x100000, "gfx2", 0 ) /* Layer 0 */ + ROM_REGION( 0x100000, "layer0", 0 ) /* Layer 0 */ ROM_LOAD( "atdp.u54", 0x000000, 0x100000, CRC(6bda6b66) SHA1(6472e6706505bac17484fb8bf4e8922ced4adf63) ) - ROM_REGION( 0x100000, "gfx3", 0 ) /* Layer 1 */ + ROM_REGION( 0x100000, "layer1", 0 ) /* Layer 1 */ ROM_LOAD( "atdp.u57", 0x000000, 0x100000, CRC(0a0e72b9) SHA1(997e8253777e7acca5a1c0c4026e78eecc122d5d) ) - ROM_REGION( 0x040000, "gfx4", 0 ) /* Text / Character Layer */ + ROM_REGION( 0x040000, "layer2", 0 ) /* Text / Character Layer */ ROM_LOAD( "u58.bin", 0x000000, 0x040000, CRC(285379ff) SHA1(b9552edcec29ddf4b552800b145c398b94117ab0) ) ROM_REGION( 0x240000, "oki1", 0 ) /* OKIM6295 #1 Samples */ @@ -2891,21 +3050,21 @@ ROM_START( esprade ) ROM_LOAD16_BYTE( "u42.int", 0x000000, 0x080000, CRC(3b510a73) SHA1(ab1666eb826cb4a71588d86831dd18a2ef1c2a33) ) ROM_LOAD16_BYTE( "u41.int", 0x000001, 0x080000, CRC(97c1b649) SHA1(37a56b7b9662219a356aee3f4b5cbb774ac4950e) ) - ROM_REGION( 0x1000000, "gfx1", 0 ) /* Sprites (do not dispose) */ + ROM_REGION( 0x1000000, "sprites", 0 ) /* Sprites */ ROM_LOAD16_BYTE( "u63.bin", 0x000000, 0x400000, CRC(2f2fe92c) SHA1(9519e365248bcec8419786eabb16fe4aae299af5) ) ROM_LOAD16_BYTE( "u64.bin", 0x000001, 0x400000, CRC(491a3da4) SHA1(53549a2bd3edc7b5e73fb46e1421b156bb0c190f) ) ROM_LOAD16_BYTE( "u65.bin", 0x800000, 0x400000, CRC(06563efe) SHA1(94e72da1f542b4e0525b4b43994242816b43dbdc) ) ROM_LOAD16_BYTE( "u66.bin", 0x800001, 0x400000, CRC(7bbe4cfc) SHA1(e77d0ed7a11b5abca1df8a0eb20ac9360cf79e76) ) - ROM_REGION( 0x800000, "gfx2", 0 ) /* Layer 0 */ + ROM_REGION( 0x800000, "layer0", 0 ) /* Layer 0 */ ROM_LOAD( "u54.bin", 0x000000, 0x400000, CRC(e7ca6936) SHA1(b7f5ab67071a1d9dd3d2c1cd2304d9cdad68850c) ) ROM_LOAD( "u55.bin", 0x400000, 0x400000, CRC(f53bd94f) SHA1(d0a74fb3d36fe522ef075e5ae44a9980da8abe2f) ) - ROM_REGION( 0x800000, "gfx3", 0 ) /* Layer 1 */ + ROM_REGION( 0x800000, "layer1", 0 ) /* Layer 1 */ ROM_LOAD( "u52.bin", 0x000000, 0x400000, CRC(e7abe7b4) SHA1(e98da45497e1aaf0d6ab352ec3e43c7438ed792a) ) ROM_LOAD( "u53.bin", 0x400000, 0x400000, CRC(51a0f391) SHA1(8b7355cbad119f4e1add14e5cd5e343ec6706104) ) - ROM_REGION( 0x400000, "gfx4", 0 ) /* Layer 2 */ + ROM_REGION( 0x400000, "layer2", 0 ) /* Layer 2 */ ROM_LOAD( "u51.bin", 0x000000, 0x400000, CRC(0b9b875c) SHA1(ef05447cd8565ae24bb71db42342724622ad1e3e) ) ROM_REGION( 0x400000, "ymz", 0 ) /* Samples */ @@ -2920,21 +3079,21 @@ ROM_START( espradej ) ROM_LOAD16_BYTE( "u42.bin", 0x000000, 0x080000, CRC(75d03c42) SHA1(1c176185b6f1531752b633a97f705ffa0cfeb5ad) ) ROM_LOAD16_BYTE( "u41.bin", 0x000001, 0x080000, CRC(734b3ef0) SHA1(f584227b85c347d62d5f179445011ce0f607bcfd) ) - ROM_REGION( 0x1000000, "gfx1", 0 ) /* Sprites (do not dispose) */ + ROM_REGION( 0x1000000, "sprites", 0 ) /* Sprites */ ROM_LOAD16_BYTE( "u63.bin", 0x000000, 0x400000, CRC(2f2fe92c) SHA1(9519e365248bcec8419786eabb16fe4aae299af5) ) ROM_LOAD16_BYTE( "u64.bin", 0x000001, 0x400000, CRC(491a3da4) SHA1(53549a2bd3edc7b5e73fb46e1421b156bb0c190f) ) ROM_LOAD16_BYTE( "u65.bin", 0x800000, 0x400000, CRC(06563efe) SHA1(94e72da1f542b4e0525b4b43994242816b43dbdc) ) ROM_LOAD16_BYTE( "u66.bin", 0x800001, 0x400000, CRC(7bbe4cfc) SHA1(e77d0ed7a11b5abca1df8a0eb20ac9360cf79e76) ) - ROM_REGION( 0x800000, "gfx2", 0 ) /* Layer 0 */ + ROM_REGION( 0x800000, "layer0", 0 ) /* Layer 0 */ ROM_LOAD( "u54.bin", 0x000000, 0x400000, CRC(e7ca6936) SHA1(b7f5ab67071a1d9dd3d2c1cd2304d9cdad68850c) ) ROM_LOAD( "u55.bin", 0x400000, 0x400000, CRC(f53bd94f) SHA1(d0a74fb3d36fe522ef075e5ae44a9980da8abe2f) ) - ROM_REGION( 0x800000, "gfx3", 0 ) /* Layer 1 */ + ROM_REGION( 0x800000, "layer1", 0 ) /* Layer 1 */ ROM_LOAD( "u52.bin", 0x000000, 0x400000, CRC(e7abe7b4) SHA1(e98da45497e1aaf0d6ab352ec3e43c7438ed792a) ) ROM_LOAD( "u53.bin", 0x400000, 0x400000, CRC(51a0f391) SHA1(8b7355cbad119f4e1add14e5cd5e343ec6706104) ) - ROM_REGION( 0x400000, "gfx4", 0 ) /* Layer 2 */ + ROM_REGION( 0x400000, "layer2", 0 ) /* Layer 2 */ ROM_LOAD( "u51.bin", 0x000000, 0x400000, CRC(0b9b875c) SHA1(ef05447cd8565ae24bb71db42342724622ad1e3e) ) ROM_REGION( 0x400000, "ymz", 0 ) /* Samples */ @@ -2949,21 +3108,21 @@ ROM_START( espradejo ) ROM_LOAD16_BYTE( "u42.old", 0x000000, 0x080000, CRC(0718c7e5) SHA1(c7d1f30bd2ef363cad15b6918f9980312a15809a) ) ROM_LOAD16_BYTE( "u41.old", 0x000001, 0x080000, CRC(def30539) SHA1(957ad0b06f06689ae71393572592f6b8f818603a) ) - ROM_REGION( 0x1000000, "gfx1", 0 ) /* Sprites (do not dispose) */ + ROM_REGION( 0x1000000, "sprites", 0 ) /* Sprites */ ROM_LOAD16_BYTE( "u63.bin", 0x000000, 0x400000, CRC(2f2fe92c) SHA1(9519e365248bcec8419786eabb16fe4aae299af5) ) ROM_LOAD16_BYTE( "u64.bin", 0x000001, 0x400000, CRC(491a3da4) SHA1(53549a2bd3edc7b5e73fb46e1421b156bb0c190f) ) ROM_LOAD16_BYTE( "u65.bin", 0x800000, 0x400000, CRC(06563efe) SHA1(94e72da1f542b4e0525b4b43994242816b43dbdc) ) ROM_LOAD16_BYTE( "u66.bin", 0x800001, 0x400000, CRC(7bbe4cfc) SHA1(e77d0ed7a11b5abca1df8a0eb20ac9360cf79e76) ) - ROM_REGION( 0x800000, "gfx2", 0 ) /* Layer 0 */ + ROM_REGION( 0x800000, "layer0", 0 ) /* Layer 0 */ ROM_LOAD( "u54.bin", 0x000000, 0x400000, CRC(e7ca6936) SHA1(b7f5ab67071a1d9dd3d2c1cd2304d9cdad68850c) ) ROM_LOAD( "u55.bin", 0x400000, 0x400000, CRC(f53bd94f) SHA1(d0a74fb3d36fe522ef075e5ae44a9980da8abe2f) ) - ROM_REGION( 0x800000, "gfx3", 0 ) /* Layer 1 */ + ROM_REGION( 0x800000, "layer1", 0 ) /* Layer 1 */ ROM_LOAD( "u52.bin", 0x000000, 0x400000, CRC(e7abe7b4) SHA1(e98da45497e1aaf0d6ab352ec3e43c7438ed792a) ) ROM_LOAD( "u53.bin", 0x400000, 0x400000, CRC(51a0f391) SHA1(8b7355cbad119f4e1add14e5cd5e343ec6706104) ) - ROM_REGION( 0x400000, "gfx4", 0 ) /* Layer 2 */ + ROM_REGION( 0x400000, "layer2", 0 ) /* Layer 2 */ ROM_LOAD( "u51.bin", 0x000000, 0x400000, CRC(0b9b875c) SHA1(ef05447cd8565ae24bb71db42342724622ad1e3e) ) ROM_REGION( 0x400000, "ymz", 0 ) /* Samples */ @@ -3019,17 +3178,17 @@ ROM_START( gaia ) ROM_LOAD16_BYTE( "prg1.127", 0x000000, 0x080000, CRC(47b904b2) SHA1(58b9b55f59cf00f70b690a0371096e86f4d723c2) ) ROM_LOAD16_BYTE( "prg2.128", 0x000001, 0x080000, CRC(469b7794) SHA1(502f855c51005a866900b19c3a0a170d9ea02392) ) - ROM_REGION( 0x1000000, "gfx1", 0 ) /* Sprites (do not dispose) */ + ROM_REGION( 0x1000000, "sprites", 0 ) /* Sprites */ ROM_LOAD( "obj1.736", 0x000000, 0x400000, CRC(f4f84e5d) SHA1(8f445dd7a5c8a996939c211e5aec5742121a6e7e) ) ROM_LOAD( "obj2.738", 0x400000, 0x400000, CRC(15c2a9ce) SHA1(631eb2968395be86ef2403733e7d4ec769a013b9) ) - ROM_REGION( 0x400000, "gfx2", 0 ) /* Layer 0 */ + ROM_REGION( 0x400000, "layer0", 0 ) /* Layer 0 */ ROM_LOAD( "bg1.989", 0x000000, 0x400000, CRC(013a693d) SHA1(2cc5be6f47c13febed942e1c3167946efedc5f9b) ) - ROM_REGION( 0x400000, "gfx3", 0 ) /* Layer 1 */ + ROM_REGION( 0x400000, "layer1", 0 ) /* Layer 1 */ ROM_LOAD( "bg2.995", 0x000000, 0x400000, CRC(783cc62f) SHA1(8b6e4212688b53be5ecc29ff2d41fd43e7d0a420) ) - ROM_REGION( 0x400000, "gfx4", 0 ) /* Layer 2 */ + ROM_REGION( 0x400000, "layer2", 0 ) /* Layer 2 */ ROM_LOAD( "bg3.998", 0x000000, 0x400000, CRC(bcd61d1c) SHA1(660a3b02a8c39e1117b00d0ad06f73221fef4ce8) ) ROM_REGION( 0xc00000, "ymz", 0 ) /* Samples */ @@ -3081,17 +3240,17 @@ ROM_START( theroes ) ROM_LOAD16_BYTE( "t-hero-epm1.u0127", 0x000000, 0x080000, CRC(09db7195) SHA1(6aa5aa80e3b74e405ed8f1b9b801ce4367756986) ) ROM_LOAD16_BYTE( "t-hero-epm0.u0129", 0x000001, 0x080000, CRC(2d4e3310) SHA1(7c3284a2adc7943db50933a209d037422f87f80b) ) - ROM_REGION( 0x1000000, "gfx1", 0 ) /* Sprites (do not dispose) */ + ROM_REGION( 0x1000000, "sprites", 0 ) /* Sprites */ ROM_LOAD( "t-hero-obj1.u0736", 0x000000, 0x400000, CRC(35090f7c) SHA1(035e6c12a87d9c7241eea34fc7e2170bec842acc) ) ROM_LOAD( "t-hero-obj2.u0738", 0x400000, 0x400000, CRC(71605108) SHA1(6070c26d8f22fafc81d97cacfef96ae652e355d0) ) - ROM_REGION( 0x400000, "gfx2", 0 ) /* Layer 0 */ + ROM_REGION( 0x400000, "layer0", 0 ) /* Layer 0 */ ROM_LOAD( "t-hero-bg1.u0999", 0x000000, 0x400000, CRC(47b0fb40) SHA1(a7217b3d805b4255c589821cdadd9b190cada525) ) - ROM_REGION( 0x400000, "gfx3", 0 ) /* Layer 1 */ + ROM_REGION( 0x400000, "layer1", 0 ) /* Layer 1 */ ROM_LOAD( "t-hero-bg2.u0995", 0x000000, 0x400000, CRC(b16237a1) SHA1(66aed2c5036492a17d20de90333e172a6f117851) ) - ROM_REGION( 0x400000, "gfx4", 0 ) /* Layer 2 */ + ROM_REGION( 0x400000, "layer2", 0 ) /* Layer 2 */ ROM_LOAD( "t-hero-bg3.u0998", 0x000000, 0x400000, CRC(08eb5604) SHA1(3d32966708c73198272c40e6ddc680bf4c7919eb) ) ROM_REGION( 0xc00000, "ymz", 0 ) /* Samples */ @@ -3119,7 +3278,7 @@ ROM_START( guwange ) ROM_LOAD16_BYTE( "gu-u0127.bin", 0x000000, 0x080000, CRC(f86b5293) SHA1(f8b1cd77cc25328d5010889850e4b86c27d9e396) ) ROM_LOAD16_BYTE( "gu-u0129.bin", 0x000001, 0x080000, CRC(6c0e3b93) SHA1(aaad6569b9a7b6f9a315062f9fedfc95851c1bc6) ) - ROM_REGION( 0x2000000, "gfx1", 0 ) /* Sprites (do not dispose) */ + ROM_REGION( 0x2000000, "sprites", 0 ) /* Sprites */ ROM_LOAD16_BYTE( "u083.bin", 0x0000000, 0x800000, CRC(adc4b9c4) SHA1(3f9fb004e19187bbfa87ddfe8cfc69740656a1bd) ) ROM_LOAD16_BYTE( "u082.bin", 0x0000001, 0x800000, CRC(3d75876c) SHA1(705b8c2dbdc31e9516f429969f87988beec796d7) ) ROM_LOAD16_BYTE( "u086.bin", 0x1000000, 0x400000, CRC(188e4f81) SHA1(626074d81782a6de0b52406331b4b8561d3e36f5) ) @@ -3129,13 +3288,13 @@ ROM_START( guwange ) //sprite bug fix? // ROM_FILL( 0x1800000, 0x800000, 0xff ) - ROM_REGION( 0x800000, "gfx2", 0 ) /* Layer 0 */ + ROM_REGION( 0x800000, "layer0", 0 ) /* Layer 0 */ ROM_LOAD( "u101.bin", 0x000000, 0x800000, CRC(0369491f) SHA1(ca6b1345506f13a17c9bace01637d1f61a278644) ) - ROM_REGION( 0x400000, "gfx3", 0 ) /* Layer 1 */ + ROM_REGION( 0x400000, "layer1", 0 ) /* Layer 1 */ ROM_LOAD( "u10102.bin", 0x000000, 0x400000, CRC(e28d6855) SHA1(7001a6e298c6a1fcceb79586bf5f4bf0f30027f6) ) - ROM_REGION( 0x400000, "gfx4", 0 ) /* Layer 2 */ + ROM_REGION( 0x400000, "layer2", 0 ) /* Layer 2 */ ROM_LOAD( "u10103.bin", 0x000000, 0x400000, CRC(0fe91b8e) SHA1(8b71ebeef5e4d2b00fdaaab97776d74e1c96dc59) ) ROM_REGION( 0x400000, "ymz", 0 ) /* Samples */ @@ -3182,17 +3341,17 @@ ROM_START( hotdogst ) ROM_LOAD( "mp2u19", 0x00000, 0x08000, CRC(ff979ebe) SHA1(4cb80086cfdc69a321c7f75455cef89e20488b76) ) // FIRST AND SECOND HALF IDENTICAL ROM_CONTINUE( 0x10000, 0x38000 ) - ROM_REGION( 0x400000 * 2, "gfx1", 0 ) /* Sprites: * 2 , do not dispose */ + ROM_REGION( 0x400000 * 2, "sprites", 0 ) /* Sprites: * 2 */ ROM_LOAD( "mp9u55", 0x000000, 0x200000, CRC(258d49ec) SHA1(f39e30c82d8f680f248e1eb59d7c5acb479fa277) ) ROM_LOAD( "mp8u54", 0x200000, 0x200000, CRC(bdb4d7b8) SHA1(0dd490988aa84b0e9a21ade5fd606b03eca13f6c) ) - ROM_REGION( 0x80000, "gfx2", 0 ) /* Layer 0 */ + ROM_REGION( 0x80000, "layer0", 0 ) /* Layer 0 */ ROM_LOAD( "mp7u56", 0x00000, 0x80000, CRC(87c21c50) SHA1(fc0eea79abdd96edb4fa2c7047aaa728ef838234) ) - ROM_REGION( 0x80000, "gfx3", 0 ) /* Layer 1 */ + ROM_REGION( 0x80000, "layer1", 0 ) /* Layer 1 */ ROM_LOAD( "mp6u61", 0x00000, 0x80000, CRC(4dafb288) SHA1(4756259adfe49ba42cde25e7902655b0f0731a6c) ) - ROM_REGION( 0x80000, "gfx4", 0 ) /* Layer 2 */ + ROM_REGION( 0x80000, "layer2", 0 ) /* Layer 2 */ ROM_LOAD( "mp5u64", 0x00000, 0x80000, CRC(9b26458c) SHA1(acef62422fa3f92e6ca1eba0ee6fb914cd1ee190) ) ROM_REGION( 0xc0000, "oki", 0 ) /* Samples */ @@ -3254,11 +3413,11 @@ ROM_START( korokoro ) ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 Code */ ROM_LOAD16_WORD_SWAP( "mp-001_ver07.u0130", 0x000000, 0x080000, CRC(86c7241f) SHA1(c9f0ab63c4fe36df1300445e9bb0d5c6a1bb733f) ) // 1xxxxxxxxxxxxxxxxxx = 0xFF - ROM_REGION( 0x180000 * 2, "gfx1", 0 ) /* Sprites: * 2 , do not dispose */ + ROM_REGION( 0x180000 * 2, "sprites", 0 ) /* Sprites: * 2 */ ROM_LOAD( "mp-001_ver01.u1066", 0x000000, 0x100000, CRC(c5c6af7e) SHA1(13ac26fd703672a01d629be4e5efe9fb8720a4fb) ) ROM_LOAD( "mp-001_ver01.u1051", 0x100000, 0x080000, CRC(fe5e28e8) SHA1(44da1a7d813b149f9bae351bbcbd0bc2d4c70e10) ) // 1xxxxxxxxxxxxxxxxxx = 0xFF - ROM_REGION( 0x100000, "gfx2", 0 ) /* Layer 0 */ + ROM_REGION( 0x100000, "layer0", 0 ) /* Layer 0 */ ROM_LOAD( "mp-001_ver01.u1060", 0x000000, 0x100000, CRC(ec9cf9d8) SHA1(32fa7120e30c14e484de3b3a9c93efe3654d43c8) ) ROM_REGION( 0x100000, "ymz", 0 ) /* Samples */ @@ -3269,11 +3428,11 @@ ROM_START( crusherm ) ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 Code */ ROM_LOAD16_WORD_SWAP( "mp-003ver01.u0130", 0x000000, 0x080000, CRC(a4f56e6b) SHA1(1d3af7602c48a6b6c76c376dbc8ad3823b56868a) ) - ROM_REGION( 0x200000 * 2, "gfx1", 0 ) /* Sprites: * 2 , do not dispose */ + ROM_REGION( 0x200000 * 2, "sprites", 0 ) /* Sprites: * 2 */ ROM_LOAD( "mp-003ver01.u1067", 0x000000, 0x100000, CRC(268a4921) SHA1(8bb818466616051af01680b381af53b8b6a18428) ) ROM_LOAD( "mp-003ver01.u1066", 0x100000, 0x100000, CRC(79e77a6e) SHA1(9d03dd083769851d628ba6b3d77cfde9603e74f4) ) - ROM_REGION( 0x100000, "gfx2", 0 ) /* Layer 0 */ + ROM_REGION( 0x100000, "layer0", 0 ) /* Layer 0 */ ROM_LOAD( "mp-003ver01.u1060", 0x000000, 0x100000, CRC(7661893e) SHA1(d51645c96247b039214393ba5eae7357144dfd65) ) ROM_REGION( 0x200000, "ymz", 0 ) /* Samples */ @@ -3319,14 +3478,14 @@ U55 ROM_LOAD( "mzs.u21", 0x00000, 0x08000, CRC(c5b4f7ed) SHA1(01f3cd1dd4045029260544e0e1c15dd08817012e) ) \ ROM_CONTINUE( 0x10000, 0x18000 ) \ \ - ROM_REGION( 0x400000 * 2, "gfx1", ROMREGION_ERASEFF ) \ + ROM_REGION( 0x400000 * 2, "sprites", ROMREGION_ERASEFF ) \ ROM_LOAD( "bp943a-2.u56", 0x000000, 0x200000, CRC(97e13959) SHA1(c30b1093aacebafefcae701af767dd36fc55fac7) ) \ ROM_LOAD( "bp943a-3.u55", 0x200000, 0x080000, CRC(9c4957dd) SHA1(e775605a01b6cadc318855ac046dad03c4fc5bb4) ) \ \ - ROM_REGION( 0x200000, "gfx2", 0 ) \ + ROM_REGION( 0x200000, "layer0", 0 ) \ ROM_LOAD( "bp943a-1.u60", 0x000000, 0x200000, CRC(46327415) SHA1(679d26caefa975569198fac550105c370e2be00d) ) \ \ - ROM_REGION( 0x200000, "gfx3", 0 ) \ + ROM_REGION( 0x200000, "layer1", 0 ) \ ROM_LOAD( "bp943a-0.u63", 0x000000, 0x200000, CRC(c1fed98a) SHA1(c276505f80a49b129862966a19db507f97153e45) ) \ \ ROM_REGION( 0x0c0000, "oki", 0 ) \ @@ -3403,21 +3562,21 @@ ROM_START( metmqstr ) ROM_LOAD( "bp947a.u20", 0x00000, 0x08000, CRC(a4a36170) SHA1(ae55094518bd968ea0d04613a133c1421e412012) ) ROM_CONTINUE( 0x10000, 0x38000 ) - ROM_REGION( 0x800000 * 2, "gfx1", 0 ) /* Sprites (do not dispose) */ + ROM_REGION( 0x800000 * 2, "sprites", 0 ) /* Sprites */ ROM_LOAD( "bp947a.u49", 0x000000, 0x200000, CRC(09749531) SHA1(6deeed2712241611ec3202c49a66beed28698af8) ) ROM_LOAD( "bp947a.u50", 0x200000, 0x200000, CRC(19cea8b2) SHA1(87fb29458074f0e4852237e0184b8b3b44b0eb29) ) ROM_LOAD( "bp947a.u51", 0x400000, 0x200000, CRC(c19bed67) SHA1(ac664a15512c0e8c8b701833aede95f53cd46a45) ) ROM_LOAD( "bp947a.u52", 0x600000, 0x200000, CRC(70c64875) SHA1(1c20ab100ccfdf42c97a25e4deb9041b83f5ca8d) ) - ROM_REGION( 0x100000, "gfx2", 0 ) /* Layer 0 */ + ROM_REGION( 0x100000, "layer0", 0 ) /* Layer 0 */ ROM_LOAD( "bp947a.u48", 0x000000, 0x100000, CRC(04ff6a3d) SHA1(7187db436f7a2ab59a3f5c6ab297b3d740e20f1d) ) // FIRST AND SECOND HALF IDENTICAL ROM_CONTINUE( 0x000000, 0x100000 ) - ROM_REGION( 0x100000, "gfx3", 0 ) /* Layer 1 */ + ROM_REGION( 0x100000, "layer1", 0 ) /* Layer 1 */ ROM_LOAD( "bp947a.u47", 0x000000, 0x100000, CRC(0de42827) SHA1(05d452ca11a31f941cb8a9b0cbb0b59c6b0cbdcb) ) // FIRST AND SECOND HALF IDENTICAL ROM_CONTINUE( 0x000000, 0x100000 ) - ROM_REGION( 0x100000, "gfx4", 0 ) /* Layer 2 */ + ROM_REGION( 0x100000, "layer2", 0 ) /* Layer 2 */ ROM_LOAD( "bp947a.u46", 0x000000, 0x100000, CRC(0f9c906e) SHA1(03872e8be28637df66373bddb04ed91de4f9db75) ) // FIRST AND SECOND HALF IDENTICAL ROM_CONTINUE( 0x000000, 0x100000 ) @@ -3442,21 +3601,21 @@ ROM_START( nmaster ) ROM_LOAD( "bp947a.u20", 0x00000, 0x08000, CRC(a4a36170) SHA1(ae55094518bd968ea0d04613a133c1421e412012) ) ROM_CONTINUE( 0x10000, 0x38000 ) - ROM_REGION( 0x800000 * 2, "gfx1", 0 ) /* Sprites (do not dispose) */ + ROM_REGION( 0x800000 * 2, "sprites", 0 ) /* Sprites */ ROM_LOAD( "bp947a.u49", 0x000000, 0x200000, CRC(09749531) SHA1(6deeed2712241611ec3202c49a66beed28698af8) ) ROM_LOAD( "bp947a.u50", 0x200000, 0x200000, CRC(19cea8b2) SHA1(87fb29458074f0e4852237e0184b8b3b44b0eb29) ) ROM_LOAD( "bp947a.u51", 0x400000, 0x200000, CRC(c19bed67) SHA1(ac664a15512c0e8c8b701833aede95f53cd46a45) ) ROM_LOAD( "bp947a.u52", 0x600000, 0x200000, CRC(70c64875) SHA1(1c20ab100ccfdf42c97a25e4deb9041b83f5ca8d) ) - ROM_REGION( 0x100000, "gfx2", 0 ) /* Layer 0 */ + ROM_REGION( 0x100000, "layer0", 0 ) /* Layer 0 */ ROM_LOAD( "bp947a.u48", 0x000000, 0x100000, CRC(04ff6a3d) SHA1(7187db436f7a2ab59a3f5c6ab297b3d740e20f1d) ) // FIRST AND SECOND HALF IDENTICAL ROM_CONTINUE( 0x000000, 0x100000 ) - ROM_REGION( 0x100000, "gfx3", 0 ) /* Layer 1 */ + ROM_REGION( 0x100000, "layer1", 0 ) /* Layer 1 */ ROM_LOAD( "bp947a.u47", 0x000000, 0x100000, CRC(0de42827) SHA1(05d452ca11a31f941cb8a9b0cbb0b59c6b0cbdcb) ) // FIRST AND SECOND HALF IDENTICAL ROM_CONTINUE( 0x000000, 0x100000 ) - ROM_REGION( 0x100000, "gfx4", 0 ) /* Layer 2 */ + ROM_REGION( 0x100000, "layer2", 0 ) /* Layer 2 */ ROM_LOAD( "bp947a.u46", 0x000000, 0x100000, CRC(0f9c906e) SHA1(03872e8be28637df66373bddb04ed91de4f9db75) ) // FIRST AND SECOND HALF IDENTICAL ROM_CONTINUE( 0x000000, 0x100000 ) @@ -3500,7 +3659,7 @@ ROM_START( pwrinst2 ) ROM_LOAD( "g02.u3a", 0x00000, 0x0c000, CRC(ebea5e1e) SHA1(4d3af9e5f29d0c1b26563f51250039c9e8bd3735) ) ROM_CONTINUE( 0x10000, 0x14000 ) - ROM_REGION( 0xe00000 * 2, "gfx1", 0 ) /* Sprites (do not dispose) */ + ROM_REGION( 0xe00000 * 2, "sprites", 0 ) /* Sprites */ ROM_LOAD( "g02.u61", 0x000000, 0x200000, CRC(91e30398) SHA1(2b59a5e40bed2a988382054fe30d92808dad3348) ) ROM_LOAD( "g02.u62", 0x200000, 0x200000, CRC(d9455dd7) SHA1(afa69fe9a540cd78b8cfecf09cffa1401c01141a) ) ROM_LOAD( "g02.u63", 0x400000, 0x200000, CRC(4d20560b) SHA1(ceaee8cf0b69cc366b95ddcb689a5594d79e5114) ) @@ -3509,16 +3668,16 @@ ROM_START( pwrinst2 ) ROM_LOAD( "g02.u66", 0xa00000, 0x200000, CRC(becf2a36) SHA1(f8b386d0292b1dc745b7253a3df51d1aa8d5e9db) ) ROM_LOAD( "g02.u67", 0xc00000, 0x200000, CRC(52fe2b8b) SHA1(dd50aa62f7db995e28f47de9b3fb749aeeaaa5b0) ) - ROM_REGION( 0x200000, "gfx2", 0 ) /* Layer 0 */ + ROM_REGION( 0x200000, "layer0", 0 ) /* Layer 0 */ ROM_LOAD( "g02.u78", 0x000000, 0x200000, CRC(1eca63d2) SHA1(538942b43301f950e3d5139461331c54dc90129d) ) - ROM_REGION( 0x100000, "gfx3", 0 ) /* Layer 1 */ + ROM_REGION( 0x100000, "layer1", 0 ) /* Layer 1 */ ROM_LOAD( "g02.u81", 0x000000, 0x100000, CRC(8a3ff685) SHA1(4a59ec50ec4470453374fe10f76d3e894494b49f) ) - ROM_REGION( 0x100000, "gfx4", 0 ) /* Layer 2 */ + ROM_REGION( 0x100000, "layer2", 0 ) /* Layer 2 */ ROM_LOAD( "g02.u89", 0x000000, 0x100000, CRC(373e1f73) SHA1(ec1ae9fab37eee41be8e1bc6dad03809b62fdbce) ) - ROM_REGION( 0x080000, "gfx5", 0 ) /* Layer 3 */ + ROM_REGION( 0x080000, "layer3", 0 ) /* Layer 3 */ ROM_LOAD( "g02.82a", 0x000000, 0x080000, CRC(4b3567d6) SHA1(d3e14783b312d2bea9722a8e3c22bcec81e26166) ) ROM_REGION( 0x440000, "oki1", 0 ) /* OKIM6295 #1 Samples */ @@ -3546,7 +3705,7 @@ ROM_START( pwrinst2j ) ROM_LOAD( "g02j.u3a", 0x00000, 0x0c000, CRC(eead01f1) SHA1(0ced6755e471e0303fe397b3d54a5c799762ebd8) ) ROM_CONTINUE( 0x10000, 0x14000 ) - ROM_REGION( 0xe00000 * 2, "gfx1", 0 ) /* Sprites (do not dispose) */ + ROM_REGION( 0xe00000 * 2, "sprites", 0 ) /* Sprites */ ROM_LOAD( "g02.u61", 0x000000, 0x200000, CRC(91e30398) SHA1(2b59a5e40bed2a988382054fe30d92808dad3348) ) ROM_LOAD( "g02.u62", 0x200000, 0x200000, CRC(d9455dd7) SHA1(afa69fe9a540cd78b8cfecf09cffa1401c01141a) ) ROM_LOAD( "g02.u63", 0x400000, 0x200000, CRC(4d20560b) SHA1(ceaee8cf0b69cc366b95ddcb689a5594d79e5114) ) @@ -3555,16 +3714,16 @@ ROM_START( pwrinst2j ) ROM_LOAD( "g02.u66", 0xa00000, 0x200000, CRC(becf2a36) SHA1(f8b386d0292b1dc745b7253a3df51d1aa8d5e9db) ) ROM_LOAD( "g02.u67", 0xc00000, 0x200000, CRC(52fe2b8b) SHA1(dd50aa62f7db995e28f47de9b3fb749aeeaaa5b0) ) - ROM_REGION( 0x200000, "gfx2", 0 ) /* Layer 0 */ + ROM_REGION( 0x200000, "layer0", 0 ) /* Layer 0 */ ROM_LOAD( "g02.u78", 0x000000, 0x200000, CRC(1eca63d2) SHA1(538942b43301f950e3d5139461331c54dc90129d) ) - ROM_REGION( 0x100000, "gfx3", 0 ) /* Layer 1 */ + ROM_REGION( 0x100000, "layer1", 0 ) /* Layer 1 */ ROM_LOAD( "g02.u81", 0x000000, 0x100000, CRC(8a3ff685) SHA1(4a59ec50ec4470453374fe10f76d3e894494b49f) ) - ROM_REGION( 0x100000, "gfx4", 0 ) /* Layer 2 */ + ROM_REGION( 0x100000, "layer2", 0 ) /* Layer 2 */ ROM_LOAD( "g02.u89", 0x000000, 0x100000, CRC(373e1f73) SHA1(ec1ae9fab37eee41be8e1bc6dad03809b62fdbce) ) - ROM_REGION( 0x080000, "gfx5", 0 ) /* Layer 3 */ + ROM_REGION( 0x080000, "layer3", 0 ) /* Layer 3 */ ROM_LOAD( "g02j.82a", 0x000000, 0x080000, CRC(3be86fe1) SHA1(313bfe5fb8dc5fee4462db259738e079759f9390) ) ROM_REGION( 0x440000, "oki1", 0 ) /* OKIM6295 #1 Samples */ @@ -3646,7 +3805,7 @@ ROM_START( plegends ) ROM_LOAD( "d19.u3", 0x00000, 0x0c000, CRC(47598459) SHA1(4e9dcfebfbd160230768965e8c6e5ed446c1aa7b) ) /* Same as sound.u3 below, but twice the size? */ ROM_CONTINUE( 0x10000, 0x34000 ) - ROM_REGION( 0x1000000 * 2, "gfx1", 0 ) /* Sprites (do not dispose) */ + ROM_REGION( 0x1000000 * 2, "sprites", 0 ) /* Sprites */ ROM_LOAD( "g02.u61", 0x000000, 0x200000, CRC(91e30398) SHA1(2b59a5e40bed2a988382054fe30d92808dad3348) ) ROM_LOAD( "g02.u62", 0x200000, 0x200000, CRC(d9455dd7) SHA1(afa69fe9a540cd78b8cfecf09cffa1401c01141a) ) ROM_LOAD( "g02.u63", 0x400000, 0x200000, CRC(4d20560b) SHA1(ceaee8cf0b69cc366b95ddcb689a5594d79e5114) ) @@ -3656,16 +3815,16 @@ ROM_START( plegends ) ROM_LOAD( "atgs.u1", 0xc00000, 0x200000, CRC(aa6f34a9) SHA1(00de85de1b413bd2c46931c13365f8556b50b634) ) /* US version's rom labeled "sp6_u67-1" */ ROM_LOAD( "atgs.u2", 0xe00000, 0x200000, CRC(553eda27) SHA1(5b9126f966f0c64b3ac7c06526064d71e4df60c5) ) /* US version's rom labeled "sp6_u67-2" */ - ROM_REGION( 0x200000, "gfx2", 0 ) /* Layer 0 */ + ROM_REGION( 0x200000, "layer0", 0 ) /* Layer 0 */ ROM_LOAD( "atgs.u78", 0x000000, 0x200000, CRC(16710ecb) SHA1(6277f7f6095457df649932550b04242e5853ec5e) ) /* US version's rom labeled "bg0_u78" */ - ROM_REGION( 0x200000, "gfx3", 0 ) /* Layer 1 */ + ROM_REGION( 0x200000, "layer1", 0 ) /* Layer 1 */ ROM_LOAD( "atgs.u81", 0x000000, 0x200000, CRC(cb2aca91) SHA1(869f0f2db35c45ec90b74d33d521cbb598e60a3f) ) /* US version's rom labeled "bg1_u81" */ - ROM_REGION( 0x200000, "gfx4", 0 ) /* Layer 2 */ + ROM_REGION( 0x200000, "layer2", 0 ) /* Layer 2 */ ROM_LOAD( "atgs.u89", 0x000000, 0x200000, CRC(65f45a0f) SHA1(b7f4b56308dcdc144100d0a92d91255459a320a4) ) /* US version's rom labeled "bg2_u89" */ - ROM_REGION( 0x080000, "gfx5", 0 ) /* Layer 3 */ + ROM_REGION( 0x080000, "layer3", 0 ) /* Layer 3 */ ROM_LOAD( "text.u82", 0x000000, 0x080000, CRC(f57333ea) SHA1(409d8005ffcf91943e4a743b2434ce425f5bdc36) ) /* US version's rom labeled "d20" */ ROM_REGION( 0x440000, "oki1", 0 ) /* OKIM6295 #1 Samples */ @@ -3694,7 +3853,7 @@ ROM_START( plegendsj ) ROM_LOAD( "sound.u3", 0x00000, 0x0c000, CRC(36f71520) SHA1(11d0a059ddba3e1aa4c54ccdde7b3f5c7bde482f) ) ROM_CONTINUE( 0x10000, 0x14000 ) - ROM_REGION( 0x1000000 * 2, "gfx1", 0 ) /* Sprites (do not dispose) */ + ROM_REGION( 0x1000000 * 2, "sprites", 0 ) /* Sprites */ ROM_LOAD( "g02.u61", 0x000000, 0x200000, CRC(91e30398) SHA1(2b59a5e40bed2a988382054fe30d92808dad3348) ) ROM_LOAD( "g02.u62", 0x200000, 0x200000, CRC(d9455dd7) SHA1(afa69fe9a540cd78b8cfecf09cffa1401c01141a) ) ROM_LOAD( "g02.u63", 0x400000, 0x200000, CRC(4d20560b) SHA1(ceaee8cf0b69cc366b95ddcb689a5594d79e5114) ) @@ -3704,16 +3863,16 @@ ROM_START( plegendsj ) ROM_LOAD( "atgs.u1", 0xc00000, 0x200000, CRC(aa6f34a9) SHA1(00de85de1b413bd2c46931c13365f8556b50b634) ) /* US version's rom labeled "sp6_u67-1" */ ROM_LOAD( "atgs.u2", 0xe00000, 0x200000, CRC(553eda27) SHA1(5b9126f966f0c64b3ac7c06526064d71e4df60c5) ) /* US version's rom labeled "sp6_u67-2" */ - ROM_REGION( 0x200000, "gfx2", 0 ) /* Layer 0 */ + ROM_REGION( 0x200000, "layer0", 0 ) /* Layer 0 */ ROM_LOAD( "atgs.u78", 0x000000, 0x200000, CRC(16710ecb) SHA1(6277f7f6095457df649932550b04242e5853ec5e) ) /* US version's rom labeled "bg0_u78" */ - ROM_REGION( 0x200000, "gfx3", 0 ) /* Layer 1 */ + ROM_REGION( 0x200000, "layer1", 0 ) /* Layer 1 */ ROM_LOAD( "atgs.u81", 0x000000, 0x200000, CRC(cb2aca91) SHA1(869f0f2db35c45ec90b74d33d521cbb598e60a3f) ) /* US version's rom labeled "bg1_u81" */ - ROM_REGION( 0x200000, "gfx4", 0 ) /* Layer 2 */ + ROM_REGION( 0x200000, "layer2", 0 ) /* Layer 2 */ ROM_LOAD( "atgs.u89", 0x000000, 0x200000, CRC(65f45a0f) SHA1(b7f4b56308dcdc144100d0a92d91255459a320a4) ) /* US version's rom labeled "bg2_u89" */ - ROM_REGION( 0x080000, "gfx5", 0 ) /* Layer 3 */ + ROM_REGION( 0x080000, "layer3", 0 ) /* Layer 3 */ ROM_LOAD( "text.u82", 0x000000, 0x080000, CRC(f57333ea) SHA1(409d8005ffcf91943e4a743b2434ce425f5bdc36) ) /* US version's rom labeled "d20" */ ROM_REGION( 0x440000, "oki1", 0 ) /* OKIM6295 #1 Samples */ @@ -3787,17 +3946,17 @@ BPSM.U77 23C16000 GFX ROM_LOAD( "bpsm945a.u9", 0x00000, 0x08000, CRC(438de548) SHA1(81a0ca1cd662e2017aa980da162d39cfd0a19f14) ) \ ROM_CONTINUE( 0x10000, 0x78000 ) \ \ - ROM_REGION( 0x400000 * 2, "gfx1", 0 ) \ + ROM_REGION( 0x400000 * 2, "sprites", 0 ) \ ROM_LOAD( "bpsm.u76", 0x000000, 0x200000, CRC(a243a5ba) SHA1(3a32d685e53e0b75977f7acb187cf414a50c7f8b) ) \ ROM_LOAD( "bpsm.u77", 0x200000, 0x200000, CRC(5179a4ac) SHA1(ceb8d3d889aae885debb2c9cf2263f60be3f1212) ) \ \ - ROM_REGION( 0x200000, "gfx2", 0 ) \ + ROM_REGION( 0x200000, "layer0", 0 ) \ ROM_LOAD( "bpsm.u53", 0x000000, 0x200000, CRC(b9b15f83) SHA1(8c574c97d38fb9e2889648c8d677b171e80a4229) ) \ \ - ROM_REGION( 0x200000, "gfx3", 0 ) \ + ROM_REGION( 0x200000, "layer1", 0 ) \ ROM_LOAD( "bpsm.u54", 0x000000, 0x200000, CRC(8f00679d) SHA1(4ea412f8ecdb9fd46f2d1378809919d1a62fcc2b) ) \ \ - ROM_REGION( (5*0x200000)*2, "gfx4", 0 ) \ + ROM_REGION( (5*0x200000)*2, "layer2", 0 ) \ \ ROM_LOAD( "bpsm.u57", 0x000000, 0x200000, CRC(86be7b63) SHA1(6b7d3d41fb1e4045c765b3cc98304464d91e6e3d) ) \ ROM_LOAD( "bpsm.u58", 0x200000, 0x200000, CRC(e0bba83b) SHA1(9e1434814efd9321b2e5210b995d2fe66cca37dd) ) \ @@ -3872,17 +4031,17 @@ ROM_END ROM_LOAD( "bpsm945a.u9", 0x00000, 0x08000, CRC(438de548) SHA1(81a0ca1cd662e2017aa980da162d39cfd0a19f14) ) \ ROM_CONTINUE( 0x10000, 0x78000 ) \ \ - ROM_REGION( 0x400000 * 2, "gfx1", 0 ) \ + ROM_REGION( 0x400000 * 2, "sprites", 0 ) \ ROM_LOAD( "bpsm.u76", 0x000000, 0x200000, CRC(a243a5ba) SHA1(3a32d685e53e0b75977f7acb187cf414a50c7f8b) ) \ ROM_LOAD( "bpsm.u77", 0x200000, 0x200000, CRC(5179a4ac) SHA1(ceb8d3d889aae885debb2c9cf2263f60be3f1212) ) \ \ - ROM_REGION( 0x200000, "gfx2", 0 ) \ + ROM_REGION( 0x200000, "layer0", 0 ) \ ROM_LOAD( "bpsm.u53", 0x000000, 0x200000, CRC(b9b15f83) SHA1(8c574c97d38fb9e2889648c8d677b171e80a4229) ) \ \ - ROM_REGION( 0x200000, "gfx3", 0 ) \ + ROM_REGION( 0x200000, "layer1", 0 ) \ ROM_LOAD( "bpsm.u54", 0x000000, 0x200000, CRC(8f00679d) SHA1(4ea412f8ecdb9fd46f2d1378809919d1a62fcc2b) ) \ \ - ROM_REGION( (5*0x200000)*2, "gfx4", 0 ) \ + ROM_REGION( (5*0x200000)*2, "layer2", 0 ) \ \ ROM_LOAD( "bpsm.u57", 0x000000, 0x200000, CRC(86be7b63) SHA1(6b7d3d41fb1e4045c765b3cc98304464d91e6e3d) ) \ ROM_LOAD( "bpsm.u58", 0x200000, 0x200000, CRC(e0bba83b) SHA1(9e1434814efd9321b2e5210b995d2fe66cca37dd) ) \ @@ -3948,6 +4107,46 @@ ROM_START( sailormnoh ) ROM_END +/*************************************************************************** + + Tobikose! Jumpman by Namco, 1999 + PCB TJ0476 + + TMP 68HC000P-16 + + 013 9934WX002 + 038 9919WX007 + + OKI M6295 + + Battery + EEPROM? + + 28MHz XTAL + +***************************************************************************/ + +ROM_START( tjumpman ) + ROM_REGION( 0x080000, "maincpu", 0 ) /* 68000 code */ + ROM_LOAD16_WORD_SWAP( "tj1_mpr-0c.u41", 0x00000, 0x80000, CRC(de3030b8) SHA1(5f2165ea039c34cab605ebddc0b61eadc47b1532) ) + + ROM_REGION( 0x100000 * 2, "sprites", 0 ) /* Sprites */ + ROM_LOAD16_BYTE( "tj1_obj-0a.u52", 0x00000, 0x80000, CRC(b42cf8e8) SHA1(9ed7fb3574ed163a81f34a0d8cfa7a4661439932) ) + ROM_LOAD16_BYTE( "tj1_obj-1a.u53", 0x00001, 0x80000, CRC(5f0124d7) SHA1(4d9cfa464159998c176a178c668273d128dedff8) ) + + ROM_REGION( 0x80000, "layer0", 0 ) /* Layer 0 */ + ROM_LOAD( "tj1_cha-0a.u60", 0x00000, 0x40000, CRC(8aa08a38) SHA1(92b4df72fb8a833bb686ea478811243c5b868470) ) + ROM_LOAD( "tj1_cha-1a.u61", 0x40000, 0x40000, CRC(50072c82) SHA1(f8823e5a865afb8824cafd3b6483e2b6250ee77f) ) + + ROM_REGION( 0x40000, "oki1", 0 ) /* OKIM6295 #1 Samples */ + ROM_LOAD( "tj1_voi-0a.u27", 0x00000, 0x40000, CRC(b5693aae) SHA1(8887ae98030cb5d184e3d57d2b4e48bf1e76a232) ) + + ROM_REGION( 0x0002, "plds", 0 ) + ROM_LOAD( "tj1_gal.uxx", 0x0000, 0x0001, NO_DUMP ) // GAL16V8D-15LP + ROM_LOAD( "tj1_gal.uyy", 0x0000, 0x0001, NO_DUMP ) // GAL16V8D-15LP +ROM_END + + /*************************************************************************** Puzzle Uo Poko @@ -3961,10 +4160,10 @@ ROM_START( uopoko ) ROM_LOAD16_BYTE( "u26.int", 0x000000, 0x080000, CRC(b445c9ac) SHA1(4dda1c6e19de629ea4d9061560c32a9f0deabd53) ) ROM_LOAD16_BYTE( "u25.int", 0x000001, 0x080000, CRC(a1258482) SHA1(7f4adc4a6d069032aaf3d93eb60fde16b59483f8) ) - ROM_REGION( 0x400000 * 2, "gfx1", 0 ) /* Sprites: * 2 , do not dispose */ + ROM_REGION( 0x400000 * 2, "sprites", 0 ) /* Sprites: * 2 */ ROM_LOAD( "u33.bin", 0x000000, 0x400000, CRC(5d142ad2) SHA1(f26abcf7a625a322b83df44fbd6e852bfb03663c) ) - ROM_REGION( 0x400000, "gfx2", 0 ) /* Layer 0 */ + ROM_REGION( 0x400000, "layer0", 0 ) /* Layer 0 */ ROM_LOAD( "u49.bin", 0x000000, 0x400000, CRC(12fb11bb) SHA1(953df1b16b5c9a6c3eb2fdebec4669a879270e73) ) ROM_REGION( 0x200000, "ymz", 0 ) /* Samples */ @@ -3979,10 +4178,10 @@ ROM_START( uopokoj ) ROM_LOAD16_BYTE( "u26.bin", 0x000000, 0x080000, CRC(e7eec050) SHA1(cf3a77741029f96dbbec5ca7217a1723e4233cff) ) ROM_LOAD16_BYTE( "u25.bin", 0x000001, 0x080000, CRC(68cb6211) SHA1(a6db0bc2e3e54b6992a44b7d52395917e66db49b) ) - ROM_REGION( 0x400000 * 2, "gfx1", 0 ) /* Sprites: * 2 , do not dispose */ + ROM_REGION( 0x400000 * 2, "sprites", 0 ) /* Sprites: * 2 */ ROM_LOAD( "u33.bin", 0x000000, 0x400000, CRC(5d142ad2) SHA1(f26abcf7a625a322b83df44fbd6e852bfb03663c) ) - ROM_REGION( 0x400000, "gfx2", 0 ) /* Layer 0 */ + ROM_REGION( 0x400000, "layer0", 0 ) /* Layer 0 */ ROM_LOAD( "u49.bin", 0x000000, 0x400000, CRC(12fb11bb) SHA1(953df1b16b5c9a6c3eb2fdebec4669a879270e73) ) ROM_REGION( 0x200000, "ymz", 0 ) /* Samples */ @@ -4046,7 +4245,7 @@ static DRIVER_INIT( agallet ) memory_configure_bank(machine, "bank1", 0, 0x02, &ROM[0x00000], 0x4000); memory_configure_bank(machine, "bank1", 2, 0x1e, &ROM[0x10000], 0x4000); - sailormn_unpack_tiles(machine, "gfx4"); + sailormn_unpack_tiles(machine, "layer2"); unpack_sprites(machine); } @@ -4147,8 +4346,8 @@ static DRIVER_INIT( mazinger ) cave_state *state = (cave_state *)machine->driver_data; UINT8 *ROM = memory_region(machine, "audiocpu"); UINT8 *buffer; - UINT8 *src = memory_region(machine, "gfx1"); - int len = memory_region_length(machine, "gfx1"); + UINT8 *src = memory_region(machine, "sprites"); + int len = memory_region_length(machine, "sprites"); init_cave(machine); @@ -4197,8 +4396,8 @@ static DRIVER_INIT( pwrinst2j ) cave_state *state = (cave_state *)machine->driver_data; UINT8 *ROM = memory_region(machine, "audiocpu"); UINT8 *buffer; - UINT8 *src = memory_region(machine, "gfx1"); - int len = memory_region_length(machine, "gfx1"); + UINT8 *src = memory_region(machine, "sprites"); + int len = memory_region_length(machine, "sprites"); int i, j; init_cave(machine); @@ -4241,14 +4440,13 @@ static DRIVER_INIT( pwrinst2 ) } - static DRIVER_INIT( sailormn ) { cave_state *state = (cave_state *)machine->driver_data; UINT8 *ROM = memory_region(machine, "audiocpu"); UINT8 *buffer; - UINT8 *src = memory_region(machine, "gfx1"); - int len = memory_region_length(machine, "gfx1"); + UINT8 *src = memory_region(machine, "sprites"); + int len = memory_region_length(machine, "sprites"); init_cave(machine); @@ -4265,7 +4463,7 @@ static DRIVER_INIT( sailormn ) auto_free(machine, buffer); } - sailormn_unpack_tiles( machine, "gfx4" ); + sailormn_unpack_tiles( machine, "layer2" ); unpack_sprites(machine); state->spritetype[0] = 2; // Normal sprites with different position handling @@ -4276,6 +4474,20 @@ static DRIVER_INIT( sailormn ) state_save_register_global(machine, state->sailormn_tilebank); } +static DRIVER_INIT( tjumpman ) +{ + cave_state *state = (cave_state *)machine->driver_data; + init_cave(machine); + + unpack_sprites(machine); + state->spritetype[0] = 2; // Normal sprites with different position handling + state->kludge = 3; + state->time_vblank_irq = 17376; + + state->hopper = 0; + state_save_register_global(machine, state->hopper); +} + static DRIVER_INIT( uopoko ) { cave_state *state = (cave_state *)machine->driver_data; @@ -4311,67 +4523,69 @@ static DRIVER_INIT( korokoro ) ***************************************************************************/ -GAME( 1994, pwrinst2, 0, pwrinst2, metmqstr, pwrinst2, ROT0, "Atlus/Cave", "Power Instinct 2 (US, Ver. 94/04/08)" , 0 ) -GAME( 1994, pwrinst2j, pwrinst2, pwrinst2, metmqstr, pwrinst2j,ROT0, "Atlus/Cave", "Gouketsuji Ichizoku 2 (Japan, Ver. 94/04/08)" , 0 ) +GAME( 1994, pwrinst2, 0, pwrinst2, metmqstr, pwrinst2, ROT0, "Atlus/Cave", "Power Instinct 2 (US, Ver. 94/04/08)", 0 ) +GAME( 1994, pwrinst2j, pwrinst2, pwrinst2, metmqstr, pwrinst2j,ROT0, "Atlus/Cave", "Gouketsuji Ichizoku 2 (Japan, Ver. 94/04/08)", 0 ) // The EEPROM determines the region, program roms are the same between sets -GAME( 1994, mazinger, 0, mazinger, cave, mazinger, ROT90, "Banpresto/Dynamic Pl. Toei Animation", "Mazinger Z (World)" , 0 ) -GAME( 1994, mazingerj, mazinger, mazinger, cave, mazinger, ROT90, "Banpresto/Dynamic Pl. Toei Animation", "Mazinger Z (Japan)" , 0 ) +GAME( 1994, mazinger, 0, mazinger, cave, mazinger, ROT90, "Banpresto/Dynamic Pl. Toei Animation", "Mazinger Z (World)", 0 ) +GAME( 1994, mazingerj, mazinger, mazinger, cave, mazinger, ROT90, "Banpresto/Dynamic Pl. Toei Animation", "Mazinger Z (Japan)", 0 ) -GAME( 1995, donpachi, 0, donpachi, cave, donpachi, ROT270, "Atlus/Cave", "DonPachi (US)" , 0 ) -GAME( 1995, donpachij, donpachi, donpachi, cave, donpachi, ROT270, "Atlus/Cave", "DonPachi (Japan)" , 0 ) -GAME( 1995, donpachikr, donpachi, donpachi, cave, donpachi, ROT270, "Atlus/Cave", "DonPachi (Korea)" , 0 ) -GAME( 1995, donpachihk, donpachi, donpachi, cave, donpachi, ROT270, "Atlus/Cave", "DonPachi (Hong Kong)" , 0 ) +GAME( 1995, donpachi, 0, donpachi, cave, donpachi, ROT270, "Atlus/Cave", "DonPachi (US)", 0 ) +GAME( 1995, donpachij, donpachi, donpachi, cave, donpachi, ROT270, "Atlus/Cave", "DonPachi (Japan)", 0 ) +GAME( 1995, donpachikr, donpachi, donpachi, cave, donpachi, ROT270, "Atlus/Cave", "DonPachi (Korea)", 0 ) +GAME( 1995, donpachihk, donpachi, donpachi, cave, donpachi, ROT270, "Atlus/Cave", "DonPachi (Hong Kong)", 0 ) -GAME( 1995, metmqstr, 0, metmqstr, metmqstr, metmqstr, ROT0, "Banpresto/Pandorabox", "Metamoqester (International)" , 0 ) -GAME( 1995, nmaster, metmqstr, metmqstr, metmqstr, metmqstr, ROT0, "Banpresto/Pandorabox", "Oni - The Ninja Master (Japan)" , 0 ) +GAME( 1995, metmqstr, 0, metmqstr, metmqstr, metmqstr, ROT0, "Banpresto/Pandorabox", "Metamoqester (International)", 0 ) +GAME( 1995, nmaster, metmqstr, metmqstr, metmqstr, metmqstr, ROT0, "Banpresto/Pandorabox", "Oni - The Ninja Master (Japan)", 0 ) -GAME( 1995, plegends, 0, pwrinst2, metmqstr, pwrinst2j,ROT0, "Atlus/Cave", "Power Instinct Legends (US, Ver. 95/06/20)" , 0 ) +GAME( 1995, plegends, 0, pwrinst2, metmqstr, pwrinst2j,ROT0, "Atlus/Cave", "Power Instinct Legends (US, Ver. 95/06/20)", 0 ) GAME( 1995, plegendsj, plegends, pwrinst2, metmqstr, pwrinst2j,ROT0, "Atlus/Cave", "Gouketsuji Ichizoku Saikyou Densetsu (Japan, Ver. 95/06/20)", 0 ) // The EEPROM determines the region, program roms are the same between sets -GAME( 1995, sailormn, 0, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22B, Europe)" , 0 ) -GAME( 1995, sailormnu, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22B, USA)" , 0 ) -GAME( 1995, sailormnj, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22B, Japan)" , 0 ) -GAME( 1995, sailormnk, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22B, Korea)" , 0 ) -GAME( 1995, sailormnt, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22B, Taiwan)" , 0 ) -GAME( 1995, sailormnh, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22B, Hong Kong)", 0 ) -GAME( 1995, sailormno, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22, Europe)" , 0 ) -GAME( 1995, sailormnou, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22, USA)" , 0 ) -GAME( 1995, sailormnoj, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22, Japan)" , 0 ) -GAME( 1995, sailormnok, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22, Korea)" , 0 ) -GAME( 1995, sailormnot, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22, Taiwan)" , 0 ) -GAME( 1995, sailormnoh, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22, Hong Kong)" , 0 ) +GAME( 1995, sailormn, 0, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22B, Europe)", 0 ) +GAME( 1995, sailormnu, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22B, USA)", 0 ) +GAME( 1995, sailormnj, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22B, Japan)", 0 ) +GAME( 1995, sailormnk, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22B, Korea)", 0 ) +GAME( 1995, sailormnt, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22B, Taiwan)", 0 ) +GAME( 1995, sailormnh, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22B, Hong Kong)", 0 ) +GAME( 1995, sailormno, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22, Europe)", 0 ) +GAME( 1995, sailormnou, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22, USA)", 0 ) +GAME( 1995, sailormnoj, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22, Japan)", 0 ) +GAME( 1995, sailormnok, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22, Korea)", 0 ) +GAME( 1995, sailormnot, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22, Taiwan)", 0 ) +GAME( 1995, sailormnoh, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22, Hong Kong)" , 0 ) // The EEPROM determines the region, program roms are the same between sets -GAME( 1996, agallet, 0, sailormn, cave, agallet, ROT270, "Banpresto / Gazelle", "Air Gallet (Europe)" , 0 ) -GAME( 1996, agalletu, agallet, sailormn, cave, agallet, ROT270, "Banpresto / Gazelle", "Air Gallet (USA)" , 0 ) -GAME( 1996, agalletj, agallet, sailormn, cave, agallet, ROT270, "Banpresto / Gazelle", "Air Gallet (Japan)" , 0 ) -GAME( 1996, agalletk, agallet, sailormn, cave, agallet, ROT270, "Banpresto / Gazelle", "Air Gallet (Korea)" , 0 ) -GAME( 1996, agallett, agallet, sailormn, cave, agallet, ROT270, "Banpresto / Gazelle", "Air Gallet (Taiwan)" , 0 ) -GAME( 1996, agalleth, agallet, sailormn, cave, agallet, ROT270, "Banpresto / Gazelle", "Air Gallet (Hong Kong)" , 0 ) +GAME( 1996, agallet, 0, sailormn, cave, agallet, ROT270, "Banpresto / Gazelle", "Air Gallet (Europe)", 0 ) +GAME( 1996, agalletu, agallet, sailormn, cave, agallet, ROT270, "Banpresto / Gazelle", "Air Gallet (USA)", 0 ) +GAME( 1996, agalletj, agallet, sailormn, cave, agallet, ROT270, "Banpresto / Gazelle", "Air Gallet (Japan)", 0 ) +GAME( 1996, agalletk, agallet, sailormn, cave, agallet, ROT270, "Banpresto / Gazelle", "Air Gallet (Korea)", 0 ) +GAME( 1996, agallett, agallet, sailormn, cave, agallet, ROT270, "Banpresto / Gazelle", "Air Gallet (Taiwan)", 0 ) +GAME( 1996, agalleth, agallet, sailormn, cave, agallet, ROT270, "Banpresto / Gazelle", "Air Gallet (Hong Kong)", 0 ) -GAME( 1996, hotdogst, 0, hotdogst, cave, hotdogst, ROT90, "Marble", "Hotdog Storm (International)" , 0 ) +GAME( 1996, hotdogst, 0, hotdogst, cave, hotdogst, ROT90, "Marble", "Hotdog Storm (International)", 0 ) -GAME( 1997, ddonpach, 0, ddonpach, cave, ddonpach, ROT270, "Atlus/Cave", "DoDonPachi (International, Master Ver. 97/02/05)" , 0 ) -GAME( 1997, ddonpachj, ddonpach, ddonpach, cave, ddonpach, ROT270, "Atlus/Cave", "DoDonPachi (Japan, Master Ver. 97/02/05)" , 0 ) +GAME( 1997, ddonpach, 0, ddonpach, cave, ddonpach, ROT270, "Atlus/Cave", "DoDonPachi (International, Master Ver. 97/02/05)", 0 ) +GAME( 1997, ddonpachj, ddonpach, ddonpach, cave, ddonpach, ROT270, "Atlus/Cave", "DoDonPachi (Japan, Master Ver. 97/02/05)", 0 ) -GAME( 1998, dfeveron, feversos, dfeveron, cave, dfeveron, ROT270, "Cave (Nihon System license)", "Dangun Feveron (Japan, Ver. 98/09/17)" , 0 ) -GAME( 1998, feversos, 0, dfeveron, cave, feversos, ROT270, "Cave (Nihon System license)", "Fever SOS (International, Ver. 98/09/25)" , 0 ) +GAME( 1998, dfeveron, feversos, dfeveron, cave, dfeveron, ROT270, "Cave (Nihon System license)", "Dangun Feveron (Japan, Ver. 98/09/17)", 0 ) +GAME( 1998, feversos, 0, dfeveron, cave, feversos, ROT270, "Cave (Nihon System license)", "Fever SOS (International, Ver. 98/09/25)", 0 ) -GAME( 1998, esprade, 0, esprade, cave, esprade, ROT270, "Atlus/Cave", "ESP Ra.De. (International, Ver. 98/04/22)" , 0 ) -GAME( 1998, espradej, esprade, esprade, cave, esprade, ROT270, "Atlus/Cave", "ESP Ra.De. (Japan, Ver. 98/04/21)" , 0 ) -GAME( 1998, espradejo, esprade, esprade, cave, esprade, ROT270, "Atlus/Cave", "ESP Ra.De. (Japan, Ver. 98/04/14)" , 0 ) +GAME( 1998, esprade, 0, esprade, cave, esprade, ROT270, "Atlus/Cave", "ESP Ra.De. (International, Ver. 98/04/22)", 0 ) +GAME( 1998, espradej, esprade, esprade, cave, esprade, ROT270, "Atlus/Cave", "ESP Ra.De. (Japan, Ver. 98/04/21)", 0 ) +GAME( 1998, espradejo, esprade, esprade, cave, esprade, ROT270, "Atlus/Cave", "ESP Ra.De. (Japan, Ver. 98/04/14)", 0 ) -GAME( 1998, uopoko, 0, uopoko, cave, uopoko, ROT0, "Cave (Jaleco license)", "Puzzle Uo Poko (International)" , 0 ) -GAME( 1998, uopokoj, uopoko, uopoko, cave, uopoko, ROT0, "Cave (Jaleco license)", "Puzzle Uo Poko (Japan)" , 0 ) +GAME( 1998, uopoko, 0, uopoko, cave, uopoko, ROT0, "Cave (Jaleco license)", "Puzzle Uo Poko (International)", 0 ) +GAME( 1998, uopokoj, uopoko, uopoko, cave, uopoko, ROT0, "Cave (Jaleco license)", "Puzzle Uo Poko (Japan)", 0 ) -GAME( 1999, guwange, 0, guwange, guwange, guwange, ROT270, "Atlus/Cave", "Guwange (Japan, Master Ver. 99/06/24)" , 0 ) +GAME( 1999, guwange, 0, guwange, guwange, guwange, ROT270, "Atlus/Cave", "Guwange (Japan, Master Ver. 99/06/24)", 0 ) -GAME( 1999, gaia, 0, gaia, gaia, gaia, ROT0, "Noise Factory", "Gaia Crusaders", GAME_IMPERFECT_SOUND ) // cuts out occasionally +GAME( 1999, gaia, 0, gaia, gaia, gaia, ROT0, "Noise Factory", "Gaia Crusaders", GAME_IMPERFECT_SOUND ) // cuts out occasionally -GAME( 2001, theroes, 0, gaia, theroes, gaia, ROT0, "Primetek Investments", "Thunder Heroes", GAME_IMPERFECT_SOUND ) // cuts out occasionally +GAME( 2001, theroes, 0, gaia, theroes, gaia, ROT0, "Primetek Investments", "Thunder Heroes", GAME_IMPERFECT_SOUND ) // cuts out occasionally -GAME( 1999, korokoro, 0, korokoro, korokoro, korokoro, ROT0, "Takumi", "Koro Koro Quest (Japan)" , 0 ) +GAME( 1999, korokoro, 0, korokoro, korokoro, korokoro, ROT0, "Takumi", "Koro Koro Quest (Japan)", 0 ) -GAME( 1999, crusherm, 0, crusherm, korokoro, korokoro, ROT0, "Takumi", "Crusher Makochan (Japan)" , 0 ) +GAME( 1999, crusherm, 0, crusherm, korokoro, korokoro, ROT0, "Takumi", "Crusher Makochan (Japan)", 0 ) + +GAME( 1999, tjumpman, 0, tjumpman, tjumpman, tjumpman, ROT0, "Namco", "Tobikose! Jumpman", 0 ) diff --git a/src/mame/mamedriv.c b/src/mame/mamedriv.c index 9672f227bf2..ec07ee7cb92 100644 --- a/src/mame/mamedriv.c +++ b/src/mame/mamedriv.c @@ -2428,6 +2428,7 @@ V-V TP-027 DRIVER( theroes ) /* (c) 2001 Primetek Investments */ DRIVER( korokoro ) /* (c) 1999 Takumi */ DRIVER( crusherm ) /* (c) 1999 Takumi */ + DRIVER( tjumpman ) /* (c) 1999 Namco */ /* Kyugo games */ /* Kyugo only made four games: Repulse, Flash Gal, SRD Mission and Air Wolf. */ diff --git a/src/mame/video/cave.c b/src/mame/video/cave.c index 0d45b5d5db2..d9972daf205 100644 --- a/src/mame/video/cave.c +++ b/src/mame/video/cave.c @@ -543,8 +543,8 @@ static void get_sprite_info_cave( running_machine *machine ) { cave_state *state = (cave_state *)machine->driver_data; pen_t base_pal = 0; - const UINT8 *base_gfx = memory_region(machine, "gfx1"); - int code_max = memory_region_length(machine, "gfx1") / (16*16); + const UINT8 *base_gfx = memory_region(machine, "sprites"); + int code_max = memory_region_length(machine, "sprites") / (16*16); UINT16 *source; UINT16 *finish; @@ -672,8 +672,8 @@ static void get_sprite_info_donpachi( running_machine *machine ) { cave_state *state = (cave_state *)machine->driver_data; pen_t base_pal = 0; - const UINT8 *base_gfx = memory_region(machine, "gfx1"); - int code_max = memory_region_length(machine, "gfx1") / (16*16); + const UINT8 *base_gfx = memory_region(machine, "sprites"); + int code_max = memory_region_length(machine, "sprites") / (16*16); UINT16 *source; UINT16 *finish;