What's new

Nimmers

Grand Master
Joined
Oct 25, 2016
Messages
618
Reaction score
579
Location
NSW, Australia
Hey guys,

I have an all in one Road of the Sword PCB and I noticed that the "Japan" all in one PCB version of the game has different music from the "China, Japan, Taiwan, Hong Kong, Korea, Spain" PGM Cart version.

You can hear it in MAME if you compare "theglad.zip" and "thegladpcb.zip" right from the attract screen.

Probably a long shot but has anyone ever converted their single PCB version to the multi region version with the cooler music?

Here is the PCB in question:

20201130_174809.jpg
 
Bump, anyone with ROM hacking skills out there who know if this would be a possible conversion?
 
You want your pcb to play the music from theglad.zip?

that pcb actually seems to have a whole extra chip on it just for the Japan music, so the other way pcb->cart looks harder. But cart->pcb may work. I think the z80 code is tucked inside the program rom so it may be portable, but I’m worried if the program code will try to hit that extra chip somewhere. It might also need the program code / version moved over.

I’ll check it out over the next couple days if I can find the time.
 
You want your pcb to play the music from theglad.zip?

Thanks man! Yeah basically the music in "thegladpcb" sucks compared to "theglad" - I wonder why they changed it?
 
Thanks man! Yeah basically the music in "thegladpcb" sucks compared to "theglad" - I wonder why they changed it?
That can be anything from licensing issues to the foreign distributor requesting it.

As Ekorz says, the z80 code and music data is part of the program rom and uploaded at runtime. It depends on if the wavetable in the music rom matches, and if the encryption is compatible with the ASIC version.
 
So, just a first pass in mame... it seems like if you swap ONLY the ASIC 'internal rom' bin it will change regions and play the "cart" music.

i.e unpack thegladpcb.zip,
delete thegladpcb_igs027a_v100_japan.bin,
unpack theglad.zip
take theglad_igs027a_v100_overseas.bin and rename it to thegladpcb_igs027a_v100_japan.bin
move new thegladpcb_igs027a_v100_japan.bin into the original in .\thegladpcb\ directory
run mame from command line "mame thegladpcb"

(make sure you delete any .zip file or it will run that. or you can repack the file into a zip)

The thing is... I can't see that as a separate 'chip' to replace on the pcb at all! I'm guessing it's a file section programmed inside the ASIC? Anyway @Nimmers can you look around and see where 027a might be, snap some higher res photos? Otherwise I'll have to see if there's another way to have it switch regions, but it seems like maybe all the code is already there and we just need to force the region.
 
Sounds promising!

I'll take some more later today. See how you go with that, you can zoom in pretty close.
 

Attachments

  • 20201130_174809.jpg
    20201130_174809.jpg
    302.8 KB · Views: 83
I’m going to say “27a” is not a physical chip but some other designation, and this is internal code to the ASIC, per mame notes. So the goal is to patch that out of the program code and change the region there somehow. unfortunately the notes also say the ASICS aren’t emulated well so I can only hope that, because it’s dumped, at least the region portion is.
 
Region seems to be set by a byte at 318E in the "27a" file, 3316(ish?) in MAME in the 'prot' memory space after an offset and wordswap.

01 Taiwan
02 Japan
03 Korea
04 Hong Kong
05 Spanish Territory
06 'world' aka all except above
07 no region screen at all, crashes soonafter

I'll keep poking at it but I can't exactly figure out how the ASIC and the main program talk to each other, such that I could force the program to think the ASIC told it "region 06". If anyone else has any ideas lemme know!
 
Region seems to be set by a byte at 318E in the "27a" file, 3316(ish?) in MAME in the 'prot' memory space after an offset and wordswap.

01 Taiwan
02 Japan
03 Korea
04 Hong Kong
05 Spanish Territory
06 'world' aka all except above
07 no region screen at all, crashes soonafter

I'll keep poking at it but I can't exactly figure out how the ASIC and the main program talk to each other, such that I could force the program to think the ASIC told it "region 06". If anyone else has any ideas lemme know!
These later “Type 3” games run almost entirely from the ASIC and only use the 68k for I/O so there is no way to patch region unless you were to reproduce the ASIC or maybe write something like a Unibios / custom BIOS
 
Well, that’s not happening anytime soon :P
 
Well, that’s not happening anytime soon :P
I saw a thread here where someone is trying to make a custom PGM bios which would be awesome, hope it pans out.

I’d love to play my The Gladiator cart in English, but right now the only way is MAME as the English cart is unobtainable. This would also be a sweet Mister core.
 
So you guys think the multibios would be portable to these all in one PCBs when it's done?
 
These later “Type 3” games run almost entirely from the ASIC and only use the 68k for I/O so there is no way to patch region unless you were to reproduce the ASIC or maybe write something like a Unibios / custom BIOS
IIRC the ASIC only contains a handful of kB of memory, enough for some simple protections. Games that run fully on the ASIC have a separate EPROM for the majority of the game code.
 
Back
Top