Prev: B63D Up: Map Next: B6A3
B67A: copy string from descriptor to utility pointer
Used by the routines at AA2C and B63D.
B67A A0 00 LDY #$00 clear index
B67C B1 6F LDA ($6F),Y get string length
B67E 48 PHA save it
B67F C8 INY increment index
B680 B1 6F LDA ($6F),Y get string pointer low byte
B682 AA TAX copy to X
B683 C8 INY increment index
B684 B1 6F LDA ($6F),Y get string pointer high byte
B686 A8 TAY copy to Y
B687 68 PLA get length back
This entry point is used by the routine at B487.
B688 86 22 STX $22 save string pointer low byte
B68A 84 23 STY $23 save string pointer high byte
This entry point is used by the routines at B63D and B700.
store string from pointer to utility pointer
B68C A8 TAY copy length as index
B68D F0 0A BEQ $B699 branch if null string
B68F 48 PHA save length
B690 88 DEY decrement length/index
B691 B1 22 LDA ($22),Y get byte from string
B693 91 35 STA ($35),Y save byte to destination
B695 98 TYA copy length/index
B696 D0 F8 BNE $B690 loop if not all done yet
B698 68 PLA restore length
B699 18 CLC clear carry for add
B69A 65 35 ADC $35 add string utility ptr low byte
B69C 85 35 STA $35 save string utility ptr low byte
B69E 90 02 BCC $B6A2 branch if no rollover
B6A0 E6 36 INC $36 increment string utility ptr high byte
B6A2 60 RTS
Prev: B63D Up: Map Next: B6A3