Jump to content


  • Please log in to reply

Japanese Programming Madness

, Curious Things About Japanese Games and How They Are Programmed (Go to first unread post)
rastsan Post #16 Posted 06 February 2012 - 05:05 AM

    8 baller

  • PipPipPipPipPip

  • Group: Members
  • Posts: 791
  • Member No.: 126,930
  • Joined: 28-May 08
  • Location: toronto

  •  

View PostNagato, on 06 February 2012 - 04:30 AM, said:

View PostAuryn, on 06 February 2012 - 04:03 AM, said:

Interesting Nagato. Do you have the site/source of where you learned the ASM stuff for the NDS??

Unfortunately no. I wish I did since I've been asked that a few times. I've been reverse engineering games (almost exclusively x86 up until that point) since the mid 2000s so I had a lot of experience that I was able to apply to working with the NDS. The good thing about working with the NDS (and the GBA I suppose but I haven't messed with that) is that it uses the ARM architecture. ARM is a well documented architecture so I got a copy of no$gba debug version and, with the ARM documents in hand, whacked at it until I got it to work. I no longer work with no$gba since I find it doesn't meet my needs anymore but it worked well for what I needed back then. These days I use IDA Pro and Desmume with the GDB stub compiled since it's a much more powerful combination and I'm familiar with IDA Pro.

ARM Architecture Reference Manual: http://www.scss.tcd....3d1/arm_arm.pdf (Warning: huge PDF)
ARM Instruction Set Reference: http://infocenter.ar...QRC0001_UAL.pdf
GBATek (GBA/NDS-specific information): http://nocash.emubase.de/gbatek.htm

but well worth the read...
I got more from the arm architecture than any of the others... I can't remember if that one includes the arm7 too... which may seem pointless but there are games with arm7 programming.



greator Post #17 Posted 06 February 2012 - 07:29 PM

    GBAtemp Regular

  • PipPipPip

  • Group: Members
  • Posts: 117
  • Member No.: 128,632
  • Joined: 14-June 08
  • Location: In your head...

  •  

Isn't the big company who distribute this games in english are given all the tools needed to translate the game?
Unlike us who have to reverse engineer the game.


FAST6191 Post #18 Posted 06 February 2012 - 07:48 PM

    Techromancer


  • Group: Reporters
  • Posts: 10,961
  • Member No.: 32,303
  • Joined: 21-November 05

  •  

One would think so greator but in practice they can often end up in a worse position than rom hackers do and end up doing many of the same tricks- http://www.loekaliza...m/mistakes.html has a fair bit of insight.

Granted some of the highest end ones and top tier companies will have nice methods by which to effect a translation and/or full source code (source code is perhaps surprisingly not necessarily the most useful thing you can give your translation/localisation team) but not all.


As for assembly and related concepts I will also throw in http://www.coranac.c...nc/text/toc.htm . It is for the GBA but most of it carries across.


pleonex Post #19 Posted 09 February 2012 - 01:17 AM

    GBAtemp Regular

  • PipPipPip

  • Group: Members
  • Posts: 109
  • Member No.: 153,592
  • Joined: 16-January 09
  • Location: South of Spain

  •  

Interesting post... I have found a lot of forgotten files in NDS games. Some of then very funny

File name: "how_to_create_highlights.txt" in FIFA6, and many other gams of EASport
Warning! Spoiler inside. 



Can anyone image what game has this image? :)
http://dl.dropbox.co...Tinke/image.bmp


Also, the game "Planet 51" has the images compressed in a common ZIP file (with folders too).

Maybe later I can add more files like code files, DLLs, batch or executables (they like to forget remove files) :P

NOTE: if this is against the rules, please tell me or/and remove it, I'm not very sure.


rastsan Post #20 Posted 09 February 2012 - 02:05 AM

    8 baller

  • PipPipPipPipPip

  • Group: Members
  • Posts: 791
  • Member No.: 126,930
  • Joined: 28-May 08
  • Location: toronto

  •  

"for research and discussion purposes" should cover this.


FAST6191 Post #21 Posted 09 February 2012 - 02:12 AM

    Techromancer


  • Group: Reporters
  • Posts: 10,961
  • Member No.: 32,303
  • Joined: 21-November 05

  •  

Nice stuff pleonex- I am not sure that is what the OP was going for* but I am always up for sharing developer left extras, hidden things (several games have had audio tracks left in that did not make the final game) and I have had a few easier hacks of games that I might otherwise have been left scratching my head over for a while because someone left something like this in there over the years.

*I read it as what odd ideas (compared to your "standard" rom) have you seen Japanese game developers use that ultimately caused headaches or raised eyebrows when it came time to hacking them.

Still Inazuma 11 had a script for building the audio side of things (see pb audio format http://gbatemp.net/t...mats-of-the-ds/ )

One of the princess maker games had almost complete source code (missing some headers if memory serves).

Sports games have proven to be fairly interesting- I think it was a basketball one made several references in there to the PS2 version (or at least one of the home consoles).

One has to mention the smap file in Zoids (a few other games have had them in over the years but I have forgotten their names) because it led to the whole SDAT being decoded a bit more easily thing.

I have seen plenty of thumbs.db files over the years as well as well as a few XML laden files (the Wizard of Oz game for example).


pleonex Post #22 Posted 09 February 2012 - 02:57 AM

    GBAtemp Regular

  • PipPipPip

  • Group: Members
  • Posts: 109
  • Member No.: 153,592
  • Joined: 16-January 09
  • Location: South of Spain

  •  

@FAST6191 In some case it can help to the hacking because you know interesing things, in other games it's very annoying, specially with text and graphic files where you don't know if it's really needed.

Reading some batch files you can know how the file was before the conversion, ie: the common textures BTX0 were tga images (in the folder Test of "Zelda - Phantom Hourglass" the same game where the above pic was).
I have found too a MODS video file named "audio44100_fps24_q40_adpcm.mods" that give important parameters.

Anyway, I think that the worst task of some games is to know how to unpack some files, games that have only one big file with a lot of data inside. Some of them have really horrible pointers (if they have), I know one game where the game in order to know the offset of each file, multiplies each char from the internal path by 25 and then sums all of then and a lot of operations more...

Something similar is the pack file GFSA of the last Layton where it's fully compressed (45MB), the pointer and name table too!. At least I know what kind of compression is, but no where it starts.

The exe file that I have is "BinToElf.exe" from "Dragon Booster", another one convert a C code file with and array of bytes to palette.


Auryn Post #23 Posted 09 February 2012 - 07:55 PM

    GBAtemp Regular

  • PipPipPip

  • Group: Members
  • Posts: 184
  • Member No.: 281,711
  • Joined: 21-July 11

  •  

Yeap, nice stuff to read while I am sick on my bed and naturally very interesting.

Hey Pleonex...I know what that pic is: if you attack any animal in Zelda for 1 hour non stop, that pic will appear with a message that you are an animal sadic and if you have your Wi-Fi activated, soon afterwards you will get a visit from the police and a rappresentant of the WWF :P
No, just joking, it's like this that wild stories start in the internet.

I find that "how_to_create_highlights.txt" and the zip thing because I believe it's a proof that programmer now a day are not capable as the old ones even if programming has become easier at least from the language side.
Yes, I know, 3D graphics, 3D sound and and and but this is only the presentation, all other that matters (fun, variation, gameplay, etc..) are in regress.

Take as example the last Zelda...I don't see anything that should have taken 4 years to program and actually have annoying "errors" like restart BEFORE the intro sequence of a big boss....I believe that it was on PS1 that i last saw this error made. As same as how many times have we seen the bitch that "rescued" us from falling from Skyloft?? This was annoying in 2 ways: first to loose those 10seconds with the same stupid text over and over; second, we are supposed to live up there and we have the birds, why we can jump off from some places and not from others??

Dragon Booster a "bintoelf"?? Did they plan a Wii or Playstation port??


hackotedelaplaque Post #24 Posted 09 February 2012 - 08:09 PM

    GBAtemp Regular

  • PipPipPip

  • Group: Members
  • Posts: 237
  • Member No.: 152,534
  • Joined: 10-January 09

  •  

About strange behaviours, it's the same for DB Kai.
I didn't manage to display the font although there are 3 *.fnt files.
DSO files used in this game still need to be reverse-engeenered too.

About asm links, coranac is the best for beginners imho (with gbatek nds specs).


Little of topic, does some of you guys know a good emu site (I mean for dev, CPU specific or global concepts and mechanisms) ?


Auryn Post #25 Posted 07 March 2012 - 03:13 AM

    GBAtemp Regular

  • PipPipPip

  • Group: Members
  • Posts: 184
  • Member No.: 281,711
  • Joined: 21-July 11

  •  

When I had 5min of free, I managed to see how this font of Dragon Ball Kai Ultimate Butoden was stored.
Did you even see a font stored with a different width and heigth for each tile in the font??
Well you have now:
Posted Image

Lucky who will hack this game that at least there is a nice pointer table at the beginning of the file with all the width/heights.
Note that what I called tile ID is actually the SJIS code of that caracter :P
Posted Image


FAST6191 Post #26 Posted 07 March 2012 - 11:09 PM

    Techromancer


  • Group: Reporters
  • Posts: 10,961
  • Member No.: 32,303
  • Joined: 21-November 05

  •  

I rarely see that in Japanese games Auyrn but I wish I would- it is the basis for a variable width font and maybe even proper line handling. Indeed when trying to add a variable width font to a game one of the main methods is to add data like that and have the text/font handler parse it.

Also I wanted to link this up as I just stumbled across it
http://tcrf.net/Cate...ntendo_DS_games


hackotedelaplaque Post #27 Posted 09 April 2012 - 07:05 PM

    GBAtemp Regular

  • PipPipPip

  • Group: Members
  • Posts: 237
  • Member No.: 152,534
  • Joined: 10-January 09

  •  

The font Auryn was talking about is definitively the strangest one I have ever seen (game is Dragon ball kai boutoden) :
Posted Image

Two sprites in one using transparency. Weird isn't it ?







Users browsing this topic

1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users