Users browsing this thread: 1 Guest(s)
ASM Tasks
I had a look at actor $0E and $0F names in dialogues. Here is what is used from my search and the table file. I think $17 and $18 are unused:
I coded exceptions for $17 and $18 in routines C0/80DC and $C0/82CC that subtract #$09 to fetch characters $0E and $0F names. This require some free space in bank $C0 but there is plenty. It's not very elegant code since there is many small JSRs but it does the job. Dialogues show the correct name. I ran the intro and some random dialogues too to see problems and everything was running fine.
To write character $0E name in FF3usME, you need to enter OP$17 and character $0F would be OP$18, which are both labeled with no description. I'm confident this case is closed.
http://madsiur.net/asm4.zip
Code:
00=/
01=*
02=TERRA
03=LOCKE
04=CYAN
05=SHADOW
06=EDGAR
07=SABIN
08=CELES
09=STRAGO
0A=RELM
0B=SETZER
0C=MOG
0D=GAU
0E=GOGO
0F=UMARO
10=Pause for button input's control code
11=Non-interruptable pause's control code
12=End parameter's control code
13=New page's control code
14=Tab's control code
15=Selectable option's control code
16=Interruptable pause's control code
17=unused?
18=unused?
19=Amount of GP found in treasure chests
1A=item name for treasure chests
1B=Spell learned (unused)
I coded exceptions for $17 and $18 in routines C0/80DC and $C0/82CC that subtract #$09 to fetch characters $0E and $0F names. This require some free space in bank $C0 but there is plenty. It's not very elegant code since there is many small JSRs but it does the job. Dialogues show the correct name. I ran the intro and some random dialogues too to see problems and everything was running fine.
To write character $0E name in FF3usME, you need to enter OP$17 and character $0F would be OP$18, which are both labeled with no description. I'm confident this case is closed.
http://madsiur.net/asm4.zip
Code:
hirom
;header
org $C080E4
CMP #$17
BEQ newChar
CMP #$18
BEQ newChar
CMP #$10
BCS invalid
DEC
DEC
BRA multiply
newChar:
SBC #$09
multiply:
JSR multiA
LDA $CF
BPL invalid
JSR multiB
loop:
LDA $1602,Y
CMP #$FF
BEQ invalid
JSR multiC
BNE loop
BRA invalid
print pc
org $C080D2
invalid:
ORG $C082CC
CMP #$17
BEQ newChar2
CMP #$18
BEQ newChar2
CMP #$10
BCS branch3
DEC A
DEC A
BRA multiD
newChar2:
SBC #$09
multiD:
JSR multiE
LDX $00
branch4:
LDA $1602,Y
print pc
org $C082F6
BNE branch4
org $C08302
branch3:
org $C0D613
multiA:
STA $4202
LDA #$25
STA $4203
RTS
multiB:
LDA #$06
STA $1A
LDY $4216
RTS
multiC:
SEC
SBC #$60
TAX
LDA $C48FC0,X
CLC
ADC $C0
STA $C0
INY
DEC $1A
RTS
multiE:
STA $4202
LDA #$25
STA $4203
NOP
NOP
NOP
NOP
LDY $4216
RTS
« Next Oldest | Next Newest »
|
||||
Users browsing this thread: 1 Guest(s)