Prev: A69C Up: Map Next: A742
A71A: uncrunch BASIC tokens
the uncrunch BASIC tokens vector is initialised to point here
A71A 10 D7 BPL $A6F3 just go print it if not token byte
else was token byte so uncrunch it
A71C C9 FF CMP #$FF compare with the token for PI. in this case the token is the same as the PI character so it just needs printing
A71E F0 D3 BEQ $A6F3 just print it if so
A720 24 0F BIT $0F test the open quote flag
A722 30 CF BMI $A6F3 just go print character if open quote set
A724 38 SEC else set carry for subtract
A725 E9 7F SBC #$7F reduce token range to 1 to whatever
A727 AA TAX copy token # to X
A728 84 49 STY $49 save index for line
A72A A0 FF LDY #$FF start from -1, adjust for pre increment
A72C CA DEX decrement token #
A72D F0 08 BEQ $A737 if now found go do printing
A72F C8 INY else increment index
A730 B9 9E A0 LDA $A09E,Y get byte from keyword table
A733 10 FA BPL $A72F loop until keyword end marker
A735 30 F5 BMI $A72C go test if this is required keyword, branch always
found keyword, it's the next one
A737 C8 INY increment keyword table index
A738 B9 9E A0 LDA $A09E,Y get byte from table
A73B 30 B2 BMI $A6EF go restore index, mask byte and print if byte was end marker
A73D 20 47 AB JSR $AB47 else go print the character
A740 D0 F5 BNE $A737 go get next character, branch always
Prev: A69C Up: Map Next: A742