[1C 11 XX] C1/40CF: C2 31 REP #$31 C1/40D1: 0B PHD C1/40D2: 48 PHA C1/40D3: 7B TDC C1/40D4: 69 F2 FF ADC #$FFF2 C1/40D7: 5B TCD C1/40D8: 68 PLA C1/40D9: E0 00 00 CPX #$0000 C1/40DC: F0 03 BEQ $40E1 C1/40DE: 8A TXA C1/40DF: 80 05 BRA $40E6 C1/40E1: 20 DC 03 JSR $03DC C1/40E4: A5 06 LDA $06 C1/40E6: 22 D2 01 EF JSR $EF01D2 C1/40EA: A9 00 00 LDA #$0000 C1/40ED: 2B PLD C1/40EE: 60 RTS Direct page manipulation. If X = 0: Jump to subroutine at C103DC. Load A from $06. If X != 0: Transfer X to A. Jump to subroutine at EF01D2. (A = arg1) Put null into accumulator. Return. EF/01D2: C2 31 REP #$31 EF/01D4: 0B PHD Direct page manipulation EF/01D5: 48 PHA EF/01D6: 7B TDC EF/01D7: 69 F0 FF ADC #$FFF0 EF/01DA: 5B TCD EF/01DB: 68 PLA EF/01DC: 85 0E STA $0E Store arg1 in $0E. EF/01DE: AD 58 89 LDA $8958 EF/01E1: 0A ASL EF/01E2: AA TAX EF/01E3: BD E4 88 LDA $88E4,X EF/01E6: A0 52 00 LDY #$0052 EF/01E9: 22 F7 8F C0 JSR $C08FF7 EF/01ED: 18 CLC EF/01EE: 69 50 86 ADC #$8650 EF/01F1: AA TAX X = Pointer to window stats entry for current window EF/01F2: A5 0E LDA $0E A = arg1 EF/01F4: 38 SEC EF/01F5: E9 50 00 SBC #$0050 Subtract 0x50 from A EF/01F8: 29 7F 00 AND #$007F Modulo by 0x80 EF/01FB: 85 0E STA $0E $0E = modified arg1 EF/01FD: AD 6D 5E LDA $5E6D EF/0200: 29 FF 00 AND #$00FF EF/0203: 85 02 STA $02 $02 = 7E5E6D EF/0205: AF 54 F0 C3 LDA $C3F054 EF/0209: 85 06 STA $06 EF/020B: AF 56 F0 C3 LDA $C3F056 EF/020F: 85 08 STA $08 $06+08 = Pointer to E10C7A. (Main font widths) EF/0211: A5 0E LDA $0E EF/0213: 18 CLC EF/0214: 65 06 ADC $06 EF/0216: 85 06 STA $06 $06+08 = E10C7A + modified arg1 EF/0218: A7 06 LDA [$06] A = byte from E10C7A + modified arg1 EF/021A: 29 FF 00 AND #$00FF EF/021D: 18 CLC EF/021E: 65 02 ADC $02 Add the value from 7E5E6D and store in $0E. EF/0220: 85 0E STA $0E EF/0222: AD 23 9E LDA $9E23 EF/0225: 29 07 00 AND #$0007 EF/0228: 85 04 STA $04 $04 = 7E9E23 mod 8 EF/022A: BD 0E 00 LDA $000E,X Get the X coordinate where text is being drawn. EF/022D: 3A DEC Decrement, multiply by 8. EF/022E: 0A ASL EF/022F: 0A ASL EF/0230: 0A ASL EF/0231: 18 CLC EF/0232: 65 04 ADC $04 $02 = ((X coord - 1) * 8) + (7E9E23 mod 8). EF/0234: 85 02 STA $02 EF/0236: A5 0E LDA $0E EF/0238: 18 CLC EF/0239: 65 02 ADC $02 EF/023B: 85 02 STA $02 EF/023D: BD 0A 00 LDA $000A,X EF/0240: 0A ASL EF/0241: 0A ASL EF/0242: 0A ASL EF/0243: C5 02 CMP $02 EF/0245: B0 0B BCS $0252 EF/0247: 22 79 0C C1 JSR $C10C79 EF/024B: E2 20 SEP #$20 EF/024D: A9 01 LDA #$01 EF/024F: 8D 75 5E STA $5E75 EF/0252: C2 20 REP #$20 EF/0254: 2B PLD EF/0255: 6B RTL