News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Psyklax

Pages: [1] 2
Gaming Discussion / UWC Wrestling NES Game (unreleased prototype)
« on: March 09, 2019, 03:49:42 am »
This has to be the first time a game has appeared in the wild that nobody even knew existed.

I'm a few days late on this, but a few hours ago the uploader/discoverer posted a comment on his video saying the ROM had been dumped and archived, and would be released in "a bit". I'm guessing it'll be a similar situation as with SimCity on NES, which was found in mid-2017 but wasn't released until December 2018. If so, looks like we'll have a bit of a wait on our hands before getting to play it.

Just posting here because as soon as it appears, I think I'll be looking inside it to see what's what. :D Who knows, might find something interesting in there.

Gaming Discussion / Our translations were used in a museum
« on: December 17, 2018, 04:54:04 pm »

Jump to 15:48 for the goods. For what it's worth, I've found all nine of my NES translations (one done with Filler, of course):

I don't know about you, but I was pleased to see my stuff on show. Even for a little two-day exhibit. :)

Hello there! This is a new thread of mine to replace the Help Wanted thread, which is how I got into this project in the first place:
I figured Personal Projects is a better place to put this stuff.

I won't go into a great amount of detail at this stage because you can just read what I wrote in the other thread if you're interested in the work up to this point, but here's a couple of work-in-progress screenshots from that thread for you:

Now, the latest news. I was correct in my assumption that the decompression routine in the game would work in reverse if I made some minor modifications. I did a little test.

First I started the game in MEKA and left it up to the moment the first instruction in the decompression occurs, at which point I saved the state. Then I drew an 8x8 smiley face in Tile Molester and saved it as a file, then pasted the 32 bytes of the smiley face into the save state, in the position that the compressed graphics are put by the game. Then I opened MEKA again and told it to start at the end of those 32 bytes instead of the beginning. Then I just let the routine do its work and voila, I had my XORed graphics ready for compressing.

My work wasn't done, though. I had to make the four-byte header to go along with it, but fortunately it's quite simple: it's a 32-bit binary system (little-endian) that has a 0 if the byte is zero, and a 1 if it's not zero. This was as simple as making an OpenOffice Calc spreadsheet with the corresponding 32 bytes in a row, with some simple forumlae below that would be TRUE or FALSE if it's not equal to zero. Copy the results into Textpad, remove the spaces, convert the binary to hex, attach to the beginning of my 32 bytes, and finally remove all the zero bytes. At last, my 8x8 smiley face is ready!

I pasted it into the ROM in place of part of the title screen, and loaded the game. Sure enough, my smiley face looked fine. Sure, if I knew a bit about writing programs then I could write one to automate this whole process... but whatever, this works, and it's not too much effort. I'm just glad I've figured it out. Now I need to make a pretty title screen - which is not my forte at all, if you know my work. :D Anyone who wants to contribute is welcome to have a go.

So, what now? Well, I have to finish inserting all the story text that Filler translated, though I'll expand on it a little. And no, I don't need any proofreading - Filler and I are perfectly capable. ;)

The more I get into this project, the more challenges seem to emerge... but I think the end is in sight, so I'm gonna keep going. :D More news coming soon!

Personal Projects / Virtual Cameraman (3DO) English translation
« on: November 28, 2018, 07:08:19 am »
Hello there, RHDN faithful! Those of you who know me will know that one thing I like with ROM hacking is exploring new frontiers, doing things I haven't done before. So, it's with that in mind that I've decided to translate a series of games on the 3DO. I've never worked on a CD-based system before, nor a post-16-bit system (unless the PC-98 counts, which it sort of does).

You might be thinking: why, of all games, did you choose to translate a game series that involves asking women you meet in the street to pose for nude photos? Well, unlike some prudish members of the community, I don't turn my nose up at adult-themed games, but it's also a very good test case for me. There isn't a lot of text, so it'll be easy to finish. I like short achievable projects that can add to my experience.

Anyway, I will provide screenshots of progress later, but don't worry: everything that needs translating is very tasteful. ;) The main reason I started the thread already is because I have a couple of technical issues to address, and I wanted to bring them up with you guys.

First is the issue of playing my hacked version. The translation comprises two parts: changing the Shift JIS menu text into English ASCII text, which is as simple as editing the CD image directly; and changing the picture files that contain the interview questions, which requires unpacking the files on the CD and changing them that way. It is the latter that causes the issue: after unpacking and repacking the image, the game no longer runs as is.

I followed advice on a Russian 3DO site and added files from 3DO Game Guru, which means it now loads (with the Game Guru splash screen), but only with a hacked BIOS which skips an RSA check. I want to play it on my real 3DO so this ain't gonna do. The only other English translation I know of for 3DO is Doctor Hauzer, and that not only has its own splash screen (I haven't figured out the format yet) but also runs fine on a regular BIOS. If anyone knows how they achieved this, I'd be super grateful. :)

The second issue is that of distribution. The aforementioned Doctor Hauzer is available as a readily-patched ISO, but I don't like doing this, as it goes against the way our site runs. Initially I couldn't think of how to do it, until I realised that it's quite easy to take any image and unpack it, so I could just make patches for the files which are changed. Therefore, the only stuff in my release would be the bytes I changed. I haven't tested this theory yet, but if I can get it to work, does it sound logical to you guys?

Well, that's all for now. Expect some progress soon as I've done probably 25% of the first game already, and there are five games (the last three have less text though). Any and all feedback is welcome! Even if some of you couldn't care less about this particular game, I hope my efforts will be a springboard for further 3DO translations. :)

Gaming Discussion / Psyklaxia: my new YouTube channel!
« on: May 27, 2018, 05:25:29 am »
Hello all! I've been rather busy of late, mostly with Real Life stuff, but I've also found the time to prepare for this, my new YouTube channel! I'd been thinking about it for a while, but I'm finally ready.

The theme, funnily enough, is ROM hacking. I will provide short reviews of hacks, translations and homebrews, but the most important part (for me) will be tutorials. I'm making a series explaining ROM hacking to everyone, starting soon with a beginner's explanation of how computers actually work. They are a lot more work than reviews, of course, so most of the time you'll be seeing reviews.

Here's my first video, a review of Super Mario World: The Lost Adventure Episodes 1-3:

I've already got a bunch of videos done and ready to go, but for the sake of consistency (I know YouTube viewers prefer that) my videos are all scheduled to come out every Sunday at 09:15 UTC - so it will always be on Sunday wherever you are. ;)

Please subscribe, as there will be plenty more videos to come! Maybe I'll even review your hack! :) Enjoy!

ROM Hacking Discussion / Dumping/inserting byte values?
« on: March 03, 2018, 05:27:27 pm »
I'm working on a game that doesn't use typical pointer tables for the most part, so there are two things I need: first, something that can dump the addresses of all instances of a given value to a text file (so you could search for 7F and get a text file with every instance of 7F). Second, something that takes a text file with a list of addresses and values, and replaces the values at those addresses with the values given.

Now I mention it, that sounds exactly like an IPS file... maybe I can make my own IPS files for that purpose, but it doesn't solve the problem of extracting values (in my case, I want a list of every control code that ends a string, so I can build a text file for the second thing I mentioned).

Does anything like this exist? All my searches have come up blank. :(

EDIT: I was right - with a combo of a text editor, a spreadsheet and a hex editor, I made an IPS file for inserting updated pointer tables. Can't believe I actually put these in manually... :o Still, now I need something that does the ever-so-simple task of spitting out a text file with addresses of particular values...

Personal Projects / Steam Hearts (PC-98) English Translation
« on: January 28, 2018, 12:43:20 pm »

Anyone on the forum who knows me knows that I like to take on little projects that I find interesting, rather than trying to translate a massive RPG. When it comes to Japanese systems, the one with arguably the largest amount of untranslated games, and relative obscurity, has to be the NEC PC-98. I'm used to translating 8-bit console games, and a bit of 16-bit ones, but the PC-98 is a different kettle of fish because in terms of text, it uses a fixed Shift JIS font, rather than programmers including whatever font they like.

For a hacker, this is absolute bliss, because a large amount of time on a console translation (for me) is figuring out the masses of kanji, whereas having a game in Shift JIS means the entire dictionary of kanji is already done for you, so assuming you have the text easily available, you can just copy-paste it into your translation program of choice and get to work.

It is with this in mind that I'm embarking on potentially my first PC-98 translation: Steam Hearts.

It's a vertical shooter, and a reasonably fun one. Being a PC-98 game, of course, between levels you convince the boss to talk by using, er, not so work safe means. ;) That's the reality of PC-98 gaming, whether you like it or not (personally I find it a refreshing change from console games, but whatever).

Being a computer, hacking the PC-98 is also different in that games don't come in solid ROM form, but in various files on disks. The typical way to find games is in either floppy disk format (with several disks) or as a hard disk file (with the game installed on the HDD, along with whatever other files are necessary). The latter seems to be the best option, since a 10MB HDD is hardly that big of a deal in 2018. :) It also means that everything is in one place.

How the text is stored can vary. In the case of Steam Hearts, it appears that all of the text is inside numerous .EXE files, and if PC-98s are like regular DOS PCs, those are programs. The game doesn't have so much text, though, so I guess it made sense for them to keep the text inside the executable. The good news is that the text is sitting uncompressed and easy to find in the .EXE files. The bad news is that, because it's surrounded by code, I feel like a first-day hacker all over again, because I can only write inside the space available. :)

Each line is done separately, and in the first screenshot, I only have one line to play with, whereas I have two in the second. You'll notice the text is a bit large (limiting screen space), and I'm forced to fit the text in the space used by the original text (limiting storage space), but it's better than nothing, right? If I WERE a first-day hacker, I'd be pretty pleased with this, but the fact is that I'm not, so I want to do better. :D

My problems are two-fold: I don't know how to find the pointers saying where each line is stored, and I don't know how to switch the font to one that will allow 8-bit ANSI characters instead of 16-bit Shift JIS characters, thereby saving both screen space and storage space.

Look at the first screenshot for this translation of Marble Cooking: it uses a smaller font, but what's most interesting for me is that, internally, the hacker replaced the 16-bit Japanese text with 8-bit ANSI text and it works fine.

The problem for me is that if I try 8-bit characters in Steam Hearts, I just get a load of random kanji, so if I could tell the game to use the other font, I will be able to get a better translation in there. Of course, I'll also need to find out how the game figures out where the lines are, of course, but all searches I've made to find any pointers have come up blank.

I'd like to go the debugging route, although the x86 is the only major CPU from the 70s/80s that I have no experience with. The Neko Tracer in the RHDN database is a good start, but I couldn't see anything in the trace that looked like a reference to the text. A RAM dump shows that the whole .EXE is stored in RAM, and the first line is at $36A82, so that gives me something to go on at least.

The between-level cutscenes seem to use the same font mentioned in that other hack, but when I replaced text with 8-bit characters, it just messed everything up. This makes me wonder why the other hack was able to use 8-bit characters without issue, since as far as I can tell, no other modifications were made to that game.

So, in summary, the translation side of this game is easy-peasy, but fitting into the game the kind of translation I'd like will require some hacking, and the main reason I made this thread was because I was hoping someone might be able to help. :) Normally I'd just use a debugger to break on a read to $36A82, but Neko Tracer only traces, rather than breaking, and all those damn registers make it hard for me to read a trace to figure out what's going on.

Anyone got any advice on this? If I can crack this game, maybe I'll have a go on some other ones... :)

Personal Projects / JRPGs: DoubleXP/DoubleGold
« on: November 29, 2017, 04:45:56 pm »
NOTE FOR NEWCOMERS: I've renamed my thread due to changing the goals of my project: now I'm doubling XP and Gold received, rather than making level upgrades and buyable items cheaper. Now enjoy my unchanged original post. ;)

I like a lot of things about JRPGs, but you know what I really can't stand?


I wanna go on an adventure, see cool places, fight cool baddies, but do I have to fight fifty of the same low-level baddies before I can enter the next dungeon? JPRGs are notorious for this, and I hate it. It's not difficult, it adds nothing to the experience, it just makes you waste hours of your life. Check out that guy who reached level 99 in Final Fantasy VII without leaving the first room. Sure, it took him a year or two, but it's not difficult!

Anyway, being a ROM hacker, I decided to do something about it, and set to work hacking some better-known JRPGs so that you only need HALF the normal experience points to go to each level. The procedure is usually pretty simple: it's typical to find a table in the ROM with the points values of each level, and once you've found it (GameFAQs does help with this), it's just a matter of copying it into a spreadsheet, halving it, and putting it back again.

A more difficult hack is to change it so that you only need half the gold/money to buy everything in the game: if you reach level 20 in half the time, you may have half the money, and still need to go grinding for it. Generally you don't find a big table with every single buyable thing, so I'll generally only do this if it's a) doable, and b) necessary for balance.

I'll put a zip file with my current work so far at the bottom of this post, but here's what I've successfully done up to this point:

Final Fantasy (NES) - HalfXP. Just to be sure, I completed the whole game with my patch already, using the easiest (and most boring) combo of three Fighters and a Red Mage. I've completed FF1 a good few times, and I didn't notice it becoming too easy - though I certainly didn't feel the need to grind at any point.

Final Fantasy 3 (NES) - HalfXP. Not tested but it works.

Dragon Warrior (NES) - HalfXP & HalfGold. I'm in the middle of testing this. It was easy to halve the gold for buyable items because there's so few, and they're actually in a big table, though the cost of inns remains the same. I needed to make the change, though, because both XP and Gold are seriously stingy in this game, meaning a LOT of grinding is required.

Dragon Warrior 2 (NES) - HalfXP. Not tested but it works (I think). I found the XP table anyway, all three characters' tables are together in the ROM.

Phantasy Star (SMS) - HalfXP. Briefly tested (I've completed the game in the past). This game is brutal to you at the start - you can easily die from your very first battle - so although it lightens up as the game progresses, I think it will benefit from this change.

That's all so far, and in the zip file you'll find IPS files for all of those. Phantasy Star and DW1 have two patches: the former has a patch for the popular Japanese translation by SMS Power - just patch it on top of that. The latter has both HalfXP and HalfXP+HalfGold. I recommend the second option.

I've tried Dragon Warrior 3, but the system it uses is a bit strange: it's not immediately obvious where the game gets its XP lookup from. I've not even attempted Final Fantasy 2 because of its bizarre levelling system (select, cancel, select, cancel...), but I'm open to suggestions of how to fix it (unless someone has already 'fixed' it somehow).

No 16-bit JRPGs as of yet, of course, but you have to start somewhere, so naturally I started where I'm most comfortable, the NES. Anyone who knows me by now is aware I have a habit of getting into projects involving multiple games, then getting distracted by other things and drifting off... :D

Suggestions? Any games you'd really like to play but are put off by the XP system? Specifically this is for games that clearly have too much grinding, rather than just plain cheating. I might have a look at Phantasy Star 2 for my first 16-bit game (I played it quite far through in the past, but wouldn't mind going back to it with less grinding).

Here's the zip! :)

Personal Projects / Nintendo Vs - NES Hardware Hacks
« on: October 21, 2017, 02:07:10 pm »
Okay guys, I've got a new project. Good news is it won't be so hard to complete as previous projects of mine. Bad news is it's not quite as interesting. :D

I made a thread where I posted a bunch of Game Genie codes to activate free play on Nintendo Vs games so that you can play them on a real NES without worrying about inserting coins. Just one problem: each game used a PPU that had the colours intentionally mixed up for copy protection purposes, so the game looks all messed up. Sure, you can still play the games, but it's not much fun...

So I decided I needed to do some proper hacking: nobody's actually gonna plug an arcade board into their NES, so why not make a proper patch instead of changing one byte? I've started with Dr Mario - no reason - and got some interesting results.

Let me explain how I did it, first of all.

First, I used the information on the nesdev wiki that details the palette that Dr Mario uses (on the RP2C04-0003 chip). I put that information in a table file, and made another table file which corresponded to the correct order of colours. The palettes are stored in the game in a block (or in the case of Dr Mario, two blocks which are subtly different from one another). Once I found the block, I dumped each part with Thingy32 - yes, that ancient thing, but it was the best thing for the job in this case. I then looked at the dump, and manually typed in each colour, but with the correct table file. The result? All the colours now have their correct values. I'd love to automate the process, but Thingy32 just inserted a bunch of nothing when I tried, and I don't know of another program that would do it.

When I did this, however, two really weird things happened. Normally, you have to flip the dipswitches to activate free play mode, but after modifying the palettes, free play was automatically activated. I have no idea why... but it needs testing on a real NES, to see if it's not just FCEUX acting weird.

Second thing is one of the colours in the game. It appears that the game has a routine that changes the background colour depending on the level you're on, separate from the palette blocks. When I corrected the rest of the palette, it looked identical to the original game, but if you play the unmodified Vs ROM in FCEUX, the background is grey. Why? Because the colour used ($03) is grey on the RP2C04-0003 chip, but purple on a real NES. But the value is the same in both the original game and the Vs version. Is this a bug? I don't know. Another reason to test it on a real NES - and see a real arcade cabinet, too. I found one video on YouTube of it, but the quality meant it was inconclusive (it's like that dress all over again... :D ).

I finished off the hack by making the input just like the original: now you start the game by pressing Start, whereas on the Vs version you press Select on the title screen and A or B on the menu.

Admittedly, this isn't the best example of a Vs game worth playing on your real NES, as I imagine it's practically identical. Nevertheless, it's a first step, and if anyone has a flash cart and could try it on the real thing I would be VERY keen to hear feedback (I don't have a flash cart).

I created a new thread because if all goes well, you'll be seeing a lot more games in future. :)

EDIT: just noticed something after a quick test: the controllers are swapped! Never realised that that was a feature of the Vs system. Quite why they swapped the registers I don't know, but I think it's a simple fix. I also seemed to have a problem inputting my name in the high score table. Oh, and there's no pause function, obviously. :)

ROM Hacking Discussion / Nintendo Vs - Game Genie Free Play Codes
« on: October 20, 2017, 03:35:51 am »
A user in another thread asked about a Game Genie code for Vs Ice Climber to make it free play, therefore playable on a real NES using a flash cart, since you don't need to insert coins. The idea intrigued me: I'm a little surprised that Vs games work on the NES at all given that they use different PPUs between games, although the CPU is the same. But the idea intrigued me: I'd never really given Game Genie codes much thought before, as they just change one single byte in a ROM, which seems awfully primitive now. However, there's actually quite a fun challenge in trying to achieve what you want with just three bytes changed (a real Game Genie can only use three codes).

Of course has thousands of codes for regular NES games, but I couldn't find anything for Vs games. The only ones there are cheats for Vs Super Mario Bros, which doesn't really solve the problem. So I took it upon myself to dive into every Vs game that is in the GoodNES set, and get them working with free play - or if they don't have it, make it as easy as possible to play.

Okay, enough talk, here are the codes. 8)

 Atari RBI Baseball
VTOYZNSX   Adds 1 credit at title screen
SXXNUEVK   Doesn't decrease credits at game start
SXNZKNVK   Doesn't decrease credits at inning break
 Balloon Fight
 Battle City
VTTKLT      Adds 1 credit at title screen
OZUAZEPX   Free Play
 Clu Clu Land
OXAVKE      Free Play (must be input together)
LEPVOA      Free Play (must be input together)
 Dr. Mario
OZELEEPX   Free Play
 Duck Hunt
OZIASK      Free Play
OXPGNN      Free Play
 Freedom Force
OZSVLVPX   Free Play (must be input together)
OZVTIVPX   Free Play (must be input together)
GAVTTVKY   Free Play (must be input together)
 Goonies, The
OXUNAOPX   Free Play
OZONASPX   Free Play
 Hogan's Alley
OZIOZS      Free Play
 Ice Climber
OXLOIN      Free Play
 Mach Rider
OZPOVK      Free Play
 Mighty Bomb Jack
VTLEOZ      Adds 1 credit at title screen
OXZEXN      Doesn't decrease credits
 Ninja Jajamaru-kun
VTYXXI      Adds 1 credit at title screen
EYLEGA      Free Play
AESIKPPA   Free Play (must be input together)
OZOEEOPX   Free Play (must be input together)
OXNAKEPX   Free Play (must be input together)
XTPEKN      Free Play (must be input together)
OZPESN      Free Play (must be input together)
OZYYGX      Free Play
 Star Luster
VTGEIT      Adds 1 credit at title screen
 Stroke & Match Golf (Ladies or regular)
EYYEZA      Free Play
 Super Mario Bros.
OXLOYX      Free Play
 Super Sky Kid
VTZYUP      Adds 1 credit at title screen
 Super Xevious - GAMP no Nazo
VTXZXXSE   Adds 1 credit at power on
SXKZISVK   Doesn't decrease credits (must be input together)
SXKXASVK   Doesn't decrease credits (must be input together)
OZPUVV      Infinite credits
 TKO Boxing
VTELSSSX   Adds 1 credit at title screen
 Top Gun
 Wrecking Crew
NOT WORKING ROM but M01 hack does not require patching

Now some more explanation.

As you see, some ROMs from the GoodNES set would just give me a blank screen in FCEUX, so I had no choice but to give up on them. Thankfully most of the games have free play options with the correct dipswitch settings, so they were easy to hack. Usually I would find the part of the code that looks for the specific free play setting, and tell it to do free play anyway. Some games don't have a free play option, however, so I had to get creative to do it in just three bytes or less. The usual method was to somehow add a credit at the title screen or as the game boots, then - if necessary - tell it not to decrease credits after using them. Sometimes that's unnecessary because it will add a new credit anyway.

I hope these codes will be of use to anyone interested in playing Vs games on a NES - in fact, I'm keen to get some feedback of this actually working, since I can't test on a real NES myself. Of course, if you're using a flash drive you could just use hacked ROMs instead of putting in GG codes, but whatever.

A note: in the case of most of the non-free play games, you only get one credit, which is fine for a one player game but does mean you can't play two player - and since it's called the "Vs System", I imagine that that's part of the point. Adding more than one credit is a bit trickier than just adding one. Sometimes I would hack it so that it would keep adding credits ad infinitum, but that's not very elegant, especially since it would wrap around. If anyone finds having one credit to be a problem they can let me know, but I think it'll be fine for most people. :)

(also, Wrecking Crew has an M01 mapper hack in the GoodNES set that adds credits with Select, therefore a hack is unnecessary)

EDIT: another note. Using these codes will often mean you don't see the title screen/attract mode. I know that a more pleasant solution will be changing the coin mechanism to be the NES Start button (as Select is used to start the game here) but that would require telling the program to check a different register for a different value, and would need more than Game Genie to do properly. Plus, I still don't understand how the NES reads controller input...

Gaming Discussion / The Goonies, Japan only...?
« on: October 05, 2017, 05:20:58 pm »
I've been playing through the Famicom library from the first game, and I've reached 1986, and The Goonies. And I just had to start a topic to ask about this. It's a really fun game, it was by Konami, it's based on a popular US movie, there's no Japanese to translate in the game, it was released in Japan at the time Nintendo were rolling out the NES across the US... so what happened?

Why didn't it get a US release? Is there any logical reason? The only one I can imagine is Konami had no experience in the US at that time, but even that seems a stretch. A lot of Japan exclusives I've seen thus far are very much understandable, but not this. Anybody know why? :huh:

Gaming Discussion / Star Fox 2 has been dumped - and I've dumped the script
« on: September 29, 2017, 08:34:12 am »
TL;DR - Star Fox 2 got dumped from the SNES Classic, I've cracked the DTE compression on the in-game text, will release later today.

EDIT - Here's the text dump, the table file, and a list of useful ROM addresses.

Long version - I'd been looking forward to Star Fox 2 coming out as I was curious to know how different it was from the beta everybody knows. So now the SNES Classic is out and obviously the ROM has already been dumped and is available online (no I won't link to it, I found it via a comment on a YouTube video). Immediately I opened up HxD to file compare this with the beta.

Everything was pretty similar until I reached a point where everything looked totally different, but immediately I understood what I was looking at. The beta is in Japanese while this is in English, and there were fragments of words in ASCII. It was obvious that they used a DTE routine for the dialogue. I was able to work out some of the pairs from using common sense: long words or set phrases where it was obvious what was missing. Gradually this led me to understanding more words, until eventually I had almost every pair sorted, with the rest established from editing the ROM and seeing what showed up in the game.

I was amazed at how quickly I worked it all out. As far as I can tell, I've now got the whole script done, though I haven't gone looking for pointers as that'll be a little more work. The text is very simple: it starts with a byte to say who is talking, plus another byte which shows when they're being attacked and panicking, for example. New lines are worked out by the game itself, and there's an end byte. So my guess is we'll have a simple pointer table pointing to the "face" bytes.

I don't know how useful this is to anyone, but I did it anyway. If you want to translate Star Fox 2 to a language other than English, I've given you a head start. :) I would be releasing my work now, but I ran out of time and had to head out, but rest assured I'll be releasing it once I get home. I might go looking for pointers, but I'll release the unformatted text first.

Is this relevant to anyone's interest? :)

PS I didn't know whether to post this in Gaming Discussion or ROM Hacking Discussion, as it's kind of in between...

Gaming Discussion / UDP netplay not working
« on: September 04, 2017, 11:44:04 am »
So I wanted to do some netplay with my brother and he doesn't like Retroarch. I knew ZSNES 1.41 does netplay despite its age, so we tried it. We both forwarded a particular port, I put in his IP, and it said it found me, but wouldn't start. This was with UDP, which I know is quicker because of a lack of error correction (sort of). We switched to TCP and it worked, but inevitably there were pauses, which made Mario Kart a little tricky.

I'd like to use Retroarch instead obviously but I guess that uses UDP only. So basically I can't figure out why UDP doesn't work. Googling tells me it's possible that my ISP is blocking UDP but I find that unlikely. Anyone else had problems with UDP who got it working?

Personal Projects / Translating every Master System game
« on: August 15, 2017, 09:34:37 am »
Some of you may have noticed my other thread regarding the translation of early Famicom games, and there are so many games with Japanese that I'm amazed at the progress I've made, knowing that there are far too many remaining. But I thought I'd take on another challenge: making EVERY Sega Master System game available in English. There are two things that make this far easier to accomplish than the Famicom task: there are far fewer games on the SMS, and the system was far more successful in Europe and Brazil than Japan, so the majority of games are already in English.

I've made a list based on a list from Wikipedia, which includes 341 games, total. I worked through the list and removed any games which were released in the US or Europe. I then examined any that weren't released in either of those - mostly Japan and Brazil - for any non-English text. This reduced the already small list dramatically.

There are some games which were only released in Brazil, but they're just ports of Game Gear games, so the underlying code is identical. So here's my list of what remains:

Code: [Select]
Name (GoodSMS) Translated?
20-em-1 No
Argos no Juujiken Yes - Psyklax
Castelo Ra Tin Bum No
Ferias Frustradas do Picapau No
High School! Kimengumi Yes - Nick and Aya
Hoshi wo Sagasite... Yes - Filler, SSTranslations
Loletta no Syouzou No
Mahjong Sengoku Jidai No
Megumi Rescue No
Nekyuu Kousien No
Phantasy Star Yes - SMS Power & Localised
Sangokushi 3 No
Sitio do Picapau Amarelo No
Solomon no Kagi - Oujo Rihita no Namida No
Sukeban Deka 2 Yes - Enigmaopoeia, SSTranslations
Super Racing No
Tensai Bakabon No

A good few of them are Brazilian games with Portuguese text. I had Street Fighter 2 on the list, but it's just the copyright info at the beginning so I didn't see any reason to translate that. I didn't want to start this thread until I'd done something myself, though, so I have: Argos no Juujiken. It's a port of the arcade game Rygar, so I replaced the title screen with the one used in the arcade. I think it made the transition down to the SMS's palette rather well! :)

If you're interested in how I managed it, I'll write it in a spoiler box (for anybody who's like "tl;dr").

So I knew nothing about the Z80, but my work on the NES gave me some experience with assembly, and since the Z80 is also 8-bit, the basic idea is very similar. I read a couple of good docs hosted on smspower, and quickly figured out how things work. I examined a couple of different games before starting on Argos no Juujiken.

It didn't take me long to figure out how the game takes graphics from the ROM and inserts them into VRAM. The NES and SMS do graphics quite differently, since the NES CPU can't write directly into the pattern table: natively the NES needs the 512 tiles of the pattern table to be fixed, and it took MMCs in many different varieties to swap out the graphics. The SMS CPU just writes directly into VRAM, so the graphics in VRAM are constantly changing. I noticed Sonic the Hedgehog keeps the same tile numbers for Sonic all the time, choosing to swap out different animation frames when needed.

Anyway, I could see that the ROM being loaded into RAM changed several times during the title, and I guess correctly that it was bank switching with a mapper. What I was happy to discover (through smspower again) was that Sega made a mapper that most games used, so it's very easy to use. Givem that there's no division between program and graphics data (like the NES), I wondered if I could just add 16KB on the end of the ROM and bank switch to it for my new title. Amazingly, it worked. So expansion is significantly easier than the NES!

I was excited at the possibilities of the SMS palette after my NES experiences, so I thought I could paste in the original arcade title and it would still look pretty good. I first created the SMS's 64 colour palette in GIMP, then made a screenshot of Rygar in MAME. I indexed it to adapt it to the SMS palette, and it looked pretty good (I tried doing it by hand, but GIMP did a better job). I then replicated this palette in Tile Molester, and it pasted in with no problems.

So after putting my new tiles in the right place, the new title screen looks great. There is one problem, though: loading graphics into VRAM takes CPU time, and since I load more tiles than the original game, the music pauses for six frames, which is quite noticeable. I do think that it's a minor thing, however. I must say that I was surprised that adding 16KB worked, though - I figured I'd need a more round number. Perhaps someone could try this on a real SMS with an Everdrive to see how it looks.

I haven't released it yet, but I will do soon.

So, I've made a start, anybody want to make suggestions regarding my list? Or anything else? :)

Script Help and Language Discussion / Time Stranger dialogue
« on: July 27, 2017, 03:07:02 pm »
Hey guys, I'm in the process of translating Time Stranger for the Famicom. It's a text-heavy game, and I don't want to paste too much on here, but some of the language has got me puzzled. Being a Famicom game, it IS kana only which makes life that much harder, but hopefully together we can figure it out. :)

I'm gonna provide my entire dump, made using Table21, which I used on a previous translation and although there may be better ones out there, this one was super simple to use, completely adaptable to any game, and just gets the job done.

Anyway, enough blah blah, here's the two scripts to peruse or ignore at your will:
(10 and 14 refers to the bank offset, as it takes up two banks)

For now I'm just gonna paste a couple of lines that bother me and we'll see if anyone can help. I'll post more as I go along. Context: you're a time travelling timecop who goes to various time periods relevant to Japanese history. The first encounter is with Nobunaga, known in the west for games like Nobunaga's Ambition. His castle is being attacked by Mitsuhide's forces, and you beam in with your time machine.

This line is causing me problems, though obviously I get the gist (you die):

[0211]「おまえは へんじをしらないようだな。」%[0513]なかぬなら ころしてしまえ ほととぎす%[0515]のぶながに きりころされました。%[9517]THE END%

(FYI the first number is where the pointer is, the numbers in brackets say where on the screen the line starts)

My rough guess is "'You don't have an answer, eh?' _____ You're killed by Nobunaga".
It's the middle line that confuses me. Again, doesn't matter that much cause, you know, you die. But still. :)

I'll upload my work in progress translation soon, and anyone who wants to help can browse my translation and see if I'm a bit off somewhere. Despite translating several games, my Japanese is still far from good, and I have to use WWWJDIC and a grammar guide for almost every line. :-[ I studied years ago but I'm out of practice...

Gaming Discussion / How do Famiclones work?
« on: June 11, 2017, 06:34:56 am »
I have to say that I like Famiclones: I have one in the shape of a Mega Drive 2, labelled as Dendy (how the NES was known in Russia and other former Soviet countries) and it's a cheap and fun option for playing NES games through a CRT, without using a real NES (and the fact that you don't need to knock out the 10NES chip to play these wonderful multicarts is even better :D )

My question is: how do they work? I can read Wikipedia about NOAC stuff but it doesn't really explain it to me. I like emulation but I know it just can't beat the real thing. These Famiclones aren't emulation... but they're not exactly the real thing... what are they? How do they replicate what an original NES CPU and PPU do? And are there any flaws that would affect the playing accuracy? Other than little graphic and sound things that aren't really that big of a deal. I've noticed sometimes the audio on mine isn't quite perfect, like with Ninja Gaiden III (music sounds a little quiet). But what really matters is the playing, and I'm curious what's going on inside.

And you don't need to mention MMC4 and MMC5, Castlevania III, Disk System etc, I know it ain't gonna play them, but that's not a big deal, I can live without a few things (there's always emulation). So anyway, how exactly do these things replicate a real NES?

ps I'll take a Famiclone over a Retron 5 any day of the week. If I want emulation I can do it on an Android TV box, at least systems like the AVS have a point to them.

Personal Projects / Translations of early Famicom games
« on: June 02, 2017, 04:55:57 am »
Last modified: 8 October 2018
Code: [Select]
Name (GoodNES) Translated?
Gomoku Narabe Renju Yes - Psyklax
Mahjong Yes - Psyklax
Popeye no Eigo Asobi Yes - KingMike
4 Nin Uchi Mahjong Yes - GAFF Translations
Choujikuu Yousai - Macross Partial - Makimura Manufacturing
Hon Shougi - Naitou 9 Dan Shougi Hiden Yes - Psyklax
Ikki Yes - Psyklax
Kekkyoku Nankyoku Daibouken Yes - Quest Games
Ninja Jajamaru-kun Yes - Stardust Crusaders, Aishsha
Obake no Q Tarou - Wanwan Panic Yes - Pacnsacdave & Localised - Chubby Cherub
Onyanko Town Yes - Pacnsacdave
Penguin-kun Wars Yes - Penguin Translations
Portopia Renzoku Satsujin Jiken Yes - DvD Translations
Aigiina no Yogen - From The Legend of Balubalouk Yes - Psyklax
Atlantis no Nazo Yes - Pacnsacdave
Banana Yes - KingMike
B-Wings Yes - Stardust Crusaders
Daiva - Imperial of Nirsartia Yes - MrRichard999
Doraemon Yes - Sky Yoshi
Dragon Ball - Shen Long no Nazo Yes - TransBRC & Localised - Dragon Power
Ganbare Goemon! - Karakuri Douchuu Yes - Spinner8
Ganso Saiyuuki - Super Monkey Daibouken Yes - Pacnsacdave
Ge Ge Ge no Kitarou - Youkai Dai Makyou Yes - Aishsha & Localised - Ninja Kid
Hokuto no Ken Yes - Stardust Crusaders
Hottaaman no Chitei Tanken Yes - SixFeetUnder
Kanshakudama Nage Kantarou no Toukaidou Gojuusan Tsugi Yes - KingMike
King Kong 2 - Ikari no Megaton Punch Yes - DvD Translations
Mississippi Satsujin Jiken Yes - GAFF Translations
Musashi no Ken - Tadaima Shugyou Chuu Yes - GAFF Translations
Nagagutsu wo Haita Neko - Sekai Isshuu 80 Nichi Daibouken Yes - Psyklax
Sansuu 1 Nen - Keisan Game Yes - Pikachumanson
Sansuu 2 Nen - Keisan Game Yes - Pikachumanson
Sansuu 3 Nen - Keisan Game Yes - Pikachumanson
Sansuu 4 Nen - Keisan Game Yes - Pikachumanson
Sansuu 5 & 6 Nen - Keisan Game Yes - Pikachumanson
Seikima II - Akuma no Gyakushuu No
Sherlock Holmes - Hakushaku Reijou Yuukai Jiken Yes - Filler, Psyklax
Space Hunter Yes - Zatos, Fyr
Super Star Force Yes - GAFF Translations
Super Xevious - Gump no Nazo Yes - Psyklax
Takeshi no Chousenjou Yes - KingMike
Tatakae! Chou Robotto Seimeitai Transformers - Convoy no Nazo Yes - Stardust Crusaders
Toki no Tabibito - Time Stranger No
Urusei Yatsura - Lum no Wedding Bell Yes - Stardust Crusaders
Valkyrie no Bouken - Toki no Kagi Densetsu Yes - DvD Translations
Wing of Madoola, The Yes - Psyklax
Arabian Dream Scheherazade Localised - The Magic of Scheherazade
Artelius No
Attack Animal Gakuen Yes - PentarouZero
Batsu & Terii - Makyou no Tetsujin Race Yes - Zynk Oxhyde
Bio Senshi Dan - Increaser Tono Tatakai Yes - Abstract Crouton Productions
Black Bass, The Yes - GAFF Translations
Chester Field - Ankoku Shin e no Chousen Yes - Aeon Genesis (inc)
City Adventure Touch - Mystery of Triangle Yes - Filler
Digital Devil Monogatari - Megami Tensei Yes - EsperKnight, Stardust Crusaders
Dragon Scroll - Yomigaerishi Maryuu Yes - KingMike
Erunaaku no Zaihou Yes - MrRichard999
Esper Bouken Tai Yes - Aishsha
Family Jockey Yes - MrRichard999
Family Mahjong No
Family Tennis Yes - Goldenband
Family Trainer 4 - Jogging Race Yes - MrRichard999, Jink640
Family Trainer 5 - Meiro Daisakusen No
Family Trainer 8 - Totsugeki! Fuuun Takeshi Jou Yes - MrRichard999, AgentOrange
Ge Ge Ge no Kitarou 2 - Youkai Gundan no Chousen Yes - Aishsha, Djinn
Getsufuu Maden Yes - RPGe
Ginga no Sannin No
Golf Club Birdie Rush Yes - MrRichard999
Haja no Fuuin No
Hana no Star Kaidou Yes - GAFF Translations
Herakles no Eikou - Toujin Makyou Den Yes - DvD Translations
Hi no Tori - Houou Hen - Gaou no Bouken Yes - Stardust Crusaders
Higemaru Makaijima - Nanatsu no Shima Daibouken Yes - Snark
Hikari no Senshi Photon - The Ultimate Game on Planet Earth Yes - KingMike
Hokkaidou Rensa Satsujin - Okhotsk ni Kiyu No
Hoshi wo Miru Hito No
Ide Yousuke Meijin no Jissen Mahjong No
Igo - Kyuu Roban Taikyoku Yes - Helly, MrRichard999, Proveaux
Ikinari Musician Yes - Psyklax
Indora no Hikari Yes - KingMike
Jikuu Yuuden - Debias Yes - Gil Galad
JJ - Tobidase Daisakusen Part 2 Yes - DvD Translations
Jongbou No
Karaoke Studio No
Karaoke Studio Senyou Cassette Vol 1 No
Kyonshiizu 2 No
Labyrinth Yes - Suicidal Translations
Law of the West No
Lost Word of Jenny Yes - Zynk Oxhyde
Lupin Sansei - Pandora no Isan Yes - Vice Translations
Magnum Kiki Ippatsu - Empire City - 1931 Yes - Psyklax
Majou Densetsu II - Daimashikyou Galious Yes - Manipulate
Mezase Pachi Pro - Pachio-kun No
Minelvaton Saga - Ragon no Fukkatsu Yes - Aishsha
Mirai Shinwa Jarvas Yes - Stardust Crusaders, Aishsha
Momotarou Dentetsu - Peach Boy Legend Yes - KingMike
Morita Shougi No
Nangoku Shirei!! Spy vs. Spy Yes - Pacnsacdave
Nekketsu Kouha - Kunio-kun Localised - Renegade
Outlanders Yes - GAFF Translations
Pocket Zaurus - Juu Ouken no Nazo Yes - DvD Translations
Pro Yakyuu - Family Stadium '87 No
Romancia Yes - DvD Translations
Saint Seiya - Ougon Densetsu Yes - KingMike
Sanma no Mei Tantei Yes - cccmar
Spelunker 2 - Yuusha e no Chousen Yes - Stardust Crusaders
Star Wars (Namco) Yes - Gil Galad
SWAT - Special Weapons and Tactics Yes - Filler, Psyklax
Taito Grand Prix - Eikou e no License Yes - MrRichard999
Takahashi Meijin no Bugutte Honey Yes - FlashPV
Tenka no Goikenban - Mito Koumon No
Tetsudou Ou - Famicom Boardgame Yes - MrRichard999, Proveaux, Jink640
Tokoro San no Mamoru mo Semeru mo Yes - Psyklax
Tsuppari Oozumou No
Uchuusen - Cosmo Carrier No
Valis - The Fantastic Soldier Yes - Satsu, Sliver X
Woody Poko Yes - Sqpat
Yamamura Misa Suspense - Kyouto Ryuu no Tera Satsujin Jiken No
Youkai Kurabu Yes - Stardust Crusaders
Zoids - Chuuou Tairiku no Tatakai No
Zombie Hunter Yes - KingMike

I thought I'd start a new thread in the Personal Projects section, as I've started a little project: going through the earliest Famicom games in order and trying to get everything translated.

Before MMC chips gave Famicom/NES games access to lots of memory, there wasn't much space for anything, especially graphics. So most of the early games are either already in English, or have very little text at all. So, I just wanted to try to get as many games translated as possible. I'm going by the list of Famicom releases on Famicom World:

Some early games have already been translated: Popeye no Eigo Asobi, 4 Nin Uchi Mahjong, Kekkyoku Nankyoku Daibouken, Ninja Jajamaru-kun, Penguin-kun Wars, and Portopia Renzoku Satsujin Jiken (a particularly cool translation, as it's the first Famicom game with a text focus). This goes up to the end of 1985, and there are a few games left over. Mostly it's just title screen hacks, but there are one or two exceptions.

I've already done Ikki, a simple title hack. I've submitted it to the database but this is what it looks like anyway:

Now I'm working on two other games: Choujikuu Yousai - Macross (a title hack) and Gomoku Narabe Renju (a full translation, but there's not a lot of text there).

Macross has an interesting (to me) title because it uses a mixture of BG and OBJ tiles.

Here's the title:

and here it is without the BG tiles:

Obviously it uses the horizontal/vertical flipping abilities of OBJ tiles to save ROM space. I've been learning about sprites and I think I'll be able to do it. Just need to draw a nice picture, now.

As for Gomoku, it's a bit more involved, but the main thing I've found is how the game determines if it uses 8x16 or 8x8 sprites. In the main game screen it uses 8x16:

So when I turn that flag off it looks like this:

The question is whether it's worth switching to 8x8, given the amount of extra crap I'll then have to deal with (adding more sprites to compensate etc). There's room for more sprites, but the ROM will be the problem.

That's all I can show for now, I'll be interested to see any comments you may have! :)

Hello all, long time no write.

I was brought back to activity thanks to forum member cabbage, who found my awful old Knight Rider Special translation and noticed a couple of NOPs in the code would change the text to 8x16 instead of 16x16. That simple change encouraged me to use KingMike's old DTE help doc to work out if I could use DTE in this game, and sure enough, I managed it. To cut a long story short, several days' work has resulted in a complete retranslation of the game.

Nothing remains from my old translation, it's totally new. The voice samples are untranslated - I don't know if anyone knows anything at all about replacing voice samples (can't think of a single translation that has ever done that).

I've already submitted it to the database, but if anyone cares to try it now, here's the link from my personal site:

Both headered and non-headered ROMs will work as I've included BPS patches for both. :)

Take a look and let me know what you think!

Personal Projects / Battle Robot Retsuden: English translation
« on: May 01, 2016, 05:57:38 pm »
Hey guys, I'm back! :)

I've been out of action for a while for various reasons: I drifted off my translation of the second Detective Conan game for the GBC as I needed some simple programs for text insertion and never got round to having them done. I've received a couple of messages about Hyper Iria, but anyone who wants to know why I abandoned that need only look at the thread.

Anyway, I became interested in Battle Robot Retsuden for the SNES, and even translated the intro and the first scene, along with all the menus, just for fun. A while later I looked again at it and thought "hmm, wonder if I can translate this properly?" I'd never managed to get a SNES translation right, with Hyper Iria being the closest I came to success. This time, however, everything seemed to be in my favour, as I'll explain later.

First, check out my "proof of concept" (ie getting it to a workable state, and proving that I can do a full translation given more time).

(does the forum support embedding YouTube vids? Couldn't find any info)

I'll try to be brief in explaining everything about the project, but feel free to ignore all of this and just give me feedback. :D

First, before you ask, I know the menu looks bad. "Bridge", plus three two-letter abbreviations. It's ugly, but this is the one area that I'm struggling with, because I don't fully understand what's going on. I'll explain later.

So I checked the ROM and it's HiROM, 24Mbit, so tons of room in there. The main font is 16x16, but the last four horizontal pixels are ignored, resulting in 12x16 for each character. This would be a good moment to introduce variable width font (VWF) but I can't code, and I've not found much luck in the RHDN forum on implementing a typical routine for VWF. However, the video shows a very thin font, giving me lots of screen space to play with.

That's because each 12x16 character tile is now two alphabet characters.

Yes, it sounds crazy, but there's a good reason for this: the ROM includes lots of kanji. There are four "banks" (not quite corresponding to true SNES banks) with 255 characters in each (plus the control code 00). This means 1020 characters used purely for text - and they use every single space. I did the maths and worked out I could do every single combination I could possibly need (a to z in both positions, punctuation, capital letters when required), and still have plenty of room left over. Perhaps a weird way of getting a nice thin font onscreen, but as you can see, it works like a charm.

At every turn during research for this hack, everything went right. I found the pointers and routed some dialogue text to a different bank, meaning I'll never run out of ROM space (as there's a ton of empty space on the cart, plus using digraphs means I use half as many bytes anyway). Almost everything is now pretty clear to me, and I'm confident that the only thing stopping me from a complete translation is my free time, which is quite limited at the moment I'm afraid.

Now to the one problem: the menus. Most of the menus are just a problem because there's no screen space: I can only use two tiles (ie 24x16) and that's that, so my choice of words is limited as you see. Not much I can do about it without going deeper. The bigger problem is the main menu, and I'll need to explain why.

They're a special case in that they have two characters, but after the first character there's a bunch of code before the second character (which seems to introduce a space) and if I ignore it the space disappears - but the selection highlight introduces an ugly block in the space to the right of the second character. If I just use three characters instead, it doesn't quite fit in the space, and graphically affects the menu. I'll post screenshots if anyone's interested.

A similar problem occurs on the start menu at the beginning. I used "kill" (two tiles) because I couldn't use "delete" (three). The reason is the selection: the game is clearly expecting two tiles and glitches elsewhere on the screen when you throw in three. This wouldn't be a problem if the text just displayed passively, but my guess is the code for highlighting it is done differently than the code for displaying the text unhighlighted. If anyone has experience of this, please get in touch, as it's the one issue I need to crack before I can deliver a full translation.

So, I could talk all day about it, but I'll let my work thus far speak for itself. Being an 'action' game, my plan is to make the game totally playable first: menus, weapons, unit names and so on. The actual story will be the last thing to do, since most people will probably skip through it anyway.

Looking forward to your comments! :D

Detective Conan
The Mechanical Temple Murder Case

Here you are, guys. 100% complete. Everything's done at last.

I wasn't sure about making a new thread, but I figured it's worth it for the finished article - and I couldn't wait another 7 days to avoid the double-post rule. :) I'd like to add it to the RHDN database, but not sure how. I imagine it's not that difficult.

Thanks to all the guys on here who've encouraged me. It's been a lot of work, but worth it in the end, I think. Hope there are some Conan fans who will be happy to try this out at last.

The question is: what do I do now?

Oh yeah...

That... 8)

Pages: [1] 2