URL
https://opencores.org/ocsvn/System09/System09/trunk
[/] [System09/] [rev_86/] [src/] [Flex9/] [f9-cli.asm] - Diff between revs 66 and 112
Go to most recent revision |
Only display areas with differences |
Details |
Blame |
View Log
Rev 66 |
Rev 112 |
*********************************************
|
*********************************************
|
*
|
*
|
* FLEX COMMAND LINE INTERPRETER & SUBROUTINES
|
* FLEX COMMAND LINE INTERPRETER & SUBROUTINES
|
*
|
*
|
*********************************************
|
*********************************************
|
ORG $CD00
|
ORG $CD00
|
*
|
*
|
** FLEX JUMPS
|
** FLEX JUMPS
|
*
|
*
|
COLDS JMP >COLD1
|
COLDS JMP >COLD1
|
WARMS JMP >WARM1
|
WARMS JMP >WARM1
|
RENTER JMP >RENT1
|
RENTER JMP >RENT1
|
INCH JMP >INCH
|
INCH JMP >INCH
|
INCH2 JMP >INCH2
|
INCH2 JMP >INCH2
|
OUTCH JMP >OUTCH
|
OUTCH JMP >OUTCH
|
OUTCH2 JMP >OUTCH2
|
OUTCH2 JMP >OUTCH2
|
GETCHR JMP >GETCH1
|
GETCHR JMP >GETCH1
|
PUTCHR JMP >PUTCH1
|
PUTCHR JMP >PUTCH1
|
INBUFF JMP >INBUF1
|
INBUFF JMP >INBUF1
|
PSTRNG JMP >PSTRG1
|
PSTRNG JMP >PSTRG1
|
CLASS JMP >CLASS1
|
CLASS JMP >CLASS1
|
PCRLF JMP >PCRLF1
|
PCRLF JMP >PCRLF1
|
NXTCH JMP >NXTCH1
|
NXTCH JMP >NXTCH1
|
RSTRIO JMP >RSTIO1
|
RSTRIO JMP >RSTIO1
|
GETFIL JMP >GETFL1
|
GETFIL JMP >GETFL1
|
LOAD JMP >LOAD1
|
LOAD JMP >LOAD1
|
SETEXT JMP >SETEX1
|
SETEXT JMP >SETEX1
|
ADDBX JMP >ADDBX1
|
ADDBX JMP >ADDBX1
|
OUTDEC JMP >OUTDC1
|
OUTDEC JMP >OUTDC1
|
OUTHEX JMP >OUTHX1
|
OUTHEX JMP >OUTHX1
|
RPTERR JMP >RPTER1
|
RPTERR JMP >RPTER1
|
GETHEX JMP >GETHX1
|
GETHEX JMP >GETHX1
|
OUTADR JMP >OUTAD1
|
OUTADR JMP >OUTAD1
|
INDEC JMP >INDEC1
|
INDEC JMP >INDEC1
|
DOCMND JMP >DOCMD1
|
DOCMND JMP >DOCMD1
|
ZCD4E JMP >ZCD4E
|
ZCD4E JMP >ZCD4E
|
JMP >ZCE05
|
JMP >ZCE05
|
JMP >ZCE05
|
JMP >ZCE05
|
*
|
*
|
** COLD START ENTRY
|
** COLD START ENTRY
|
*
|
*
|
COLD1 LDS #ZC07F
|
COLD1 LDS #ZC07F
|
ZCD5B CLR >LASTRM
|
ZCD5B CLR >LASTRM
|
JSR >ZD400
|
JSR >ZD400
|
CLR >CMDFLG
|
CLR >CMDFLG
|
JSR >ZD3FD
|
JSR >ZD3FD
|
*
|
*
|
** WARM START ENTRY
|
** WARM START ENTRY
|
*
|
*
|
WARM1 LDS #ZC07F
|
WARM1 LDS #ZC07F
|
JSR >WARMDR
|
JSR >WARMDR
|
LDX #WARMS
|
LDX #WARMS
|
STX >ESCVEC
|
STX >ESCVEC
|
LDX #PRSPL1
|
LDX #PRSPL1
|
STX [SWIVVC]
|
STX [SWIVVC]
|
LDX >IHNDVC
|
LDX >IHNDVC
|
STX [IRQVVC]
|
STX [IRQVVC]
|
LDX #ZCCF8
|
LDX #ZCCF8
|
STX >ZCC31
|
STX >ZCC31
|
CLR >ZCC34
|
CLR >ZCC34
|
CLR >ZCC4C
|
CLR >ZCC4C
|
BSR RSTIO1
|
BSR RSTIO1
|
LDA >LASTRM
|
LDA >LASTRM
|
CMPA >EOLCHR
|
CMPA >EOLCHR
|
BNE ZCD9D
|
BNE ZCD9D
|
INC >LINPTR+1
|
INC >LINPTR+1
|
BRA RENT1
|
BRA RENT1
|
|
|
ZCD9D TST >CMDFLG
|
ZCD9D TST >CMDFLG
|
LBNE ZD33B
|
LBNE ZD33B
|
JSR >FMSCLS
|
JSR >FMSCLS
|
BNE ZCD5B
|
BNE ZCD5B
|
LDX #PMTSTR
|
LDX #PMTSTR
|
JSR >PSTRG1
|
JSR >PSTRG1
|
BSR INBUF1
|
BSR INBUF1
|
*
|
*
|
** MAIN CONTROL LOOP
|
** MAIN CONTROL LOOP
|
*
|
*
|
RENT1 JSR >ZD0D4
|
RENT1 JSR >ZD0D4
|
CMPA #$0D
|
CMPA #$0D
|
BEQ ZCD9D
|
BEQ ZCD9D
|
ZCDB8 LDX #FCB
|
ZCDB8 LDX #FCB
|
INC >ZCC0D
|
INC >ZCC0D
|
JSR >GETFL1
|
JSR >GETFL1
|
BCS ZCDD9
|
BCS ZCDD9
|
LDX #CMDTBL
|
LDX #CMDTBL
|
BSR ZCE06
|
BSR ZCE06
|
BEQ ZCDD3
|
BEQ ZCDD3
|
LDX >UCTVEC
|
LDX >UCTVEC
|
BEQ ZCDD6
|
BEQ ZCDD6
|
BSR ZCE06
|
BSR ZCE06
|
BNE ZCDD6
|
BNE ZCDD6
|
ZCDD3 JMP [$01,X]
|
ZCDD3 JMP [$01,X]
|
|
|
ZCDD6 JSR >ZD22E
|
ZCDD6 JSR >ZD22E
|
ZCDD9 LDX #WOTMSG
|
ZCDD9 LDX #WOTMSG
|
LDA #$15
|
LDA #$15
|
ZCDDE STA >ERRTYP
|
ZCDDE STA >ERRTYP
|
ZCDE1 JSR >PSTRG1
|
ZCDE1 JSR >PSTRG1
|
ZCDE4 CLR >LASTRM
|
ZCDE4 CLR >LASTRM
|
JMP >WARM1
|
JMP >WARM1
|
*
|
*
|
** RESTORE IO VECTORS
|
** RESTORE IO VECTORS
|
*
|
*
|
RSTIO1 LDX >OUTCH2+1
|
RSTIO1 LDX >OUTCH2+1
|
STX >OUTCH+1
|
STX >OUTCH+1
|
LDX >INCH2+1
|
LDX >INCH2+1
|
STX >INCH+1
|
STX >INCH+1
|
CLR >INPSWT
|
CLR >INPSWT
|
CLR >OUTSWT
|
CLR >OUTSWT
|
CLR >SIOFLG
|
CLR >SIOFLG
|
CLR >FIPADR
|
CLR >FIPADR
|
CLR >FOPADR
|
CLR >FOPADR
|
ZCE05 RTS
|
ZCE05 RTS
|
|
|
ZCE06 LDY #ZC844
|
ZCE06 LDY #ZC844
|
ZCE0A LDA ,Y+
|
ZCE0A LDA ,Y+
|
CMPA #$5F
|
CMPA #$5F
|
BLS ZCE12
|
BLS ZCE12
|
SUBA #$20
|
SUBA #$20
|
ZCE12 CMPA ,X+
|
ZCE12 CMPA ,X+
|
BNE ZCE1E
|
BNE ZCE1E
|
TST ,X
|
TST ,X
|
BNE ZCE0A
|
BNE ZCE0A
|
TST ,Y
|
TST ,Y
|
BEQ ZCE2A
|
BEQ ZCE2A
|
ZCE1E TST ,X+
|
ZCE1E TST ,X+
|
BNE ZCE1E
|
BNE ZCE1E
|
LEAX $02,X
|
LEAX $02,X
|
TST ,X
|
TST ,X
|
BNE ZCE06
|
BNE ZCE06
|
ANDCC #$FB
|
ANDCC #$FB
|
ZCE2A RTS
|
ZCE2A RTS
|
*
|
*
|
** GET USER COMMAND LINE
|
** GET USER COMMAND LINE
|
*
|
*
|
INBUF1 LDX #LINBUF
|
INBUF1 LDX #LINBUF
|
STX >LINPTR
|
STX >LINPTR
|
ZCE31 JSR >GETCH1
|
ZCE31 JSR >GETCH1
|
CMPA >DELCHR
|
CMPA >DELCHR
|
BEQ ZCE56
|
BEQ ZCE56
|
CMPA >BSPCHR
|
CMPA >BSPCHR
|
BEQ ZCE5D
|
BEQ ZCE5D
|
CMPA #$0D
|
CMPA #$0D
|
BEQ ZCE4F
|
BEQ ZCE4F
|
CMPA #$0A
|
CMPA #$0A
|
BEQ ZCE78
|
BEQ ZCE78
|
CMPA #$1F
|
CMPA #$1F
|
BLS ZCE31
|
BLS ZCE31
|
ZCE4A CMPX #ZC0FF
|
ZCE4A CMPX #ZC0FF
|
BEQ ZCE31
|
BEQ ZCE31
|
ZCE4F STA ,X+
|
ZCE4F STA ,X+
|
CMPA #$0D
|
CMPA #$0D
|
BNE ZCE31
|
BNE ZCE31
|
RTS
|
RTS
|
|
|
ZCE56 LDX #QRYSTR
|
ZCE56 LDX #QRYSTR
|
BSR PSTRG1
|
BSR PSTRG1
|
BRA INBUF1
|
BRA INBUF1
|
|
|
ZCE5D CMPX #LINBUF
|
ZCE5D CMPX #LINBUF
|
BEQ ZCE56
|
BEQ ZCE56
|
LEAX -$01,X
|
LEAX -$01,X
|
LDA >BSECHR
|
LDA >BSECHR
|
CMPA #$08
|
CMPA #$08
|
BNE ZCE73
|
BNE ZCE73
|
LDA #$20
|
LDA #$20
|
JSR >ZCF66
|
JSR >ZCF66
|
LDA >BSECHR
|
LDA >BSECHR
|
ZCE73 JSR >ZCF66
|
ZCE73 JSR >ZCF66
|
BRA ZCE31
|
BRA ZCE31
|
|
|
ZCE78 LDA #$0D
|
ZCE78 LDA #$0D
|
JSR >PUTCH1
|
JSR >PUTCH1
|
LDA #$20
|
LDA #$20
|
BRA ZCE4A
|
BRA ZCE4A
|
|
|
PSTRG1 BSR PCRLF1
|
PSTRG1 BSR PCRLF1
|
ZCE83 LDA ,X
|
ZCE83 LDA ,X
|
CMPA #$04
|
CMPA #$04
|
BEQ ZCEF8
|
BEQ ZCEF8
|
JSR >PUTCH1
|
JSR >PUTCH1
|
LEAX $01,X
|
LEAX $01,X
|
BRA ZCE83
|
BRA ZCE83
|
|
|
ZCE90 JSR >ZCD4E
|
ZCE90 JSR >ZCD4E
|
BEQ ZCEFA
|
BEQ ZCEFA
|
JSR [ZD3E5]
|
JSR [ZD3E5]
|
CMPA >ESCCHR
|
CMPA >ESCCHR
|
BNE ZCEFA
|
BNE ZCEFA
|
ZCE9E CLR >CURLIN
|
ZCE9E CLR >CURLIN
|
ZCEA1 JSR [ZD3E5]
|
ZCEA1 JSR [ZD3E5]
|
CMPA >ESCCHR
|
CMPA >ESCCHR
|
BEQ ZCEFA
|
BEQ ZCEFA
|
CMPA #$03 CTRL C
|
CMPA #$03 CTRL C
|
BNE ZCEA1
|
BNE ZCEA1
|
CLR >LASTRM
|
CLR >LASTRM
|
JMP [ESCVEC]
|
JMP [ESCVEC]
|
*
|
*
|
** PRINT CR, LINEFEED
|
** PRINT CR, LINEFEED
|
*
|
*
|
PCRLF1 TST >SIOFLG
|
PCRLF1 TST >SIOFLG
|
BNE ZCEE1
|
BNE ZCEE1
|
BSR ZCE90
|
BSR ZCE90
|
LDA >DEPCNT
|
LDA >DEPCNT
|
BEQ ZCEE1
|
BEQ ZCEE1
|
CMPA >CURLIN
|
CMPA >CURLIN
|
BHI ZCEDE
|
BHI ZCEDE
|
CLR >CURLIN
|
CLR >CURLIN
|
TST >PAUSE
|
TST >PAUSE
|
BEQ ZCED0
|
BEQ ZCED0
|
BSR ZCE9E
|
BSR ZCE9E
|
ZCED0 PSHS B
|
ZCED0 PSHS B
|
LDB >EJTCNT
|
LDB >EJTCNT
|
BEQ ZCEDC
|
BEQ ZCEDC
|
ZCED7 BSR ZCEE1
|
ZCED7 BSR ZCEE1
|
DECB
|
DECB
|
BNE ZCED7
|
BNE ZCED7
|
ZCEDC PULS B
|
ZCEDC PULS B
|
ZCEDE INC >CURLIN
|
ZCEDE INC >CURLIN
|
ZCEE1 LDA #$0D
|
ZCEE1 LDA #$0D
|
BSR PUTCH1
|
BSR PUTCH1
|
LDA #$0A
|
LDA #$0A
|
BSR PUTCH1
|
BSR PUTCH1
|
PSHS B
|
PSHS B
|
LDB >NULCNT
|
LDB >NULCNT
|
BEQ ZCEF6
|
BEQ ZCEF6
|
ZCEF0 CLRA
|
ZCEF0 CLRA
|
BSR PUTCH1
|
BSR PUTCH1
|
DECB
|
DECB
|
BNE ZCEF0
|
BNE ZCEF0
|
ZCEF6 PULS B
|
ZCEF6 PULS B
|
ZCEF8 ANDCC #$FE
|
ZCEF8 ANDCC #$FE
|
ZCEFA RTS
|
ZCEFA RTS
|
*
|
*
|
** GET A CHARACTER HONOURING TTYSET
|
** GET A CHARACTER HONOURING TTYSET
|
*
|
*
|
GETCH1 TST >INPSWT
|
GETCH1 TST >INPSWT
|
BNE ZCF1A
|
BNE ZCF1A
|
TST >FIPADR
|
TST >FIPADR
|
BEQ ZCF15
|
BEQ ZCF15
|
BSR ZCF21
|
BSR ZCF21
|
TST >FIEFLG
|
TST >FIEFLG
|
BEQ ZCF1D
|
BEQ ZCF1D
|
TST >FOPADR
|
TST >FOPADR
|
BEQ ZCF1D
|
BEQ ZCF1D
|
BSR ZCF66
|
BSR ZCF66
|
BRA ZCF1D
|
BRA ZCF1D
|
ZCF15 JSR >INCH
|
ZCF15 JSR >INCH
|
BRA ZCF1D
|
BRA ZCF1D
|
|
|
ZCF1A JSR >INCH2
|
ZCF1A JSR >INCH2
|
ZCF1D CLR >CURLIN
|
ZCF1D CLR >CURLIN
|
RTS
|
RTS
|
|
|
ZCF21 STX >ZCC47
|
ZCF21 STX >ZCC47
|
LDX >FIPADR
|
LDX >FIPADR
|
BRA ZCF2F
|
BRA ZCF2F
|
|
|
ZCF29 STX >ZCC47
|
ZCF29 STX >ZCC47
|
LDX >FOPADR
|
LDX >FOPADR
|
ZCF2F JSR >FMS
|
ZCF2F JSR >FMS
|
BNE ZCF38
|
BNE ZCF38
|
LDX >ZCC47
|
LDX >ZCC47
|
RTS
|
RTS
|
|
|
ZCF38 CLR >FOPADR
|
ZCF38 CLR >FOPADR
|
JSR >RPTER1
|
JSR >RPTER1
|
JMP >WARMS
|
JMP >WARMS
|
*
|
*
|
** OUTPUT CHARACTER HONOURING TTYSET
|
** OUTPUT CHARACTER HONOURING TTYSET
|
*
|
*
|
PUTCH1 TST >SIOFLG
|
PUTCH1 TST >SIOFLG
|
BNE ZCF66
|
BNE ZCF66
|
CMPA #$1F
|
CMPA #$1F
|
BHI ZCF4F
|
BHI ZCF4F
|
CLR >CURCOL
|
CLR >CURCOL
|
BRA ZCF66
|
BRA ZCF66
|
|
|
ZCF4F INC >CURCOL
|
ZCF4F INC >CURCOL
|
PSHS A
|
PSHS A
|
LDA >WIDCNT
|
LDA >WIDCNT
|
BEQ ZCF64
|
BEQ ZCF64
|
CMPA >CURCOL
|
CMPA >CURCOL
|
BCC ZCF64
|
BCC ZCF64
|
JSR >PCRLF1
|
JSR >PCRLF1
|
INC >CURCOL
|
INC >CURCOL
|
ZCF64 PULS A
|
ZCF64 PULS A
|
ZCF66 PSHS A
|
ZCF66 PSHS A
|
TST >OUTSWT
|
TST >OUTSWT
|
BNE ZCF80
|
BNE ZCF80
|
TST >FOPADR
|
TST >FOPADR
|
BEQ ZCF76
|
BEQ ZCF76
|
BSR ZCF29
|
BSR ZCF29
|
BRA ZCF83
|
BRA ZCF83
|
|
|
ZCF76 TST >FIPADR
|
ZCF76 TST >FIPADR
|
BNE ZCF83
|
BNE ZCF83
|
JSR >OUTCH
|
JSR >OUTCH
|
BRA ZCF83
|
BRA ZCF83
|
ZCF80 JSR >OUTCH2
|
ZCF80 JSR >OUTCH2
|
ZCF83 PULS A
|
ZCF83 PULS A
|
RTS
|
RTS
|
|
|
OUTDC1 CLR >ZCC4A
|
OUTDC1 CLR >ZCC4A
|
STB >TRNFLG
|
STB >TRNFLG
|
LDA #$04
|
LDA #$04
|
STA >ZCC4D
|
STA >ZCC4D
|
LDD ,X
|
LDD ,X
|
LDX #DECTBL
|
LDX #DECTBL
|
ZCF96 BSR ZCFA3
|
ZCF96 BSR ZCFA3
|
LEAX $02,X
|
LEAX $02,X
|
DEC >ZCC4D
|
DEC >ZCC4D
|
BNE ZCF96
|
BNE ZCF96
|
TFR B,A
|
TFR B,A
|
BRA OUTHXR
|
BRA OUTHXR
|
|
|
ZCFA3 CLR >ZCC4B
|
ZCFA3 CLR >ZCC4B
|
ZCFA6 CMPD ,X
|
ZCFA6 CMPD ,X
|
BCS ZCFB2
|
BCS ZCFB2
|
SUBD ,X
|
SUBD ,X
|
INC >ZCC4B
|
INC >ZCC4B
|
BRA ZCFA6
|
BRA ZCFA6
|
|
|
ZCFB2 PSHS A
|
ZCFB2 PSHS A
|
LDA >ZCC4B
|
LDA >ZCC4B
|
BNE ZCFC9
|
BNE ZCFC9
|
TST >ZCC4A
|
TST >ZCC4A
|
BNE ZCFC9
|
BNE ZCFC9
|
TST >TRNFLG
|
TST >TRNFLG
|
BEQ ZCFCE
|
BEQ ZCFCE
|
LDA #$20
|
LDA #$20
|
BSR ZCFEA
|
BSR ZCFEA
|
BRA ZCFCE
|
BRA ZCFCE
|
|
|
ZCFC9 INC >ZCC4A
|
ZCFC9 INC >ZCC4A
|
BSR OUTHXR
|
BSR OUTHXR
|
ZCFCE PULS PC,A
|
ZCFCE PULS PC,A
|
*
|
*
|
** DISPLAY HEX ADDRESS
|
** DISPLAY HEX ADDRESS
|
*
|
*
|
OUTAD1 BSR OUTHX1
|
OUTAD1 BSR OUTHX1
|
LEAX $01,X
|
LEAX $01,X
|
*
|
*
|
** OUPUT HEX BYTE
|
** OUPUT HEX BYTE
|
*
|
*
|
OUTHX1 LDA ,X
|
OUTHX1 LDA ,X
|
BSR OUTHXL
|
BSR OUTHXL
|
LDA ,X
|
LDA ,X
|
BRA OUTHXR
|
BRA OUTHXR
|
|
|
OUTHXL LSRA
|
OUTHXL LSRA
|
LSRA
|
LSRA
|
LSRA
|
LSRA
|
LSRA
|
LSRA
|
OUTHXR ANDA #$0F
|
OUTHXR ANDA #$0F
|
ADDA #$30
|
ADDA #$30
|
CMPA #$39
|
CMPA #$39
|
BLS ZCFEA
|
BLS ZCFEA
|
ADDA #$07
|
ADDA #$07
|
ZCFEA JMP >PUTCH1
|
ZCFEA JMP >PUTCH1
|
*
|
*
|
** CLASSIFY CHARACTER ALHA/NUMERIC
|
** CLASSIFY CHARACTER ALHA/NUMERIC
|
*
|
*
|
CLASS1 CMPA #'0
|
CLASS1 CMPA #'0
|
BCS ZD005
|
BCS ZD005
|
CMPA #'9
|
CMPA #'9
|
BLS ZD00B
|
BLS ZD00B
|
CMPA #'A
|
CMPA #'A
|
BCS ZD005
|
BCS ZD005
|
CMPA #'Z
|
CMPA #'Z
|
BLS ZD00B
|
BLS ZD00B
|
CMPA #'a $61
|
CMPA #'a $61
|
BCS ZD005
|
BCS ZD005
|
CMPA #'z $7A
|
CMPA #'z $7A
|
BLS ZD00B
|
BLS ZD00B
|
ZD005 ORCC #$01
|
ZD005 ORCC #$01
|
STA >LASTRM
|
STA >LASTRM
|
RTS
|
RTS
|
ZD00B ANDCC #$FE
|
ZD00B ANDCC #$FE
|
RTS
|
RTS
|
*
|
*
|
** GET NEXT CHARACTER FROM FILE
|
** GET NEXT CHARACTER FROM FILE
|
*
|
*
|
NXTCH1 PSHS X
|
NXTCH1 PSHS X
|
LDX >LINPTR
|
LDX >LINPTR
|
LDA >CURCHR
|
LDA >CURCHR
|
STA >PRVCHR
|
STA >PRVCHR
|
ZD019 LDA ,X+
|
ZD019 LDA ,X+
|
STA >CURCHR
|
STA >CURCHR
|
CMPA #$0D
|
CMPA #$0D
|
BEQ ZD032
|
BEQ ZD032
|
CMPA >EOLCHR
|
CMPA >EOLCHR
|
BEQ ZD032
|
BEQ ZD032
|
STX >LINPTR
|
STX >LINPTR
|
CMPA #$20
|
CMPA #$20
|
BNE ZD032
|
BNE ZD032
|
CMPA ,X
|
CMPA ,X
|
BEQ ZD019
|
BEQ ZD019
|
ZD032 BSR CLASS1
|
ZD032 BSR CLASS1
|
PULS PC,X
|
PULS PC,X
|
*
|
*
|
** PARSE FILE SPEC. IN LINE BUFFER
|
** PARSE FILE SPEC. IN LINE BUFFER
|
*
|
*
|
GETFL1 LDA #$15
|
GETFL1 LDA #$15
|
STA $01,X
|
STA $01,X
|
LDA #$FF
|
LDA #$FF
|
STA $03,X
|
STA $03,X
|
CLR $04,X
|
CLR $04,X
|
CLR $0C,X
|
CLR $0C,X
|
JSR >ZD0D4
|
JSR >ZD0D4
|
LDA #$08
|
LDA #$08
|
STA >ZCC4B
|
STA >ZCC4B
|
BSR ZD080
|
BSR ZD080
|
BCS ZD07C
|
BCS ZD07C
|
BNE ZD05F
|
BNE ZD05F
|
BSR ZD080
|
BSR ZD080
|
BCS ZD07C
|
BCS ZD07C
|
BNE ZD05F
|
BNE ZD05F
|
CMPX >ZCC3F
|
CMPX >ZCC3F
|
BEQ ZD0C7
|
BEQ ZD0C7
|
BSR ZD080
|
BSR ZD080
|
BLS ZD0C7
|
BLS ZD0C7
|
ZD05F LDX >ZCC3F
|
ZD05F LDX >ZCC3F
|
TST $04,X
|
TST $04,X
|
BEQ ZD0C7
|
BEQ ZD0C7
|
TST $03,X
|
TST $03,X
|
BPL ZD079
|
BPL ZD079
|
TST >ZCC0D
|
TST >ZCC0D
|
BEQ ZD074
|
BEQ ZD074
|
LDA >SYSDRV
|
LDA >SYSDRV
|
BRA ZD077
|
BRA ZD077
|
|
|
ZD074 LDA >WRKDRV
|
ZD074 LDA >WRKDRV
|
ZD077 STA $03,X
|
ZD077 STA $03,X
|
ZD079 CLR >ZCC0D
|
ZD079 CLR >ZCC0D
|
ZD07C LDX >ZCC3F
|
ZD07C LDX >ZCC3F
|
RTS
|
RTS
|
|
|
ZD080 BSR NXTCH1
|
ZD080 BSR NXTCH1
|
BCS ZD0C7
|
BCS ZD0C7
|
CMPA #$39
|
CMPA #$39
|
BHI ZD09D
|
BHI ZD09D
|
LDX >ZCC3F
|
LDX >ZCC3F
|
TST $03,X
|
TST $03,X
|
BPL ZD0C7
|
BPL ZD0C7
|
ANDA #$03
|
ANDA #$03
|
STA $03,X
|
STA $03,X
|
JSR >NXTCH1
|
JSR >NXTCH1
|
BCC ZD0C7
|
BCC ZD0C7
|
ZD098 CMPA #$2E
|
ZD098 CMPA #$2E
|
ANDCC #$FE
|
ANDCC #$FE
|
RTS
|
RTS
|
|
|
ZD09D LDB >ZCC4B
|
ZD09D LDB >ZCC4B
|
BMI ZD0C7
|
BMI ZD0C7
|
PSHS B
|
PSHS B
|
SUBB #$05
|
SUBB #$05
|
STB >ZCC4B
|
STB >ZCC4B
|
PULS B
|
PULS B
|
ZD0AB CMPA >MAPUP
|
ZD0AB CMPA >MAPUP
|
BCS ZD0B2
|
BCS ZD0B2
|
SUBA #$20
|
SUBA #$20
|
ZD0B2 STA $04,X
|
ZD0B2 STA $04,X
|
LEAX $01,X
|
LEAX $01,X
|
DECB
|
DECB
|
JSR >NXTCH1
|
JSR >NXTCH1
|
BCC ZD0C4
|
BCC ZD0C4
|
CMPA #$2D
|
CMPA #$2D
|
BEQ ZD0C4
|
BEQ ZD0C4
|
CMPA #$5F
|
CMPA #$5F
|
BNE ZD0CA
|
BNE ZD0CA
|
ZD0C4 TSTB
|
ZD0C4 TSTB
|
BNE ZD0AB
|
BNE ZD0AB
|
ZD0C7 ORCC #$01
|
ZD0C7 ORCC #$01
|
RTS
|
RTS
|
|
|
ZD0CA TSTB
|
ZD0CA TSTB
|
BEQ ZD098
|
BEQ ZD098
|
CLR $04,X
|
CLR $04,X
|
LEAX $01,X
|
LEAX $01,X
|
DECB
|
DECB
|
BRA ZD0CA
|
BRA ZD0CA
|
|
|
ZD0D4 STX >ZCC3F
|
ZD0D4 STX >ZCC3F
|
LDX >LINPTR
|
LDX >LINPTR
|
ZD0DA LDA ,X
|
ZD0DA LDA ,X
|
CMPA #$20
|
CMPA #$20
|
BNE ZD0E4
|
BNE ZD0E4
|
LEAX $01,X
|
LEAX $01,X
|
BRA ZD0DA
|
BRA ZD0DA
|
ZD0E4 STX >LINPTR
|
ZD0E4 STX >LINPTR
|
LDX >ZCC3F
|
LDX >ZCC3F
|
RTS
|
RTS
|
*
|
*
|
** DEFAULT FILE EXTENSION
|
** DEFAULT FILE EXTENSION
|
*
|
*
|
SETEX1 PSHS Y,X
|
SETEX1 PSHS Y,X
|
LDB $0C,X
|
LDB $0C,X
|
BNE ZD109
|
BNE ZD109
|
LDY #EXTTBL
|
LDY #EXTTBL
|
CMPA #$0B
|
CMPA #$0B
|
BHI ZD109
|
BHI ZD109
|
LDB #$03
|
LDB #$03
|
MUL
|
MUL
|
LEAY B,Y
|
LEAY B,Y
|
LDB #$03
|
LDB #$03
|
ZD100 LDA ,Y+
|
ZD100 LDA ,Y+
|
STA $0C,X
|
STA $0C,X
|
LEAX $01,X
|
LEAX $01,X
|
DECB
|
DECB
|
BNE ZD100
|
BNE ZD100
|
ZD109 PULS PC,Y,X
|
ZD109 PULS PC,Y,X
|
*
|
*
|
** STANDARD FILE NAME EXTTENSIONS
|
** STANDARD FILE NAME EXTTENSIONS
|
*
|
*
|
EXTTBL FCC "BIN"
|
EXTTBL FCC "BIN"
|
FCC "TXT"
|
FCC "TXT"
|
FCC "CMD"
|
FCC "CMD"
|
FCC "BAS"
|
FCC "BAS"
|
FCC "SYS"
|
FCC "SYS"
|
FCC "BAK"
|
FCC "BAK"
|
FCC "SCR"
|
FCC "SCR"
|
FCC "DAT"
|
FCC "DAT"
|
FCC "BAC"
|
FCC "BAC"
|
FCC "DIR"
|
FCC "DIR"
|
FCC "PRT"
|
FCC "PRT"
|
FCC "OUT"
|
FCC "OUT"
|
*
|
*
|
** READ A HEX ADDRESS FROM THE LINE BUFFER
|
** READ A HEX ADDRESS FROM THE LINE BUFFER
|
*
|
*
|
GETHX1 JSR >ZD21E
|
GETHX1 JSR >ZD21E
|
ZD132 JSR >NXTCH1
|
ZD132 JSR >NXTCH1
|
BCS ZD159
|
BCS ZD159
|
BSR ZD15F
|
BSR ZD15F
|
BCS ZD153
|
BCS ZD153
|
PSHS B
|
PSHS B
|
LDB #$04
|
LDB #$04
|
ZD13F ASL >LODOFF+1
|
ZD13F ASL >LODOFF+1
|
ROL >LODOFF
|
ROL >LODOFF
|
DECB
|
DECB
|
BNE ZD13F
|
BNE ZD13F
|
PULS B
|
PULS B
|
ADDA >LODOFF+1
|
ADDA >LODOFF+1
|
STA >LODOFF+1
|
STA >LODOFF+1
|
INCB
|
INCB
|
BRA ZD132
|
BRA ZD132
|
|
|
ZD153 JSR >NXTCH1
|
ZD153 JSR >NXTCH1
|
BCC ZD153
|
BCC ZD153
|
RTS
|
RTS
|
|
|
ZD159 LDX >LODOFF
|
ZD159 LDX >LODOFF
|
ANDCC #$FE
|
ANDCC #$FE
|
RTS
|
RTS
|
|
|
ZD15F SUBA #$47
|
ZD15F SUBA #$47
|
BPL ZD172
|
BPL ZD172
|
ADDA #$06
|
ADDA #$06
|
BPL ZD16B
|
BPL ZD16B
|
ADDA #$07
|
ADDA #$07
|
BPL ZD172
|
BPL ZD172
|
ZD16B ADDA #$0A
|
ZD16B ADDA #$0A
|
BMI ZD172
|
BMI ZD172
|
ANDCC #$FE
|
ANDCC #$FE
|
RTS
|
RTS
|
|
|
ZD172 ORCC #$01
|
ZD172 ORCC #$01
|
RTS
|
RTS
|
|
|
INDEC1 JSR >ZD21E
|
INDEC1 JSR >ZD21E
|
ZD178 JSR >NXTCH1
|
ZD178 JSR >NXTCH1
|
BCS ZD159
|
BCS ZD159
|
CMPA #$39
|
CMPA #$39
|
BHI ZD153
|
BHI ZD153
|
ANDA #$0F
|
ANDA #$0F
|
PSHS B
|
PSHS B
|
PSHS A
|
PSHS A
|
LDD >LODOFF
|
LDD >LODOFF
|
ASLB
|
ASLB
|
ROLA
|
ROLA
|
ASLB
|
ASLB
|
ROLA
|
ROLA
|
ASLB
|
ASLB
|
ROLA
|
ROLA
|
ADDD >LODOFF
|
ADDD >LODOFF
|
ADDD >LODOFF
|
ADDD >LODOFF
|
ADDB ,S+
|
ADDB ,S+
|
ADCA #$00
|
ADCA #$00
|
STD >LODOFF
|
STD >LODOFF
|
PULS B
|
PULS B
|
INCB
|
INCB
|
BRA ZD178
|
BRA ZD178
|
*
|
*
|
** LOAD BINARY FILE
|
** LOAD BINARY FILE
|
*
|
*
|
LOAD1 CLR >TRNFLG
|
LOAD1 CLR >TRNFLG
|
ZD1A5 BSR ZD1E4
|
ZD1A5 BSR ZD1E4
|
CMPA #$02
|
CMPA #$02
|
BEQ ZD1C0
|
BEQ ZD1C0
|
CMPA #$16
|
CMPA #$16
|
BNE ZD1A5
|
BNE ZD1A5
|
BSR ZD1E4
|
BSR ZD1E4
|
STA >TRNVEC
|
STA >TRNVEC
|
BSR ZD1E4
|
BSR ZD1E4
|
STA >TRNVEC+1
|
STA >TRNVEC+1
|
LDA #$01
|
LDA #$01
|
STA >TRNFLG
|
STA >TRNFLG
|
BRA ZD1A5
|
BRA ZD1A5
|
|
|
ZD1C0 BSR ZD1E4
|
ZD1C0 BSR ZD1E4
|
TFR A,B
|
TFR A,B
|
BSR ZD1E4
|
BSR ZD1E4
|
EXG A,B
|
EXG A,B
|
ADDD >LODOFF
|
ADDD >LODOFF
|
STD >ZCC3D
|
STD >ZCC3D
|
BSR ZD1E4
|
BSR ZD1E4
|
TFR A,B
|
TFR A,B
|
TSTA
|
TSTA
|
BEQ ZD1A5
|
BEQ ZD1A5
|
ZD1D5 BSR ZD1E4
|
ZD1D5 BSR ZD1E4
|
LDX >ZCC3D
|
LDX >ZCC3D
|
STA ,X+
|
STA ,X+
|
STX >ZCC3D
|
STX >ZCC3D
|
DECB
|
DECB
|
BNE ZD1D5
|
BNE ZD1D5
|
BRA ZD1A5
|
BRA ZD1A5
|
|
|
ZD1E4 LDX #FCB
|
ZD1E4 LDX #FCB
|
JSR >FMS
|
JSR >FMS
|
BEQ ZD1FD
|
BEQ ZD1FD
|
LDA $01,X
|
LDA $01,X
|
CMPA #$08
|
CMPA #$08
|
BNE ZD200
|
BNE ZD200
|
LEAS $02,S
|
LEAS $02,S
|
ZD1F4 LDA #$04
|
ZD1F4 LDA #$04
|
STA ,X
|
STA ,X
|
JSR >FMS
|
JSR >FMS
|
BNE ZD20A
|
BNE ZD20A
|
ZD1FD ANDCC #$FE
|
ZD1FD ANDCC #$FE
|
RTS
|
RTS
|
|
|
ZD200 STA >ERRTYP
|
ZD200 STA >ERRTYP
|
CMPA #$04
|
CMPA #$04
|
BNE ZD20A
|
BNE ZD20A
|
ORCC #$01
|
ORCC #$01
|
RTS
|
RTS
|
|
|
ZD20A BSR RPTER1
|
ZD20A BSR RPTER1
|
JMP >ZCDE4
|
JMP >ZCDE4
|
*
|
*
|
** 'GET' - LOAD BINARY FILE
|
** 'GET' - LOAD BINARY FILE
|
*
|
*
|
GETCMD LDA #$00
|
GETCMD LDA #$00
|
BSR ZD248
|
BSR ZD248
|
BCS ZD224
|
BCS ZD224
|
BSR ZD21E
|
BSR ZD21E
|
INC >ZCC4C
|
INC >ZCC4C
|
BSR LOAD1
|
BSR LOAD1
|
BRA GETCMD
|
BRA GETCMD
|
|
|
ZD21E CLRA
|
ZD21E CLRA
|
CLRB
|
CLRB
|
STD >LODOFF
|
STD >LODOFF
|
RTS
|
RTS
|
|
|
ZD224 LDB >ZCC4C
|
ZD224 LDB >ZCC4C
|
LBEQ ZCDD9
|
LBEQ ZCDD9
|
JMP >WARMS
|
JMP >WARMS
|
|
|
ZD22E LDA #$02
|
ZD22E LDA #$02
|
BSR ZD254
|
BSR ZD254
|
BSR ZD21E
|
BSR ZD21E
|
JSR >LOAD1
|
JSR >LOAD1
|
LDB >TRNFLG
|
LDB >TRNFLG
|
BEQ ZD240
|
BEQ ZD240
|
JMP [TRNVEC]
|
JMP [TRNVEC]
|
|
|
ZD240 LDX #NTRMSG
|
ZD240 LDX #NTRMSG
|
LDA #$81
|
LDA #$81
|
JMP >ZCDDE
|
JMP >ZCDDE
|
|
|
ZD248 PSHS A
|
ZD248 PSHS A
|
LDX #FCB
|
LDX #FCB
|
JSR >GETFL1
|
JSR >GETFL1
|
PULS A
|
PULS A
|
BCS ZD26E
|
BCS ZD26E
|
ZD254 LDX #FCB
|
ZD254 LDX #FCB
|
JSR >SETEX1
|
JSR >SETEX1
|
LDX #FCB
|
LDX #FCB
|
LDA #$01
|
LDA #$01
|
STA ,X
|
STA ,X
|
JSR >ZD1E4
|
JSR >ZD1E4
|
LBCS ZD323
|
LBCS ZD323
|
LDA #$FF
|
LDA #$FF
|
STA $3B,X
|
STA $3B,X
|
RTS
|
RTS
|
|
|
ZD26E LDA >LASTRM
|
ZD26E LDA >LASTRM
|
CMPA #$0D
|
CMPA #$0D
|
BEQ ZD27C
|
BEQ ZD27C
|
CMPA >EOLCHR
|
CMPA >EOLCHR
|
LBNE ZCDD9
|
LBNE ZCDD9
|
ZD27C ORCC #$01
|
ZD27C ORCC #$01
|
RTS
|
RTS
|
|
|
RPTER1 PSHS Y,X
|
RPTER1 PSHS Y,X
|
LDA $01,X
|
LDA $01,X
|
STA >ERRTYP
|
STA >ERRTYP
|
BEQ ZD2EB
|
BEQ ZD2EB
|
JSR >RSTIO1
|
JSR >RSTIO1
|
LDY >ERRVEC
|
LDY >ERRVEC
|
BNE ZD299
|
BNE ZD299
|
CMPA #$10
|
CMPA #$10
|
BEQ ZD2ED
|
BEQ ZD2ED
|
LDY #ZD361
|
LDY #ZD361
|
ZD299 LDX #FCB
|
ZD299 LDX #FCB
|
TST $02,X
|
TST $02,X
|
BEQ ZD2A9
|
BEQ ZD2A9
|
LDA #$04
|
LDA #$04
|
STA ,X
|
STA ,X
|
JSR >FMS
|
JSR >FMS
|
BNE ZD2D7
|
BNE ZD2D7
|
ZD2A9 LDX #ZC838
|
ZD2A9 LDX #ZC838
|
LDB #$0B
|
LDB #$0B
|
BSR ZD31E
|
BSR ZD31E
|
LDX #FCB
|
LDX #FCB
|
LDA >SYSDRV
|
LDA >SYSDRV
|
STA $03,X
|
STA $03,X
|
LDA #$01
|
LDA #$01
|
STA ,X
|
STA ,X
|
JSR >FMS
|
JSR >FMS
|
BNE ZD2D7
|
BNE ZD2D7
|
LDA >ERRTYP
|
LDA >ERRTYP
|
DECA
|
DECA
|
ASRA
|
ASRA
|
ASRA
|
ASRA
|
INCA
|
INCA
|
CLR $20,X
|
CLR $20,X
|
STA $21,X
|
STA $21,X
|
LDA #$15
|
LDA #$15
|
STA ,X
|
STA ,X
|
JSR >FMS
|
JSR >FMS
|
BEQ ZD2F5
|
BEQ ZD2F5
|
ZD2D7 LDX #DERMSG
|
ZD2D7 LDX #DERMSG
|
JSR >PSTRG1
|
JSR >PSTRG1
|
LDX >ZCC3F
|
LDX >ZCC3F
|
LDA >ERRTYP
|
LDA >ERRTYP
|
STA $01,X
|
STA $01,X
|
CLR ,X
|
CLR ,X
|
CLRB
|
CLRB
|
JSR >OUTDC1
|
JSR >OUTDC1
|
ZD2EB PULS PC,Y,X
|
ZD2EB PULS PC,Y,X
|
|
|
ZD2ED LDX #DNRMSG
|
ZD2ED LDX #DNRMSG
|
JSR >PSTRG1
|
JSR >PSTRG1
|
BRA ZD2EB
|
BRA ZD2EB
|
|
|
ZD2F5 JSR >PCRLF1
|
ZD2F5 JSR >PCRLF1
|
LDX #FCB
|
LDX #FCB
|
LDA >ERRTYP
|
LDA >ERRTYP
|
DECA
|
DECA
|
ANDA #$03
|
ANDA #$03
|
LDB #$3F
|
LDB #$3F
|
MUL
|
MUL
|
ADDB #$04
|
ADDB #$04
|
STB $22,X
|
STB $22,X
|
ZD309 JSR >FMS
|
ZD309 JSR >FMS
|
BNE ZD2D7
|
BNE ZD2D7
|
JSR >PUTCH1
|
JSR >PUTCH1
|
CMPA #$0D
|
CMPA #$0D
|
BNE ZD309
|
BNE ZD309
|
LDA #$04
|
LDA #$04
|
STA ,X
|
STA ,X
|
JSR >FMS
|
JSR >FMS
|
BRA ZD2EB
|
BRA ZD2EB
|
ZD31E PSHS Y,X
|
ZD31E PSHS Y,X
|
JMP >ZD100
|
JMP >ZD100
|
|
|
ZD323 LDX #NFDMSG NOT FOUND
|
ZD323 LDX #NFDMSG NOT FOUND
|
JMP >ZCDE1
|
JMP >ZCDE1
|
*
|
*
|
** CALL FLEX AS A SUBROUTINE
|
** CALL FLEX AS A SUBROUTINE
|
*
|
*
|
DOCMD1 PULS B,A
|
DOCMD1 PULS B,A
|
STD >ZCC43
|
STD >ZCC43
|
ZD32E STS >ZCC45
|
ZD32E STS >ZCC45
|
CLR >ERRTYP
|
CLR >ERRTYP
|
INC >CMDFLG
|
INC >CMDFLG
|
JMP >ZCDB8
|
JMP >ZCDB8
|
ZD33B CLR >CMDFLG
|
ZD33B CLR >CMDFLG
|
LDS >ZCC45
|
LDS >ZCC45
|
LDB >ERRTYP
|
LDB >ERRTYP
|
JMP [ZCC43]
|
JMP [ZCC43]
|
*
|
*
|
** ADD ACCB TO IX
|
** ADD ACCB TO IX
|
*
|
*
|
ADDBX1 ABX
|
ADDBX1 ABX
|
RTS
|
RTS
|
|
|
ZD34B TST >ZCCFC
|
ZD34B TST >ZCCFC
|
BNE ZD354
|
BNE ZD354
|
JMP [MONVEC]
|
JMP [MONVEC]
|
|
|
ZD354 LDX #FCB
|
ZD354 LDX #FCB
|
LDA #$1B
|
LDA #$1B
|
STA $01,X
|
STA $01,X
|
JSR >RPTER1
|
JSR >RPTER1
|
JMP >WARM1
|
JMP >WARM1
|
|
|
ZD361 FCC /ERRORS/
|
ZD361 FCC /ERRORS/
|
FCB $00,$00
|
FCB $00,$00
|
FCC /SYS/
|
FCC /SYS/
|
END
|
END
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.