Apr 282012
 

PC18 from the Jamma+ forum was round yesterday with his Mortal Kombat 2 board which appeared to have a few little faults.

1. The game crashed just before he completed it
2. No fatalities could be performed
3. Some sound effects were missing

We fired it up on the test bench and I saw for myself the second 2 issues. We could not test the crashing issue because I’m crap and Megadrive joypads with only 3 buttons are no good for playing MK2 arcade version!

First thing we did was check the test menu DIP switch settings as fatalities can be turned off but they were set to ON.
Second, check all the ROM’s against MAME. All checked out OK.

A little bit of head scratching later we checked the boards operation against MAME’s operation. This board was running on version 1.1 and sure enough the sounds were missing in MAME too.
At this point we decided to check with Google and it turns out that in the early versions of MK2, there were all sorts missing from the game including most of the fatalities, some sounds and the endings too (might be why the game crashed at the end?).

As most of the ROM chips are for graphics we just erased the program EPROM’s and burned version 3.1 ROM’s. The game now does all sorts of stuff that it never used to do.
We still couldn’t check the crashing issue but hopefully that’s sorted too

 Posted by at 10:10 am

Decrypting my own CPS2 ROM’s

 General  Comments Off on Decrypting my own CPS2 ROM’s
Apr 012012
 

Ive been messing around, on and off, with decrypting these a while now. Basically I wanted the ROM’s as standard as I could get. No mini menu and no other hidden changes. I also wanted to keep the board region the same and there are some blanks in the Phoenix sets created by Razoola.

Using MAME to save the DASM from a non decrypted set I then made a program to convert that DASM back into binary format.
Once I had this I then added some extra functionality to my program to compare 2 different regions of the same ROM set. Where the data matched on both ROM’s is the unencrypted data and when this happened I replaced the data in my first binary file with the unencrypted data from this comparison.

At this point I know have an unencrypted, unmolested ROM (almost).
There are a couple of points in the original ROM’s which match but are in fact encrypted. I will cover these later on.

As per instructions from Razoola himself at the CPS2Shock website. The ROM must now be patched so all read/writes to the region 0x400000 – 0x40000a are changed to 0xFFFFF0 – 0xFFFFFA. The self test routines must also be patched not to clear this region. Both are pretty easy to do using the MAME debugger to find the areas.

My first conversion was for the Japan version of 1944. When I got to this point and tested in an emulator, I received this message

If 1944 this area is different depending on the region so my simple program treated it as encrypted data resulting in it reading the region code from an incorrect address.
This area is located at address $C2. if the word is set to #$0000 this is the Japan region code. I think #$0002 is for USA but not sure what others are.
I don’t think this region setting affects game play but it does change the language used, especially in the test menus.
As I wanted to keep this as standard as possible I chose to keep the menu in Japanese.

One other thing is that the ROM tests in the test menu will fail. This is caused by invalidating the checksum when patching the ROM. I have also changed the checksum number accordingly to comply with the actual checksum calculated and now the tests pass. The checksum data is held at address $D0. The two address following this in 1944 are also checksum values for the other 2 ROM’s.

There were a couple more instances of my data being wrong and causing crashes but they were soon found by comparing against the genuine game.
Ive tested my ROM on the real hardware and it works just fine from start to finish

 Posted by at 11:51 am

Testing my Jumping to Rainbow Islands conversion

 General  Comments Off on Testing my Jumping to Rainbow Islands conversion
Mar 032012
 

Today I got around to testing my conversion on the real hardware.
It works as expected but it has highlighted a fault on my board that I didn’t realise I had. All the text is black and therefore does not show up on screen unless there is a colour behind it. This also means that there is no text displayed on the title screen.
Ive checked the palette RAM chips, these are OK. I’ve found most of the associated logic and am in the process of checking these out.
Ill post the details in a repair log should I get it finished.


 Posted by at 10:23 pm
Feb 272012
 

Myself and my mate StiGGy were wanting another SD2IEC device for a couple of reasons. The other one I have was made by SirMorris and is still going strong but didn’t want to bother him with making a couple more so I asked him if I could have his original schematics which he very kindly supplied.
The result is 4 shiny new boards straight from China. I originally ordered 2 but for some reason they always seem to double up my order but I’m not complaining.

Ive got most of the parts on order but Farnell don’t seem to have the SD slots available that aren’t on US stock order (and extra £15) so ill look else where for those.

 Posted by at 5:02 pm
Feb 192012
 

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.

 Posted by at 2:14 pm