* * GraForth * * (c) 1981, Paul Lutus * (s) 2020, LoGo * xc xc mx %11 typ bin org $6000 lst off *---------------------------- WNDLFT = $20 WNDWDTH = $21 WNDTOP = $22 WNDBTM = $23 CH = $24 CV = $25 INVFLG = $32 CSWL = $36 CSWH = $37 KSWL = $38 KSWH = $39 SOFTEV EQU $03F2 PWREDUP EQU $03F4 AMPERV EQU $03F5 IRQLOC EQU $03FE KBD EQU $C000 KBDSTROBE EQU $C010 SPKR EQU $C030 TXTCLR EQU $C050 TXTSET EQU $C051 MIXCLR EQU $C052 TXTPAGE1 EQU $C054 HIRES EQU $C057 BUTN2 EQU $C063 LCBANK2 EQU $C083 INIT EQU $FB2F VTABZ EQU $FC24 HOME EQU $FC58 RDKEY EQU $FD0C RDCHAR EQU $FD35 PRBYTE EQU $FDDA COUT EQU $FDED SETKBD EQU $FE89 SETVID EQU $FE93 MON EQU $FF65 *---------------------------- L0800 = $0800 L2000 = $2000 ; This is HGR1 L9000 = $9000 ; EDITOR 1 LOAD ADDRESS LB600 = $B600 ; EDITOR 2 LOAD ADDRESS L9A00 = $9A00 ; HIMEM 48K LC000 = $C000 ; HIMEM 64K *---------------------------- L6000 JMP L609C JMP L6421 JMP L6A9B L6009 STA $B7 LDX $CA BMI L602A BNE L601A LSR L6012 STA $B8 STA $B9 L6016 LDY #$00 BEQ L6036 L601A DEX BNE L6022 LSR $92 JMP L6012 L6022 STA $B9 LSR STA $B8 JMP L6016 L602A STA $B8 LSR $92 L602E LSR INX BNE L602E STA $B9 LDY #$02 L6036 LDA L6082,Y STA L606C LDA L6082+1,Y STA L606D LDX #$FF TYA BEQ L6048 INX L6048 STX $BB LDY $B7 L604C LDX $92 L604E CPY $B9 BNE L6057 BVS L6057 LDA SPKR L6057 DEY BNE L605F LDA SPKR LDY $B7 L605F SEC DEX BNE L607A LDA $BA SBC $B7 STA $BA CLV BCS L604C L606C NOP L606D NOP BIT KBD BMI L6079 BIT $BB DEC $B8 BNE L604C L6079 RTS L607A LDA #$03 L607C SBC #$01 BNE L607C BEQ L604E L6082 DEC $B9 NOP NOP L6086 LDA $03D2 CMP #>LC000 BCC L6097 LDA LCBANK2 LDA LCBANK2 LDA #>LC000 BNE L6099 L6097 LDA #>L9A00 L6099 STA $AD RTS L609C LDX $03EA LDA $03D2 CLC ADC #$09 STA L60F9+2 ADC #$03 STA L6105+2 STA L617F+2 ADC #$01 STA L617C+2 STA L610D+2 LDY #$00 STY $D8 LDA #$4C STA AMPERV JSR L60F4 LDA #L6000 STA SOFTEV+1 STA AMPERV+2 STA $03F1 STA IRQLOC+1 EOR #$A5 STA PWREDUP LDA #$0B INY JSR L60F4 LDA #$61 INY JSR L60F4 JMP L6248 L60F4 CPX #$60 BNE L60F9 RTS L60F9 STA $DEE1,Y ; LOGO RTS L60FD LDX $03EA CPX #$60 BNE L6105 RTS L6105 STA $E123 RTS L6109 DB $10 L610A DB $05 L610B LDY #$10 L610D LDA $E25C L6110 STA L610A STY L6109 JSR L6086 LDA #$23 JSR L60FD LDA $A6 PHA JSR L6421 LDA #$00 STA $C7 PLA BPL L613C LDA L6109 CMP #$10 BNE L613C LDA L610A CMP #$05 BNE L613C JMP L62AE L613C LDA #$87 STA $A8 JSR COUT LDY #$00 BIT $A3 BPL L614B LDY #$04 L614B LDA L6195,Y BEQ L615B BMI L6155 TAY BNE L614B L6155 JSR COUT INY BNE L614B L615B INY LDA L6195,Y BEQ L6172 CMP L6109 BNE L615B L6166 INY LDA L6195,Y BPL L6172 JSR COUT JMP L6166 L6172 LDA L6109 CMP #$10 BNE L618C LDX L610A L617C LDY $E23F,X L617F LDA $E171,Y INY PHA ORA #$80 JSR COUT PLA BPL L617F L618C JSR L7F2C JSR L6A9B JMP L6248 L6195 ASC 8D ASC "Run" HEX 0D ASC 8D ASC "Compile Error: " DB $00 DB $10 ASC "DOS: " DB $11 ASC "Program Too Long" DB $12 ASC "If-Then, While-Repeat" DB $13 ASC ""A2":"A2" Not Equal To "A2";"A2"" DB $00 L61EE LDY #$00 L61F0 LDA L61FC,Y BEQ L61FB JSR COUT INY BNE L61F0 L61FB RTS L61FC ASC "GraFORTH ][ (C) P. Lutus 1981"8D00 L621B BIT L6247 BMI L6230 DEC L6247 LDY #$00 L6225 LDA L6231,Y BEQ L6230 JSR COUT INY BNE L6225 L6230 RTS L6231 ASC 8D ASC 84 ASC "BLOADCHR.SYS,A$800"8D00 L6247 DB $00 L6248 JSR L6086 JSR L7ADF JSR L621B LDA #$FF JSR L7785 LDA #$00 JSR L788F LDA #$00 STA $AC STA L754D STA $CA STA L7C50 STA $C7 STA L7705 STA $C0 STA $A6 STA $9C STA $9D STA L6B77 STA CH STA L7FBC STA $A4 TAX JSR L7F53 JSR L79BB JSR L7FB0 LDA #$23 JSR L60FD LDA #$03 JSR L76BC JSR L7348 JSR L7867 JSR L7ACE JSR L61EE JSR L6F81 LDX #$FF TXS LDA #$FF STA $33 LDA #$80 STA $D9 STA $76 L62AE BIT $A6 BMI L62B5 JSR L6510 L62B5 JSR L6303 LDA $A2 BEQ L62C4 LDY #$13 JSR L610D JMP L62AE L62C4 BIT $A8 BMI L62AE JSR L634C JMP L62AE L62CE LDA L7C50 BEQ L6302 LDY #$00 STY $A5 L62D7 LDY $A5 CPY $9C BEQ L6302 LDA #$8D JSR COUT LDA #$DB ; [ JSR COUT JSR L7F2C LDA $1E00,Y INY LDX $1E00,Y INY STY $A5 JSR L7BF3 JSR L7F2C LDA #$DD ; ] JSR COUT JMP L62D7 L6302 RTS L6303 LDA #$00 STA $A2 STA $A1 STA $A8 JSR L636F JSR L62CE L6311 JSR L6545 LDY #$FF L6316 INY LDA $0200,Y CMP #$A0 BEQ L6316 CMP #$8D BEQ L6311 STY $A7 LDA #$00 STA $A0 JSR L6334 BIT $A8 BMI L6333 LDA $A2 BNE L6311 L6333 RTS L6334 BIT $A0 BMI L6342 BIT $A8 BMI L6342 JSR L63CB JMP L6334 L6342 LDA $A2 BEQ L6347 RTS L6347 LDA #$60 JMP L6A8B L634C LDA #$00 STA $A3 JSR L6356 JMP ($008E) L6356 LDA L6FC9 CLC ADC #$02 STA $8E LDA L6FC9+1 ADC #$00 STA $8F L6365 CMP $AD BCC L636E LDY #$11 JMP L610D L636E RTS L636F JSR L6356 LDY #$00 TYA STA ($8E),Y RTS L6378 LDY $A7 LDA $0200,Y CMP #$8D BEQ L6385 CMP #$A0 BNE L6388 L6385 JSR L63FB L6388 LDA L6FC9 STA $9A LDA L6FC9+1 STA $9B BNE L63A5 L6394 LDY #$00 LDA ($9A),Y TAX INY LDA ($9A),Y INY CMP #$00 BEQ L63CA STA $9B STX $9A L63A5 LDY #$02 LDX $A7 L63A9 LDA ($9A),Y BPL L63B6 CMP $0200,X BNE L6394 INX INY BNE L63A9 L63B6 CPY #$02 BEQ L6394 LDA $0200,X CMP #$8D BEQ L63C7 CMP #$A0 BNE L6394 BEQ L63C9 L63C7 DEC $A0 L63C9 CLC L63CA RTS L63CB JSR L6378 LDA ($9A),Y PHA TYA CLC ADC $9A STA $9A BCC L63DB INC $9B L63DB PLA CMP #$0A BNE L63F4 JSR L63E6 JMP L63FB L63E6 LDA #$FF STA $A3 JMP ($009A) L63ED LDA $9A LDX $9B JMP L6A80 L63F4 LDA #$00 STA $A3 JSR L63ED L63FB LDY $A7 BIT $A0 BMI L641E DEY L6402 INY LDA $0200,Y CMP #$8D BEQ L641C CMP #$A0 BNE L6402 L640E INY LDA $0200,Y CMP #$8D BEQ L641C CMP #$A0 BEQ L640E BNE L641E L641C DEC $A0 L641E STY $A7 RTS *---------------------------- L6421 JSR L6427 JMP L6560 L6427 LDA #L6C0C STA CSWH LDA #L6AD5 STA KSWH JMP $03EA L643A JSR L636F JSR L6A8F JSR L6A8F JSR L7233 LDY #$00 STY $94 STY L7224 L644D LDA L64C6,Y JSR COUT INY CMP #$BA ; : BNE L644D JSR L7065 LDY #$00 L645D LDA L64D7,Y JSR COUT INY CMP #$BA ; : BNE L645D JSR L6A9B LDA #$00 STA L6247 LDA $0200 CMP #$D9 ; Y BNE L647A DEC L7224 L647A LDY #$FF L647C INY LDA L64E7,Y CMP #$BF ; ? BNE L648A JSR L64F7 JMP L647C L648A CMP #$BE ; > BEQ L64A5 CMP #$BC ; < BNE L649F LDA #$60 JSR PRBYTE LDA #$00 JSR PRBYTE JMP L647C L649F JSR COUT JMP L647C L64A5 SEC LDA $8E SBC #$00 TAY LDA $8F SBC #$60 JSR PRBYTE TYA JSR PRBYTE LDA #$8D JSR COUT LDA #$00 STA L7224 DEC L6247 JMP L636F L64C6 ASC 8D ASC "Save File Name :" L64D7 ASC 8D ASC "Autorun (Y/N) :" L64E7 ASC 8D84 ASC "BSAVE?,A$<,L$>" L64F7 TYA PHA LDY #$00 L64FB LDA ($8C),Y BEQ L650D CMP #$8D BEQ L650D CMP $94 BEQ L650D JSR COUT INY BNE L64FB L650D PLA TAY RTS L6510 LDA L7224 BNE L6516 RTS L6516 LDA L6FC9 STA $8C LDA L6FC9+1 STA $8D LDY #$00 STY $A3 LDA ($8C),Y PHA INY LDA ($8C),Y STA $8D PLA STA $8C L652F INY LDA ($8C),Y BMI L652F TYA CLC ADC $8C STA $8C BCC L653E INC $8D L653E LDA #$00 STA $AC JMP ($008C) L6545 BIT $A6 BMI L6556 LDY #$00 L654B LDA L6559,Y JSR COUT INY CMP #$A0 BNE L654B L6556 JMP L6A9B L6559 ASC 8D ASC "Ready " L6560 LDA $03EA CMP #$60 BNE L6568 RTS L6568 LDY #$00 STY $A6 LDA CV PHA L656F LDA L6580,Y BEQ L657A JSR COUT INY BNE L656F L657A PLA STA CV JMP L6CC3 L6580 ASC 8D ASC 84 ASC "CLOSE"8D00 L6589 LDA $8E SEC SBC #$05 STA $8C LDA $8F SBC #$00 STA $8D LDA $8C SEC SBC L6FC9 LDA $8D SBC L6FC9+1 BCC L65BC LDY #$02 LDA ($8C),Y CMP #$72 BNE L65BC LDA $8C STA $8E LDA $8D STA $8F INY INY LDA ($8C),Y TAX DEY LDA ($8C),Y RTS L65BC LDA #$00 LDX #$00 RTS L65C1 LDX #$FF BNE L65C7 L65C5 LDX #$00 L65C7 LDA #$8D JSR COUT LDY $A7 L65CE LDA $0200,Y CMP #$8D BEQ L65DF CMP #$A0 BEQ L65DF JSR COUT INY BNE L65CE L65DF LDY #$00 L65E1 LDA L661C,Y CPX #$00 BEQ L65EB LDA L6629,Y L65EB JSR COUT INY CMP #$A8 BNE L65E1 LDY #$00 L65F5 LDA L6635,Y JSR COUT INY CMP #$A0 BNE L65F5 BIT $C7 BMI L6608 BIT $A6 BPL L6619 L6608 DEC $A8 LDY #$00 STY $A6 STY $C7 LDA CH PHA JSR L6560 PLA STA CH L6619 JMP L6A9B L661C ASC " Not Unique (" L6629 ASC " Not Found (" L6635 ASC "Return) " L663D INC $8C ; not called? BNE L6643 INC $8D L6643 RTS L6644 LDA $F1 LSR TAX LDA L68C8,X STA $0314 LDA L6908,X STA $0311 LDA L68E8,X STA $0310 STA $0315 LDA $F2 LSR TAX LDA L68C8,X STA $031E LDA L6908,X STA $0318 LDA L68E8,X STA $0316 STA $0320 LDA $F3 LSR TAX LDA L68C8,X STA $0325 LDA L6908,X STA $0322 LDA L68E8,X STA $0321 STA $0326 RTS L6690 LDA $C6 BIT L77A6 BPL L6699 EOR #$01 L6699 JSR L789A LDA #$00 L669E STA $B4 TAY L66A1 LDA $1700,Y CMP #$01 BEQ L66AD LDA $1900,Y BEQ L66E6 L66AD LDA #$FF JSR L66F6 LDY $B4 LDA $1900,Y CMP #$01 BEQ L66CB LDX #$F0 L66BD LDA $1900,Y STA $00,X INY INX BNE L66BD LDA #$00 JSR L6714 L66CB LDY $B4 LDX #$10 L66CF LDA $1800,Y STA $1700,Y LDA $1900,Y STA $1800,Y INY DEX BNE L66CF LDY $B4 LDA #$00 STA $1900,Y L66E6 LDA $B4 CLC ADC #$10 BCS L66F0 JMP L669E L66F0 LDX $C6 LDA $C054,X RTS L66F6 LDX $1700,Y BNE L66FC RTS L66FC PHA LDA #$00 L66FF STA $1700,Y LDX #$F0 L6704 LDA $1700,Y STA $00,X INY INX BNE L6704 PLA BIT L754D BPL L6714 RTS L6714 LDX $BF CPX #$51 BEQ L6744 EOR INVFLG BPL L6744 JSR L672B JSR L6744 LDA $BF LDX $C3 JMP L79BF L672B LDA #$49 STA L7A7C STA L7843 LDA #$FF STA L7A7D STA L7844 LDA #$31 STA L7A7E STA L7845 RTS L6744 JSR L6644 LDX #$0A LDA #$00 L674B STA $DA,X DEX BPL L674B LDA $F9 ASL ASL STA $DA LDA $FA ASL ASL STA $DF LDA $FB ASL ASL STA $E4 LDA #$0B ; All are low buffer pointer STA L686D+1 JSR L6822 LDA #$16 STA L686D+1 JSR L681F LDA #$21 STA L686D+1 JSR L681F JSR L6813 LDA $FC JSR L76BC LDA #$00 STA L686D+1 LDY $B4 LDA $FD STA $B5 LDA $FE BNE L6792 L6791 RTS L6792 STA $B6 L6794 LDY #$00 LDA ($B5),Y CMP #$FF BEQ L6791 STA $9F AND #$07 BEQ L67A5 JSR L76BC L67A5 LDY #$03 L67A7 LDA ($B5),Y CLC ADC |$00F3,Y STA $02FF,Y DEY BNE L67A7 LDA #$00 STA $BC LDY #$02 LDA $FB BNE L67BE DEY L67BE STY $BB JSR L682A LDA $E5 LDY $E7 BEQ L67CC JSR L68AC L67CC CLC ADC $F7 STA $80 LDA $E6 LDY $E7 BEQ L67DA JSR L68AC L67DA CLC ADC $F8 STA $82 BIT L754D BPL L67F4 BIT $9F BPL L67EE JSR L7492 JMP L6806 L67EE JSR L748F JMP L6806 L67F4 BIT $9F BPL L67FE JSR L78FD JMP L6806 L67FE LDA $80 STA $84 LDA $82 STA $86 L6806 LDA $B5 CLC ADC #$04 STA $B5 BCC L6794 INC $B6 BNE L6794 L6813 LDY #$0A L6815 LDA |$00E5,Y STA |$00DA,Y DEY BPL L6815 RTS L681F JSR L6813 L6822 LDA #$08 STA $BC L6826 LDA #$02 STA $BB L682A LDA #$02 STA $BE LDA #$00 STA $B9 L6832 JSR L6850 DEC $BE BPL L6832 LDA $BC ORA $BB TAX LDA $B9 STA $E5,X DEC $BB BPL L682A LDA $BC SEC SBC #$04 STA $BC BPL L6826 L684F RTS L6850 LDX #$00 LDA $BE ASL ASL ORA $BB TAY LDA |$00DA,Y BEQ L684F BPL L6866 EOR #$FF CLC ADC #$01 INX L6866 STA $B7 LDA $BC ORA $BE TAY L686D LDA $0300,Y BEQ L684F BPL L687A EOR #$FF CLC ADC #$01 INX L687A STA $B8 CMP #$7F BNE L6884 LDA $B7 BNE L689E L6884 LDA $B7 CMP #$7F BNE L688E LDA $B8 BNE L689E L688E DEC $B8 LDY #$07 LDA #$00 L6894 LSR $B7 BCC L689A ADC $B8 L689A LSR DEY BNE L6894 L689E DEX BNE L68A6 EOR #$FF CLC ADC #$01 L68A6 CLC ADC $B9 STA $B9 RTS L68AC LDX #$00 STA $B9 JSR L68BE STA $B7 TYA JSR L68BE STA $B8 JMP L688E L68BE CMP #$80 BCC L68C7 INX EOR #$FF ADC #$00 L68C7 RTS L68C8 HEX 00060C13191F252B31363C41474C5155 HEX 5A5E62666A6D707375787A7B7D7E7E7F L68E8 HEX 7F7F7E7E7D7B7A787573706D6A66625E HEX 5A55514C47413C36312B251F19130C06 L6908 HEX 00FAF4EDE7E1DBD5CFCAC4BFB9B4AFAB HEX A6A29E9A9693908D8B88868583828281 HEX 81818282838586888B8D9093969A9EA2 HEX A6ABAFB4B9BFC4CACFD5DBE1E7EDF4FA HEX FF060C12181F252B30363C41474C5155 HEX 5A5E62666A6D707376787A7C7D7E7F7F HEX 7F7F7F7E7D7C7A787673706D6A66625E HEX 5A55514C47413C36302B251F18120C06 L6988 LDY #$02 LDX #$00 L698C LDA |$0095,Y BPL L69A3 INX SEC LDA #$00 SBC |$0094,Y STA |$0094,Y LDA #$00 SBC |$0095,Y STA |$0095,Y L69A3 DEY DEY BPL L698C STX $9E RTS L69AA DEC $9E BNE L69BB SEC LDA #$00 SBC $96 STA $96 LDA #$00 SBC $97 STA $97 L69BB RTS L69BC LDY #$10 LDA #$00 STA $98 STA $99 L69C4 ASL $98 ROL $99 ASL $94 ROL $95 BCC L69DB CLC LDA $98 ADC $96 STA $98 LDA $99 ADC $97 STA $99 L69DB DEY BNE L69C4 LDA $98 STA $96 LDA $99 STA $97 RTS L69E7 LDY #$10 LDA #$00 STA $98 STA $99 L69EF ASL $96 ROL $97 ROL $98 ROL $99 SEC LDA $98 SBC $94 TAX LDA $99 SBC $95 BCC L6A09 STA $99 STX $98 INC $96 L6A09 DEY BNE L69EF RTS L6A0D LDY $A4 STA $032C,Y TXA INY STA $032C,Y INY STY $A4 RTS L6A1B LDY $A4 DEY LDX $032C,Y STX $8D DEY LDA $032C,Y STA $8C STY $A4 RTS L6A2C LDY $9C BNE L6A32 INY INY L6A32 DEY LDX $1E00,Y DEY LDA $1E00,Y STY $9C RTS L6A3D LDY $9C STA $1E00,Y INY TXA STA $1E00,Y INY BNE L6A4C DEY DEY L6A4C STY $9C RTS L6A4F LDY $9D BNE L6A55 INY INY L6A55 DEY LDX $1F00,Y DEY LDA $1F00,Y STY $9D RTS L6A60 LDY $9D STA $1F00,Y INY TXA STA $1F00,Y INY BNE L6A6F DEY DEY L6A6F STY $9D RTS L6A72 PHA LDA #$4C JSR L6A8B PLA JSR L6A8B TXA JMP L6A8B L6A80 PHA LDA #$20 JSR L6A8B PLA JSR L6A8B TXA L6A8B LDY #$00 STA ($8E),Y L6A8F INC $8E BNE L6A9A INC $8F LDA $8F JMP L6365 L6A9A RTS *---------------------------- L6A9B LDX #$01 L6A9D TXA BEQ L6AA1 DEX L6AA1 JSR RDCHAR CMP #$95 BNE L6AAC LDA ($28),Y ORA #$80 L6AAC STA $0200,X CMP #$8D BNE L6AC3 BIT $A6 BMI L6AC0 BIT $C7 BMI L6AC0 PHA JSR L6D6E PLA L6AC0 JMP L6ACD L6AC3 JSR L6ACD CMP #$88 BEQ L6A9D INX BNE L6AA1 L6ACD BIT $C7 BMI L6AD4 JMP COUT L6AD4 RTS *---------------------------- L6AD5 STY $5B STX $5A STA $C4 STA ($28),Y LDA INVFLG STA $B2 JSR L6CC3 JSR L6AF9 STA $A9 LDA $B2 STA INVFLG LDA $C4 JSR L6D8A LDA $A9 LDX $5A LDY $5B RTS L6AF9 JSR L6BDD CMP #$89 BNE L6B06 JSR L6BB5 JMP L6AF9 L6B06 CMP #$8F BNE L6B23 JSR L6BDD JSR L6B79 LDX #$04 L6B12 CMP L6B6D,X BEQ L6B1A DEX BNE L6B12 L6B1A LDA L6B72,X STA L6B77 JMP L6AF9 L6B23 LDX L6B77 CPX #$80 BNE L6B39 CMP #$9B BNE L6B39 BIT L6B78 BMI L6B3C DEC L6B78 JMP L6AF9 L6B39 JSR L6B42 L6B3C LDY #$00 STY L6B78 RTS L6B42 CPX #$00 BPL L6B49 JSR L6BA0 L6B49 JSR L6B8B CPX #$20 BNE L6B53 JMP L6B79 L6B53 CPX #$40 BNE L6B5A JMP L6B80 L6B5A CPX #$C0 BNE L6B63 BIT BUTN2 BMI L6B80 L6B63 CPX #$80 BNE L6B6C BIT L6B78 BPL L6B80 L6B6C RTS L6B6D ASC 00 ASC "ULSE" L6B72 HEX 002040C080 L6B77 DB $00 L6B78 DB $00 L6B79 CMP #$E0 BCC L6B7F SBC #$20 L6B7F RTS L6B80 CMP #$C0 BCC L6B8A CMP #$E0 BCS L6B8A ADC #$20 L6B8A RTS L6B8B LDY #$02 L6B8D CMP L6B9A,Y BEQ L6B96 DEY BPL L6B8D RTS L6B96 LDA L6B9D,Y RTS L6B9A HEX 9E9D80 L6B9D ASC "[_\" L6BA0 LDY #$02 L6BA2 CMP L6BAF,Y BEQ L6BAB DEY BPL L6BA2 RTS L6BAB LDA L6BB2,Y RTS L6BAF ASC "^]@" L6BB2 ASC "NMP" L6BB5 LDA $B2 STA INVFLG LDA CH PHA LDA WNDWDTH STA CH DEC CH L6BC2 DEC CH JSR L6DFB INC CH JSR L6D8A DEC CH PLA CMP CH BEQ L6BD6 PHA BNE L6BC2 L6BD6 LDA #$A0 STA $C4 JMP L6D8A L6BDD BIT $C7 BPL L6BF2 JMP L718A L6BE4 LDA #$40 L6BE6 BIT KBD BMI L6BF9 SBC #$01 BCS L6BE6 DEY BNE L6BE4 L6BF2 JSR L6C00 LDY #$00 BEQ L6BE4 L6BF9 LDA KBD BIT KBDSTROBE RTS L6C00 LDA INVFLG EOR #$FF STA INVFLG JSR L6DFB JMP L6D8A L6C0C PHA STY $5B STX $5A BIT L7AC8 BMI L6C19 JSR L6B79 L6C19 JSR L6C22 LDX $5A LDY $5B PLA RTS L6C22 CMP #$A0 BCS L6C5D CMP #$80 BCC L6C5D CMP #$8C BNE L6C31 JMP L6D41 L6C31 CMP #$8D BNE L6C4B LDA KBD BPL L6C80 CMP #$93 BNE L6C80 BIT KBDSTROBE L6C41 LDA KBD BPL L6C41 STA KBDSTROBE BMI L6C80 L6C4B CMP #$88 BEQ L6C69 CMP #$87 BNE L6C56 JMP L73F2 L6C56 CMP #$8B BNE L6C68 JMP L6CE9 L6C5D JSR L6D8A INC CH LDA CH CMP WNDWDTH BCS L6C80 L6C68 RTS L6C69 DEC CH BMI L6C6E RTS L6C6E LDA WNDWDTH STA CH DEC CH LDA WNDTOP CMP CV BCS L6C7F DEC CV JMP L6CC3 L6C7F RTS L6C80 LDA #$00 STA CH INC CV LDA CV CMP WNDBTM BCC L6CC5 LDA WNDTOP PHA L6C8F PLA PHA CLC ADC #$01 JSR L6CC5 LDA $28 STA $26 LDA $29 STA $27 PLA PHA STA CV JSR L6CC5 PLA CLC ADC #$01 CMP WNDBTM BCS L6CBC PHA LDY WNDWDTH DEY L6CB2 LDA ($26),Y JSR L6D8C DEY BPL L6CB2 BMI L6C8F L6CBC LDA #$00 STA CH JMP L6D6E L6CC3 LDA CV L6CC5 PHA JSR VTABZ PLA BIT L7AC8 BPL L6CE8 ASL ASL ASL TAY CLC LDA $1A00,Y ADC $20 STA $50 STA $52 LDA $1B00,Y ORA #$20 STA $51 EOR #$60 STA $53 L6CE8 RTS L6CE9 DEC CV LDA CV BMI L6CF4 CMP WNDTOP BCC L6CF4 RTS L6CF4 LDY WNDBTM DEY TYA PHA L6CF9 PLA PHA SEC SBC #$01 JSR L6CC5 LDA $28 STA $26 LDA $29 STA $27 PLA PHA STA CV JSR L6CC5 PLA CMP WNDTOP BEQ L6D26 SEC SBC #$01 PHA LDY WNDWDTH DEY L6D1C LDA ($26),Y JSR L6D8C DEY BPL L6D1C BMI L6CF9 L6D26 LDA #$00 STA CH JMP L6D6E L6D2D LDX #$0F L6D2F TXA ASL ASL ASL ASL TAY LDA #$00 STA $1700,Y STA $1800,Y DEX BPL L6D2F RTS L6D41 JSR L6D2D LDA WNDTOP STA CV LDA #$00 STA CH L6D4C LDA CH PHA LDA CV PHA L6D52 JSR L6CC5 JSR L6D78 LDA #$00 STA CH INC CV LDA CV CMP WNDBTM BCC L6D52 PLA STA CV JSR L6CC5 PLA STA CH RTS L6D6E LDA CH PHA JSR L6D78 PLA STA CH RTS L6D78 LDA CH CMP WNDWDTH BCS L6D89 LDA #$A0 LDY CH JSR L6D9B INC CH BNE L6D78 L6D89 RTS L6D8A LDY CH L6D8C BIT INVFLG BMI L6D94 ORA #$80 BMI L6D96 L6D94 AND #$7F L6D96 CMP ($28),Y BNE L6D9B RTS L6D9B STA ($28),Y BIT L7AC8 BMI L6DA3 L6DA2 RTS L6DA3 AND #$7F SEC SBC #$20 BCC L6DA2 STA $58 LDA #$00 ASL $58 ROL ASL $58 ROL ASL $58 ROL TAX LDA $C1 CLC ADC $58 STA L6DDA+1 STA L6E48+1 TXA ADC $C2 STA L6DDA+2 STA L6E48+2 LDA L7FBC BNE L6E00 LDA $51 PHA LDA $53 PHA LDX #$00 CLC L6DDA LDA L0800,X EOR INVFLG STA ($50),Y STA ($52),Y LDA $51 ADC #$04 STA $51 LDA $53 ADC #$04 STA $53 INX CPX #$08 BCC L6DDA PLA STA $53 PLA STA $51 RTS L6DFB LDY CH LDA ($28),Y RTS L6E00 TYA PHA LDA $84 PHA LDA $86 PHA LDA $80 PHA LDA $82 PHA TYA JSR L6E20 LDA $96 STA $BB LDA CV JSR L6E20 LDA $96 JMP L6E30 L6E20 STA $96 LDA L7FBC STA $94 LDA #$00 STA $97 STA $95 JMP L69BC L6E30 ASL ASL ASL STA $BC LDA $BB ASL STA $58 ASL CLC ADC $58 ADC $BB STA $BB STA $58 LDX #$00 L6E46 STX $B7 L6E48 LDA L0800,X EOR INVFLG STA $B9 LDA #$07 STA $B8 L6E53 LDA #$C0 LSR $B9 BCS L6E5B LDA #$40 L6E5B STA $C0 LDA $BC STA $86 CLC ADC L7FBC STA $82 LDA $58 STA $84 CLC ADC L7FBC STA $80 LDA $BF CMP #$11 BEQ L6E7B BIT $C0 BPL L6E7E L6E7B JSR L77D8 L6E7E CLC LDA $58 ADC L7FBC STA $58 DEC $B8 BNE L6E53 LDA $BB STA $58 CLC LDA $BC ADC L7FBC STA $BC LDX $B7 INX CPX #$08 BNE L6E46 LDA #$00 STA $C0 PLA STA $82 PLA STA $80 PLA STA $86 PLA STA $84 PLA TAY RTS L6EB0 DA $0000 ; END OF FORTH CMDS ASL JMP L6F22 L6EB6 LDY #$00 STY $96 STY $97 STY $9E STY L6FD5 DEY L6EC2 INY LDA ($8C),Y CMP #$AD ; - BNE L6ECD DEC $9E BNE L6EC2 L6ECD CMP #$A4 ; $ BEQ L6EC2 CMP #$B0 BCC L6F08 CMP #$BA BCC L6EDF SBC #$07 CMP #$BA BCC L6F08 L6EDF SEC SBC #$B0 CMP L6F6B BCS L6F08 DEC L6FD5 PHA LDA L6F6B STA $94 LDA #$00 STA $95 TYA PHA JSR L69BC PLA TAY PLA CLC ADC $96 STA $96 BCC L6F05 INC $97 L6F05 JMP L6EC2 L6F08 BIT $9E BPL L6F19 SEC LDA #$00 SBC $96 STA $96 LDA #$00 SBC $97 STA $97 L6F19 LDA $96 STA $94 LDA $97 STA $95 RTS L6F22 LDA #$00 CLC ADC $A7 STA $8C LDA #$02 ADC #$00 STA $8D JSR L6EB6 BIT L6FD5 BMI L6F3A JMP L65C1 L6F3A LDA #$02 STA $92 LDA #$00 STA $93 LDA #$02 STA $A1 JMP L725F L6F49 DA L6EB0 ASC "GETNUM" JSR L6A2C STX $8D STA $8C JSR L6EB6 LDA $94 LDX $95 JMP L6A3D L6F62 DA L6F49 ASC "BASE" JSR L7289 L6F6B DA $000A L6F6D DA L6F62 ASC "DECIMAL" ASL JSR L6F81 LDA #L6F81 JMP L6A80 L6F81 LDA #$0A L6F83 STA L6F6B RTS L6F87 DA L6F6D ASC "BINARY" ASL JSR L6F9A LDA #L6F9A JMP L6A80 L6F9A LDA #$02 BNE L6F83 L6F9E DA L6F87 ASC "HEX" ASL JSR L6FAE LDA #L6FAE JMP L6A80 L6FAE LDA #$10 BNE L6F83 L6FB2 DA L6F9E ASC "SAVEPRG" L6FBB JMP L643A L6FBE DA L6FB2 ASC "PRGTOP" JSR L7289 L6FC9 DA L832F L6FCB DA L6FBE ASC "VALID" JSR L7289 L6FD5 DA $00FD L6FD7 DA L6FCB ASC "EDIT" CLC LDA $AD LDY #"1" LDX #>L9000 CMP #$C0 BCC L6FEC LDY #"2" ; EDITOR 2 LDX #>LB600 ; AT $B600 L6FEC STX $89 STY L7025+$10 LDA #LC000 STA CSWH LDA #L2000 STA L7872+2 LDX #$40 LDA INVFLG LDY #$00 L7872 STA L6000,Y INY BNE L7872 INC L7872+2 DEX BNE L7872 JSR HOME JMP L6D2D L7884 DA L785F ASC "SCREEN" JSR L6A2C L788F JSR L789A LDA $C054,X RTS L7896 LDA $C6 EOR #$01 L789A AND #$01 STA $C6 TAX LDA L78A5,X STA $C5 RTS L78A5 HEX 2040 L78A7 DA L7884 ASC "UNLINE" CLC LDA #$FF BNE L78BD L78B4 DA L78A7 ASC "LINE" CLC LDA #$00 L78BD PHA JSR L6A2C STA $82 JSR L6A2C STA $80 PLA BIT L754D BPL L78D1 JMP L7492 L78D1 LDX $BF CPX #$51 BEQ L78E8 EOR INVFLG BPL L78E8 JSR L672B JSR L78E8 LDA $BF LDX $C3 JMP L79BF L78E8 JSR L7896 LDA $86 PHA LDA $84 PHA JSR L78FD PLA STA $84 PLA STA $86 JSR L7896 L78FD LDY #$E6 ; INC ZP SEC LDA $82 SBC $86 BCS L790C EOR #$FF ADC #$01 LDY #$C6 ; DEC ZP L790C STA $8A LDX #$E8 ; INX SEC LDA $80 SBC $84 BCS L791D EOR #$FF ADC #$01 LDX #$CA ; DEX L791D STA $88 CMP $8A BCC L796E CMP #$00 BNE L7928 RTS L7928 STY L7943 STX L7955 JSR L7A56 LDX $84 STX $AA LDA $88 LSR L7938 SEC SBC $8A STA $A9 BCS L7955 ADC $88 STA $A9 L7943 INC $86 LDY $86 LDA $1A00,Y STA $54 LDA $1B00,Y ORA $C5 STA $55 STX $AA L7955 INX LDA $AE AND $C3 BPL L7962 TXA EOR $AA ROR BCC L7965 L7962 JSR L7A6A L7965 LDA $A9 CPX $80 BNE L7938 STX $84 RTS L796E STY L7985 STX L7984 LDX $84 LDA $8A LSR L7979 SEC SBC $88 STA $A9 BCS L7985 ADC $8A STA $A9 L7984 DEX L7985 INC $86 LDY $86 LDA $1A00,Y STA $54 LDA $1B00,Y ORA $C5 STA $55 JSR L7A6A LDA $A9 LDY $82 CPY $86 BNE L7979 STX $84 RTS L79A3 DA L78B4 ASC "EXMODE" CLC LDA #$51 LDX #$FF BNE L79BF L79B2 DA L79A3 ASC "ORMODE" CLC L79BB LDA #$11 LDX #$00 L79BF STX $C3 STA $BF STA L7A7E STA L7845 LDA #$EA ; NOP STA L7A7C STA L7A7D STA L7843 STA L7844 RTS L79D8 DA L79B2 ASC "GPEEK" JSR L7A48 LDX $84 LDY $1C00,X LDA $1D00,X AND ($54),Y LDX #$00 JMP L6A3D L79F1 DA L79D8 ASC "UNPLOT" CLC LDA #$FF BNE L7A07 L79FE DA L79F1 ASC "PLOT" CLC LDA #$00 L7A07 BIT L754D L7A0A BPL L7A0F JMP L7485 L7A0F PHA JSR L6A2C STA $86 STA $82 JSR L6A2C STA $84 STA $80 PLA LDX $BF CPX #$51 BEQ L7A36 EOR INVFLG BPL L7A36 JSR L672B JSR L7A36 LDA $BF LDX $C3 JMP L79BF L7A36 JSR L7896 JSR L7A65 JSR L7896 JMP L7A65 L7A42 DA L79FE ASC "POSN" L7A48 JSR L6A2C STA $82 STA $86 JSR L6A2C STA $80 STA $84 L7A56 LDX $86 LDA $1A00,X STA $54 LDA $1B00,X ORA $C5 STA $55 RTS L7A65 JSR L7A56 LDX $84 L7A6A CLC LDY $1C00,X LDA $1D00,X BIT $AE BPL L7A79 ASL ORA $1D00,X L7A79 AND $03A8,Y L7A7C NOP L7A7D NOP L7A7E ORA ($54),Y AND #$7F ORA $B1 STA ($54),Y BCC L7A8E CLC INY LDA #$01 BNE L7A79 L7A8E RTS L7A8F DA L7A42 ASC "WINDOW" JSR L6A2C STA WNDBTM JSR L6A2C STA WNDTOP STA CV JSR L6A2C STA WNDWDTH JSR L6A2C STA WNDLFT JMP L6CC3 L7AB0 DA L7A8F ASC "TEXT" CLC LDA TXTSET LDA TXTPAGE1 LDA #$00 STA L7AC8 JSR L6421 JMP L7FB0 L7AC8 DB $FF L7AC9 DA L7AB0 ASC "GR" CLC L7ACE LDA HIRES LDA MIXCLR LDA TXTCLR LDA #$FF STA L7AC8 JMP L6421 L7ADF CLC LDX #$00 L7AE2 JSR L7B0A JSR L7AEC INX BNE L7AE2 RTS L7AEC LDY #$FF TXA SEC L7AF0 INY SBC #$07 BCS L7AF0 PHA TYA STA $1C00,X PLA TAY LDA L7B03-$F9,Y ; or $7A0A+$F9 because 7 above STA $1D00,X RTS L7B03 HEX 010204081020C0 L7B0A TXA CMP #$C0 BCC L7B11 SBC #$C0 L7B11 TAY AND #$C0 STA $1A00,X LSR LSR ORA $1A00,X STA $1A00,X TYA LSR LSR LSR LSR AND #$03 STA $1B00,X ROR $1A00,X TYA AND #$07 ASL ASL ORA $1B00,X STA $1B00,X RTS L7B38 DA L7AC9 ASC "FORGET" ASL JSR L63FB BIT $A0 BMI L7B64 JSR L6378 BCS L7B64 LDA $9A STA L7B65+1 LDA $9B STA L7B67+1 LDX #$00 L7B59 LDA L7B65,X JSR L6A8B INX CPX #$0D BNE L7B59 L7B64 RTS L7B65 LDA #L82CB STA L6FC9 STX L6FC9+1 JSR L636F L7B72 DA L7B38 ASC "LIST" CLC LDA #$00 BEQ L7B87 L7B7D DA L7B72 ASC "$LIST" CLC LDA #$FF L7B87 STA $9F LDA L6FC9 STA $8C LDA L6FC9+1 STA $8D L7B93 LDA #$14 STA $BA L7B97 LDY #$00 LDA ($8C),Y TAX INY LDA ($8C),Y BEQ L7BDC STA $8D TXA STA $8C LDY #$02 LDA #$8D JSR COUT BIT $9F BPL L7BC3 LDA #$A4 ; $ JSR COUT LDA $8D JSR PRBYTE LDA $8C JSR PRBYTE JSR L7F2C L7BC3 LDA ($8C),Y BPL L7BCD JSR COUT INY BNE L7BC3 L7BCD DEC $BA BNE L7B97 LDY CH LDA ($28),Y JSR L6AD5 CMP #$83 BNE L7B93 L7BDC RTS L7BDD DA L7B7D ASC "ABS." JSR L6A2C STX $95 STA $94 JMP L7C06 L7BED DA L7BDD ASC "." JSR L6A2C L7BF3 PHA TXA PHA BPL L7BFD LDA #$AD ; - JSR COUT L7BFD PLA STA $95 PLA STA $94 JSR L6988 L7C06 LDX #$00 L7C08 JSR L7C28 CLC ADC #$B0 CMP #$BA BCC L7C14 ADC #$06 L7C14 STA $02F0,X INX LDA $94 ORA $95 BNE L7C08 L7C1E LDA $02EF,X JSR COUT DEX BNE L7C1E RTS L7C28 LDY #$10 LDA #$00 L7C2C ASL $94 ROL $95 ROL CMP L6F6B BCC L7C3B SBC L6F6B INC $94 L7C3B DEY BNE L7C2C RTS L7C3F DA L7BED ASC "STACK" CLC LDA L7C50 EOR #$FF STA L7C50 RTS L7C50 DB $00 L7C51 DA L7C3F ASC "+" JSR L7EFA LDY $9C CLC LDA $1DFE,Y ADC $1E00,Y STA $1DFE,Y LDA $1DFF,Y ADC $1E01,Y STA $1DFF,Y RTS L7C6D DA L7C51 ASC "-" JSR L7EFA LDY $9C SEC LDA $1DFE,Y SBC $1E00,Y STA $1DFE,Y LDA $1DFF,Y SBC $1E01,Y STA $1DFF,Y RTS L7C89 DA L7C6D ASC "*" JSR L7C9F JSR L6988 JSR L69BC JSR L69AA LDX $97 LDA $96 JMP L6A3D L7C9F LDA $9C SEC SBC #$04 STA $9C TAY LDA $1E00,Y STA $96 LDA $1E01,Y STA $97 LDA $1E02,Y STA $94 LDA $1E03,Y STA $95 RTS L7CBC DA L7C89 ASC "/" JSR L7CC5 JMP L6A3D L7CC5 JSR L7C9F JSR L6988 JSR L69E7 JSR L69AA LDX $97 LDA $96 RTS L7CD6 DA L7CBC ASC "MOD" JSR L7CC5 LDX $99 LDA $98 JMP L6A3D L7CE5 DA L7CD6 ASC "BYE" JSR INIT JSR SETVID JSR SETKBD JSR $03EA LDA #MON STA SOFTEV+1 STA INVFLG EOR #$A5 STA PWREDUP JMP MON L7D0A DA L7CE5 ASC "PICK" JSR L6A2C SEC SBC #$01 ASL STA $94 LDA $9C STA $96 SEC SBC $94 STA $9C JSR L6A2C LDY $96 STY $9C JMP L6A3D L7D2C DA L7D0A ASC "OVER" CLC LDY $9C LDA $1DFC,Y LDX $1DFD,Y JMP L6A3D L7D3E DA L7D2C ASC "DUP" CLC LDY $9C LDA $1DFE,Y STA $1E00,Y LDA $1DFF,Y STA $1E01,Y INY INY STY $9C RTS L7D57 DA L7D3E ASC "IF" ASL L7D5C LDA #L7DE1 JSR L6A80 LDA #$4C JSR L6A8B LDA $8E LDX $8F JSR L6A0D L7D6F LDA #$79 JSR L6A8B LDA #$7D JMP L6A8B LDY #$12 JMP L610D L7D7E DA L7D57 ASC "ELSE" ASL LDA #$4C JSR L6A8B LDA $8E PHA LDA $8F PHA JSR L7D6F JSR L6A1B LDY #$00 LDA $8E STA ($8C),Y INY LDA $8F STA ($8C),Y PLA TAX PLA JMP L6A0D L7DA7 DA L7D7E ASC "THEN" ASL JSR L6A1B LDY #$00 LDA $8E STA ($8C),Y INY LDA $8F STA ($8C),Y RTS L7DBD DA L7DA7 ASC "BEGIN" ASL L7DC5 LDA $8E LDX $8F JMP L6A0D L7DCC DA L7DBD ASC "UNTIL" ASL LDA #L7DE1 JSR L6A80 L7DDB JSR L6A1B JMP L6A72 L7DE1 JSR L7EFA LDA $1E01,Y ORA $1E00,Y BEQ L7DFB L7DEC TSX LDA $0101,X CLC ADC #$03 STA $0101,X BCC L7DFB INC $0102,X L7DFB RTS L7DFC DA L7DCC ASC "WHILE" ASL JMP L7D5C L7E07 DA L7DFC ASC "REPEAT" ASL JSR L6A1B LDY #$00 LDA $8E CLC ADC #$03 STA ($8C),Y INY LDA $8F ADC #$00 STA ($8C),Y JSR L6A1B JMP L6A72 L7E29 DA L7E07 ASC "DO" ASL LDA #L7E38 JSR L6A80 JMP L7DC5 L7E38 JSR L7F08 JSR L7EAE JMP L7EAE L7E41 DA L7E29 ASC "LOOP" ASL LDA #L7E52 JSR L6A80 JMP L7DDB L7E52 LDA #$01 LDX #$00 BEQ L7E5B L7E58 JSR L6A2C L7E5B STX $92 LDY $9D CLC ADC $1EFE,Y STA $1EFE,Y TXA ADC $1EFF,Y STA $1EFF,Y SEC LDA $1EFE,Y SBC $1EFC,Y STA $88 LDA $1EFF,Y SBC $1EFD,Y ORA $88 BEQ L7E8C ROR EOR $1EFF,Y EOR $1EFD,Y EOR $92 BMI L7E8C RTS L7E8C LDA $9D SEC SBC #$04 STA $9D JMP L7DEC L7E96 DA L7E41 ASC "+LOOP" ASL LDA #L7E58 JSR L6A80 JMP L7DDB L7EA8 DA L7E96 ASC "PUSH" L7EAE JSR L6A2C JMP L6A60 L7EB4 DA L7EA8 ASC "PULL" JSR L6A4F JMP L6A3D L7EC0 DA L7EB4 ASC "K" CLC LDA $9D SBC #$07 JMP L7EDC L7ECB DA L7EC0 ASC "J" CLC LDA $9D SBC #$03 JMP L7EDC L7ED6 DA L7ECB ASC "I" CLC LDA $9D L7EDC TAY LDX $1EFF,Y LDA $1EFE,Y JMP L6A3D L7EE6 DA L7ED6 ASC "POP" CLC LDY $9D DEY DEY STY $9D RTS L7EF3 DA L7EE6 ASC "DROP" CLC L7EFA LDY $9C DEY DEY STY $9C RTS L7F01 DA L7EF3 ASC "SWAP" CLC L7F08 LDY $9C LDX $1DFD,Y LDA $1DFF,Y STA $1DFD,Y TXA STA $1DFF,Y LDX $1DFC,Y LDA $1DFE,Y STA $1DFC,Y TXA STA $1DFE,Y RTS L7F25 DA L7F01 ASC "SPCE" CLC L7F2C LDA #$A0 JMP COUT L7F31 DA L7F25 ASC "CR" L7F35 CLC LDA #$8D JMP COUT L7F3B DA L7F31 ASC "CHRSET" JSR L7289 DA L0800 L7F48 DA L7F3B ASC "CHRADR" JSR L6A2C L7F53 CPX #$00 BNE L7F5B LDA #L0800 L7F5B STA $C1 STX $C2 RTS L7F60 DA L7F48 ASC "BLKSIZE" JSR L6A2C STA L7F77 JSR L6A2C STA L7F76 RTS L7F76 DB $01 L7F77 DB $01 L7F78 DA L7F60 ASC "CHRSIZE" JSR L6A2C PHA STA L7FBC JSR L7FB0 PLA BEQ L7FAF LDA #$24 JSR L7F9D STA WNDWDTH LDA #$18 JSR L7F9D STA WNDBTM RTS L7F9D STA $96 LDA L7FBC STA $94 LDA #$00 STA $97 STA $95 JSR L69E7 LDA $96 L7FAF RTS L7FB0 JSR $FB3C LDA #$00 STA CV STA CH JMP L6CC3 L7FBC DB $00 L7FBD DA L7F78 ASC "PUTBLK" JSR L6A2C CLC ADC #$A0 STA L8004 LDA CV PHA LDA CH STA L8005 PHA LDA L7F77 STA L8006 L7FDD LDX L7F76 LDA L8005 STA CH L7FE5 LDA L8004 JSR L6C0C INC L8004 DEX BNE L7FE5 INC CV JSR L6CC3 DEC L8006 BNE L7FDD PLA STA CH PLA STA CV JMP L6CC3 L8004 DB $00 L8005 DB $00 L8006 DB $00 L8007 DA L7FBD ASC "PUTC" JSR L6A2C JMP COUT L8013 DA L8007 ASC "CLRKEY" CLC STA KBDSTROBE RTS L8020 DA L8013 ASC "GETKEY" CLC LDA KBD LDX #$00 JMP L6A3D L8031 DA L8020 ASC "GETC" L8037 JSR RDKEY LDX #$00 JMP L6A3D L803F DA L8031 ASC "HTAB" JSR L6A2C STA CH RTS L804B DA L803F ASC "VTAB" JSR L6A2C STA CV JMP L6CC3 L8059 DA L804B ASC "PEEK" JSR L6A2C STA L8068+1 STX L8068+2 L8068 LDA L8068 LDX #$00 JMP L6A3D L8070 DA L8059 ASC "'" PLA CLC ADC #$03 TAY PLA ADC #$00 TAX PHA TYA PHA BNE L8082 DEX L8082 DEY STY $8C STX $8D LDY #$01 LDA ($8C),Y TAX DEY LDA ($8C),Y JMP L6A3D L8092 DA L8070 ASC "," ASL JSR L6589 JMP L6A8B L809C DA L8092 ASC "PEEKW" JSR L6A2C STA $8C STX $8D LDY #$01 LDA ($8C),Y TAX DEY LDA ($8C),Y JMP L6A3D L80B5 DA L809C ASC "AND" CLC LDX #$02 LDY $9C L80BF LDA $1DFD,Y AND $1DFF,Y STA $1DFD,Y DEY DEX BNE L80BF STY $9C RTS L80CF DA L80B5 ASC "OR" CLC LDX #$02 LDY $9C L80D8 LDA $1DFD,Y ORA $1DFF,Y STA $1DFD,Y DEY DEX BNE L80D8 STY $9C RTS L80E8 DA L80CF ASC "CLEOL" JMP L6D6E L80F2 DA L80E8 ASC "CLEOP" JMP L6D4C L80FC DA L80F2 ASC "HOME" CLC LDA #$8C JMP COUT L8108 DA L80FC ASC "<=" JSR L811E BCC L8119 ORA $9E BEQ L8119 L8115 TXA JMP L6A3D L8119 LDA #$01 JMP L6A3D L811E JSR L6A2C JSR L6A2C LDY $9C LDA $1E01,Y EOR $1E03,Y AND #$80 STA $88 SEC LDA $1E00,Y SBC $1E02,Y STA $9E LDA $1E01,Y SBC $1E03,Y ROR EOR $88 ROL LDX #$00 RTS L8146 DA L8108 ASC ">=" JSR L811E BCS L8152 JMP L8115 L8152 JMP L8119 L8155 DA L8146 ASC "<" JSR L811E BCC L8160 JMP L8115 L8160 JMP L8119 L8163 DA L8155 ASC ">" JSR L811E ORA $9E BEQ L816F BCS L8172 L816F JMP L8115 L8172 JMP L8119 L8175 DA L8163 ASC "=" L8178 JSR L811E ORA $9E BNE L8182 JMP L8119 L8182 JMP L8115 L8185 DA L8175 ASC "<>" JSR L811E ORA $9E BEQ L8193 JMP L8119 L8193 JMP L8115 L8196 DA L8185 ASC "POKE" CLC JSR L6A2C STA L81A9+1 STX L81A9+2 JSR L6A2C L81A9 STA L6908+$3F RTS L81AD DA L8196 ASC "->" CLC DEC $AC RTS L81B5 DA L81AD ASC "POKEW" CLC JSR L6A2C STA $8C STX $8D JSR L6A2C LDY #$00 STA ($8C),Y INY TXA STA ($8C),Y RTS L81D0 DA L81B5 ASC "MAX" JSR L811E ROR EOR #$80 ROL JMP L81E7 L81DF DA L81D0 ASC "MIN" JSR L811E L81E7 BCC L81EB INY INY L81EB LDA $1E00,Y LDX $1E01,Y JMP L6A3D L81F4 DA L81DF ASC "RNDB" JSR L820E LDX #$00 JMP L6A3D L8202 DA L81F4 ASC "RND" CLC JSR L820E JMP L6A3D L820E LDA L8223 PHA CLC ADC L8224 STA L8223 TAX PLA ADC L8222 STA L8222 RTS L8222 DB $E9 L8223 DB $0F L8224 DB $DB L8225 DA L8202 ASC "AREG" JSR L7289 L822E DA $0000 L8230 DA L8225 ASC "XREG" JSR L7289 L8239 DA $0000 L823B DA L8230 ASC "YREG" JSR L7289 L8244 DA $0000 L8246 DA L823B ASC "PREG" JSR L7289 L824F DA $0000 L8251 DA L8246 ASC "CALL" JSR L6A2C STA $8C STX $8D LDA L824F PHA LDA L822E LDX L8239 LDY L8244 PLP JSR L827E PHP STA L822E STX L8239 STY L8244 PLA STA L824F RTS L827E JMP ($008C) L8281 DA L8251 ASC "SGN" JSR L6A2C CPX #$00 BMI L829D STX $94 ORA $94 BNE L8296 JMP L6A3D L8296 LDA #$01 LDX #$00 JMP L6A3D L829D LDA #$FF TAX JMP L6A3D L82A3 DA L8281 ASC "ABS" CLC LDY $9C LDA $1DFF,Y BMI L82B7 RTS L82B1 DA L82A3 ASC "CHS" CLC L82B7 LDY $9C LDA #$00 SEC SBC $1DFE,Y STA $1DFE,Y LDA #$00 SBC $1DFF,Y STA $1DFF,Y RTS L82CB DA L82B1 ASC "IT" JSR L7232 JSR L7322 ASC "FORGET IT ABORT"00 JSR L72CD DA $0000 JSR L7217 JSR L7F35 JSR L7363 ASC "Demonstration (Y/N) : "00 JSR L8037 JSR L72CD DA $00D9 JSR L8178 JSR L7DE1 JMP L8328 L831B JSR L71A4 ASC "HEADER"00 JMP L832E L8328 JSR L7232 JSR L717C L832E RTS L832F DA L82CB DB $00 DA L6FBB DB $00 DS \ *----------------------------