News:

11 March 2016 - Forum Rules

Main Menu

Final Fantasy VII NES Project (Completed!)

Started by Lugia2009, April 08, 2011, 12:22:37 PM

Previous topic - Next topic

mrrichard999

Quote from: KingMike on September 12, 2013, 07:49:56 PM
Reminds me of when the HD in my old 486 was dying. :(
I needed to reinstall Win95 after every boot. Ended up getting a new HD but that was like 1999 so I was forced to save up to upgrade because the install program (Maxtor! :P) refused to run on my already-ancient 486 (that was the same year the Pentium III was released, I think).

Thank god parts are not like that anymore. I do not miss ISA cards, Dip Switch, and finicky board nonsense...

Lugia2009

@mrrichard999 It was a Hynix 256mb 1Rx16 PC2 4200U-444-12.  Thanks for the offer :), but I found two with 512mb  for only $5.

@Nerd42 Don't worry. I have the most recent version saved in several places.

@Chpexo

random encounter data 

I do not yet know what tells the game which maps have enemy encounters.  Right now I only know what sets the strength for the enemies.  I'm not sure how it is for Zelda, but for FF7, 26ea7-2714e controls the settings for each map.  Pokemon Yellow is a bit different.  Each map has it's own setting which determines which pokemon appears on that map, and what level they are.


Teleport data is around 0x008554. There is also event teleport data which is used during events to teleport the character to another map.

here's how it breaks down.

Example.
90 20 80 79 00 A7 80 01 A0 00

the first byte controls which way you must face for the teleport tile to activate.

90: Face up
60: Face down
30: Face left
C0: Face right
F0: Can face any direction

The second byte is for which map you will warp to.


The 3rd, 4th, 5th, and 6th bytes control where you will be placed on the map.

the 3rd byte controls where you appear on the screen vertically.

the first digit of the 4th byte controls where you appear on the screen horizontally. 
the second digit of the 4th byte controls which direction you face when you appear.

9: up
6: down
3: left
C: right

The 5th byte controls which screen of the map you appear on.

The 6th byte can be used to adjust the screen position for when you appear on the map you warp to.


And the final four control the placement of the warp tile.

7th byte sets where the teleport tile is located horizontally

8th byte sets which screen of the map the teleport tile is located horizontally

9th byte sets where the teleport tile is located vertically

10th byte sets which screen of the map the teleport tile is located vertically






And for the music
Starting at 0x006156 controls the choice of songs for each map.

0x018000 Begins the music bank.

Here's what I have for the game's sound engine which I used from the original project for this game:

   https://db.tt/5xyAY9mx


Also, another up date. Palmer and Scarlet are now fully separate characters, and all dialogue has been fixed for them.

Chpexo

By the way, I found a Final Fantasy 7 NES .nsf file.

Also for those who want a reproduction, I have no doubt Nanjing will take this hack and release it. I've seen some pirates that are actually ROM hacks from this site!

Spooniest

The more you try to control people, the harder they'll struggle to break free of control.

I just sort of try not to encourage that repro carts be made of my hacks, personally. That's all I can do; it's not like I'm omniscient.
Yamero~~!

DarknessSavior

Quote from: Chpexo on September 21, 2013, 09:55:44 PM
By the way, I found a Final Fantasy 7 NES .nsf file.

Also for those who want a reproduction, I have no doubt Nanjing will take this hack and release it. I've seen some pirates that are actually ROM hacks from this site!
You have? Do tell.

~DS
Red Comet: :'( Poor DS. Nobody loves him like RC does. :'(
Sliver-X: LET ME INFRINGE UPON IT WITH MY MOUTH
DSRH - Currently working on: Demon's Blazon, Romancing SaGa, FFIV EasyType.
http://www.youtube.com/user/DarknessSavior

Chpexo

Quote from: DarknessSavior on September 25, 2013, 01:11:18 PM
You have? Do tell.

~DS
For clarity, it is for the original Chinese version, sorry for omitting that.

The text was hyper linked in my post but here is the link: http://www.mediafire.com/download/dji064kzj638cd5/Final_Fantasy_7_(19xx

Lugia2009

I personally wouldn't mind if someone was selling repro carts of this game, as long as the price was reasonable. It would save me the trouble of having to make it myself :).

I found this on my old computer.  I made this for when the project is completed:   


*Update* Progress slowed a little bit.  I'm mostly playing through seeing what I need to adjust. 

Just found a few things so far that need to be tweaked.  I'm also looking into adding an item shop to Shinra HQ. Shouldn't be too hard.


But while editing Palmer's battle sprite, I found out that there are 9 pointers, all pointing to the soldier enemy sprite.  I'm looking into adding optional boss fights into the game.  I may have enough event space and unused dialogue pointers to make it. (No promises though)

I remember triggering a boss fight against Nanjing when I was fidling with the boss events a while ago, He was using the SOLDIER sprite. 
From what I see, it looks like the names of extra bosses are:

Nanjing
Cloud
Barret
Tifa
Aeris
RedXIII
Cait Sith
and Cid

None of which are being used.

I just need to see if they all share the SOLDIER enemy stats, and to see if the Character names are linked to the names used by the actual characters in the menu and battle screens.

I'm already going through ideas of how the event for these fights will play out.

Spooniest

Quote from: Lugia2009 on September 25, 2013, 10:15:07 PM


Looks magnificent.

I noticed when playtesting that there is no percussion in the music. Is that something you're planning on adding later, or isn't there room for it?
Yamero~~!

Grillkick

If they're not implemented already, then I think the following would be perfect for some of the slots:

The optional Weapon bosses:

Ultima Weapon
Ruby Weapon
Emerald weapon


keithisgood

I'm getting 404'ed on those dropbox pics.

DarknessSavior

Quote from: Chpexo on September 25, 2013, 03:29:04 PM
For clarity, it is for the original Chinese version, sorry for omitting that.

The text was hyper linked in my post but here is the link: http://www.mediafire.com/download/dji064kzj638cd5/Final_Fantasy_7_(19xx
I was referring to the fact that you said you've seen pirate cartridges of romhacks.

~DS
Red Comet: :'( Poor DS. Nobody loves him like RC does. :'(
Sliver-X: LET ME INFRINGE UPON IT WITH MY MOUTH
DSRH - Currently working on: Demon's Blazon, Romancing SaGa, FFIV EasyType.
http://www.youtube.com/user/DarknessSavior

Mirby


Lugia2009


bradzx

Let you know I found bug graphic in battle in beginning of game.

Are you huge fan of Megaman Xtreme 2?   Then check this progress of Remastered version!

KingMike

He's aware.
Quote from: Lugia2009 on August 08, 2013, 02:48:36 PM
Also, I need to fix the enemy sprite colors.  And the bug with the enemy sprites that sometimes occurs is because of enemy parties that have 3 enemies.
"My watch says 30 chickens" Google, 2018

Tsukiyomaru0

Shame this game does not work on VirtualNES. Because FCEUX squeals like a dying pig when I use the SpeedUp key, and "Muting on Turbo" is not a great idea...

Celice

Quote from: Tsukiyomaru0 on September 28, 2013, 12:39:33 PM
Shame this game does not work on VirtualNES. Because FCEUX squeals like a dying pig when I use the SpeedUp key, and "Muting on Turbo" is not a great idea...
Speaking of this, has anyone tried running the game in a more accurate emulator, or on a PowerPak, even?

Spooniest

I mentioned this a minute ago, but it seems to have been overlooked. The music has no percussion...is this going to be added, or are the sound channels insufficient?

FF3 (nes) had a great kick drum sound...
Yamero~~!

KingMike

Quote from: Celice on September 28, 2013, 11:11:08 PM
Speaking of this, has anyone tried running the game in a more accurate emulator, or on a PowerPak, even?

The game is mapper 163. According to the PowerPak page, 163 is not supported.
"My watch says 30 chickens" Google, 2018

Lugia2009

@Spooniest

The music was tricky since the original game had such a large soundtrack. So I wanted to include as many songs as possible from the original game.  But there are space constrictions.  So songs had to be shortened. And for the most part, the Noise channel was removed.  Most songs only have Square 1, 2 and the Triangle channel.

It's a shame there is such limited space, but this game was made to hold only 8 songs.



@Grillkick

I like the idea of adding the weapon bosses into the game.  It would be cool if I can make a reward for beating them to be all materia fully upgraded and all spells learned.

There's also another idea for an optional boss fight I'm thinking of.



@bradzx

I fixed that, I went through and redid the enemy parties so the colors are correct, and no enemy group has more than 2 enemies.  So far, I haven't run into this bug again.


@Celice

Unfortunately, the power pak cannot handle a game of this size.  I believe the largest size it can handle is up to 1 mb.








Here's what I have about the extra bosses.



Boss 1 Nanjing (00)

*Can only be fought by itself, no other enemies can be grouped with it. 

(This is because 00 is used to limit the amount of enemies you fight. But when the first byte is set to 00, the game sees that as limiting the enemy party, so no other bytes will be read after the first 00. And yet, a boss fight is called anyway, against enemy 00).


*Placement of hand curser when selecting Nanjing as a target is out of place, and game freezes when you move the hand up and down.  But the hand curser for selecting a command works fine.

*Uses magic spell "Cure 3". He also tries to call another spell which glitches the game. (This was fixed)



The next applies to bosses 2-8 (01-07)

Boss 2 Cloud (01)
Boss 3 Barret(02)
Boss 4 Tifa (03)
Boss 5 Aeris(04)
Boss 6 RedXIII (05)
Boss 7 Cait Sith (06)
Boss 8 Cid (07)


*Uses SOLDIER boss sprite

*Can attack

*Enemy strength is very low.

*Game crashes when enemy calls a magic spell. (This was fixed)

*Names are linked to character names on Battle dialogue, but not on the battle menu.



Enemy Stat locations:

0x02c244-0x02c251:Nanjing

Overlaps Cloud boss settings.  There doesn't seem to be any pointer that can be adjusted to fix this.

0x02c244-0x02c251: Cloud

0x02c252-0x02c25f: Barret

0x02c260-0x02c26d: Tifa

0x02c26e-0x02c27b: Aeris

0x02c27c-0x02c289: RedXIII

0x02c28a-0x02c297: Cait Sith

0x02c298-0x02c2a5: Cid



Enemy attack patterns:


I'm not sure why these attack patterns are so far away from all other enemy patterns.

But they are located within the Armor Prices. I changed the location of the armor prices, now these will work without crashing the game.

Nanjing   0x02f38b-0x02f38e
Cloud     0x02f38f-0x02f392
Barret    0x02f393-0x02f396
Tifa      0x02f397-0x02f39a
Aeris     0x02f39b-0x02f39e
RedXIII   0x02f39f-0x02f3a2
Cait Sith 0x02f3a3-0x02f3a6
Cid       0x02f3a7-0x02f3aa

I'm really not sure why the attack patterns for these enemies are located away from the attack patterns of all the other enemies. I couldn't find any pointers that sent them here.






And here's what I know about setting the boss events for the game.


Settings for boss fights begin around 0x02c064

Here's how it breaks down:

I'll use the first SOLDIER battle as an example. (Located at 0x02c064)

00 01 00 00 08 08 00 00 03 03 00 00

The first byte controls the enemy layout on the screen, setting it to anything other than 00 or 01 crashes the game.

Bytes 2, 3, and 4 control who will be in the battle.  Setting them all to 00 will just have the current active party as the battle party.

01 = Cloud
02 = Barret
03 = Tifa
04 = Aeris
05 = RedXIII
06 = Cait Sith
07 = Cid
08+ = (Glitched)

Bytes 5, 6, 7, and 8 control the enemy(ies) fought. (If you want a battle against Nanjing (#00) Set all 4 bytes to 00. But only Nanjing can be fought, no other enemies will appear with Nanjing no matter what you set it to.)



Bytes 9, 10, 11, and 12 control the power of that enemy.







For the optional bosses, all that's left to do is to add their graphics in.

Steal some of the boss event spots (Or look into creating new ones).

And create ingame events and dialogue for the events.