øA slickproductions.org /forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=printpage;topic=993.0 e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index9967.html delayed slickproductions.org /forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=993.0 e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index9967.html.z x r~g^ ÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ ‹1 ;‚ OK text/html ISO-8859-1 gzip @øÕ ;‚ ÿÿÿÿÿÿÿÿ ÑH Tue, 10 Mar 2020 12:04:26 GMT 0ó° °® 0® P® €§² ð® r~g^ _ ;‚
033A8 BF 00 83 11 Load A with 1 byte at 88500+X ; \
033AC D0 F9 Branch to 033A7 if zero flag is clear ; |
033AE BF FF 82 11 Load A with 1 byte at 884FF+X ; | bank 2 pointers
033B2 C9 03 Compare A with #03 ; |
033B4 F0 F1 Branch to 033A7 if zero flag is set ; |
033B6 BF FF 82 11 Load A with 1 byte at 884FF+X ; /
033BA C9 04 Compare A with #04
033BC F0 E9 Branch to 033A7 if zero flag is set
033BE 88 Decrement Y
033BF D0 E6 Branch to 033A7 if zero flag is clear
033C1 E8 Increment X
033C2 8E 72 07 Store X to $7E:0772
033C5 64 DD Store 0 to $00:D+$DD
033C7 60 Return from subroutine
033C8 20 13 B2 Jump to subroutine at 03413
033CB BF 00 80 10 Load A with 1 byte at 80200+X ; \
033CF 85 3D Store A to $00:D+$3D ; bank 1 [000-0FF] pointers
033D1 BF 01 80 10 Load A with 1 byte at 80201+X ; /
033D5 85 3E Store A to $00:D+$3E
033D7 A6 3D Load X with 2 bytes at $00:D+$3D
033D9 8E 72 07 Store X to $7E:0772
033DC A9 01 Load A with #01
033DE 85 DD Store A to $00:D+$DD
033E0 60 Return from subroutine
033E1 20 13 B2 Jump to subroutine at 03413
033E4 BF 00 82 10 Load A with 1 byte at 80400+X ; \
033E8 85 3D Store A to $00:D+$3D ; bank 1 [100-1FF] pointers
033EA BF 01 82 10 Load A with 1 byte at 80401+X ; /
033EE 85 3E Store A to $00:D+$3E
033F0 A6 3D Load X with 2 bytes at $00:D+$3D
033F2 8E 72 07 Store X to $7E:0772
033F5 A9 01 Load A with #01
033F7 85 DD Store A to $00:D+$DD
033F9 60 Return from subroutine
033FA 20 13 B2 Jump to subroutine at 03413
033FD BF 00 A5 13 Load A with 1 byte at 9A700+X ; \
03401 85 3D Store A to $00:D+$3D ; bank 3 pointers
03403 BF 01 A5 13 Load A with 1 byte at 9A701+X ; /
03407 85 3E Store A to $00:D+$3E
03409 A6 3D Load X with 2 bytes at $00:D+$3D
0340B 8E 72 07 Store X to $7E:0772
0340E A9 02 Load A with #02
03410 85 DD Store A to $00:D+$DD
03412 60 Return from subroutine034B7 AE 72 07 Load X with 2 bytes at $7E:0772
034BA E8 Increment X
034BB 8E 72 07 Store X to $7E:0772
034BE AE 72 07 Load X with 2 bytes at $7E:0772
034C1 A5 DD Load A with 1 byte at $00:D+$DD
034C3 D0 07 Branch to 034CC if zero flag is clear
034C5 BF 00 83 11 Load A with 1 byte at 88500+X ; bank 2 data
034C9 4C DB B2 Jump to location 034DB
034CC C9 01 Compare A with #01
034CE D0 07 Branch to 034D7 if zero flag is clear
034D0 BF 00 84 10 Load A with 1 byte at 80600+X ; bank 1 data
034D4 4C DB B2 Jump to location 034DB
034D7 BF 00 A7 13 Load A with 1 byte at 9A900+X ; bank 3 data
034DB 60 Return from subroutine Since no one has posted, I assumed that no one knew the answer and did some searching for myself. It turns out that in my piles of ASM documentation I had written down the probable location of the dialogue loader :lungs: (don't even remember doing that...)It never fails, does it? :bah:
034D0 BF 00 84 10 Load A with 1 byte at 80600+X ; bank 1 data034D0 4C 00 FE Jump to location 08000 ; jump to new split bank determiner
08000 E0 00 56 Compare X with #5600 ; pointers above 5600 point to next bank
08003 B0 05 Branch to 0800A if carry is set
08005 BF 00 AA 20 Load A with 1 byte at 102C00+X ; bank 1 data, part 1
08009 60 Return from subroutine
0800A C2 20 Clear flags #20
0800C 8A Transfer X to A
0800D E9 00 56 Subtract #5600 from A
08010 AA Transfer A to X
08011 E2 20 Set flags #20
08013 BF 00 80 21 Load A with 1 byte at 108200+X ; bank 1 data, part 2
08017 60 Return from subroutine
08000 E0 00 56 Compare X with #5600 ; pointers above 5600 point to next bank
08003 B0 05 Branch to 0800A if carry is set
08005 BF 00 AA 20 Load A with 1 byte at 102C00+X ; bank 1 data, part 1
08009 60 Return from subroutine
0800A C2 20 Clear flags #20
0800C 48 Push A (2 bytes) onto stack
0800D 8A Transfer X to A
0800E E9 00 56 Subtract #5600 from A
08011 AA Transfer A to X
08012 68 Pull 2 bytes from stack and store in A
08013 E2 20 Set flags #20
08015 BF 00 80 21 Load A with 1 byte at 108200+X ; bank 1 data, part 2
08019 60 Return from subroutine