summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/alpha68k.cpp
diff options
context:
space:
mode:
author angelosa <salese_corp_ltd@email.it>2016-09-06 22:25:20 +0200
committer angelosa <salese_corp_ltd@email.it>2016-09-06 22:25:20 +0200
commit0857b44df61ee46a1c12f46dfdb5c738b76b8e91 (patch)
tree98b9fd10c7965a557dbc115106c0983424c91456 /src/mame/drivers/alpha68k.cpp
parent4d344fc022d05f466ad834f37a61ccbea468e4d3 (diff)
Properly mark goldmedla / b as unemulated protection flag, they never access the video bank register for whatever reason, nw.
Diffstat (limited to 'src/mame/drivers/alpha68k.cpp')
-rw-r--r--src/mame/drivers/alpha68k.cpp27
1 files changed, 17 insertions, 10 deletions
diff --git a/src/mame/drivers/alpha68k.cpp b/src/mame/drivers/alpha68k.cpp
index 1602fb9dc42..f364ec6b009 100644
--- a/src/mame/drivers/alpha68k.cpp
+++ b/src/mame/drivers/alpha68k.cpp
@@ -2878,12 +2878,15 @@ ROM_END
// it runs in an Alpha-68K96III system board
ROM_START( goldmedla )
- ROM_REGION( 0x40000, "maincpu", 0 )
+ ROM_REGION( 0x40000, "maincpu", ROMREGION_ERASEFF )
ROM_LOAD16_BYTE( "gm3-7.bin", 0x00000, 0x10000, CRC(11a63f4c) SHA1(840a8f1f6d80d0395c65f8ad30cc6bfe5a9693f4) )
ROM_LOAD16_BYTE( "gm4-7.bin", 0x00001, 0x10000, CRC(e19966af) SHA1(a2523627fcc9f5e4a82b4ebec937880fc0e0e9f3) )
- ROM_LOAD16_BYTE( "gm1-7.bin", 0x20000, 0x10000, CRC(6d87b8a6) SHA1(6f47b42d6577691334784e961a991de2ad67f677) )
- ROM_LOAD16_BYTE( "gm2-7.bin", 0x20001, 0x10000, CRC(8d579505) SHA1(81f225edbba1cac65275e2929336d076afbbd2bf) )
-
+
+ ROM_REGION16_BE( 0x40000, "data_bank", ROMREGION_ERASEFF )
+ ROM_LOAD16_BYTE( "gm1-7.bin", 0x00000, 0x10000, CRC(6d87b8a6) SHA1(6f47b42d6577691334784e961a991de2ad67f677) )
+ ROM_LOAD16_BYTE( "gm2-7.bin", 0x00001, 0x10000, CRC(8d579505) SHA1(81f225edbba1cac65275e2929336d076afbbd2bf) )
+ ROM_COPY( "data_bank", 0, 0x20000, 0x20000 )
+
ROM_REGION( 0x80000, "audiocpu", 0 ) // banking is slightly different from other Alpha68kII games
ROM_LOAD( "38.bin", 0x00000, 0x08000, BAD_DUMP CRC(4bf251b8) SHA1(d69a6607e92dbe8081c7c66b6853f02d578ef73f) ) // we use the bootleg set instead
ROM_CONTINUE( 0x18000, 0x08000 )
@@ -2910,11 +2913,14 @@ ROM_END
//AT: the bootleg set has strong resemblance of "goldmed7" on an Alpha-68K96III system board
ROM_START( goldmedlb )
- ROM_REGION( 0x40000, "maincpu", 0 )
+ ROM_REGION( 0x40000, "maincpu", ROMREGION_ERASEFF )
ROM_LOAD16_BYTE( "l_3.bin", 0x00000, 0x10000, CRC(5e106bcf) SHA1(421ddfdd5ef1e9b5b7c45617fd690df982d63c4b) )
ROM_LOAD16_BYTE( "l_4.bin", 0x00001, 0x10000, CRC(e19966af) SHA1(a2523627fcc9f5e4a82b4ebec937880fc0e0e9f3) )
- ROM_LOAD16_BYTE( "l_1.bin", 0x20000, 0x08000, CRC(7eec7ee5) SHA1(4fbb0832f50a83e5060c6891aacccc8f28a84086) )
- ROM_LOAD16_BYTE( "l_2.bin", 0x20001, 0x08000, CRC(bf59e4f9) SHA1(76c276c54f0f1cc08db7f0169fb7a1357278a1fd) )
+
+ ROM_REGION16_BE( 0x40000, "data_bank", ROMREGION_ERASEFF )
+ ROM_LOAD16_BYTE( "l_1.bin", 0x00000, 0x08000, CRC(7eec7ee5) SHA1(4fbb0832f50a83e5060c6891aacccc8f28a84086) )
+ ROM_LOAD16_BYTE( "l_2.bin", 0x00001, 0x08000, CRC(bf59e4f9) SHA1(76c276c54f0f1cc08db7f0169fb7a1357278a1fd) )
+ ROM_COPY( "data_bank", 0, 0x20000, 0x20000 )
ROM_REGION( 0x80000, "audiocpu", 0 ) //AT: looks identical to goldsnd0.c47
ROM_LOAD( "38.bin", 0x00000, 0x08000, CRC(4bf251b8) SHA1(d69a6607e92dbe8081c7c66b6853f02d578ef73f) )
@@ -2926,6 +2932,7 @@ ROM_START( goldmedlb )
ROM_REGION( 0x010000, "gfx1", 0 ) /* chars */
ROM_LOAD16_BYTE( "gm.6", 0x00000, 0x08000, CRC(56020b13) SHA1(17e176a9c82ed0d6cb5c4014034ce4e16b8ef4fb) )
ROM_LOAD16_BYTE( "gm.5", 0x00001, 0x08000, CRC(667f33f1) SHA1(6d05603b49927f09c9bb34e787b003eceaaf7062) )
+ // TODO: recover this!
// ROM_LOAD( "33.bin", 0x00000, 0x10000, CRC(05600b13) )
/* I haven't yet verified if these are the same as the bootleg */
@@ -3392,7 +3399,7 @@ DRIVER_INIT_MEMBER(alpha68k_state,goldmedl)
DRIVER_INIT_MEMBER(alpha68k_state,goldmedla)
{
- membank("bank8")->set_base(memregion("maincpu")->base() + 0x20000);
+ membank("bank8")->set_base(memregion("data_bank")->base());
m_invert_controls = 0;
m_microcontroller_id = 0x8803; //Guess - routine to handle coinage is the same as in 'goldmedl'
m_coin_id = 0x23 | (0x24 << 8);
@@ -3495,8 +3502,8 @@ GAME( 1988, skysoldrbl,skysoldr, alpha68k_II, skysoldr, alpha68k_state, skyso
GAME( 1988, goldmedl, 0, alpha68k_II_gm, goldmedl, alpha68k_state, goldmedl, ROT0, "SNK", "Gold Medalist (set 1)", MACHINE_SUPPORTS_SAVE )
-GAME( 1988, goldmedla, goldmedl, alpha68k_II_gm, goldmedl, alpha68k_state, goldmedla,ROT0, "SNK", "Gold Medalist (set 2)", MACHINE_SUPPORTS_SAVE )
-GAME( 1988, goldmedlb, goldmedl, alpha68k_II_gm, goldmedl, alpha68k_state, goldmedla,ROT0, "bootleg", "Gold Medalist (bootleg)", MACHINE_NOT_WORKING )
+GAME( 1988, goldmedla, goldmedl, alpha68k_II_gm, goldmedl, alpha68k_state, goldmedla,ROT0, "SNK", "Gold Medalist (set 2)", MACHINE_SUPPORTS_SAVE|MACHINE_UNEMULATED_PROTECTION|MACHINE_IMPERFECT_GRAPHICS ) // current handling never really accesses video banking other than boot time.
+GAME( 1988, goldmedlb, goldmedl, alpha68k_II_gm, goldmedl, alpha68k_state, goldmedla,ROT0, "bootleg", "Gold Medalist (bootleg)", MACHINE_UNEMULATED_PROTECTION|MACHINE_IMPERFECT_GRAPHICS ) // same as above
GAME( 1989, skyadvnt, 0, alpha68k_V, skyadvnt, alpha68k_state, skyadvnt, ROT90, "Alpha Denshi Co.", "Sky Adventure (World)", MACHINE_SUPPORTS_SAVE )
GAME( 1989, skyadvntu, skyadvnt, alpha68k_V, skyadvntu, alpha68k_state,skyadvntu,ROT90, "Alpha Denshi Co. (SNK of America license)", "Sky Adventure (US)", MACHINE_SUPPORTS_SAVE )