Author Topic: Source code for Final fantasy one  (Read 8636 times)

halkun

  • Global moderator
  • *
  • Posts: 2097
  • NicoNico :)
    • View Profile
    • Q-Gears Homepage
Source code for Final fantasy one
« on: 2002-10-28 07:34:02 »
One of the projects I was working on  once upon a time was reversing the source code to the original final fantasy. I got side tracked and now, because most of my tools are dos/windows and I run linux, it's more difficult to finish. Would you guys like to complete what I was working on?

Here's some quick stats.

The rom uses 6502 Machine code.
FF1 is a 256K game broken up in to 16 banks of 16k. I have the banks seperated (0-15)
Bank 15 is the kernel, it never gets banked out and controls the whole game.

I have bank01.asm  bank02.chr,  bank03.chr, bank10.asm, bank 12.asm,  bank13.asm, and   bank14.asm done.

Other banks are well on ther way.

The is a program called "Final Fantasy Hackster" that edits all the object data in the game. You can use that to find what I'm missing data-wise. Everything else after that point is 6502 code. You can simply run that through a dissasembler and comment what it's doing.

I can offer help of those who want to finish it.

Any takers? It says right there in the upper left hand corner of the forums "A community dedicated to FF-related engineering" I thought I'd contibute.

I'll post a link to what I have in anyone is intrested.

-halkun

mirex

  • *
  • Posts: 1645
    • View Profile
    • http://mirex.mypage.sk
Source code for Final fantasy one
« Reply #1 on: 2002-10-28 11:18:05 »
I are engineer, but i like reversing data, not code. Sorry.

Sephiroth 3D

  • *
  • Posts: 1679
    • View Profile
    • ModCitizen 42
Source code for Final fantasy one
« Reply #2 on: 2002-10-28 14:50:54 »
you know... thinking about it right now... I might be able to re-program FF1 in PHP... There are a few things I wouldn't be able to do, but knowing PHP is only a step or two away from C, so technically, I might be able to program FF1 in C. It'd be nothing more than If Then Else functions...

sfx1999

  • *
  • Posts: 1142
    • View Profile
Source code for Final fantasy one
« Reply #3 on: 2002-10-28 20:02:21 »
If you used C, the game would be a different size and would not be as fast on NES.

halkun

  • Global moderator
  • *
  • Posts: 2097
  • NicoNico :)
    • View Profile
    • Q-Gears Homepage
Source code for Final fantasy one
« Reply #4 on: 2002-10-28 20:28:39 »
The FF1 they made for WonderSwan (And the PS1 port coming out)  has been "up-ported" to C. Actually, all the re-releases have. (FF 1-2, 4-6, Chono trigger) This is because, unlike other companies, Square does not want thier software to suffer from bitrot. The up-porting will keep it portible for years to come.

3 is missing as the WonderSwan market tanked before they could complete thier backporting efforts.

Wonderswan.

On a slightly related note, the WS was supposed to come to the US. The problem was that Ban-Dai's US Partner, Mattel, wanted to market the WS as toy for smaller children, and not handheld to go up against the GBA. Sad really.

Anyway, don't knock the FF1 code, it's pretty complex. The world map bank (bank01, if I remeber correctly) has the RLE decompressor at the tail end of the bank. There is only about 20 bytes of clearence between the end of the map and the the start of the decompressior. It's a tight squeeze.

I'll clean up some of the code and docs tonight and post the thing here. I'm here all week for questions. I'll point you to the tools you are going to need too.

halkun

  • Global moderator
  • *
  • Posts: 2097
  • NicoNico :)
    • View Profile
    • Q-Gears Homepage
TA-DA!!!!!!!
« Reply #5 on: 2002-10-29 01:11:34 »
Here you go, read the readme.

It's a tarfile. I think winzip can undo this....

ff1src.tar.gz

halkun

  • Global moderator
  • *
  • Posts: 2097
  • NicoNico :)
    • View Profile
    • Q-Gears Homepage
Bump(?)
« Reply #6 on: 2002-10-30 04:02:57 »
I was just wondering if anyone has taken a look at this? Did I even link it right? I wouldl fiugre this would be the talk of the town...