Monday, April 11, 2005

Great Swordsman colors

Sprite colors in Great Swordsman have been one of the longest standing and most elusive emulation imperfections to date.
It was hardly noticeable, because a manually crafted lookup table had been crafted in the driver, so colors looked ok.

Finally, thanks to Kold666's invaluable help, the emulation is now perfect.
As you can see in the shots, the difference is subtle but it's there. It is probably most evident on the pulsing logo, whose color changes are now slightly smoother.

Great Swordsman before the fix

Great Swordsman after the fix

The way how I achieved this is worth of mention. Kold kindly provided some pictures of the pcb (parts side and solder side). I x-flipped the solder side, overlapped them in a gfx editing program, and carefully aligned them so I could see both layers at once. Then started tracing from the color lookup PROM, to see what the board does with the data.

In the end, it turned out that the sprite palette data comes from a row of the character palette, the tricky part being that the order of the 4 bits coming out from the lookup PROM is reversed. This is something that could have been noticed before, but it always eluded me.


Anonymous said...

Uggg, And I just spent $25 to ship my board to Guru!
Well I hope he can dump the 8741s and at least some use comes of it.

Anyway Great work and thanks again!

Anonymous said...


Anonymous said...

While were on the subject, my son was playing Great Swordsman not too long before your last look at the driver and I was actually watching and able to take a snapshot when this (bug?) occured.
I had forgotten about it and wasn't sure if I still had the .png.
Anyway I assume it is an actual game bug and not an emulation problem.

Thanks Again!

Kosher-X said...

I can't see the shots you put on this post.
Can you fix it?