antoine-source/graforth/graforth.s

4453 lines
43 KiB
ArmAsm

*
* 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
STA AMPERV+1
STA $03F0
STA IRQLOC
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 CSWL
LDA #>L6C0C
STA CSWH
LDA #<L6AD5
STA KSWL
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
LDX #>L6F81
JMP L6A80
L6F81 LDA #$0A
L6F83 STA L6F6B
RTS
L6F87 DA L6F6D
ASC "BINARY"
ASL
JSR L6F9A
LDA #<L6F9A
LDX #>L6F9A
JMP L6A80
L6F9A LDA #$02
BNE L6F83
L6F9E DA L6F87
ASC "HEX"
ASL
JSR L6FAE
LDA #<L6FAE
LDX #>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 #<LB600
STA $88
TAY
LDA ($88),Y ; MARKER IS A9 4C
CMP #$A9 ; )
BNE L7003
INY
LDA ($88),Y
CMP #$4C
BEQ L7021
L7003 LDY #$FF
L7005 INY
LDA L7024,Y
BEQ L7021
CMP #$BF ; ?
BNE L701B
TXA
JSR PRBYTE
LDA #$00
JSR PRBYTE
JMP L7005
L701B JSR COUT
JMP L7005
L7021 JMP ($0088)
L7024 ASC 8D
L7025 ASC 84
ASC "BLOADOBJ.EDITOR1,A$?"8D00
L703C DA L6FD7
ASC "WRITELN"
JSR L6A2C
STA $8C
STX $8D
LDY #$00
L704E LDA ($8C),Y
BEQ L705C
CMP #$8D
BEQ L705C
JSR COUT
INY
BNE L704E
L705C RTS
L705D DA L703C
ASC "READLN"
L7065 JSR L6A9B
JSR L6A2C
STA $8C
STX $8D
LDY #$00
L7071 LDA $0200,Y
STA ($8C),Y
INY
CMP #$8D
BNE L7071
RTS
L707C DA L705D
ASC "CLOSE"
JMP L6560
L7086 DA L707C
ASC "MOVMEM"
JSR L6A2C
STA $98
STX $99
JSR L6A2C
STA $96
STX $97
JSR L6A2C
STA $94
STX $95
LDX $98
LDY #$00
L70A7 TXA
BNE L70B0
LDA $99
BEQ L70BE
DEC $99
L70B0 DEX
LDA ($94),Y
STA ($96),Y
INY
BNE L70A7
INC $95
INC $97
BNE L70A7
L70BE RTS
L70BF DA L7086
ASC "("
ASL
LDX $A7
L70C5 INX
LDA $0200,X
CMP #$8D
BEQ L70D9
CMP #$A0
BNE L70C5
LDA $0201,X
CMP #$A9 ; )
BNE L70C5
INX
L70D9 STX $A7
RTS
L70DC DA L70BF
ASC "CASE:"
ASL
LDA #$FA
LDX #$70
JSR L6A80
LDA #$4C
JSR L6A8B
LDA $8E
LDX $8F
JSR L6A0D
JMP L7D6F
L70FA TSX
PLA
STA $8C
PLA
STA $8D
TXS
JSR L6A2C
STA $94
ASL
CLC
ADC $94
ADC #$06
TAY
LDA ($8C),Y
TAX
DEY
LDA ($8C),Y
STA $8C
STX $8D
JMP ($008C)
L711B DA L70DC
ASC ":"
ASL
LDA $A2
BEQ L713C
LDA #$4C
JSR L6A8B
LDA $8E
LDX $8F
JSR L6A0D
LDA #$70
JSR L6A8B
LDA #$71
JSR L6A8B
JSR L73CE
L713C JSR L63FB
BIT $A0
BMI L714B
JSR L636F
JSR L73B0
INC $A2
L714B RTS
L714C DA L711B
ASC ";"
ASL
LDA #$60
JSR L6A8B
DEC $A2
BPL L715C
JMP L7170
L715C BEQ L716D
JSR L6A1B
LDY #$00
LDA $8E
STA ($8C),Y
INY
LDA $8F
STA ($8C),Y
RTS
L716D JMP L73CE
L7170 LDY #$13
JMP L610D
L7175 DA L714C
ASC "MEMRD"
L717C JSR L6A2C
STA $C8
STX $C9
LDA #$FF
STA $C7
STA $A6
RTS
L718A LDY #$00
LDA ($C8),Y
BEQ L7197
INC $C8
BNE L7196
INC $C9
L7196 RTS
L7197 STA $C7
STA $A6
LDA #$8D
RTS
L719E DA L7175
ASC "READ"
L71A4 PLA
STA $8C
PLA
STA $8D
DEC $A6
LDA #$22
JSR L60FD
LDA #$8D
STA $A9
LDX #$00
L71B7 LDA L71F4,X
BEQ L71DB
JSR COUT
INX
CMP #$A0
BNE L71B7
LDY #$01
L71C6 LDA ($8C),Y
BEQ L71D4
CMP $A9
BEQ L71D4
JSR COUT
INY
BNE L71C6
L71D4 LDA #$AC
STA $A9
BNE L71B7
L71DA INY
L71DB LDA ($8C),Y
BNE L71DA
TYA
CLC
ADC $8C
STA $8C
TAX
BCC L71EA
INC $8D
L71EA LDA $8D
PHA
TXA
PHA
LDA #$23
JMP L60FD
L71F4 ASC 8D84
ASC "OPEN "
ASC 8D
ASC 84
ASC "READ "8D00
L7204 DA L719E
ASC "ABORT"
JMP L6248
L720E DA L7204
ASC "AUTORUN"
L7217 JSR L6A2C
LDX #$00
TAY
BEQ L7220
DEX
L7220 STX L7224
RTS
L7224 DB $FF
L7225 DA L720E
ASC "RUN"
JMP L6516
L722D DA L7225
ASC "PAD"
L7232 CLC
L7233 LDA #$2C
LDX #$03
JMP L6A3D
L723A DA L722D
ASC "STRING"
ASL
JSR L63FB
BIT $A0
BPL L724B
RTS
L724B LDA #$04
STA $A1
JSR L6589
STX $93
STA $92
L7256 JSR L73B0
JSR L725F
JMP L73CE
L725F LDY $A1
LDX L7283+1,Y
LDA L7283,Y
JSR L6A80
LDY #$00
LDA $94
STA ($8E),Y
INY
LDA $95
STA ($8E),Y
LDA $8E
CLC
ADC $92
STA $8E
LDA $8F
ADC $93
STA $8F
RTS
L7283 DA L7289
DA L72CD
DA L72B2
L7289 PLA
TAY
PLA
TAX
INY
BNE L7291
INX
L7291 STY $8C
STX $8D
BIT $AC
BMI L72A4
LDY #$01
LDA ($8C),Y
TAX
DEY
LDA ($8C),Y
JMP L6A3D
L72A4 JSR L6A2C
LDY #$00
STY $AC
STA ($8C),Y
INY
TXA
STA ($8C),Y
RTS
L72B2 PLA
TAY
PLA
TAX
INY
BNE L72BA
INX
L72BA STY $8C
STX $8D
JSR L6A2C
CLC
ADC $8C
PHA
TXA
ADC $8D
TAX
PLA
JMP L6A3D
L72CD PLA
STA $8C
CLC
ADC #$02
TAY
PLA
STA $8D
ADC #$00
PHA
TYA
PHA
LDY #$02
LDA ($8C),Y
TAX
DEY
LDA ($8C),Y
JMP L6A3D
L72E7 DA L723A
ASC ""A2""
ASL
LDX $A7
INX
L72EE INX
LDA $0200,X
CMP #$8D
BEQ L7313
CMP #$A0
BNE L730C
LDY $0201,X
CPY #$A2 ; "
BNE L730C
LDY $0202,X
CPY #$A0
BEQ L7312
CPY #$8D
BEQ L7312
L730C JSR L6A8B
JMP L72EE
L7312 INX
L7313 STX $A7
LDA #$00
JMP L6A8B
L731A DA L72E7
ASC "ASSIGN"
L7322 PLA
CLC
ADC #$01
STA $8C
PLA
ADC #$00
STA $8D
JSR L6A2C
STA $94
STX $95
LDY #$FF
L7336 INY
LDA ($8C),Y
STA ($94),Y
BNE L7336
BEQ L7375
L733F DA L731A
ASC "NORMAL"
CLC
L7348 LDA #$00
STA INVFLG
RTS
L734D DA L733F
ASC "INVERSE"
CLC
LDA #$FF
STA INVFLG
RTS
L735C DA L734D
ASC "PRINT"
L7363 PLA
STA $8C
PLA
STA $8D
LDY #$01
L736B LDA ($8C),Y
BEQ L7375
JSR COUT
INY
BNE L736B
L7375 INY
TYA
CLC
ADC $8C
STA $8C
BCC L7380
INC $8D
L7380 JMP ($008C)
L7383 DA L735C
ASC "VARIABLE"
ASL
LDA #$00
STA $9F
JSR L63FB
BIT $A0
BMI L73AF
JSR L6589
STA $96
STX $97
LDA #$02
STA $92
LDA #$00
STA $93
LDA $9F
STA $A1
JMP L7256
L73AF RTS
L73B0 JSR L6378
BCS L73B8
JSR L65C5
L73B8 LDX $A7
L73BA LDA $0200,X
BEQ L73CD
CMP #$A0
BEQ L73CD
CMP #$8D
BEQ L73CD
JSR L6A8B
INX
BNE L73BA
L73CD RTS
L73CE LDY #$00
LDA $8E
PHA
LDA $8F
PHA
LDA L6FC9
JSR L6A8B
LDA L6FC9+1
JSR L6A8B
PLA
STA L6FC9+1
PLA
STA L6FC9
RTS
L73EB DA L7383
ASC "BELL"
CLC
L73F2 LDA $CA
PHA
LDA #$FF
STA $CA
LDA #$40
JSR L7407
LDA #$50
JSR L7407
PLA
STA $CA
RTS
L7407 PHA
LDA #$10
STA $92
PLA
JMP L6009
L7410 DA L73EB
ASC "VOICE"
JSR L6A2C
STA $CA
RTS
L741D DA L7410
ASC "NOTE"
JSR L6A2C
STA $92
JSR L6A2C
BEQ L7434
LDX $92
BEQ L7434
JMP L6009
L7434 RTS
L7435 DA L741D
ASC "PLOTTER"
JSR L6A2C
STA L754E
JSR L6A2C
STA L754A
STX L754B
JSR L6A2C
STA L7548
STX L7549
JSR L6A2C
STA L754C
LDA L754E
BNE L7465
STA L754D
RTS
L7465 LDA #$FF
STA L754D
JSR L753C
JSR L7529
LDA #$C4
JSR COUT
LDA #$C6
JSR COUT
JSR L751F
LDA #$00
STA $80
STA $82
BEQ L748F
L7485 JSR L6A2C
STA $82
JSR L6A2C
STA $80
L748F LDA #$00
DB $2C
L7492 LDA #$FF
STA L754F
LDA L6F6B
PHA
LDA #$0A
STA L6F6B
JSR L753C
JSR L750B
JSR L7529
LDA #$D0 ; P
JSR COUT
LDA #$C1 ; A
JSR COUT
LDX #$00
JSR L74E6
JSR L7BF3
LDA #$AC ; ,
JSR COUT
LDX #$02
JSR L74E6
LDA #$CC
SEC
SBC $96
PHA
LDA #$1F
SBC $97
TAX
PLA
JSR L7BF3
JSR L751F
PLA
STA L6F6B
LDA $80
STA $84
LDA $82
STA $86
JMP L6427
L74E6 LDA $80,X
STA $96
LDA L754E
STA $94
LDY #$00
STY $97
STY $95
JSR L69BC
LDA $96
CLC
ADC L7548,X
STA $96
PHA
LDA $97
ADC L7549,X
STA $97
TAX
PLA
RTS
L750B JSR L7529
LDA #$D0 ; P
JSR COUT
LDA #$C4 ; D
BIT L754F
BMI L751C
LDA #$D5 ; U
L751C JSR COUT
L751F LDA #$BB ; ;
JSR COUT
LDA #$8D
JMP COUT
L7529 LDY #$00
L752B LDA L7537,Y
BEQ L7536
JSR COUT
INY
BNE L752B
L7536 RTS
L7537 ASC "WT%"9A00
L753C LDA L754C
ORA #>LC000
STA CSWH
LDA #<LC000
STA CSWL
RTS
L7548 DB $00
L7549 DB $00
L754A DB $00
L754B DB $00
L754C DB $00
L754D DB $00
L754E DB $00
L754F DB $00
L7550 DA L7435
ASC "OFF"
CLC
LDY $B3
LDA #$01
STA $1900,Y
RTS
L755E DA L7550
ASC "XROT"
CLC
LDA #$01
JMP L760D
L756A DA L755E
ASC "YROT"
CLC
LDA #$02
JMP L760D
L7576 DA L756A
ASC "ZROT"
CLC
LDA #$03
JMP L760D
L7582 DA L7576
ASC "XTRAN"
CLC
LDA #$04
JMP L760D
L758F DA L7582
ASC "YTRAN"
CLC
LDA #$05
BNE L760D
L759B DA L758F
ASC "ZTRAN"
CLC
LDA #$06
BNE L760D
L75A7 DA L759B
ASC "XPOS"
CLC
LDA #$07
BNE L760D
L75B2 DA L75A7
ASC "YPOS"
CLC
LDA #$08
BNE L760D
L75BD DA L75B2
ASC "SCALX"
CLC
LDA #$09
BNE L760D
L75C9 DA L75BD
ASC "SCALY"
CLC
LDA #$0A
BNE L760D
L75D5 DA L75C9
ASC "SCALZ"
CLC
LDA #$0B
BNE L760D
L75E1 DA L75D5
ASC "SCALE"
CLC
LDA #$09
ADC $B3
STA $58
JSR L6A2C
LDY $58
LDX #$02
L75F6 STA $1900,Y
INY
DEX
BNE L75F6
JMP L7619
L7600 DA L75E1
ASC "OBJCOLOR"
CLC
LDA #$0C
L760D ADC $B3
STA $58
JSR L6A2C
LDY $58
STA $1900,Y
L7619 LDX $B3
LDA #$FF
STA $1900,X
LDA L7705
BEQ L7628
JMP L6690
L7628 RTS
L7629 DA L7600
ASC "OBJERASE"
CLC
LDY #$00
STY $B3
L7638 TYA
AND #$0F
TAX
LDA L765F,X
STA $1700,Y
STA $1800,Y
STA $1900,Y
INY
BNE L7638
LDY #$2B
L764D STA $0300,Y
DEY
BPL L764D
LDA #$7F
STA $030B
STA $031B
STA $032B
RTS
L765F DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $80
DB $60
DB $10
DB $10
DB $00
DB $03
DB $00
DB $00
DB $00
L766F DA L7629
ASC "OBJADR"
JSR L6A2C
LDY $B3
STA $190D,Y
TXA
STA $190E,Y
JMP L7619
L7686 DA L766F
ASC "OBJECT"
JSR L6A2C
ASL
ASL
ASL
ASL
STA $B3
JMP L7619
L769A DA L7686
ASC "SIN"
JSR L6A2C
AND #$7F
TAY
LDA L68C8,Y
LDX #$00
CPY #$41
BCC L76AF
DEX
L76AF JMP L6A3D
L76B2 DA L769A
ASC "COLOR"
JSR L6A2C
L76BC AND #$07
TAY
LDA L76E4,Y
STA $B1
LDA L76DC,Y
STA $AE
LDA L76EC,Y
LDX #$27
JSR L76D4
LSR
LDX #$26
L76D4 STA $03A8,X
DEX
DEX
BPL L76D4
RTS
L76DC HEX FFFFFF00FFFFFF00
L76E4 HEX 0000000080808080
L76EC HEX 0055AAFF0055AAFF
L76F4 DA L76B2
ASC "AUTODRAW"
JSR L6A2C
STA L7705
RTS
L7705 DB $00
L7706 DA L76F4
ASC "UNDRAW"
CLC
LDY $B3
L7711 LDA $1700,Y
BNE L7717
RTS
L7717 LDA #$00
L7719 STA $1700,Y
JSR L7896
JSR L7735
JMP L7896
L7725 DA L7706
ASC "UNBLK"
JSR L7896
JSR L7735
JSR L7896
L7735 LDA L7F77
STA $58
LDA L7F76
STA $59
LDA CV
STA $B7
L7743 LDA $B7
ASL
ASL
ASL
TAY
LDA $1A00,Y
ADC CH
STA L775F+1
LDA $1B00,Y
ADC $C5
STA L775F+2
LDX #$08
L775B LDY $59
LDA INVFLG
L775F STA $2000,Y
DEY
BPL L775F
LDA L775F+2
CLC
ADC #$04
STA L775F+2
DEX
BNE L775B
INC $B7
DEC $58
BNE L7743
RTS
L7778 DA L7725
ASC "SEQUENCE"
JSR L6A2C
L7785 LDX #$00
LDY #$18
CMP #$00
BEQ L7790
DEX
LDY #$17
L7790 STX L77A6
STY L66FF+2
STY L66A1+2
STY L7711+2
STY L7719+2
STY L6704+2
STY L66F6+2
RTS
L77A6 DB $FF
L77A7 DA L7778
ASC "DRAW"
JMP L6690
L77B0 DA L77A7
ASC "EMPTY"
JSR L672B
JSR L77CA
LDA $BF
LDX $C3
JMP L79BF
L77C4 DA L77B0
ASC "FILL"
L77CA JSR L6A2C
STA $82
JSR L6A2C
STA $80
LDA #$FF
STA $C0
L77D8 LDX #$E6 ; INC ZP
LDA $84
STA $92
CMP $80
BCC L77E4
LDX #$C6 ; DEC ZP
L77E4 STX L781A
LDX #$E6 ; INC ZP
LDA $86
CMP $82
BCC L77F1
LDX #$C6 ; DEC ZP
L77F1 STX L7822
L77F4 LDA $92
STA $84
LDX $86
LDA $1A00,X
STA $54
STA $56
LDA $1B00,X
ORA #$20
STA $55
EOR #$60
STA $57
L780C LDA $C3
AND $AE
BPL L7817
LDA $84
LSR
BCS L781A
L7817 JSR L782B
L781A INC $84
LDA $84
CMP $80
BNE L780C
L7822 INC $86
LDA $86
CMP $82
BNE L77F4
RTS
L782B CLC
LDX $84
LDY $1C00,X
LDA $1D00,X
BIT $AE
BPL L783C
ASL
ORA $1D00,X
L783C AND $03A8,Y
BIT $C0
BPL L784A
L7843 NOP
L7844 NOP
L7845 ORA ($54),Y
JMP L784E
L784A EOR #$FF
AND ($54),Y
L784E AND #$7F
ORA $B1
STA ($54),Y
STA ($56),Y
BCC L785E
CLC
INY
LDA #$01
BNE L783C
L785E RTS
L785F DA L77C4
ASC "ERASE"
CLC
L7867 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
L7B67 LDX #>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
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
LDX #>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
LDX #>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
LDX #>L7E38
JSR L6A80
JMP L7DC5
L7E38 JSR L7F08
JSR L7EAE
JMP L7EAE
L7E41 DA L7E29
ASC "LOOP"
ASL
LDA #<L7E52
LDX #>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
LDX #>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
LDX #>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 \
*----------------------------