Exemplo n.º 1
0
DRIVER_INIT_MEMBER(pgm_arm_type2_state,kov2p)
{
	// this hacks the identification of the kov2 rom to return the string required for kov2p
	// this isn't guaranteed to work properly (and definitely wouldn't on real hardware due to the internal
	// ROM uploading the encryption table)  The internal ROM should be dumped properly.
	pgm_basic_init(machine());
	pgm_kov2p_decrypt(machine());
	kov2_latch_init(machine());

	UINT8 *mem8 = (UINT8 *)machine().root_device().memregion("user1")->base();
	mem8[0xDE] = 0xC0;
	mem8[0xDF] = 0x46;
	mem8[0x4ED8] = 0xA8;// B0
	mem8[0x4EDC] = 0x9C;// A4
	mem8[0x4EE0] = 0x5C;// 64
	mem8[0x4EE4] = 0x94;// 9C
	mem8[0x4EE8] = 0xE8;// F0
	mem8[0x4EEC] = 0x6C;// 74
	mem8[0x4EF0] = 0xD4;// DC
	mem8[0x4EF4] = 0x50;// 58
	mem8[0x4EF8] = 0x80;// 88
	mem8[0x4EFC] = 0x9C;// A4
	mem8[0x4F00] = 0x28;// 30
	mem8[0x4F04] = 0x30;// 38
	mem8[0x4F08] = 0x34;// 3C
	mem8[0x4F0C] = 0x1C;// 24
	mem8[0x1FFFFC] = 0x33;
	mem8[0x1FFFFD] = 0x99;

	// we only have a HK internal ROM dumped for now, allow us to override that for debugging purposes.
	machine().device("prot")->memory().space(AS_PROGRAM).install_legacy_write_handler(0x48000138, 0x4800013b, FUNC(kov2_arm_region_w));
}
Exemplo n.º 2
0
DRIVER_INIT_MEMBER(pgm_arm_type2_state,kov2p)
{
	// this hacks the identification of the kov2 rom to return the string required for kov2p
	// this isn't guaranteed to work properly (and definitely wouldn't on real hardware due to the internal
	// ROM uploading the encryption table)  The internal ROM should be dumped properly.
	pgm_basic_init();
	pgm_kov2p_decrypt(machine());
	kov2_latch_init();

	// we only have a China internal ROM dumped for now, allow us to override that for debugging purposes.
	machine().device("prot")->memory().space(AS_PROGRAM).install_write_handler(0x48000138, 0x4800013b, write32_delegate(FUNC(pgm_arm_type2_state::kov2p_arm_region_w),this));
}