+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  FFIVET ASM Assistance
Pages: 1 [2]
Author Topic: FFIVET ASM Assistance  (Read 2 times)
DarknessSavior
Guest
« Reply #15 on: January 07, 2008, 04:10:53 pm »

Quote from: Nightcrawler on January 07, 2008, 09:35:00 am
$227FE0? Umm.. that's not mapped to the cartridge. You can't use that. You didn't relocate anything to that location as nothing from your ROM file will be mapped there. Wink You can only use $228000 and above in that bank. Judging by the address you just posted, your game is LoROM and is mapped in 32K chunks from bank $00 onward at XX:8000.

Long story short, that's an invalid address. Try using Lunar Address to help out figuring out where your relocated data actually is.

Then, read a few mapper documents:

http://www.romhacking.net/docs/193/
http://www.romhacking.net/docs/173/

It will probably be a bit overwhelming at first. Especially Anomie's document. But you'll catch on after working with it.


I kinda thought there was something special about that address.

I know. I'm not actually writing anything there. The opcode is this:

Code:
LDA $227FE0, x

It's reliant on the X value, and everything else loads fine. It's just when X=0 (blank equipment spaces) that is the problem. So more than likely, if I were to change the location of the item list forward a bit, it would help me in this particular situation. I'll give that a shot; I kinda thought that would be the answer, but I wanted to see if there were any other solution first.

DMM, the first item slot IS blank. But don't forget that this routine loads backwards, not forwards. So if I were to put the location of the blank item slot in the LDA opcode, it wouldn't actually load my items. The strange thing is that $227FE0 is nowhere near where my items are stored. It's WAY ahead of where my items are (it's because of the ASL As increasing the X value, no doubt).

Thanks for the help, guys.

~DS
DaMarsMan
Guest
« Reply #16 on: January 07, 2008, 04:13:25 pm »

It doesn't load backwards....You are missing the point. Move your items up 32 bytes an change the value there to $228000....That's it.
DarknessSavior
Guest
« Reply #17 on: January 07, 2008, 04:21:30 pm »

Quote from: DaMarsMan on January 07, 2008, 04:13:25 pm
It doesn't load backwards....You are missing the point. Move your items up 32 bytes an change the value there to $228000....That's it.

Yeah, that's right. It's not really backwards, but it's moving from 22FFxx to 2280xx. I forgot. I blame it on lack of sleep due to this being the first day of my new semester.

Thanks again. ^_^

Next step: That pesky linebreak.

~DS
JCE3000GT
Guest
« Reply #18 on: January 07, 2008, 07:24:42 pm »

Quote from: DarknessSavior on January 03, 2008, 01:54:03 pm
I've been working on the physical limitations that FFIVET presents as far as Equipment display goes. I upped the fixed length limit from 8 to 10 (and I eventually want to throw a linebreak in there, raising it to 20, but that's not what I need help with).

I'm working with FF2us' menus--as you may or may not know--and I've come across a problem.  I want to do 20-24 digit item names and make a single item column like FF3us has.  Think you could point me in the right direction?  I'm also having issues with the colon and item amount placement.  I found the colon PRINTING code but not the actual positions.  Oh, and my items don't seem to be off any in terms of the index.  Do you need my code?

Oh, and here's a quick screenshot of my menus. 

Lenophis
Guest
« Reply #19 on: January 07, 2008, 09:58:58 pm »

Quote from: JCE3000GT on January 07, 2008, 07:24:42 pm
I'm also having issues with the colon and item amount placement.  I found the colon PRINTING code but not the actual positions.
I already told you the colon positioning.

Code:
$01/A20A C2 20       REP #$20                A:FF04 X:0C23 Y:0060 D:0100 DB:7E S:02EB P:envMxdIzCHC:0696 VC:021 00 FL:07
$01/A20C 98          TYA                     A:FF04 X:0C23 Y:0060 D:0100 DB:7E S:02EB P:envmxdIzCHC:0718 VC:021 00 FL:07
$01/A20D 18          CLC                     A:0060 X:0C23 Y:0060 D:0100 DB:7E S:02EB P:envmxdIzCHC:0732 VC:021 00 FL:07
$01/A20E 69 52 00    ADC #$0052              A:0060 X:0C23 Y:0060 D:0100 DB:7E S:02EB P:envmxdIzcHC:0746 VC:021 00 FL:07
$01/A211 A8          TAY                     A:00B2 X:0C23 Y:0060 D:0100 DB:7E S:02EB P:envmxdIzcHC:0770 VC:021 00 FL:07
$01/A212 E2 20       SEP #$20                A:00B2 X:0C23 Y:00B2 D:0100 DB:7E S:02EB P:envmxdIzcHC:0784 VC:021 00 FL:07
$01/A214 B2 5A       LDA ($5A)  [$7E:1442]   A:00B2 X:0C23 Y:00B2 D:0100 DB:7E S:02EB P:envMxdIzcHC:0822 VC:021 00 FL:07
$01/A216 C9 FE       CMP #$FE                A:00EE X:0C23 Y:00B2 D:0100 DB:7E S:02EB P:eNvMxdIzcHC:0862 VC:021 00 FL:07
$01/A218 F0 1A       BEQ $1A    [$A234]      A:00EE X:0C23 Y:00B2 D:0100 DB:7E S:02EB P:eNvMxdIzcHC:0878 VC:021 00 FL:07
$01/A21A A9 C8       LDA #$C8                A:00EE X:0C23 Y:00B2 D:0100 DB:7E S:02EB P:eNvMxdIzcHC:0894 VC:021 00 FL:07
$01/A21C 91 29       STA ($29),y[$7E:B6B2]   A:00C8 X:0C23 Y:00B2 D:0100 DB:7E S:02EB P:eNvMxdIzcHC:0926 VC:021 00 FL:07
$01/A21E C8          INY                     A:00C8 X:0C23 Y:00B2 D:0100 DB:7E S:02EB P:eNvMxdIzcHC:0966 VC:021 00 FL:07
$01/A21F A5 DB       LDA $DB    [$00:01DB]   A:00C8 X:0C23 Y:00B3 D:0100 DB:7E S:02EB P:envMxdIzcHC:0980 VC:021 00 FL:07
$01/A221 91 29       STA ($29),y[$7E:B6B3]   A:0004 X:0C23 Y:00B3 D:0100 DB:7E S:02EB P:envMxdIzcHC:1020 VC:021 00 FL:07
$01/A223 C8          INY                     A:0004 X:0C23 Y:00B3 D:0100 DB:7E S:02EB P:envMxdIzcHC:1060 VC:021 00 FL:07
$01/A224 A5 5C       LDA $5C    [$00:015C]   A:0004 X:0C23 Y:00B4 D:0100 DB:7E S:02EB P:envMxdIzcHC:1074 VC:021 00 FL:07
$01/A226 5A          PHY                     A:0001 X:0C23 Y:00B4 D:0100 DB:7E S:02EB P:envMxdIzcHC:1098 VC:021 00 FL:07
$01/A227 20 69 83    JSR $8369  [$01:8369]   A:0001 X:0C23 Y:00B4 D:0100 DB:7E S:02E9 P:envMxdIzcHC:1128 VC:021 00 FL:07
It's the ADC #$0052. If it's higher (in increments of 2), it moves to the right, and if it's lower (in decrements of 2), it moves to the left. For initial position, I'd have to say it's relative to the item name. Tongue
JCE3000GT
Guest
« Reply #20 on: January 08, 2008, 05:57:02 am »

Quote from: Lenophis on January 07, 2008, 09:58:58 pm
Quote from: JCE3000GT on January 07, 2008, 07:24:42 pm
I'm also having issues with the colon and item amount placement.  I found the colon PRINTING code but not the actual positions.
I already told you the colon positioning.

Code:
$01/A20A C2 20       REP #$20                A:FF04 X:0C23 Y:0060 D:0100 DB:7E S:02EB P:envMxdIzCHC:0696 VC:021 00 FL:07
$01/A20C 98          TYA                     A:FF04 X:0C23 Y:0060 D:0100 DB:7E S:02EB P:envmxdIzCHC:0718 VC:021 00 FL:07
$01/A20D 18          CLC                     A:0060 X:0C23 Y:0060 D:0100 DB:7E S:02EB P:envmxdIzCHC:0732 VC:021 00 FL:07
$01/A20E 69 52 00    ADC #$0052              A:0060 X:0C23 Y:0060 D:0100 DB:7E S:02EB P:envmxdIzcHC:0746 VC:021 00 FL:07
$01/A211 A8          TAY                     A:00B2 X:0C23 Y:0060 D:0100 DB:7E S:02EB P:envmxdIzcHC:0770 VC:021 00 FL:07
$01/A212 E2 20       SEP #$20                A:00B2 X:0C23 Y:00B2 D:0100 DB:7E S:02EB P:envmxdIzcHC:0784 VC:021 00 FL:07
$01/A214 B2 5A       LDA ($5A)  [$7E:1442]   A:00B2 X:0C23 Y:00B2 D:0100 DB:7E S:02EB P:envMxdIzcHC:0822 VC:021 00 FL:07
$01/A216 C9 FE       CMP #$FE                A:00EE X:0C23 Y:00B2 D:0100 DB:7E S:02EB P:eNvMxdIzcHC:0862 VC:021 00 FL:07
$01/A218 F0 1A       BEQ $1A    [$A234]      A:00EE X:0C23 Y:00B2 D:0100 DB:7E S:02EB P:eNvMxdIzcHC:0878 VC:021 00 FL:07
$01/A21A A9 C8       LDA #$C8                A:00EE X:0C23 Y:00B2 D:0100 DB:7E S:02EB P:eNvMxdIzcHC:0894 VC:021 00 FL:07
$01/A21C 91 29       STA ($29),y[$7E:B6B2]   A:00C8 X:0C23 Y:00B2 D:0100 DB:7E S:02EB P:eNvMxdIzcHC:0926 VC:021 00 FL:07
$01/A21E C8          INY                     A:00C8 X:0C23 Y:00B2 D:0100 DB:7E S:02EB P:eNvMxdIzcHC:0966 VC:021 00 FL:07
$01/A21F A5 DB       LDA $DB    [$00:01DB]   A:00C8 X:0C23 Y:00B3 D:0100 DB:7E S:02EB P:envMxdIzcHC:0980 VC:021 00 FL:07
$01/A221 91 29       STA ($29),y[$7E:B6B3]   A:0004 X:0C23 Y:00B3 D:0100 DB:7E S:02EB P:envMxdIzcHC:1020 VC:021 00 FL:07
$01/A223 C8          INY                     A:0004 X:0C23 Y:00B3 D:0100 DB:7E S:02EB P:envMxdIzcHC:1060 VC:021 00 FL:07
$01/A224 A5 5C       LDA $5C    [$00:015C]   A:0004 X:0C23 Y:00B4 D:0100 DB:7E S:02EB P:envMxdIzcHC:1074 VC:021 00 FL:07
$01/A226 5A          PHY                     A:0001 X:0C23 Y:00B4 D:0100 DB:7E S:02EB P:envMxdIzcHC:1098 VC:021 00 FL:07
$01/A227 20 69 83    JSR $8369  [$01:8369]   A:0001 X:0C23 Y:00B4 D:0100 DB:7E S:02E9 P:envMxdIzcHC:1128 VC:021 00 FL:07
It's the ADC #$0052. If it's higher (in increments of 2), it moves to the right, and if it's lower (in decrements of 2), it moves to the left. For initial position, I'd have to say it's relative to the item name. Tongue

Heh, I completely forgot.   Cheesy
Gemini
Guest
« Reply #21 on: January 08, 2008, 08:57:36 am »

A small suggestion about windows: don't ever make them use full screen width/height. Leave a 8 pixel border on the left and right sides (not sure about up and down), since the tv is going to display the borders out of the screen (notice how many Snes games enable the BG/OAM Windows just to mask that area).
DarknessSavior
Guest
« Reply #22 on: January 08, 2008, 12:55:57 pm »

Wow. I really like that font. I notice you increased the item length to 12, instead of 10. I chose to leave it at 10 because I was afraid of the issues Gemini is referring to. Plus, I plan on throwing a linebreak in that section so that I'll have 20 characters per item anyway.

As far as the item screen goes, I haven't done anything with mine yet. I think I may leave it two items per line, but use the linebreak code there too, so I'll have 16 letters per item on the item screen, maybe more if I can mess with where it places items.

I fixed the items list. It wasn't $20 forward, though, it was $40. But now everything works, and I have a screenshot to prove it:



It becomes obvious at this point that I still have some work to do within that menu. But I still have work to do in ALL the menus. I'll get to it eventually.

~DS
JCE3000GT
Guest
« Reply #23 on: January 08, 2008, 04:43:21 pm »

Quote from: DarknessSavior on January 08, 2008, 12:55:57 pm
Wow. I really like that font. I notice you increased the item length to 12, instead of 10. I chose to leave it at 10 because I was afraid of the issues Gemini is referring to. Plus, I plan on throwing a linebreak in that section so that I'll have 20 characters per item anyway.

As far as the item screen goes, I haven't done anything with mine yet. I think I may leave it two items per line, but use the linebreak code there too, so I'll have 16 letters per item on the item screen, maybe more if I can mess with where it places items.

I fixed the items list. It wasn't $20 forward, though, it was $40. But now everything works, and I have a screenshot to prove it:



Thanks for the font compliments, I forgot where I got it.  Anyway, I'll be looking forward to seeing your progress as I'm also doing menus.  They are a pain in the ass as you already know.   Oh, and we'd appreciate your contributions to this forum: http://slickproductions.org/forum/index.php?board=13.0.  And by we I mean those of us who love all things FF4.  Dragonsbtrethren and I are going to put up an FF4 wiki here soon with everything we have accumulated for all of the FF4 versions.  We need as many partisipants as possible. 
DarknessSavior
Guest
« Reply #24 on: January 09, 2008, 08:20:05 am »

I'll be more than happy to contribute my notes. I don't have a ton right now, but as I progress through the various hacks I plan on doing, I'll get more.

Actually, unless you're using GG codes, looks like you already know more about the items than I do. Then again, I haven't bothered to try to hack the inventory yet, since I don't see a need to until I get something worth playing. Half of my hack is still in Japanese.

~DS
Pages: 1 [2]  


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