mirror of
https://github.com/holub/mame
synced 2025-04-19 23:12:11 +03:00
midway/midtunit.cpp, midtunit_v.cpp, midwunit.cpp, midxunit.cpp: Cleaned up code. (#12281)
* midtunit_v.cpp: Use callback for interrupt output, reduced hard-coded tags and unnecessary configuration. * midtunit.cpp: Moved variants with ADPCM ad DCS sound hardware to separate driver state classes. * Suppress side effects for debugger reads. * Removed unnecessary object finders and #includes, reduced literal tags, use logmacro.h for configurable logging. * Removed unnecessary prefixes from member function names, use C++ line comments for single line comments, reduced preprocessor macros.
This commit is contained in:
parent
17a2c15253
commit
943ae3135b
@ -25,7 +25,6 @@
|
||||
#include "emu.h"
|
||||
#include "midtunit.h"
|
||||
|
||||
#include "cpu/adsp2100/adsp2100.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/watchdog.h"
|
||||
|
||||
@ -33,9 +32,6 @@
|
||||
#include "speaker.h"
|
||||
|
||||
|
||||
#define CPU_CLOCK (50000000)
|
||||
#define PIXEL_CLOCK (8000000/2)
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
@ -44,30 +40,44 @@
|
||||
*
|
||||
*************************************/
|
||||
|
||||
void midtunit_state::main_map(address_map &map)
|
||||
void midtunit_base_state::main_map(address_map &map)
|
||||
{
|
||||
map.unmap_value_high();
|
||||
map(0x00000000, 0x003fffff).rw(m_video, FUNC(midtunit_video_device::midtunit_vram_r), FUNC(midtunit_video_device::midtunit_vram_w));
|
||||
map(0x01000000, 0x013fffff).ram();
|
||||
map(0x01400000, 0x0141ffff).rw(FUNC(midtunit_state::midtunit_cmos_r), FUNC(midtunit_state::midtunit_cmos_w)).share("nvram");
|
||||
map(0x01480000, 0x014fffff).w(FUNC(midtunit_state::midtunit_cmos_enable_w));
|
||||
map(0x01400000, 0x0141ffff).rw(FUNC(midtunit_base_state::cmos_r), FUNC(midtunit_base_state::cmos_w)).share(m_nvram);
|
||||
map(0x01480000, 0x014fffff).w(FUNC(midtunit_base_state::cmos_enable_w));
|
||||
map(0x01600000, 0x0160000f).portr("IN0");
|
||||
map(0x01600010, 0x0160001f).portr("IN1");
|
||||
map(0x01600020, 0x0160002f).portr("IN2");
|
||||
map(0x01600030, 0x0160003f).portr("DSW");
|
||||
map(0x01800000, 0x0187ffff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
|
||||
map(0x01a80000, 0x01a800ff).rw(m_video, FUNC(midtunit_video_device::midtunit_dma_r), FUNC(midtunit_video_device::midtunit_dma_w));
|
||||
map(0x01a80000, 0x01a800ff).rw(m_video, FUNC(midtunit_video_device::dma_r), FUNC(midtunit_video_device::dma_w));
|
||||
map(0x01b00000, 0x01b0001f).w(m_video, FUNC(midtunit_video_device::midtunit_control_w));
|
||||
// map(0x01c00060, 0x01c0007f).w(FUNC(midtunit_state::midtunit_cmos_enable_w));
|
||||
map(0x01d00000, 0x01d0001f).r(FUNC(midtunit_state::midtunit_sound_state_r));
|
||||
map(0x01d01020, 0x01d0103f).rw(FUNC(midtunit_state::midtunit_sound_r), FUNC(midtunit_state::midtunit_sound_w));
|
||||
// map(0x01c00060, 0x01c0007f).w(FUNC(midtunit_base_state::cmos_enable_w));
|
||||
map(0x01d81060, 0x01d8107f).w("watchdog", FUNC(watchdog_timer_device::reset16_w));
|
||||
map(0x01f00000, 0x01f0001f).w(m_video, FUNC(midtunit_video_device::midtunit_control_w));
|
||||
map(0x02000000, 0x07ffffff).r(m_video, FUNC(midtunit_video_device::midtunit_gfxrom_r)).share("gfxrom");
|
||||
map(0x1f800000, 0x1fffffff).rom().region("maincpu", 0); /* mirror used by MK */
|
||||
map(0x02000000, 0x07ffffff).r(m_video, FUNC(midtunit_video_device::midtunit_gfxrom_r)).share("video");
|
||||
map(0x1f800000, 0x1fffffff).rom().region("maincpu", 0); // mirror used by MK
|
||||
map(0xff800000, 0xffffffff).rom().region("maincpu", 0);
|
||||
}
|
||||
|
||||
void midtunit_adpcm_state::main_adpcm_map(address_map &map)
|
||||
{
|
||||
midtunit_base_state::main_map(map);
|
||||
map.unmap_value_high();
|
||||
map(0x01d00000, 0x01d0001f).r(FUNC(midtunit_adpcm_state::sound_state_r));
|
||||
map(0x01d01020, 0x01d0103f).rw(FUNC(midtunit_adpcm_state::sound_r), FUNC(midtunit_adpcm_state::sound_w));
|
||||
}
|
||||
|
||||
void mk2_state::mk2_map(address_map &map)
|
||||
{
|
||||
midtunit_base_state::main_map(map);
|
||||
map.unmap_value_high();
|
||||
map(0x01d00000, 0x01d0001f).r(FUNC(mk2_state::dcs_state_r));
|
||||
map(0x01d01020, 0x01d0103f).rw(FUNC(mk2_state::dcs_r), FUNC(mk2_state::dcs_w));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
@ -99,7 +109,7 @@ static INPUT_PORTS_START( mk )
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_TILT ) /* Slam Switch */
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_TILT ) // Slam Switch
|
||||
PORT_SERVICE( 0x0010, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
@ -196,7 +206,7 @@ static INPUT_PORTS_START( mk2 )
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_TILT ) /* Slam Switch */
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_TILT ) // Slam Switch
|
||||
PORT_SERVICE( 0x0010, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
@ -304,7 +314,7 @@ static INPUT_PORTS_START( jdreddp )
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_TILT ) /* Slam Switch */
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_TILT ) // Slam Switch
|
||||
PORT_SERVICE( 0x0010, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
@ -327,7 +337,7 @@ static INPUT_PORTS_START( jdreddp )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("P3 Crouch") PORT_PLAYER(3)
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("DSW") /* DS1 */
|
||||
PORT_START("DSW") // DS1
|
||||
PORT_DIPNAME( 0x0001, 0x0001, "Test Switch" )
|
||||
PORT_DIPSETTING( 0x0001, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ))
|
||||
@ -400,7 +410,7 @@ static INPUT_PORTS_START( nbajam )
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_TILT ) /* Slam Switch */
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_TILT ) // Slam Switch
|
||||
PORT_SERVICE( 0x0010, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
@ -430,7 +440,7 @@ static INPUT_PORTS_START( nbajam )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("P4 Turbo") PORT_PLAYER(4)
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("DSW") /* DS1 */
|
||||
PORT_START("DSW") // DS1
|
||||
PORT_DIPNAME( 0x0001, 0x0001, "Test Switch" )
|
||||
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
@ -503,7 +513,7 @@ static INPUT_PORTS_START( nbajamte )
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_TILT ) /* Slam Switch */
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_TILT ) // Slam Switch
|
||||
PORT_SERVICE_NO_TOGGLE( 0x0010, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
@ -533,7 +543,7 @@ static INPUT_PORTS_START( nbajamte )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("P4 Turbo") PORT_PLAYER(4)
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("DSW")/* DS1 */
|
||||
PORT_START("DSW")// DS1
|
||||
PORT_DIPNAME( 0x0001, 0x0001, "Test Switch" )
|
||||
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
@ -590,26 +600,30 @@ INPUT_PORTS_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
void midtunit_state::tunit_core(machine_config &config)
|
||||
void midtunit_base_state::tunit_core(machine_config &config)
|
||||
{
|
||||
MIDTUNIT_VIDEO(config, m_video, m_maincpu, m_palette, m_gfxrom);
|
||||
constexpr XTAL CPU_CLOCK = 50_MHz_XTAL;
|
||||
constexpr XTAL PIXEL_CLOCK = 8_MHz_XTAL/2;
|
||||
|
||||
/* basic machine hardware */
|
||||
MIDTUNIT_VIDEO(config, m_video, m_palette);
|
||||
m_video->dma_irq_cb().set_inputline(m_maincpu, 0);
|
||||
|
||||
// basic machine hardware
|
||||
TMS34010(config, m_maincpu, CPU_CLOCK);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &midtunit_state::main_map);
|
||||
m_maincpu->set_halt_on_reset(false); /* halt on reset */
|
||||
m_maincpu->set_pixel_clock(PIXEL_CLOCK); /* pixel clock */
|
||||
m_maincpu->set_pixels_per_clock(2); /* pixels per clock */
|
||||
m_maincpu->set_scanline_ind16_callback("video", FUNC(midtunit_video_device::scanline_update)); /* scanline updater (indexed16) */
|
||||
m_maincpu->set_shiftreg_in_callback("video", FUNC(midtunit_video_device::to_shiftreg)); /* write to shiftreg function */
|
||||
m_maincpu->set_shiftreg_out_callback("video", FUNC(midtunit_video_device::from_shiftreg)); /* read from shiftreg function */
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &midtunit_base_state::main_map);
|
||||
m_maincpu->set_halt_on_reset(false); // halt on reset
|
||||
m_maincpu->set_pixel_clock(PIXEL_CLOCK); // pixel clock
|
||||
m_maincpu->set_pixels_per_clock(2); // pixels per clock
|
||||
m_maincpu->set_scanline_ind16_callback(m_video, FUNC(midtunit_video_device::scanline_update)); // scanline updater (indexed16)
|
||||
m_maincpu->set_shiftreg_in_callback(m_video, FUNC(midtunit_video_device::to_shiftreg)); // write to shiftreg function
|
||||
m_maincpu->set_shiftreg_out_callback(m_video, FUNC(midtunit_video_device::from_shiftreg)); // read from shiftreg function
|
||||
m_maincpu->set_screen("screen");
|
||||
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
|
||||
WATCHDOG_TIMER(config, "watchdog");
|
||||
|
||||
/* video hardware */
|
||||
// video hardware
|
||||
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 32768);
|
||||
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
@ -620,22 +634,28 @@ void midtunit_state::tunit_core(machine_config &config)
|
||||
}
|
||||
|
||||
|
||||
void midtunit_state::tunit_adpcm(machine_config &config)
|
||||
void midtunit_adpcm_state::tunit_adpcm(machine_config &config)
|
||||
{
|
||||
tunit_core(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
// basic machine hardware
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &midtunit_adpcm_state::main_adpcm_map);
|
||||
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
|
||||
WILLIAMS_ADPCM_SOUND(config, m_adpcm_sound, 0).add_route(ALL_OUTPUTS, "speaker", 1.0);
|
||||
}
|
||||
|
||||
|
||||
void midtunit_state::tunit_dcs(machine_config &config)
|
||||
void mk2_state::mk2(machine_config &config)
|
||||
{
|
||||
tunit_core(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
// basic machine hardware
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &mk2_state::mk2_map);
|
||||
|
||||
m_video->set_gfx_rom_large(true);
|
||||
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
|
||||
DCS_AUDIO_2K(config, m_dcs, 0);
|
||||
@ -652,20 +672,20 @@ void midtunit_state::tunit_dcs(machine_config &config)
|
||||
*************************************/
|
||||
|
||||
ROM_START( mk )
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) /* sound CPU */
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) // sound CPU
|
||||
ROM_LOAD( "sl1_mortal_kombat_u3_sound_rom.u3", 0x10000, 0x40000, CRC(c615844c) SHA1(5732f9053a5f73b0cc3b0166d7dc4430829d5bc7) )
|
||||
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) /* ADPCM */
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) // ADPCM
|
||||
ROM_LOAD( "sl1_mortal_kombat_u12_sound_rom.u12", 0x00000, 0x40000, CRC(258bd7f9) SHA1(463890b23f17350fb9b8a85897b0777c45bc2d54) )
|
||||
ROM_RELOAD( 0x40000, 0x40000 )
|
||||
ROM_LOAD( "sl1_mortal_kombat_u13_sound_rom.u13", 0x80000, 0x40000, CRC(7b7ec3b6) SHA1(6eec1b90d4a4855f34a7ebfbf93f3358d5627db4) )
|
||||
ROM_RELOAD( 0xc0000, 0x40000 )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l5_mortal_kombat_t-unit_uj12_game_rom.uj12", 0x00000, 0x80000, CRC(f4990bf2) SHA1(796ec84d37c8d20ca36d6439c14dee626fb8481e) )
|
||||
ROM_LOAD16_BYTE( "l5_mortal_kombat_t-unit_ug12_game_rom.ug12", 0x00001, 0x80000, CRC(b06aeac1) SHA1(f66655eeab67c8cf5e496ae42dbae54d6400586f) )
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_t-unit_ug14_game_rom.ug14", 0x000000, 0x80000, CRC(9e00834e) SHA1(2b97b63f52ba1dba6af6ae56c223519a52b2ab9d) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_t-unit_uj14_game_rom.uj14", 0x000001, 0x80000, CRC(f4b0aaa7) SHA1(4cc6ee34c89e3cde325ad24b29511f70ae6a5a72) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_t-unit_ug19_game_rom.ug19", 0x000002, 0x80000, CRC(2d8c7ba1) SHA1(f891d6eb618dbf3e77f02e0f93da216e20571905) )
|
||||
@ -684,20 +704,20 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( mkr4 )
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) /* sound CPU */
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) // sound CPU
|
||||
ROM_LOAD( "sl1_mortal_kombat_u3_sound_rom.u3", 0x10000, 0x40000, CRC(c615844c) SHA1(5732f9053a5f73b0cc3b0166d7dc4430829d5bc7) )
|
||||
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) /* ADPCM */
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) // ADPCM
|
||||
ROM_LOAD( "sl1_mortal_kombat_u12_sound_rom.u12", 0x00000, 0x40000, CRC(258bd7f9) SHA1(463890b23f17350fb9b8a85897b0777c45bc2d54) )
|
||||
ROM_RELOAD( 0x40000, 0x40000 )
|
||||
ROM_LOAD( "sl1_mortal_kombat_u13_sound_rom.u13", 0x80000, 0x40000, CRC(7b7ec3b6) SHA1(6eec1b90d4a4855f34a7ebfbf93f3358d5627db4) )
|
||||
ROM_RELOAD( 0xc0000, 0x40000 )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l4_mortal_kombat_t-unit_uj12_game_rom.uj12", 0x00000, 0x80000, CRC(a1b6635a) SHA1(22d396cc9c1e3a14cb01d196de6d3e864f7afc55) )
|
||||
ROM_LOAD16_BYTE( "l4_mortal_kombat_t-unit_ug12_game_rom.ug12", 0x00001, 0x80000, CRC(aa94f7ea) SHA1(bd8957bf52f73b49767cc78fec84ed1109a37701) )
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_t-unit_ug14_game_rom.ug14", 0x000000, 0x80000, CRC(9e00834e) SHA1(2b97b63f52ba1dba6af6ae56c223519a52b2ab9d) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_t-unit_uj14_game_rom.uj14", 0x000001, 0x80000, CRC(f4b0aaa7) SHA1(4cc6ee34c89e3cde325ad24b29511f70ae6a5a72) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_t-unit_ug19_game_rom.ug19", 0x000002, 0x80000, CRC(2d8c7ba1) SHA1(f891d6eb618dbf3e77f02e0f93da216e20571905) )
|
||||
@ -716,21 +736,21 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( mktturbo )
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) /* sound CPU */
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) // sound CPU
|
||||
ROM_LOAD( "sl1_mortal_kombat_u3_sound_rom.u3", 0x10000, 0x40000, CRC(c615844c) SHA1(5732f9053a5f73b0cc3b0166d7dc4430829d5bc7) )
|
||||
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) /* ADPCM */
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) // ADPCM
|
||||
ROM_LOAD( "sl1_mortal_kombat_u12_sound_rom.u12", 0x00000, 0x40000, CRC(258bd7f9) SHA1(463890b23f17350fb9b8a85897b0777c45bc2d54) )
|
||||
ROM_RELOAD( 0x40000, 0x40000 )
|
||||
ROM_LOAD( "sl1_mortal_kombat_u13_sound_rom.u13", 0x80000, 0x40000, CRC(7b7ec3b6) SHA1(6eec1b90d4a4855f34a7ebfbf93f3358d5627db4) )
|
||||
ROM_RELOAD( 0xc0000, 0x40000 )
|
||||
|
||||
/* A 'NIBBLE BOARD' daughtercard holding a GAL16V8A-2SP, 27C040 EPROM and a 9.8304MHz XTAL plugs into the UG12 socket */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
// A 'NIBBLE BOARD' daughtercard holding a GAL16V8A-2SP, 27C040 EPROM and a 9.8304MHz XTAL plugs into the UG12 socket
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "kombo-rom-uj-12.bin", 0x00000, 0x80000, CRC(7a441f2d) SHA1(3b731bcbd73721ea0cc20157ec5181d25922523c) )
|
||||
ROM_LOAD16_BYTE( "kombo-rom-ug-12.bin", 0x00001, 0x80000, CRC(45bed5a1) SHA1(dba2c21878925afdcaf61520c18ebefd5e9617db) )
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_t-unit_ug14_game_rom.ug14", 0x000000, 0x80000, CRC(9e00834e) SHA1(2b97b63f52ba1dba6af6ae56c223519a52b2ab9d) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_t-unit_uj14_game_rom.uj14", 0x000001, 0x80000, CRC(f4b0aaa7) SHA1(4cc6ee34c89e3cde325ad24b29511f70ae6a5a72) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_t-unit_ug19_game_rom.ug19", 0x000002, 0x80000, CRC(2d8c7ba1) SHA1(f891d6eb618dbf3e77f02e0f93da216e20571905) )
|
||||
@ -749,7 +769,7 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( mk2 )
|
||||
ROM_REGION16_LE( 0xc00000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0xc00000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u2.u2", 0x000000, 0x80000, CRC(5f23d71d) SHA1(54c2afef243759e0f3dbe2907edbc4302f5c8bad) )
|
||||
ROM_RELOAD( 0x100000, 0x80000 )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u3.u3", 0x200000, 0x80000, CRC(d6d92bf9) SHA1(397351c6b707f2595e36360471015f9fa494e894) )
|
||||
@ -762,13 +782,13 @@ ROM_START( mk2 )
|
||||
ROM_RELOAD( 0x900000, 0x80000 )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u7.u7", 0xa00000, 0x80000, CRC(20387e0a) SHA1(505d05173b2a1f1ee3ebc2898ccd3a95c98dd04a) )
|
||||
ROM_RELOAD( 0xb00000, 0x80000 )
|
||||
/* su8 and su9 are unpopulated */
|
||||
// su8 and su9 are unpopulated
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_LOAD16_BYTE( "l3.1_mortal_kombat_ii_game_rom_uj12.uj12", 0x00000, 0x80000, CRC(cf100a75) SHA1(c5cf739fdb08e311f47794eb93a8d34d4bc11cde) ) /* Revision 3.1 */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l3.1_mortal_kombat_ii_game_rom_uj12.uj12", 0x00000, 0x80000, CRC(cf100a75) SHA1(c5cf739fdb08e311f47794eb93a8d34d4bc11cde) ) // Revision 3.1
|
||||
ROM_LOAD16_BYTE( "l3.1_mortal_kombat_ii_game_rom_ug12.ug12", 0x00001, 0x80000, CRC(582c7dfd) SHA1(f32bd1213ce70f74caa97a2047815cf4baee56b5) )
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_ug14.ug14", 0x000000, 0x100000, CRC(01e73af6) SHA1(6598cfd704cc92a7f358a0e1f1c973ab79dcc493) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_uj14.uj14", 0x000001, 0x100000, CRC(d4985cbb) SHA1(367865da7efae38d83de3c0868d02a705177ae63) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_ug19.ug19", 0x000002, 0x100000, CRC(fec137be) SHA1(f11ecb8a7993f5c4f4449564b4911f69bd6e9bf8) )
|
||||
@ -787,7 +807,7 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( mk2r32e )
|
||||
ROM_REGION16_LE( 0xc00000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0xc00000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u2.u2", 0x000000, 0x80000, CRC(5f23d71d) SHA1(54c2afef243759e0f3dbe2907edbc4302f5c8bad) )
|
||||
ROM_RELOAD( 0x100000, 0x80000 )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u3.u3", 0x200000, 0x80000, CRC(d6d92bf9) SHA1(397351c6b707f2595e36360471015f9fa494e894) )
|
||||
@ -800,13 +820,13 @@ ROM_START( mk2r32e )
|
||||
ROM_RELOAD( 0x900000, 0x80000 )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u7.u7", 0xa00000, 0x80000, CRC(20387e0a) SHA1(505d05173b2a1f1ee3ebc2898ccd3a95c98dd04a) )
|
||||
ROM_RELOAD( 0xb00000, 0x80000 )
|
||||
/* su8 and su9 are unpopulated */
|
||||
// su8 and su9 are unpopulated
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_LOAD16_BYTE( "uj12.l32e", 0x00000, 0x80000, CRC(43f773a6) SHA1(a97b75bac2793f99738abcbd4054f2b860aff574) ) /* Revision 3.2 Euro */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "uj12.l32e", 0x00000, 0x80000, CRC(43f773a6) SHA1(a97b75bac2793f99738abcbd4054f2b860aff574) ) // Revision 3.2 Euro
|
||||
ROM_LOAD16_BYTE( "ug12.l32e", 0x00001, 0x80000, CRC(dcde9619) SHA1(72b39bd68eff5938cd87d3388074172a07bda816) )
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_ug14.ug14", 0x000000, 0x100000, CRC(01e73af6) SHA1(6598cfd704cc92a7f358a0e1f1c973ab79dcc493) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_uj14.uj14", 0x000001, 0x100000, CRC(d4985cbb) SHA1(367865da7efae38d83de3c0868d02a705177ae63) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_ug19.ug19", 0x000002, 0x100000, CRC(fec137be) SHA1(f11ecb8a7993f5c4f4449564b4911f69bd6e9bf8) )
|
||||
@ -825,7 +845,7 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( mk2r31e )
|
||||
ROM_REGION16_LE( 0xc00000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0xc00000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u2.u2", 0x000000, 0x80000, CRC(5f23d71d) SHA1(54c2afef243759e0f3dbe2907edbc4302f5c8bad) )
|
||||
ROM_RELOAD( 0x100000, 0x80000 )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u3.u3", 0x200000, 0x80000, CRC(d6d92bf9) SHA1(397351c6b707f2595e36360471015f9fa494e894) )
|
||||
@ -838,13 +858,13 @@ ROM_START( mk2r31e )
|
||||
ROM_RELOAD( 0x900000, 0x80000 )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u7.u7", 0xa00000, 0x80000, CRC(20387e0a) SHA1(505d05173b2a1f1ee3ebc2898ccd3a95c98dd04a) )
|
||||
ROM_RELOAD( 0xb00000, 0x80000 )
|
||||
/* su8 and su9 are unpopulated */
|
||||
// su8 and su9 are unpopulated
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_LOAD16_BYTE( "uj12.l31e", 0x00000, 0x80000, CRC(f64306d1) SHA1(b1fb8d59400a411498a56a740a7b35e4687ecebd) ) /* Revision 3.1 Euro */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "uj12.l31e", 0x00000, 0x80000, CRC(f64306d1) SHA1(b1fb8d59400a411498a56a740a7b35e4687ecebd) ) // Revision 3.1 Euro
|
||||
ROM_LOAD16_BYTE( "ug12.l31e", 0x00001, 0x80000, CRC(4adeae7e) SHA1(4c9e5c7df3f86cc5c97c7fb70d4acca71d65cab5) )
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_ug14.ug14", 0x000000, 0x100000, CRC(01e73af6) SHA1(6598cfd704cc92a7f358a0e1f1c973ab79dcc493) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_uj14.uj14", 0x000001, 0x100000, CRC(d4985cbb) SHA1(367865da7efae38d83de3c0868d02a705177ae63) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_ug19.ug19", 0x000002, 0x100000, CRC(fec137be) SHA1(f11ecb8a7993f5c4f4449564b4911f69bd6e9bf8) )
|
||||
@ -863,7 +883,7 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( mk2r30 )
|
||||
ROM_REGION16_LE( 0xc00000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0xc00000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u2.u2", 0x000000, 0x80000, CRC(5f23d71d) SHA1(54c2afef243759e0f3dbe2907edbc4302f5c8bad) )
|
||||
ROM_RELOAD( 0x100000, 0x80000 )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u3.u3", 0x200000, 0x80000, CRC(d6d92bf9) SHA1(397351c6b707f2595e36360471015f9fa494e894) )
|
||||
@ -876,13 +896,13 @@ ROM_START( mk2r30 )
|
||||
ROM_RELOAD( 0x900000, 0x80000 )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u7.u7", 0xa00000, 0x80000, CRC(20387e0a) SHA1(505d05173b2a1f1ee3ebc2898ccd3a95c98dd04a) )
|
||||
ROM_RELOAD( 0xb00000, 0x80000 )
|
||||
/* su8 and su9 are unpopulated */
|
||||
// su8 and su9 are unpopulated
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_LOAD16_BYTE( "l3_mortal_kombat_ii_game_rom_uj12.uj12.l30", 0x00000, 0x80000, CRC(93440895) SHA1(e81735db939cd12b3836c7b9507a087e6899cdbd) ) /* Revision 3.0 */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l3_mortal_kombat_ii_game_rom_uj12.uj12.l30", 0x00000, 0x80000, CRC(93440895) SHA1(e81735db939cd12b3836c7b9507a087e6899cdbd) ) // Revision 3.0
|
||||
ROM_LOAD16_BYTE( "l3_mortal_kombat_ii_game_rom_ug12.ug12.l30", 0x00001, 0x80000, CRC(6153c2d8) SHA1(7b12eecc830f770a9c605a7e8376c8e719c33678) )
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_ug14.ug14", 0x000000, 0x100000, CRC(01e73af6) SHA1(6598cfd704cc92a7f358a0e1f1c973ab79dcc493) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_uj14.uj14", 0x000001, 0x100000, CRC(d4985cbb) SHA1(367865da7efae38d83de3c0868d02a705177ae63) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_ug19.ug19", 0x000002, 0x100000, CRC(fec137be) SHA1(f11ecb8a7993f5c4f4449564b4911f69bd6e9bf8) )
|
||||
@ -901,7 +921,7 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( mk2r21 )
|
||||
ROM_REGION16_LE( 0xc00000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0xc00000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u2.u2", 0x000000, 0x80000, CRC(5f23d71d) SHA1(54c2afef243759e0f3dbe2907edbc4302f5c8bad) )
|
||||
ROM_RELOAD( 0x100000, 0x80000 )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u3.u3", 0x200000, 0x80000, CRC(d6d92bf9) SHA1(397351c6b707f2595e36360471015f9fa494e894) )
|
||||
@ -914,13 +934,13 @@ ROM_START( mk2r21 )
|
||||
ROM_RELOAD( 0x900000, 0x80000 )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u7.u7", 0xa00000, 0x80000, CRC(20387e0a) SHA1(505d05173b2a1f1ee3ebc2898ccd3a95c98dd04a) )
|
||||
ROM_RELOAD( 0xb00000, 0x80000 )
|
||||
/* su8 and su9 are unpopulated */
|
||||
// su8 and su9 are unpopulated
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_LOAD16_BYTE( "l2.1_mortal_kombat_ii_game_rom_uj12.uj12", 0x00000, 0x80000, CRC(d6a35699) SHA1(17feee7886108d6f946bf04669479d35c2edac76) ) /* Revision 2.1 */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l2.1_mortal_kombat_ii_game_rom_uj12.uj12", 0x00000, 0x80000, CRC(d6a35699) SHA1(17feee7886108d6f946bf04669479d35c2edac76) ) // Revision 2.1
|
||||
ROM_LOAD16_BYTE( "l2.1_mortal_kombat_ii_game_rom_ug12.ug12", 0x00001, 0x80000, CRC(aeb703ff) SHA1(e94cd9e6feb45e3de85661ca12452aff6e14d3ae) )
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_ug14.ug14", 0x000000, 0x100000, CRC(01e73af6) SHA1(6598cfd704cc92a7f358a0e1f1c973ab79dcc493) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_uj14.uj14", 0x000001, 0x100000, CRC(d4985cbb) SHA1(367865da7efae38d83de3c0868d02a705177ae63) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_ug19.ug19", 0x000002, 0x100000, CRC(fec137be) SHA1(f11ecb8a7993f5c4f4449564b4911f69bd6e9bf8) )
|
||||
@ -939,7 +959,7 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( mk2r20 )
|
||||
ROM_REGION16_LE( 0xc00000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0xc00000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u2.u2", 0x000000, 0x80000, CRC(5f23d71d) SHA1(54c2afef243759e0f3dbe2907edbc4302f5c8bad) )
|
||||
ROM_RELOAD( 0x100000, 0x80000 )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u3.u3", 0x200000, 0x80000, CRC(d6d92bf9) SHA1(397351c6b707f2595e36360471015f9fa494e894) )
|
||||
@ -952,13 +972,13 @@ ROM_START( mk2r20 )
|
||||
ROM_RELOAD( 0x900000, 0x80000 )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u7.u7", 0xa00000, 0x80000, CRC(20387e0a) SHA1(505d05173b2a1f1ee3ebc2898ccd3a95c98dd04a) )
|
||||
ROM_RELOAD( 0xb00000, 0x80000 )
|
||||
/* su8 and su9 are unpopulated */
|
||||
// su8 and su9 are unpopulated
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_LOAD16_BYTE( "l2_mortal_kombat_ii_game_rom_uj12.uj12", 0x00000, 0x80000, CRC(72071550) SHA1(af0fb357e423eb054d32a1b2b216fb18437939ed) ) /* Revision 2.0 */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l2_mortal_kombat_ii_game_rom_uj12.uj12", 0x00000, 0x80000, CRC(72071550) SHA1(af0fb357e423eb054d32a1b2b216fb18437939ed) ) // Revision 2.0
|
||||
ROM_LOAD16_BYTE( "l2_mortal_kombat_ii_game_rom_ug12.ug12", 0x00001, 0x80000, CRC(86c3ce65) SHA1(09d4dd6905911d8febe516f018e445657e929959) )
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_ug14.ug14", 0x000000, 0x100000, CRC(01e73af6) SHA1(6598cfd704cc92a7f358a0e1f1c973ab79dcc493) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_uj14.uj14", 0x000001, 0x100000, CRC(d4985cbb) SHA1(367865da7efae38d83de3c0868d02a705177ae63) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_ug19.ug19", 0x000002, 0x100000, CRC(fec137be) SHA1(f11ecb8a7993f5c4f4449564b4911f69bd6e9bf8) )
|
||||
@ -977,7 +997,7 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( mk2r14 )
|
||||
ROM_REGION16_LE( 0xc00000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0xc00000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u2.u2", 0x000000, 0x80000, CRC(5f23d71d) SHA1(54c2afef243759e0f3dbe2907edbc4302f5c8bad) )
|
||||
ROM_RELOAD( 0x100000, 0x80000 )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u3.u3", 0x200000, 0x80000, CRC(d6d92bf9) SHA1(397351c6b707f2595e36360471015f9fa494e894) )
|
||||
@ -990,13 +1010,13 @@ ROM_START( mk2r14 )
|
||||
ROM_RELOAD( 0x900000, 0x80000 )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u7.u7", 0xa00000, 0x80000, CRC(20387e0a) SHA1(505d05173b2a1f1ee3ebc2898ccd3a95c98dd04a) )
|
||||
ROM_RELOAD( 0xb00000, 0x80000 )
|
||||
/* su8 and su9 are unpopulated */
|
||||
// su8 and su9 are unpopulated
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_LOAD16_BYTE( "l1.4_mortal_kombat_ii_game_rom_uj12.uj12", 0x00000, 0x80000, CRC(6d43bc6d) SHA1(578ea9c60fa94689d6ae583b86769cd56d8db311) ) /* Revision 1.4 */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l1.4_mortal_kombat_ii_game_rom_uj12.uj12", 0x00000, 0x80000, CRC(6d43bc6d) SHA1(578ea9c60fa94689d6ae583b86769cd56d8db311) ) // Revision 1.4
|
||||
ROM_LOAD16_BYTE( "l1.4_mortal_kombat_ii_game_rom_ug12.ug12", 0x00001, 0x80000, CRC(42b0da21) SHA1(94ef25b04c35b4c26b692c2c3c5f68ba747bef49) )
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_ug14.ug14", 0x000000, 0x100000, CRC(01e73af6) SHA1(6598cfd704cc92a7f358a0e1f1c973ab79dcc493) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_uj14.uj14", 0x000001, 0x100000, CRC(d4985cbb) SHA1(367865da7efae38d83de3c0868d02a705177ae63) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_ug19.ug19", 0x000002, 0x100000, CRC(fec137be) SHA1(f11ecb8a7993f5c4f4449564b4911f69bd6e9bf8) )
|
||||
@ -1014,7 +1034,7 @@ ROM_START( mk2r14 )
|
||||
ROM_END
|
||||
|
||||
ROM_START( mk2r11 )
|
||||
ROM_REGION16_LE( 0xc00000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0xc00000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u2.u2", 0x000000, 0x80000, CRC(5f23d71d) SHA1(54c2afef243759e0f3dbe2907edbc4302f5c8bad) )
|
||||
ROM_RELOAD( 0x100000, 0x80000 )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u3.u3", 0x200000, 0x80000, CRC(d6d92bf9) SHA1(397351c6b707f2595e36360471015f9fa494e894) )
|
||||
@ -1027,13 +1047,13 @@ ROM_START( mk2r11 )
|
||||
ROM_RELOAD( 0x900000, 0x80000 )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u7.u7", 0xa00000, 0x80000, CRC(20387e0a) SHA1(505d05173b2a1f1ee3ebc2898ccd3a95c98dd04a) )
|
||||
ROM_RELOAD( 0xb00000, 0x80000 )
|
||||
/* su8 and su9 are unpopulated */
|
||||
// su8 and su9 are unpopulated
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_LOAD16_BYTE( "l1.1_mortal_kombat_ii_game_rom_uj12.uj12", 0x00000, 0x80000, CRC(01daff19) SHA1(8b14bf823ecb60c391688c106a52f141f1d291b5) ) /* Revision 1.1 */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l1.1_mortal_kombat_ii_game_rom_uj12.uj12", 0x00000, 0x80000, CRC(01daff19) SHA1(8b14bf823ecb60c391688c106a52f141f1d291b5) ) // Revision 1.1
|
||||
ROM_LOAD16_BYTE( "l1.1_mortal_kombat_ii_game_rom_ug12.ug12", 0x00001, 0x80000, CRC(54042eb7) SHA1(cda2f940b9c74989450611e6319e7cdadc05c627) )
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_ug14.ug14", 0x000000, 0x100000, CRC(01e73af6) SHA1(6598cfd704cc92a7f358a0e1f1c973ab79dcc493) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_uj14.uj14", 0x000001, 0x100000, CRC(d4985cbb) SHA1(367865da7efae38d83de3c0868d02a705177ae63) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_ug19.ug19", 0x000002, 0x100000, CRC(fec137be) SHA1(f11ecb8a7993f5c4f4449564b4911f69bd6e9bf8) )
|
||||
@ -1051,7 +1071,7 @@ ROM_START( mk2r11 )
|
||||
ROM_END
|
||||
|
||||
ROM_START( mk2r42 )
|
||||
ROM_REGION16_LE( 0xc00000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0xc00000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u2.u2", 0x000000, 0x80000, CRC(5f23d71d) SHA1(54c2afef243759e0f3dbe2907edbc4302f5c8bad) )
|
||||
ROM_RELOAD( 0x100000, 0x80000 )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u3.u3", 0x200000, 0x80000, CRC(d6d92bf9) SHA1(397351c6b707f2595e36360471015f9fa494e894) )
|
||||
@ -1064,13 +1084,13 @@ ROM_START( mk2r42 )
|
||||
ROM_RELOAD( 0x900000, 0x80000 )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u7.u7", 0xa00000, 0x80000, CRC(20387e0a) SHA1(505d05173b2a1f1ee3ebc2898ccd3a95c98dd04a) )
|
||||
ROM_RELOAD( 0xb00000, 0x80000 )
|
||||
/* su8 and su9 are unpopulated */
|
||||
// su8 and su9 are unpopulated
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "mk242j12.bin", 0x00000, 0x80000, CRC(c7fb1525) SHA1(350be1a6f6da3a6b42764cfceae196696482def2) )
|
||||
ROM_LOAD16_BYTE( "mk242g12.bin", 0x00001, 0x80000, CRC(443d0e0a) SHA1(20e69c266cda59be92d7cd6423f6e03ad65226eb) )
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_ug14.ug14", 0x000000, 0x100000, CRC(01e73af6) SHA1(6598cfd704cc92a7f358a0e1f1c973ab79dcc493) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_uj14.uj14", 0x000001, 0x100000, CRC(d4985cbb) SHA1(367865da7efae38d83de3c0868d02a705177ae63) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_ug19.ug19", 0x000002, 0x100000, CRC(fec137be) SHA1(f11ecb8a7993f5c4f4449564b4911f69bd6e9bf8) )
|
||||
@ -1089,7 +1109,7 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( mk2r91 )
|
||||
ROM_REGION16_LE( 0xc00000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0xc00000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u2.u2", 0x000000, 0x80000, CRC(5f23d71d) SHA1(54c2afef243759e0f3dbe2907edbc4302f5c8bad) )
|
||||
ROM_RELOAD( 0x100000, 0x80000 )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u3.u3", 0x200000, 0x80000, CRC(d6d92bf9) SHA1(397351c6b707f2595e36360471015f9fa494e894) )
|
||||
@ -1102,13 +1122,13 @@ ROM_START( mk2r91 )
|
||||
ROM_RELOAD( 0x900000, 0x80000 )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u7.u7", 0xa00000, 0x80000, CRC(20387e0a) SHA1(505d05173b2a1f1ee3ebc2898ccd3a95c98dd04a) )
|
||||
ROM_RELOAD( 0xb00000, 0x80000 )
|
||||
/* su8 and su9 are unpopulated */
|
||||
// su8 and su9 are unpopulated
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "uj12.l91", 0x00000, 0x80000, CRC(41953903) SHA1(f72f92beb32e724d37e5f951b24539902dc16a9f) )
|
||||
ROM_LOAD16_BYTE( "ug12.l91", 0x00001, 0x80000, CRC(c07f745a) SHA1(049a18bc162274c897cae695032f32c851e57330) )
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_ug14.ug14", 0x000000, 0x100000, CRC(01e73af6) SHA1(6598cfd704cc92a7f358a0e1f1c973ab79dcc493) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_uj14.uj14", 0x000001, 0x100000, CRC(d4985cbb) SHA1(367865da7efae38d83de3c0868d02a705177ae63) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_ug19.ug19", 0x000002, 0x100000, CRC(fec137be) SHA1(f11ecb8a7993f5c4f4449564b4911f69bd6e9bf8) )
|
||||
@ -1127,7 +1147,7 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( mk2chal ) // Known as the Challenger Hack because the version number has been replaced with "CHALLENGER.." in the Test Menu
|
||||
ROM_REGION16_LE( 0xc00000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0xc00000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u2.u2", 0x000000, 0x80000, CRC(5f23d71d) SHA1(54c2afef243759e0f3dbe2907edbc4302f5c8bad) )
|
||||
ROM_RELOAD( 0x100000, 0x80000 )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u3.u3", 0x200000, 0x80000, CRC(d6d92bf9) SHA1(397351c6b707f2595e36360471015f9fa494e894) )
|
||||
@ -1140,13 +1160,13 @@ ROM_START( mk2chal ) // Known as the Challenger Hack because the version number
|
||||
ROM_RELOAD( 0x900000, 0x80000 )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_ii_sound_rom_u7.u7", 0xa00000, 0x80000, CRC(20387e0a) SHA1(505d05173b2a1f1ee3ebc2898ccd3a95c98dd04a) )
|
||||
ROM_RELOAD( 0xb00000, 0x80000 )
|
||||
/* su8 and su9 are unpopulated */
|
||||
// su8 and su9 are unpopulated
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "immortal_kombat_ii_j-12.uj12", 0x00000, 0x80000, CRC(2d5c04e6) SHA1(85947876319c86bdcdeccda99ae1ddbcfb212484) ) // labeled IMMORTAL KOMBAT II J-12
|
||||
ROM_LOAD16_BYTE( "immortal_kombat_ii_g-12.ug12", 0x00001, 0x80000, CRC(3e7a4bad) SHA1(9a8ad99e09badcea7f2bcf80a649c96a883a0463) ) // labeled IMMORTAL KOMBAT II G-12
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_ug14.ug14", 0x000000, 0x100000, CRC(01e73af6) SHA1(6598cfd704cc92a7f358a0e1f1c973ab79dcc493) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_uj14.uj14", 0x000001, 0x100000, CRC(d4985cbb) SHA1(367865da7efae38d83de3c0868d02a705177ae63) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_ii_game_rom_ug19.ug19", 0x000002, 0x100000, CRC(fec137be) SHA1(f11ecb8a7993f5c4f4449564b4911f69bd6e9bf8) )
|
||||
@ -1240,19 +1260,19 @@ NOTE: The current sound ROMs match the L1 checksums listed above. Midway would c
|
||||
*/
|
||||
|
||||
ROM_START( nbajam )
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) /* sound CPU */
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) // sound CPU
|
||||
ROM_LOAD( "l2_nba_jam_u3_sound_rom.u3", 0x010000, 0x20000, CRC(3a3ea480) SHA1(d12a45cba5c35f046b176661d7877fa4fd0e6c13) )
|
||||
ROM_RELOAD( 0x030000, 0x20000 )
|
||||
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) /* ADPCM */
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) // ADPCM
|
||||
ROM_LOAD( "l1_nba_jam_u12_sound_rom.u12", 0x000000, 0x80000, CRC(b94847f1) SHA1(e7efa0a379bfa91fe4ffb75f07a5dfbfde9a96b4) ) // may be labeled as L2 revision
|
||||
ROM_LOAD( "l1_nba_jam_u13_sound_rom.u13", 0x080000, 0x80000, CRC(b6fe24bd) SHA1(f70f75b5570a2b368ebc74d2a7d264c618940430) ) // may be labeled as L2 revision
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l3_nba_jam_game_rom_uj12.uj12", 0x00000, 0x80000, CRC(b93e271c) SHA1(b0e9f055376a4a4cd1115a81f71c933903c251b1) )
|
||||
ROM_LOAD16_BYTE( "l3_nba_jam_game_rom_ug12.ug12", 0x00001, 0x80000, CRC(407d3390) SHA1(a319bc890d94310e44fe2ec98bfc95665a662701) )
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_game_rom_ug14.ug14", 0x000000, 0x80000, CRC(04bb9f64) SHA1(9e1a8c37e14cb6fe67f4aa3caa9022f356f1ca64) )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_game_rom_uj14.uj14", 0x000001, 0x80000, CRC(b34b7af3) SHA1(0abb74d2f414bc9da0380a81beb134f3a87c1a0a) )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_game_rom_ug19.ug19", 0x000002, 0x80000, CRC(a8f22fbb) SHA1(514208a9d6d0c8c2d7847cc02d4387eac90be659) )
|
||||
@ -1276,19 +1296,19 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( nbajamr2 )
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) /* sound CPU */
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) // sound CPU
|
||||
ROM_LOAD( "l2_nba_jam_u3_sound_rom.u3", 0x010000, 0x20000, CRC(3a3ea480) SHA1(d12a45cba5c35f046b176661d7877fa4fd0e6c13) ) // sound program updated 2-10-93
|
||||
ROM_RELOAD( 0x030000, 0x20000 )
|
||||
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) /* ADPCM */
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) // ADPCM
|
||||
ROM_LOAD( "l1_nba_jam_u12_sound_rom.u12", 0x000000, 0x80000, CRC(b94847f1) SHA1(e7efa0a379bfa91fe4ffb75f07a5dfbfde9a96b4) ) // may be labeled as L2 revision
|
||||
ROM_LOAD( "l1_nba_jam_u13_sound_rom.u13", 0x080000, 0x80000, CRC(b6fe24bd) SHA1(f70f75b5570a2b368ebc74d2a7d264c618940430) ) // may be labeled as L2 revision
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l2_nba_jam_game_rom_uj12.uj12", 0x00000, 0x80000, CRC(0fe80b36) SHA1(fe6b21dc9b393b25c511b2914b568fa92301d749) )
|
||||
ROM_LOAD16_BYTE( "l2_nba_jam_game_rom_ug12.ug12", 0x00001, 0x80000, CRC(5d106315) SHA1(e2cddd9ed6771e77711e3a4f25fe2d07712d954e) )
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_game_rom_ug14.ug14", 0x000000, 0x80000, CRC(04bb9f64) SHA1(9e1a8c37e14cb6fe67f4aa3caa9022f356f1ca64) )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_game_rom_uj14.uj14", 0x000001, 0x80000, CRC(b34b7af3) SHA1(0abb74d2f414bc9da0380a81beb134f3a87c1a0a) )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_game_rom_ug19.ug19", 0x000002, 0x80000, CRC(a8f22fbb) SHA1(514208a9d6d0c8c2d7847cc02d4387eac90be659) )
|
||||
@ -1312,19 +1332,19 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( nbajamr1 )
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) /* sound CPU */
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) // sound CPU
|
||||
ROM_LOAD( "l2_nba_jam_u3_sound_rom.u3", 0x010000, 0x20000, CRC(3a3ea480) SHA1(d12a45cba5c35f046b176661d7877fa4fd0e6c13) ) // missing undumped L1 ROM - should be dated 2/1/93
|
||||
ROM_RELOAD( 0x030000, 0x20000 )
|
||||
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) /* ADPCM */
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) // ADPCM
|
||||
ROM_LOAD( "l1_nba_jam_u12_sound_rom.u12", 0x000000, 0x80000, CRC(b94847f1) SHA1(e7efa0a379bfa91fe4ffb75f07a5dfbfde9a96b4) )
|
||||
ROM_LOAD( "l1_nba_jam_u13_sound_rom.u13", 0x080000, 0x80000, CRC(b6fe24bd) SHA1(f70f75b5570a2b368ebc74d2a7d264c618940430) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l1_nba_jam_game_rom_uj12.uj12", 0x00000, 0x80000, CRC(4db672ec) SHA1(bb329c552473179f617d3bd038f47fb69d060b55) )
|
||||
ROM_LOAD16_BYTE( "l1_nba_jam_game_rom_ug12.ug12", 0x00001, 0x80000, CRC(ed1df3f7) SHA1(36b0c47758a205719dbef169f0af3e761f557b99) )
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_game_rom_ug14.ug14", 0x000000, 0x80000, CRC(04bb9f64) SHA1(9e1a8c37e14cb6fe67f4aa3caa9022f356f1ca64) )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_game_rom_uj14.uj14", 0x000001, 0x80000, CRC(b34b7af3) SHA1(0abb74d2f414bc9da0380a81beb134f3a87c1a0a) )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_game_rom_ug19.ug19", 0x000002, 0x80000, CRC(a8f22fbb) SHA1(514208a9d6d0c8c2d7847cc02d4387eac90be659) )
|
||||
@ -1348,21 +1368,21 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( nbajamp2 )
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) /* sound CPU */
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) // sound CPU
|
||||
ROM_LOAD( "p1_nba_jam_u3_sound_rom.u3", 0x010000, 0x20000, CRC(3d13633c) SHA1(b9597c352f56d67e5fdc958319285bbed0fcfbea) ) // all sound ROMs labeled as P1
|
||||
ROM_RELOAD( 0x030000, 0x20000 )
|
||||
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) /* ADPCM */
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) // ADPCM
|
||||
ROM_LOAD( "p1_nba_jam_u12_sound_rom.u12", 0x000000, 0x80000, CRC(009aad42) SHA1(6cdef52ca565919626475a9ef5f264c55b899ea6) )
|
||||
ROM_LOAD( "p1_nba_jam_u13_sound_rom.u13", 0x080000, 0x80000, CRC(248800c2) SHA1(c6d7cd7841d751ee188c7bfd1ebbed380a18116e) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "p2_nba_jam_game_rom_uj12.uj12", 0x00000, 0x40000, CRC(4ebdf669) SHA1(8ab0d6084ed39ea7872aa5749148500ab1f1f692) ) // program ROMs labeled as P2
|
||||
ROM_RELOAD( 0x80000, 0x40000 )
|
||||
ROM_LOAD16_BYTE( "p2_nba_jam_game_rom_ug12.ug12", 0x00001, 0x40000, CRC(8d6098b6) SHA1(ca2e9be3ae77b379e8aa83b5ef7fda9fdaa3903c) )
|
||||
ROM_RELOAD( 0x80001, 0x40000 )
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "p1_nba_jam_game_rom_ug14.ug14", 0x000000, 0x80000, CRC(39e16e0b) SHA1(9cd5b4b74d5bdf89a348d37a235df7988f91a133) ) // all graphics ROMs labeled as P1
|
||||
ROM_LOAD32_BYTE( "p1_nba_jam_game_rom_uj14.uj14", 0x000001, 0x80000, CRC(a9ef8b67) SHA1(4d7faf6c0d4fdf98d33c9a01221e15cd5bbdaa88) )
|
||||
ROM_LOAD32_BYTE( "p1_nba_jam_game_rom_ug19.ug19", 0x000002, 0x80000, CRC(a88b961c) SHA1(28d087acedeba67413bcc3fd26a872459fa27161) )
|
||||
@ -1386,21 +1406,21 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( nbajamp1 )
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) /* sound CPU */
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) // sound CPU
|
||||
ROM_LOAD( "p1_nba_jam_u3_sound_rom.u3", 0x010000, 0x20000, CRC(3d13633c) SHA1(b9597c352f56d67e5fdc958319285bbed0fcfbea) ) // all sound ROMs labeled as P1
|
||||
ROM_RELOAD( 0x030000, 0x20000 )
|
||||
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) /* ADPCM */
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) // ADPCM
|
||||
ROM_LOAD( "p1_nba_jam_u12_sound_rom.u12", 0x000000, 0x80000, CRC(009aad42) SHA1(6cdef52ca565919626475a9ef5f264c55b899ea6) )
|
||||
ROM_LOAD( "p1_nba_jam_u13_sound_rom.u13", 0x080000, 0x80000, CRC(248800c2) SHA1(c6d7cd7841d751ee188c7bfd1ebbed380a18116e) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "p1_nba_jam_game_rom_uj12.uj12", 0x00000, 0x40000, CRC(c0faf310) SHA1(f37d796ab8b06861853fe24a3b4ccfb27a3832b5) ) // program ROMs labeled as P1
|
||||
ROM_RELOAD( 0x80000, 0x40000 )
|
||||
ROM_LOAD16_BYTE( "p1_nba_jam_game_rom_ug12.ug12", 0x00001, 0x40000, CRC(5ee68e03) SHA1(eec97375e3ad9b1aa5d2a6793289fa0c002d1343) )
|
||||
ROM_RELOAD( 0x80001, 0x40000 )
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "p1_nba_jam_game_rom_ug14.ug14", 0x000000, 0x80000, CRC(39e16e0b) SHA1(9cd5b4b74d5bdf89a348d37a235df7988f91a133) ) // all graphics ROMs labeled as P1
|
||||
ROM_LOAD32_BYTE( "p1_nba_jam_game_rom_uj14.uj14", 0x000001, 0x80000, CRC(a9ef8b67) SHA1(4d7faf6c0d4fdf98d33c9a01221e15cd5bbdaa88) )
|
||||
ROM_LOAD32_BYTE( "p1_nba_jam_game_rom_ug19.ug19", 0x000002, 0x80000, CRC(a88b961c) SHA1(28d087acedeba67413bcc3fd26a872459fa27161) )
|
||||
@ -1424,19 +1444,19 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( nbajamte )
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) /* sound CPU */
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) // sound CPU
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u3_sound_rom.u3", 0x010000, 0x20000, CRC(d4551195) SHA1(e8908fbe4339fb8c93f7e74113dfd25dda1667ea) )
|
||||
ROM_RELOAD( 0x030000, 0x20000 )
|
||||
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) /* ADPCM */
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) // ADPCM
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u12_sound_rom.u12", 0x000000, 0x80000, CRC(4fac97bc) SHA1(bd88d8c3edab0e35ad9f9350bcbaa17cda61d87a) )
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u13_sound_rom.u13", 0x080000, 0x80000, CRC(6f27b202) SHA1(c1f0db15624d1e7102ce9fd1db49ccf86e8611d6) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l4_nba_jam_tournament_game_rom_uj12.uj12", 0x00000, 0x80000, CRC(d7c21bc4) SHA1(e05f0299b955500df6a08b1c0b24b932a9cdfa6a) ) // sldh - rev 4.0 3/23/94
|
||||
ROM_LOAD16_BYTE( "l4_nba_jam_tournament_game_rom_ug12.ug12", 0x00001, 0x80000, CRC(7ad49229) SHA1(e9ceedb0e620809d8a4d42087d806aa296a4cd59) ) // sldh - rev 4.0 3/23/94
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_ug14.ug14", 0x000000, 0x80000, CRC(04bb9f64) SHA1(9e1a8c37e14cb6fe67f4aa3caa9022f356f1ca64) )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_uj14.uj14", 0x000001, 0x80000, CRC(b34b7af3) SHA1(0abb74d2f414bc9da0380a81beb134f3a87c1a0a) )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_ug19.ug19", 0x000002, 0x80000, CRC(a8f22fbb) SHA1(514208a9d6d0c8c2d7847cc02d4387eac90be659) )
|
||||
@ -1460,19 +1480,19 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( nbajamte4 )
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) /* sound CPU */
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) // sound CPU
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u3_sound_rom.u3", 0x010000, 0x20000, CRC(d4551195) SHA1(e8908fbe4339fb8c93f7e74113dfd25dda1667ea) )
|
||||
ROM_RELOAD( 0x030000, 0x20000 )
|
||||
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) /* ADPCM */
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) // ADPCM
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u12_sound_rom.u12", 0x000000, 0x80000, CRC(4fac97bc) SHA1(bd88d8c3edab0e35ad9f9350bcbaa17cda61d87a) )
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u13_sound_rom.u13", 0x080000, 0x80000, CRC(6f27b202) SHA1(c1f0db15624d1e7102ce9fd1db49ccf86e8611d6) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l4_nba_jam_tournament_game_rom_uj12.uj12", 0x00000, 0x80000, CRC(f94074f8) SHA1(0d669a38f33b000ec12352ae15ebdd7849b6ad50) ) // sldh - rev 4.0 3/03/94
|
||||
ROM_LOAD16_BYTE( "l4_nba_jam_tournament_game_rom_ug12.ug12", 0x00001, 0x80000, CRC(2c55890b) SHA1(839492d50474a54a434090a5f06548963773aec7) ) // sldh - rev 4.0 3/03/94
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_ug14.ug14", 0x000000, 0x80000, CRC(04bb9f64) SHA1(9e1a8c37e14cb6fe67f4aa3caa9022f356f1ca64) )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_uj14.uj14", 0x000001, 0x80000, CRC(b34b7af3) SHA1(0abb74d2f414bc9da0380a81beb134f3a87c1a0a) )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_ug19.ug19", 0x000002, 0x80000, CRC(a8f22fbb) SHA1(514208a9d6d0c8c2d7847cc02d4387eac90be659) )
|
||||
@ -1496,19 +1516,19 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( nbajamte3 )
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) /* sound CPU */
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) // sound CPU
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u3_sound_rom.u3", 0x010000, 0x20000, CRC(d4551195) SHA1(e8908fbe4339fb8c93f7e74113dfd25dda1667ea) )
|
||||
ROM_RELOAD( 0x030000, 0x20000 )
|
||||
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) /* ADPCM */
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) // ADPCM
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u12_sound_rom.u12", 0x000000, 0x80000, CRC(4fac97bc) SHA1(bd88d8c3edab0e35ad9f9350bcbaa17cda61d87a) )
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u13_sound_rom.u13", 0x080000, 0x80000, CRC(6f27b202) SHA1(c1f0db15624d1e7102ce9fd1db49ccf86e8611d6) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l3_nba_jam_tournament_game_rom_uj12.uj12", 0x00000, 0x80000, CRC(8fdf77b4) SHA1(1a8a178b19d0b8e7a5fd2ddf373a4279321440d0) ) // sldh - rev 3.0 3/04/94
|
||||
ROM_LOAD16_BYTE( "l3_nba_jam_tournament_game_rom_ug12.ug12", 0x00001, 0x80000, CRC(656579ed) SHA1(b038fdc814ebc8d203724fdb2f7501d40f1dc21f) ) // sldh - rev 3.0 3/04/94
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_ug14.ug14", 0x000000, 0x80000, CRC(04bb9f64) SHA1(9e1a8c37e14cb6fe67f4aa3caa9022f356f1ca64) )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_uj14.uj14", 0x000001, 0x80000, CRC(b34b7af3) SHA1(0abb74d2f414bc9da0380a81beb134f3a87c1a0a) )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_ug19.ug19", 0x000002, 0x80000, CRC(a8f22fbb) SHA1(514208a9d6d0c8c2d7847cc02d4387eac90be659) )
|
||||
@ -1532,19 +1552,19 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( nbajamte3a )
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) /* sound CPU */
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) // sound CPU
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u3_sound_rom.u3", 0x010000, 0x20000, CRC(d4551195) SHA1(e8908fbe4339fb8c93f7e74113dfd25dda1667ea) )
|
||||
ROM_RELOAD( 0x030000, 0x20000 )
|
||||
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) /* ADPCM */
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) // ADPCM
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u12_sound_rom.u12", 0x000000, 0x80000, CRC(4fac97bc) SHA1(bd88d8c3edab0e35ad9f9350bcbaa17cda61d87a) )
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u13_sound_rom.u13", 0x080000, 0x80000, CRC(6f27b202) SHA1(c1f0db15624d1e7102ce9fd1db49ccf86e8611d6) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l3_nba_jam_tournament_game_rom_uj12.uj12", 0x00000, 0x80000, CRC(83f03079) SHA1(2aa95339edb8b50b38f0842c960ca2adee4db5dd) ) // sldh - rev 3.0 2/26/94
|
||||
ROM_LOAD16_BYTE( "l3_nba_jam_tournament_game_rom_ug12.ug12", 0x00001, 0x80000, CRC(121ccb3a) SHA1(c5e76f34b222f33e7af957bd57b45d30f43cb012) ) // sldh - rev 3.0 2/26/94
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_ug14.ug14", 0x000000, 0x80000, CRC(04bb9f64) SHA1(9e1a8c37e14cb6fe67f4aa3caa9022f356f1ca64) )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_uj14.uj14", 0x000001, 0x80000, CRC(b34b7af3) SHA1(0abb74d2f414bc9da0380a81beb134f3a87c1a0a) )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_ug19.ug19", 0x000002, 0x80000, CRC(a8f22fbb) SHA1(514208a9d6d0c8c2d7847cc02d4387eac90be659) )
|
||||
@ -1568,19 +1588,19 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( nbajamte2 )
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) /* sound CPU */
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) // sound CPU
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u3_sound_rom.u3", 0x010000, 0x20000, CRC(d4551195) SHA1(e8908fbe4339fb8c93f7e74113dfd25dda1667ea) )
|
||||
ROM_RELOAD( 0x030000, 0x20000 )
|
||||
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) /* ADPCM */
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) // ADPCM
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u12_sound_rom.u12", 0x000000, 0x80000, CRC(4fac97bc) SHA1(bd88d8c3edab0e35ad9f9350bcbaa17cda61d87a) )
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u13_sound_rom.u13", 0x080000, 0x80000, CRC(6f27b202) SHA1(c1f0db15624d1e7102ce9fd1db49ccf86e8611d6) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l2.1_nba_jam_tournament_game_rom_uj12.uj12", 0x00000, 0x80000, CRC(d009aa29) SHA1(2f9317d3f89488a3593637a37eea4ac68dd1067b) )
|
||||
ROM_LOAD16_BYTE( "l2.1_nba_jam_tournament_game_rom_ug12.ug12", 0x00001, 0x80000, CRC(6c3bfb6a) SHA1(e05cbe33661fb37a929c6a75d9e0f3469cc81d2d) )
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_ug14.ug14", 0x000000, 0x80000, CRC(04bb9f64) SHA1(9e1a8c37e14cb6fe67f4aa3caa9022f356f1ca64) )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_uj14.uj14", 0x000001, 0x80000, CRC(b34b7af3) SHA1(0abb74d2f414bc9da0380a81beb134f3a87c1a0a) )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_ug19.ug19", 0x000002, 0x80000, CRC(a8f22fbb) SHA1(514208a9d6d0c8c2d7847cc02d4387eac90be659) )
|
||||
@ -1604,19 +1624,19 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( nbajamte2a )
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) /* sound CPU */
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) // sound CPU
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u3_sound_rom.u3", 0x010000, 0x20000, CRC(d4551195) SHA1(e8908fbe4339fb8c93f7e74113dfd25dda1667ea) )
|
||||
ROM_RELOAD( 0x030000, 0x20000 )
|
||||
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) /* ADPCM */
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) // ADPCM
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u12_sound_rom.u12", 0x000000, 0x80000, CRC(4fac97bc) SHA1(bd88d8c3edab0e35ad9f9350bcbaa17cda61d87a) )
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u13_sound_rom.u13", 0x080000, 0x80000, CRC(6f27b202) SHA1(c1f0db15624d1e7102ce9fd1db49ccf86e8611d6) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l2_nba_jam_tournament_game_rom_uj12.uj12", 0x00000, 0x80000, CRC(eaa6fb32) SHA1(8c8c0c6ace2b98679d7fe90e1f9284bdf0e14eaf) )
|
||||
ROM_LOAD16_BYTE( "l2_nba_jam_tournament_game_rom_ug12.ug12", 0x00001, 0x80000, CRC(5a694d9a) SHA1(fb74e4242d9adba03f24a81451ea06e8d9b4af96) )
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_ug14.ug14", 0x000000, 0x80000, CRC(04bb9f64) SHA1(9e1a8c37e14cb6fe67f4aa3caa9022f356f1ca64) )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_uj14.uj14", 0x000001, 0x80000, CRC(b34b7af3) SHA1(0abb74d2f414bc9da0380a81beb134f3a87c1a0a) )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_ug19.ug19", 0x000002, 0x80000, CRC(a8f22fbb) SHA1(514208a9d6d0c8c2d7847cc02d4387eac90be659) )
|
||||
@ -1640,19 +1660,19 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( nbajamte1 )
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) /* sound CPU */
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) // sound CPU
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u3_sound_rom.u3", 0x010000, 0x20000, CRC(d4551195) SHA1(e8908fbe4339fb8c93f7e74113dfd25dda1667ea) )
|
||||
ROM_RELOAD( 0x030000, 0x20000 )
|
||||
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) /* ADPCM */
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) // ADPCM
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u12_sound_rom.u12", 0x000000, 0x80000, CRC(4fac97bc) SHA1(bd88d8c3edab0e35ad9f9350bcbaa17cda61d87a) )
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u13_sound_rom.u13", 0x080000, 0x80000, CRC(6f27b202) SHA1(c1f0db15624d1e7102ce9fd1db49ccf86e8611d6) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l1_nba_jam_tournament_game_rom_uj12.uj12", 0x00000, 0x80000, CRC(a9f555ad) SHA1(34f5fc1b003ef8acbb2b38fbacd58d018d20ab1b) )
|
||||
ROM_LOAD16_BYTE( "l1_nba_jam_tournament_game_rom_ug12.ug12", 0x00001, 0x80000, CRC(bd4579b5) SHA1(c893cff931f1e60a1d0d29d2719f514d92fb3490) )
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_ug14.ug14", 0x000000, 0x80000, CRC(04bb9f64) SHA1(9e1a8c37e14cb6fe67f4aa3caa9022f356f1ca64) )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_uj14.uj14", 0x000001, 0x80000, CRC(b34b7af3) SHA1(0abb74d2f414bc9da0380a81beb134f3a87c1a0a) )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_ug19.ug19", 0x000002, 0x80000, CRC(a8f22fbb) SHA1(514208a9d6d0c8c2d7847cc02d4387eac90be659) )
|
||||
@ -1678,19 +1698,19 @@ ROM_END
|
||||
// romset contained only the program ROMs and PCB pics are available, so ideally every other one should be checked if another PCB ever shows up
|
||||
// not marking them as BAD_DUMP as they pass the ROM test
|
||||
ROM_START( nbajamtep2 )
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) /* sound CPU */
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) // sound CPU
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u3_sound_rom.u3", 0x010000, 0x20000, CRC(d4551195) SHA1(e8908fbe4339fb8c93f7e74113dfd25dda1667ea) )
|
||||
ROM_RELOAD( 0x030000, 0x20000 )
|
||||
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) /* ADPCM */
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) // ADPCM
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u12_sound_rom.u12", 0x000000, 0x80000, CRC(4fac97bc) SHA1(bd88d8c3edab0e35ad9f9350bcbaa17cda61d87a) )
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u13_sound_rom.u13", 0x080000, 0x80000, CRC(6f27b202) SHA1(c1f0db15624d1e7102ce9fd1db49ccf86e8611d6) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "p2_nba_jam_tournament_game_rom_uj12.uj12", 0x00000, 0x80000, CRC(f90f7450) SHA1(ecc2b801edd1e0529fe0e52471b7876f748cf296) )
|
||||
ROM_LOAD16_BYTE( "p2_nba_jam_tournament_game_rom_ug12.ug12", 0x00001, 0x80000, CRC(a0d9d49a) SHA1(8fac949b9707d821e35ad2f2decb67b5bab28b40) )
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_ug14.ug14", 0x000000, 0x80000, CRC(04bb9f64) SHA1(9e1a8c37e14cb6fe67f4aa3caa9022f356f1ca64) )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_uj14.uj14", 0x000001, 0x80000, CRC(b34b7af3) SHA1(0abb74d2f414bc9da0380a81beb134f3a87c1a0a) )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_ug19.ug19", 0x000002, 0x80000, CRC(a8f22fbb) SHA1(514208a9d6d0c8c2d7847cc02d4387eac90be659) )
|
||||
@ -1714,19 +1734,19 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( nbajamten )
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) /* sound CPU */
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) // sound CPU
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u3_sound_rom.u3", 0x010000, 0x20000, CRC(d4551195) SHA1(e8908fbe4339fb8c93f7e74113dfd25dda1667ea) )
|
||||
ROM_RELOAD( 0x030000, 0x20000 )
|
||||
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) /* ADPCM */
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) // ADPCM
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u12_sound_rom.u12", 0x000000, 0x80000, CRC(4fac97bc) SHA1(bd88d8c3edab0e35ad9f9350bcbaa17cda61d87a) )
|
||||
ROM_LOAD( "l1_nba_jam_tournament_u13_sound_rom.u13", 0x080000, 0x80000, CRC(6f27b202) SHA1(c1f0db15624d1e7102ce9fd1db49ccf86e8611d6) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "nani-uj12.bin", 0x00000, 0x80000, CRC(a2662e74) SHA1(7a6c18464446baf3d279013eb95bf862b5b3be70) )
|
||||
ROM_LOAD16_BYTE( "nani-ug12.bin", 0x00001, 0x80000, CRC(40cda5b1) SHA1(2ff51f830aa86f6456c626666e221be1f7bfbfa2) )
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_ug14.ug14", 0x000000, 0x80000, CRC(04bb9f64) SHA1(9e1a8c37e14cb6fe67f4aa3caa9022f356f1ca64) )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_uj14.uj14", 0x000001, 0x80000, CRC(b34b7af3) SHA1(0abb74d2f414bc9da0380a81beb134f3a87c1a0a) )
|
||||
ROM_LOAD32_BYTE( "l1_nba_jam_tournament_game_rom_ug19.ug19", 0x000002, 0x80000, CRC(a8f22fbb) SHA1(514208a9d6d0c8c2d7847cc02d4387eac90be659) )
|
||||
@ -1750,19 +1770,19 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( jdreddp )
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) /* sound CPU */
|
||||
ROM_REGION( 0x50000, "adpcm:cpu", 0 ) // sound CPU
|
||||
ROM_LOAD( "t1_judge_dredd_sound_rom_u3.u3", 0x010000, 0x20000, CRC(6154d108) SHA1(54328455ec22ba815de85aa3bfe6405353c64f5c) )
|
||||
ROM_RELOAD( 0x030000, 0x20000 )
|
||||
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) /* ADPCM */
|
||||
ROM_REGION( 0x100000, "adpcm:oki", 0 ) // ADPCM
|
||||
ROM_LOAD( "t1_judge_dredd_sound_rom_u12.u12", 0x000000, 0x80000, CRC(ef32f202) SHA1(16aea085e63496dec259291de1a64fbeab52f039) )
|
||||
ROM_LOAD( "t1_judge_dredd_sound_rom_u13.u13", 0x080000, 0x80000, CRC(3dc70473) SHA1(a3d7210301ff0579889009a075092115d9bf0600) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "t1_judge_dredd_game_rom_uj12.uj12", 0x00000, 0x80000, CRC(7e5c8d5a) SHA1(65c0e887fea01846426067adfc4cf60dce4a1e24) )
|
||||
ROM_LOAD16_BYTE( "t1_judge_dredd_game_rom_ug12.ug12", 0x00001, 0x80000, CRC(a16b8a4a) SHA1(77abb31e7cb3b66c63ef7c1874d8544ae9a02667) )
|
||||
|
||||
ROM_REGION( 0xc00000, "gfxrom", 0 )
|
||||
ROM_REGION( 0xc00000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "t1_judge_dredd_game_rom_ug14.ug14", 0x000000, 0x80000, CRC(468484d7) SHA1(87e3b87051e3afff097333af90efa0eb4dd61a35) )
|
||||
ROM_LOAD32_BYTE( "t1_judge_dredd_game_rom_uj14.uj14", 0x000001, 0x80000, CRC(fe6ec0ec) SHA1(3e3b1774e1c5cf6629fbd3aeff36cadff1adfbf9) )
|
||||
ROM_LOAD32_BYTE( "t1_judge_dredd_game_rom_ug19.ug19", 0x000002, 0x80000, CRC(e076c08e) SHA1(9b52470feac66b258e62e53dfd6a6a74c1e47ac1) )
|
||||
@ -1792,36 +1812,36 @@ ROM_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
GAME( 1992, mk, 0, tunit_adpcm, mk, midtunit_state, init_mktunit, ROT0, "Midway", "Mortal Kombat (rev 5.0 T-Unit 03/19/93)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1992, mkr4, mk, tunit_adpcm, mk, midtunit_state, init_mktunit, ROT0, "Midway", "Mortal Kombat (rev 4.0 T-Unit 02/11/93)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1992, mktturbo, mk, tunit_adpcm, mk, midtunit_state, init_mkturbo, ROT0, "hack", "Mortal Kombat (Turbo Ninja T-Unit 03/19/93, hack)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1992, mk, 0, tunit_adpcm, mk, midtunit_adpcm_state, init_mktunit, ROT0, "Midway", "Mortal Kombat (rev 5.0 T-Unit 03/19/93)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1992, mkr4, mk, tunit_adpcm, mk, midtunit_adpcm_state, init_mktunit, ROT0, "Midway", "Mortal Kombat (rev 4.0 T-Unit 02/11/93)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1992, mktturbo, mk, tunit_adpcm, mk, midtunit_adpcm_state, init_mkturbo, ROT0, "hack", "Mortal Kombat (Turbo Ninja T-Unit 03/19/93, hack)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1993, mk2, 0, tunit_dcs, mk2, midtunit_state, init_mk2, ROT0, "Midway", "Mortal Kombat II (rev L3.1)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, mk2r32e, mk2, tunit_dcs, mk2, midtunit_state, init_mk2, ROT0, "Midway", "Mortal Kombat II (rev L3.2, European)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, mk2r31e, mk2, tunit_dcs, mk2, midtunit_state, init_mk2, ROT0, "Midway", "Mortal Kombat II (rev L3.1, European)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, mk2r30, mk2, tunit_dcs, mk2, midtunit_state, init_mk2, ROT0, "Midway", "Mortal Kombat II (rev L3.0)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, mk2r21, mk2, tunit_dcs, mk2, midtunit_state, init_mk2, ROT0, "Midway", "Mortal Kombat II (rev L2.1)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, mk2r20, mk2, tunit_dcs, mk2, midtunit_state, init_mk2, ROT0, "Midway", "Mortal Kombat II (rev L2.0)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, mk2r14, mk2, tunit_dcs, mk2, midtunit_state, init_mk2, ROT0, "Midway", "Mortal Kombat II (rev L1.4)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, mk2r11, mk2, tunit_dcs, mk2, midtunit_state, init_mk2, ROT0, "Midway", "Mortal Kombat II (rev L1.1)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, mk2r42, mk2, tunit_dcs, mk2, midtunit_state, init_mk2, ROT0, "hack", "Mortal Kombat II (rev L4.2, hack)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, mk2r91, mk2, tunit_dcs, mk2, midtunit_state, init_mk2, ROT0, "hack", "Mortal Kombat II (rev L9.1, hack)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, mk2chal, mk2, tunit_dcs, mk2, midtunit_state, init_mk2, ROT0, "hack", "Mortal Kombat II Challenger (hack)", MACHINE_SUPPORTS_SAVE ) // program ROMs labeled as IMMORTAL KOMBAT II
|
||||
GAME( 1993, mk2, 0, mk2, mk2, mk2_state, init_mk2, ROT0, "Midway", "Mortal Kombat II (rev L3.1)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, mk2r32e, mk2, mk2, mk2, mk2_state, init_mk2, ROT0, "Midway", "Mortal Kombat II (rev L3.2, European)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, mk2r31e, mk2, mk2, mk2, mk2_state, init_mk2, ROT0, "Midway", "Mortal Kombat II (rev L3.1, European)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, mk2r30, mk2, mk2, mk2, mk2_state, init_mk2, ROT0, "Midway", "Mortal Kombat II (rev L3.0)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, mk2r21, mk2, mk2, mk2, mk2_state, init_mk2, ROT0, "Midway", "Mortal Kombat II (rev L2.1)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, mk2r20, mk2, mk2, mk2, mk2_state, init_mk2, ROT0, "Midway", "Mortal Kombat II (rev L2.0)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, mk2r14, mk2, mk2, mk2, mk2_state, init_mk2, ROT0, "Midway", "Mortal Kombat II (rev L1.4)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, mk2r11, mk2, mk2, mk2, mk2_state, init_mk2, ROT0, "Midway", "Mortal Kombat II (rev L1.1)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, mk2r42, mk2, mk2, mk2, mk2_state, init_mk2, ROT0, "hack", "Mortal Kombat II (rev L4.2, hack)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, mk2r91, mk2, mk2, mk2, mk2_state, init_mk2, ROT0, "hack", "Mortal Kombat II (rev L9.1, hack)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, mk2chal, mk2, mk2, mk2, mk2_state, init_mk2, ROT0, "hack", "Mortal Kombat II Challenger (hack)", MACHINE_SUPPORTS_SAVE ) // program ROMs labeled as IMMORTAL KOMBAT II
|
||||
|
||||
GAME( 1993, jdreddp, 0, tunit_adpcm, jdreddp, midtunit_state, init_jdreddp, ROT0, "Midway", "Judge Dredd (rev TA1 7/12/92, location test)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, jdreddp, 0, tunit_adpcm, jdreddp, midtunit_adpcm_state, init_jdreddp, ROT0, "Midway", "Judge Dredd (rev TA1 7/12/92, location test)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1993, nbajam, 0, tunit_adpcm, nbajam, midtunit_state, init_nbajam, ROT0, "Midway", "NBA Jam (rev 3.01 4/07/93)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, nbajamr2, nbajam, tunit_adpcm, nbajam, midtunit_state, init_nbajam, ROT0, "Midway", "NBA Jam (rev 2.00 2/10/93)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, nbajamr1, nbajam, tunit_adpcm, nbajam, midtunit_state, init_nbajam, ROT0, "Midway", "NBA Jam (rev 1.00 2/1/93)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, nbajamp2, nbajam, tunit_adpcm, nbajam, midtunit_state, init_nbajam, ROT0, "Midway", "NBA Jam (proto v 2.00 1/24/93)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, nbajamp1, nbajam, tunit_adpcm, nbajam, midtunit_state, init_nbajam, ROT0, "Midway", "NBA Jam (proto v 1.01 1/23/93)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, nbajam, 0, tunit_adpcm, nbajam, midtunit_adpcm_state, init_nbajam, ROT0, "Midway", "NBA Jam (rev 3.01 4/07/93)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, nbajamr2, nbajam, tunit_adpcm, nbajam, midtunit_adpcm_state, init_nbajam, ROT0, "Midway", "NBA Jam (rev 2.00 2/10/93)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, nbajamr1, nbajam, tunit_adpcm, nbajam, midtunit_adpcm_state, init_nbajam, ROT0, "Midway", "NBA Jam (rev 1.00 2/1/93)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, nbajamp2, nbajam, tunit_adpcm, nbajam, midtunit_adpcm_state, init_nbajam, ROT0, "Midway", "NBA Jam (proto v 2.00 1/24/93)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, nbajamp1, nbajam, tunit_adpcm, nbajam, midtunit_adpcm_state, init_nbajam, ROT0, "Midway", "NBA Jam (proto v 1.01 1/23/93)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1994, nbajamte, 0, tunit_adpcm, nbajamte, midtunit_state, init_nbajamte, ROT0, "Midway", "NBA Jam Tournament Edition (rev 4.0 3/23/94)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1994, nbajamte4, nbajamte, tunit_adpcm, nbajamte, midtunit_state, init_nbajamte, ROT0, "Midway", "NBA Jam Tournament Edition (rev 4.0 3/03/94)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1994, nbajamte3, nbajamte, tunit_adpcm, nbajamte, midtunit_state, init_nbajamte, ROT0, "Midway", "NBA Jam Tournament Edition (rev 3.0 3/04/94)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1994, nbajamte3a, nbajamte, tunit_adpcm, nbajamte, midtunit_state, init_nbajamte, ROT0, "Midway", "NBA Jam Tournament Edition (rev 3.0 2/26/94)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1994, nbajamte2, nbajamte, tunit_adpcm, nbajamte, midtunit_state, init_nbajamte, ROT0, "Midway", "NBA Jam Tournament Edition (rev 2.1 2/06/94)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1994, nbajamte2a, nbajamte, tunit_adpcm, nbajamte, midtunit_state, init_nbajamte, ROT0, "Midway", "NBA Jam Tournament Edition (rev 2.0 1/28/94)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1994, nbajamte1, nbajamte, tunit_adpcm, nbajamte, midtunit_state, init_nbajamte, ROT0, "Midway", "NBA Jam Tournament Edition (rev 1.00 1/17/94)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, nbajamtep2, nbajamte, tunit_adpcm, nbajamte, midtunit_state, init_nbajamte, ROT0, "Midway", "NBA Jam Tournament Edition (proto 2.00 12/17/93)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1995, nbajamten, nbajamte, tunit_adpcm, nbajamte, midtunit_state, init_nbajamte, ROT0, "Midway", "NBA Jam Tournament Edition (Nani Edition, rev 5.2 8/11/95, prototype)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1994, nbajamte, 0, tunit_adpcm, nbajamte, midtunit_adpcm_state, init_nbajamte, ROT0, "Midway", "NBA Jam Tournament Edition (rev 4.0 3/23/94)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1994, nbajamte4, nbajamte, tunit_adpcm, nbajamte, midtunit_adpcm_state, init_nbajamte, ROT0, "Midway", "NBA Jam Tournament Edition (rev 4.0 3/03/94)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1994, nbajamte3, nbajamte, tunit_adpcm, nbajamte, midtunit_adpcm_state, init_nbajamte, ROT0, "Midway", "NBA Jam Tournament Edition (rev 3.0 3/04/94)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1994, nbajamte3a, nbajamte, tunit_adpcm, nbajamte, midtunit_adpcm_state, init_nbajamte, ROT0, "Midway", "NBA Jam Tournament Edition (rev 3.0 2/26/94)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1994, nbajamte2, nbajamte, tunit_adpcm, nbajamte, midtunit_adpcm_state, init_nbajamte, ROT0, "Midway", "NBA Jam Tournament Edition (rev 2.1 2/06/94)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1994, nbajamte2a, nbajamte, tunit_adpcm, nbajamte, midtunit_adpcm_state, init_nbajamte, ROT0, "Midway", "NBA Jam Tournament Edition (rev 2.0 1/28/94)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1994, nbajamte1, nbajamte, tunit_adpcm, nbajamte, midtunit_adpcm_state, init_nbajamte, ROT0, "Midway", "NBA Jam Tournament Edition (rev 1.00 1/17/94)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, nbajamtep2, nbajamte, tunit_adpcm, nbajamte, midtunit_adpcm_state, init_nbajamte, ROT0, "Midway", "NBA Jam Tournament Edition (proto 2.00 12/17/93)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1995, nbajamten, nbajamte, tunit_adpcm, nbajamte, midtunit_adpcm_state, init_nbajamte, ROT0, "Midway", "NBA Jam Tournament Edition (Nani Edition, rev 5.2 8/11/95, prototype)", MACHINE_SUPPORTS_SAVE )
|
||||
|
@ -21,79 +21,81 @@
|
||||
#include "emupal.h"
|
||||
|
||||
|
||||
class midtunit_state : public driver_device
|
||||
class midtunit_base_state : public driver_device
|
||||
{
|
||||
public:
|
||||
midtunit_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
protected:
|
||||
midtunit_base_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_video(*this, "video"),
|
||||
m_dcs(*this, "dcs"),
|
||||
m_palette(*this, "palette"),
|
||||
m_gfxrom(*this, "gfxrom"),
|
||||
m_cvsd_sound(*this, "cvsd"),
|
||||
m_adpcm_sound(*this, "adpcm"),
|
||||
m_nvram(*this, "nvram")
|
||||
{ }
|
||||
|
||||
void tunit_core(machine_config &config);
|
||||
|
||||
void machine_start() override;
|
||||
|
||||
void cmos_enable_w(uint16_t data);
|
||||
void cmos_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
uint16_t cmos_r(offs_t offset);
|
||||
|
||||
void main_map(address_map &map);
|
||||
|
||||
required_device<tms340x0_device> m_maincpu;
|
||||
required_device<midtunit_video_device> m_video;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
required_shared_ptr<uint16_t> m_nvram;
|
||||
|
||||
// CMOS-related variables
|
||||
uint8_t m_cmos_write_enable = 0;
|
||||
};
|
||||
|
||||
class midtunit_adpcm_state : public midtunit_base_state
|
||||
{
|
||||
public:
|
||||
midtunit_adpcm_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
midtunit_base_state(mconfig, type, tag),
|
||||
m_adpcm_sound(*this, "adpcm")
|
||||
{ }
|
||||
|
||||
void tunit_adpcm(machine_config &config);
|
||||
void tunit_dcs(machine_config &config);
|
||||
|
||||
void init_mktunit();
|
||||
void init_mkturbo();
|
||||
void init_nbajamte();
|
||||
void init_nbajam();
|
||||
void init_jdreddp();
|
||||
void init_mk2();
|
||||
|
||||
protected:
|
||||
void machine_start() override;
|
||||
void machine_reset() override;
|
||||
|
||||
required_device<tms340x0_device> m_maincpu;
|
||||
required_device<midtunit_video_device> m_video;
|
||||
optional_device<dcs_audio_device> m_dcs;
|
||||
required_device<palette_device> m_palette;
|
||||
required_memory_region m_gfxrom;
|
||||
|
||||
private:
|
||||
optional_device<williams_cvsd_sound_device> m_cvsd_sound;
|
||||
optional_device<williams_adpcm_sound_device> m_adpcm_sound;
|
||||
uint16_t sound_state_r();
|
||||
uint16_t sound_r();
|
||||
void sound_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
|
||||
required_shared_ptr<uint16_t> m_nvram;
|
||||
|
||||
void midtunit_cmos_enable_w(uint16_t data);
|
||||
void midtunit_cmos_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
uint16_t midtunit_cmos_r(offs_t offset);
|
||||
uint16_t midtunit_sound_state_r();
|
||||
uint16_t midtunit_sound_r();
|
||||
void midtunit_sound_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
uint16_t mk_prot_r(offs_t offset);
|
||||
void mk_prot_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
uint16_t mkturbo_prot_r();
|
||||
uint16_t mk2_prot_const_r();
|
||||
uint16_t mk2_prot_r();
|
||||
uint16_t mk2_prot_shift_r();
|
||||
void mk2_prot_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
uint16_t nbajam_prot_r();
|
||||
void nbajam_prot_w(offs_t offset, uint16_t data);
|
||||
void jdredd_prot_w(offs_t offset, uint16_t data);
|
||||
uint16_t jdredd_prot_r(offs_t offset);
|
||||
|
||||
void register_state_saving();
|
||||
void init_tunit_generic(int sound);
|
||||
void init_nbajam_common(int te_protection);
|
||||
|
||||
/* CMOS-related variables */
|
||||
uint8_t m_cmos_write_enable = 0;
|
||||
void main_adpcm_map(address_map &map);
|
||||
|
||||
/* sound-related variables */
|
||||
uint8_t m_chip_type = 0;
|
||||
required_device<williams_adpcm_sound_device> m_adpcm_sound;
|
||||
|
||||
// sound-related variables
|
||||
uint8_t m_fake_sound_state = 0;
|
||||
|
||||
/* protection */
|
||||
// protection
|
||||
uint8_t m_mk_prot_index = 0;
|
||||
uint16_t m_mk2_prot_data = 0;
|
||||
std::unique_ptr<uint8_t[]> m_hidden_ram;
|
||||
|
||||
const uint32_t *m_nbajam_prot_table = nullptr;
|
||||
@ -103,8 +105,40 @@ private:
|
||||
const uint8_t *m_jdredd_prot_table = nullptr;
|
||||
uint8_t m_jdredd_prot_index = 0;
|
||||
uint8_t m_jdredd_prot_max = 0;
|
||||
};
|
||||
|
||||
void main_map(address_map &map);
|
||||
class mk2_state : public midtunit_base_state
|
||||
{
|
||||
public:
|
||||
mk2_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
midtunit_base_state(mconfig, type, tag),
|
||||
m_dcs(*this, "dcs")
|
||||
{ }
|
||||
|
||||
void mk2(machine_config &config);
|
||||
|
||||
void init_mk2();
|
||||
|
||||
protected:
|
||||
void machine_start() override;
|
||||
void machine_reset() override;
|
||||
|
||||
private:
|
||||
uint16_t dcs_state_r();
|
||||
uint16_t dcs_r();
|
||||
void dcs_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
|
||||
uint16_t mk2_prot_const_r();
|
||||
uint16_t mk2_prot_r();
|
||||
uint16_t mk2_prot_shift_r();
|
||||
void mk2_prot_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
|
||||
void mk2_map(address_map &map);
|
||||
|
||||
required_device<dcs_audio_device> m_dcs;
|
||||
|
||||
// protection
|
||||
uint16_t m_mk2_prot_data = 0;
|
||||
};
|
||||
|
||||
#endif // MAME_MIDWAY_MIDTUNIT_H
|
||||
|
@ -8,15 +8,24 @@
|
||||
**************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/tms34010/tms34010.h"
|
||||
#include "cpu/m6809/m6809.h"
|
||||
#include "midtunit.h"
|
||||
|
||||
#include "cpu/m6809/m6809.h"
|
||||
#include "cpu/tms34010/tms34010.h"
|
||||
|
||||
/* constant definitions */
|
||||
#define SOUND_ADPCM 1
|
||||
#define SOUND_ADPCM_LARGE 2
|
||||
#define SOUND_DCS 3
|
||||
|
||||
#define LOG_PROT (1U << 1)
|
||||
#define LOG_CMOS (1U << 2)
|
||||
#define LOG_SOUND (1U << 3)
|
||||
|
||||
#define LOG_ALL (LOG_PROT | LOG_CMOS | LOG_SOUND)
|
||||
|
||||
#define VERBOSE (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
#define LOGPROT(...) LOGMASKED(LOG_PROT, __VA_ARGS__)
|
||||
#define LOGCMOS(...) LOGMASKED(LOG_CMOS, __VA_ARGS__)
|
||||
#define LOGSOUND(...) LOGMASKED(LOG_SOUND, __VA_ARGS__)
|
||||
|
||||
|
||||
/*************************************
|
||||
@ -25,18 +34,33 @@
|
||||
*
|
||||
*************************************/
|
||||
|
||||
void midtunit_state::register_state_saving()
|
||||
void midtunit_base_state::machine_start()
|
||||
{
|
||||
// register for state saving
|
||||
save_item(NAME(m_cmos_write_enable));
|
||||
}
|
||||
|
||||
void midtunit_adpcm_state::machine_start()
|
||||
{
|
||||
midtunit_base_state::machine_start();
|
||||
|
||||
// register for state saving
|
||||
save_item(NAME(m_fake_sound_state));
|
||||
save_item(NAME(m_mk_prot_index));
|
||||
save_item(NAME(m_mk2_prot_data));
|
||||
save_item(NAME(m_nbajam_prot_queue));
|
||||
save_item(NAME(m_nbajam_prot_index));
|
||||
save_item(NAME(m_jdredd_prot_index));
|
||||
save_item(NAME(m_jdredd_prot_max));
|
||||
}
|
||||
|
||||
void mk2_state::machine_start()
|
||||
{
|
||||
midtunit_base_state::machine_start();
|
||||
|
||||
// register for state saving
|
||||
save_item(NAME(m_mk2_prot_data));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
@ -45,28 +69,28 @@ void midtunit_state::register_state_saving()
|
||||
*
|
||||
*************************************/
|
||||
|
||||
void midtunit_state::midtunit_cmos_enable_w(uint16_t data)
|
||||
void midtunit_base_state::cmos_enable_w(uint16_t data)
|
||||
{
|
||||
m_cmos_write_enable = 1;
|
||||
}
|
||||
|
||||
|
||||
void midtunit_state::midtunit_cmos_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
void midtunit_base_state::cmos_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
{
|
||||
if (1)/*m_cmos_write_enable*/
|
||||
if (1)// m_cmos_write_enable
|
||||
{
|
||||
COMBINE_DATA(m_nvram+offset);
|
||||
m_cmos_write_enable = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
logerror("%08X:Unexpected CMOS W @ %05X\n", m_maincpu->pc(), offset);
|
||||
LOGCMOS("%08X:Unexpected CMOS W @ %05X\n", m_maincpu->pc(), offset);
|
||||
popmessage("Bad CMOS write");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
uint16_t midtunit_state::midtunit_cmos_r(offs_t offset)
|
||||
uint16_t midtunit_base_state::cmos_r(offs_t offset)
|
||||
{
|
||||
return m_nvram[offset];
|
||||
}
|
||||
@ -90,28 +114,34 @@ static const uint8_t mk_prot_values[] =
|
||||
0xff
|
||||
};
|
||||
|
||||
uint16_t midtunit_state::mk_prot_r(offs_t offset)
|
||||
uint16_t midtunit_adpcm_state::mk_prot_r(offs_t offset)
|
||||
{
|
||||
logerror("%s:Protection R @ %05X = %04X\n", machine().describe_context(), offset, mk_prot_values[m_mk_prot_index] << 9);
|
||||
if (!machine().side_effects_disabled())
|
||||
LOGPROT("%s:Protection R @ %05X = %04X\n", machine().describe_context(), offset, mk_prot_values[m_mk_prot_index] << 9);
|
||||
|
||||
/* just in case */
|
||||
// just in case
|
||||
if (m_mk_prot_index >= sizeof(mk_prot_values))
|
||||
{
|
||||
logerror("%s:Unexpected protection R @ %05X\n", machine().describe_context(), offset);
|
||||
if (!machine().side_effects_disabled())
|
||||
LOGPROT("%s:Unexpected protection R @ %05X\n", machine().describe_context(), offset);
|
||||
m_mk_prot_index = 0;
|
||||
}
|
||||
|
||||
return mk_prot_values[m_mk_prot_index++] << 9;
|
||||
uint16_t const result = mk_prot_values[m_mk_prot_index] << 9;
|
||||
if (!machine().side_effects_disabled())
|
||||
m_mk_prot_index++;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
void midtunit_state::mk_prot_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
void midtunit_adpcm_state::mk_prot_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
{
|
||||
if (ACCESSING_BITS_8_15)
|
||||
{
|
||||
int first_val = (data >> 9) & 0x3f;
|
||||
int const first_val = (data >> 9) & 0x3f;
|
||||
int i;
|
||||
|
||||
/* find the desired first value and stop then */
|
||||
// find the desired first value and stop then
|
||||
for (i = 0; i < sizeof(mk_prot_values); i++)
|
||||
if (mk_prot_values[i] == first_val)
|
||||
{
|
||||
@ -119,14 +149,14 @@ void midtunit_state::mk_prot_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
break;
|
||||
}
|
||||
|
||||
/* just in case */
|
||||
// just in case
|
||||
if (i == sizeof(mk_prot_values))
|
||||
{
|
||||
logerror("%s:Unhandled protection W @ %05X = %04X\n", machine().describe_context(), offset, data);
|
||||
LOGPROT("%s:Unhandled protection W @ %05X = %04X\n", machine().describe_context(), offset, data);
|
||||
m_mk_prot_index = 0;
|
||||
}
|
||||
|
||||
logerror("%s:Protection W @ %05X = %04X\n", machine().describe_context(), offset, data);
|
||||
LOGPROT("%s:Protection W @ %05X = %04X\n", machine().describe_context(), offset, data);
|
||||
}
|
||||
}
|
||||
|
||||
@ -138,10 +168,10 @@ void midtunit_state::mk_prot_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
uint16_t midtunit_state::mkturbo_prot_r()
|
||||
uint16_t midtunit_adpcm_state::mkturbo_prot_r()
|
||||
{
|
||||
/* the security GAL overlays a counter of some sort at 0xfffff400 in ROM &space.
|
||||
* A startup protection check expects to read back two different values in succession */
|
||||
// the security GAL overlays a counter of some sort at 0xfffff400 in ROM &space.
|
||||
// A startup protection check expects to read back two different values in succession
|
||||
return machine().rand();
|
||||
}
|
||||
|
||||
@ -153,22 +183,22 @@ uint16_t midtunit_state::mkturbo_prot_r()
|
||||
*
|
||||
*************************************/
|
||||
|
||||
uint16_t midtunit_state::mk2_prot_const_r()
|
||||
uint16_t mk2_state::mk2_prot_const_r()
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
|
||||
uint16_t midtunit_state::mk2_prot_r()
|
||||
uint16_t mk2_state::mk2_prot_r()
|
||||
{
|
||||
return m_mk2_prot_data;
|
||||
}
|
||||
|
||||
uint16_t midtunit_state::mk2_prot_shift_r()
|
||||
uint16_t mk2_state::mk2_prot_shift_r()
|
||||
{
|
||||
return m_mk2_prot_data >> 1;
|
||||
}
|
||||
|
||||
void midtunit_state::mk2_prot_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
void mk2_state::mk2_prot_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
{
|
||||
COMBINE_DATA(&m_mk2_prot_data);
|
||||
}
|
||||
@ -221,18 +251,21 @@ static const uint32_t nbajamte_prot_values[128] =
|
||||
0x381c2e17, 0x393c3e3f, 0x3a3d1e0f, 0x3b1d0e27, 0x3c3e1f2f, 0x3d1e0f07, 0x3e1f2f37, 0x3f3f3f1f
|
||||
};
|
||||
|
||||
uint16_t midtunit_state::nbajam_prot_r()
|
||||
uint16_t midtunit_adpcm_state::nbajam_prot_r()
|
||||
{
|
||||
int result = m_nbajam_prot_queue[m_nbajam_prot_index];
|
||||
if (m_nbajam_prot_index < 4)
|
||||
m_nbajam_prot_index++;
|
||||
uint16_t const result = m_nbajam_prot_queue[m_nbajam_prot_index];
|
||||
if (!machine().side_effects_disabled())
|
||||
{
|
||||
if (m_nbajam_prot_index < 4)
|
||||
m_nbajam_prot_index++;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
void midtunit_state::nbajam_prot_w(offs_t offset, uint16_t data)
|
||||
void midtunit_adpcm_state::nbajam_prot_w(offs_t offset, uint16_t data)
|
||||
{
|
||||
int table_index = (offset >> 6) & 0x7f;
|
||||
uint32_t protval = m_nbajam_prot_table[table_index];
|
||||
int const table_index = (offset >> 6) & 0x7f;
|
||||
uint32_t const protval = m_nbajam_prot_table[table_index];
|
||||
|
||||
m_nbajam_prot_queue[0] = data;
|
||||
m_nbajam_prot_queue[1] = ((protval >> 24) & 0xff) << 9;
|
||||
@ -292,9 +325,9 @@ static const uint8_t jdredd_prot_values_80020[] =
|
||||
0x39,0x33,0x00,0x00,0x00,0x00,0x00,0x00
|
||||
};
|
||||
|
||||
void midtunit_state::jdredd_prot_w(offs_t offset, uint16_t data)
|
||||
void midtunit_adpcm_state::jdredd_prot_w(offs_t offset, uint16_t data)
|
||||
{
|
||||
logerror("%s:jdredd_prot_w(%04X,%04X)\n", machine().describe_context(), offset*16, data);
|
||||
LOGPROT("%s:jdredd_prot_w(%04X,%04X)\n", machine().describe_context(), offset*16, data);
|
||||
|
||||
switch (offset)
|
||||
{
|
||||
@ -302,69 +335,56 @@ void midtunit_state::jdredd_prot_w(offs_t offset, uint16_t data)
|
||||
m_jdredd_prot_index = 0;
|
||||
m_jdredd_prot_table = jdredd_prot_values_10740;
|
||||
m_jdredd_prot_max = sizeof(jdredd_prot_values_10740);
|
||||
logerror("-- reset prot table 10740\n");
|
||||
LOGPROT("-- reset prot table 10740\n");
|
||||
break;
|
||||
|
||||
case 0x1324:
|
||||
m_jdredd_prot_index = 0;
|
||||
m_jdredd_prot_table = jdredd_prot_values_13240;
|
||||
m_jdredd_prot_max = sizeof(jdredd_prot_values_13240);
|
||||
logerror("-- reset prot table 13240\n");
|
||||
LOGPROT("-- reset prot table 13240\n");
|
||||
break;
|
||||
|
||||
case 0x7654:
|
||||
m_jdredd_prot_index = 0;
|
||||
m_jdredd_prot_table = jdredd_prot_values_76540;
|
||||
m_jdredd_prot_max = sizeof(jdredd_prot_values_76540);
|
||||
logerror("-- reset prot table 76540\n");
|
||||
LOGPROT("-- reset prot table 76540\n");
|
||||
break;
|
||||
|
||||
case 0x7776:
|
||||
m_jdredd_prot_index = 0;
|
||||
m_jdredd_prot_table = jdredd_prot_values_77760;
|
||||
m_jdredd_prot_max = sizeof(jdredd_prot_values_77760);
|
||||
logerror("-- reset prot table 77760\n");
|
||||
LOGPROT("-- reset prot table 77760\n");
|
||||
break;
|
||||
|
||||
case 0x8002:
|
||||
m_jdredd_prot_index = 0;
|
||||
m_jdredd_prot_table = jdredd_prot_values_80020;
|
||||
m_jdredd_prot_max = sizeof(jdredd_prot_values_80020);
|
||||
logerror("-- reset prot table 80020\n");
|
||||
LOGPROT("-- reset prot table 80020\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
uint16_t midtunit_state::jdredd_prot_r(offs_t offset)
|
||||
uint16_t midtunit_adpcm_state::jdredd_prot_r(offs_t offset)
|
||||
{
|
||||
uint16_t result = 0xffff;
|
||||
|
||||
if (m_jdredd_prot_table && m_jdredd_prot_index < m_jdredd_prot_max)
|
||||
result = m_jdredd_prot_table[m_jdredd_prot_index++] << 9;
|
||||
{
|
||||
result = m_jdredd_prot_table[m_jdredd_prot_index] << 9;
|
||||
if (!machine().side_effects_disabled())
|
||||
m_jdredd_prot_index++;
|
||||
}
|
||||
|
||||
logerror("%s:jdredd_prot_r(%04X) = %04X\n", machine().describe_context(), offset*16, result);
|
||||
if (!machine().side_effects_disabled())
|
||||
LOGPROT("%s:jdredd_prot_r(%04X) = %04X\n", machine().describe_context(), offset*16, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Generic driver init
|
||||
*
|
||||
*************************************/
|
||||
|
||||
void midtunit_state::init_tunit_generic(int sound)
|
||||
{
|
||||
/* register for state saving */
|
||||
register_state_saving();
|
||||
|
||||
/* load sound ROMs and set up sound handlers */
|
||||
m_chip_type = sound;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* T-unit init (ADPCM)
|
||||
@ -373,86 +393,78 @@ void midtunit_state::init_tunit_generic(int sound)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
void midtunit_state::init_mktunit()
|
||||
void midtunit_adpcm_state::init_mktunit()
|
||||
{
|
||||
/* common init */
|
||||
init_tunit_generic(SOUND_ADPCM);
|
||||
|
||||
/* protection */
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0x1b00000, 0x1b6ffff, read16sm_delegate(*this, FUNC(midtunit_state::mk_prot_r)));
|
||||
m_maincpu->space(AS_PROGRAM).install_write_handler(0x1b00000, 0x1b6ffff, write16s_delegate(*this, FUNC(midtunit_state::mk_prot_w)));
|
||||
// protection
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0x1b00000, 0x1b6ffff, read16sm_delegate(*this, FUNC(midtunit_adpcm_state::mk_prot_r)));
|
||||
m_maincpu->space(AS_PROGRAM).install_write_handler(0x1b00000, 0x1b6ffff, write16s_delegate(*this, FUNC(midtunit_adpcm_state::mk_prot_w)));
|
||||
|
||||
m_hidden_ram = std::make_unique<uint8_t[]>(43);
|
||||
save_pointer(NAME(m_hidden_ram), 43);
|
||||
|
||||
/* sound chip protection (hidden RAM) */
|
||||
// sound chip protection (hidden RAM)
|
||||
m_adpcm_sound->get_cpu()->space(AS_PROGRAM).install_ram(0xfb9c, 0xfbc6, m_hidden_ram.get());
|
||||
}
|
||||
|
||||
void midtunit_state::init_mkturbo()
|
||||
void midtunit_adpcm_state::init_mkturbo()
|
||||
{
|
||||
/* protection */
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0xfffff400, 0xfffff40f, read16smo_delegate(*this, FUNC(midtunit_state::mkturbo_prot_r)));
|
||||
// protection
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0xfffff400, 0xfffff40f, read16smo_delegate(*this, FUNC(midtunit_adpcm_state::mkturbo_prot_r)));
|
||||
|
||||
init_mktunit();
|
||||
}
|
||||
|
||||
|
||||
void midtunit_state::init_nbajam_common(int te_protection)
|
||||
void midtunit_adpcm_state::init_nbajam_common(int te_protection)
|
||||
{
|
||||
/* common init */
|
||||
init_tunit_generic(SOUND_ADPCM_LARGE);
|
||||
/* protection */
|
||||
// protection
|
||||
if (!te_protection)
|
||||
{
|
||||
m_nbajam_prot_table = nbajam_prot_values;
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0x1b14020, 0x1b2503f, read16smo_delegate(*this, FUNC(midtunit_state::nbajam_prot_r)));
|
||||
m_maincpu->space(AS_PROGRAM).install_write_handler(0x1b14020, 0x1b2503f, write16sm_delegate(*this, FUNC(midtunit_state::nbajam_prot_w)));
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0x1b14020, 0x1b2503f, read16smo_delegate(*this, FUNC(midtunit_adpcm_state::nbajam_prot_r)));
|
||||
m_maincpu->space(AS_PROGRAM).install_write_handler(0x1b14020, 0x1b2503f, write16sm_delegate(*this, FUNC(midtunit_adpcm_state::nbajam_prot_w)));
|
||||
}
|
||||
else
|
||||
{
|
||||
m_nbajam_prot_table = nbajamte_prot_values;
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0x1b15f40, 0x1b37f5f, read16smo_delegate(*this, FUNC(midtunit_state::nbajam_prot_r)));
|
||||
m_maincpu->space(AS_PROGRAM).install_write_handler(0x1b15f40, 0x1b37f5f, write16sm_delegate(*this, FUNC(midtunit_state::nbajam_prot_w)));
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0x1b95f40, 0x1bb7f5f, read16smo_delegate(*this, FUNC(midtunit_state::nbajam_prot_r)));
|
||||
m_maincpu->space(AS_PROGRAM).install_write_handler(0x1b95f40, 0x1bb7f5f, write16sm_delegate(*this, FUNC(midtunit_state::nbajam_prot_w)));
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0x1b15f40, 0x1b37f5f, read16smo_delegate(*this, FUNC(midtunit_adpcm_state::nbajam_prot_r)));
|
||||
m_maincpu->space(AS_PROGRAM).install_write_handler(0x1b15f40, 0x1b37f5f, write16sm_delegate(*this, FUNC(midtunit_adpcm_state::nbajam_prot_w)));
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0x1b95f40, 0x1bb7f5f, read16smo_delegate(*this, FUNC(midtunit_adpcm_state::nbajam_prot_r)));
|
||||
m_maincpu->space(AS_PROGRAM).install_write_handler(0x1b95f40, 0x1bb7f5f, write16sm_delegate(*this, FUNC(midtunit_adpcm_state::nbajam_prot_w)));
|
||||
}
|
||||
|
||||
m_hidden_ram = std::make_unique<uint8_t[]>(43);
|
||||
save_pointer(NAME(m_hidden_ram), 43);
|
||||
|
||||
/* sound chip protection (hidden RAM) */
|
||||
// sound chip protection (hidden RAM)
|
||||
if (!te_protection)
|
||||
m_adpcm_sound->get_cpu()->space(AS_PROGRAM).install_ram(0xfbaa, 0xfbd4, m_hidden_ram.get());
|
||||
else
|
||||
m_adpcm_sound->get_cpu()->space(AS_PROGRAM).install_ram(0xfbec, 0xfc16, m_hidden_ram.get());
|
||||
}
|
||||
|
||||
void midtunit_state::init_nbajam()
|
||||
void midtunit_adpcm_state::init_nbajam()
|
||||
{
|
||||
init_nbajam_common(0);
|
||||
}
|
||||
|
||||
void midtunit_state::init_nbajamte()
|
||||
void midtunit_adpcm_state::init_nbajamte()
|
||||
{
|
||||
init_nbajam_common(1);
|
||||
}
|
||||
|
||||
void midtunit_state::init_jdreddp()
|
||||
void midtunit_adpcm_state::init_jdreddp()
|
||||
{
|
||||
/* common init */
|
||||
init_tunit_generic(SOUND_ADPCM_LARGE);
|
||||
|
||||
/* looks like the watchdog needs to be disabled */
|
||||
// looks like the watchdog needs to be disabled
|
||||
m_maincpu->space(AS_PROGRAM).nop_write(0x01d81060, 0x01d8107f);
|
||||
|
||||
/* protection */
|
||||
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1b00000, 0x1bfffff, read16sm_delegate(*this, FUNC(midtunit_state::jdredd_prot_r)), write16sm_delegate(*this, FUNC(midtunit_state::jdredd_prot_w)));
|
||||
// protection
|
||||
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1b00000, 0x1bfffff, read16sm_delegate(*this, FUNC(midtunit_adpcm_state::jdredd_prot_r)), write16sm_delegate(*this, FUNC(midtunit_adpcm_state::jdredd_prot_w)));
|
||||
|
||||
m_hidden_ram = std::make_unique<uint8_t[]>(43);
|
||||
save_pointer(NAME(m_hidden_ram), 43);
|
||||
|
||||
/* sound chip protection (hidden RAM) */
|
||||
// sound chip protection (hidden RAM)
|
||||
m_adpcm_sound->get_cpu()->space(AS_PROGRAM).install_ram(0xfbcf, 0xfbf9, m_hidden_ram.get());
|
||||
}
|
||||
|
||||
@ -466,20 +478,16 @@ void midtunit_state::init_jdreddp()
|
||||
*
|
||||
*************************************/
|
||||
|
||||
void midtunit_state::init_mk2()
|
||||
void mk2_state::init_mk2()
|
||||
{
|
||||
/* common init */
|
||||
init_tunit_generic(SOUND_DCS);
|
||||
m_video->set_gfx_rom_large(true);
|
||||
|
||||
/* protection */
|
||||
m_maincpu->space(AS_PROGRAM).install_write_handler(0x00f20c60, 0x00f20c7f, write16s_delegate(*this, FUNC(midtunit_state::mk2_prot_w)));
|
||||
m_maincpu->space(AS_PROGRAM).install_write_handler(0x00f42820, 0x00f4283f, write16s_delegate(*this, FUNC(midtunit_state::mk2_prot_w)));
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0x01a190e0, 0x01a190ff, read16smo_delegate(*this, FUNC(midtunit_state::mk2_prot_r)));
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0x01a191c0, 0x01a191df, read16smo_delegate(*this, FUNC(midtunit_state::mk2_prot_shift_r)));
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0x01a3d0c0, 0x01a3d0ff, read16smo_delegate(*this, FUNC(midtunit_state::mk2_prot_r)));
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0x01d9d1e0, 0x01d9d1ff, read16smo_delegate(*this, FUNC(midtunit_state::mk2_prot_const_r)));
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0x01def920, 0x01def93f, read16smo_delegate(*this, FUNC(midtunit_state::mk2_prot_const_r)));
|
||||
// protection
|
||||
m_maincpu->space(AS_PROGRAM).install_write_handler(0x00f20c60, 0x00f20c7f, write16s_delegate(*this, FUNC(mk2_state::mk2_prot_w)));
|
||||
m_maincpu->space(AS_PROGRAM).install_write_handler(0x00f42820, 0x00f4283f, write16s_delegate(*this, FUNC(mk2_state::mk2_prot_w)));
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0x01a190e0, 0x01a190ff, read16smo_delegate(*this, FUNC(mk2_state::mk2_prot_r)));
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0x01a191c0, 0x01a191df, read16smo_delegate(*this, FUNC(mk2_state::mk2_prot_shift_r)));
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0x01a3d0c0, 0x01a3d0ff, read16smo_delegate(*this, FUNC(mk2_state::mk2_prot_r)));
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0x01d9d1e0, 0x01d9d1ff, read16smo_delegate(*this, FUNC(mk2_state::mk2_prot_const_r)));
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0x01def920, 0x01def93f, read16smo_delegate(*this, FUNC(mk2_state::mk2_prot_const_r)));
|
||||
}
|
||||
|
||||
|
||||
@ -490,22 +498,22 @@ void midtunit_state::init_mk2()
|
||||
*
|
||||
*************************************/
|
||||
|
||||
void midtunit_state::machine_reset()
|
||||
void midtunit_adpcm_state::machine_reset()
|
||||
{
|
||||
/* reset sound */
|
||||
switch (m_chip_type)
|
||||
{
|
||||
case SOUND_ADPCM:
|
||||
case SOUND_ADPCM_LARGE:
|
||||
m_adpcm_sound->reset_write(1);
|
||||
m_adpcm_sound->reset_write(0);
|
||||
break;
|
||||
midtunit_base_state::machine_reset();
|
||||
|
||||
case SOUND_DCS:
|
||||
m_dcs->reset_w(0);
|
||||
m_dcs->reset_w(1);
|
||||
break;
|
||||
}
|
||||
// reset sound
|
||||
m_adpcm_sound->reset_write(1);
|
||||
m_adpcm_sound->reset_write(0);
|
||||
}
|
||||
|
||||
void mk2_state::machine_reset()
|
||||
{
|
||||
midtunit_base_state::machine_reset();
|
||||
|
||||
// reset sound
|
||||
m_dcs->reset_w(0);
|
||||
m_dcs->reset_w(1);
|
||||
}
|
||||
|
||||
|
||||
@ -516,59 +524,76 @@ void midtunit_state::machine_reset()
|
||||
*
|
||||
*************************************/
|
||||
|
||||
uint16_t midtunit_state::midtunit_sound_state_r()
|
||||
uint16_t midtunit_adpcm_state::sound_state_r()
|
||||
{
|
||||
/* logerror("%s:Sound status read\n", machine().describe_context());*/
|
||||
|
||||
if (m_chip_type == SOUND_DCS)
|
||||
return m_dcs->control_r() >> 4;
|
||||
// LOGSOUND("%s:Sound status read\n", machine().describe_context());
|
||||
|
||||
if (m_fake_sound_state)
|
||||
{
|
||||
m_fake_sound_state--;
|
||||
if (!machine().side_effects_disabled())
|
||||
m_fake_sound_state--;
|
||||
return 0;
|
||||
}
|
||||
return ~0;
|
||||
}
|
||||
|
||||
uint16_t midtunit_state::midtunit_sound_r()
|
||||
uint16_t midtunit_adpcm_state::sound_r()
|
||||
{
|
||||
logerror("%08X:Sound data read\n", m_maincpu->pc());
|
||||
|
||||
if (m_chip_type == SOUND_DCS)
|
||||
return m_dcs->data_r() & 0xff;
|
||||
if (!machine().side_effects_disabled())
|
||||
LOGSOUND("%08X:Sound data read\n", m_maincpu->pc());
|
||||
|
||||
return ~0;
|
||||
}
|
||||
|
||||
void midtunit_state::midtunit_sound_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
void midtunit_adpcm_state::sound_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
{
|
||||
/* check for out-of-bounds accesses */
|
||||
// check for out-of-bounds accesses
|
||||
if (!offset)
|
||||
{
|
||||
logerror("%08X:Unexpected write to sound (lo) = %04X\n", m_maincpu->pc(), data);
|
||||
LOGSOUND("%08X:Unexpected write to sound (lo) = %04X\n", m_maincpu->pc(), data);
|
||||
return;
|
||||
}
|
||||
|
||||
/* call through based on the sound type */
|
||||
// call through based on the sound type
|
||||
if (ACCESSING_BITS_0_7 && ACCESSING_BITS_8_15)
|
||||
switch (m_chip_type)
|
||||
{
|
||||
case SOUND_ADPCM:
|
||||
case SOUND_ADPCM_LARGE:
|
||||
m_adpcm_sound->reset_write(~data & 0x100);
|
||||
m_adpcm_sound->write(data & 0xff);
|
||||
{
|
||||
m_adpcm_sound->reset_write(~data & 0x100);
|
||||
m_adpcm_sound->write(data & 0xff);
|
||||
|
||||
/* the games seem to check for $82 loops, so this should be just barely enough */
|
||||
m_fake_sound_state = 128;
|
||||
break;
|
||||
|
||||
case SOUND_DCS:
|
||||
logerror("%08X:Sound write = %04X\n", m_maincpu->pc(), data);
|
||||
m_dcs->reset_w(data & 0x100);
|
||||
m_dcs->data_w(data & 0xff);
|
||||
/* the games seem to check for $82 loops, so this should be just barely enough */
|
||||
m_fake_sound_state = 128;
|
||||
break;
|
||||
}
|
||||
// the games seem to check for $82 loops, so this should be just barely enough
|
||||
m_fake_sound_state = 128;
|
||||
}
|
||||
}
|
||||
|
||||
uint16_t mk2_state::dcs_state_r()
|
||||
{
|
||||
// LOGSOUND("%s:Sound status read\n", machine().describe_context());
|
||||
|
||||
return m_dcs->control_r() >> 4;
|
||||
}
|
||||
|
||||
uint16_t mk2_state::dcs_r()
|
||||
{
|
||||
if (!machine().side_effects_disabled())
|
||||
LOGSOUND("%08X:Sound data read\n", m_maincpu->pc());
|
||||
|
||||
return m_dcs->data_r() & 0xff;
|
||||
}
|
||||
|
||||
void mk2_state::dcs_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
{
|
||||
// check for out-of-bounds accesses
|
||||
if (!offset)
|
||||
{
|
||||
LOGSOUND("%08X:Unexpected write to sound (lo) = %04X\n", m_maincpu->pc(), data);
|
||||
return;
|
||||
}
|
||||
|
||||
// call through based on the sound type
|
||||
if (ACCESSING_BITS_0_7 && ACCESSING_BITS_8_15)
|
||||
{
|
||||
LOGSOUND("%08X:Sound write = %04X\n", m_maincpu->pc(), data);
|
||||
m_dcs->reset_w(data & 0x100);
|
||||
m_dcs->data_w(data & 0xff);
|
||||
}
|
||||
}
|
||||
|
@ -23,22 +23,40 @@
|
||||
#include <rapidjson/prettywriter.h> // Used by JSON logging
|
||||
#include <rapidjson/stringbuffer.h> // Used by JSON logging
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
DEFINE_DEVICE_TYPE(MIDTUNIT_VIDEO, midtunit_video_device, "tunitvid", "Midway T-Unit Video")
|
||||
DEFINE_DEVICE_TYPE(MIDWUNIT_VIDEO, midwunit_video_device, "wunitvid", "Midway W-Unit Video")
|
||||
DEFINE_DEVICE_TYPE(MIDXUNIT_VIDEO, midxunit_video_device, "xunitvid", "Midway X-Unit Video")
|
||||
|
||||
/* compile-time options */
|
||||
#define LOG_DMA 0 /* DMAs are logged if the 'L' key is pressed */
|
||||
// compile-time options
|
||||
#define LOG_DMA 0 // DMAs are logged if the 'L' key is pressed
|
||||
|
||||
#define LOG_CTRL (1U << 1)
|
||||
#define LOG_DMACTRL (1U << 2)
|
||||
|
||||
#define LOG_ALL (LOG_CTRL | LOG_DMACTRL)
|
||||
|
||||
#define VERBOSE (0)
|
||||
#include "logmacro.h"
|
||||
|
||||
#define LOGCTRL(...) LOGMASKED(LOG_CTRL, __VA_ARGS__)
|
||||
#define LOGDMACTRL(...) LOGMASKED(LOG_DMACTRL, __VA_ARGS__)
|
||||
|
||||
midtunit_video_device::midtunit_video_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, type, tag, owner, clock)
|
||||
, m_maincpu(*this, finder_base::DUMMY_TAG)
|
||||
, m_palette(*this, finder_base::DUMMY_TAG)
|
||||
, m_gfxrom(*this, finder_base::DUMMY_TAG)
|
||||
, m_gfxrom(*this, DEVICE_SELF)
|
||||
, m_midtunit_control(0)
|
||||
, m_gfx_rom_large(false)
|
||||
, m_gfxbank_offset{0x000000, 0x400000}
|
||||
, m_videobank_select(0)
|
||||
#if DEBUG_MIDTUNIT_BLITTER
|
||||
, m_debug_palette(*this, "debugpalette")
|
||||
#endif
|
||||
, m_dma_irq_cb(*this)
|
||||
{
|
||||
std::fill(std::begin(m_dma_register), std::end(m_dma_register), 0);
|
||||
}
|
||||
|
||||
midtunit_video_device::midtunit_video_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
@ -49,10 +67,11 @@ midtunit_video_device::midtunit_video_device(const machine_config &mconfig, cons
|
||||
midwunit_video_device::midwunit_video_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
|
||||
: midtunit_video_device(mconfig, type, tag, owner, clock)
|
||||
{
|
||||
m_gfx_rom_large = true;
|
||||
}
|
||||
|
||||
midwunit_video_device::midwunit_video_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: midtunit_video_device(mconfig, MIDWUNIT_VIDEO, tag, owner, clock)
|
||||
: midwunit_video_device(mconfig, MIDWUNIT_VIDEO, tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
@ -171,7 +190,7 @@ void midtunit_video_device::device_start()
|
||||
{
|
||||
debug_init();
|
||||
|
||||
/* allocate memory */
|
||||
// allocate memory
|
||||
m_local_videoram = std::make_unique<uint16_t[]>(0x100000/2);
|
||||
|
||||
#if DEBUG_MIDTUNIT_BLITTER
|
||||
@ -183,15 +202,11 @@ void midtunit_video_device::device_start()
|
||||
|
||||
m_dma_timer = timer_alloc(FUNC(midtunit_video_device::dma_done), this);
|
||||
|
||||
/* reset all the globals */
|
||||
m_gfxbank_offset[0] = 0x000000;
|
||||
m_gfxbank_offset[1] = 0x400000;
|
||||
|
||||
memset(m_dma_register, 0, sizeof(m_dma_register));
|
||||
// reset all the globals
|
||||
memset(&m_dma_state, 0, sizeof(dma_state));
|
||||
m_dma_state.gfxrom = m_gfxrom->base();
|
||||
m_dma_state.gfxrom = &m_gfxrom[0];
|
||||
|
||||
/* register for state saving */
|
||||
// register for state saving
|
||||
save_item(NAME(m_midtunit_control));
|
||||
save_item(NAME(m_gfxbank_offset));
|
||||
save_pointer(NAME(m_local_videoram), 0x100000/sizeof(m_local_videoram[0]));
|
||||
@ -202,20 +217,11 @@ void midtunit_video_device::device_start()
|
||||
INIT_TEMPLATED_DMA_DRAW_GROUP(m_dma_draw_noskip_scale, false, true);
|
||||
INIT_TEMPLATED_DMA_DRAW_GROUP(m_dma_draw_skip_noscale, true, false);
|
||||
INIT_TEMPLATED_DMA_DRAW_GROUP(m_dma_draw_noskip_noscale, false, false);
|
||||
|
||||
m_gfx_rom_large = false;
|
||||
}
|
||||
|
||||
void midwunit_video_device::device_start()
|
||||
{
|
||||
midtunit_video_device::device_start();
|
||||
m_gfx_rom_large = true;
|
||||
}
|
||||
|
||||
void midxunit_video_device::device_start()
|
||||
{
|
||||
midtunit_video_device::device_start();
|
||||
m_gfx_rom_large = true;
|
||||
midwunit_video_device::device_start();
|
||||
m_videobank_select = 1;
|
||||
}
|
||||
|
||||
@ -229,7 +235,7 @@ void midxunit_video_device::device_start()
|
||||
|
||||
uint16_t midtunit_video_device::midtunit_gfxrom_r(offs_t offset)
|
||||
{
|
||||
uint8_t *base = m_gfxrom->base() + m_gfxbank_offset[(offset >> 21) & 1];
|
||||
uint8_t const *const base = &m_gfxrom[m_gfxbank_offset[(offset >> 21) & 1]];
|
||||
offset = (offset & 0x01fffff) * 2;
|
||||
return base[offset] | (base[offset + 1] << 8);
|
||||
}
|
||||
@ -237,7 +243,7 @@ uint16_t midtunit_video_device::midtunit_gfxrom_r(offs_t offset)
|
||||
|
||||
uint16_t midwunit_video_device::midwunit_gfxrom_r(offs_t offset)
|
||||
{
|
||||
uint8_t *base = m_gfxrom->base() + m_gfxbank_offset[0];
|
||||
uint8_t const *const base = &m_gfxrom[m_gfxbank_offset[0]];
|
||||
offset *= 2;
|
||||
return base[offset] | (base[offset + 1] << 8);
|
||||
}
|
||||
@ -346,17 +352,17 @@ void midtunit_video_device::midtunit_control_w(offs_t offset, uint16_t data, uin
|
||||
other important bits:
|
||||
bit 2 (0x0004) is toggled periodically
|
||||
*/
|
||||
logerror("T-unit control = %04X\n", data);
|
||||
LOGCTRL("T-unit control = %04X\n", data);
|
||||
|
||||
COMBINE_DATA(&m_midtunit_control);
|
||||
|
||||
/* gfx bank select is bit 7 */
|
||||
// gfx bank select is bit 7
|
||||
if (!(m_midtunit_control & 0x0080) || !m_gfx_rom_large)
|
||||
m_gfxbank_offset[0] = 0x000000;
|
||||
else
|
||||
m_gfxbank_offset[0] = 0x800000;
|
||||
|
||||
/* video bank select is bit 5 */
|
||||
// video bank select is bit 5
|
||||
m_videobank_select = (m_midtunit_control >> 5) & 1;
|
||||
}
|
||||
|
||||
@ -367,14 +373,14 @@ void midwunit_video_device::midwunit_control_w(offs_t offset, uint16_t data, uin
|
||||
other important bits:
|
||||
bit 2 (0x0004) is toggled periodically
|
||||
*/
|
||||
logerror("Wolf-unit control = %04X\n", data);
|
||||
LOGCTRL("Wolf-unit control = %04X\n", data);
|
||||
|
||||
COMBINE_DATA(&m_midtunit_control);
|
||||
|
||||
/* gfx bank select is bits 8-9 */
|
||||
// gfx bank select is bits 8-9
|
||||
m_gfxbank_offset[0] = 0x800000 * ((m_midtunit_control >> 8) & 3);
|
||||
|
||||
/* video bank select is unknown */
|
||||
// video bank select is unknown
|
||||
m_videobank_select = (m_midtunit_control >> 11) & 1;
|
||||
}
|
||||
|
||||
@ -425,21 +431,21 @@ uint16_t midxunit_video_device::midxunit_paletteram_r(offs_t offset)
|
||||
template <int BitsPerPixel, bool XFlip, bool Skip, bool Scale, midtunit_video_device::op_type_t Zero, midtunit_video_device::op_type_t NonZero>
|
||||
void midtunit_video_device::dma_draw()
|
||||
{
|
||||
int height = m_dma_state.height << 8;
|
||||
uint8_t *base = m_dma_state.gfxrom;
|
||||
int const height = m_dma_state.height << 8;
|
||||
uint8_t const *const base = m_dma_state.gfxrom;
|
||||
uint32_t offset = m_dma_state.offset;
|
||||
uint16_t pal = m_dma_state.palette;
|
||||
uint16_t color = pal | m_dma_state.color;
|
||||
int sy = m_dma_state.ypos;
|
||||
int iy = 0;
|
||||
int ty;
|
||||
int mask = (1 << BitsPerPixel) - 1;
|
||||
int xstep = Scale ? m_dma_state.xstep : 0x100;
|
||||
int const mask = (1 << BitsPerPixel) - 1;
|
||||
int const xstep = Scale ? m_dma_state.xstep : 0x100;
|
||||
|
||||
/* loop over the height */
|
||||
// loop over the height
|
||||
while (iy < height)
|
||||
{
|
||||
int startskip = m_dma_state.startskip << 8;
|
||||
int const startskip = m_dma_state.startskip << 8;
|
||||
[[maybe_unused]] int endskip = m_dma_state.endskip << 8;
|
||||
int width = m_dma_state.width << 8;
|
||||
int sx = m_dma_state.xpos;
|
||||
@ -449,13 +455,13 @@ void midtunit_video_device::dma_draw()
|
||||
int pre, post;
|
||||
uint16_t *d;
|
||||
|
||||
/* handle skipping */
|
||||
// handle skipping
|
||||
if (Skip)
|
||||
{
|
||||
uint8_t value = EXTRACTGEN(0xff);
|
||||
uint8_t const value = EXTRACTGEN(0xff);
|
||||
o += 8;
|
||||
|
||||
/* adjust for preskip */
|
||||
// adjust for preskip
|
||||
pre = (value & 0x0f) << (m_dma_state.preskip + 8);
|
||||
tx = pre / xstep;
|
||||
if (XFlip)
|
||||
@ -464,17 +470,17 @@ void midtunit_video_device::dma_draw()
|
||||
sx = (sx + tx) & XPOSMASK;
|
||||
ix += tx * xstep;
|
||||
|
||||
/* adjust for postskip */
|
||||
// adjust for postskip
|
||||
post = ((value >> 4) & 0x0f) << (m_dma_state.postskip + 8);
|
||||
width -= post;
|
||||
endskip -= post;
|
||||
}
|
||||
|
||||
/* handle Y clipping */
|
||||
// handle Y clipping
|
||||
if (sy < m_dma_state.topclip || sy > m_dma_state.botclip)
|
||||
goto clipy;
|
||||
|
||||
/* handle start skip */
|
||||
// handle start skip
|
||||
if (ix < startskip)
|
||||
{
|
||||
tx = ((startskip - ix) / xstep) * xstep;
|
||||
@ -482,24 +488,24 @@ void midtunit_video_device::dma_draw()
|
||||
o += (tx >> 8) * BitsPerPixel;
|
||||
}
|
||||
|
||||
/* handle end skip */
|
||||
// handle end skip
|
||||
if ((width >> 8) > m_dma_state.width - m_dma_state.endskip)
|
||||
width = (m_dma_state.width - m_dma_state.endskip) << 8;
|
||||
|
||||
/* determine destination pointer */
|
||||
// determine destination pointer
|
||||
#if DEBUG_MIDTUNIT_BLITTER
|
||||
d = m_doing_debug_dma ? &m_debug_videoram[sy * 512] : &m_local_videoram[sy * 512];
|
||||
#else
|
||||
d = &m_local_videoram[sy * 512];
|
||||
#endif
|
||||
|
||||
/* loop until we draw the entire width */
|
||||
// loop until we draw the entire width
|
||||
while (ix < width)
|
||||
{
|
||||
/* only process if not clipped */
|
||||
// only process if not clipped
|
||||
if (sx >= m_dma_state.leftclip && sx <= m_dma_state.rightclip)
|
||||
{
|
||||
/* special case similar handling of zero/non-zero */
|
||||
// special case similar handling of zero/non-zero
|
||||
if (Zero == NonZero)
|
||||
{
|
||||
if (Zero == PIXEL_COLOR)
|
||||
@ -508,12 +514,12 @@ void midtunit_video_device::dma_draw()
|
||||
d[sx] = (EXTRACTGEN(mask)) | pal;
|
||||
}
|
||||
|
||||
/* otherwise, read the pixel and look */
|
||||
// otherwise, read the pixel and look
|
||||
else
|
||||
{
|
||||
int pixel = (EXTRACTGEN(mask));
|
||||
|
||||
/* non-zero pixel case */
|
||||
// non-zero pixel case
|
||||
if (pixel)
|
||||
{
|
||||
if (NonZero == PIXEL_COLOR)
|
||||
@ -522,7 +528,7 @@ void midtunit_video_device::dma_draw()
|
||||
d[sx] = pixel | pal;
|
||||
}
|
||||
|
||||
/* zero pixel case */
|
||||
// zero pixel case
|
||||
else
|
||||
{
|
||||
if (Zero == PIXEL_COLOR)
|
||||
@ -533,13 +539,13 @@ void midtunit_video_device::dma_draw()
|
||||
}
|
||||
}
|
||||
|
||||
/* update pointers */
|
||||
// update pointers
|
||||
if (XFlip)
|
||||
sx = (sx - 1) & XPOSMASK;
|
||||
else
|
||||
sx = (sx + 1) & XPOSMASK;
|
||||
|
||||
/* advance to the next pixel */
|
||||
// advance to the next pixel
|
||||
if (!Scale)
|
||||
{
|
||||
ix += 0x100;
|
||||
@ -555,7 +561,7 @@ void midtunit_video_device::dma_draw()
|
||||
}
|
||||
|
||||
clipy:
|
||||
/* advance to the next row */
|
||||
// advance to the next row
|
||||
if (m_dma_state.yflip)
|
||||
sy = (sy - 1) & YPOSMASK;
|
||||
else
|
||||
@ -591,7 +597,7 @@ void midtunit_video_device::dma_draw()
|
||||
if (width > 0) o += width * BitsPerPixel;
|
||||
while (ty--)
|
||||
{
|
||||
uint8_t value = EXTRACTGEN(0xff);
|
||||
uint8_t const value = EXTRACTGEN(0xff);
|
||||
o += 8;
|
||||
pre = (value & 0x0f) << m_dma_state.preskip;
|
||||
post = ((value >> 4) & 0x0f) << m_dma_state.postskip;
|
||||
@ -618,8 +624,8 @@ DEFINE_TEMPLATED_DMA_DRAW_GROUP(false, false);
|
||||
|
||||
TIMER_CALLBACK_MEMBER(midtunit_video_device::dma_done)
|
||||
{
|
||||
m_dma_register[DMA_COMMAND] &= ~0x8000; /* tell the cpu we're done */
|
||||
m_maincpu->set_input_line(0, ASSERT_LINE);
|
||||
m_dma_register[DMA_COMMAND] &= ~0x8000; // tell the cpu we're done
|
||||
m_dma_irq_cb(ASSERT_LINE);
|
||||
}
|
||||
|
||||
|
||||
@ -630,11 +636,11 @@ TIMER_CALLBACK_MEMBER(midtunit_video_device::dma_done)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
uint16_t midtunit_video_device::midtunit_dma_r(offs_t offset)
|
||||
uint16_t midtunit_video_device::dma_r(offs_t offset)
|
||||
{
|
||||
/* rmpgwt sometimes reads register 0, expecting it to return the */
|
||||
/* current DMA status; thus we map register 0 to register 1 */
|
||||
/* openice does it as well */
|
||||
// rmpgwt sometimes reads register 0, expecting it to return the
|
||||
// current DMA status; thus we map register 0 to register 1
|
||||
// openice does it as well
|
||||
if (offset == 0)
|
||||
offset = 1;
|
||||
return m_dma_register[offset];
|
||||
@ -687,36 +693,36 @@ uint16_t midtunit_video_device::midtunit_dma_r(offs_t offset)
|
||||
* | ----------2----- | select top/bottom or left/right for reg 12/13
|
||||
*/
|
||||
|
||||
void midtunit_video_device::midtunit_dma_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
void midtunit_video_device::dma_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
{
|
||||
static const uint8_t register_map[2][16] =
|
||||
{
|
||||
{ 0,1,2,3,4,5,6,7,8,9,10,11,16,17,14,15 },
|
||||
{ 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 }
|
||||
};
|
||||
int regbank = (m_dma_register[DMA_CONFIG] >> 5) & 1;
|
||||
int const regbank = (m_dma_register[DMA_CONFIG] >> 5) & 1;
|
||||
int pixels = 0;
|
||||
|
||||
/* blend with the current register contents */
|
||||
// blend with the current register contents
|
||||
int regnum = register_map[regbank][offset];
|
||||
COMBINE_DATA(&m_dma_register[regnum]);
|
||||
|
||||
/* only writes to DMA_COMMAND actually cause actions */
|
||||
// only writes to DMA_COMMAND actually cause actions
|
||||
if (regnum != DMA_COMMAND)
|
||||
return;
|
||||
|
||||
/* high bit triggers action */
|
||||
int command = m_dma_register[DMA_COMMAND];
|
||||
m_maincpu->set_input_line(0, CLEAR_LINE);
|
||||
// high bit triggers action
|
||||
int const command = m_dma_register[DMA_COMMAND];
|
||||
m_dma_irq_cb(CLEAR_LINE);
|
||||
if (!(command & 0x8000))
|
||||
return;
|
||||
|
||||
auto profile = g_profiler.start(PROFILER_USER1);
|
||||
|
||||
/* determine bpp */
|
||||
int bpp = (command >> 12) & 7;
|
||||
// determine bpp
|
||||
int const bpp = (command >> 12) & 7;
|
||||
|
||||
/* fill in the basic data */
|
||||
// fill in the basic data
|
||||
m_dma_state.xpos = m_dma_register[DMA_XSTART] & XPOSMASK;
|
||||
m_dma_state.ypos = m_dma_register[DMA_YSTART] & YPOSMASK;
|
||||
m_dma_state.width = m_dma_register[DMA_WIDTH] & 0x3ff;
|
||||
@ -724,27 +730,27 @@ void midtunit_video_device::midtunit_dma_w(offs_t offset, uint16_t data, uint16_
|
||||
m_dma_state.palette = m_dma_register[DMA_PALETTE] & 0x7f00;
|
||||
m_dma_state.color = m_dma_register[DMA_COLOR] & 0xff;
|
||||
|
||||
/* fill in the rev 2 data */
|
||||
// fill in the rev 2 data
|
||||
m_dma_state.yflip = (command & 0x20) >> 5;
|
||||
m_dma_state.preskip = (command >> 8) & 3;
|
||||
m_dma_state.postskip = (command >> 10) & 3;
|
||||
m_dma_state.xstep = m_dma_register[DMA_SCALE_X] ? m_dma_register[DMA_SCALE_X] : 0x100;
|
||||
m_dma_state.ystep = m_dma_register[DMA_SCALE_Y] ? m_dma_register[DMA_SCALE_Y] : 0x100;
|
||||
|
||||
/* clip the clippers */
|
||||
// clip the clippers
|
||||
m_dma_state.topclip = m_dma_register[DMA_TOPCLIP] & 0x1ff;
|
||||
m_dma_state.botclip = m_dma_register[DMA_BOTCLIP] & 0x1ff;
|
||||
m_dma_state.leftclip = m_dma_register[DMA_LEFTCLIP] & 0x3ff;
|
||||
m_dma_state.rightclip = m_dma_register[DMA_RIGHTCLIP] & 0x3ff;
|
||||
|
||||
/* determine the offset */
|
||||
// determine the offset
|
||||
uint32_t gfxoffset = m_dma_register[DMA_OFFSETLO] | (m_dma_register[DMA_OFFSETHI] << 16);
|
||||
|
||||
/* special case: drawing mode C doesn't need to know about any pixel data */
|
||||
// special case: drawing mode C doesn't need to know about any pixel data
|
||||
if ((command & 0x0f) == 0x0c)
|
||||
gfxoffset = 0;
|
||||
|
||||
/* determine the location */
|
||||
// determine the location
|
||||
if (!m_gfx_rom_large && gfxoffset >= 0x2000000)
|
||||
gfxoffset -= 0x2000000;
|
||||
if (gfxoffset >= 0xf8000000)
|
||||
@ -753,7 +759,7 @@ void midtunit_video_device::midtunit_dma_w(offs_t offset, uint16_t data, uint16_
|
||||
m_dma_state.offset = gfxoffset;
|
||||
else
|
||||
{
|
||||
logerror("DMA source out of range: %08X\n", gfxoffset);
|
||||
LOGDMACTRL("DMA source out of range: %08X\n", gfxoffset);
|
||||
goto skipdma;
|
||||
}
|
||||
|
||||
@ -774,11 +780,11 @@ void midtunit_video_device::midtunit_dma_w(offs_t offset, uint16_t data, uint16_
|
||||
}
|
||||
}
|
||||
|
||||
/* there seems to be two types of behavior for the DMA chip */
|
||||
/* for MK1 and MK2, the upper byte of the LRSKIP is the */
|
||||
/* starting skip value, and the lower byte is the ending */
|
||||
/* skip value; for the NBA Jam, Hangtime, and Open Ice, the */
|
||||
/* full word seems to be the starting skip value. */
|
||||
// there seems to be two types of behavior for the DMA chip
|
||||
// for MK1 and MK2, the upper byte of the LRSKIP is the
|
||||
// starting skip value, and the lower byte is the ending
|
||||
// skip value; for the NBA Jam, Hangtime, and Open Ice, the
|
||||
// full word seems to be the starting skip value.
|
||||
if (command & 0x40)
|
||||
{
|
||||
m_dma_state.startskip = m_dma_register[DMA_LRSKIP] & 0xff;
|
||||
@ -802,7 +808,7 @@ void midtunit_video_device::midtunit_dma_w(offs_t offset, uint16_t data, uint16_
|
||||
}
|
||||
}
|
||||
|
||||
/* then draw */
|
||||
// then draw
|
||||
if (m_dma_state.xstep == 0x100 && m_dma_state.ystep == 0x100)
|
||||
{
|
||||
if (command & 0x80)
|
||||
@ -825,7 +831,7 @@ void midtunit_video_device::midtunit_dma_w(offs_t offset, uint16_t data, uint16_
|
||||
pixels = 0;
|
||||
}
|
||||
|
||||
/* signal we're done */
|
||||
// signal we're done
|
||||
skipdma:
|
||||
m_dma_timer->adjust(attotime::from_nsec(41 * pixels));
|
||||
}
|
||||
@ -844,7 +850,7 @@ TMS340X0_SCANLINE_IND16_CB_MEMBER(midtunit_video_device::scanline_update)
|
||||
uint16_t *const dest = &bitmap.pix(scanline);
|
||||
int coladdr = params->coladdr << 1;
|
||||
|
||||
/* copy the non-blanked portions of this scanline */
|
||||
// copy the non-blanked portions of this scanline
|
||||
for (int x = params->heblnk; x < params->hsblnk; x++)
|
||||
dest[x] = src[coladdr++ & 0x1ff] & 0x7fff;
|
||||
}
|
||||
@ -855,14 +861,14 @@ TMS340X0_SCANLINE_IND16_CB_MEMBER(midxunit_video_device::scanline_update)
|
||||
uint16_t const *const src = &m_local_videoram[fulladdr & 0x3fe00];
|
||||
uint16_t *const dest = &bitmap.pix(scanline);
|
||||
|
||||
/* copy the non-blanked portions of this scanline */
|
||||
// copy the non-blanked portions of this scanline
|
||||
for (int x = params->heblnk; x < params->hsblnk; x++)
|
||||
dest[x] = src[fulladdr++ & 0x1ff] & 0x7fff;
|
||||
}
|
||||
|
||||
void midtunit_video_device::log_bitmap(int command, int bpp, bool Skip)
|
||||
{
|
||||
const uint32_t raw_offset = m_dma_register[DMA_OFFSETLO] | (m_dma_register[DMA_OFFSETHI] << 16);
|
||||
uint32_t const raw_offset = m_dma_register[DMA_OFFSETLO] | (m_dma_register[DMA_OFFSETHI] << 16);
|
||||
if (m_logged_rom[raw_offset >> 6] & (1ULL << (raw_offset & 0x3f)))
|
||||
return;
|
||||
|
||||
@ -903,16 +909,16 @@ void midtunit_video_device::log_bitmap(int command, int bpp, bool Skip)
|
||||
m_log_bitmap.allocate(m_dma_state.width, m_dma_state.height);
|
||||
m_log_bitmap.fill(0);
|
||||
|
||||
uint8_t *base = m_dma_state.gfxrom;
|
||||
uint8_t const *const base = m_dma_state.gfxrom;
|
||||
uint32_t offset = m_dma_state.offset;
|
||||
uint16_t pal = m_dma_state.palette;
|
||||
uint16_t color = pal | m_dma_state.color;
|
||||
int mask = (1 << bpp) - 1;
|
||||
uint16_t const pal = m_dma_state.palette;
|
||||
uint16_t const color = pal | m_dma_state.color;
|
||||
int const mask = (1 << bpp) - 1;
|
||||
|
||||
/* loop over the height */
|
||||
// loop over the height
|
||||
for (int y = 0; y < m_dma_state.height; y++)
|
||||
{
|
||||
int startskip = m_dma_state.startskip;
|
||||
int const startskip = m_dma_state.startskip;
|
||||
[[maybe_unused]] int endskip = m_dma_state.endskip;
|
||||
int width = m_dma_state.width;
|
||||
int ix = 0;
|
||||
@ -920,24 +926,24 @@ void midtunit_video_device::log_bitmap(int command, int bpp, bool Skip)
|
||||
uint32_t o = offset;
|
||||
int pre = 0, post = 0;
|
||||
|
||||
/* handle skipping */
|
||||
// handle skipping
|
||||
if (Skip)
|
||||
{
|
||||
uint8_t value = EXTRACTGEN(0xff);
|
||||
uint8_t const value = EXTRACTGEN(0xff);
|
||||
o += 8;
|
||||
|
||||
/* adjust for preskip */
|
||||
// adjust for preskip
|
||||
pre = (value & 0x0f) << m_dma_state.preskip;
|
||||
tx = pre;
|
||||
ix += tx;
|
||||
|
||||
/* adjust for postskip */
|
||||
// adjust for postskip
|
||||
post = ((value >> 4) & 0x0f) << m_dma_state.postskip;
|
||||
width -= post;
|
||||
endskip -= post;
|
||||
}
|
||||
|
||||
/* handle start skip */
|
||||
// handle start skip
|
||||
if (ix < startskip)
|
||||
{
|
||||
tx = (startskip - ix);
|
||||
@ -945,18 +951,18 @@ void midtunit_video_device::log_bitmap(int command, int bpp, bool Skip)
|
||||
o += tx * bpp;
|
||||
}
|
||||
|
||||
/* handle end skip */
|
||||
// handle end skip
|
||||
if (width > m_dma_state.width - m_dma_state.endskip)
|
||||
width = m_dma_state.width - m_dma_state.endskip;
|
||||
|
||||
bitmap_rgb32::pixel_t *d = &m_log_bitmap.pix(y, ix);
|
||||
|
||||
/* determine destination pointer */
|
||||
// determine destination pointer
|
||||
|
||||
/* loop until we draw the entire width */
|
||||
// loop until we draw the entire width
|
||||
while (ix < width)
|
||||
{
|
||||
/* special case similar handling of zero/non-zero */
|
||||
// special case similar handling of zero/non-zero
|
||||
if (Zero == NonZero)
|
||||
{
|
||||
if (Zero == PIXEL_COLOR)
|
||||
@ -965,12 +971,12 @@ void midtunit_video_device::log_bitmap(int command, int bpp, bool Skip)
|
||||
*d = m_palette->palette()->entry_list_raw()[(EXTRACTGEN(mask)) | pal];
|
||||
}
|
||||
|
||||
/* otherwise, read the pixel and look */
|
||||
// otherwise, read the pixel and look
|
||||
else
|
||||
{
|
||||
int pixel = (EXTRACTGEN(mask));
|
||||
int const pixel = (EXTRACTGEN(mask));
|
||||
|
||||
/* non-zero pixel case */
|
||||
// non-zero pixel case
|
||||
if (pixel)
|
||||
{
|
||||
if (NonZero == PIXEL_COLOR)
|
||||
@ -979,7 +985,7 @@ void midtunit_video_device::log_bitmap(int command, int bpp, bool Skip)
|
||||
*d = m_palette->palette()->entry_list_raw()[pixel | pal];
|
||||
}
|
||||
|
||||
/* zero pixel case */
|
||||
// zero pixel case
|
||||
else
|
||||
{
|
||||
if (Zero == PIXEL_COLOR)
|
||||
@ -989,13 +995,13 @@ void midtunit_video_device::log_bitmap(int command, int bpp, bool Skip)
|
||||
}
|
||||
}
|
||||
|
||||
/* advance to the next pixel */
|
||||
// advance to the next pixel
|
||||
ix++;
|
||||
d++;
|
||||
o += bpp;
|
||||
}
|
||||
|
||||
/* advance to the next row */
|
||||
// advance to the next row
|
||||
width = m_dma_state.width;
|
||||
if (Skip)
|
||||
{
|
||||
|
@ -22,17 +22,19 @@ class midtunit_video_device : public device_t
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
template <typename T, typename U, typename V>
|
||||
midtunit_video_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&cpu_tag, U &&palette_tag, V &&gfxrom_tag)
|
||||
template <typename T>
|
||||
midtunit_video_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&palette_tag)
|
||||
: midtunit_video_device(mconfig, tag, owner, (uint32_t)0)
|
||||
{
|
||||
m_maincpu.set_tag(std::forward<T>(cpu_tag));
|
||||
m_palette.set_tag(std::forward<U>(palette_tag));
|
||||
m_gfxrom.set_tag(std::forward<V>(gfxrom_tag));
|
||||
m_palette.set_tag(std::forward<T>(palette_tag));
|
||||
}
|
||||
|
||||
midtunit_video_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
|
||||
|
||||
// configuration
|
||||
auto dma_irq_cb() { return m_dma_irq_cb.bind(); }
|
||||
void set_gfx_rom_large(bool gfx_rom_large) { m_gfx_rom_large = gfx_rom_large; }
|
||||
|
||||
TMS340X0_TO_SHIFTREG_CB_MEMBER(to_shiftreg);
|
||||
TMS340X0_FROM_SHIFTREG_CB_MEMBER(from_shiftreg);
|
||||
TMS340X0_SCANLINE_IND16_CB_MEMBER(scanline_update);
|
||||
@ -45,13 +47,11 @@ public:
|
||||
uint16_t midtunit_vram_data_r(offs_t offset);
|
||||
uint16_t midtunit_vram_color_r(offs_t offset);
|
||||
|
||||
uint16_t midtunit_dma_r(offs_t offset);
|
||||
void midtunit_dma_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
uint16_t dma_r(offs_t offset);
|
||||
void dma_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
|
||||
void midtunit_control_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
|
||||
void set_gfx_rom_large(bool gfx_rom_large) { m_gfx_rom_large = gfx_rom_large; }
|
||||
|
||||
enum op_type_t
|
||||
{
|
||||
PIXEL_SKIP = 0,
|
||||
@ -67,13 +67,12 @@ protected:
|
||||
|
||||
TIMER_CALLBACK_MEMBER(dma_done);
|
||||
|
||||
required_device<tms340x0_device> m_maincpu;
|
||||
required_device<palette_device> m_palette;
|
||||
required_memory_region m_gfxrom;
|
||||
required_region_ptr<uint8_t> m_gfxrom;
|
||||
|
||||
emu_timer *m_dma_timer;
|
||||
|
||||
/* constants for the DMA chip */
|
||||
// constants for the DMA chip
|
||||
static constexpr uint32_t XPOSMASK = 0x3ff;
|
||||
static constexpr uint32_t YPOSMASK = 0x1ff;
|
||||
|
||||
@ -102,50 +101,52 @@ protected:
|
||||
DMA_SCALE_Y,
|
||||
DMA_TOPCLIP,
|
||||
DMA_BOTCLIP,
|
||||
DMA_UNKNOWN_E, /* MK1/2 never write here; NBA only writes 0 */
|
||||
DMA_UNKNOWN_E, // MK1/2 never write here; NBA only writes 0
|
||||
DMA_CONFIG,
|
||||
DMA_LEFTCLIP, /* pseudo-register */
|
||||
DMA_RIGHTCLIP /* pseudo-register */
|
||||
DMA_LEFTCLIP, // pseudo-register
|
||||
DMA_RIGHTCLIP // pseudo-register
|
||||
};
|
||||
|
||||
/* graphics-related variables */
|
||||
// graphics-related variables
|
||||
uint16_t m_midtunit_control;
|
||||
bool m_gfx_rom_large;
|
||||
|
||||
/* videoram-related variables */
|
||||
// videoram-related variables
|
||||
uint32_t m_gfxbank_offset[2];
|
||||
std::unique_ptr<uint16_t[]> m_local_videoram;
|
||||
uint8_t m_videobank_select;
|
||||
|
||||
/* DMA-related variables */
|
||||
// DMA-related variables
|
||||
uint16_t m_dma_register[18];
|
||||
struct dma_state
|
||||
{
|
||||
uint8_t * gfxrom;
|
||||
|
||||
uint32_t offset; /* source offset, in bits */
|
||||
int32_t rowbits; /* source bits to skip each row */
|
||||
int32_t xpos; /* x position, clipped */
|
||||
int32_t ypos; /* y position, clipped */
|
||||
int32_t width; /* horizontal pixel count */
|
||||
int32_t height; /* vertical pixel count */
|
||||
uint16_t palette; /* palette base */
|
||||
uint16_t color; /* current foreground color with palette */
|
||||
uint32_t offset; // source offset, in bits
|
||||
int32_t rowbits; // source bits to skip each row
|
||||
int32_t xpos; // x position, clipped
|
||||
int32_t ypos; // y position, clipped
|
||||
int32_t width; // horizontal pixel count
|
||||
int32_t height; // vertical pixel count
|
||||
uint16_t palette; // palette base
|
||||
uint16_t color; // current foreground color with palette
|
||||
|
||||
uint8_t yflip; /* yflip? */
|
||||
uint8_t preskip; /* preskip scale */
|
||||
uint8_t postskip; /* postskip scale */
|
||||
int32_t topclip; /* top clipping scanline */
|
||||
int32_t botclip; /* bottom clipping scanline */
|
||||
int32_t leftclip; /* left clipping column */
|
||||
int32_t rightclip; /* right clipping column */
|
||||
int32_t startskip; /* pixels to skip at start */
|
||||
int32_t endskip; /* pixels to skip at end */
|
||||
uint16_t xstep; /* 8.8 fixed number scale x factor */
|
||||
uint16_t ystep; /* 8.8 fixed number scale y factor */
|
||||
uint8_t yflip; // yflip?
|
||||
uint8_t preskip; // preskip scale
|
||||
uint8_t postskip; // postskip scale
|
||||
int32_t topclip; // top clipping scanline
|
||||
int32_t botclip; // bottom clipping scanline
|
||||
int32_t leftclip; // left clipping column
|
||||
int32_t rightclip; // right clipping column
|
||||
int32_t startskip; // pixels to skip at start
|
||||
int32_t endskip; // pixels to skip at end
|
||||
uint16_t xstep; // 8.8 fixed number scale x factor
|
||||
uint16_t ystep; // 8.8 fixed number scale y factor
|
||||
};
|
||||
dma_state m_dma_state;
|
||||
|
||||
devcb_write_line m_dma_irq_cb;
|
||||
|
||||
#if DEBUG_MIDTUNIT_BLITTER
|
||||
virtual void device_reset() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
@ -182,13 +183,11 @@ class midwunit_video_device : public midtunit_video_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
template <typename T, typename U, typename V>
|
||||
midwunit_video_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&cpu_tag, U &&palette_tag, V &&gfxrom_tag)
|
||||
template <typename T>
|
||||
midwunit_video_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&palette_tag)
|
||||
: midwunit_video_device(mconfig, tag, owner, (uint32_t)0)
|
||||
{
|
||||
m_maincpu.set_tag(std::forward<T>(cpu_tag));
|
||||
m_palette.set_tag(std::forward<U>(palette_tag));
|
||||
m_gfxrom.set_tag(std::forward<V>(gfxrom_tag));
|
||||
m_palette.set_tag(std::forward<T>(palette_tag));
|
||||
}
|
||||
midwunit_video_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
|
||||
|
||||
@ -200,7 +199,6 @@ public:
|
||||
protected:
|
||||
midwunit_video_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock = 0);
|
||||
|
||||
virtual void device_start() override;
|
||||
#if DEBUG_MIDTUNIT_BLITTER
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
#endif
|
||||
@ -210,13 +208,11 @@ class midxunit_video_device : public midwunit_video_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
template <typename T, typename U, typename V>
|
||||
midxunit_video_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&cpu_tag, U &&palette_tag, V &&gfxrom_tag)
|
||||
template <typename T>
|
||||
midxunit_video_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&palette_tag)
|
||||
: midwunit_video_device(mconfig, tag, owner, (uint32_t)0)
|
||||
{
|
||||
m_maincpu.set_tag(std::forward<T>(cpu_tag));
|
||||
m_palette.set_tag(std::forward<U>(palette_tag));
|
||||
m_gfxrom.set_tag(std::forward<V>(gfxrom_tag));
|
||||
m_palette.set_tag(std::forward<T>(palette_tag));
|
||||
}
|
||||
|
||||
midxunit_video_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
|
||||
|
@ -98,14 +98,11 @@ Notes:
|
||||
#include "midwunit.h"
|
||||
|
||||
#include "cpu/tms34010/tms34010.h"
|
||||
#include "cpu/adsp2100/adsp2100.h"
|
||||
#include "machine/nvram.h"
|
||||
|
||||
#include "screen.h"
|
||||
#include "speaker.h"
|
||||
|
||||
#define PIXEL_CLOCK (8000000)
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
@ -116,14 +113,14 @@ Notes:
|
||||
void midwunit_state::main_map(address_map &map)
|
||||
{
|
||||
map(0x00000000, 0x003fffff).rw(m_video, FUNC(midwunit_video_device::midtunit_vram_r), FUNC(midwunit_video_device::midtunit_vram_w));
|
||||
map(0x01000000, 0x013fffff).ram().share("mainram");
|
||||
map(0x01400000, 0x0145ffff).rw(FUNC(midwunit_state::midwunit_cmos_r), FUNC(midwunit_state::midwunit_cmos_w)).share("nvram");
|
||||
map(0x01480000, 0x014fffff).w(FUNC(midwunit_state::midwunit_cmos_enable_w));
|
||||
map(0x01600000, 0x0160001f).rw(FUNC(midwunit_state::midwunit_security_r), FUNC(midwunit_state::midwunit_security_w));
|
||||
map(0x01680000, 0x0168001f).rw(FUNC(midwunit_state::midwunit_sound_r), FUNC(midwunit_state::midwunit_sound_w));
|
||||
map(0x01800000, 0x0187ffff).rw(FUNC(midwunit_state::midwunit_io_r), FUNC(midwunit_state::midwunit_io_w));
|
||||
map(0x01000000, 0x013fffff).ram().share(m_mainram);
|
||||
map(0x01400000, 0x0145ffff).rw(FUNC(midwunit_state::cmos_r), FUNC(midwunit_state::cmos_w)).share(m_nvram);
|
||||
map(0x01480000, 0x014fffff).w(FUNC(midwunit_state::cmos_enable_w));
|
||||
map(0x01600000, 0x0160001f).rw(FUNC(midwunit_state::security_r), FUNC(midwunit_state::security_w));
|
||||
map(0x01680000, 0x0168001f).rw(FUNC(midwunit_state::sound_r), FUNC(midwunit_state::sound_w));
|
||||
map(0x01800000, 0x0187ffff).rw(FUNC(midwunit_state::io_r), FUNC(midwunit_state::io_w));
|
||||
map(0x01880000, 0x018fffff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
|
||||
map(0x01a00000, 0x01a000ff).mirror(0x00080000).rw(m_video, FUNC(midwunit_video_device::midtunit_dma_r), FUNC(midwunit_video_device::midtunit_dma_w));
|
||||
map(0x01a00000, 0x01a000ff).mirror(0x00080000).rw(m_video, FUNC(midwunit_video_device::dma_r), FUNC(midwunit_video_device::dma_w));
|
||||
map(0x01b00000, 0x01b0001f).rw(m_video, FUNC(midwunit_video_device::midwunit_control_r), FUNC(midwunit_video_device::midwunit_control_w));
|
||||
map(0x02000000, 0x06ffffff).r(m_video, FUNC(midwunit_video_device::midwunit_gfxrom_r));
|
||||
map(0xff800000, 0xffffffff).rom().region("maincpu", 0);
|
||||
@ -625,30 +622,33 @@ INPUT_PORTS_END
|
||||
|
||||
void midwunit_state::wunit(machine_config &config)
|
||||
{
|
||||
MIDWUNIT_VIDEO(config, m_video, m_maincpu, m_palette, m_gfxrom);
|
||||
constexpr XTAL PIXEL_CLOCK = 8_MHz_XTAL;
|
||||
|
||||
TMS34010(config, m_maincpu, 50000000);
|
||||
MIDWUNIT_VIDEO(config, m_video, m_palette);
|
||||
m_video->dma_irq_cb().set_inputline(m_maincpu, 0);
|
||||
|
||||
TMS34010(config, m_maincpu, 50_MHz_XTAL);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &midwunit_state::main_map);
|
||||
m_maincpu->set_halt_on_reset(false); /* halt on reset */
|
||||
m_maincpu->set_pixel_clock(PIXEL_CLOCK); /* pixel clock */
|
||||
m_maincpu->set_pixels_per_clock(1); /* pixels per clock */
|
||||
m_maincpu->set_scanline_ind16_callback("video", FUNC(midtunit_video_device::scanline_update)); /* scanline updater (indexed16) */
|
||||
m_maincpu->set_shiftreg_in_callback("video", FUNC(midtunit_video_device::to_shiftreg)); /* write to shiftreg function */
|
||||
m_maincpu->set_shiftreg_out_callback("video", FUNC(midtunit_video_device::from_shiftreg)); /* read from shiftreg function */
|
||||
m_maincpu->set_halt_on_reset(false); // halt on reset
|
||||
m_maincpu->set_pixel_clock(PIXEL_CLOCK); // pixel clock
|
||||
m_maincpu->set_pixels_per_clock(1); // pixels per clock
|
||||
m_maincpu->set_scanline_ind16_callback(m_video, FUNC(midtunit_video_device::scanline_update)); // scanline updater (indexed16)
|
||||
m_maincpu->set_shiftreg_in_callback(m_video, FUNC(midtunit_video_device::to_shiftreg)); // write to shiftreg function
|
||||
m_maincpu->set_shiftreg_out_callback(m_video, FUNC(midtunit_video_device::from_shiftreg)); // read from shiftreg function
|
||||
m_maincpu->set_screen("screen");
|
||||
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
|
||||
/* video hardware */
|
||||
PALETTE(config, "palette").set_format(palette_device::xRGB_555, 32768);
|
||||
// video hardware
|
||||
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 32768);
|
||||
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
// from TMS340 registers
|
||||
screen.set_raw(PIXEL_CLOCK, 506, 101, 501, 289, 20, 274);
|
||||
screen.set_screen_update("maincpu", FUNC(tms34010_device::tms340x0_ind16));
|
||||
screen.set_screen_update(m_maincpu, FUNC(tms34010_device::tms340x0_ind16));
|
||||
screen.set_palette(m_palette);
|
||||
|
||||
/* sound hardware */
|
||||
// sound hardware
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
||||
DCS_AUDIO_8K(config, m_dcs, 0);
|
||||
@ -712,18 +712,18 @@ A83E 4/6/95 MORTAL KOMBAT III U117 AM.0
|
||||
7F0B 4/6/95 MORTAL KOMBAT III U114 AM.3
|
||||
*/
|
||||
ROM_START( mk3 )
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u2_music_spch.u2", 0x000000, 0x100000, CRC(5273436f) SHA1(e1735842a0159eafe79d878d44e3828df9bfa5bb) )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u3_music_spch.u3", 0x200000, 0x100000, CRC(856fe411) SHA1(6165ebecfce7500e948d84492ffa19eed7f47091) )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u4_music_spch.u4", 0x400000, 0x100000, CRC(428a406f) SHA1(e70ec83cd054de0da1e178720ed0035b8887f797) )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u5_music_spch.u5", 0x600000, 0x100000, CRC(3b98a09f) SHA1(edf1d02a56dcf3349e6b4bb4097acfe7592305f4) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "mk321u54.bin", 0x00000, 0x80000, CRC(9e344401) SHA1(5760b355f0a5c27c9746f33abfdedf4302f1af38) )
|
||||
ROM_LOAD16_BYTE( "mk321u63.bin", 0x00001, 0x80000, CRC(64d34776) SHA1(d8f09e1e946dc13fec5e9f83fdaf61d4076ba9ea) )
|
||||
|
||||
ROM_REGION( 0x2000000, "gfxrom", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u133_game_rom.u133", 0x0000000, 0x100000, CRC(79b94667) SHA1(31bba640c351fdccc6685cadb74dd79a3f910ce8) ) /* all GAME ROMs here are also known to be labeled as P1.0 */
|
||||
ROM_REGION( 0x2000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u133_game_rom.u133", 0x0000000, 0x100000, CRC(79b94667) SHA1(31bba640c351fdccc6685cadb74dd79a3f910ce8) ) // all GAME ROMs here are also known to be labeled as P1.0
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u132_game_rom.u132", 0x0000001, 0x100000, CRC(13e95228) SHA1(405b05f5a5a55667c2be17d4b399129bdacefd90) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u131_game_rom.u131", 0x0000002, 0x100000, CRC(41001e30) SHA1(2cec91116771951c0380cec5debf4cbb40c14c61) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u130_game_rom.u130", 0x0000003, 0x100000, CRC(49379dd7) SHA1(e6dfab4e23d9cc38ae56c1bbf10ccd160e8fad5e) )
|
||||
@ -751,18 +751,18 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( mk3r20 )
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u2_music_spch.u2", 0x000000, 0x100000, CRC(5273436f) SHA1(e1735842a0159eafe79d878d44e3828df9bfa5bb) )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u3_music_spch.u3", 0x200000, 0x100000, CRC(856fe411) SHA1(6165ebecfce7500e948d84492ffa19eed7f47091) )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u4_music_spch.u4", 0x400000, 0x100000, CRC(428a406f) SHA1(e70ec83cd054de0da1e178720ed0035b8887f797) )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u5_music_spch.u5", 0x600000, 0x100000, CRC(3b98a09f) SHA1(edf1d02a56dcf3349e6b4bb4097acfe7592305f4) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "mk320u54.bin", 0x00000, 0x80000, CRC(453da302) SHA1(d9a4814e7abb49ac0eb306ad05adcceac68df6a5) )
|
||||
ROM_LOAD16_BYTE( "mk320u63.bin", 0x00001, 0x80000, CRC(f8dc0600) SHA1(6eb689d92619c751252155b40af119ad47e94cfa) )
|
||||
|
||||
ROM_REGION( 0x2000000, "gfxrom", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u133_game_rom.u133", 0x0000000, 0x100000, CRC(79b94667) SHA1(31bba640c351fdccc6685cadb74dd79a3f910ce8) ) /* all GAME ROMs here are also known to be labeled as P1.0 */
|
||||
ROM_REGION( 0x2000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u133_game_rom.u133", 0x0000000, 0x100000, CRC(79b94667) SHA1(31bba640c351fdccc6685cadb74dd79a3f910ce8) ) // all GAME ROMs here are also known to be labeled as P1.0
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u132_game_rom.u132", 0x0000001, 0x100000, CRC(13e95228) SHA1(405b05f5a5a55667c2be17d4b399129bdacefd90) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u131_game_rom.u131", 0x0000002, 0x100000, CRC(41001e30) SHA1(2cec91116771951c0380cec5debf4cbb40c14c61) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u130_game_rom.u130", 0x0000003, 0x100000, CRC(49379dd7) SHA1(e6dfab4e23d9cc38ae56c1bbf10ccd160e8fad5e) )
|
||||
@ -790,18 +790,18 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( mk3r10 )
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u2_music_spch.u2", 0x000000, 0x100000, CRC(5273436f) SHA1(e1735842a0159eafe79d878d44e3828df9bfa5bb) )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u3_music_spch.u3", 0x200000, 0x100000, CRC(856fe411) SHA1(6165ebecfce7500e948d84492ffa19eed7f47091) )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u4_music_spch.u4", 0x400000, 0x100000, CRC(428a406f) SHA1(e70ec83cd054de0da1e178720ed0035b8887f797) )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u5_music_spch.u5", 0x600000, 0x100000, CRC(3b98a09f) SHA1(edf1d02a56dcf3349e6b4bb4097acfe7592305f4) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "mk310u54.bin", 0x00000, 0x80000, CRC(41829228) SHA1(5686b50a08b528d41b28ef578cfb171da9905c45) )
|
||||
ROM_LOAD16_BYTE( "mk310u63.bin", 0x00001, 0x80000, CRC(b074e1e8) SHA1(fe1a6f622614b1ebd8edc3edeec442d39ba2924c) )
|
||||
|
||||
ROM_REGION( 0x2000000, "gfxrom", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u133_game_rom.u133", 0x0000000, 0x100000, CRC(79b94667) SHA1(31bba640c351fdccc6685cadb74dd79a3f910ce8) ) /* all GAME ROMs here are also known to be labeled as P1.0 */
|
||||
ROM_REGION( 0x2000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u133_game_rom.u133", 0x0000000, 0x100000, CRC(79b94667) SHA1(31bba640c351fdccc6685cadb74dd79a3f910ce8) ) // all GAME ROMs here are also known to be labeled as P1.0
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u132_game_rom.u132", 0x0000001, 0x100000, CRC(13e95228) SHA1(405b05f5a5a55667c2be17d4b399129bdacefd90) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u131_game_rom.u131", 0x0000002, 0x100000, CRC(41001e30) SHA1(2cec91116771951c0380cec5debf4cbb40c14c61) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u130_game_rom.u130", 0x0000003, 0x100000, CRC(49379dd7) SHA1(e6dfab4e23d9cc38ae56c1bbf10ccd160e8fad5e) )
|
||||
@ -829,18 +829,18 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( mk3p40 )
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u2_music_spch.u2", 0x000000, 0x100000, CRC(5273436f) SHA1(e1735842a0159eafe79d878d44e3828df9bfa5bb) )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u3_music_spch.u3", 0x200000, 0x100000, CRC(856fe411) SHA1(6165ebecfce7500e948d84492ffa19eed7f47091) )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u4_music_spch.u4", 0x400000, 0x100000, CRC(428a406f) SHA1(e70ec83cd054de0da1e178720ed0035b8887f797) )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u5_music_spch.u5", 0x600000, 0x100000, CRC(3b98a09f) SHA1(edf1d02a56dcf3349e6b4bb4097acfe7592305f4) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "mk3p40.u54", 0x00000, 0x80000, CRC(4dfb0748) SHA1(8c628a51642c940de8abb795be36123e4008ce15) )
|
||||
ROM_LOAD16_BYTE( "mk3p40.u63", 0x00001, 0x80000, CRC(f25a8083) SHA1(ff11462d23d9e16f6ee0d77bf85caa996df32618) )
|
||||
|
||||
ROM_REGION( 0x2000000, "gfxrom", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u133_game_rom.u133", 0x0000000, 0x100000, CRC(79b94667) SHA1(31bba640c351fdccc6685cadb74dd79a3f910ce8) ) /* all GAME ROMs here are also known to be labeled as P1.0 */
|
||||
ROM_REGION( 0x2000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u133_game_rom.u133", 0x0000000, 0x100000, CRC(79b94667) SHA1(31bba640c351fdccc6685cadb74dd79a3f910ce8) ) // all GAME ROMs here are also known to be labeled as P1.0
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u132_game_rom.u132", 0x0000001, 0x100000, CRC(13e95228) SHA1(405b05f5a5a55667c2be17d4b399129bdacefd90) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u131_game_rom.u131", 0x0000002, 0x100000, CRC(41001e30) SHA1(2cec91116771951c0380cec5debf4cbb40c14c61) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u130_game_rom.u130", 0x0000003, 0x100000, CRC(49379dd7) SHA1(e6dfab4e23d9cc38ae56c1bbf10ccd160e8fad5e) )
|
||||
@ -868,21 +868,21 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( umk3 )
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_LOAD16_BYTE( "l2.0_mortal_kombat_3_u2_ultimate.u2", 0x000000, 0x100000, CRC(3838cfe5) SHA1(e3d2901f3bae1362742fc6ee0aa31c9f63b4dfa3) ) /* verified labeled as L2.0 */
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l2.0_mortal_kombat_3_u2_ultimate.u2", 0x000000, 0x100000, CRC(3838cfe5) SHA1(e3d2901f3bae1362742fc6ee0aa31c9f63b4dfa3) ) // verified labeled as L2.0
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u3_music_spch.u3", 0x200000, 0x100000, CRC(856fe411) SHA1(6165ebecfce7500e948d84492ffa19eed7f47091) )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u4_music_spch.u4", 0x400000, 0x100000, CRC(428a406f) SHA1(e70ec83cd054de0da1e178720ed0035b8887f797) )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u5_music_spch.u5", 0x600000, 0x100000, CRC(3b98a09f) SHA1(edf1d02a56dcf3349e6b4bb4097acfe7592305f4) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l1.2_mortal_kombat_3_u54_ultimate.u54", 0x00000, 0x80000, CRC(712b4db6) SHA1(7015a55f3d745c6aeb8630903e2d5cd9554b2766) )
|
||||
ROM_LOAD16_BYTE( "l1.2_mortal_kombat_3_u63_ultimate.u63", 0x00001, 0x80000, CRC(6d301faf) SHA1(18a8e29cc3e8ce5cc0e10f8386d43e7f44fd7b75) )
|
||||
|
||||
ROM_REGION( 0x1009, "serial_security:pic", 0 ) /* security PIC (provides game ID code and serial number) */
|
||||
ROM_REGION( 0x1009, "serial_security:pic", 0 ) // security PIC (provides game ID code and serial number)
|
||||
ROM_LOAD( "463_mk3_ultimate.u64", 0x0000, 0x1009, CRC(4f425218) SHA1(7f26045ed2c9ca94fadcb673ce10f28208aa720e) )
|
||||
|
||||
ROM_REGION( 0x2000000, "gfxrom", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u133_game_rom.u133", 0x0000000, 0x100000, CRC(79b94667) SHA1(31bba640c351fdccc6685cadb74dd79a3f910ce8) ) /* all GAME ROMs here are also known to be labeled as P1.0 */
|
||||
ROM_REGION( 0x2000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u133_game_rom.u133", 0x0000000, 0x100000, CRC(79b94667) SHA1(31bba640c351fdccc6685cadb74dd79a3f910ce8) ) // all GAME ROMs here are also known to be labeled as P1.0
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u132_game_rom.u132", 0x0000001, 0x100000, CRC(13e95228) SHA1(405b05f5a5a55667c2be17d4b399129bdacefd90) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u131_game_rom.u131", 0x0000002, 0x100000, CRC(41001e30) SHA1(2cec91116771951c0380cec5debf4cbb40c14c61) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u130_game_rom.u130", 0x0000003, 0x100000, CRC(49379dd7) SHA1(e6dfab4e23d9cc38ae56c1bbf10ccd160e8fad5e) )
|
||||
@ -897,12 +897,12 @@ ROM_START( umk3 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u123_game_rom.u123", 0x0800002, 0x100000, CRC(f0ab88a8) SHA1(cdc9dc12e162255845c6627b1e35182b7e8502d0) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u122_game_rom.u122", 0x0800003, 0x100000, CRC(9b87cdac) SHA1(a5f8db559293978f23e6f105543d8b2e170a2e0d) )
|
||||
|
||||
ROM_LOAD32_BYTE( "umk-u121.bin", 0x0c00000, 0x100000, CRC(cc4b95db) SHA1(3d53180eec649e9616c4b87db55573f12d9bfee3) ) /* PCB pictures show EPROMs labeled as: */
|
||||
ROM_LOAD32_BYTE( "umk-u120.bin", 0x0c00001, 0x100000, CRC(1c8144cd) SHA1(77cdc1eaf630ccb7233f5532f8b08191d00f0816) ) /* L2.0 MORTAL KOMBAT 3 Uxxx ULTIMATE */
|
||||
ROM_LOAD32_BYTE( "umk-u119.bin", 0x0c00002, 0x100000, CRC(5f10c543) SHA1(24dc83b7aa531ebd399258ffa7b2e028f1c4a28e) ) /* currently unverified if these are the same as for v1.0 & v1.1 UMK3 */
|
||||
ROM_LOAD32_BYTE( "umk-u121.bin", 0x0c00000, 0x100000, CRC(cc4b95db) SHA1(3d53180eec649e9616c4b87db55573f12d9bfee3) ) // PCB pictures show EPROMs labeled as:
|
||||
ROM_LOAD32_BYTE( "umk-u120.bin", 0x0c00001, 0x100000, CRC(1c8144cd) SHA1(77cdc1eaf630ccb7233f5532f8b08191d00f0816) ) // L2.0 MORTAL KOMBAT 3 Uxxx ULTIMATE
|
||||
ROM_LOAD32_BYTE( "umk-u119.bin", 0x0c00002, 0x100000, CRC(5f10c543) SHA1(24dc83b7aa531ebd399258ffa7b2e028f1c4a28e) ) // currently unverified if these are the same as for v1.0 & v1.1 UMK3
|
||||
ROM_LOAD32_BYTE( "umk-u118.bin", 0x0c00003, 0x100000, CRC(de0c4488) SHA1(227cab34798c440b2a45223567113df5f17d913f) )
|
||||
|
||||
/* sockets U114 through U117 are left empty for this version */
|
||||
// sockets U114 through U117 are left empty for this version
|
||||
|
||||
ROM_LOAD32_BYTE( "umk-u113.bin", 0x1400000, 0x100000, CRC(99d74a1e) SHA1(ed3068afa98287ea290d1f537f5009d3b6d683da) )
|
||||
ROM_LOAD32_BYTE( "umk-u112.bin", 0x1400001, 0x100000, CRC(b5a46488) SHA1(dbf22e55d200eb9ff550f48b223cf0c6114a9357) )
|
||||
@ -912,21 +912,21 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( umk3r11 )
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_LOAD16_BYTE( "l2.0_mortal_kombat_3_u2_ultimate.u2", 0x000000, 0x100000, CRC(3838cfe5) SHA1(e3d2901f3bae1362742fc6ee0aa31c9f63b4dfa3) ) /* verified labeled as L2.0 */
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l2.0_mortal_kombat_3_u2_ultimate.u2", 0x000000, 0x100000, CRC(3838cfe5) SHA1(e3d2901f3bae1362742fc6ee0aa31c9f63b4dfa3) ) // verified labeled as L2.0
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u3_music_spch.u3", 0x200000, 0x100000, CRC(856fe411) SHA1(6165ebecfce7500e948d84492ffa19eed7f47091) )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u4_music_spch.u4", 0x400000, 0x100000, CRC(428a406f) SHA1(e70ec83cd054de0da1e178720ed0035b8887f797) )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u5_music_spch.u5", 0x600000, 0x100000, CRC(3b98a09f) SHA1(edf1d02a56dcf3349e6b4bb4097acfe7592305f4) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l1.1_mortal_kombat_3_u54_ultimate.u54", 0x00000, 0x80000, CRC(8bb27659) SHA1(a3ffe3d8f21c261b36c7510d620d691a8bbf665b) )
|
||||
ROM_LOAD16_BYTE( "l1.1_mortal_kombat_3_u63_ultimate.u63", 0x00001, 0x80000, CRC(ea731783) SHA1(2915626090650c4b5adf5b26e736c3ec91ce81a6) )
|
||||
|
||||
ROM_REGION( 0x1009, "serial_security:pic", 0 ) /* security PIC (provides game ID code and serial number) */
|
||||
ROM_REGION( 0x1009, "serial_security:pic", 0 ) // security PIC (provides game ID code and serial number)
|
||||
ROM_LOAD( "463_mk3_ultimate.u64", 0x0000, 0x1009, CRC(4f425218) SHA1(7f26045ed2c9ca94fadcb673ce10f28208aa720e) )
|
||||
|
||||
ROM_REGION( 0x2000000, "gfxrom", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u133_game_rom.u133", 0x0000000, 0x100000, CRC(79b94667) SHA1(31bba640c351fdccc6685cadb74dd79a3f910ce8) ) /* all GAME ROMs here are also known to be labeled as P1.0 */
|
||||
ROM_REGION( 0x2000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u133_game_rom.u133", 0x0000000, 0x100000, CRC(79b94667) SHA1(31bba640c351fdccc6685cadb74dd79a3f910ce8) ) // all GAME ROMs here are also known to be labeled as P1.0
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u132_game_rom.u132", 0x0000001, 0x100000, CRC(13e95228) SHA1(405b05f5a5a55667c2be17d4b399129bdacefd90) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u131_game_rom.u131", 0x0000002, 0x100000, CRC(41001e30) SHA1(2cec91116771951c0380cec5debf4cbb40c14c61) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u130_game_rom.u130", 0x0000003, 0x100000, CRC(49379dd7) SHA1(e6dfab4e23d9cc38ae56c1bbf10ccd160e8fad5e) )
|
||||
@ -941,12 +941,12 @@ ROM_START( umk3r11 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u123_game_rom.u123", 0x0800002, 0x100000, CRC(f0ab88a8) SHA1(cdc9dc12e162255845c6627b1e35182b7e8502d0) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u122_game_rom.u122", 0x0800003, 0x100000, CRC(9b87cdac) SHA1(a5f8db559293978f23e6f105543d8b2e170a2e0d) )
|
||||
|
||||
ROM_LOAD32_BYTE( "mortal_kombat_iii_ultimate_u121_video_image.u121", 0x0c00000, 0x100000, CRC(cc4b95db) SHA1(3d53180eec649e9616c4b87db55573f12d9bfee3) ) /* Both v1.0 & v1.1 have been found with mask roms */
|
||||
ROM_LOAD32_BYTE( "mortal_kombat_iii_ultimate_u121_video_image.u121", 0x0c00000, 0x100000, CRC(cc4b95db) SHA1(3d53180eec649e9616c4b87db55573f12d9bfee3) ) // Both v1.0 & v1.1 have been found with mask roms
|
||||
ROM_LOAD32_BYTE( "mortal_kombat_iii_ultimate_u120_video_image.u120", 0x0c00001, 0x100000, CRC(1c8144cd) SHA1(77cdc1eaf630ccb7233f5532f8b08191d00f0816) )
|
||||
ROM_LOAD32_BYTE( "mortal_kombat_iii_ultimate_u119_video_image.u119", 0x0c00002, 0x100000, CRC(5f10c543) SHA1(24dc83b7aa531ebd399258ffa7b2e028f1c4a28e) )
|
||||
ROM_LOAD32_BYTE( "mortal_kombat_iii_ultimate_u118_video_image.u118", 0x0c00003, 0x100000, CRC(de0c4488) SHA1(227cab34798c440b2a45223567113df5f17d913f) )
|
||||
|
||||
/* sockets U114 through U117 are left empty for this version */
|
||||
// sockets U114 through U117 are left empty for this version
|
||||
|
||||
ROM_LOAD32_BYTE( "mortal_kombat_iii_ultimate_u113_video_image.u113", 0x1400000, 0x100000, CRC(99d74a1e) SHA1(ed3068afa98287ea290d1f537f5009d3b6d683da) )
|
||||
ROM_LOAD32_BYTE( "mortal_kombat_iii_ultimate_u112_video_image.u112", 0x1400001, 0x100000, CRC(b5a46488) SHA1(dbf22e55d200eb9ff550f48b223cf0c6114a9357) )
|
||||
@ -956,21 +956,21 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( umk3r10 )
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_LOAD16_BYTE( "l1.0_mortal_kombat_3_u2_ultimate.u2", 0x000000, 0x100000, CRC(3838cfe5) SHA1(e3d2901f3bae1362742fc6ee0aa31c9f63b4dfa3) ) /* verified labeled as L1.0 */
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1.0_mortal_kombat_3_u2_ultimate.u2", 0x000000, 0x100000, CRC(3838cfe5) SHA1(e3d2901f3bae1362742fc6ee0aa31c9f63b4dfa3) ) // verified labeled as L1.0
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u3_music_spch.u3", 0x200000, 0x100000, CRC(856fe411) SHA1(6165ebecfce7500e948d84492ffa19eed7f47091) )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u4_music_spch.u4", 0x400000, 0x100000, CRC(428a406f) SHA1(e70ec83cd054de0da1e178720ed0035b8887f797) )
|
||||
ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u5_music_spch.u5", 0x600000, 0x100000, CRC(3b98a09f) SHA1(edf1d02a56dcf3349e6b4bb4097acfe7592305f4) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l1.0_mortal_kombat_3_u54_ultimate.u54", 0x00000, 0x80000, CRC(dfd735da) SHA1(bcb6d80dbde407d0042ec2f225b2f98740a79203) )
|
||||
ROM_LOAD16_BYTE( "l1.0_mortal_kombat_3_u63_ultimate.u63", 0x00001, 0x80000, CRC(2dff0c83) SHA1(8942ffa3addf134085ea8d77d56e82593312e7a5) )
|
||||
|
||||
ROM_REGION( 0x1009, "serial_security:pic", 0 ) /* security PIC (provides game ID code and serial number) */
|
||||
ROM_REGION( 0x1009, "serial_security:pic", 0 ) // security PIC (provides game ID code and serial number)
|
||||
ROM_LOAD( "463_mk3_ultimate.u64", 0x0000, 0x1009, CRC(4f425218) SHA1(7f26045ed2c9ca94fadcb673ce10f28208aa720e) )
|
||||
|
||||
ROM_REGION( 0x2000000, "gfxrom", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u133_game_rom.u133", 0x0000000, 0x100000, CRC(79b94667) SHA1(31bba640c351fdccc6685cadb74dd79a3f910ce8) ) /* all GAME ROMs here are also known to be labeled as P1.0 */
|
||||
ROM_REGION( 0x2000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u133_game_rom.u133", 0x0000000, 0x100000, CRC(79b94667) SHA1(31bba640c351fdccc6685cadb74dd79a3f910ce8) ) // all GAME ROMs here are also known to be labeled as P1.0
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u132_game_rom.u132", 0x0000001, 0x100000, CRC(13e95228) SHA1(405b05f5a5a55667c2be17d4b399129bdacefd90) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u131_game_rom.u131", 0x0000002, 0x100000, CRC(41001e30) SHA1(2cec91116771951c0380cec5debf4cbb40c14c61) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u130_game_rom.u130", 0x0000003, 0x100000, CRC(49379dd7) SHA1(e6dfab4e23d9cc38ae56c1bbf10ccd160e8fad5e) )
|
||||
@ -985,12 +985,12 @@ ROM_START( umk3r10 )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u123_game_rom.u123", 0x0800002, 0x100000, CRC(f0ab88a8) SHA1(cdc9dc12e162255845c6627b1e35182b7e8502d0) )
|
||||
ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u122_game_rom.u122", 0x0800003, 0x100000, CRC(9b87cdac) SHA1(a5f8db559293978f23e6f105543d8b2e170a2e0d) )
|
||||
|
||||
ROM_LOAD32_BYTE( "mortal_kombat_iii_ultimate_u121_video_image.u121", 0x0c00000, 0x100000, CRC(cc4b95db) SHA1(3d53180eec649e9616c4b87db55573f12d9bfee3) ) /* Both v1.0 & v1.1 have been found with mask roms */
|
||||
ROM_LOAD32_BYTE( "mortal_kombat_iii_ultimate_u121_video_image.u121", 0x0c00000, 0x100000, CRC(cc4b95db) SHA1(3d53180eec649e9616c4b87db55573f12d9bfee3) ) // Both v1.0 & v1.1 have been found with mask roms
|
||||
ROM_LOAD32_BYTE( "mortal_kombat_iii_ultimate_u120_video_image.u120", 0x0c00001, 0x100000, CRC(1c8144cd) SHA1(77cdc1eaf630ccb7233f5532f8b08191d00f0816) )
|
||||
ROM_LOAD32_BYTE( "mortal_kombat_iii_ultimate_u119_video_image.u119", 0x0c00002, 0x100000, CRC(5f10c543) SHA1(24dc83b7aa531ebd399258ffa7b2e028f1c4a28e) )
|
||||
ROM_LOAD32_BYTE( "mortal_kombat_iii_ultimate_u118_video_image.u118", 0x0c00003, 0x100000, CRC(de0c4488) SHA1(227cab34798c440b2a45223567113df5f17d913f) )
|
||||
|
||||
/* sockets U114 through U117 are left empty for this version */
|
||||
// sockets U114 through U117 are left empty for this version
|
||||
|
||||
ROM_LOAD32_BYTE( "mortal_kombat_iii_ultimate_u113_video_image.u113", 0x1400000, 0x100000, CRC(99d74a1e) SHA1(ed3068afa98287ea290d1f537f5009d3b6d683da) )
|
||||
ROM_LOAD32_BYTE( "mortal_kombat_iii_ultimate_u112_video_image.u112", 0x1400001, 0x100000, CRC(b5a46488) SHA1(dbf22e55d200eb9ff550f48b223cf0c6114a9357) )
|
||||
@ -1000,85 +1000,85 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( openice )
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_LOAD16_BYTE( "open_ice_l1.2.u2", 0x000000, 0x100000, CRC(8adb5aab) SHA1(4c25bc051c90947f3366f83ac5ca8dc78e26b8a4) ) /* This one labeled as L1.2 */
|
||||
ROM_LOAD16_BYTE( "open_ice_l1.u3", 0x200000, 0x100000, CRC(11c61ad6) SHA1(324621d6b486399b6d5ede1fed39d4e448cdeb32) ) /* This one labeled as L1 */
|
||||
ROM_LOAD16_BYTE( "open_ice_l1.u4", 0x400000, 0x100000, CRC(04279290) SHA1(daf1e57137ae1c3434194054e69809bfe3ed1fc3) ) /* This one labeled as L1 */
|
||||
ROM_LOAD16_BYTE( "open_ice_l1.u5", 0x600000, 0x100000, CRC(e90ad61f) SHA1(59eeabcae7e0e70cdb4472cde64b8a28b07ede98) ) /* This one labeled as L1 */
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "open_ice_l1.2.u2", 0x000000, 0x100000, CRC(8adb5aab) SHA1(4c25bc051c90947f3366f83ac5ca8dc78e26b8a4) ) // This one labeled as L1.2
|
||||
ROM_LOAD16_BYTE( "open_ice_l1.u3", 0x200000, 0x100000, CRC(11c61ad6) SHA1(324621d6b486399b6d5ede1fed39d4e448cdeb32) ) // This one labeled as L1
|
||||
ROM_LOAD16_BYTE( "open_ice_l1.u4", 0x400000, 0x100000, CRC(04279290) SHA1(daf1e57137ae1c3434194054e69809bfe3ed1fc3) ) // This one labeled as L1
|
||||
ROM_LOAD16_BYTE( "open_ice_l1.u5", 0x600000, 0x100000, CRC(e90ad61f) SHA1(59eeabcae7e0e70cdb4472cde64b8a28b07ede98) ) // This one labeled as L1
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_LOAD16_BYTE( "open_ice_l1.21.u54", 0x00000, 0x80000, CRC(e4225284) SHA1(d5e267cf35826c106bb0a800363849ed4d489e56) ) /* Labeled as L1.21 */
|
||||
ROM_LOAD16_BYTE( "open_ice_l1.21.u63", 0x00001, 0x80000, CRC(97d308a3) SHA1(0a517fab77bc2277884587c7e29e392bb360d27b) ) /* Labeled as L1.21 */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "open_ice_l1.21.u54", 0x00000, 0x80000, CRC(e4225284) SHA1(d5e267cf35826c106bb0a800363849ed4d489e56) ) // Labeled as L1.21
|
||||
ROM_LOAD16_BYTE( "open_ice_l1.21.u63", 0x00001, 0x80000, CRC(97d308a3) SHA1(0a517fab77bc2277884587c7e29e392bb360d27b) ) // Labeled as L1.21
|
||||
|
||||
ROM_REGION( 0x2000000, "gfxrom", 0 )
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u133", 0x0000000, 0x100000, CRC(8a81605c) SHA1(cf397b8da242566b21579b90528857ccd2f93141) ) /* These 4 are labeled as L1.2 */
|
||||
ROM_REGION( 0x2000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u133", 0x0000000, 0x100000, CRC(8a81605c) SHA1(cf397b8da242566b21579b90528857ccd2f93141) ) // These 4 are labeled as L1.2
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u132", 0x0000001, 0x100000, CRC(cfdd6702) SHA1(0198d2cc2de93a8aa345ba0af8d92713d798be8a) )
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u131", 0x0000002, 0x100000, CRC(cc428eb7) SHA1(ff2403077453f24bd1b176f57b17649b1b64bccf) )
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u130", 0x0000003, 0x100000, CRC(74c2d50c) SHA1(7880a28b003aa44878384efcb72b98833383f67e) )
|
||||
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u129", 0x0400000, 0x100000, CRC(9e2ff012) SHA1(35160ab239f0d8efcb2dc67dee4bd8d204226e3d) ) /* These 4 are labeled as L1.2 */
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u129", 0x0400000, 0x100000, CRC(9e2ff012) SHA1(35160ab239f0d8efcb2dc67dee4bd8d204226e3d) ) // These 4 are labeled as L1.2
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u128", 0x0400001, 0x100000, CRC(35d2e610) SHA1(c4bd18f44592299f120344ecaf1464a8b31d80c8) )
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u127", 0x0400002, 0x100000, CRC(bcbf19fe) SHA1(e28f0238ef020b75b10318e5c3dd4c5472b3638a) )
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u126", 0x0400003, 0x100000, CRC(8e3106ae) SHA1(58d1fd097e23578195d28671f22cfa3ed161c0f5) )
|
||||
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.u125", 0x0800000, 0x100000, CRC(a7b54550) SHA1(83e3627c4e84466ec10023b0e2259ad86b791fd7) ) /* Yes, these 4 are labeled as L1, NOT L1.2 */
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.u125", 0x0800000, 0x100000, CRC(a7b54550) SHA1(83e3627c4e84466ec10023b0e2259ad86b791fd7) ) // Yes, these 4 are labeled as L1, NOT L1.2
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.u124", 0x0800001, 0x100000, CRC(7c02cb50) SHA1(92d24bcfd66396c52c823b816118eed39c4ef9cd) )
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.u123", 0x0800002, 0x100000, CRC(d543bd9d) SHA1(a9ff8589fe185ea058b549c2ed4e71f6c50e9638) )
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.u122", 0x0800003, 0x100000, CRC(3744d291) SHA1(e4484f377a66c4c64b015ef461419d956b6e23e4) )
|
||||
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u121", 0x0c00000, 0x100000, CRC(acd2f7c7) SHA1(82d6f09e63a825b118c36d668427011cd8892eaa) ) /* These 4 are labeled as L1.2 */
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u121", 0x0c00000, 0x100000, CRC(acd2f7c7) SHA1(82d6f09e63a825b118c36d668427011cd8892eaa) ) // These 4 are labeled as L1.2
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u120", 0x0c00001, 0x100000, CRC(4295686a) SHA1(2522e57335bb8cca6d76942d2fd62560f88e37a6) )
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u119", 0x0c00002, 0x100000, CRC(948b9b27) SHA1(62d031410f491d557e27ba055d3db9d36d5a153c) )
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u118", 0x0c00003, 0x100000, CRC(9eaaf93e) SHA1(56bd881df5282f659ac68ace960a3b085c13dd9d) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( openicea ) /* PCB had alternate ROM labels showing the dates & checksums */
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_LOAD16_BYTE( "open_ice_l1.2.u2", 0x000000, 0x100000, CRC(8adb5aab) SHA1(4c25bc051c90947f3366f83ac5ca8dc78e26b8a4) ) /* U2 OPEN ICE HOCKEY R1.2 10/10/95 1900 */
|
||||
ROM_LOAD16_BYTE( "open_ice_l1.u3", 0x200000, 0x100000, CRC(11c61ad6) SHA1(324621d6b486399b6d5ede1fed39d4e448cdeb32) ) /* U3 OPEN ICE HOCKEY 9/1/95 4D00 */
|
||||
ROM_LOAD16_BYTE( "open_ice_l1.u4", 0x400000, 0x100000, CRC(04279290) SHA1(daf1e57137ae1c3434194054e69809bfe3ed1fc3) ) /* U4 OPEN ICE HOCKEY 9/1/95 4700 */
|
||||
ROM_LOAD16_BYTE( "open_ice_l1.u5", 0x600000, 0x100000, CRC(e90ad61f) SHA1(59eeabcae7e0e70cdb4472cde64b8a28b07ede98) ) /* U5 OPEN ICE HOCKEY 9/1/95 C200 */
|
||||
ROM_START( openicea ) // PCB had alternate ROM labels showing the dates & checksums
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "open_ice_l1.2.u2", 0x000000, 0x100000, CRC(8adb5aab) SHA1(4c25bc051c90947f3366f83ac5ca8dc78e26b8a4) ) // U2 OPEN ICE HOCKEY R1.2 10/10/95 1900
|
||||
ROM_LOAD16_BYTE( "open_ice_l1.u3", 0x200000, 0x100000, CRC(11c61ad6) SHA1(324621d6b486399b6d5ede1fed39d4e448cdeb32) ) // U3 OPEN ICE HOCKEY 9/1/95 4D00
|
||||
ROM_LOAD16_BYTE( "open_ice_l1.u4", 0x400000, 0x100000, CRC(04279290) SHA1(daf1e57137ae1c3434194054e69809bfe3ed1fc3) ) // U4 OPEN ICE HOCKEY 9/1/95 4700
|
||||
ROM_LOAD16_BYTE( "open_ice_l1.u5", 0x600000, 0x100000, CRC(e90ad61f) SHA1(59eeabcae7e0e70cdb4472cde64b8a28b07ede98) ) // U5 OPEN ICE HOCKEY 9/1/95 C200
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_LOAD16_BYTE( "open_ice_781c_r1.2a.u54", 0x00000, 0x80000, CRC(63296053) SHA1(9f6fcb1f95a09165c211b569001563b56d06876c) ) /* hand written as 781C R1.21 - game reports as Revision 1.2A */
|
||||
ROM_LOAD16_BYTE( "open_ice_6937_r1.2a.u63", 0x00001, 0x80000, CRC(04441034) SHA1(d0af6305749a26adddb17aabb512e0347fcac767) ) /* hand written as 6937 R1.21 - game reports as Revision 1.2A */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "open_ice_781c_r1.2a.u54", 0x00000, 0x80000, CRC(63296053) SHA1(9f6fcb1f95a09165c211b569001563b56d06876c) ) // hand written as 781C R1.21 - game reports as Revision 1.2A
|
||||
ROM_LOAD16_BYTE( "open_ice_6937_r1.2a.u63", 0x00001, 0x80000, CRC(04441034) SHA1(d0af6305749a26adddb17aabb512e0347fcac767) ) // hand written as 6937 R1.21 - game reports as Revision 1.2A
|
||||
|
||||
ROM_REGION( 0x2000000, "gfxrom", 0 ) /* label for U133 is likely for v1.1 with different data for that bank of 4 roms dated 9/14/95 */
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u133", 0x0000000, 0x100000, CRC(8a81605c) SHA1(cf397b8da242566b21579b90528857ccd2f93141) ) /* 2M.0 U133 OPEN ICE HOCKEY 9/14/95 EE39 - however, this should be: 2M.0 U133 OPEN ICE HOCKEY 10/17/95 04E5 - Same as parent */
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u132", 0x0000001, 0x100000, CRC(cfdd6702) SHA1(0198d2cc2de93a8aa345ba0af8d92713d798be8a) ) /* 2M.1 U132 OPEN ICE HOCKEY 10/17/95 595E */
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u131", 0x0000002, 0x100000, CRC(cc428eb7) SHA1(ff2403077453f24bd1b176f57b17649b1b64bccf) ) /* 2M.2 U131 OPEN ICE HOCKEY 10/17/95 B2BF */
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u130", 0x0000003, 0x100000, CRC(74c2d50c) SHA1(7880a28b003aa44878384efcb72b98833383f67e) ) /* 2M.3 U130 OPEN ICE HOCKEY 10/17/95 D784 */
|
||||
ROM_REGION( 0x2000000, "video", 0 ) // label for U133 is likely for v1.1 with different data for that bank of 4 roms dated 9/14/95
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u133", 0x0000000, 0x100000, CRC(8a81605c) SHA1(cf397b8da242566b21579b90528857ccd2f93141) ) // 2M.0 U133 OPEN ICE HOCKEY 9/14/95 EE39 - however, this should be: 2M.0 U133 OPEN ICE HOCKEY 10/17/95 04E5 - Same as parent
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u132", 0x0000001, 0x100000, CRC(cfdd6702) SHA1(0198d2cc2de93a8aa345ba0af8d92713d798be8a) ) // 2M.1 U132 OPEN ICE HOCKEY 10/17/95 595E
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u131", 0x0000002, 0x100000, CRC(cc428eb7) SHA1(ff2403077453f24bd1b176f57b17649b1b64bccf) ) // 2M.2 U131 OPEN ICE HOCKEY 10/17/95 B2BF
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u130", 0x0000003, 0x100000, CRC(74c2d50c) SHA1(7880a28b003aa44878384efcb72b98833383f67e) ) // 2M.3 U130 OPEN ICE HOCKEY 10/17/95 D784
|
||||
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u129", 0x0400000, 0x100000, CRC(9e2ff012) SHA1(35160ab239f0d8efcb2dc67dee4bd8d204226e3d) ) /* 4M.0 U129 OPEN ICE HOCKEY 9/14/95 97E0 */
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u128", 0x0400001, 0x100000, CRC(35d2e610) SHA1(c4bd18f44592299f120344ecaf1464a8b31d80c8) ) /* 4M.1 U128 OPEN ICE HOCKEY 9/14/95 96FC */
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u127", 0x0400002, 0x100000, CRC(bcbf19fe) SHA1(e28f0238ef020b75b10318e5c3dd4c5472b3638a) ) /* 4M.2 U127 OPEN ICE HOCKEY 9/14/95 6A67 */
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u126", 0x0400003, 0x100000, CRC(8e3106ae) SHA1(58d1fd097e23578195d28671f22cfa3ed161c0f5) ) /* 4M.3 U126 OPEN ICE HOCKEY 9/14/95 E92F */
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u129", 0x0400000, 0x100000, CRC(9e2ff012) SHA1(35160ab239f0d8efcb2dc67dee4bd8d204226e3d) ) // 4M.0 U129 OPEN ICE HOCKEY 9/14/95 97E0
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u128", 0x0400001, 0x100000, CRC(35d2e610) SHA1(c4bd18f44592299f120344ecaf1464a8b31d80c8) ) // 4M.1 U128 OPEN ICE HOCKEY 9/14/95 96FC
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u127", 0x0400002, 0x100000, CRC(bcbf19fe) SHA1(e28f0238ef020b75b10318e5c3dd4c5472b3638a) ) // 4M.2 U127 OPEN ICE HOCKEY 9/14/95 6A67
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u126", 0x0400003, 0x100000, CRC(8e3106ae) SHA1(58d1fd097e23578195d28671f22cfa3ed161c0f5) ) // 4M.3 U126 OPEN ICE HOCKEY 9/14/95 E92F
|
||||
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.u125", 0x0800000, 0x100000, CRC(a7b54550) SHA1(83e3627c4e84466ec10023b0e2259ad86b791fd7) ) /* 6M.0 U125 OPEN ICE HOCKEY 7/11/95 23F8 */
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.u124", 0x0800001, 0x100000, CRC(7c02cb50) SHA1(92d24bcfd66396c52c823b816118eed39c4ef9cd) ) /* 6M.1 U124 OPEN ICE HOCKEY 7/11/95 A90C */
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.u123", 0x0800002, 0x100000, CRC(d543bd9d) SHA1(a9ff8589fe185ea058b549c2ed4e71f6c50e9638) ) /* 6M.2 U123 OPEN ICE HOCKEY 7/11/95 EA1C */
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.u122", 0x0800003, 0x100000, CRC(3744d291) SHA1(e4484f377a66c4c64b015ef461419d956b6e23e4) ) /* 6M.3 U122 OPEN ICE HOCKEY 7/11/95 AA6B */
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.u125", 0x0800000, 0x100000, CRC(a7b54550) SHA1(83e3627c4e84466ec10023b0e2259ad86b791fd7) ) // 6M.0 U125 OPEN ICE HOCKEY 7/11/95 23F8
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.u124", 0x0800001, 0x100000, CRC(7c02cb50) SHA1(92d24bcfd66396c52c823b816118eed39c4ef9cd) ) // 6M.1 U124 OPEN ICE HOCKEY 7/11/95 A90C
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.u123", 0x0800002, 0x100000, CRC(d543bd9d) SHA1(a9ff8589fe185ea058b549c2ed4e71f6c50e9638) ) // 6M.2 U123 OPEN ICE HOCKEY 7/11/95 EA1C
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.u122", 0x0800003, 0x100000, CRC(3744d291) SHA1(e4484f377a66c4c64b015ef461419d956b6e23e4) ) // 6M.3 U122 OPEN ICE HOCKEY 7/11/95 AA6B
|
||||
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u121", 0x0c00000, 0x100000, CRC(acd2f7c7) SHA1(82d6f09e63a825b118c36d668427011cd8892eaa) ) /* 8M.0 U121 OPEN ICE HOCKEY 9/14/95 0A39 */
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u120", 0x0c00001, 0x100000, CRC(4295686a) SHA1(2522e57335bb8cca6d76942d2fd62560f88e37a6) ) /* 8M.1 U120 OPEN ICE HOCKEY 9/14/95 64AD */
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u119", 0x0c00002, 0x100000, CRC(948b9b27) SHA1(62d031410f491d557e27ba055d3db9d36d5a153c) ) /* 8M.2 U119 OPEN ICE HOCKEY 9/14/95 3446 */
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u118", 0x0c00003, 0x100000, CRC(9eaaf93e) SHA1(56bd881df5282f659ac68ace960a3b085c13dd9d) ) /* 8M.3 U118 OPEN ICE HOCKEY 9/14/95 3FD9 */
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u121", 0x0c00000, 0x100000, CRC(acd2f7c7) SHA1(82d6f09e63a825b118c36d668427011cd8892eaa) ) // 8M.0 U121 OPEN ICE HOCKEY 9/14/95 0A39
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u120", 0x0c00001, 0x100000, CRC(4295686a) SHA1(2522e57335bb8cca6d76942d2fd62560f88e37a6) ) // 8M.1 U120 OPEN ICE HOCKEY 9/14/95 64AD
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u119", 0x0c00002, 0x100000, CRC(948b9b27) SHA1(62d031410f491d557e27ba055d3db9d36d5a153c) ) // 8M.2 U119 OPEN ICE HOCKEY 9/14/95 3446
|
||||
ROM_LOAD32_BYTE( "open_ice_l1.2.u118", 0x0c00003, 0x100000, CRC(9eaaf93e) SHA1(56bd881df5282f659ac68ace960a3b085c13dd9d) ) // 8M.3 U118 OPEN ICE HOCKEY 9/14/95 3FD9
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( nbahangt )
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_2_music_spch.u2", 0x000000, 0x100000, CRC(3f0b0d0a) SHA1(e3b8a264686ce7359d86e4926237d8cf17612991) ) // Labeled: L1.0 NBA HANGTIME U 2 MUSIC/SPCH
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_3_music_spch.u3", 0x200000, 0x100000, CRC(ec1db988) SHA1(1cf06d0b75f20ded7db648070e85c056043765bb) )
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_4_music_spch.u4", 0x400000, 0x100000, CRC(c7f847a3) SHA1(c50175dffa3563ccd5792c59a6b44523f4014544) )
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_5_music_spch.u5", 0x600000, 0x100000, CRC(ef19316a) SHA1(d41ae87ab45630a37c73684de42f7f6e0ed8f13b) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l1.3_nba_hangtime_u_54_game_rom.u54", 0x00000, 0x80000, CRC(fd9ccca2) SHA1(fc38d2440dd0712d7d5e2d2cca9635efd63a3d85) )
|
||||
ROM_LOAD16_BYTE( "l1.3_nba_hangtime_u_63_game_rom.u63", 0x00001, 0x80000, CRC(57de886f) SHA1(7cc127c7db7a68ea716914f7ddbbaf1356937f97) )
|
||||
|
||||
ROM_REGION( 0x2000000, "gfxrom", 0 )
|
||||
ROM_REGION( 0x2000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_133_image_rom.u133", 0x0000000, 0x100000, CRC(3163feed) SHA1(eb7f128de306933929a0933e36e57760459cb0a1) )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_132_image_rom.u132", 0x0000001, 0x100000, CRC(428eaf44) SHA1(2897efef4ab1653870b5bebb2762ea85549da03a) )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_131_image_rom.u131", 0x0000002, 0x100000, CRC(5f7c5111) SHA1(14337f50b7b98254b54250af00f8a4a46bd7ee8d) )
|
||||
@ -1109,17 +1109,17 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( nbahangtm13 )
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_2_music_spch.u2", 0x000000, 0x100000, CRC(3f0b0d0a) SHA1(e3b8a264686ce7359d86e4926237d8cf17612991) ) // Labeled: L1.0 NBA HANGTIME U 2 MUSIC/SPCH
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_3_music_spch.u3", 0x200000, 0x100000, CRC(ec1db988) SHA1(1cf06d0b75f20ded7db648070e85c056043765bb) )
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_4_music_spch.u4", 0x400000, 0x100000, CRC(c7f847a3) SHA1(c50175dffa3563ccd5792c59a6b44523f4014544) )
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_5_music_spch.u5", 0x600000, 0x100000, CRC(ef19316a) SHA1(d41ae87ab45630a37c73684de42f7f6e0ed8f13b) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "m1.3_nba_hangtime_u_54_game_rom.u54", 0x00000, 0x80000, CRC(3ee3a9f4) SHA1(e5c2ab23f03af5aa493fcc3250f6e9bf38040793) )
|
||||
ROM_LOAD16_BYTE( "m1.3_nba_hangtime_u_63_game_rom.u63", 0x00001, 0x80000, CRC(42e6aeca) SHA1(468ad4095ea54be77e59def04b78fd5fed0616e5) )
|
||||
|
||||
ROM_REGION( 0x2000000, "gfxrom", 0 )
|
||||
ROM_REGION( 0x2000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_133_image_rom.u133", 0x0000000, 0x100000, CRC(3163feed) SHA1(eb7f128de306933929a0933e36e57760459cb0a1) )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_132_image_rom.u132", 0x0000001, 0x100000, CRC(428eaf44) SHA1(2897efef4ab1653870b5bebb2762ea85549da03a) )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_131_image_rom.u131", 0x0000002, 0x100000, CRC(5f7c5111) SHA1(14337f50b7b98254b54250af00f8a4a46bd7ee8d) )
|
||||
@ -1150,17 +1150,17 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( nbahangtl12 )
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_2_music_spch.u2", 0x000000, 0x100000, CRC(3f0b0d0a) SHA1(e3b8a264686ce7359d86e4926237d8cf17612991) ) // Labeled: L1.0 NBA HANGTIME U 2 MUSIC/SPCH
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_3_music_spch.u3", 0x200000, 0x100000, CRC(ec1db988) SHA1(1cf06d0b75f20ded7db648070e85c056043765bb) )
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_4_music_spch.u4", 0x400000, 0x100000, CRC(c7f847a3) SHA1(c50175dffa3563ccd5792c59a6b44523f4014544) )
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_5_music_spch.u5", 0x600000, 0x100000, CRC(ef19316a) SHA1(d41ae87ab45630a37c73684de42f7f6e0ed8f13b) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l1.2_nba_hangtime_u_54_game_rom.u54", 0x00000, 0x80000, CRC(c90dc3cd) SHA1(62d74e3f9ca290c2cdf0fdc7dbcd7f4004454d46) )
|
||||
ROM_LOAD16_BYTE( "l1.2_nba_hangtime_u_63_game_rom.u63", 0x00001, 0x80000, CRC(1883c461) SHA1(6e72b4d55041cc8d50f2591013b75dd75aa8a9dd) )
|
||||
|
||||
ROM_REGION( 0x2000000, "gfxrom", 0 )
|
||||
ROM_REGION( 0x2000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_133_image_rom.u133", 0x0000000, 0x100000, CRC(3163feed) SHA1(eb7f128de306933929a0933e36e57760459cb0a1) )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_132_image_rom.u132", 0x0000001, 0x100000, CRC(428eaf44) SHA1(2897efef4ab1653870b5bebb2762ea85549da03a) )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_131_image_rom.u131", 0x0000002, 0x100000, CRC(5f7c5111) SHA1(14337f50b7b98254b54250af00f8a4a46bd7ee8d) )
|
||||
@ -1191,17 +1191,17 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( nbahangtm12 )
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_2_music_spch.u2", 0x000000, 0x100000, CRC(3f0b0d0a) SHA1(e3b8a264686ce7359d86e4926237d8cf17612991) ) // Labeled: L1.0 NBA HANGTIME U 2 MUSIC/SPCH
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_3_music_spch.u3", 0x200000, 0x100000, CRC(ec1db988) SHA1(1cf06d0b75f20ded7db648070e85c056043765bb) )
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_4_music_spch.u4", 0x400000, 0x100000, CRC(c7f847a3) SHA1(c50175dffa3563ccd5792c59a6b44523f4014544) )
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_5_music_spch.u5", 0x600000, 0x100000, CRC(ef19316a) SHA1(d41ae87ab45630a37c73684de42f7f6e0ed8f13b) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "m1.2_nba_hangtime_u_54_game_rom.u54", 0x00000, 0x80000, CRC(3be47f64) SHA1(71b54037b89c11c031c1db0e3112ae08f7f28e8c) )
|
||||
ROM_LOAD16_BYTE( "m1.2_nba_hangtime_u_63_game_rom.u63", 0x00001, 0x80000, CRC(ba4344ae) SHA1(86557a21411c18136ac4383cc7e0da78b6f01235) )
|
||||
|
||||
ROM_REGION( 0x2000000, "gfxrom", 0 )
|
||||
ROM_REGION( 0x2000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_133_image_rom.u133", 0x0000000, 0x100000, CRC(3163feed) SHA1(eb7f128de306933929a0933e36e57760459cb0a1) )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_132_image_rom.u132", 0x0000001, 0x100000, CRC(428eaf44) SHA1(2897efef4ab1653870b5bebb2762ea85549da03a) )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_131_image_rom.u131", 0x0000002, 0x100000, CRC(5f7c5111) SHA1(14337f50b7b98254b54250af00f8a4a46bd7ee8d) )
|
||||
@ -1232,17 +1232,17 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( nbahangtl11 )
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_2_music_spch.u2", 0x000000, 0x100000, CRC(3f0b0d0a) SHA1(e3b8a264686ce7359d86e4926237d8cf17612991) ) // Labeled: L1.0 NBA HANGTIME U 2 MUSIC/SPCH
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_3_music_spch.u3", 0x200000, 0x100000, CRC(ec1db988) SHA1(1cf06d0b75f20ded7db648070e85c056043765bb) )
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_4_music_spch.u4", 0x400000, 0x100000, CRC(c7f847a3) SHA1(c50175dffa3563ccd5792c59a6b44523f4014544) )
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_5_music_spch.u5", 0x600000, 0x100000, CRC(ef19316a) SHA1(d41ae87ab45630a37c73684de42f7f6e0ed8f13b) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l1.1_nba_hangtime_u_54_game_rom.u54", 0x00000, 0x80000, CRC(c2875d98) SHA1(3f88f6f5c15ae03bedda39f71a1deaf549a55516) )
|
||||
ROM_LOAD16_BYTE( "l1.1_nba_hangtime_u_63_game_rom.u63", 0x00001, 0x80000, CRC(6f4728c3) SHA1(c059f4aa72cc5c3edc41e72428b3ebba97cc9417) )
|
||||
|
||||
ROM_REGION( 0x2000000, "gfxrom", 0 )
|
||||
ROM_REGION( 0x2000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_133_image_rom.u133", 0x0000000, 0x100000, CRC(3163feed) SHA1(eb7f128de306933929a0933e36e57760459cb0a1) )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_132_image_rom.u132", 0x0000001, 0x100000, CRC(428eaf44) SHA1(2897efef4ab1653870b5bebb2762ea85549da03a) )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_131_image_rom.u131", 0x0000002, 0x100000, CRC(5f7c5111) SHA1(14337f50b7b98254b54250af00f8a4a46bd7ee8d) )
|
||||
@ -1273,17 +1273,17 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( nbahangtm11 )
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_2_music_spch.u2", 0x000000, 0x100000, CRC(3f0b0d0a) SHA1(e3b8a264686ce7359d86e4926237d8cf17612991) ) // Labeled: L1.0 NBA HANGTIME U 2 MUSIC/SPCH
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_3_music_spch.u3", 0x200000, 0x100000, CRC(ec1db988) SHA1(1cf06d0b75f20ded7db648070e85c056043765bb) )
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_4_music_spch.u4", 0x400000, 0x100000, CRC(c7f847a3) SHA1(c50175dffa3563ccd5792c59a6b44523f4014544) )
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_5_music_spch.u5", 0x600000, 0x100000, CRC(ef19316a) SHA1(d41ae87ab45630a37c73684de42f7f6e0ed8f13b) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "m1.1_nba_hangtime_u_54_game_rom.u54", 0x00000, 0x80000, CRC(113b37f4) SHA1(61fac820a6f6bf9ca74a52d7d4f718e08fc58a36) )
|
||||
ROM_LOAD16_BYTE( "m1.1_nba_hangtime_u_63_game_rom.u63", 0x00001, 0x80000, CRC(beaa3e92) SHA1(86b2c8278f200fea3df3f4b9e5ceea37cb0e6191) )
|
||||
|
||||
ROM_REGION( 0x2000000, "gfxrom", 0 )
|
||||
ROM_REGION( 0x2000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_133_image_rom.u133", 0x0000000, 0x100000, CRC(3163feed) SHA1(eb7f128de306933929a0933e36e57760459cb0a1) )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_132_image_rom.u132", 0x0000001, 0x100000, CRC(428eaf44) SHA1(2897efef4ab1653870b5bebb2762ea85549da03a) )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_131_image_rom.u131", 0x0000002, 0x100000, CRC(5f7c5111) SHA1(14337f50b7b98254b54250af00f8a4a46bd7ee8d) )
|
||||
@ -1323,17 +1323,17 @@ There are known "M" versions (EX: MAX HANGTIME - VER M1.0 11/08/96 ), but it's n
|
||||
those and a standard "L" version. In fact the ROM labels specifically state they are "L" Version ROMs
|
||||
*/
|
||||
ROM_START( nbamht )
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_2_music_spch.u2", 0x000000, 0x100000, CRC(3f0b0d0a) SHA1(e3b8a264686ce7359d86e4926237d8cf17612991) ) // Uses NBA Hangtime MUSIC/SPCH ROMs - verified correct
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_3_music_spch.u3", 0x200000, 0x100000, CRC(ec1db988) SHA1(1cf06d0b75f20ded7db648070e85c056043765bb) )
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_4_music_spch.u4", 0x400000, 0x100000, CRC(c7f847a3) SHA1(c50175dffa3563ccd5792c59a6b44523f4014544) )
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_5_music_spch.u5", 0x600000, 0x100000, CRC(ef19316a) SHA1(d41ae87ab45630a37c73684de42f7f6e0ed8f13b) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l1.03_maximum_hangtime_u54_l_version.u54", 0x00000, 0x80000, CRC(21b0d9e1) SHA1(34fa928bdb222fba1fec2a9f37b853f77922250f) ) // Labeled: L1.03 Maximum Hangtime U54 "L" Version
|
||||
ROM_LOAD16_BYTE( "l1.03_maximum_hangtime_u63_l_version.u63", 0x00001, 0x80000, CRC(c6fdbb97) SHA1(e6cf0c6a94441befdde40b620a182877c11582a5) ) // Labeled: L1.03 Maximum Hangtime U63 "L" Version
|
||||
|
||||
ROM_REGION( 0x2000000, "gfxrom", 0 )
|
||||
ROM_REGION( 0x2000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_133_image_rom.u133", 0x0000000, 0x100000, CRC(3163feed) SHA1(eb7f128de306933929a0933e36e57760459cb0a1) ) // Uses NBA Hangtime IMAGE ROMs - verified correct
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_132_image_rom.u132", 0x0000001, 0x100000, CRC(428eaf44) SHA1(2897efef4ab1653870b5bebb2762ea85549da03a) )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_131_image_rom.u131", 0x0000002, 0x100000, CRC(5f7c5111) SHA1(14337f50b7b98254b54250af00f8a4a46bd7ee8d) )
|
||||
@ -1364,17 +1364,17 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( nbamhtl10 )
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_2_music_spch.u2", 0x000000, 0x100000, CRC(3f0b0d0a) SHA1(e3b8a264686ce7359d86e4926237d8cf17612991) ) // Uses NBA Hangtime MUSIC/SPCH ROMs - verified correct
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_3_music_spch.u3", 0x200000, 0x100000, CRC(ec1db988) SHA1(1cf06d0b75f20ded7db648070e85c056043765bb) )
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_4_music_spch.u4", 0x400000, 0x100000, CRC(c7f847a3) SHA1(c50175dffa3563ccd5792c59a6b44523f4014544) )
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_5_music_spch.u5", 0x600000, 0x100000, CRC(ef19316a) SHA1(d41ae87ab45630a37c73684de42f7f6e0ed8f13b) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l1.0_maximum_hangtime_u54_l_version.u54", 0x00000, 0x80000, CRC(dfb6b3ae) SHA1(1dc59a2d89bf9764a47cebf71b9657c6ae7ce959) ) // Labeled: L1.0 Maximum Hangtime U54 "L" Version
|
||||
ROM_LOAD16_BYTE( "l1.0_maximum_hangtime_u63_l_version.u63", 0x00001, 0x80000, CRC(78da472c) SHA1(b4573ff19dc0d8a99f1bceace872e4999d53317a) ) // Labeled: L1.0 Maximum Hangtime U63 "L" Version
|
||||
|
||||
ROM_REGION( 0x2000000, "gfxrom", 0 )
|
||||
ROM_REGION( 0x2000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_133_image_rom.u133", 0x0000000, 0x100000, CRC(3163feed) SHA1(eb7f128de306933929a0933e36e57760459cb0a1) ) // Uses NBA Hangtime IMAGE ROMs - verified correct
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_132_image_rom.u132", 0x0000001, 0x100000, CRC(428eaf44) SHA1(2897efef4ab1653870b5bebb2762ea85549da03a) )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_131_image_rom.u131", 0x0000002, 0x100000, CRC(5f7c5111) SHA1(14337f50b7b98254b54250af00f8a4a46bd7ee8d) )
|
||||
@ -1405,17 +1405,17 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( nbamhtm10 )
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_2_music_spch.u2", 0x000000, 0x100000, CRC(3f0b0d0a) SHA1(e3b8a264686ce7359d86e4926237d8cf17612991) ) // Uses NBA Hangtime MUSIC/SPCH ROMs - verified correct
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_3_music_spch.u3", 0x200000, 0x100000, CRC(ec1db988) SHA1(1cf06d0b75f20ded7db648070e85c056043765bb) )
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_4_music_spch.u4", 0x400000, 0x100000, CRC(c7f847a3) SHA1(c50175dffa3563ccd5792c59a6b44523f4014544) )
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_5_music_spch.u5", 0x600000, 0x100000, CRC(ef19316a) SHA1(d41ae87ab45630a37c73684de42f7f6e0ed8f13b) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "m1.0_maximum_hangtime_u54_m_version.u54", 0x00000, 0x80000, CRC(e4e665d5) SHA1(8111536e041f69ec35284bf3cae40a85a48d7331) ) // Labeled: L1.0 Maximum Hangtime U54 "M" Version
|
||||
ROM_LOAD16_BYTE( "m1.0_maximum_hangtime_u63_m_version.u63", 0x00001, 0x80000, CRC(51cfda55) SHA1(e8c8326fd57af9916a7fb8159b1d0901f30fd331) ) // Labeled: L1.0 Maximum Hangtime U63 "M" Version
|
||||
|
||||
ROM_REGION( 0x2000000, "gfxrom", 0 )
|
||||
ROM_REGION( 0x2000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_133_image_rom.u133", 0x0000000, 0x100000, CRC(3163feed) SHA1(eb7f128de306933929a0933e36e57760459cb0a1) ) // Uses NBA Hangtime IMAGE ROMs - verified correct
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_132_image_rom.u132", 0x0000001, 0x100000, CRC(428eaf44) SHA1(2897efef4ab1653870b5bebb2762ea85549da03a) )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_131_image_rom.u131", 0x0000002, 0x100000, CRC(5f7c5111) SHA1(14337f50b7b98254b54250af00f8a4a46bd7ee8d) )
|
||||
@ -1446,17 +1446,17 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( nbamhtp )
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_2_music_spch.u2", 0x000000, 0x100000, CRC(3f0b0d0a) SHA1(e3b8a264686ce7359d86e4926237d8cf17612991) ) // Uses NBA Hangtime MUSIC/SPCH ROMs - verified correct
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_3_music_spch.u3", 0x200000, 0x100000, CRC(ec1db988) SHA1(1cf06d0b75f20ded7db648070e85c056043765bb) )
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_4_music_spch.u4", 0x400000, 0x100000, CRC(c7f847a3) SHA1(c50175dffa3563ccd5792c59a6b44523f4014544) )
|
||||
ROM_LOAD16_BYTE( "l1.0_nba_hangtime_u_5_music_spch.u5", 0x600000, 0x100000, CRC(ef19316a) SHA1(d41ae87ab45630a37c73684de42f7f6e0ed8f13b) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "l0.9_maximum_hangtime_u54_l_version.u54", 0x00000, 0x80000, CRC(0fbed60e) SHA1(a017d498a901c1608ffecfe0fb2ec82c7a23f4ea) )
|
||||
ROM_LOAD16_BYTE( "l0.9_maximum_hangtime_u63_l_version.u63", 0x00001, 0x80000, CRC(a064645a) SHA1(43dba6f64ef1d940f1d1b1764addf40359fcdb51) )
|
||||
|
||||
ROM_REGION( 0x2000000, "gfxrom", 0 )
|
||||
ROM_REGION( 0x2000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_133_image_rom.u133", 0x0000000, 0x100000, CRC(3163feed) SHA1(eb7f128de306933929a0933e36e57760459cb0a1) ) // Uses NBA Hangtime IMAGE ROMs - verified correct
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_132_image_rom.u132", 0x0000001, 0x100000, CRC(428eaf44) SHA1(2897efef4ab1653870b5bebb2762ea85549da03a) )
|
||||
ROM_LOAD32_BYTE( "l1.0_nba_hangtime_u_131_image_rom.u131", 0x0000002, 0x100000, CRC(5f7c5111) SHA1(14337f50b7b98254b54250af00f8a4a46bd7ee8d) )
|
||||
@ -1487,20 +1487,20 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( rmpgwt )
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "1.0_rampage_world_tour_u2_sound.u2", 0x000000, 0x100000, CRC(0e82f83d) SHA1(215eebb6c229ef9ad0fcbcbc6e4e07300c05654f) )
|
||||
ROM_LOAD16_BYTE( "1.0_rampage_world_tour_u3_sound.u3", 0x200000, 0x100000, CRC(3ff54d15) SHA1(827805602091313ec68ea1bccf667bd3b3fc6b8b) )
|
||||
ROM_LOAD16_BYTE( "1.0_rampage_world_tour_u4_sound.u4", 0x400000, 0x100000, CRC(5c7f5656) SHA1(6c9d692bad539fec8b5aa0bfb56de3ef3719c68a) )
|
||||
ROM_LOAD16_BYTE( "1.0_rampage_world_tour_u5_sound.u5", 0x600000, 0x100000, CRC(fd9aaf24) SHA1(d60dc076e72618c99ecac9d081d8c49d337b90c7) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "1.3_rampage_world_u54_game.u54", 0x00000, 0x80000, CRC(2a8f6e1e) SHA1(7a87ad37fa1d1228c4cdd4704ff0aee42e9c86cb) )
|
||||
ROM_LOAD16_BYTE( "1.3_rampage_world_u63_game.u63", 0x00001, 0x80000, CRC(403ae41e) SHA1(c08d9352efe63849f5d10c1bd1efe2b9dd7382e0) )
|
||||
|
||||
ROM_REGION( 0x1009, "serial_security:pic", 0 ) /* security PIC (provides game ID code and serial number) */
|
||||
ROM_REGION( 0x1009, "serial_security:pic", 0 ) // security PIC (provides game ID code and serial number)
|
||||
ROM_LOAD( "465_rampage_wt.u64", 0x0000, 0x1009, CRC(5c14d850) SHA1(f57aef8350e477252bff1fa0f930c1b5d0ceb03f) )
|
||||
|
||||
ROM_REGION( 0x2000000, "gfxrom", 0 )
|
||||
ROM_REGION( 0x2000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "1.0_rampage_world_tour_u133_image.u133", 0x0000000, 0x100000, CRC(5b5ac449) SHA1(1c01dde9a9dbd9f4a6cd30aea9f6410cab13c2c9) )
|
||||
ROM_LOAD32_BYTE( "1.0_rampage_world_tour_u132_image.u132", 0x0000001, 0x100000, CRC(7b3f09c6) SHA1(477658481ee96d5ce462d5e198d80faff4d4352c) )
|
||||
ROM_LOAD32_BYTE( "1.0_rampage_world_tour_u131_image.u131", 0x0000002, 0x100000, CRC(fdecf12e) SHA1(bcbd29009dabed484e2357dc75c38c7d7bade251) )
|
||||
@ -1524,20 +1524,20 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( rmpgwt11 )
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "1.0_rampage_world_tour_u2_sound.u2", 0x000000, 0x100000, CRC(0e82f83d) SHA1(215eebb6c229ef9ad0fcbcbc6e4e07300c05654f) )
|
||||
ROM_LOAD16_BYTE( "1.0_rampage_world_tour_u3_sound.u3", 0x200000, 0x100000, CRC(3ff54d15) SHA1(827805602091313ec68ea1bccf667bd3b3fc6b8b) )
|
||||
ROM_LOAD16_BYTE( "1.0_rampage_world_tour_u4_sound.u4", 0x400000, 0x100000, CRC(5c7f5656) SHA1(6c9d692bad539fec8b5aa0bfb56de3ef3719c68a) )
|
||||
ROM_LOAD16_BYTE( "1.0_rampage_world_tour_u5_sound.u5", 0x600000, 0x100000, CRC(fd9aaf24) SHA1(d60dc076e72618c99ecac9d081d8c49d337b90c7) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "1.1_rampage_world_u54_game.u54", 0x00000, 0x80000, CRC(3aa514eb) SHA1(4ed8db55f257da6d872586d0f9f0cdf1c30e0d22) )
|
||||
ROM_LOAD16_BYTE( "1.1_rampage_world_u63_game.u63", 0x00001, 0x80000, CRC(031c908f) SHA1(531669b13c33921ff199be1e841dd337c86fec50) )
|
||||
|
||||
ROM_REGION( 0x1009, "serial_security:pic", 0 ) /* security PIC (provides game ID code and serial number) */
|
||||
ROM_REGION( 0x1009, "serial_security:pic", 0 ) // security PIC (provides game ID code and serial number)
|
||||
ROM_LOAD( "465_rampage_wt.u64", 0x0000, 0x1009, CRC(5c14d850) SHA1(f57aef8350e477252bff1fa0f930c1b5d0ceb03f) )
|
||||
|
||||
ROM_REGION( 0x2000000, "gfxrom", 0 )
|
||||
ROM_REGION( 0x2000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "1.0_rampage_world_tour_u133_image.u133", 0x0000000, 0x100000, CRC(5b5ac449) SHA1(1c01dde9a9dbd9f4a6cd30aea9f6410cab13c2c9) )
|
||||
ROM_LOAD32_BYTE( "1.0_rampage_world_tour_u132_image.u132", 0x0000001, 0x100000, CRC(7b3f09c6) SHA1(477658481ee96d5ce462d5e198d80faff4d4352c) )
|
||||
ROM_LOAD32_BYTE( "1.0_rampage_world_tour_u131_image.u131", 0x0000002, 0x100000, CRC(fdecf12e) SHA1(bcbd29009dabed484e2357dc75c38c7d7bade251) )
|
||||
@ -1592,18 +1592,18 @@ U63 WRESTLEMANIA Rev1.3 8/9/95 9EFE
|
||||
8M.3 U118 WRESTLEMANIA REV1.0 6/5/95 E4F1
|
||||
*/
|
||||
ROM_START( wwfmania )
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_LOAD16_BYTE( "wwf_music-spch_l1.u2", 0x000000, 0x100000, CRC(a9acb250) SHA1(c1a7773ffdb86dc2c1c90c220482ed6330fcbb55) ) /* These 4 are labeled as L1 */
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "wwf_music-spch_l1.u2", 0x000000, 0x100000, CRC(a9acb250) SHA1(c1a7773ffdb86dc2c1c90c220482ed6330fcbb55) ) // These 4 are labeled as L1
|
||||
ROM_LOAD16_BYTE( "wwf_music-spch_l1.u3", 0x200000, 0x100000, CRC(9442b6c9) SHA1(1f887c05ab9ca99078be584d7e9e6c59c8ec1818) )
|
||||
ROM_LOAD16_BYTE( "wwf_music-spch_l1.u4", 0x400000, 0x100000, CRC(cee78fac) SHA1(c37d3b4aef47dc80d864497b3013f03220d45482) )
|
||||
ROM_LOAD16_BYTE( "wwf_music-spch_l1.u5", 0x600000, 0x100000, CRC(5b31fd40) SHA1(35dcf19b223029e17616357d29dd04bbfeb83491) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_LOAD16_BYTE( "wwf_game_rom_l1.30.u54", 0x00000, 0x80000, CRC(eeb7bf58) SHA1(d93df59aed1672ab38af231d909d9df1a8e30f44) ) /* Labeled as L1.30 */
|
||||
ROM_LOAD16_BYTE( "wwf_game_rom_l1.30.u63", 0x00001, 0x80000, CRC(09759529) SHA1(cf548ff199428a93b9bc5f4fc1347c4a3cbdf106) ) /* Labeled as L1.30 */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "wwf_game_rom_l1.30.u54", 0x00000, 0x80000, CRC(eeb7bf58) SHA1(d93df59aed1672ab38af231d909d9df1a8e30f44) ) // Labeled as L1.30
|
||||
ROM_LOAD16_BYTE( "wwf_game_rom_l1.30.u63", 0x00001, 0x80000, CRC(09759529) SHA1(cf548ff199428a93b9bc5f4fc1347c4a3cbdf106) ) // Labeled as L1.30
|
||||
|
||||
ROM_REGION( 0x2000000, "gfxrom", 0 )
|
||||
ROM_LOAD32_BYTE( "wwf_image_rom_l1.u133", 0x0000000, 0x100000, CRC(5e1b1e3d) SHA1(55f54e4b0dc775058699b1c0abdd7241ffca0e76) ) /* All graphics roms labeled as L1 */
|
||||
ROM_REGION( 0x2000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "wwf_image_rom_l1.u133", 0x0000000, 0x100000, CRC(5e1b1e3d) SHA1(55f54e4b0dc775058699b1c0abdd7241ffca0e76) ) // All graphics roms labeled as L1
|
||||
ROM_LOAD32_BYTE( "wwf_image_rom_l1.u132", 0x0000001, 0x100000, CRC(5943b3b2) SHA1(8ba0b20e7993769736c961d0fda97b2850d1446b) )
|
||||
ROM_LOAD32_BYTE( "wwf_image_rom_l1.u131", 0x0000002, 0x100000, CRC(0815db22) SHA1(ebd6a8c4f0e8d979af7f173b3f139d91e4857f6b) )
|
||||
ROM_LOAD32_BYTE( "wwf_image_rom_l1.u130", 0x0000003, 0x100000, CRC(9ee9a145) SHA1(caeb8506e1414e8c58e3031d4a2e0619ef3922b7) )
|
||||
@ -1626,18 +1626,18 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( wwfmaniab )
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_LOAD16_BYTE( "wwf_music-spch_l1.u2", 0x000000, 0x100000, CRC(a9acb250) SHA1(c1a7773ffdb86dc2c1c90c220482ed6330fcbb55) ) /* These 4 are labeled as L1 */
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "wwf_music-spch_l1.u2", 0x000000, 0x100000, CRC(a9acb250) SHA1(c1a7773ffdb86dc2c1c90c220482ed6330fcbb55) ) // These 4 are labeled as L1
|
||||
ROM_LOAD16_BYTE( "wwf_music-spch_l1.u3", 0x200000, 0x100000, CRC(9442b6c9) SHA1(1f887c05ab9ca99078be584d7e9e6c59c8ec1818) )
|
||||
ROM_LOAD16_BYTE( "wwf_music-spch_l1.u4", 0x400000, 0x100000, CRC(cee78fac) SHA1(c37d3b4aef47dc80d864497b3013f03220d45482) )
|
||||
ROM_LOAD16_BYTE( "wwf_music-spch_l1.u5", 0x600000, 0x100000, CRC(5b31fd40) SHA1(35dcf19b223029e17616357d29dd04bbfeb83491) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_LOAD16_BYTE( "wwf_game_rom_l1.20.u54", 0x00000, 0x80000, CRC(1b2dce48) SHA1(f70b6c5b56f9fc15cedfd8e0a95f983f3ea6dbb7) ) /* Labeled as L1.20 */
|
||||
ROM_LOAD16_BYTE( "wwf_game_rom_l1.20.u63", 0x00001, 0x80000, CRC(1262f0bb) SHA1(e97a5939f10532f7815d08b1a7d63a7554d47d4f) ) /* Labeled as L1.20 */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "wwf_game_rom_l1.20.u54", 0x00000, 0x80000, CRC(1b2dce48) SHA1(f70b6c5b56f9fc15cedfd8e0a95f983f3ea6dbb7) ) // Labeled as L1.20
|
||||
ROM_LOAD16_BYTE( "wwf_game_rom_l1.20.u63", 0x00001, 0x80000, CRC(1262f0bb) SHA1(e97a5939f10532f7815d08b1a7d63a7554d47d4f) ) // Labeled as L1.20
|
||||
|
||||
ROM_REGION( 0x2000000, "gfxrom", 0 )
|
||||
ROM_LOAD32_BYTE( "wwf_image_rom_l1.u133", 0x0000000, 0x100000, CRC(5e1b1e3d) SHA1(55f54e4b0dc775058699b1c0abdd7241ffca0e76) ) /* All graphics roms labeled as L1 */
|
||||
ROM_REGION( 0x2000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "wwf_image_rom_l1.u133", 0x0000000, 0x100000, CRC(5e1b1e3d) SHA1(55f54e4b0dc775058699b1c0abdd7241ffca0e76) ) // All graphics roms labeled as L1
|
||||
ROM_LOAD32_BYTE( "wwf_image_rom_l1.u132", 0x0000001, 0x100000, CRC(5943b3b2) SHA1(8ba0b20e7993769736c961d0fda97b2850d1446b) )
|
||||
ROM_LOAD32_BYTE( "wwf_image_rom_l1.u131", 0x0000002, 0x100000, CRC(0815db22) SHA1(ebd6a8c4f0e8d979af7f173b3f139d91e4857f6b) )
|
||||
ROM_LOAD32_BYTE( "wwf_image_rom_l1.u130", 0x0000003, 0x100000, CRC(9ee9a145) SHA1(caeb8506e1414e8c58e3031d4a2e0619ef3922b7) )
|
||||
@ -1660,18 +1660,18 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( wwfmaniac )
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_LOAD16_BYTE( "wwf_music-spch_l1.u2", 0x000000, 0x100000, CRC(a9acb250) SHA1(c1a7773ffdb86dc2c1c90c220482ed6330fcbb55) ) /* These 4 are labeled as L1 */
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "wwf_music-spch_l1.u2", 0x000000, 0x100000, CRC(a9acb250) SHA1(c1a7773ffdb86dc2c1c90c220482ed6330fcbb55) ) // These 4 are labeled as L1
|
||||
ROM_LOAD16_BYTE( "wwf_music-spch_l1.u3", 0x200000, 0x100000, CRC(9442b6c9) SHA1(1f887c05ab9ca99078be584d7e9e6c59c8ec1818) )
|
||||
ROM_LOAD16_BYTE( "wwf_music-spch_l1.u4", 0x400000, 0x100000, CRC(cee78fac) SHA1(c37d3b4aef47dc80d864497b3013f03220d45482) )
|
||||
ROM_LOAD16_BYTE( "wwf_music-spch_l1.u5", 0x600000, 0x100000, CRC(5b31fd40) SHA1(35dcf19b223029e17616357d29dd04bbfeb83491) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_LOAD16_BYTE( "wwf_game_rom_l1.10.u54", 0x00000, 0x80000, CRC(ae1a3195) SHA1(89ce1e3dc46b4da2d723b61e868889d05f7d5162) ) /* Labeled as L1.10, test menu shows REV 1.1 */
|
||||
ROM_LOAD16_BYTE( "wwf_game_rom_l1.10.u63", 0x00001, 0x80000, CRC(d809eb60) SHA1(9531009fb6e245548ab52ac1cbb6c736d6357cb5) ) /* Labeled as L1.10, test menu shows REV 1.1 */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "wwf_game_rom_l1.10.u54", 0x00000, 0x80000, CRC(ae1a3195) SHA1(89ce1e3dc46b4da2d723b61e868889d05f7d5162) ) // Labeled as L1.10, test menu shows REV 1.1
|
||||
ROM_LOAD16_BYTE( "wwf_game_rom_l1.10.u63", 0x00001, 0x80000, CRC(d809eb60) SHA1(9531009fb6e245548ab52ac1cbb6c736d6357cb5) ) // Labeled as L1.10, test menu shows REV 1.1
|
||||
|
||||
ROM_REGION( 0x2000000, "gfxrom", 0 )
|
||||
ROM_LOAD32_BYTE( "wwf_image_rom_l1.u133", 0x0000000, 0x100000, CRC(5e1b1e3d) SHA1(55f54e4b0dc775058699b1c0abdd7241ffca0e76) ) /* All graphics roms labeled as L1 */
|
||||
ROM_REGION( 0x2000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "wwf_image_rom_l1.u133", 0x0000000, 0x100000, CRC(5e1b1e3d) SHA1(55f54e4b0dc775058699b1c0abdd7241ffca0e76) ) // All graphics roms labeled as L1
|
||||
ROM_LOAD32_BYTE( "wwf_image_rom_l1.u132", 0x0000001, 0x100000, CRC(5943b3b2) SHA1(8ba0b20e7993769736c961d0fda97b2850d1446b) )
|
||||
ROM_LOAD32_BYTE( "wwf_image_rom_l1.u131", 0x0000002, 0x100000, CRC(0815db22) SHA1(ebd6a8c4f0e8d979af7f173b3f139d91e4857f6b) )
|
||||
ROM_LOAD32_BYTE( "wwf_image_rom_l1.u130", 0x0000003, 0x100000, CRC(9ee9a145) SHA1(caeb8506e1414e8c58e3031d4a2e0619ef3922b7) )
|
||||
@ -1694,18 +1694,18 @@ ROM_END
|
||||
|
||||
|
||||
ROM_START( wwfmaniap )
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) /* sound data */
|
||||
ROM_LOAD16_BYTE( "wwf_music-spch_l1.u2", 0x000000, 0x100000, CRC(a9acb250) SHA1(c1a7773ffdb86dc2c1c90c220482ed6330fcbb55) ) /* These 4 are labeled as L1 */
|
||||
ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) // sound data
|
||||
ROM_LOAD16_BYTE( "wwf_music-spch_l1.u2", 0x000000, 0x100000, CRC(a9acb250) SHA1(c1a7773ffdb86dc2c1c90c220482ed6330fcbb55) ) // These 4 are labeled as L1
|
||||
ROM_LOAD16_BYTE( "wwf_music-spch_l1.u3", 0x200000, 0x100000, CRC(9442b6c9) SHA1(1f887c05ab9ca99078be584d7e9e6c59c8ec1818) )
|
||||
ROM_LOAD16_BYTE( "wwf_music-spch_l1.u4", 0x400000, 0x100000, CRC(cee78fac) SHA1(c37d3b4aef47dc80d864497b3013f03220d45482) )
|
||||
ROM_LOAD16_BYTE( "wwf_music-spch_l1.u5", 0x600000, 0x100000, CRC(5b31fd40) SHA1(35dcf19b223029e17616357d29dd04bbfeb83491) )
|
||||
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) /* 34010 code */
|
||||
ROM_LOAD16_BYTE( "wwf_game_rom_p2.01.u54", 0x00000, 0x80000, CRC(a3d0b6d1) SHA1(974e0d40e3852b4c3233098079ded95110cca62e) ) /* missing labels */
|
||||
ROM_LOAD16_BYTE( "wwf_game_rom_p2.01.u63", 0x00001, 0x80000, CRC(22b80ae4) SHA1(4e160df9caf43fcf43ce002af4c88c2a324c4d86) ) /* missing labels */
|
||||
ROM_REGION16_LE( 0x100000, "maincpu", 0 ) // 34010 code
|
||||
ROM_LOAD16_BYTE( "wwf_game_rom_p2.01.u54", 0x00000, 0x80000, CRC(a3d0b6d1) SHA1(974e0d40e3852b4c3233098079ded95110cca62e) ) // missing labels
|
||||
ROM_LOAD16_BYTE( "wwf_game_rom_p2.01.u63", 0x00001, 0x80000, CRC(22b80ae4) SHA1(4e160df9caf43fcf43ce002af4c88c2a324c4d86) ) // missing labels
|
||||
|
||||
ROM_REGION( 0x2000000, "gfxrom", 0 )
|
||||
ROM_LOAD32_BYTE( "wwf_image_rom_l1.u133", 0x0000000, 0x100000, CRC(5e1b1e3d) SHA1(55f54e4b0dc775058699b1c0abdd7241ffca0e76) ) /* All graphics roms labeled as L1 */
|
||||
ROM_REGION( 0x2000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "wwf_image_rom_l1.u133", 0x0000000, 0x100000, CRC(5e1b1e3d) SHA1(55f54e4b0dc775058699b1c0abdd7241ffca0e76) ) // All graphics roms labeled as L1
|
||||
ROM_LOAD32_BYTE( "wwf_image_rom_l1.u132", 0x0000001, 0x100000, CRC(5943b3b2) SHA1(8ba0b20e7993769736c961d0fda97b2850d1446b) )
|
||||
ROM_LOAD32_BYTE( "wwf_image_rom_l1.u131", 0x0000002, 0x100000, CRC(0815db22) SHA1(ebd6a8c4f0e8d979af7f173b3f139d91e4857f6b) )
|
||||
ROM_LOAD32_BYTE( "wwf_image_rom_l1.u130", 0x0000003, 0x100000, CRC(9ee9a145) SHA1(caeb8506e1414e8c58e3031d4a2e0619ef3922b7) )
|
||||
|
@ -28,7 +28,6 @@ public:
|
||||
, m_video(*this, "video")
|
||||
, m_dcs(*this, "dcs")
|
||||
, m_palette(*this, "palette")
|
||||
, m_gfxrom(*this, "gfxrom")
|
||||
, m_midway_serial_pic(*this, "serial_security_sim")
|
||||
, m_midway_serial_pic_emu(*this, "serial_security")
|
||||
, m_nvram(*this, "nvram")
|
||||
@ -55,16 +54,16 @@ protected:
|
||||
virtual void machine_reset() override;
|
||||
|
||||
private:
|
||||
void midwunit_cmos_enable_w(uint16_t data);
|
||||
void midwunit_cmos_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
uint16_t midwunit_cmos_r(offs_t offset);
|
||||
void midwunit_io_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
uint16_t midwunit_io_r(offs_t offset);
|
||||
uint16_t midwunit_security_r();
|
||||
void midwunit_security_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
uint16_t midwunit_sound_r();
|
||||
uint16_t midwunit_sound_state_r();
|
||||
void midwunit_sound_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
void cmos_enable_w(uint16_t data);
|
||||
void cmos_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
uint16_t cmos_r(offs_t offset);
|
||||
void io_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
uint16_t io_r(offs_t offset);
|
||||
uint16_t security_r();
|
||||
void security_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
uint16_t sound_r();
|
||||
uint16_t sound_state_r();
|
||||
void sound_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
void umk3_palette_hack_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
void wwfmania_io_0_w(uint16_t data);
|
||||
|
||||
@ -75,7 +74,6 @@ private:
|
||||
required_device<midtunit_video_device> m_video;
|
||||
required_device<dcs_audio_device> m_dcs;
|
||||
required_device<palette_device> m_palette;
|
||||
required_memory_region m_gfxrom;
|
||||
|
||||
optional_device<midway_serial_pic_device> m_midway_serial_pic;
|
||||
optional_device<midway_serial_pic_emu_device> m_midway_serial_pic_emu;
|
||||
|
@ -23,13 +23,13 @@
|
||||
*
|
||||
*************************************/
|
||||
|
||||
void midwunit_state::midwunit_cmos_enable_w(uint16_t data)
|
||||
void midwunit_state::cmos_enable_w(uint16_t data)
|
||||
{
|
||||
m_cmos_write_enable = 1;
|
||||
}
|
||||
|
||||
|
||||
void midwunit_state::midwunit_cmos_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
void midwunit_state::cmos_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
{
|
||||
if (m_cmos_write_enable)
|
||||
{
|
||||
@ -45,7 +45,7 @@ void midwunit_state::midwunit_cmos_w(offs_t offset, uint16_t data, uint16_t mem_
|
||||
|
||||
|
||||
|
||||
uint16_t midwunit_state::midwunit_cmos_r(offs_t offset)
|
||||
uint16_t midwunit_state::cmos_r(offs_t offset)
|
||||
{
|
||||
return m_nvram[offset];
|
||||
}
|
||||
@ -58,14 +58,14 @@ uint16_t midwunit_state::midwunit_cmos_r(offs_t offset)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
void midwunit_state::midwunit_io_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
void midwunit_state::io_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
{
|
||||
// apply I/O shuffling
|
||||
offset = m_ioshuffle[offset % 16];
|
||||
|
||||
offset %= 8;
|
||||
int oldword = m_iodata[offset];
|
||||
int newword = oldword;
|
||||
uint16_t const oldword = m_iodata[offset];
|
||||
uint16_t newword = oldword;
|
||||
COMBINE_DATA(&newword);
|
||||
|
||||
switch (offset)
|
||||
@ -73,18 +73,18 @@ void midwunit_state::midwunit_io_w(offs_t offset, uint16_t data, uint16_t mem_ma
|
||||
case 1:
|
||||
LOGMASKED(LOG_IO, "%s: Control W @ %05X = %04X\n", machine().describe_context(), offset, data);
|
||||
|
||||
/* bit 4 reset sound CPU */
|
||||
// bit 4 reset sound CPU
|
||||
m_dcs->reset_w(~newword & 0x10);
|
||||
|
||||
/* bit 5 (active low) reset security chip */
|
||||
// bit 5 (active low) reset security chip
|
||||
if (m_midway_serial_pic) m_midway_serial_pic->reset_w(newword & 0x20);
|
||||
if (m_midway_serial_pic_emu) m_midway_serial_pic_emu->reset_w(newword & 0x20);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
/* watchdog reset */
|
||||
/* MK3 resets with this enabled */
|
||||
/* watchdog_reset_w(0,0);*/
|
||||
// watchdog reset
|
||||
// MK3 resets with this enabled
|
||||
// watchdog_reset_w(0,0);
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -102,9 +102,9 @@ void midwunit_state::midwunit_io_w(offs_t offset, uint16_t data, uint16_t mem_ma
|
||||
*
|
||||
*************************************/
|
||||
|
||||
uint16_t midwunit_state::midwunit_io_r(offs_t offset)
|
||||
uint16_t midwunit_state::io_r(offs_t offset)
|
||||
{
|
||||
/* apply I/O shuffling */
|
||||
// apply I/O shuffling
|
||||
offset = m_ioshuffle[offset % 16];
|
||||
|
||||
switch (offset)
|
||||
@ -121,10 +121,11 @@ uint16_t midwunit_state::midwunit_io_r(offs_t offset)
|
||||
if (m_midway_serial_pic) picret = m_midway_serial_pic->status_r();
|
||||
if (m_midway_serial_pic_emu) picret = m_midway_serial_pic_emu->status_r();
|
||||
|
||||
return (picret << 12) | midwunit_sound_state_r();
|
||||
return (picret << 12) | sound_state_r();
|
||||
}
|
||||
default:
|
||||
LOGMASKED(LOG_IO | LOG_UNKNOWN, "%s: Unknown I/O read from %d\n", machine().describe_context(), offset);
|
||||
if (!machine().side_effects_disabled())
|
||||
LOGMASKED(LOG_IO | LOG_UNKNOWN, "%s: Unknown I/O read from %d\n", machine().describe_context(), offset);
|
||||
break;
|
||||
}
|
||||
return ~0;
|
||||
@ -183,12 +184,12 @@ void midwunit_state::umk3_palette_hack_w(offs_t offset, uint16_t data, uint16_t
|
||||
*/
|
||||
COMBINE_DATA(&m_umk3_palette[offset]);
|
||||
m_maincpu->adjust_icount(-100);
|
||||
/* printf("in=%04X%04X out=%04X%04X\n", m_umk3_palette[3], m_umk3_palette[2], m_umk3_palette[1], m_umk3_palette[0]); */
|
||||
// printf("in=%04X%04X out=%04X%04X\n", m_umk3_palette[3], m_umk3_palette[2], m_umk3_palette[1], m_umk3_palette[0]);
|
||||
}
|
||||
|
||||
void midwunit_state::init_mk3_common()
|
||||
{
|
||||
/* serial prefixes 439, 528 */
|
||||
// serial prefixes 439, 528
|
||||
//midway_serial_pic_init(machine(), 528);
|
||||
}
|
||||
|
||||
@ -226,7 +227,7 @@ void midwunit_state::init_umk3r11()
|
||||
|
||||
void midwunit_state::init_openice()
|
||||
{
|
||||
/* serial prefixes 438, 528 */
|
||||
// serial prefixes 438, 528
|
||||
//midway_serial_pic_init(machine(), 528);
|
||||
}
|
||||
|
||||
@ -235,7 +236,7 @@ void midwunit_state::init_openice()
|
||||
|
||||
void midwunit_state::init_nbahangt()
|
||||
{
|
||||
/* serial prefixes 459, 470, 528 */
|
||||
// serial prefixes 459, 470, 528
|
||||
//midway_serial_pic_init(machine(), 528);
|
||||
}
|
||||
|
||||
@ -245,11 +246,11 @@ void midwunit_state::init_nbahangt()
|
||||
// note: other game's PCBs probably shuffle I/O addresses too, but only WWF game code use/require this.
|
||||
void midwunit_state::wwfmania_io_0_w(uint16_t data)
|
||||
{
|
||||
/* start with the originals */
|
||||
// start with the originals
|
||||
for (int i = 0; i < 16; i++)
|
||||
m_ioshuffle[i] = i % 8;
|
||||
|
||||
/* based on the data written, shuffle */
|
||||
// based on the data written, shuffle
|
||||
switch (data)
|
||||
{
|
||||
case 0:
|
||||
@ -292,10 +293,10 @@ void midwunit_state::wwfmania_io_0_w(uint16_t data)
|
||||
|
||||
void midwunit_state::init_wwfmania()
|
||||
{
|
||||
/* enable I/O shuffling */
|
||||
// enable I/O shuffling
|
||||
m_maincpu->space(AS_PROGRAM).install_write_handler(0x01800000, 0x0180000f, write16smo_delegate(*this, FUNC(midwunit_state::wwfmania_io_0_w)));
|
||||
|
||||
/* serial prefixes 430, 528 */
|
||||
// serial prefixes 430, 528
|
||||
//midway_serial_pic_init(machine(), 528);
|
||||
}
|
||||
|
||||
@ -304,7 +305,7 @@ void midwunit_state::init_wwfmania()
|
||||
|
||||
void midwunit_state::init_rmpgwt()
|
||||
{
|
||||
/* serial prefixes 465, 528 */
|
||||
// serial prefixes 465, 528
|
||||
//midway_serial_pic_init(machine(), 528);
|
||||
}
|
||||
|
||||
@ -317,11 +318,11 @@ void midwunit_state::init_rmpgwt()
|
||||
|
||||
void midwunit_state::machine_reset()
|
||||
{
|
||||
/* reset sound */
|
||||
// reset sound
|
||||
m_dcs->reset_w(0);
|
||||
m_dcs->reset_w(1);
|
||||
|
||||
/* reset I/O shuffling */
|
||||
// reset I/O shuffling
|
||||
for (int i = 0; i < 16; i++)
|
||||
m_ioshuffle[i] = i % 8;
|
||||
}
|
||||
@ -334,7 +335,7 @@ void midwunit_state::machine_reset()
|
||||
*
|
||||
*************************************/
|
||||
|
||||
uint16_t midwunit_state::midwunit_security_r()
|
||||
uint16_t midwunit_state::security_r()
|
||||
{
|
||||
uint16_t picret = 0;
|
||||
if (m_midway_serial_pic) picret = m_midway_serial_pic->read();
|
||||
@ -343,7 +344,7 @@ uint16_t midwunit_state::midwunit_security_r()
|
||||
}
|
||||
|
||||
|
||||
void midwunit_state::midwunit_security_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
void midwunit_state::security_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
{
|
||||
if (offset == 0 && ACCESSING_BITS_0_7)
|
||||
{
|
||||
@ -360,30 +361,31 @@ void midwunit_state::midwunit_security_w(offs_t offset, uint16_t data, uint16_t
|
||||
*
|
||||
*************************************/
|
||||
|
||||
uint16_t midwunit_state::midwunit_sound_r()
|
||||
uint16_t midwunit_state::sound_r()
|
||||
{
|
||||
LOGMASKED(LOG_SOUND, "%s: Sound read\n", machine().describe_context());
|
||||
if (!machine().side_effects_disabled())
|
||||
LOGMASKED(LOG_SOUND, "%s: Sound read\n", machine().describe_context());
|
||||
|
||||
return m_dcs->data_r() & 0xff;
|
||||
}
|
||||
|
||||
|
||||
uint16_t midwunit_state::midwunit_sound_state_r()
|
||||
uint16_t midwunit_state::sound_state_r()
|
||||
{
|
||||
return m_dcs->control_r();
|
||||
}
|
||||
|
||||
|
||||
void midwunit_state::midwunit_sound_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
void midwunit_state::sound_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
{
|
||||
/* check for out-of-bounds accesses */
|
||||
// check for out-of-bounds accesses
|
||||
if (offset)
|
||||
{
|
||||
LOGMASKED(LOG_SOUND | LOG_UNKNOWN, "%s: Unexpected write to sound (hi) = %04X\n", machine().describe_context(), data);
|
||||
return;
|
||||
}
|
||||
|
||||
/* call through based on the sound type */
|
||||
// call through based on the sound type
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
LOGMASKED(LOG_SOUND, "%s: Sound write = %04X\n", machine().describe_context(), data);
|
||||
|
@ -112,7 +112,6 @@ ________________________________________________________________
|
||||
#include "emu.h"
|
||||
#include "midxunit.h"
|
||||
|
||||
#include "cpu/adsp2100/adsp2100.h"
|
||||
#include "cpu/tms34010/tms34010.h"
|
||||
#include "machine/adc0844.h"
|
||||
|
||||
@ -120,9 +119,6 @@ ________________________________________________________________
|
||||
#include "speaker.h"
|
||||
|
||||
|
||||
#define PIXEL_CLOCK (8000000)
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
@ -135,19 +131,19 @@ void midxunit_state::main_map(address_map &map)
|
||||
map(0x00000000, 0x003fffff).rw(m_video, FUNC(midxunit_video_device::midtunit_vram_data_r), FUNC(midxunit_video_device::midtunit_vram_data_w));
|
||||
map(0x00800000, 0x00bfffff).rw(m_video, FUNC(midxunit_video_device::midtunit_vram_color_r), FUNC(midxunit_video_device::midtunit_vram_color_w));
|
||||
map(0x20000000, 0x20ffffff).ram();
|
||||
map(0x40800000, 0x4fffffff).w(FUNC(midxunit_state::midxunit_unknown_w));
|
||||
map(0x60400000, 0x6040001f).rw(FUNC(midxunit_state::midxunit_status_r), FUNC(midxunit_state::midxunit_security_clock_w));
|
||||
map(0x40800000, 0x4fffffff).w(FUNC(midxunit_state::unknown_w));
|
||||
map(0x60400000, 0x6040001f).rw(FUNC(midxunit_state::status_r), FUNC(midxunit_state::security_clock_w));
|
||||
map(0x60c00000, 0x60c0001f).portr("IN0");
|
||||
map(0x60c00020, 0x60c0003f).portr("IN1");
|
||||
map(0x60c00040, 0x60c0005f).portr("IN2");
|
||||
map(0x60c00060, 0x60c0007f).portr("DSW");
|
||||
map(0x60c00080, 0x60c000df).w(FUNC(midxunit_state::midxunit_io_w));
|
||||
map(0x60c000e0, 0x60c000ff).rw(FUNC(midxunit_state::midxunit_security_r), FUNC(midxunit_state::midxunit_security_w));
|
||||
map(0x60c00080, 0x60c000df).w(FUNC(midxunit_state::io_w));
|
||||
map(0x60c000e0, 0x60c000ff).rw(FUNC(midxunit_state::security_r), FUNC(midxunit_state::security_w));
|
||||
map(0x80800000, 0x8080001f).rw("adc", FUNC(adc0848_device::read), FUNC(adc0848_device::write)).umask32(0x000000ff);
|
||||
map(0x80c00000, 0x80c000ff).rw(FUNC(midxunit_state::midxunit_uart_r), FUNC(midxunit_state::midxunit_uart_w)).umask32(0x000000ff);
|
||||
map(0xa0440000, 0xa047ffff).rw(FUNC(midxunit_state::midxunit_cmos_r), FUNC(midxunit_state::midxunit_cmos_w)).umask32(0x000000ff);
|
||||
map(0x80c00000, 0x80c000ff).rw(FUNC(midxunit_state::uart_r), FUNC(midxunit_state::uart_w)).umask32(0x000000ff);
|
||||
map(0xa0440000, 0xa047ffff).rw(FUNC(midxunit_state::cmos_r), FUNC(midxunit_state::cmos_w)).umask32(0x000000ff);
|
||||
map(0xa0800000, 0xa08fffff).rw(m_video, FUNC(midxunit_video_device::midxunit_paletteram_r), FUNC(midxunit_video_device::midxunit_paletteram_w)).share("palette");
|
||||
map(0xc0800000, 0xc08000ff).mirror(0x00400000).rw(FUNC(midxunit_state::midxunit_dma_r), FUNC(midxunit_state::midxunit_dma_w));
|
||||
map(0xc0800000, 0xc08000ff).mirror(0x00400000).rw(FUNC(midxunit_state::dma_r), FUNC(midxunit_state::dma_w));
|
||||
map(0xf8000000, 0xfeffffff).r(m_video, FUNC(midxunit_video_device::midwunit_gfxrom_r));
|
||||
map(0xff000000, 0xffffffff).rom().region("maincpu", 0);
|
||||
}
|
||||
@ -181,7 +177,7 @@ static INPUT_PORTS_START( revx )
|
||||
PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_TILT ) /* Slam Switch */
|
||||
PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_TILT ) // Slam Switch
|
||||
PORT_SERVICE_NO_TOGGLE(0x00000010, IP_ACTIVE_LOW)
|
||||
PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
@ -191,9 +187,9 @@ static INPUT_PORTS_START( revx )
|
||||
PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x00000800, IP_ACTIVE_LOW, IPT_VOLUME_DOWN )
|
||||
PORT_BIT( 0x00001000, IP_ACTIVE_LOW, IPT_VOLUME_UP )
|
||||
PORT_BIT( 0x00002000, IP_ACTIVE_LOW, IPT_INTERLOCK ) /* coin door */
|
||||
PORT_BIT( 0x00002000, IP_ACTIVE_LOW, IPT_INTERLOCK ) // coin door
|
||||
PORT_BIT( 0x00004000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x00008000, IP_ACTIVE_LOW, IPT_BILL1 ) /* bill validator */
|
||||
PORT_BIT( 0x00008000, IP_ACTIVE_LOW, IPT_BILL1 ) // bill validator
|
||||
PORT_BIT( 0xffff0000, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START("DSW")
|
||||
@ -269,27 +265,30 @@ INPUT_PORTS_END
|
||||
|
||||
void midxunit_state::midxunit(machine_config &config)
|
||||
{
|
||||
MIDXUNIT_VIDEO(config, m_video, m_maincpu, m_palette, m_gfxrom);
|
||||
constexpr XTAL PIXEL_CLOCK = 8_MHz_XTAL;
|
||||
|
||||
/* basic machine hardware */
|
||||
TMS34020(config, m_maincpu, 40000000);
|
||||
MIDXUNIT_VIDEO(config, m_video, m_palette);
|
||||
m_video->dma_irq_cb().set_inputline(m_maincpu, 0);
|
||||
|
||||
// basic machine hardware
|
||||
TMS34020(config, m_maincpu, 40_MHz_XTAL);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &midxunit_state::main_map);
|
||||
m_maincpu->set_halt_on_reset(false); /* halt on reset */
|
||||
m_maincpu->set_pixel_clock(PIXEL_CLOCK); /* pixel clock */
|
||||
m_maincpu->set_pixels_per_clock(1); /* pixels per clock */
|
||||
m_maincpu->set_scanline_ind16_callback("video", FUNC(midxunit_video_device::scanline_update)); /* scanline updater (indexed16) */
|
||||
m_maincpu->set_shiftreg_in_callback("video", FUNC(midxunit_video_device::to_shiftreg)); /* write to shiftreg function */
|
||||
m_maincpu->set_shiftreg_out_callback("video", FUNC(midtunit_video_device::from_shiftreg)); /* read from shiftreg function */
|
||||
m_maincpu->set_halt_on_reset(false); // halt on reset
|
||||
m_maincpu->set_pixel_clock(PIXEL_CLOCK); // pixel clock
|
||||
m_maincpu->set_pixels_per_clock(1); // pixels per clock
|
||||
m_maincpu->set_scanline_ind16_callback(m_video, FUNC(midxunit_video_device::scanline_update)); // scanline updater (indexed16)
|
||||
m_maincpu->set_shiftreg_in_callback(m_video, FUNC(midxunit_video_device::to_shiftreg)); // write to shiftreg function
|
||||
m_maincpu->set_shiftreg_out_callback(m_video, FUNC(midtunit_video_device::from_shiftreg)); // read from shiftreg function
|
||||
m_maincpu->set_screen("screen");
|
||||
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
|
||||
/* video hardware */
|
||||
PALETTE(config, "palette").set_format(palette_device::xRGB_555, 32768);
|
||||
// video hardware
|
||||
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 32768);
|
||||
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_raw(PIXEL_CLOCK, 506, 101, 501, 289, 20, 274);
|
||||
screen.set_screen_update("maincpu", FUNC(tms34010_device::tms340x0_ind16));
|
||||
screen.set_screen_update(m_maincpu, FUNC(tms34010_device::tms340x0_ind16));
|
||||
screen.set_palette(m_palette);
|
||||
|
||||
PIC16C57(config, m_pic, 625000); // need to be verified
|
||||
@ -308,7 +307,7 @@ void midxunit_state::midxunit(machine_config &config)
|
||||
adc.ch5_callback().set_ioport("AN4");
|
||||
adc.ch6_callback().set_ioport("AN5");
|
||||
|
||||
/* sound hardware */
|
||||
// sound hardware
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
||||
DCS_AUDIO_2K_UART(config, m_dcs, 0);
|
||||
@ -344,7 +343,7 @@ ROM_START( revx )
|
||||
ROM_REGION( 0x2000, "pic", 0 )
|
||||
ROM_LOAD( "419_revolution-x_u444.u444", 0x0000000, 0x2000, BAD_DUMP CRC(517e0110) SHA1(cd603c66794ff426dd2994fc1a0c0c8e6bbd864b) ) // manually restored
|
||||
|
||||
ROM_REGION( 0x1000000, "gfxrom", 0 )
|
||||
ROM_REGION( 0x1000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "p5_revolution_x_game_rom_u120.u120", 0x0000000, 0x80000, CRC(523af1f0) SHA1(a67c0fd757e860fc1c1236945952a295b4d5df5a) )
|
||||
ROM_LOAD32_BYTE( "p5_revolution_x_game_rom_u121.u121", 0x0000001, 0x80000, CRC(78201d93) SHA1(fb0b8f887eec433f7624f387d7fb6f633ea30d7c) )
|
||||
ROM_LOAD32_BYTE( "p5_revolution_x_game_rom_u122.u122", 0x0000002, 0x80000, CRC(2cf36144) SHA1(22ed0eefa2c7c836811fac5f717c3f38254eabc2) )
|
||||
@ -411,7 +410,7 @@ ROM_START( revxp5 )
|
||||
ROM_REGION( 0x2000, "pic", 0 )
|
||||
ROM_LOAD( "419_revolution-x_u444.u444", 0x0000000, 0x2000, BAD_DUMP CRC(517e0110) SHA1(cd603c66794ff426dd2994fc1a0c0c8e6bbd864b) ) // manually restored
|
||||
|
||||
ROM_REGION( 0x1000000, "gfxrom", 0 )
|
||||
ROM_REGION( 0x1000000, "video", 0 )
|
||||
ROM_LOAD32_BYTE( "p5_revolution_x_game_rom_u120.u120", 0x0000000, 0x80000, CRC(523af1f0) SHA1(a67c0fd757e860fc1c1236945952a295b4d5df5a) )
|
||||
ROM_LOAD32_BYTE( "p5_revolution_x_game_rom_u121.u121", 0x0000001, 0x80000, CRC(78201d93) SHA1(fb0b8f887eec433f7624f387d7fb6f633ea30d7c) )
|
||||
ROM_LOAD32_BYTE( "p5_revolution_x_game_rom_u122.u122", 0x0000002, 0x80000, CRC(2cf36144) SHA1(22ed0eefa2c7c836811fac5f717c3f38254eabc2) )
|
||||
|
@ -30,7 +30,6 @@ public:
|
||||
, m_video(*this, "video")
|
||||
, m_dcs(*this, "dcs")
|
||||
, m_palette(*this, "palette")
|
||||
, m_gfxrom(*this, "gfxrom")
|
||||
, m_nvram(*this, "nvram")
|
||||
, m_pic(*this, "pic")
|
||||
, m_gun_recoil(*this, "Player%u_Gun_Recoil", 1U)
|
||||
@ -44,20 +43,20 @@ protected:
|
||||
virtual void machine_reset() override;
|
||||
|
||||
private:
|
||||
uint8_t midxunit_cmos_r(offs_t offset);
|
||||
void midxunit_cmos_w(offs_t offset, uint8_t data);
|
||||
void midxunit_io_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
void midxunit_unknown_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
uint8_t cmos_r(offs_t offset);
|
||||
void cmos_w(offs_t offset, uint8_t data);
|
||||
void io_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
void unknown_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
void adc_int_w(int state);
|
||||
uint32_t midxunit_status_r();
|
||||
uint8_t midxunit_uart_r(offs_t offset);
|
||||
void midxunit_uart_w(offs_t offset, uint8_t data);
|
||||
uint32_t midxunit_security_r();
|
||||
void midxunit_security_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0);
|
||||
void midxunit_security_clock_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0);
|
||||
void midxunit_dcs_output_full(int state);
|
||||
uint32_t midxunit_dma_r(offs_t offset, uint32_t mem_mask = ~0);
|
||||
void midxunit_dma_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0);
|
||||
uint32_t status_r();
|
||||
uint8_t uart_r(offs_t offset);
|
||||
void uart_w(offs_t offset, uint8_t data);
|
||||
uint32_t security_r();
|
||||
void security_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0);
|
||||
void security_clock_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0);
|
||||
void dcs_output_full(int state);
|
||||
uint32_t dma_r(offs_t offset, uint32_t mem_mask = ~0);
|
||||
void dma_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0);
|
||||
|
||||
void main_map(address_map &map);
|
||||
|
||||
@ -65,7 +64,6 @@ private:
|
||||
required_device<midtunit_video_device> m_video;
|
||||
required_device<dcs_audio_device> m_dcs;
|
||||
required_device<palette_device> m_palette;
|
||||
required_memory_region m_gfxrom;
|
||||
|
||||
required_device<nvram_device> m_nvram;
|
||||
required_device<pic16c57_device> m_pic;
|
||||
|
@ -24,12 +24,12 @@
|
||||
*
|
||||
*************************************/
|
||||
|
||||
uint8_t midxunit_state::midxunit_cmos_r(offs_t offset)
|
||||
uint8_t midxunit_state::cmos_r(offs_t offset)
|
||||
{
|
||||
return m_nvram_data[offset];
|
||||
}
|
||||
|
||||
void midxunit_state::midxunit_cmos_w(offs_t offset, uint8_t data)
|
||||
void midxunit_state::cmos_w(offs_t offset, uint8_t data)
|
||||
{
|
||||
m_nvram_data[offset] = data;
|
||||
}
|
||||
@ -41,19 +41,17 @@ void midxunit_state::midxunit_cmos_w(offs_t offset, uint8_t data)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
void midxunit_state::midxunit_io_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
void midxunit_state::io_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
{
|
||||
int oldword, newword;
|
||||
|
||||
offset = (offset / 2) % 8;
|
||||
oldword = m_iodata[offset];
|
||||
newword = oldword;
|
||||
uint16_t const oldword = m_iodata[offset];
|
||||
uint16_t newword = oldword;
|
||||
COMBINE_DATA(&newword);
|
||||
|
||||
switch (offset)
|
||||
{
|
||||
case 2:
|
||||
/* watchdog reset */
|
||||
// watchdog reset
|
||||
// watchdog_reset_w(0,0);
|
||||
break;
|
||||
|
||||
@ -75,15 +73,15 @@ void midxunit_state::midxunit_io_w(offs_t offset, uint16_t data, uint16_t mem_ma
|
||||
}
|
||||
|
||||
|
||||
void midxunit_state::midxunit_unknown_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
void midxunit_state::unknown_w(offs_t offset, uint16_t data, uint16_t mem_mask)
|
||||
{
|
||||
int offs = offset / 0x40000;
|
||||
int const offs = offset / 0x40000;
|
||||
|
||||
if (offs == 1 && ACCESSING_BITS_0_7)
|
||||
m_dcs->reset_w(~data & 2);
|
||||
|
||||
if (ACCESSING_BITS_0_7 && offset % 0x40000 == 0)
|
||||
LOGMASKED(LOG_UNKNOWN, "%s: midxunit_unknown_w @ %d = %02X\n", machine().describe_context(), offs, data & 0xff);
|
||||
LOGMASKED(LOG_UNKNOWN, "%s: unknown_w @ %d = %02X\n", machine().describe_context(), offs, data & 0xff);
|
||||
}
|
||||
|
||||
|
||||
@ -100,9 +98,9 @@ void midxunit_state::adc_int_w(int state)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
uint32_t midxunit_state::midxunit_status_r()
|
||||
uint32_t midxunit_state::status_r()
|
||||
{
|
||||
/* low bit indicates whether the ADC is done reading the current input */
|
||||
// low bit indicates whether the ADC is done reading the current input
|
||||
return (m_pic_status << 1) | (m_adc_int ? 1 : 0);
|
||||
}
|
||||
|
||||
@ -114,32 +112,32 @@ uint32_t midxunit_state::midxunit_status_r()
|
||||
*
|
||||
*************************************/
|
||||
|
||||
void midxunit_state::midxunit_dcs_output_full(int state)
|
||||
void midxunit_state::dcs_output_full(int state)
|
||||
{
|
||||
/* only signal if not in loopback state */
|
||||
// only signal if not in loopback state
|
||||
if (m_uart[1] != 0x66)
|
||||
m_maincpu->set_input_line(1, state ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
|
||||
uint8_t midxunit_state::midxunit_uart_r(offs_t offset)
|
||||
uint8_t midxunit_state::uart_r(offs_t offset)
|
||||
{
|
||||
uint8_t result = 0;
|
||||
|
||||
/* switch off the offset */
|
||||
// switch off the offset
|
||||
switch (offset)
|
||||
{
|
||||
case 0: /* register 0 must return 0x13 in order to pass the self test */
|
||||
case 0: // register 0 must return 0x13 in order to pass the self test
|
||||
result = 0x13;
|
||||
break;
|
||||
|
||||
case 1: /* register 1 contains the status */
|
||||
case 1: // register 1 contains the status
|
||||
|
||||
/* loopback case: data always ready, and always ok to send */
|
||||
// loopback case: data always ready, and always ok to send
|
||||
if (m_uart[1] == 0x66)
|
||||
result |= 5;
|
||||
|
||||
/* non-loopback case: bit 0 means data ready, bit 2 means ok to send */
|
||||
// non-loopback case: bit 0 means data ready, bit 2 means ok to send
|
||||
else
|
||||
{
|
||||
int temp = m_dcs->control_r();
|
||||
@ -149,28 +147,29 @@ uint8_t midxunit_state::midxunit_uart_r(offs_t offset)
|
||||
}
|
||||
break;
|
||||
|
||||
case 3: /* register 3 contains the data read */
|
||||
case 3: // register 3 contains the data read
|
||||
|
||||
/* loopback case: feed back last data wrtten */
|
||||
// loopback case: feed back last data wrtten
|
||||
if (m_uart[1] == 0x66)
|
||||
result = m_uart[3];
|
||||
|
||||
/* non-loopback case: read from the DCS system */
|
||||
// non-loopback case: read from the DCS system
|
||||
else
|
||||
{
|
||||
LOGMASKED(LOG_SOUND, "%08X:Sound read\n", m_maincpu->pc());
|
||||
if (!machine().side_effects_disabled())
|
||||
LOGMASKED(LOG_SOUND, "%08X:Sound read\n", m_maincpu->pc());
|
||||
|
||||
result = m_dcs->data_r();
|
||||
}
|
||||
break;
|
||||
|
||||
case 5: /* register 5 seems to be like 3, but with in/out swapped */
|
||||
case 5: // register 5 seems to be like 3, but with in/out swapped
|
||||
|
||||
/* loopback case: data always ready, and always ok to send */
|
||||
// loopback case: data always ready, and always ok to send
|
||||
if (m_uart[1] == 0x66)
|
||||
result |= 5;
|
||||
|
||||
/* non-loopback case: bit 0 means data ready, bit 2 means ok to send */
|
||||
// non-loopback case: bit 0 means data ready, bit 2 means ok to send
|
||||
else
|
||||
{
|
||||
int temp = m_dcs->control_r();
|
||||
@ -180,37 +179,38 @@ uint8_t midxunit_state::midxunit_uart_r(offs_t offset)
|
||||
}
|
||||
break;
|
||||
|
||||
default: /* everyone else reads themselves */
|
||||
default: // everyone else reads themselves
|
||||
result = m_uart[offset];
|
||||
break;
|
||||
}
|
||||
|
||||
LOGMASKED(LOG_UART, "%s: UART R @ %X = %02X\n", machine().describe_context(), offset, result);
|
||||
if (!machine().side_effects_disabled())
|
||||
LOGMASKED(LOG_UART, "%s: UART R @ %X = %02X\n", machine().describe_context(), offset, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
void midxunit_state::midxunit_uart_w(offs_t offset, uint8_t data)
|
||||
void midxunit_state::uart_w(offs_t offset, uint8_t data)
|
||||
{
|
||||
/* switch off the offset */
|
||||
// switch off the offset
|
||||
switch (offset)
|
||||
{
|
||||
case 3: /* register 3 contains the data to be sent */
|
||||
case 3: // register 3 contains the data to be sent
|
||||
|
||||
/* loopback case: don't feed through */
|
||||
// loopback case: don't feed through
|
||||
if (m_uart[1] == 0x66)
|
||||
m_uart[3] = data;
|
||||
|
||||
/* non-loopback case: send to the DCS system */
|
||||
// non-loopback case: send to the DCS system
|
||||
else
|
||||
m_dcs->data_w(data);
|
||||
break;
|
||||
|
||||
case 5: /* register 5 write seems to reset things */
|
||||
case 5: // register 5 write seems to reset things
|
||||
m_dcs->data_r();
|
||||
break;
|
||||
|
||||
default: /* everyone else just stores themselves */
|
||||
default: // everyone else just stores themselves
|
||||
m_uart[offset] = data;
|
||||
break;
|
||||
}
|
||||
@ -258,7 +258,7 @@ void midxunit_state::machine_start()
|
||||
|
||||
void midxunit_state::machine_reset()
|
||||
{
|
||||
/* reset sound */
|
||||
// reset sound
|
||||
m_dcs->reset_w(0);
|
||||
m_dcs->reset_w(1);
|
||||
|
||||
@ -267,7 +267,7 @@ void midxunit_state::machine_reset()
|
||||
m_pic_clk = 0;
|
||||
m_pic_status = 0;
|
||||
|
||||
m_dcs->set_io_callbacks(write_line_delegate(*this, FUNC(midxunit_state::midxunit_dcs_output_full)), write_line_delegate(*this));
|
||||
m_dcs->set_io_callbacks(write_line_delegate(*this, FUNC(midxunit_state::dcs_output_full)), write_line_delegate(*this));
|
||||
}
|
||||
|
||||
|
||||
@ -278,19 +278,19 @@ void midxunit_state::machine_reset()
|
||||
*
|
||||
*************************************/
|
||||
|
||||
uint32_t midxunit_state::midxunit_security_r()
|
||||
uint32_t midxunit_state::security_r()
|
||||
{
|
||||
return m_pic_data;
|
||||
}
|
||||
|
||||
void midxunit_state::midxunit_security_w(offs_t offset, uint32_t data, uint32_t mem_mask)
|
||||
void midxunit_state::security_w(offs_t offset, uint32_t data, uint32_t mem_mask)
|
||||
{
|
||||
if (ACCESSING_BITS_0_7)
|
||||
m_pic_command = data & 0x0f;
|
||||
}
|
||||
|
||||
|
||||
void midxunit_state::midxunit_security_clock_w(offs_t offset, uint32_t data, uint32_t mem_mask)
|
||||
void midxunit_state::security_clock_w(offs_t offset, uint32_t data, uint32_t mem_mask)
|
||||
{
|
||||
if (ACCESSING_BITS_0_7)
|
||||
m_pic_clk = BIT(data, 1);
|
||||
@ -304,23 +304,23 @@ void midxunit_state::midxunit_security_clock_w(offs_t offset, uint32_t data, uin
|
||||
*
|
||||
*************************************/
|
||||
|
||||
uint32_t midxunit_state::midxunit_dma_r(offs_t offset, uint32_t mem_mask)
|
||||
uint32_t midxunit_state::dma_r(offs_t offset, uint32_t mem_mask)
|
||||
{
|
||||
uint32_t result = 0;
|
||||
|
||||
if (ACCESSING_BITS_16_31)
|
||||
result |= m_video->midtunit_dma_r(offset * 2);
|
||||
result |= m_video->dma_r(offset * 2);
|
||||
if (ACCESSING_BITS_0_15)
|
||||
result |= uint32_t(m_video->midtunit_dma_r(offset * 2 + 1)) << 16;
|
||||
result |= uint32_t(m_video->dma_r(offset * 2 + 1)) << 16;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
void midxunit_state::midxunit_dma_w(offs_t offset, uint32_t data, uint32_t mem_mask)
|
||||
void midxunit_state::dma_w(offs_t offset, uint32_t data, uint32_t mem_mask)
|
||||
{
|
||||
if (ACCESSING_BITS_16_31)
|
||||
m_video->midtunit_dma_w(offset * 2, data & 0xffff);
|
||||
m_video->dma_w(offset * 2, data & 0xffff);
|
||||
if (ACCESSING_BITS_0_15)
|
||||
m_video->midtunit_dma_w(offset * 2 + 1, data >> 16);
|
||||
m_video->dma_w(offset * 2 + 1, data >> 16);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user