I was contacted a few weeks ago with regards to dumping a PAL from a Namco PCB. The PAL is labelled SYS2V-2.
The chip arrived yesterday from Italy and it turned out to be the most difficult PAL16L8 to dump yet.
The output from the ABI was fairly unusable as it produced FAR too many product terms for some of the pins and would not compile.
Most of the pins were fairly easy to figure out from the listing but pin 12 was a little bit crazy. After a night with the logic analyser hooked up to it I had something that was almost the same in my simulation as what the real chip did. There was one state that did not match up but I emailed the .JED files anyway to see if I was anywhere near. Well so far so good as 2 of the games it was tested on seem to work now.
Although I cant test this myself Im hopeful its OK and its on my download list now.
Well today I finally finished the conversion.
Ive been doing the title screen conversion over a few days as its a very boring task
As you can see, the palette isn’t correct when originally copying the image over so this has to be changed manually after its all complete.
Once complete though, its identical to the original
All the graphics have been changed to original RI ones and plays pretty much the same.
There are still a few differences:
1. Some of the DIP switches do nothing.
2. Every now and then the sprites when a monster is killed are messed up. Cant locate the code where its going wrong.
3. Secret rooms do not work.
I can honestly say all of the images were taken from my conversion in MAME and not from the actual Rainbow Islands ROMs.
I haven’t actually tested it on the real hardware yet so it may not work the same as it does in MAME though. Fingers crossed it does.
Jumping to Rainbow Islands conversion part 3
Today I finished off the main character sprite. After that I started work on restoring all the title screen text.
Getting the standard copyright info back was a simple task of replacing the “1989” text in the ROM file with the text from the real Rainbow Islands ROM.
Ignore the title screen image, I made a start on changing the graphics just to see what the colours would be like.
So the text is back but there is also a red Taito logo missing. After much searching it turned out that the logo is actually being drawn but its palette is set to black so is not shown. This explain why I saw it on my real board when fault finding a colour issue.
Following the same routine I used for changing the character palette I found the value at address $229E8 and changed it from 00 to 3E which after the bitshift routine, sets the palette to 000F (Red)
And with that done I think all that is left to do is finish off replacing the graphics tiles for the title screen. This may take a while and will probably end up adding a little something to it just to set it apart from a genuine board.
I am aware that on this bootleg the secret rooms do not work. This is because the C chip is not present on the board and there is little I can do about that. Overall its been a fun little project.
2364 to 27128 PCB adapter boards have arrived
A little while ago I sent my adapter designs off to get fabricated and today they arrived.
I ordered 5 of them as they were nice and cheap but as luck would have it 10 arrived, im not complaining and now I can properly install JiffyDOS in all my Commodore machines
Jumping to Rainbow Islands conversion Part 2
Carrying on with my conversion….
I quickly replaced the graphics for the 2 world names that had been changed.
The first island was renamed to “Fly World” and the second was renamed “Army World”
Both have been restored to their original names along with “The Rainbow Islands” text.
Next on the list was to change that horrible looking main character sprite back into Bub (or Bob).
This looked like it was going to be the familiar task of replacing the graphics and changing the colours to match the palette, I was wrong.
When I changed the sprite graphics back I could not match the colours of the original so the bootleggers must have changed the palette. So where is the palette information stored?
Looking at the MAME source revealed all.
As you can see the palette info is stored in RAM between locations 0x200000 and 0x200fff.
So I went to the MAME debugger and started filling this area of RAM with random numbers until I found the area that changed this sprite palette.
The WORD location for this is at 0x20027C and after trying different values I found one pretty much identical with a value of 001D.
So how do I get this to load into RAM every time? Back to the debugger.
Jumping has some bizarre code at address $386 onwards that sets the palette. Its bizarre in that is performs a series of bitshifts to get the values it wants.
So…
The palette value is stored in ROM at location $23630. It takes the value at this location, does its bitshifting routine and the output of that is its final value.
Seeing how this was done I inserted the value I wanted (1D) and manually working it out backwards until I had a value to replace in the ROM.
The original value was 03DE and my new value needed to be 005A.
After inserting it into the ROM and testing I went from this:
To this:
Time to call it a night.