+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  Quick FF6 Question
Pages: [1] 2
Author Topic: Quick FF6 Question  (Read 2 times)
Zeemis
Guest
« on: December 13, 2008, 07:54:19 pm »

In my hack, I'm *hoping* to incorporate a "Limit Break" ability.
I'd like it to be similar to FF7's Limit Break.


There is a Limit Break ... sort of, in FF6 but it's so hard to pull off that it's useless.
Get your HP real low and get extremely lucky or something.
FinalMinuet
Guest
« Reply #1 on: December 14, 2008, 01:23:56 pm »

You forgot your question, unless it was implied that you wanted help in locating the HP and chance values needed to modify the limit to your liking.
Zeemis
Guest
« Reply #2 on: December 14, 2008, 10:14:56 pm »

The questing is "Is it possible to have a Limit Gauge for Limit Breaks in FF6 that works similar to FF6's Limit Gauge?"




Also, a little side question.
I've been *trying* to follow this tutorial about how to add a title screen into my rom hack and I've had little luck.
http://www.romhacking.net/docs/282/

I didn't understand part of the ASM part.
He talks about opening the rom with "Snes9X1.43.ep9r8.exe" so that I can get some values or something which I think I did.

I got a working title screen made with The Gimp which I converted later with Gif2Sopt.exe



I'm trying to learn but understanding what he's saying is a bit difficult, he talks about putting things "here" and "there'.
He's vague in my opinion so if anyone can help me understand, I'd be much obliged.
Deathlike2
Guest
« Reply #3 on: December 14, 2008, 10:32:32 pm »

Quote from: Zeemis on December 14, 2008, 10:14:56 pm
The questing is "Is it possible to have a Limit Gauge for Limit Breaks in FF6 that works similar to FF6's Limit Gauge?"

You mean FF7, yes? You would have to write a specific routine for that for every character to be stored in their save data... and you would have to modify said data in the battle routines... that sounds like a major change.
Moulinoski
Guest
« Reply #4 on: December 14, 2008, 10:45:49 pm »

Actually, Lenophis and Dragonsbrethen might know something about this, since they're working on Pandora's Box (The FF6 Hack). I'd mention any other people on the team but I'm not sure who they are... :/
Dragonsbrethren
Guest
« Reply #5 on: December 14, 2008, 11:59:46 pm »

I wouldn't know a thing about it, working with the code isn't my specialty.

Quote from: Zeemis on December 14, 2008, 10:14:56 pm
I'm trying to learn but understanding what he's saying is a bit difficult, he talks about putting things "here" and "there'.
He's vague in my opinion so if anyone can help me understand, I'd be much obliged.

What exactly are you having a hard time with?
Zeemis
Guest
« Reply #6 on: December 15, 2008, 01:52:39 am »

-Edit-
At first, it wasn't working at all... primarily because the original .png that was used to make the .gif which later was converted to snes data was over ... 6000 colors so I re-edited the original .png to have only 256 colors. It looked fine and it works in the rom it self although, it shows the title screen, then darkens and freezes.

I believe it is because of the resolution of the image it self. I'm following what this tutorial here says about SNES games and title screens"
Quote
It should be a 256x256 GIF in order
to be used.  But if your game blanks the bottom or side row of the title
screen (eg the Final Fantasy games), you may need to make it 248x248 pixels.

I originally had it like 256x224 because that's the output resolution of ZSnes screenshots. I then listened to what he suggested for 256x256 and that was just to large, and then I tried 248x248 and that just froze on me after it started darkening/fading out after press A, all of the times I've tried ended up freezing on me.




---------------
Well, Lenophis was helping me with the ASM part although if you look towards the bottom of this page:
http://xabylon.net/IntroHTML/intro.htm

Look down towards the "Debug Window" part where he talks about instructions. This is where I'm currently stuck.
I have no idea at all what he's talking about. :S
I opened the Rom with the Snes9X Debugger that he suggested and it showed this:
http://www.myimg.us/images/12.15.08/6761.png

I tried a lot of different things but I just don't understand what his instructions are saying.. :/

Here is the ASM code that Lenophis sent me.


Code:
hirom
header

;graphics start at 308000



;variable locations

!CodeOffset = $F10000

!SetBank = #$F2
!SetBank2 = #$F2 ;should always be 1 more than SetBank1 (not sure if it's same with HiRom)
!SetOffset = #$0000
!SetOffset2 = #$8000

!MapBank = #$F4
!MapOffset = #$0000

!ColBank = #$F5
!ColOffset = #$0000

;includes for intro
org $F20000
incbin introfiles/intro.set

org $F40000
incbin introfiles/intro.map

org $F50000
incbin introfiles/intro.col


;start of rom position, should be 00:FF00 if it's HiRom (use LunarAdress to tell which it is)
org $C00019
JMP !CodeOffset
NOP

;start initialization
org !CodeOffset
SEI
CLC
XCE
SEP #$30
PHB
LDA #$00
PHA
PLB
LDA #$80
STA $2100
LDA #$00
STA $2101
STA $2102
STA $2103
STA $2105
STA $2106
STA $2107
STA $2108
STA $2109
STA $210A
STA $210B
STA $210C
STA $210D
STA $210D
STA $210E
STA $210E
STA $210F
STA $210F
STA $2110
STA $2110
STA $2111
STA $2111
STA $2112
STA $2112
STA $2113
STA $2113
STA $2114
STA $2114

LDA #$80
STA $2115
LDA #$00
STA $2116
STA $2117
STA $211A
STA $211B
LDA #$01
STA $211B
LDA #$00
STA $211C
STA $211C
STA $211D
STA $211D
STA $211E
LDA #$01
STA $211E
LDA #$00
STA $211F
STA $211F
STA $2120
STA $2120
STA $2121
STA $2123
STA $2124
STA $2125
STA $2126
STA $2127
STA $2128
STA $2129
STA $212A
STA $212B
LDA #$01
STA $212C
LDA #$00
STA $212D
STA $212E
STA $212F
LDA #$30
STA $2130
LDA #$00
STA $2131
LDA #$E0
STA $2132
LDA #$00
STA $2133
LDA #$01 ;auto read joypads
;LDA #$81
STA $4200
LDA #$FF
STA $4201
LDA #$00
STA $4202
STA $4203
STA $4204
STA $4205
STA $4206
STA $4207
STA $4208
STA $4209
STA $420A
STA $420B
STA $420C
STA $420D
REP #$30
SEP #$20
LDA #$03
STA $2105
LDA #$01
STA $212C
LDA #$00
STA $2107
LDA #$01
STA $210B
;JSR $2201
JSR Jump1

;DMA color stuff
LDX #$8000
STX $2116
LDX #$1801
STX $4300
LDX !MapOffset
STX $4302
LDA !MapBank
STA $4304
LDX #$0C00
STX $4305
LDA #$01
STA $420B
LDA #$00
STA $2121
LDX #$2200
STX $4300
LDX !ColOffset
STX $4302
LDA !ColBank
STA $4304
LDX #$0200 ;512 colors
STX $4305
LDA #$01
STA $420B
JSR Jump1


;dma data information for set
;copy first half #$8000
LDX #$1000
STX $2116
LDX #$1801
STX $4300
LDX !SetOffset
STX $4302
LDA !SetBank
STA $4304
LDX #$8000 ;dma transfer size
STX $4305
LDA #$01
STA $420B
JSR Jump1

;dma data information
;copy bottom half #$6000 in size
LDX !SetOffset2
STX $4302
LDA !SetBank2
STA $4304
LDX #$6000
STX $4305
LDA #$01
STA $420B
Jump9:
STA $2100
INA
JSR Jump2

CMP #$10
BCC Jump9

FadeRoutine()
{
CLI
LDX #$0030

Jump3:
SEP #$20
LDY #$FFFF

Jump4:
DEY
BNE Jump4

Jump5:
;LDA $4210
LDA $4212
AND #$80
BEQ Jump5

Jump6:
LDA $4212 ;check vblank
AND #$01
BNE Jump6

REP #$20
LDA $4218
AND #$F0F0 ;check for A, B, X, Y, L, R, start, and select
BNE Jump7
DEX

;Get key press or not
;BNE Jump3 ;don't wait for keypress
BRA Jump3 ;wait for keypress

Jump7:
SEP #$20
LDA $4210
AND #$80
BEQ Jump7
LDA #$0F

Jump10:
STA $2100
DEC A
PHA
JSR Jump2
}



PLA
CMP #$00
BNE Jump10


LDX #$0000

;old code from beginning of unchanged rom
CLC
XCE
SEI
REP #$10
JMP.l $008005 ;jump to fifth instruction



Jump1:
PHA
Jump11:
LDA $4210
AND #$80
BEQ Jump11
PLA
RTS


Jump2:
LDY #$FFFF
Jump8:
DEY
BNE Jump8
RTS



vblank:
pha
php
sep #$20


; lda #$81 ; enable temp NMI
; sta.l $4200

Vloop:
lda.l $4210
and #$80
beq Vloop

; lda #$01 ; disable again
; sta.l $4200

plp
pla
rts




One last very tiny question.
Lets say I worked very hard on this hack and put a lot of new content into it, new monsters, etc.
If I removed the header, could that keep people from trying to steal my work for there own?

I know you can't open a headerless rom in FF3usME (and other editors) so that *could* be considered as encrypting the rom with a password, technically.
Right?

Would removing the header really hurt the rom?
« Last Edit: December 15, 2008, 04:33:47 pm by Zeemis »
Zeemis
Guest
« Reply #7 on: December 15, 2008, 10:38:03 pm »

So Dragonsbrethren, what do you think?
Aerdan
Guest
« Reply #8 on: December 15, 2008, 10:51:17 pm »

Please don't double-post.
Deathlike2
Guest
« Reply #9 on: December 15, 2008, 10:59:27 pm »

Quote from: Zeemis on December 15, 2008, 01:52:39 am
One last very tiny question.
Lets say I worked very hard on this hack and put a lot of new content into it, new monsters, etc.
If I removed the header, could that keep people from trying to steal my work for there own?

The header is effectively irrelevent to an emulator, let alone the game. It only matters when you're patching because IPS patching relies on offsets (by 0x200 or 512 bytes)... and that moves everything out of whack when you are figuring out if an IPS patch is working or not (a patch designed for a headerless ROM will not work correctly on a headered ROM, and the reverse is also true).

Quote
I know you can't open a headerless rom in FF3usME (and other editors) so that *could* be considered as encrypting the rom with a password, technically.
Right?

Would removing the header really hurt the rom?

Absolutely not. You're just making it difficult for yourself by doing so.
Zeemis
Guest
« Reply #10 on: December 16, 2008, 06:03:38 pm »

Still trying to fix the title screen issue although I have another quick question.
I'm making it so only certain characters can cast certain spells.
ie, Terra will be the only black mage on the team, and other characters will be white and time mages and eventually a Summoner.

My question is, is it possible to have all the Spells list up at the top?
In-game under "Config" in the second menu, you see Magic Order.
This lists the order of the magic, obviously.
I'd like all the magic spells to list as the top, since not all characters will be able to cast the same spells now.
As of right now, I've disabled certain spells of certain characters making the player have to scroll all the way down to where the magic spell order of that spell is.
Deathlike2
Guest
« Reply #11 on: December 16, 2008, 06:48:07 pm »

You'd have to rewrite the routines for displaying those spells...

IIRC, in battle, spells are moved up to the top to an extent, but again, you will have to rewrite those routines as well.
Zeemis
Guest
« Reply #12 on: December 16, 2008, 07:02:06 pm »

Do you have any particular tutorial you'd suggest so that I can start rewriting the routines?

----------------------

Also, I want to make it so you learn spells from bosses like you did with Flare and Holy from FF5.
http://www.youtube.com/watch?v=j78rrc4nkbQ

You can get espers in this way I believe, atleast for Bahamut.
http://www.youtube.com/watch?v=Nm_YkJPCReI
« Last Edit: December 16, 2008, 09:10:15 pm by Zeemis »
Dragonsbrethren
Guest
« Reply #13 on: December 16, 2008, 11:36:54 pm »

Quote from: Zeemis on December 16, 2008, 07:02:06 pm
Do you have any particular tutorial you'd suggest so that I can start rewriting the routines?

No offense, but if you're struggling with the SNES intro tutorial, you're not going to be able to rewrite any routines anytime soon. Read up on 65816 assembly, then grab the C3 disassembly and go nuts. If you're lucky this stuff is already documented in there, though I don't think anyone's touched it yet.

Quote from: Zeemis on December 16, 2008, 07:02:06 pm
Also, I want to make it so you learn spells from bosses like you did with Flare and Holy from FF5.

FF5 doesn't teach you a spell in battle, it's clearly an event after the battle. While FF6 still contains a "Learned <Magic_Name>" string, I don't think the engine supports teaching magic via events out of the box.

Edit: I originally read your post as "from battles."
« Last Edit: December 16, 2008, 11:55:55 pm by Dragonsbrethren »
Zeemis
Guest
« Reply #14 on: December 17, 2008, 01:30:38 am »

Alright, I understand.

What about the title screen issue, I can't seem to fix the issue where it darkens and then freezes.
My custom title screen (or rather intro) loads up fine, but after you press A, it freezes.
Pages: [1] 2  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC