misc/amaticmg.cpp: identified decryption keys for am_mg24a and am_mg5hu

This commit is contained in:
Ivan Vangelista 2023-03-08 18:18:49 +01:00
parent dc03ce8fbc
commit 676d84efc8

View File

@ -455,6 +455,7 @@ public:
void init_ama8000_2_i();
void init_ama8000_2_v();
void init_ama8000_1_x();
void init_am_mg5hu();
protected:
virtual void machine_start() override;
@ -1145,7 +1146,7 @@ ROM_END
/*
Multi Game 5.
PCB: AMA 8000-2
Program: AMGHU_V83.65
Program: AMGHU_VB3.65
ROMs:
OMH (program): 27C020.
@ -1299,6 +1300,11 @@ void amaticmg_state::init_ama8000_3_o()
decrypt(0x56e, 0xa7);
}
void amaticmg_state::init_am_mg5hu()
{
decrypt(0x540, 0xa6);
}
} // anonymous namespace
@ -1309,7 +1315,7 @@ void amaticmg_state::init_ama8000_3_o()
/* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
GAMEL( 1996, suprstar, 0, amaticmg, amaticmg, amaticmg_state, init_ama8000_1_x, ROT90, "Amatic Trading GmbH", "Super Stars", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING, layout_suprstar )
GAME( 2000, am_mg24, 0, amaticmg2, amaticmg, amaticmg_state, init_ama8000_2_i, ROT0, "Amatic Trading GmbH", "Multi Game I (V.Ger 2.4)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_WRONG_COLORS | MACHINE_UNEMULATED_PROTECTION | MACHINE_NO_SOUND | MACHINE_NOT_WORKING )
GAME( 2000, am_mg24a, 0, amaticmg2, amaticmg, amaticmg_state, init_ama8000_2_i, ROT0, "Amatic Trading GmbH", "Multi Game I (unknown V2.4)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_WRONG_COLORS | MACHINE_UNEMULATED_PROTECTION | MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // needs proper decryption.
GAME( 2000, am_mg24a, 0, amaticmg2, amaticmg, amaticmg_state, init_ama8000_1_x, ROT0, "Amatic Trading GmbH", "Multi Game I (V.Stm 2.7)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_WRONG_COLORS | MACHINE_UNEMULATED_PROTECTION | MACHINE_NO_SOUND | MACHINE_NOT_WORKING )
GAME( 2000, am_mg3, 0, amaticmg2, amaticmg, amaticmg_state, init_ama8000_2_i, ROT0, "Amatic Trading GmbH", "Multi Game III (V.Ger 3.5)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_WRONG_COLORS | MACHINE_UNEMULATED_PROTECTION | MACHINE_NO_SOUND | MACHINE_NOT_WORKING )
GAME( 2000, am_mg3a, 0, amaticmg4, amaticmg, amaticmg_state, init_ama8000_2_v, ROT0, "Amatic Trading GmbH", "Multi Game III (V.Ger 3.64)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_WRONG_COLORS | MACHINE_UNEMULATED_PROTECTION | MACHINE_NO_SOUND | MACHINE_NOT_WORKING )
GAME( 2000, am_mg35i, 0, amaticmg2, amaticmg, amaticmg_state, init_ama8000_3_o, ROT0, "Amatic Trading GmbH", "Multi Game III (S.Ita 3.5)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_WRONG_COLORS | MACHINE_UNEMULATED_PROTECTION | MACHINE_NO_SOUND | MACHINE_NOT_WORKING )
@ -1317,4 +1323,4 @@ GAME( 2000, am_mg34i, am_mg35i, amaticmg2, amaticmg, amaticmg_state, init_ama80
GAME( 2000, am_mg33i, am_mg35i, amaticmg2, amaticmg, amaticmg_state, init_ama8000_3_o, ROT0, "Amatic Trading GmbH", "Multi Game III (S.Ita 3.3)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_WRONG_COLORS | MACHINE_UNEMULATED_PROTECTION | MACHINE_NO_SOUND | MACHINE_NOT_WORKING )
GAME( 2000, am_mg31i, am_mg35i, amaticmg2, amaticmg, amaticmg_state, init_ama8000_3_o, ROT0, "Amatic Trading GmbH", "Multi Game III (S.Ita 3.1)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_WRONG_COLORS | MACHINE_UNEMULATED_PROTECTION | MACHINE_NO_SOUND | MACHINE_NOT_WORKING )
GAME( 2000, am_mg4v, 0, amaticmg4, amaticmg, amaticmg_state, init_ama8000_2_v, ROT0, "Amatic Trading GmbH", "Multi Game IV (V.Ger 3.44)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_WRONG_COLORS | MACHINE_UNEMULATED_PROTECTION | MACHINE_NO_SOUND | MACHINE_NOT_WORKING )
GAME( 200?, am_mg5hu, 0, amaticmg4, amaticmg, amaticmg_state, empty_init, ROT0, "Amatic Trading GmbH", "Multi Game V (AMGHU_V83.65)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_WRONG_COLORS | MACHINE_UNEMULATED_PROTECTION | MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // needs decryption.
GAME( 2001, am_mg5hu, 0, amaticmg4, amaticmg, amaticmg_state, init_am_mg5hu, ROT0, "Amatic Trading GmbH", "Multi Game V (AMGHU_VB3.65)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_WRONG_COLORS | MACHINE_UNEMULATED_PROTECTION | MACHINE_NO_SOUND | MACHINE_NOT_WORKING )