I have been trying for a days to get my DTE in Kawa no Nushi Tsuri to work.
All right... so far, I've either got my routine to spit out gibberish or nothing at all.
I was told to place a jump from the text routine from a LDA (whatever), y and an INC statement.
The thing is, When I read KingMike's and Redcomet's Faq they tell me the LDA state should be a B1 statement and if I can't find that then I should use a A1 statement.
The thing is I can't find either in the text routine. All I can find are AD, A5,A2 and B9 statements.
Let me show you the code where I set a conditional breakpoint that led me to (what I think) is the text routine.
You'll wanna scroll down to 01E587:8D 07 20 STA $2007 = #$98 where the breakpoint occurred for the first that pops up in the game which is I. I also tried this with the second letter n and it stopped in the same place.
01E533:A2 03 LDX #$03 ;beginning of routine and it's also the only place where I can place a JSR statement (20 50 FE)
;without having the game spit gibberish or any other weird effects in this routine.
01E535:A5 E3 LDA $00E3 = #$00
01E537:C9 02 CMP #$02
01E539:B0 09 BCS $E534
01E53B:A5 72 LDA $0072 = #$00
01E53D:F0 05 BEQ $E534
01E53F:A2 00 LDX #$00
01E541:4C 4A E5 JMP $E54A
01E544:A5 E3 LDA $00E3 = #$00
01E546:C9 02 CMP #$02
01E548:B0 09 BCS $E543
01E54A:A5 71 LDA $0071 = #$00
01E54C:F0 05 BEQ $E543
01E54E:A2 01 LDX #$01
01E550:4C 4A E5 JMP $E54A
01E553:AD 5C 07 LDA $075C = #$00
01E556:F0 02 BEQ $E54A
01E558:A2 07 LDX #$07
01E55A:86 09 STX $0009 = #$07
01E55C:EE BB 07 INC $07BB = #$48
01E55F:AD BB 07 LDA $07BB = #$48
01E562:25 09 AND $0009 = #$07
01E564:F0 03 BEQ $E559
01E566:4C D6 E5 JMP $E5D6
01E569:AD BA 07 LDA $07BA = #$00
01E56C:AA TAX
01E56D:18 CLC
01E56E:69 12 ADC #$12
01E570:A8 TAY
01E571:20 FB DB JSR $DBFB
01E574:A5 91 LDA $0091 = #$23
01E576:8D 06 20 STA $2006 = #$E8
01E579:A5 92 LDA $0092 = #$27
01E57B:8D 06 20 STA $2006 = #$E8
01E57E:BD 50 06 LDA $0650,X @ $065F = #$FE
01E581:8D 07 20 STA $2007 = #$98
01E584:B9 50 06 LDA $0650,Y @ $06B0 = #$34
01E587:8D 07 20 STA $2007 = #$98 <----Here is where the breakpoint occured
01E58A:20 05 DC JSR $DC05
01E58D:EE BA 07 INC $07BA = #$00
01E590:E6 92 INC $0092 = #$27
01E592:A5 92 LDA $0092 = #$27
01E594:29 1F AND #$1F
01E596:D0 18 BNE $E5A0
01E598:A5 92 LDA $0092 = #$27
01E59A:38 SEC
01E59B:E9 20 SBC #$20
01E59D:85 92 STA $0092 = #$27
01E59F:A5 91 LDA $0091 = #$23
01E5A1:C9 24 CMP #$24
01E5A3:B0 06 BCS $E59B
01E5A5:18 CLC
01E5A6:69 04 ADC #$04
01E5A8:4C 9E E5 JMP $E59E
01E5AB:38 SEC
01E5AC:E9 04 SBC #$04
01E5AE:85 91 STA $0091 = #$23
01E5B0:CE BC 07 DEC $07BC = #$00
01E5B3:D0 31 BNE $E5D6
01E5B5:A9 00 LDA #$00
01E5B7:8D BA 07 STA $07BA = #$00
01E5BA:AD FF 07 LDA $07FF = #$00
01E5BD:C9 04 CMP #$04
01E5BF:B0 03 BCS $E5B4
01E5C1:EE FF 07 INC $07FF = #$00
01E5C4:C9 03 CMP #$03
01E5C6:B0 0C BCS $E5C4
01E5C8:A5 94 LDA $0094 = #$27
01E5CA:18 CLC
01E5CB:69 40 ADC #$40
01E5CD:90 07 BCC $E5C6
01E5CF:E6 93 INC $0093 = #$23
01E5D1:4C C6 E5 JMP $E5C6
01E5D4:A5 94 LDA $0094 = #$27
01E5D6:85 94 STA $0094 = #$27
01E5D8:85 92 STA $0092 = #$27
01E5DA:A5 93 LDA $0093 = #$23
01E5DC:85 91 STA $0091 = #$23
01E5DE:A9 00 LDA #$00
01E5E0:8D 8F 07 STA $078F = #$01
01E5E3:EE B9 07 INC $07B9 = #$00
01E5E6:60 RTS --------------
Where exactly can I put a jump in this statement, if I can make one at all here?
Should I be looking elsewhere?
Also here is my dte routine with the table.
01FE60:A5 BE LDA $00BE = #$00 ;
01FE62:C9 00 CMP #$00
01FE64:D0 1E BNE $FE74
01FE66:A0 00 LDY #$00
01FE68:B1 CC LDA ($CC),Y @ $D80D = #$5F this has changed to be change to A2 03 LDX #$03 but it really doesn't matter because the only difference the two is now my text is a bit slower cuz I mixed the X and Y registers up but other than that it just shows up as regular text and totally ignores the values I put in my dte table.
01FE6A:C9 14 CMP #$14
01FE6C:10 03 BPL $FE61
01FE6E:B1 CC LDA ($CC),Y @ $D80D = #$5F;
01FE70:60 RTS -----------------------------------------------------------
01FE71:B1 CC LDA ($CC),Y @ $D80D = #$5F
01FE73:C9 7F CMP #$7F
01FE75:10 F7 BPL $FE5E
01FE77:E6 BF INC $00BF = #$18
01FE79:B1 CC LDA ($CC),Y @ $D80D = #$5F
01FE7B:38 SEC
01FE7C:E9 15 SBC #$15
01FE7E:0A ASL
01FE7F:AA TAX
01FE80:BD A0 FE LDA $FEA0,X @ $FEAF = #$3B
01FE83:60 RTS -----------------------------------------------------------
01FE84:C6 BF DEC $00BF = #$80
01FE86:C6 CC DEC $00CC = #$AD
01FE88:A5 CC LDA $00CC = #$AD
01FE8A:C9 FF CMP #$FF
01FE8C:D0 02 BNE $FE80
01FE8E:C6 CD DEC $00CD = #$D7
01FE90:A0 00 LDY #$00
01FE92:B1 CC LDA ($CC),Y @ $D7BF = #$03
01FE94:38 SEC
01FE95:E9 15 SBC #$15
01FE97:0A ASL
01FE98:AA TAX
01FE99:BD A1 FE LDA $FEA1,X @ $FEC2 = #$23
01FE9C:60 RTS -----
my dte function in hex
A5BEC900D01EA000B1CCC9141003B1CC60
B1CCC97F10F7E6BFB1CC38E9150AAABDA0
FE60C6BFC6CCA5CCC9FFD002C6CDA000B1
CC38E9150AAABDA1FE60
My dte table
0102030405060708090A0B0C0D0E3B3B1112
131415161718191A1B1C1D1E1F2021222324
25262728292A2B2C2D2E2F30313233343536
3738393A3B3C3D3E3F404142434445464748
494A4B4C4D4E4F505152535455565758595A
5B5C5D5E5F606162636465666768696A6B6C
6D6E6F707172737475767778797A7B7C7D7E
7F
Any help with this would be greatly appreciated.
All right... so far, I've either got my routine to spit out gibberish or nothing at all.
I was told to place a jump from the text routine from a LDA (whatever), y and an INC statement.
The thing is, When I read KingMike's and Redcomet's Faq they tell me the LDA state should be a B1 statement and if I can't find that then I should use a A1 statement.
The thing is I can't find either in the text routine. All I can find are AD, A5,A2 and B9 statements.
Let me show you the code where I set a conditional breakpoint that led me to (what I think) is the text routine.
You'll wanna scroll down to 01E587:8D 07 20 STA $2007 = #$98 where the breakpoint occurred for the first that pops up in the game which is I. I also tried this with the second letter n and it stopped in the same place.
Code:
01E533:A2 03 LDX #$03 ;beginning of routine and it's also the only place where I can place a JSR statement (20 50 FE)
;without having the game spit gibberish or any other weird effects in this routine.
01E535:A5 E3 LDA $00E3 = #$00
01E537:C9 02 CMP #$02
01E539:B0 09 BCS $E534
01E53B:A5 72 LDA $0072 = #$00
01E53D:F0 05 BEQ $E534
01E53F:A2 00 LDX #$00
01E541:4C 4A E5 JMP $E54A
01E544:A5 E3 LDA $00E3 = #$00
01E546:C9 02 CMP #$02
01E548:B0 09 BCS $E543
01E54A:A5 71 LDA $0071 = #$00
01E54C:F0 05 BEQ $E543
01E54E:A2 01 LDX #$01
01E550:4C 4A E5 JMP $E54A
01E553:AD 5C 07 LDA $075C = #$00
01E556:F0 02 BEQ $E54A
01E558:A2 07 LDX #$07
01E55A:86 09 STX $0009 = #$07
01E55C:EE BB 07 INC $07BB = #$48
01E55F:AD BB 07 LDA $07BB = #$48
01E562:25 09 AND $0009 = #$07
01E564:F0 03 BEQ $E559
01E566:4C D6 E5 JMP $E5D6
01E569:AD BA 07 LDA $07BA = #$00
01E56C:AA TAX
01E56D:18 CLC
01E56E:69 12 ADC #$12
01E570:A8 TAY
01E571:20 FB DB JSR $DBFB
01E574:A5 91 LDA $0091 = #$23
01E576:8D 06 20 STA $2006 = #$E8
01E579:A5 92 LDA $0092 = #$27
01E57B:8D 06 20 STA $2006 = #$E8
01E57E:BD 50 06 LDA $0650,X @ $065F = #$FE
01E581:8D 07 20 STA $2007 = #$98
01E584:B9 50 06 LDA $0650,Y @ $06B0 = #$34
01E587:8D 07 20 STA $2007 = #$98 <----Here is where the breakpoint occured
01E58A:20 05 DC JSR $DC05
01E58D:EE BA 07 INC $07BA = #$00
01E590:E6 92 INC $0092 = #$27
01E592:A5 92 LDA $0092 = #$27
01E594:29 1F AND #$1F
01E596:D0 18 BNE $E5A0
01E598:A5 92 LDA $0092 = #$27
01E59A:38 SEC
01E59B:E9 20 SBC #$20
01E59D:85 92 STA $0092 = #$27
01E59F:A5 91 LDA $0091 = #$23
01E5A1:C9 24 CMP #$24
01E5A3:B0 06 BCS $E59B
01E5A5:18 CLC
01E5A6:69 04 ADC #$04
01E5A8:4C 9E E5 JMP $E59E
01E5AB:38 SEC
01E5AC:E9 04 SBC #$04
01E5AE:85 91 STA $0091 = #$23
01E5B0:CE BC 07 DEC $07BC = #$00
01E5B3:D0 31 BNE $E5D6
01E5B5:A9 00 LDA #$00
01E5B7:8D BA 07 STA $07BA = #$00
01E5BA:AD FF 07 LDA $07FF = #$00
01E5BD:C9 04 CMP #$04
01E5BF:B0 03 BCS $E5B4
01E5C1:EE FF 07 INC $07FF = #$00
01E5C4:C9 03 CMP #$03
01E5C6:B0 0C BCS $E5C4
01E5C8:A5 94 LDA $0094 = #$27
01E5CA:18 CLC
01E5CB:69 40 ADC #$40
01E5CD:90 07 BCC $E5C6
01E5CF:E6 93 INC $0093 = #$23
01E5D1:4C C6 E5 JMP $E5C6
01E5D4:A5 94 LDA $0094 = #$27
01E5D6:85 94 STA $0094 = #$27
01E5D8:85 92 STA $0092 = #$27
01E5DA:A5 93 LDA $0093 = #$23
01E5DC:85 91 STA $0091 = #$23
01E5DE:A9 00 LDA #$00
01E5E0:8D 8F 07 STA $078F = #$01
01E5E3:EE B9 07 INC $07B9 = #$00
01E5E6:60 RTS --------------
Where exactly can I put a jump in this statement, if I can make one at all here?
Should I be looking elsewhere?
Also here is my dte routine with the table.
Code:
01FE60:A5 BE LDA $00BE = #$00 ;
01FE62:C9 00 CMP #$00
01FE64:D0 1E BNE $FE74
01FE66:A0 00 LDY #$00
01FE68:B1 CC LDA ($CC),Y @ $D80D = #$5F this has changed to be change to A2 03 LDX #$03 but it really doesn't matter because the only difference the two is now my text is a bit slower cuz I mixed the X and Y registers up but other than that it just shows up as regular text and totally ignores the values I put in my dte table.
01FE6A:C9 14 CMP #$14
01FE6C:10 03 BPL $FE61
01FE6E:B1 CC LDA ($CC),Y @ $D80D = #$5F;
01FE70:60 RTS -----------------------------------------------------------
01FE71:B1 CC LDA ($CC),Y @ $D80D = #$5F
01FE73:C9 7F CMP #$7F
01FE75:10 F7 BPL $FE5E
01FE77:E6 BF INC $00BF = #$18
01FE79:B1 CC LDA ($CC),Y @ $D80D = #$5F
01FE7B:38 SEC
01FE7C:E9 15 SBC #$15
01FE7E:0A ASL
01FE7F:AA TAX
01FE80:BD A0 FE LDA $FEA0,X @ $FEAF = #$3B
01FE83:60 RTS -----------------------------------------------------------
01FE84:C6 BF DEC $00BF = #$80
01FE86:C6 CC DEC $00CC = #$AD
01FE88:A5 CC LDA $00CC = #$AD
01FE8A:C9 FF CMP #$FF
01FE8C:D0 02 BNE $FE80
01FE8E:C6 CD DEC $00CD = #$D7
01FE90:A0 00 LDY #$00
01FE92:B1 CC LDA ($CC),Y @ $D7BF = #$03
01FE94:38 SEC
01FE95:E9 15 SBC #$15
01FE97:0A ASL
01FE98:AA TAX
01FE99:BD A1 FE LDA $FEA1,X @ $FEC2 = #$23
01FE9C:60 RTS -----
my dte function in hex
A5BEC900D01EA000B1CCC9141003B1CC60
B1CCC97F10F7E6BFB1CC38E9150AAABDA0
FE60C6BFC6CCA5CCC9FFD002C6CDA000B1
CC38E9150AAABDA1FE60
My dte table
0102030405060708090A0B0C0D0E3B3B1112
131415161718191A1B1C1D1E1F2021222324
25262728292A2B2C2D2E2F30313233343536
3738393A3B3C3D3E3F404142434445464748
494A4B4C4D4E4F505152535455565758595A
5B5C5D5E5F606162636465666768696A6B6C
6D6E6F707172737475767778797A7B7C7D7E
7F
Any help with this would be greatly appreciated.