summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2020-07-18 09:50:04 +0200
committer Ivan Vangelista <mesgnet@yahoo.it>2020-07-18 09:50:04 +0200
commitc6aa3a90785c9a743568e10d976b63fb69b10624 (patch)
tree3897a8d1d58e1f6659c02ee0a70058641b291c8c
parent28c22e101a3c804d7c33df6af286f97ad9a27007 (diff)
goldstar.cpp: rearranged lucky8l 57C49B-35 contents to what MAME expects, still not clear how the game generates the palette usually contained in the PROM at d13
-rw-r--r--src/mame/drivers/goldstar.cpp16
-rw-r--r--src/mame/includes/goldstar.h1
2 files changed, 16 insertions, 1 deletions
diff --git a/src/mame/drivers/goldstar.cpp b/src/mame/drivers/goldstar.cpp
index 3c74a165d2d..3207046a21a 100644
--- a/src/mame/drivers/goldstar.cpp
+++ b/src/mame/drivers/goldstar.cpp
@@ -18433,6 +18433,20 @@ void wingco_state::init_lucky8f() // TODO: simplify
}
}
+void wingco_state::init_lucky8l()
+{
+ // rearrange the 57C49B-35 contents to what MAME expects
+ uint8_t *proms = memregion("proms")->base();
+
+ for (uint8_t i = 0; i < 0x80; i++)
+ {
+ uint8_t bits74 = proms[i] >> 4;
+ uint8_t bits30 = proms[i] & 0x0f;
+ proms[i] = bits30;
+ proms[i + 0x100] = bits74;
+ }
+}
+
void wingco_state::init_super972()
{
uint8_t *rom = memregion("maincpu")->base();
@@ -19229,7 +19243,7 @@ GAMEL( 1991, lucky8h, lucky8, lucky8, lucky8, wingco_state, empty_init
GAMEL( 1989, lucky8i, lucky8, lucky8, lucky8, wingco_state, empty_init, ROT0, "Eagle/Wing", "New Lucky 8 Lines (set 9, W-4, Eagle, licensed by Wing)", 0, layout_lucky8 ) // 2 control sets...
GAMEL( 199?, lucky8j, lucky8, lucky8, lucky8, wingco_state, empty_init, ROT0, "<unknown>", "New Lucky 8 Lines Crown Turbo (Hack)", MACHINE_NOT_WORKING, layout_lucky8 ) // 2 control sets...
GAMEL( 1989, lucky8k, lucky8, lucky8k, lucky8, wingco_state, empty_init, ROT0, "Wing Co., Ltd.", "New Lucky 8 Lines (set 10, W-4, encrypted NEC D315-5136)", 0, layout_lucky8 ) // 2 control sets...
-GAMEL( 1989, lucky8l, lucky8, lucky8, lucky8, wingco_state, empty_init, ROT0, "Wing Co., Ltd.", "New Lucky 8 Lines (set 11, W-4)", MACHINE_WRONG_COLORS, layout_lucky8 ) // uses a strange mix of PLDs and PROMs for colors
+GAMEL( 1989, lucky8l, lucky8, lucky8, lucky8, wingco_state, init_lucky8l, ROT0, "Wing Co., Ltd.", "New Lucky 8 Lines (set 11, W-4)", MACHINE_WRONG_COLORS, layout_lucky8 ) // uses a strange mix of PLDs and PROMs for colors
GAMEL( 198?, ns8lines, 0, lucky8, lucky8b, wingco_state, empty_init, ROT0, "<unknown>", "New Lucky 8 Lines / New Super 8 Lines (W-4)", 0, layout_lucky8p1 ) // only 1 control set...
GAMEL( 1985, ns8linesa, ns8lines, lucky8, lucky8b, wingco_state, empty_init, ROT0, "Yamate (bootleg)", "New Lucky 8 Lines / New Super 8 Lines (W-4, Lucky97 HW)", 0, layout_lucky8p1 ) // only 1 control set...
GAMEL( 198?, ns8linew, ns8lines, lucky8, ns8linew, wingco_state, empty_init, ROT0, "<unknown>", "New Lucky 8 Lines / New Super 8 Lines (F-5, Witch Bonus)", 0, layout_lucky8 ) // 2 control sets...
diff --git a/src/mame/includes/goldstar.h b/src/mame/includes/goldstar.h
index 1a4926596e3..33e8ac6a3a8 100644
--- a/src/mame/includes/goldstar.h
+++ b/src/mame/includes/goldstar.h
@@ -233,6 +233,7 @@ public:
void init_lucky8a();
void init_lucky8f();
+ void init_lucky8l();
void init_magoddsc();
void init_flaming7();
void init_flam7_tw();