(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
05-05-24 06:09 AM
0 users currently in ROM Hacking.
Acmlm's Board - I3 Archive - ROM Hacking - FF1 Class Change New poll | |
Add to favorites | Next newer thread | Next older thread
User Post
Remi
Newcomer


 





Since: 09-07-06

Last post: 6429 days
Last view: 6429 days
Posted on 09-13-06 11:49 PM Link | Quote
This is my first post so...hi all. I've played with rom hacking off and on for awhile now, and now that I have more free time I've been trying to get more serious with it. This is the result of my learning. I've changed Final Fantasy 1 so that you can change Jobs at anytime. Now when you talk to Bahamut the person in slot 1 will advance to the next job and unequip. I put Bahamut in the first town so you can check it out without having to go though half the game. I'm going to try to upgrade a few different things, like adding save points & making Int. have an effect on magic. Any help, ideas, or criticism are welcome!

P.S. I forgot my notebook with all my work in it so I'll post tomorrow with the exact code. But if you set a break point for $602D (the Rat Tail) it will take you to $9405 which is the start of the code. $95AE is the actual upgrade however.

-----Edit----- Please download the ips from my next post to get the verison without the palette cycling effect. It really makes it a better hack. Thank you.

Attachments

FF1ClassChangeMod.ips (392b) - views: 24



(edited by Remi on 09-16-06 02:32 AM)
Griff Morivan

190








Since: 06-10-06
From: St. Petersburg, Florida.

Last post: 6291 days
Last view: 6286 days
Posted on 09-14-06 03:36 AM Link | Quote
Wow. I am pretty impressed with that. And here I don't even understand how to change the opening to the fleebing game.
The Onyx Dragoon

150








Since: 11-17-05
From: Somewhere between Mars and Jupiter, Sitting on an Asteroid

Last post: 6289 days
Last view: 6287 days
Posted on 09-14-06 04:50 PM Link | Quote
Very nicely done, Remi. Hopefully I can get serious someday soon too. Life's so busy and short at the same time.

Now...I guess one more thing you could do is to get rid of the pallet cycle that flashes. It'll take less time to complete the class change if you do that. Here's a quote from Disch from an older thread.


"One I just remembered that's pretty common:


Q: Whenever you enter a shop or go in the main menu, the game flashes different colors on the screen for about a minute. It didn't do this before, why did it start now... and how do you fix it?


A: This happens when you change the background color on maps. Anything but standard black ($0F) or maybe a few other darker colors cause this side-effect to occur. To fix, you can either revert all the background colors to normal, or you can apply this hack which removes the palette cycling effect completely:

- Change $3D96B from $C0 to $A0
- Change $3D972 from $20 $18 $D9 to $EA $EA $EA"


I already tested this to make sure it works, and it does.


(edited by The Onyx Dragoon on 09-14-06 03:53 PM)
Gavin

Cheep-cheep
Vandalism is not tolerated


 





Since: 11-17-05
From: IL, USA

Last post: 6362 days
Last view: 6305 days
Posted on 09-14-06 09:48 PM Link | Quote
Nice work, an interesting hack!
dormento

Red Goomba


 





Since: 11-18-05

Last post: 6438 days
Last view: 6285 days
Posted on 09-16-06 02:10 AM Link | Quote
Holy crap! That's the exact same hack i've done for some peeps on Gamefaqs sometime ago! I can post the source code to mine later, if anyone is interested.
Good to see people are getting the hang of asm. Good Job!
The Onyx Dragoon

150








Since: 11-17-05
From: Somewhere between Mars and Jupiter, Sitting on an Asteroid

Last post: 6289 days
Last view: 6287 days
Posted on 09-16-06 02:12 AM Link | Quote
Sure, I'm interested, dormento. (...if Remi doesn't mind...)


(edited by The Onyx Dragoon on 09-16-06 01:12 AM)
Remi
Newcomer


 





Since: 09-07-06

Last post: 6429 days
Last view: 6429 days
Posted on 09-16-06 03:12 AM Link | Quote
Thanks for all the good input guys! I'm sorry I still forgot to bring my notebook with my asm work, so I can't post the source yet ; ; But on the good side I got engaged to my girlfriend tonight ^.^. We live in Pittsburgh, PA so I asked at Mt. Washington, YAY!!!!! But anyway...
The Onyx Dragoon - Thank You, for finding that infomation for me, that will save tons of time with the nature of this hack. Just wondering does take out all of the palette cycling though out the game? If so that will open up ~ 45 bytes in the main bank. That will make me VERY happy.
dormento - I think I remember hearing about you working on this a while ago. If you are the person that I am thinking of, you inspiried me to make this hack. *Remi bows to his hero* BTW I would love to compare source code with you.
P.S. I don't know how to edit attachments so I just put the new ips without palette cycling here.

Attachments

FF1ClassChange.ips (407b) - views: 22
The Onyx Dragoon

150








Since: 11-17-05
From: Somewhere between Mars and Jupiter, Sitting on an Asteroid

Last post: 6289 days
Last view: 6287 days
Posted on 09-16-06 02:10 PM Link | Quote
Basically...whenever you go to/leave a building/town/status menu, changing those bytes will "remove the palette cycling effect completely". I'm not sure if this leads to the freeing up of bytes as you said, but...trial and error, I guess. Keep a backup at all times .

Oh, and congrats on the engagement.
dormento

Red Goomba


 





Since: 11-18-05

Last post: 6438 days
Last view: 6285 days
Posted on 09-16-06 03:02 PM Link | Quote
Originally posted by The Onyx Dragoon
Sure, I'm interested, dormento. (...if Remi doesn't mind...)

Why would he?

And thanks Remi
Gonna post it either today night, or tomorrow. I also did a quick and dirty B-button dash hack (like in the remakes). Gonna post the source too.
If I recall correctly, I posted it in the old "Final Fantasy Rom-Hacking Thread" in the old boards.

EDIT:


Was going to post an attachment, but apparently double-posting is strictly enforced in these forums. Gonna post the zip with IPS patch + ASM source later.

IIRC I did this for Grond's wonderfully sweet "Final Fantasy++". Gonna find the class change source code later
For those that want just the source, here it is. Assemble with X816.

[code]
; B button dash, just like the WSC, PSX & GBA versions
; uses the space freed by the annoying noise played when a dialog box opens
; who would've thought that annoying noise would come to be usefull?
; Much thanks Gavin (gavin.panicus.org) for locating that particular routine.
; you need to kill all jumps to $D6C7 in the code, save for one. Or else, every
; time you open a dialog box, you will walk one step in the direction you're
; facing (cause this routine gets called).


; MAX SIZE 21 bytes
.org $D6C7 ;assemble code to run at this (CPU) address
.mem 8 ;setup accumulator and index regs for NES code
.index 8

LDA $20
AND #%01000000
BNE bdash ;branches with 2 bytes only (1 byte address)=good!
LDA #$01
STA $34
RTS
bdash:
LDA #$02
STA $34
RTS


[/code]

EDIT: are there CODE tags? Or a way to display text in fixed width?



(edited by dormento on 09-16-06 02:10 PM)
(edited by dormento on 09-16-06 02:13 PM)
Remi
Newcomer


 





Since: 09-07-06

Last post: 6429 days
Last view: 6429 days
Posted on 09-18-06 06:25 PM Link | Quote
Here is my source code, sorry it took so long to post this, I didn't even think that I could just copy it from the debugger. /slap Remi. Hope this code can help someone to understand the game/NES ASM better. Enjoy! Also I use the term Job and Class interchangeably. P.S. I have the code worked out for the save points so I'm going to try to finish it up in the next few days. I hope my comments are helpful and good enough to follow my code.

$9405:AE 00 61 LDX $6100 = #$00_Load the Job for Slot 1
$9408:E8 INX ________________Add 1 to the Job in Slot 1
$9409:E0 0C CPX #$0C_______Compare to 12, past last Job. Change for less jobs
$940B: D0 02 BNE $940F_______If not past the last Job branch +
$940D:A2 00 LDX #$00_________If past last Job loop back to 0
$940F:8E 00 61 STX $6100 = #$00 _Save the Job +
$9412:20 7F 90 JSR $907F_______Jump to Bahamut event control Sub-Routine
$9415:20 AE 95 JSR $95AE_______Unequip Sub-Routine
$9418:E6 56 INC $56 = #$01_____This triggers the class change
$941A:60 RTS__________________Done with class change

$907F:B9 00 62 LDA $6200,Y @ $620E = #$01_Controls Bahamut's events
$9082:29 01 AND #$01_I used AND to keep Bahamut on the class change event
$9084:99 00 62 STA $6200,Y @ $620E = #$01_Store which event Bahamut is on
$9087:60 RTS____________________________Done with Bahamut

$95AE:A2 09 LDX #$09 ___________________Loop 8 time for unequip
$95B0:CA DEX___________________________Next Weapon/Armor Slot ++
$95B1:BD 18 61 LDA $6118,X @ $6118 = #$00__Load the current item
$95B4:29 7F AND #$7F______________________Drop the high byte to unequip
$95B6:9D 18 61 STA $6118,X @ $6118 = #$00___Store the unequiped item
$95B9:E0 00 CPX #$00_____________________Compare to the last slot
$95BB: D0 F3 BNE $95B0___________________If not the last slot then branch ++
$95BD:E6 7D INC $7D = #$FF_______________Not sure what this does
$95BF:A5 12 LDA $12 = #$00_______________Not sure what this does
$95C1:60 RTS______________________________Done with Unequip code
$95C2:EA NOP
......These bytes in between here are all EA: NOP (free space)
$95D4:EA NOP
dormento

Red Goomba


 





Since: 11-18-05

Last post: 6438 days
Last view: 6285 days
Posted on 09-18-06 09:55 PM Link | Quote
My code is very similar, except it compares class to 5+ and branches. The classes >5 gfx glitches on the starting screen, and their stats are shared with their 0..5 counterparts (eg. Fighter = Knight).

I also worked a kind of recovery + revival spring which can be placed in dungeons. Gonna see if i can find the source, as soon as I get home.
subanark
Newcomer


 





Since: 08-10-06

Last post: 6304 days
Last view: 6304 days
Posted on 09-19-06 02:39 AM Link | Quote
Wouldn't this hack allow someone to go from black wizard to red wizard, but keep all the spells that are forbidden to a red wizard?
Griff Morivan

190








Since: 06-10-06
From: St. Petersburg, Florida.

Last post: 6291 days
Last view: 6286 days
Posted on 09-19-06 02:45 AM Link | Quote
Ah. That is a substantial question. Would this be a problem?
HyperHacker

Star Mario
Finally being paid to code in VB! If only I still enjoyed that. <_<
Wii #7182 6487 4198 1828


 





Since: 11-18-05
From: Canada, w00t!
My computer's specs, if anyone gives a damn.
STOP TRUNCATING THIS >8^(

Last post: 6286 days
Last view: 6286 days
Posted on 09-19-06 03:39 AM Link | Quote
Makes sense to me. They learned those spells, no reason they should suddenly forget them.
The Onyx Dragoon

150








Since: 11-17-05
From: Somewhere between Mars and Jupiter, Sitting on an Asteroid

Last post: 6289 days
Last view: 6287 days
Posted on 09-19-06 07:11 AM Link | Quote
When I started off as a white wizard, I bought cure, changed to a black belt and was still able to use it. I don't think this hack's ready to be incorporated into something of a larger scale yet, but it's still neat.

...Perhaps someone could work on adding a gil fee to every time the change is used?


(edited by The Onyx Dragoon on 09-19-06 06:13 AM)
Griff Morivan

190








Since: 06-10-06
From: St. Petersburg, Florida.

Last post: 6291 days
Last view: 6286 days
Posted on 09-19-06 10:17 AM Link | Quote
Originally posted by The Onyx Dragoon
...Perhaps someone could work on adding a gil fee to every time the change is used?
Actually... I really fleebing like that. Someone needs to try and code that, cause that would be outstanding for most hacks to be able to class change. Or if we moved the dragons around and made it so they all could do Bahamut's thing.
Add to favorites | Next newer thread | Next older thread
Acmlm's Board - I3 Archive - ROM Hacking - FF1 Class Change |


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.020 seconds; used 424.38 kB (max 537.48 kB)