diff options
author | Ivan Vangelista <mesgnet@yahoo.it> | 2020-03-27 20:30:51 +0100 |
---|---|---|
committer | Ivan Vangelista <mesgnet@yahoo.it> | 2020-03-27 20:30:51 +0100 |
commit | 326e5f1907be8952eeb9daa3cb05a3831c065e87 (patch) | |
tree | e96a6145c444f75ec863049e592baa923df6622b | |
parent | c1f93f6b47805e5687c80183d11335950fc9275e (diff) |
astrcorp.cpp: preliminary decryption for magibomb (nw)
-rw-r--r-- | src/mame/drivers/astrcorp.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/mame/drivers/astrcorp.cpp b/src/mame/drivers/astrcorp.cpp index 269d635e36f..34e29265d42 100644 --- a/src/mame/drivers/astrcorp.cpp +++ b/src/mame/drivers/astrcorp.cpp @@ -70,6 +70,7 @@ public: void showhanc(machine_config &config); void init_astoneag(); + void init_magibomb(); void init_showhanc(); void init_showhand(); @@ -1360,11 +1361,20 @@ void astrocorp_state::init_astoneag() decrypt_rom(astoneag_table); } +void astrocorp_state::init_magibomb() +{ + uint8_t *rom = memregion("maincpu")->base(); + for (int i = 1; i < 0x20000; i += 2) + { + rom[i] = bitswap<8>(rom[i], 6, 7, 5, 0, 4, 1, 3, 2); + } +} + GAME( 2000, showhand, 0, showhand, showhand, astrocorp_state, init_showhand, ROT0, "Astro Corp.", "Show Hand (Italy)", MACHINE_SUPPORTS_SAVE ) GAME( 2000, showhanc, showhand, showhanc, showhanc, astrocorp_state, init_showhanc, ROT0, "Astro Corp.", "Wang Pai Dui Jue (China)", MACHINE_SUPPORTS_SAVE ) GAME( 2002, skilldrp, 0, skilldrp, skilldrp, astrocorp_state, empty_init, ROT0, "Astro Corp.", "Skill Drop Georgia (Ver. G1.0S)", MACHINE_SUPPORTS_SAVE ) GAME( 2003, speeddrp, 0, speeddrp, skilldrp, astrocorp_state, empty_init, ROT0, "Astro Corp.", "Speed Drop (Ver. 1.06)", MACHINE_SUPPORTS_SAVE ) -GAME( 200?, magibomb, 0, speeddrp, skilldrp, astrocorp_state, empty_init, ROT0, "Astro Corp.", "Magic Bomb", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // no gfx dumps, less complex looking encryption +GAME( 200?, magibomb, 0, speeddrp, skilldrp, astrocorp_state, init_magibomb, ROT0, "Astro Corp.", "Magic Bomb", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // no gfx dumps, less complex looking encryption // Encrypted games (not working): GAME( 2003?, dinodino, 0, skilldrp, skilldrp, astrocorp_state, empty_init, ROT0, "Astro Corp.", "Dino Dino", MACHINE_NOT_WORKING ) |