Prev: AA1D Up: Map Next: AA80
AA2C: assign value to numeric variable, but not TI$
Used by the routine at A9A5.
AA2C A0 02 LDY #$02 index to string pointer high byte
AA2E B1 64 LDA ($64),Y get string pointer high byte
AA30 C5 34 CMP $34 compare with bottom of string space high byte
AA32 90 17 BCC $AA4B branch if string pointer high byte is less than bottom of string space high byte
AA34 D0 07 BNE $AA3D branch if string pointer high byte is greater than bottom of string space high byte
else high bytes were equal
AA36 88 DEY decrement index to string pointer low byte
AA37 B1 64 LDA ($64),Y get string pointer low byte
AA39 C5 33 CMP $33 compare with bottom of string space low byte
AA3B 90 0E BCC $AA4B branch if string pointer low byte is less than bottom of string space low byte
AA3D A4 65 LDY $65 get descriptor pointer high byte
AA3F C4 2E CPY $2E compare with start of variables high byte
AA41 90 08 BCC $AA4B branch if less, is on string stack
AA43 D0 0D BNE $AA52 if greater make space and copy string
else high bytes were equal
AA45 A5 64 LDA $64 get descriptor pointer low byte
AA47 C5 2D CMP $2D compare with start of variables low byte
AA49 B0 07 BCS $AA52 if greater or equal make space and copy string
AA4B A5 64 LDA $64 get descriptor pointer low byte
AA4D A4 65 LDY $65 get descriptor pointer high byte
AA4F 4C 68 AA JMP $AA68 go copy descriptor to variable
AA52 A0 00 LDY #$00 clear index
AA54 B1 64 LDA ($64),Y get string length
AA56 20 75 B4 JSR $B475 copy descriptor pointer and make string space A bytes long
AA59 A5 50 LDA $50 copy old descriptor pointer low byte
AA5B A4 51 LDY $51 copy old descriptor pointer high byte
AA5D 85 6F STA $6F save old descriptor pointer low byte
AA5F 84 70 STY $70 save old descriptor pointer high byte
AA61 20 7A B6 JSR $B67A copy string from descriptor to utility pointer
AA64 A9 61 LDA #$61 get descriptor pointer low byte
AA66 A0 00 LDY #$00 get descriptor pointer high byte
AA68 85 50 STA $50 save descriptor pointer low byte
AA6A 84 51 STY $51 save descriptor pointer high byte
AA6C 20 DB B6 JSR $B6DB clean descriptor stack, YA = pointer
AA6F A0 00 LDY #$00 clear index
AA71 B1 50 LDA ($50),Y get string length from new descriptor
AA73 91 49 STA ($49),Y copy string length to variable
AA75 C8 INY increment index
AA76 B1 50 LDA ($50),Y get string pointer low byte from new descriptor
AA78 91 49 STA ($49),Y copy string pointer low byte to variable
AA7A C8 INY increment index
AA7B B1 50 LDA ($50),Y get string pointer high byte from new descriptor
AA7D 91 49 STA ($49),Y copy string pointer high byte to variable
AA7F 60 RTS
Prev: AA1D Up: Map Next: AA80