KNIGHT RIDER SPECIAL (PC Engine) Translation by Psyklax v2.0 (20170530) DESCRIPTION This is a 100% English translation of Knight Rider Special for the PC Engine (TurboGrafx-16). For anyone who played my v1.0 translation, this has been done completely from scratch: nothing from the original translation was used except for my own knowledge. The only things left untranslated are the voice samples, as I can't even begin to understand how to change them: finding them in the ROM would be hard enough, but knowing how to replace them would be more difficult. Never say never, we could get v2.5 in the future, who knows. HISTORY I translated this game four years prior, and it was pretty awful: I didn't know how to change the 16x16 text to 8x16 and it ended up looking like a bit of a mess. I also missed the "REPAIRED" message you get later in the game, because it's stored separately in the graphics to the rest of the font. The reaction was quite negative, and I got a bit discouraged and just forgot about it. Out of the blue, I got a message from romhacking.net member Cabbage, who had been learning ASM on the 6502 (used in many consoles, and a variant is used in the PC Engine). He pointed out to me that by changing two bytes in the code, the game would display text in 8x16 instead of 16x16. This transformed the prospects of translation for me: screen space was the biggest problem with the original translation. So I put in a new 8x16 font and it looked ten times better, but I wanted to go further. Short of learning how to switch banks (the PC Engine doesn't let you access the entire ROM at once), I needed more ROM space to fit all my new text in. Dual tile encoding (DTE) seemed to be the way to go, and after Cabbage's explanation of the 8x16 thing, I was intrigued to learn how to implement DTE. KingMike had written a doc all about the subject years ago, and it gave an example for the NES. Since the PC Engine's CPU is almost the same (it has a few extra instructions you can use), adapting it to Knight Rider Special was surprisingly straightforward (after I'd racked my brains trying to understand how it all worked). I manually made a table of the 127 most common letter pairs (on a larger project I would've got someone to make a program for this, but with such little text it was quicker to do it by hand). I managed to fit the entire English text in the same space the Japanese text took in ROM, and learnt a thing or two about ASM in the process. I'm very satisfied with how it's turned out - even if it's for an insanely difficult game with a small amount of text, none of which is necessary to play the game... but it was a good exercise for me. PATCHING INSTRUCTIONS The patch is in BPS format, which I chose for a couple of reasons, the main one being that it detects if the file you're patching is the correct one. You'll need a patching utility like beat by byuu, which you can find here: https://byuu.org/tool/beat/ The Knight Rider Special ROM found in the GoodROMs set contains a header, which modern emulators don't need. So I've provided two patches, for ROMs with a header and without: WITH HEADER kr-header.bps (CRC32: E729E71F) WITHOUT HEADER kr-noheader.bps (CRC32: C614116C) Don't worry if you don't know which ROM you have: if you pick the wrong BPS file, Beat will tell you it's failed, and you don't overwrite the original file so you can try again (though you should always make backups anyway, of course). The translation on the headered ROM preserves the header - just in case. THANKS Cabbage, without whom this never would've happened (and I wouldn't have been encouraged to learn more about ASM). KingMike, for your doc about DTE, without whom fitting all that text in the ROM would've been a challenge. David Hasselhoff, cause you know. He's the Hoff. Psyklax http://s346165667.websitehome.co.uk/psyktrans/