From f5042eb3399855c6a3b561378107ddd24452ba4f Mon Sep 17 00:00:00 2001 From: DavidHaywood Date: Sun, 7 Jul 2024 16:01:52 +0100 Subject: [PATCH 1/3] igs_fear.cpp - add IGS027A dump pgmcrypt.cpp - properly fix fearless decryption --- src/mame/igs/igs_fear.cpp | 3 +-- src/mame/igs/pgmcrypt.cpp | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/mame/igs/igs_fear.cpp b/src/mame/igs/igs_fear.cpp index 4212c7125822c..45f5a80a4ed30 100644 --- a/src/mame/igs/igs_fear.cpp +++ b/src/mame/igs/igs_fear.cpp @@ -162,8 +162,7 @@ void igs_fear_state::igs_fear(machine_config &config) ROM_START( fearless ) ROM_REGION( 0x04000, "maincpu", 0 ) // Internal rom of IGS027A ARM based MCU - // this is taken from superkds, the XOR table required (that is uploaded by this internal ROM) is the same as superkds at least, but actual internal ROM might not be identical - ROM_LOAD( "fearless_igs027a.bin", 0x00000, 0x4000, BAD_DUMP CRC(9a8e790d) SHA1(ab020a04a4ed0c0e5ec8c979f206fe57572d2304) ) // sticker marked 'F1' + ROM_LOAD( "fearless_igs027a.bin", 0x00000, 0x4000, CRC(2121f01b) SHA1(de44016b590fdcf6bfb63e3f8dbbbd679938fe87) ) // sticker marked 'F1' ROM_REGION32_LE( 0x80000, "user1", 0 ) // external ARM data / prg ROM_LOAD( "fearlessp_v-101us.u37", 0x000000, 0x80000, CRC(2522873c) SHA1(8db709877311b6d2796353fc9a44a820937e35c2) ) diff --git a/src/mame/igs/pgmcrypt.cpp b/src/mame/igs/pgmcrypt.cpp index a8dad4bf08d26..7247d69576526 100644 --- a/src/mame/igs/pgmcrypt.cpp +++ b/src/mame/igs/pgmcrypt.cpp @@ -1453,8 +1453,8 @@ void fearless_decrypt(running_machine &machine) uint16_t x = src[i]; IGS27_CRYPT1 - IGS27_CRYPT2_ALT - IGS27_CRYPT3 + // IGS27_CRYPT2 + IGS27_CRYPT3_ALT2 IGS27_CRYPT4 // IGS27_CRYPT5 IGS27_CRYPT6 From fe30427170aef61aacb65661e10cc9825138c9fb Mon Sep 17 00:00:00 2001 From: DavidHaywood Date: Sun, 7 Jul 2024 16:27:51 +0100 Subject: [PATCH 2/3] correct clock for XA --- src/mame/igs/igs_fear.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mame/igs/igs_fear.cpp b/src/mame/igs/igs_fear.cpp index 45f5a80a4ed30..8b9b3b74f4234 100644 --- a/src/mame/igs/igs_fear.cpp +++ b/src/mame/igs/igs_fear.cpp @@ -139,7 +139,7 @@ void igs_fear_state::igs_fear(machine_config &config) ARM7(config, m_maincpu, 50000000/2); m_maincpu->set_addrmap(AS_PROGRAM, &igs_fear_state::main_map); - MX10EXA(config, m_xa, 10000000); // MX10EXAQC (Philips 80C51 XA) unknown frequency + MX10EXA(config, m_xa, 50000000/3); // MX10EXAQC (Philips 80C51 XA) unknown frequency screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); From 065bb18dd44360644eec7a83aa43ccf564c6bec2 Mon Sep 17 00:00:00 2001 From: DavidHaywood Date: Sun, 7 Jul 2024 16:28:22 +0100 Subject: [PATCH 3/3] correct clock --- src/mame/igs/igs_fear.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mame/igs/igs_fear.cpp b/src/mame/igs/igs_fear.cpp index 8b9b3b74f4234..59e70a5072c3b 100644 --- a/src/mame/igs/igs_fear.cpp +++ b/src/mame/igs/igs_fear.cpp @@ -139,7 +139,7 @@ void igs_fear_state::igs_fear(machine_config &config) ARM7(config, m_maincpu, 50000000/2); m_maincpu->set_addrmap(AS_PROGRAM, &igs_fear_state::main_map); - MX10EXA(config, m_xa, 50000000/3); // MX10EXAQC (Philips 80C51 XA) unknown frequency + MX10EXA(config, m_xa, 50000000/3); // MX10EXAQC (Philips 80C51 XA) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60);