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

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]
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 »
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)

Hello all! In the breaks between doing Detective Conan and Hyper Iria, I've translated a PC Engine game! :D

Knight Rider Special is a cross between Chase HQ and RoadBlasters, with a famous American licence. I was amazed that such an American game never got either an American release nor a translation, so I took it upon myself to do it. :)

Have a go, and let me know what you think. Read the text in the zip for more info. ;)

EDIT: Damn it, I just remembered: this MUST be applied on a headerless ROM! I had to remove the header on mine. Think I may have to change the zip text file to make that clear. It's easy to delete the header: just stick it in a hex editor and remove the first 200 hex bytes (from $000 to $1FF). Do you guys think I should just change the patch to work on a headered ROM? It's not so difficult to do.

Personal Projects / Hyper Iria
« on: July 04, 2013, 07:18:37 am »
Hyper Iria, an as-yet untranslated action platform adventure thingy for the SNES.

I confess, I don't have a lot to show here, but I do know that if I can get a little help on this, then translating this game will be relatively straightforward. I don't know why nobody has tried this already.

I started a thread in ROM Hacking Discussion about displaying the 8x16 font in Tile Molester. Once I stopped being an idiot and figured it out, I replaced it with the VWF font used in Final Fantasy on the GBA (it was one of the only fonts I could find in the RHDN database, and since I used the Final Fantasy 1 font for my Detective Conan hack, I figured another Final Fantasy would be nice).

As soon as I started playing around, though, I realised one thing:

Yes, yes it does.

Actually, the in-game text itself (your computer pal BOB gives you information on where to go etc) is so rudimentary ("Go left", "Go up those stairs" etc) that a VWF, while nice, is really not essential. What IS essential, however, is getting the full use of that 12x2 character box in which to put the messages.

The problem is that age-old one of a Japanese message only needing, say, seven characters, and thus cutting off at seven, rather than the full 24 that I'd like to use (no new line control codes used, either). So rather than VWF, I think there are two more important options:

1) figure out how the pointers work, and stick all the new text somewhere else (eg in an expanded part of the ROM), or
2) DTE.

I have a very important question regarding DTE. I followed KingMike's lovely DTE tutorial for the NES (although I have to say, there are a few little errors here and there which made following the code more difficult, but I figured out the true values eventually). Now, would that code at the bottom of the tutorial work, with perhaps minor alterations, in ANY NES game? And if so, is there a DTE routine I could use from someone's SNES game to use in this? I ask because I know almost nothing about ASM (in fact, all I know is what I read in KingMike's tutorial :D ) but it seems to me that an ASM hack like DTE would, in theory, work on any game. Anyone care to tell me about this? Unless I can hack the pointers in this game, I will need DTE.

So about the pointers. I have experience with GBC pointers on my Conan project, and they make perfect sense to me:  that's a text-heavy game, so several entire banks are reserved for just text, while the pointers to that text appear to be at the beginning of the ROM in the main code. There are some small bits of text for menus and such which are also lumped in with the pointers, but they use 2-byte pointers which are also very simple, and I'm able to edit those too. But this? I can't figure it out.

I read AnusP's document on NES and SNES pointer hacking, and sadly it didn't seem to help me here. This is NOT a text-heavy game (RPGs are text-heavy, whereas I could translate all the text in this game in a day or two). Therefore, it seems to me that the text is lumped in with the main code, instead of stuck in a nice big bank ready to mess with. So I can't quite figure out how the pointers work, or even if it uses pointers at all (I imagine it does, but still). I've examined quite a few lines of text and noticed patterns, and already figured out which byte before the text is used to say which face goes next to the text. Other than that, I'm a bit stuck. Any experts on SNES pointers out there want to give me a clue what to look for?

Finally (sorry for such a long first post) there's another font used for the menu screen describing each mission. The font in the ROM is a bit messed up: it uses 8x7 tiles I think, so it's all just stuck together, and somehow the shading at the bottom of each letter gets added on-screen. Here's the font in question:

As you can see, it's not as neat and tidy as I'd like. On the other hand, it DOES include a capital Latin alphabet, so I could just use that and be done with it. Alas, the problems continue.

The encoding on the menu screen is a nightmare. The control code '20' (which is the same as capital M) seems to produce a space BEFORE the preceding character, and can't be changed, moved or removed without the whole line disappearing. Plus, the codes for new lines are pretty hard to fathom, and also don't seem to like being messed with.

Here are before and after shots of the screen in question.

Notice the spaces in the same place on both. I can't move or change those spaces, or the whole thing goes wrong. As for the dakuten symbols above, that's no problem: I've figured out how to turn them off. But as you can see, I have more problems than dakuten.

So, thank you for reading, and I hope someone can help me out with my problems. :)

ROM Hacking Discussion / SNES fonts
« on: July 01, 2013, 08:32:36 am »
Okay guys, this is probably a n00b question, but since I can't find much info anywhere, here goes.

While working on my rather easy (though time-consuming) Detective Conan GBC game, I've been wondering about hacking a SNES game, since the SNES is my favourite system and it'd be nice to do something for it, to learn a thing or two. Alas, all of my efforts have thus far been in vain, as it seems that SNES games are far more difficult to hack than NES or GB games. Maybe I'm wrong, but that's the way it seems: often I can't even find any text through relative searching.

But I stumbled across a game called Hyper Iria, which judging by a forum search, some of you have heard of. Cut a long story short, I did a relative search, actually found some text for once, now I've got my table sorted. So the next task is to replace the font. This is where I'm struggling.

The main in-game text is 8x12 (though most of the characters are only 10 pixels high). Since I have no experience with SNES games, and I couldn't find any documentation on this, I have no idea if the way this game stores the font is typical or not. Basically, the top half is at the bottom, and the bottom half is at the top, with different colours. I prepared a pic to demonstrate.

Yes, I know it says 8x10, because I thought that's what it was. Now I realise one or two kanji are slightly taller, but whatever.

Now, I'd be quite happy to just take a font, chop it in two and reverse it, but the problem is when the top and bottom collide, as they invariably do (I used the 'ka' here because it's a rare example of when it DOESN'T collide). In that case, the colours change. Basically, I have no idea how this should be done, and I wanted to know if anyone had any idea of how to just make a new font in this way.

I also have problems finding the pointers for the text, but that's another problem for another day... ;)

Personal Projects / Detective Conan: GBC games translation project
« on: May 22, 2013, 04:18:08 pm »
Greetings all, this is my first post, but it's been a long time coming, so I may take a while.

I got interested in rom hacking a while ago, mainly for the purposes of translation, and I even had a stab at translating Captain Tsubasa for the NES... until I realised that it was released (in bastardised form) as Tecmo Cup Soccer Game in the USA. My interest waned a little after that...

Years later, however, I thought about it again, and couldn't think of what to translate. Until I came across the Detective Conan games for the Game Boy Color. The three games by Banpresto were ideal for several reasons:

1) they hadn't been fully translated before;
2) they were for the GBC (simpler system to hack, but with the bonus of enormous carts);
3) I'm a fan of the Conan anime, which helps;
4) I imagine there are plenty of other Conan fans who would actually like to see this.

So, for my first translation project, I decided to tackle Detective Conan on the GBC.

All three of them.

The basic architecture is the same in all three games. The first one seems a little simpler but sets up all the graphics and ideas, and uses more or less the same stuff as the other two. The second is very similar but presumably a bit more complex (I haven't played much of any of them, I confess). And the third is double the cart size (16Mbit rather than 8Mbit), which allows for a bigger game, but also gives me much more empty space to fit my text in.

Which is another point: this game was my first test of hacking pointers. A big shout out to Coolboyman for his Gameboy pointer hacking doc (, it really helped me to get this working. Basically I've been picking things up pretty quickly in terms of hacking, and although I know almost nothing about ASM, some compression would be handy on this. I had a play with another tutorial for the NES, but unless someone can tell me how a NES ASM routine could be adapted for the GBC, I'm stuck. I think there's enough free space to exploit in these ROMs, though.

As for the language, that's the hard part. I used to learn Japanese years ago, and although I have a reasonable grasp of grammar, I suck at vocab, so every sentence takes a while, using WWWJDIC on virtually everything. It's a slow process, but hopefully my translation is reasonable. And hey, it's better than nothing.

I suppose hacking AND translating all three games, alone, is a big task, but I don't want anyone to think this'll be done overnight. I wanted to get to a stage that I call 'Proof of Concept': as in, you can play all three games with my patches up to the point that you start moving around and talking to people, and everything is in English. I didn't just fix a menu and upload it (I saw that someone else already did that), I wanted to show (me as well as you guys) that I was capable of doing this.

The hard part is done: the technical side of the game is more or less completely clear to me, most of the graphics are done, and the first chunk of text is done. All that remains is a hell of a lot of dialogue - and this is one text heavy game (or games). Now I've got all three games to version 0.1, if you like, I think I'll take a little break, then get to work on the first game.

I feel like writing a much more in-depth report on my work on my blog at some point, for any newbies who'd like to follow in my footsteps. But for now, enjoy the fruits of my labour, and any comments are welcome!

Detective Conan: The Mechanical Temple Murder Case
名探偵コナン からくり寺院殺人事件

Detective Conan: The Legend of the Strange Rock Island Treasure
名探偵コナン 奇岩島秘宝伝説

Detective Conan: The Cursed Sea Route
名探偵コナン 呪われた航路

NOTE: In the second game, the description of where the boat lands is still in Japanese, because I couldn't find it in the game, strangely. There is no text in the ROM that matches it, so any help would be appreciated.

Pages: [1]