mirror of
https://github.com/holub/mame
synced 2025-04-23 08:49:55 +03:00
mrgrame.cpp: New roms for Mac Attack
New roms for Motor Show Improved graphics and sound for all games. New machines marked as NOT_WORKING ---------------------------------- Fast Track [Robbbert]
This commit is contained in:
parent
8756554f1b
commit
24fa77fcbb
@ -27,6 +27,8 @@ ToDo:
|
||||
- Support for electronic volume control
|
||||
- Audio rom banking
|
||||
- Most sounds missing due to unemulated M114 chip
|
||||
- macattck and wcup90 - colours and gfx are bad.
|
||||
- macattck - Unable to set up machine (as above). Need to find flipper inputs.
|
||||
|
||||
*****************************************************************************************/
|
||||
|
||||
@ -64,12 +66,12 @@ public:
|
||||
, m_io_dsw1(*this, "DSW1")
|
||||
, m_io_x0(*this, "X0")
|
||||
, m_io_x1(*this, "X1")
|
||||
, m_screen(*this, "screen")
|
||||
{ }
|
||||
|
||||
void mrgame(machine_config &config);
|
||||
void wcup90(machine_config &config);
|
||||
|
||||
void init_mrgame();
|
||||
void ft(machine_config &config);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
@ -87,6 +89,7 @@ private:
|
||||
DECLARE_WRITE_LINE_MEMBER(video_a11_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(video_a12_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(video_a13_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(video_a14_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(intst_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(nmi_intst_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(flip_w);
|
||||
@ -99,6 +102,8 @@ private:
|
||||
DECLARE_WRITE_LINE_MEMBER(vblank_nmi_w);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(irq_timer);
|
||||
uint32_t screen_update_mrgame(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
uint32_t screen_update_wcup90(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
uint32_t screen_update_ft(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
||||
void audio1_io(address_map &map);
|
||||
void audio1_map(address_map &map);
|
||||
@ -135,6 +140,7 @@ private:
|
||||
required_ioport m_io_dsw1;
|
||||
required_ioport m_io_x0;
|
||||
required_ioport m_io_x1;
|
||||
required_device<screen_device> m_screen;
|
||||
};
|
||||
|
||||
|
||||
@ -176,7 +182,7 @@ void mrgame_state::wcup90_video_map(address_map &map)
|
||||
|
||||
void mrgame_state::audio1_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x7fff).rom().region("audio1", 0);
|
||||
map(0x0000, 0xffff).rom().region("audio1", 0);
|
||||
map(0xfc00, 0xffff).ram();
|
||||
}
|
||||
|
||||
@ -191,7 +197,7 @@ void mrgame_state::audio1_io(address_map &map)
|
||||
|
||||
void mrgame_state::audio2_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x7fff).rom().region("audio2", 0);
|
||||
map(0x0000, 0xffff).rom().region("audio2", 0);
|
||||
map(0xfc00, 0xffff).ram();
|
||||
}
|
||||
|
||||
@ -306,17 +312,22 @@ void mrgame_state::video_w(uint8_t data)
|
||||
|
||||
WRITE_LINE_MEMBER(mrgame_state::video_a11_w)
|
||||
{
|
||||
m_gfx_bank = (m_gfx_bank & 6) | (state ? 1 : 0);
|
||||
m_gfx_bank = (m_gfx_bank & 14) | (state ? 1 : 0);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(mrgame_state::video_a12_w)
|
||||
{
|
||||
m_gfx_bank = (m_gfx_bank & 5) | (state ? 2 : 0);
|
||||
m_gfx_bank = (m_gfx_bank & 13) | (state ? 2 : 0);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(mrgame_state::video_a13_w)
|
||||
{
|
||||
m_gfx_bank = (m_gfx_bank & 3) | (state ? 4 : 0);
|
||||
m_gfx_bank = (m_gfx_bank & 11) | (state ? 4 : 0);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(mrgame_state::video_a14_w)
|
||||
{
|
||||
m_gfx_bank = (m_gfx_bank & 7) | (state ? 8 : 0);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(mrgame_state::intst_w)
|
||||
@ -383,10 +394,6 @@ void mrgame_state::machine_reset()
|
||||
m_row_data = 0;
|
||||
}
|
||||
|
||||
void mrgame_state::init_mrgame()
|
||||
{
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(mrgame_state::vblank_int_w)
|
||||
{
|
||||
if (state && m_intst)
|
||||
@ -419,6 +426,33 @@ TIMER_DEVICE_CALLBACK_MEMBER(mrgame_state::irq_timer)
|
||||
}
|
||||
|
||||
// layouts from pinmame
|
||||
static const gfx_layout ft_charlayout =
|
||||
{
|
||||
8, 8,
|
||||
256,
|
||||
1,
|
||||
{ 0 },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0, 8, 16, 24, 32, 40, 48, 56 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout ft_spritelayout =
|
||||
{
|
||||
16, 16,
|
||||
64,
|
||||
2,
|
||||
{ 0 },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7, 64, 65, 66, 67, 68, 69, 70, 71 },
|
||||
{ 0, 8, 16, 24, 32, 40, 48, 56, 128, 136, 144, 152, 160, 168, 176, 184 },
|
||||
32*8
|
||||
};
|
||||
|
||||
static GFXDECODE_START(gfx_ft)
|
||||
GFXDECODE_ENTRY("chargen", 0, ft_charlayout, 0, 16)
|
||||
GFXDECODE_ENTRY("chargen", 0, ft_spritelayout, 0, 16)
|
||||
GFXDECODE_END
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
{
|
||||
8, 8,
|
||||
@ -446,6 +480,33 @@ static GFXDECODE_START(gfx_mrgame)
|
||||
GFXDECODE_ENTRY("chargen", 0, spritelayout, 0, 16)
|
||||
GFXDECODE_END
|
||||
|
||||
static const gfx_layout wcs90_charlayout =
|
||||
{
|
||||
8, 8,
|
||||
4096,
|
||||
5,
|
||||
{ 0x00000*8, 0x08000*8, 0x10000*8, 0x18000*8, 0x20000*8 },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0, 8, 16, 24, 32, 40, 48, 56 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout wcs90_spritelayout =
|
||||
{
|
||||
16, 16,
|
||||
1024,
|
||||
5,
|
||||
{ 0x00000*8, 0x08000*8, 0x10000*8, 0x18000*8, 0x20000*8 },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7, 64, 65, 66, 67, 68, 69, 70, 71 },
|
||||
{ 0, 8, 16, 24, 32, 40, 48, 56, 128, 136, 144, 152, 160, 168, 176, 184 },
|
||||
32*8
|
||||
};
|
||||
|
||||
static GFXDECODE_START(gfx_wcs90)
|
||||
GFXDECODE_ENTRY("chargen", 0, wcs90_charlayout, 0, 16)
|
||||
GFXDECODE_ENTRY("chargen", 0, wcs90_spritelayout, 0, 16)
|
||||
GFXDECODE_END
|
||||
|
||||
void mrgame_state::mrgame_palette(palette_device &palette) const
|
||||
{
|
||||
static constexpr int resistances[3] = { 1000, 470, 220 };
|
||||
@ -536,6 +597,104 @@ uint32_t mrgame_state::screen_update_mrgame(screen_device &screen, bitmap_ind16
|
||||
return 0;
|
||||
}
|
||||
|
||||
// most of this came from pinmame as the diagram doesn't make a lot of sense
|
||||
uint32_t mrgame_state::screen_update_wcup90(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
uint8_t x,y;
|
||||
int32_t scrolly[32];
|
||||
uint16_t chr;
|
||||
bool flipx,flipy;
|
||||
|
||||
// text
|
||||
for (x = 0; x < 32; x++)
|
||||
{
|
||||
scrolly[x] = -m_p_objectram[x<<1];
|
||||
|
||||
for (y = 0; y < 32; y++)
|
||||
{
|
||||
chr = m_p_videoram[x+y*32] | (m_gfx_bank << 8);
|
||||
|
||||
m_gfxdecode->gfx(0)->opaque(*m_tile_bitmap, m_tile_bitmap->cliprect(),
|
||||
chr,
|
||||
0,
|
||||
m_flip,0,
|
||||
x*8,y*8);
|
||||
}
|
||||
}
|
||||
|
||||
// scroll each column as needed
|
||||
copyscrollbitmap(bitmap,*m_tile_bitmap,0,nullptr,32,scrolly,cliprect);
|
||||
|
||||
|
||||
// sprites
|
||||
for (u8 ptr = 0x5f; ptr > 0x3f; ptr -= 4)
|
||||
{
|
||||
x = m_p_objectram[ptr] + 1;
|
||||
y = 255 - m_p_objectram[ptr - 3];
|
||||
flipx = BIT(m_p_objectram[ptr - 2], 6);
|
||||
flipy = BIT(m_p_objectram[ptr - 2], 7);
|
||||
chr = (m_p_objectram[ptr - 2] & 0x3f) | (m_gfx_bank << 6);
|
||||
|
||||
if ((y > 16) && (x > 24))
|
||||
m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
|
||||
chr,
|
||||
0,
|
||||
flipx,flipy,
|
||||
x,y-16,0);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Fast Track: needs to be tested when we get the video cpu rom
|
||||
uint32_t mrgame_state::screen_update_ft(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
uint8_t x,y;
|
||||
int32_t scrolly[32];
|
||||
uint16_t chr;
|
||||
bool flipx,flipy;
|
||||
|
||||
// text
|
||||
for (x = 0; x < 32; x++)
|
||||
{
|
||||
scrolly[x] = -m_p_objectram[x<<1];
|
||||
|
||||
for (y = 0; y < 32; y++)
|
||||
{
|
||||
chr = m_p_videoram[x+y*32];
|
||||
|
||||
m_gfxdecode->gfx(0)->opaque(*m_tile_bitmap, m_tile_bitmap->cliprect(),
|
||||
chr,
|
||||
0x0d,
|
||||
m_flip,0,
|
||||
x*8,y*8);
|
||||
}
|
||||
}
|
||||
|
||||
// scroll each column as needed
|
||||
copyscrollbitmap(bitmap,*m_tile_bitmap,0,nullptr,32,scrolly,cliprect);
|
||||
|
||||
|
||||
// sprites
|
||||
for (u8 ptr = 0x5f; ptr > 0x3f; ptr -= 4)
|
||||
{
|
||||
x = m_p_objectram[ptr] + 1;
|
||||
y = 255 - m_p_objectram[ptr - 3];
|
||||
flipx = BIT(m_p_objectram[ptr - 2], 6);
|
||||
flipy = BIT(m_p_objectram[ptr - 2], 7);
|
||||
chr = (m_p_objectram[ptr - 2] & 0x3f);
|
||||
|
||||
if ((y > 16) && (x > 24))
|
||||
m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
|
||||
chr,
|
||||
0x0d,
|
||||
flipx,flipy,
|
||||
x,y-16,0);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void mrgame_state::mrgame(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
@ -567,11 +726,11 @@ void mrgame_state::mrgame(machine_config &config)
|
||||
//watchdog.set_vblank_count("screen", 8);
|
||||
|
||||
/* video hardware */
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_raw(18.432_MHz_XTAL / 3, 384, 0, 256, 264, 8, 248); // If you align with X on test screen some info is chopped off
|
||||
screen.set_screen_update(FUNC(mrgame_state::screen_update_mrgame));
|
||||
screen.set_palette(m_palette);
|
||||
screen.screen_vblank().set(FUNC(mrgame_state::vblank_nmi_w));
|
||||
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
|
||||
m_screen->set_raw(18.432_MHz_XTAL / 3, 384, 0, 256, 264, 8, 248); // If you align with X on test screen some info is chopped off
|
||||
m_screen->set_screen_update(FUNC(mrgame_state::screen_update_mrgame));
|
||||
m_screen->set_palette(m_palette);
|
||||
m_screen->screen_vblank().set(FUNC(mrgame_state::vblank_nmi_w));
|
||||
|
||||
PALETTE(config, m_palette, FUNC(mrgame_state::mrgame_palette), 64);
|
||||
|
||||
@ -608,11 +767,24 @@ void mrgame_state::wcup90(machine_config &config)
|
||||
{
|
||||
mrgame(config);
|
||||
|
||||
config.device_remove("gfxdecode");
|
||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_wcs90);
|
||||
m_videocpu->set_addrmap(AS_PROGRAM, &mrgame_state::wcup90_video_map);
|
||||
|
||||
m_selectlatch->q_out_cb<1>().set(FUNC(mrgame_state::intst_w)); // U48
|
||||
m_selectlatch->q_out_cb<2>().set(FUNC(mrgame_state::video_a14_w)); // not in schematic, but you can't address all chrs without it
|
||||
|
||||
subdevice<screen_device>("screen")->screen_vblank().set(FUNC(mrgame_state::vblank_int_w));
|
||||
m_screen->screen_vblank().set(FUNC(mrgame_state::vblank_int_w));
|
||||
m_screen->set_screen_update(FUNC(mrgame_state::screen_update_wcup90));
|
||||
}
|
||||
|
||||
void mrgame_state::ft(machine_config &config)
|
||||
{
|
||||
mrgame(config);
|
||||
|
||||
config.device_remove("gfxdecode");
|
||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_ft);
|
||||
m_screen->set_screen_update(FUNC(mrgame_state::screen_update_ft));
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------
|
||||
@ -620,8 +792,8 @@ void mrgame_state::wcup90(machine_config &config)
|
||||
/-------------------------------------------------------------------*/
|
||||
ROM_START(dakar)
|
||||
ROM_REGION16_BE(0x10000, "roms", 0)
|
||||
ROM_LOAD16_BYTE("cpu_ic13.rom", 0x000000, 0x8000, CRC(83183929) SHA1(977ac10a1e78c759eb0550794f2639fe0e2d1507))
|
||||
ROM_LOAD16_BYTE("cpu_ic14.rom", 0x000001, 0x8000, CRC(2010d28d) SHA1(d262dabd9298566df43df298cf71c974bee1434a))
|
||||
ROM_LOAD16_BYTE("cpu_ic13.rom", 0x0000, 0x8000, CRC(83183929) SHA1(977ac10a1e78c759eb0550794f2639fe0e2d1507))
|
||||
ROM_LOAD16_BYTE("cpu_ic14.rom", 0x0001, 0x8000, CRC(2010d28d) SHA1(d262dabd9298566df43df298cf71c974bee1434a))
|
||||
|
||||
ROM_REGION(0x8000, "video", 0)
|
||||
ROM_LOAD("vid_ic14.rom", 0x0000, 0x8000, CRC(88a9ca81) SHA1(9660d416b2b8f1937cda7bca51bd287641c7730c))
|
||||
@ -650,8 +822,16 @@ ROM_END
|
||||
/-------------------------------------------------------------------*/
|
||||
ROM_START(motrshow)
|
||||
ROM_REGION16_BE(0x10000, "roms", 0)
|
||||
ROM_LOAD16_BYTE("cpu_ic13.rom", 0x000000, 0x8000, CRC(e862ca71) SHA1(b02e5f39f9427d58b70b7999a5ff6075beff05ae))
|
||||
ROM_LOAD16_BYTE("cpu_ic14.rom", 0x000001, 0x8000, CRC(c898ae25) SHA1(f0e1369284a1e0f394f1d40281fd46252016602e))
|
||||
ROM_DEFAULT_BIOS("0")
|
||||
ROM_SYSTEM_BIOS(0, "0", "0")
|
||||
ROMX_LOAD( "cpu_0.ic13", 0x0000, 0x8000, CRC(e862ca71) SHA1(b02e5f39f9427d58b70b7999a5ff6075beff05ae), ROM_SKIP(1) | ROM_BIOS(0) )
|
||||
ROMX_LOAD( "cpu_0.ic14", 0x0001, 0x8000, CRC(c898ae25) SHA1(f0e1369284a1e0f394f1d40281fd46252016602e), ROM_SKIP(1) | ROM_BIOS(0) )
|
||||
ROM_SYSTEM_BIOS(1, "1", "1")
|
||||
ROMX_LOAD( "cpu_1.ic13a", 0x0000, 0x8000, CRC(2dbdd9d4) SHA1(b404814a4e83ead6da3c57818ae97f23d380f9da), ROM_SKIP(1) | ROM_BIOS(1) )
|
||||
ROMX_LOAD( "cpu_1.ic14b", 0x0001, 0x8000, CRC(0bd98fec) SHA1(b90a7e997db59740398003ba94a69118b1ee70af), ROM_SKIP(1) | ROM_BIOS(1) )
|
||||
ROM_SYSTEM_BIOS(2, "2", "2")
|
||||
ROMX_LOAD( "cpu_2.ic13b", 0x0000, 0x8000, CRC(9cd2d6f3) SHA1(6f123367ccbe1376b4bd8a5ee0f636efe42f9eac), ROM_SKIP(1) | ROM_BIOS(2) )
|
||||
ROMX_LOAD( "cpu_2.ic14b", 0x0001, 0x8000, CRC(0bd98fec) SHA1(b90a7e997db59740398003ba94a69118b1ee70af), ROM_SKIP(1) | ROM_BIOS(2) )
|
||||
|
||||
ROM_REGION(0x8000, "video", 0)
|
||||
ROM_LOAD("vid_ic14.rom", 0x0000, 0x8000, CRC(1d4568e2) SHA1(bfc2bb59708ce3a09f9a1b3460ed8d5269840c97))
|
||||
@ -674,18 +854,18 @@ ROM_START(motrshow)
|
||||
ROM_LOAD("snd_ic36.rom", 0x8000, 0x8000, CRC(4f42be6e) SHA1(684e988f413cd21c785ad5d60ef5eaddddaf72ab))
|
||||
ROM_END
|
||||
|
||||
ROM_START(motrshowa)
|
||||
ROM_START(fasttrack) // this is a cut-down green-screen version of motorshow
|
||||
ROM_REGION16_BE(0x10000, "roms", 0)
|
||||
ROM_LOAD16_BYTE("cpuic13a.rom", 0x000000, 0x8000, CRC(2dbdd9d4) SHA1(b404814a4e83ead6da3c57818ae97f23d380f9da))
|
||||
ROM_LOAD16_BYTE("cpuic14b.rom", 0x000001, 0x8000, CRC(0bd98fec) SHA1(b90a7e997db59740398003ba94a69118b1ee70af))
|
||||
ROM_LOAD16_BYTE("cpuic13.rom", 0x0000, 0x8000, CRC(675cbef6) SHA1(0561aee09bb459a79e54a903d39ef5e5288e8368))
|
||||
ROM_LOAD16_BYTE("cpuic14.rom", 0x0001, 0x8000, CRC(57a1c42f) SHA1(fbfc7527068a1e68afa4c20d5c2650399a1ee3cd))
|
||||
|
||||
ROM_REGION(0x8000, "video", 0)
|
||||
ROM_LOAD("vid_ic14.rom", 0x0000, 0x8000, CRC(1d4568e2) SHA1(bfc2bb59708ce3a09f9a1b3460ed8d5269840c97))
|
||||
ROM_LOAD("ft_vid1.764", 0x0000, 0x2000, NO_DUMP ) // only dump we found was all 0xF7
|
||||
|
||||
ROM_REGION(0x10000, "chargen", 0)
|
||||
ROM_LOAD("vid_ic55.rom", 0x0000, 0x8000, CRC(c27a4ded) SHA1(9c2c9b17f1e71afb74bdfbdcbabb99ef935d32db))
|
||||
ROM_LOAD("vid_ic56.rom", 0x8000, 0x8000, CRC(1664ec8d) SHA1(e7b15acdac7dfc51b668e908ca95f02a2b569737))
|
||||
ROM_REGION(0x10000, "chargen", ROMREGION_ERASEFF)
|
||||
ROM_LOAD("ft_vid2.532", 0x0000, 0x001000, CRC(5145685b) SHA1(6857be53efee5d439311ddb93e9f509590ff26c9) ) // 2nd half is rubbish
|
||||
|
||||
// from here wasn't supplied, assumed same as motorshow
|
||||
ROM_REGION(0x0020, "proms", 0)
|
||||
ROM_LOAD("vid_ic66.rom", 0x0000, 0x0020, CRC(5b585252) SHA1(b88e56ebdce2c3a4b170aff4b05018e7c21a79b8))
|
||||
|
||||
@ -705,31 +885,31 @@ ROM_END
|
||||
/-------------------------------------------------------------------*/
|
||||
ROM_START(macattck)
|
||||
ROM_REGION16_BE(0x10000, "roms", 0)
|
||||
ROM_LOAD16_BYTE("cpu_ic13.rom", 0x000000, 0x8000, NO_DUMP)
|
||||
ROM_LOAD16_BYTE("cpu_ic14.rom", 0x000001, 0x8000, NO_DUMP)
|
||||
ROM_LOAD16_BYTE("cpu_ic13.rom", 0x0000, 0x8000, CRC(35cabad1) SHA1(01279df881b0d7d6586c1b8570b12bdc1fb9ff21) )
|
||||
ROM_LOAD16_BYTE("cpu_ic14.rom", 0x0001, 0x8000, CRC(6a4d7b89) SHA1(090e1a6c069cb6e5efd26a0260df613375f0b063) )
|
||||
|
||||
ROM_REGION(0x8000, "video", 0)
|
||||
ROM_LOAD("vid_ic91.rom", 0x0000, 0x8000, CRC(42d2ba01) SHA1(c13d38c2798575760461912cef65dde57dfd938c))
|
||||
ROM_LOAD("vid_ic91.rom", 0x0000, 0x8000, CRC(42d2ba01) SHA1(c13d38c2798575760461912cef65dde57dfd938c) )
|
||||
|
||||
ROM_REGION(0x30000, "chargen", 0)
|
||||
ROM_LOAD("vid_ic14.rom", 0x00000, 0x8000, CRC(f6e047fb) SHA1(6be712dda60257b9e7014315c8fee19812622bf6))
|
||||
ROM_LOAD("vid_ic15.rom", 0x08000, 0x8000, CRC(405a8f54) SHA1(4d58915763db3c3be2bfc166be1a12285ff2c38b))
|
||||
ROM_LOAD("vid_ic16.rom", 0x10000, 0x8000, CRC(063ea783) SHA1(385dbfcc8ecd3a784f9a8752d00e060b48d70d6a))
|
||||
ROM_LOAD("vid_ic17.rom", 0x18000, 0x8000, CRC(9f95abf8) SHA1(d71cf36c8bf27ad41b2d3cebd0af620a34ce0062) BAD_DUMP)
|
||||
ROM_LOAD("vid_ic18.rom", 0x20000, 0x8000, CRC(83ef25f8) SHA1(bab482badb8646b099dbb197ca9af3a126b274e3))
|
||||
ROM_REGION(0x28000, "chargen", 0)
|
||||
ROM_LOAD("vid_ic14.rom", 0x00000, 0x8000, CRC(f6e047fb) SHA1(6be712dda60257b9e7014315c8fee19812622bf6) )
|
||||
ROM_LOAD("vid_ic15.rom", 0x08000, 0x8000, CRC(405a8f54) SHA1(4d58915763db3c3be2bfc166be1a12285ff2c38b) )
|
||||
ROM_LOAD("vid_ic16.rom", 0x10000, 0x8000, CRC(063ea783) SHA1(385dbfcc8ecd3a784f9a8752d00e060b48d70d6a) )
|
||||
ROM_LOAD("vid_ic17.rom", 0x18000, 0x8000, CRC(7494e44e) SHA1(c7c062508e81b9fd818f36f80d4a6da02c3bda40) )
|
||||
ROM_LOAD("vid_ic18.rom", 0x20000, 0x8000, CRC(83ef25f8) SHA1(bab482badb8646b099dbb197ca9af3a126b274e3) )
|
||||
|
||||
ROM_REGION(0x0020, "proms", 0)
|
||||
ROM_LOAD("vid_ic61.rom", 0x0000, 0x0020, CRC(538c72ae) SHA1(f704492568257fcc4a4f1189207c6fb6526eb81c) BAD_DUMP)
|
||||
ROM_LOAD("vid_ic61.rom", 0x0000, 0x0020, CRC(538c72ae) SHA1(f704492568257fcc4a4f1189207c6fb6526eb81c) BAD_DUMP) // from wcup90, assumed to be the same
|
||||
|
||||
ROM_REGION(0x10000, "audio1", 0)
|
||||
ROM_LOAD("snd_ic06.rom", 0x0000, 0x8000, NO_DUMP)
|
||||
ROM_LOAD("snd_ic06.rom", 0x0000, 0x8000, CRC(4ab94d16) SHA1(4c3755489f699c751d664f420b9852ef16bb3aa6) )
|
||||
|
||||
ROM_REGION(0x4000, "m114", 0)
|
||||
ROM_LOAD("snd_ic22.rom", 0x0000, 0x4000, NO_DUMP)
|
||||
ROM_LOAD("snd_ic22.rom", 0x0000, 0x4000, CRC(9d3546c5) SHA1(cc6e91288692b927f7d046e192b1fd128c126d0d) )
|
||||
|
||||
ROM_REGION(0x10000, "audio2", 0)
|
||||
ROM_LOAD("snd_ic35.rom", 0x0000, 0x8000, NO_DUMP)
|
||||
ROM_LOAD("snd_ic36.rom", 0x8000, 0x8000, NO_DUMP)
|
||||
ROM_LOAD("snd_ic35.rom", 0x0000, 0x8000, CRC(52e9811c) SHA1(52223cf14a185b4dab14143d797000baf6d618cc) )
|
||||
ROM_LOAD("snd_ic36.rom", 0x8000, 0x8000, CRC(2e6b5822) SHA1(9e390e4b71cc103ec3d781575df484a3e4217b3b) )
|
||||
ROM_END
|
||||
|
||||
/*-------------------------------------------------------------------
|
||||
@ -737,13 +917,13 @@ ROM_END
|
||||
/-------------------------------------------------------------------*/
|
||||
ROM_START(wcup90)
|
||||
ROM_REGION16_BE(0x10000, "roms", 0)
|
||||
ROM_LOAD16_BYTE("cpu_ic13.rom", 0x000000, 0x8000, CRC(0e2edfb0) SHA1(862fb1f6509fb1f560d0b2bb8a5764f64b259f04))
|
||||
ROM_LOAD16_BYTE("cpu_ic14.rom", 0x000001, 0x8000, CRC(fdd03165) SHA1(6dc6e68197218f8808436098c26cd04fc3215b1c))
|
||||
ROM_LOAD16_BYTE("cpu_ic13.rom", 0x0000, 0x8000, CRC(0e2edfb0) SHA1(862fb1f6509fb1f560d0b2bb8a5764f64b259f04))
|
||||
ROM_LOAD16_BYTE("cpu_ic14.rom", 0x0001, 0x8000, CRC(fdd03165) SHA1(6dc6e68197218f8808436098c26cd04fc3215b1c))
|
||||
|
||||
ROM_REGION(0x8000, "video", 0)
|
||||
ROM_LOAD("vid_ic91.rom", 0x0000, 0x8000, CRC(3287ad20) SHA1(d5a453efc7292670073f157dca04897be857b8ed))
|
||||
|
||||
ROM_REGION(0x30000, "chargen", 0)
|
||||
ROM_REGION(0x28000, "chargen", 0)
|
||||
ROM_LOAD("vid_ic14.rom", 0x00000, 0x8000, CRC(a101d562) SHA1(ad9ad3968f13169572ec60e22e84acf43382b51e))
|
||||
ROM_LOAD("vid_ic15.rom", 0x08000, 0x8000, CRC(40791e7a) SHA1(788760b8527df48d1825be88099491b6e94f0a19))
|
||||
ROM_LOAD("vid_ic16.rom", 0x10000, 0x8000, CRC(a7214157) SHA1(a4660180e8491a37028fec8533cf13daf839a7c4))
|
||||
@ -768,8 +948,8 @@ ROM_START(wcup90)
|
||||
ROM_END
|
||||
|
||||
|
||||
GAME(1988, dakar, 0, mrgame, mrgame, mrgame_state, init_mrgame, ROT0, "Mr Game", "Dakar", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
|
||||
GAME(1989, motrshow, 0, mrgame, mrgame, mrgame_state, init_mrgame, ROT0, "Mr Game", "Motor Show (set 1)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
|
||||
GAME(1989, motrshowa, motrshow, mrgame, mrgame, mrgame_state, init_mrgame, ROT0, "Mr Game", "Motor Show (set 2)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
|
||||
GAME(1990, macattck, 0, wcup90, mrgame, mrgame_state, init_mrgame, ROT0, "Mr Game", "Mac Attack", MACHINE_IS_SKELETON_MECHANICAL)
|
||||
GAME(1990, wcup90, 0, wcup90, mrgame, mrgame_state, init_mrgame, ROT0, "Mr Game", "World Cup 90", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME(1988, dakar, 0, mrgame, mrgame, mrgame_state, empty_init, ROT0, "Mr Game", "Dakar", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
|
||||
GAME(1989, motrshow, 0, mrgame, mrgame, mrgame_state, empty_init, ROT0, "Mr Game", "Motor Show", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
|
||||
GAME(1989, fasttrack, motrshow, ft, mrgame, mrgame_state, empty_init, ROT0, "Mr Game", "Fast Track", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
|
||||
GAME(1990, macattck, 0, wcup90, mrgame, mrgame_state, empty_init, ROT0, "Mr Game", "Mac Attack", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME(1990, wcup90, 0, wcup90, mrgame, mrgame_state, empty_init, ROT0, "Mr Game", "World Cup 90", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
@ -30710,9 +30710,9 @@ mrflea // (c) 1982
|
||||
|
||||
@source:mrgame.cpp
|
||||
dakar //
|
||||
fasttrack //
|
||||
macattck //
|
||||
motrshow //
|
||||
motrshowa //
|
||||
wcup90 //
|
||||
|
||||
@source:mrjong.cpp
|
||||
|
Loading…
Reference in New Issue
Block a user