diff options
| author | 2020-07-18 09:50:04 +0200 | |
|---|---|---|
| committer | 2020-07-18 09:50:04 +0200 | |
| commit | c6aa3a90785c9a743568e10d976b63fb69b10624 (patch) | |
| tree | 3897a8d1d58e1f6659c02ee0a70058641b291c8c | |
| parent | 28c22e101a3c804d7c33df6af286f97ad9a27007 (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.cpp | 16 | ||||
| -rw-r--r-- | src/mame/includes/goldstar.h | 1 |
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(); |
