OpenCores
URL https://opencores.org/ocsvn/System09/System09/trunk

Subversion Repositories System09

[/] [System09/] [trunk/] [src/] [Flex9/] [f9-cli.asm] - Diff between revs 59 and 66

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 59 Rev 66
*********************************************
*********************************************
*
*
* 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
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.