Author
|
Topic: Final Fantasy VII NES Project (Read 6 times)
|
Lugia2009
Guest
|
|
« Reply #165 on: July 17, 2011, 01:37:08 pm » |
|
Here's the latest patch. http://www.mediafire.com/?wv7wwjc171qwuv8It's a patch over the original chinese version. It'll take me a little bit to write down the hex addresses. I know where they are, I just don't have them written down.
|
|
|
|
Vanya
Guest
|
|
« Reply #166 on: July 17, 2011, 03:07:35 pm » |
|
Here are all the files I was given from the original translation project: http://www.mediafire.com/?u3r4bhusauxw6There *may* be something useful in there.
|
|
|
|
Lugia2009
Guest
|
|
« Reply #167 on: July 17, 2011, 03:16:25 pm » |
|
I found the data that selects what sprite is used for each action in battle for all characters at 0x021493, 0x021494, and 0x021495. It's a set of three numbers, the first is for the battle stance, second one is for attack magic and items, and the third one is for the death sprites. 00: battle stance sprite 18: attack sprite 30: death sprite And here's a link for what I found for programming the colors for the maps http://www.mediafire.com/?iz1gzgimogb945l
|
|
|
|
halkun
Guest
|
|
« Reply #168 on: July 17, 2011, 03:33:03 pm » |
|
Wow, this is tough, they seem to compact the stat data.
The battle module is self contained (yay) and can use a rewrite. The menu system is also self-contained too. I'm having difficulty finding out where the game is pulling it's player/enemy stats from. They seem to be compressed.
Because of the Chinese text, there is a lot of wasted PPU memory. Actually, I'm really shocked that the graphics are as good as they are. The map only uses about10% if it for backgrounds. That should be closer to 50-70%
The text is 1BPP That's fun
|
|
« Last Edit: July 17, 2011, 03:42:32 pm by halkun »
|
|
|
|
Chpexo
Guest
|
|
« Reply #169 on: July 17, 2011, 03:38:14 pm » |
|
I analyzed your patch and found it to be really good but I found problem. When you climb the rope you to reach the Shinra building you are supposed to insert a battery but when I press A to insert it, it won't work and a weird sound plays. \ One other thing, I see see you've changed the mugshots. I'm not saying they're good or bad but when it comes to manga I'm very OCD about it.
|
|
|
|
Lugia2009
Guest
|
|
« Reply #170 on: July 17, 2011, 04:05:12 pm » |
|
I analyzed your patch and found it to be really good but I found problem. When you climb the rope you to reach the Shinra building you are supposed to insert a battery but when I press A to insert it, it won't work and a weird sound plays. \ I found that too. I looked all through the rom and used the code data logger to compare it to the original version of the game but could not find the problem. I found that when the music gets really high pitched, I open up the menu and have about a 50% chance of the item working. For now I will probably make a new path around that to get to the Shinra Building, until I find a solution. Also, I noticed that on some areas, the menu doesn't work right. I don't know how to fix this either. I found it to be not that big of a deal though.
|
|
|
|
halkun
Guest
|
|
« Reply #171 on: July 17, 2011, 04:09:03 pm » |
|
Here is what I have as a general overview.... bank 00 - field bank 01 - field bank 02 - Title Page graphics bank 03 - bank 04 - event bank 05 - event bank 06 - dialog bank 07 - dialog bank 08 - Battle code bank 09 - Battle code bank 0a - bank 0b - bank 0c - bank 0d - bank 0e - bank 0f - bank 10 - Chinese characters bank 11 - Chinese characters bank 12 - Chinese characters bank 13 - Chinese characters bank 14 - bank 15 - bank 16 - bank 17 - bank 18 - bank 19 - bank 1a - bank 1b - menu bank 1c - menu bank 1d - bank 1e - Menu graphics bank 1f - Water graphics at bottom bank 20 and on --- Map graphics with unknown data (field data?)
to get a bank number you take the offset and divide it by $4000. For example, 0x021493 divided by 0x4000 is 8, which means that data is confirmed to be in the battle section.
|
|
|
|
syntax error
Guest
|
|
« Reply #172 on: July 17, 2011, 04:10:52 pm » |
|
The original ROM is a real mess.
|
|
|
|
halkun
Guest
|
|
« Reply #173 on: July 17, 2011, 04:19:04 pm » |
|
I'm noticing. Can someone post the offsets to the music?, also where is the map matrix data proper? Where does each map "stop" and "start"
Also where in earth are the character stats held? I need to max my stats so I can run through the game once. This game is massively stupid on difficulty.
|
|
|
|
Lugia2009
Guest
|
|
« Reply #174 on: July 17, 2011, 04:22:59 pm » |
|
The original ROM is a real mess. I know, I wonder how they ended up with so much unused space. Here is what I have as a general overview.... Code: [Select]
bank 00 - field bank 01 - field bank 02 - Title Page graphics bank 03 - bank 04 - event bank 05 - event bank 06 - dialog bank 07 - dialog bank 08 - Battle code bank 09 - Battle code bank 0a - bank 0b - bank 0c - bank 0d - bank 0e - bank 0f - bank 10 - Chinese characters bank 11 - Chinese characters bank 12 - Chinese characters bank 13 - Chinese characters bank 14 - bank 15 - bank 16 - bank 17 - bank 18 - bank 19 - bank 1a - bank 1b - menu bank 1c - menu bank 1d - bank 1e - Menu graphics bank 1f - Water graphics at bottom bank 20 and on --- Map graphics with unknown data (field data?)
to get a bank number you take the offset and divide it by $4000. For example, 0x021493 divided by 0x4000 is 8, which means that data is confirmed to be in the battle section.
How do you divide 0x021493 by 0x4000? My calculator gave me 5.37325 July 17, 2011, 04:27:08 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Also where in earth are the character stats held? I need to max my stats so I can run through the game once. This game is massively stupid on difficulty. I don't know, I tried finding it. There's supposed to be some game genie codes for this game. Here's the link: http://thegshi.org/?s=v2&sys=5&gid=8126I'm not sure if they work though, the game genie menu in my emulator doesn't work.
|
|
« Last Edit: July 17, 2011, 04:29:30 pm by Lugia2009 »
|
|
|
|
Chpexo
Guest
|
|
« Reply #175 on: July 17, 2011, 04:34:41 pm » |
|
On a side note, right now I am making Rufus' Welcome Ceremony music.
|
|
|
|
halkun
Guest
|
|
« Reply #176 on: July 17, 2011, 05:08:38 pm » |
|
How do you divide 0x021493 by 0x4000? My calculator gave me 5.37325
Those are both hexadecimal numbers. You have to divide in hex, not decimal. There are 128 banks numbered 00 to 7F, however, it appears that the game is banking in two banks together when it does a state switch, so it just might be 64 banks of 32K. Still the same amount of data. However, my guess is it's still banking in the upper bank randomly for data access. There is a bright side, with all this open space, it's pretty roomy to add things. I mean look at the title screen
|
|
|
|
Lugia2009
Guest
|
|
« Reply #177 on: July 17, 2011, 05:37:57 pm » |
|
Think it would be possible for this game to be put onto a cartridge?
|
|
|
|
I.S.T.
Guest
|
|
« Reply #178 on: July 17, 2011, 05:48:16 pm » |
|
Unless you mean the hacks done to it by the fan community, this was originally on a cart... It's a Chinese pirate.
|
|
|
|
halkun
Guest
|
|
« Reply #179 on: July 17, 2011, 06:48:31 pm » |
|
We will have to make our own cart. The stats, BTW are held in save ram. I found them and in the process of mapping them out.The level/experience curves are WAY off from the original. The stats such as strength and spirit and such as derived from the level. The level goes up to 255 (Maybe higher). The original FF7 goes up to 99
Normally in a final fantasy game, all variables are maintained by the Menu module. This looks to be no different. Once I map the savemap and get a good feel for the menu module, it can be rewritten. The stats are normally kept in a "Kernel" module, but it may be different here.
As soon as I map clouds experience curves, I'll see if I can't find the look-up table for his stats and then cap his level to 99
==EDIT== I have discovered that there are no experience curves. The experience is a simple linear progression. I'm calculating the slopes now.
==EDIT 2== Ok, here's the growth "curves" put together by yours truly...
Str = (2.9*level)+9 Vit = (2.54*level+9 Int = (3.22*level)+9 Spr = (3.22*level)+9 Agl = (2.5*level)+9 Exp = (50*level)+250
In the actual FF7, the experience curve is quadratic and the HP growth is mapped. Oh well, Battle needs to be rewritten anyway. I'm working on menu for now.
==Edit 3== Savemap mapping. The saves start at $6000 in the nes. You can alter these bytes, get into the menu and see the changes.
(This is ram address inside the NES while it is running) 60C1 (byte)\t\tCloud Max HP lo 60C8\t(byte)\t\tCloud Max HP hi 604A\t(byte)\t\tCloud Cur HP lo 6051\t(byte)\t\tCloud Cur HP hi 602C\t(byte)\t\tCloud Countdown 602E\t(3 bytes)\t\tGil 6074\t(byte)\t\tCloud eqipped weapon 6043\t(byte)\t\tCloud Level 607B\t(byte)\t\tCloud Equiped Materia 6059(byte) Cloud equipped headgear 605f (byte) Cloud equpped armor 6066 (byte) Cloud equpped bracer 606D (byte) Cloud equpped accessory
Here's a quick run down equipped items of what I found.
Weapons (6074 - cloud)
00 - Nothing
Swords 01 - Buster 02 - Mythryl 03 - Hard 04 - Butterfly 05 - enhance 06 - Organic 07 - Crystal 08 - force 09 - Rune 0a - Murasam 0b - nailbat 0c - Yoshiyu 0d - Apocaly 0e - heaven 0f - Ragnrok 10 - ultima
Guns 11 - Gatling 12 - Assult 13 - Cannon 14 - Atomic
---
Magic (607b - cloud)
00 - Nothing 01 - Fire --------------
Everything below 60D0 or thereabouts is the inventory. I don't have written down what slot is what but you add values to somewhere in that area and it put that number of that item in your inventory
There is much more, if you open the hex editor in fecux, you can change the memory directly, get out, get back in again and see what you changed, you can also equip/deeqip slots and see memory locations too. I'm going to bed now...
|
|
« Last Edit: July 17, 2011, 10:22:10 pm by halkun »
|
|
|
|
|