Magical Truck Adventure rom patch to unlock region. (enter service menu, then Start P1, Start P1, Service, Start P1, Service, Test)

This commit is contained in:
SpinDizzy 2020-12-21 15:39:15 +00:00
parent 72c0c60c98
commit 1f50519905
2 changed files with 24 additions and 7 deletions

View file

@ -1148,6 +1148,10 @@
<encryption_key>0x29266e45</encryption_key>
</hardware>
<roms>
<patches>
<!-- Enable Region change (remove the patch to return to Japan region) -->
<patch region="crom" bits="32" offset="0x14B25C" value="0x38600001" />
</patches>
<region name="crom" stride="8" chunk_size="2" byte_swap="true">
<file offset="0" name="epr-21434.20" crc32="0xE028D7CA" />
<file offset="2" name="epr-21436.19" crc32="0x22BCBCA3" />

View file

@ -197,6 +197,16 @@
* - Region menu can be accessed by entering test mode, holding start, and
* pressing: green, green, blue, yellow, red, yellow, blue
* (VR4,4,2,3,1,3,2).
*
* magtruck:
* Found a way to unlock region in Magical truck
* If Midi data port returns 0, magtruck is locked to japan region
* if Midi data port returns 1, magtruck region can be changed to export, usa, australian
* We decided to make a rom patch instead of introducing a specific config to allow the region to be set
* Reminder : to change region in magtruck, use the region menu code
* enter Service menu with Test, then Start P1, Start P1, Service, Start P1, Service, Test (default keys : 6 then 1 1 5 1 5 6)
* note : rom patch is active by default, comment the patch in games.xml if you want Japan region
*
*/
#include <new>
@ -939,13 +949,16 @@ UINT8 CModel3::Read8(UINT32 addr)
return ReadInputs(addr & 0x3F);
// Sound Board
case 0x08:
if ((addr & 0xF) == 4) // MIDI control port
return 0x83; // magtruck country check
else
return 0;
case 0x08:
switch (addr & 0xf)
{
case 0x0: // MIDI data port
return 0x00; // Something to do with region locked in magtruck (0=locked, 1=unlocked). /!\ no effect if rom patch is activated!
case 0x4: // MIDI control port
return 0x83; // magtruck country check
default:
return 0;
}
break;
// System registers