| C64 ROM | Routines | 
| Prev: AA1D | Up: Map | Next: AA80 | 
| 
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 |