mirror of
https://github.com/A2osX/A2osX.git
synced 2024-06-19 20:29:34 +00:00
Kernel 0.9.1 : Code reorganization & move to CSTR : SHELL
This commit is contained in:
parent
46918f88f0
commit
83b1abc4df
Binary file not shown.
Binary file not shown.
|
@ -166,11 +166,8 @@ Cmd.Exec.EXT pla Discard CMD len
|
||||||
>PUSHW L.STAT
|
>PUSHW L.STAT
|
||||||
>PUSHW ZPPtr1
|
>PUSHW ZPPtr1
|
||||||
>SYSCALL STAT
|
>SYSCALL STAT
|
||||||
bcs .99
|
bcc .3
|
||||||
|
bra Cmd.Exec.Done
|
||||||
>LDYAI UsrBuf256
|
|
||||||
>STYA ZPPtr1
|
|
||||||
bra .3
|
|
||||||
|
|
||||||
.1 >LDYA L.ENV.PATH push ENVNAME=PATH for search
|
.1 >LDYA L.ENV.PATH push ENVNAME=PATH for search
|
||||||
>SYSCALL GetEnv.YA get value for ENV=PATH
|
>SYSCALL GetEnv.YA get value for ENV=PATH
|
||||||
|
@ -183,7 +180,6 @@ Cmd.Exec.EXT pla Discard CMD len
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
>SYSCALL GetMemPtr.A
|
>SYSCALL GetMemPtr.A
|
||||||
jsr Cmd.Exec.Search
|
jsr Cmd.Exec.Search
|
||||||
|
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
.3 lda STAT+S.STAT.P.TYPE
|
.3 lda STAT+S.STAT.P.TYPE
|
||||||
|
@ -382,9 +378,9 @@ Cmd.Exec.STARTPROC
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Cmd.Exec.SET lda (ZPPTR2)
|
Cmd.Exec.SET lda (ZPPTR2)
|
||||||
bne Cmd.Exec.SETVAR
|
bne Cmd.Exec.SETVAR
|
||||||
|
|
||||||
* No arg, print all ENV
|
* No arg, print all ENV
|
||||||
|
|
||||||
ldy #S.PS.hENV
|
ldy #S.PS.hENV
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
>SYSCALL GetMemPtr.A
|
>SYSCALL GetMemPtr.A
|
||||||
|
@ -394,11 +390,11 @@ Cmd.Exec.SET lda (ZPPTR2)
|
||||||
beq .8 Ending 0 ?
|
beq .8 Ending 0 ?
|
||||||
|
|
||||||
ldy #$ff
|
ldy #$ff
|
||||||
|
|
||||||
.2 iny
|
.2 iny
|
||||||
lda (ZPPTR1),y
|
lda (ZPPTR1),y
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
tya
|
tya
|
||||||
sec
|
sec
|
||||||
adc ZPPTR1
|
adc ZPPTR1
|
||||||
|
@ -430,7 +426,7 @@ Cmd.Exec.SET lda (ZPPTR2)
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
.9 rts
|
.9 rts
|
||||||
|
|
||||||
Cmd.Exec.SETVAR ldy #0
|
Cmd.Exec.SETVAR ldy #0
|
||||||
|
|
||||||
|
|
148
SBIN/SHELL.S.txt
148
SBIN/SHELL.S.txt
|
@ -64,7 +64,6 @@ L.MSG.CSHERR .DA MSG.CSHERR
|
||||||
L.ENV.PATH .DA ENV.PATH
|
L.ENV.PATH .DA ENV.PATH
|
||||||
L.ENV.PWD .DA ENV.PWD
|
L.ENV.PWD .DA ENV.PWD
|
||||||
L.ENV.PS1 .DA ENV.PS1
|
L.ENV.PS1 .DA ENV.PS1
|
||||||
L.CMD .DA CMD
|
|
||||||
L.TIME .DA TIME
|
L.TIME .DA TIME
|
||||||
L.STAT .DA STAT
|
L.STAT .DA STAT
|
||||||
L.FMT.DATE .DA FMT.DATE
|
L.FMT.DATE .DA FMT.DATE
|
||||||
|
@ -101,25 +100,25 @@ CS.INIT jsr SetPWD
|
||||||
|
|
||||||
jsr CMD.Init
|
jsr CMD.Init
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda (pPs)
|
lda (pPs)
|
||||||
ora #S.PS.F.EVENT Now accept events
|
ora #S.PS.F.EVENT Now accept events
|
||||||
sta (pPs)
|
sta (pPs)
|
||||||
|
|
||||||
ldy #S.PS.ARGC
|
ldy #S.PS.ARGC
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
|
|
||||||
beq .1 no arg, continue starting interactive
|
beq .1 no arg, continue starting interactive
|
||||||
|
|
||||||
jmp CSH.Init
|
jmp CSH.Init
|
||||||
|
|
||||||
.1 jsr HIS.Init
|
.1 jsr HIS.Init
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>LDYA L.MSG.GREETINGS
|
>LDYA L.MSG.GREETINGS
|
||||||
>SYSCALL PrintF.YA
|
>SYSCALL PrintF.YA
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN >LDA.G bReadMode READ Command ?
|
CS.RUN >LDA.G bReadMode READ Command ?
|
||||||
bne CS.RUN.READ
|
bne CS.RUN.READ
|
||||||
|
@ -135,53 +134,51 @@ CS.RUN >LDA.G bReadMode READ Command ?
|
||||||
|
|
||||||
>SYSCALL GetChar
|
>SYSCALL GetChar
|
||||||
bcs .8
|
bcs .8
|
||||||
|
|
||||||
.13 jsr CheckSleep
|
.13 jsr CheckSleep
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
>LDA.G CSH.hBuf batch mode ?
|
>LDA.G CSH.hBuf batch mode ?
|
||||||
beq .10
|
beq .10
|
||||||
|
|
||||||
jmp CS.RUN.BATCH
|
|
||||||
|
|
||||||
* Interactive Mode
|
|
||||||
|
|
||||||
|
jmp CS.RUN.BATCH
|
||||||
|
* Interactive Mode
|
||||||
.10 >LDA.G hCmdBuf Get the buffer
|
.10 >LDA.G hCmdBuf Get the buffer
|
||||||
>SYSCALL GetMemPtr.A
|
>SYSCALL GetMemPtr.A
|
||||||
>STYA ZPCMDBuf
|
>STYA ZPCMDBuf
|
||||||
|
|
||||||
lda #0 reset it
|
lda #0 reset it
|
||||||
sta (ZPCMDBuf)
|
sta (ZPCMDBuf)
|
||||||
|
|
||||||
>STA.G bSecureRead Clear password mode
|
>STA.G bSecureRead Clear password mode
|
||||||
|
|
||||||
.12 jsr PrintPrompt
|
.12 jsr PrintPrompt
|
||||||
bcs CS.RUN.EXIT.RTS
|
bcs CS.RUN.EXIT.RTS
|
||||||
|
|
||||||
.1 >SYSCALL Sleep
|
.1 >SYSCALL Sleep
|
||||||
>SYSCALL GetChar
|
>SYSCALL GetChar
|
||||||
bcs .1 no char
|
bcs .1 no char
|
||||||
|
|
||||||
jsr CS.CHARIN
|
jsr CS.CHARIN
|
||||||
|
|
||||||
>LDA.G bCmdBufexec Something to execute ?
|
>LDA.G bCmdBufexec Something to execute ?
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
jsr Cmd.Parse
|
jsr Cmd.Parse
|
||||||
|
|
||||||
>LDA.G CmdBuflen
|
>LDA.G CmdBuflen
|
||||||
beq .12 Empty line
|
beq .12 Empty line
|
||||||
|
|
||||||
jsr HIS.Add
|
jsr HIS.Add
|
||||||
|
|
||||||
jsr Cmd.Exec
|
jsr Cmd.Exec
|
||||||
|
|
||||||
ldy #S.PS.RC
|
ldy #S.PS.RC
|
||||||
sta (pPs),y
|
sta (pPs),y
|
||||||
|
|
||||||
>LDA.G bExit
|
>LDA.G bExit
|
||||||
bne CS.RUN.EXIT
|
bne CS.RUN.EXIT
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
@ -192,21 +189,21 @@ CS.RUN.EXIT.RTS rts
|
||||||
CS.RUN.READ >LDA.G hCmdBuf Get the buffer
|
CS.RUN.READ >LDA.G hCmdBuf Get the buffer
|
||||||
>SYSCALL GetMemPtr.A
|
>SYSCALL GetMemPtr.A
|
||||||
>STYA ZPCMDBuf
|
>STYA ZPCMDBuf
|
||||||
|
|
||||||
lda #0 reset it
|
lda #0 reset it
|
||||||
sta (ZPCMDBuf)
|
sta (ZPCMDBuf)
|
||||||
|
|
||||||
.1 >SYSCALL Sleep
|
.1 >SYSCALL Sleep
|
||||||
>SYSCALL GetChar
|
>SYSCALL GetChar
|
||||||
bcs .1 no char
|
bcs .1 no char
|
||||||
|
|
||||||
jsr CS.CHARIN
|
jsr CS.CHARIN
|
||||||
|
|
||||||
>LDA.G bCmdBufexec
|
>LDA.G bCmdBufexec
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
>PUSHW ZPCMDBuf
|
>PUSHW ZPCMDBuf
|
||||||
|
|
||||||
lda #CMD.VarName
|
lda #CMD.VarName
|
||||||
clc
|
clc
|
||||||
adc pData
|
adc pData
|
||||||
|
@ -219,17 +216,17 @@ CS.RUN.READ >LDA.G hCmdBuf Get the buffer
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.BATCH jsr CSH.Run
|
CS.RUN.BATCH jsr CSH.Run
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>LDA.G bCmdBufexec
|
>LDA.G bCmdBufexec
|
||||||
bpl .8 Empty line....nothing to do....
|
bpl .8 Empty line....nothing to do....
|
||||||
|
|
||||||
jsr Cmd.Parse
|
jsr Cmd.Parse
|
||||||
|
|
||||||
lda (ZPCMDBuf)
|
lda (ZPCMDBuf)
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
jsr Cmd.Exec
|
jsr Cmd.Exec
|
||||||
|
|
||||||
.8 ldy #S.PS.RC
|
.8 ldy #S.PS.RC
|
||||||
sta (pPs),y
|
sta (pPs),y
|
||||||
clc
|
clc
|
||||||
|
@ -240,43 +237,43 @@ CS.RUN.BATCH jsr CSH.Run
|
||||||
lda #0
|
lda #0
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.7 pha
|
.7 pha
|
||||||
|
|
||||||
ldy #CSH.BufPtr+1
|
ldy #CSH.BufPtr+1
|
||||||
>PUSHB (pData),y
|
>PUSHB (pData),y
|
||||||
dey
|
dey
|
||||||
>PUSHB (pData),y
|
>PUSHB (pData),y
|
||||||
|
|
||||||
>LDYA L.MSG.CSHERR
|
>LDYA L.MSG.CSHERR
|
||||||
>SYSCALL PrintF.YA
|
>SYSCALL PrintF.YA
|
||||||
|
|
||||||
jsr CSH.RestorePtr
|
jsr CSH.RestorePtr
|
||||||
|
|
||||||
.90 jsr CSH.GetChar
|
.90 jsr CSH.GetChar
|
||||||
bcs .92
|
bcs .92
|
||||||
>SYSCALL PutChar.A
|
>SYSCALL PutChar.A
|
||||||
|
|
||||||
.91 jsr CSH.GetNextChar
|
.91 jsr CSH.GetNextChar
|
||||||
bcs .92
|
bcs .92
|
||||||
cmp #13
|
cmp #13
|
||||||
beq .92
|
beq .92
|
||||||
>SYSCALL PutChar.A
|
>SYSCALL PutChar.A
|
||||||
bra .91
|
bra .91
|
||||||
|
|
||||||
.92 pla
|
.92 pla
|
||||||
bra .99
|
bra .99
|
||||||
|
|
||||||
.98 lda #0
|
.98 lda #0
|
||||||
|
|
||||||
.99 ldy #S.PS.RC
|
.99 ldy #S.PS.RC
|
||||||
sta (pPs),y
|
sta (pPs),y
|
||||||
pha
|
pha
|
||||||
|
|
||||||
ldy #bExitOnEOF
|
ldy #bExitOnEOF
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
asl CS if bExitOnEOF
|
asl CS if bExitOnEOF
|
||||||
|
|
||||||
pla
|
pla
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -301,12 +298,12 @@ CS.DOEVENT lda (pEvent)
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.CHARIN tax Save Char
|
CS.CHARIN tax Save Char
|
||||||
>LDA.G CSH.hBuf Batch mode ?
|
>LDA.G CSH.hBuf Batch mode ?
|
||||||
beq .10
|
beq .10
|
||||||
* Batch Mode
|
* Batch Mode
|
||||||
cpx #3 test Ctrl-c
|
cpx #3 test Ctrl-c
|
||||||
bne .12
|
bne .12
|
||||||
|
|
||||||
>LDA.G bExitOnEOF
|
>LDA.G bExitOnEOF
|
||||||
>STA.G bExit
|
>STA.G bExit
|
||||||
clc
|
clc
|
||||||
|
@ -314,26 +311,26 @@ CS.CHARIN tax Save Char
|
||||||
|
|
||||||
.12 cpx #19 test Ctrl-s
|
.12 cpx #19 test Ctrl-s
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
lda #$80
|
lda #$80
|
||||||
>STA.G bPause
|
>STA.G bPause
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
* interactive mode
|
* interactive mode
|
||||||
.10 >LDA.G hCmdBuf
|
.10 >LDA.G hCmdBuf
|
||||||
>SYSCALL GetMemPtr.A
|
>SYSCALL GetMemPtr.A
|
||||||
>STYA ZPCMDBuf
|
>STYA ZPCMDBuf
|
||||||
|
|
||||||
>LDA.G bEscMode
|
>LDA.G bEscMode
|
||||||
beq .13
|
beq .13
|
||||||
|
|
||||||
cpx #'['
|
cpx #'['
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
sta (pData),y Y=bEscMode
|
sta (pData),y Y=bEscMode
|
||||||
|
|
||||||
txa
|
txa
|
||||||
|
|
||||||
ldx EscChars
|
ldx EscChars
|
||||||
|
@ -342,10 +339,10 @@ CS.CHARIN tax Save Char
|
||||||
dex
|
dex
|
||||||
bne .17
|
bne .17
|
||||||
bra .8
|
bra .8
|
||||||
|
|
||||||
.18 lda EscAscii,x
|
.18 lda EscAscii,x
|
||||||
tax
|
tax
|
||||||
|
|
||||||
.13 cpx #$20
|
.13 cpx #$20
|
||||||
bcs .1
|
bcs .1
|
||||||
jsr CS.CHARIN.CTRL
|
jsr CS.CHARIN.CTRL
|
||||||
|
@ -358,12 +355,12 @@ CS.CHARIN tax Save Char
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.2 >LDA.G CmdBuflen
|
.2 >LDA.G CmdBuflen
|
||||||
|
|
||||||
cmp #CmdLine.MAX
|
cmp #CmdLine.MAX
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
pha
|
pha
|
||||||
|
|
||||||
inc
|
inc
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
txa
|
txa
|
||||||
|
@ -372,10 +369,10 @@ CS.CHARIN tax Save Char
|
||||||
|
|
||||||
>LDA.G bSecureRead
|
>LDA.G bSecureRead
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
txa
|
txa
|
||||||
>SYSCALL PutChar.A
|
>SYSCALL PutChar.A
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -385,12 +382,12 @@ CS.CHARIN.CTRL cpx #13 CR
|
||||||
>SYSCALL PutChar.A
|
>SYSCALL PutChar.A
|
||||||
lda #10
|
lda #10
|
||||||
>SYSCALL PutChar.A
|
>SYSCALL PutChar.A
|
||||||
|
|
||||||
lda #$ff
|
lda #$ff
|
||||||
>STA.G bCmdBufexec
|
>STA.G bCmdBufexec
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.10 cpx #$1B esc
|
.10 cpx #$1B esc
|
||||||
bne .11
|
bne .11
|
||||||
|
|
||||||
|
@ -405,33 +402,33 @@ CS.CHARIN.CTRL cpx #13 CR
|
||||||
jsr CmdLine.CLR
|
jsr CmdLine.CLR
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.1 cpx #8 BS (left arrow)
|
.1 cpx #8 BS (left arrow)
|
||||||
bne .2
|
bne .2
|
||||||
jsr CmdLine.DEL
|
jsr CmdLine.DEL
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.2 cpx #10 LF (down arrow)
|
.2 cpx #10 LF (down arrow)
|
||||||
bne .3
|
bne .3
|
||||||
|
|
||||||
jsr HIS.GetNext
|
jsr HIS.GetNext
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.3 cpx #11 VT (up arrow)
|
.3 cpx #11 VT (up arrow)
|
||||||
bne .4
|
bne .4
|
||||||
|
|
||||||
jsr HIS.GetPrev
|
jsr HIS.GetPrev
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.4 cpx #21 NAK (right arrow)
|
.4 cpx #21 NAK (right arrow)
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -479,30 +476,30 @@ PrintPrompt >LDYA L.ENV.PS1
|
||||||
CmdLine.CLR ldy #0
|
CmdLine.CLR ldy #0
|
||||||
|
|
||||||
.1 lda (ZPCMDBuf),y
|
.1 lda (ZPCMDBuf),y
|
||||||
beq .9
|
beq .9
|
||||||
|
|
||||||
lda #8
|
lda #8
|
||||||
|
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
iny
|
iny
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
jsr CmdLine.SET
|
jsr CmdLine.SET
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
sta (ZPCMDBuf)
|
sta (ZPCMDBuf)
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CmdLine.DEL >LDA.G CmdBuflen
|
CmdLine.DEL >LDA.G CmdBuflen
|
||||||
beq .9
|
beq .9
|
||||||
dec
|
dec
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
|
|
||||||
tay
|
tay
|
||||||
lda #0
|
lda #0
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
|
|
||||||
lda #8
|
lda #8
|
||||||
>SYSCALL PutChar.A
|
>SYSCALL PutChar.A
|
||||||
.9 rts
|
.9 rts
|
||||||
|
@ -557,7 +554,6 @@ FMT.TIME >CSTR "%H:%M:%S (%I:%M:%S%p)"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
EscChars >PSTR "DBAC"
|
EscChars >PSTR "DBAC"
|
||||||
EscAscii .HS 04080A0B15
|
EscAscii .HS 04080A0B15
|
||||||
CMD .BS 256
|
|
||||||
TIME .BS S.TIME
|
TIME .BS S.TIME
|
||||||
STAT .BS S.STAT
|
STAT .BS S.STAT
|
||||||
bStartProc .BS 1
|
bStartProc .BS 1
|
||||||
|
|
|
@ -37,7 +37,7 @@ A2osX.PrtDrv.Go ldy #S.DEV.ROM.JMP
|
||||||
iny
|
iny
|
||||||
lda (pDev),y
|
lda (pDev),y
|
||||||
sta .8+2
|
sta .8+2
|
||||||
|
|
||||||
.8 jsr $ffff
|
.8 jsr $ffff
|
||||||
A2osX.PrtDrv.Go.Cmd
|
A2osX.PrtDrv.Go.Cmd
|
||||||
.BS 1
|
.BS 1
|
||||||
|
@ -68,18 +68,18 @@ A2osX.PrtDrv.GetDev
|
||||||
sta K.SP.PARAMS+1
|
sta K.SP.PARAMS+1
|
||||||
rts
|
rts
|
||||||
A2osX.PrtDrv.Cnt
|
A2osX.PrtDrv.Cnt
|
||||||
.HS 03030301030101010404
|
.HS 03030301030101010404
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DevMgr.NUL.Code .DA .1 STATUS
|
DevMgr.NUL.Code .DA .1 STATUS
|
||||||
.DA A2osX.BADCALL READBLOCK
|
.DA A2osX.BADCALL READBLOCK
|
||||||
.DA A2osX.BADCALL WRITEBLOCK
|
.DA A2osX.BADCALL WRITEBLOCK
|
||||||
.DA A2osX.BADCALL FORMAT
|
.DA A2osX.BADCALL FORMAT
|
||||||
.DA A2osX.BADCALL CONTROL
|
.DA A2osX.BADCALL CONTROL
|
||||||
.DA A2osX.BADCALL INIT
|
.DA A2osX.BADCALL INIT
|
||||||
.DA A2osX.BADCALL OPEN
|
.DA A2osX.BADCALL OPEN
|
||||||
.DA A2osX.BADCALL CLOSE
|
.DA A2osX.BADCALL CLOSE
|
||||||
.DA A2osX.BADCALL READ
|
.DA A2osX.BADCALL READ
|
||||||
.DA .8 WRITE
|
.DA .8 WRITE
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -94,14 +94,14 @@ DevMgr.NUL.Code .DA .1 STATUS
|
||||||
.DA #0
|
.DA #0
|
||||||
.DA $0900
|
.DA $0900
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DevMgr.SYS.Code .DA .1 STATUS
|
DevMgr.SYS.Code .DA .1 STATUS
|
||||||
.DA A2osX.BADCALL READBLOCK
|
.DA A2osX.BADCALL READBLOCK
|
||||||
.DA A2osX.BADCALL WRITEBLOCK
|
.DA A2osX.BADCALL WRITEBLOCK
|
||||||
.DA A2osX.BADCALL FORMAT
|
.DA A2osX.BADCALL FORMAT
|
||||||
.DA DevMgr.SYS.Control
|
.DA DevMgr.SYS.Control
|
||||||
.DA A2osX.BADCALL INIT
|
.DA A2osX.BADCALL INIT
|
||||||
.DA DevMgr.SYS.Open
|
.DA DevMgr.SYS.Open
|
||||||
.DA A2osX.BADCALL CLOSE
|
.DA A2osX.BADCALL CLOSE
|
||||||
.DA DevMgr.SYS.Read
|
.DA DevMgr.SYS.Read
|
||||||
.DA DevMgr.SYS.Write
|
.DA DevMgr.SYS.Write
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -118,25 +118,25 @@ DevMgr.SYS.Code .DA .1 STATUS
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DevMgr.SYS.Open stz DevMgr.SYS.CH
|
DevMgr.SYS.Open stz DevMgr.SYS.CH
|
||||||
stz DevMgr.SYS.CV
|
stz DevMgr.SYS.CV
|
||||||
|
|
||||||
ldx #0
|
ldx #0
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
.1 lda DevMgr.SYS.TITLE,y
|
.1 lda DevMgr.SYS.TITLE,y
|
||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
jsr DevMgr.SYS.SetCharAtYX
|
jsr DevMgr.SYS.SetCharAtYX
|
||||||
iny
|
iny
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
.2 lda #$20
|
.2 lda #$20
|
||||||
jsr DevMgr.SYS.SetCharAtYX
|
jsr DevMgr.SYS.SetCharAtYX
|
||||||
iny
|
iny
|
||||||
cpy #80
|
cpy #80
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
jsr DevMgr.SYS.Home
|
jsr DevMgr.SYS.Home
|
||||||
|
|
||||||
lda #1
|
lda #1
|
||||||
sta A2osX.SCRNDEVS+1 fall in Control
|
sta A2osX.SCRNDEVS+1 fall in Control
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -154,18 +154,18 @@ DevMgr.SYS.Control
|
||||||
DevMgr.SYS.Read lda A2osX.ASCREEN
|
DevMgr.SYS.Read lda A2osX.ASCREEN
|
||||||
cmp #2 is SYS active?
|
cmp #2 is SYS active?
|
||||||
bne .9
|
bne .9
|
||||||
|
|
||||||
lda OPENAPPLE
|
lda OPENAPPLE
|
||||||
bmi .9 Open apple key, not for us...
|
bmi .9 Open apple key, not for us...
|
||||||
lda KBD
|
lda KBD
|
||||||
bpl .9
|
bpl .9
|
||||||
sta KBDSTROBE
|
sta KBDSTROBE
|
||||||
|
|
||||||
and #$7F
|
and #$7F
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.9 lda #0 Error = no event
|
.9 lda #0 Error = no event
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
@ -181,21 +181,21 @@ DevMgr.SYS.Write
|
||||||
jsr DevMgr.SYS.SetCharAtYX
|
jsr DevMgr.SYS.SetCharAtYX
|
||||||
jsr DevMgr.SYS.FSOut
|
jsr DevMgr.SYS.FSOut
|
||||||
bra .8
|
bra .8
|
||||||
|
|
||||||
.1 cmp #10
|
.1 cmp #10
|
||||||
bne .2
|
bne .2
|
||||||
jsr DevMgr.SYS.LF
|
jsr DevMgr.SYS.LF
|
||||||
bra .8
|
bra .8
|
||||||
|
|
||||||
.2 cmp #13
|
.2 cmp #13
|
||||||
bne .3
|
bne .3
|
||||||
jsr DevMgr.SYS.CR
|
jsr DevMgr.SYS.CR
|
||||||
bra .8
|
bra .8
|
||||||
|
|
||||||
.3 ora #$20
|
.3 ora #$20
|
||||||
jsr DevMgr.SYS.SetCharAtYX
|
jsr DevMgr.SYS.SetCharAtYX
|
||||||
jsr DevMgr.SYS.FSOut
|
jsr DevMgr.SYS.FSOut
|
||||||
|
|
||||||
.8 ply
|
.8 ply
|
||||||
plx
|
plx
|
||||||
clc
|
clc
|
||||||
|
@ -205,10 +205,10 @@ DevMgr.SYS.FSOut
|
||||||
lda DevMgr.SYS.CH
|
lda DevMgr.SYS.CH
|
||||||
cmp #79
|
cmp #79
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
stz DevMgr.SYS.CH
|
stz DevMgr.SYS.CH
|
||||||
bra DevMgr.SYS.LF
|
bra DevMgr.SYS.LF
|
||||||
|
|
||||||
.1 inc DevMgr.SYS.CH
|
.1 inc DevMgr.SYS.CH
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -219,7 +219,7 @@ DevMgr.SYS.CR jsr DevMgr.SYS.ClrEOL
|
||||||
DevMgr.SYS.LF ldx DevMgr.SYS.CV
|
DevMgr.SYS.LF ldx DevMgr.SYS.CV
|
||||||
cpx #23
|
cpx #23
|
||||||
beq DevMgr.SYS.Scroll
|
beq DevMgr.SYS.Scroll
|
||||||
inc DevMgr.SYS.CV
|
inc DevMgr.SYS.CV
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DevMgr.SYS.ClrEOL
|
DevMgr.SYS.ClrEOL
|
||||||
|
@ -259,7 +259,7 @@ DevMgr.SYS.Scroll
|
||||||
sta CLRWRITEAUX
|
sta CLRWRITEAUX
|
||||||
sta CLRREADAUX
|
sta CLRREADAUX
|
||||||
plp
|
plp
|
||||||
|
|
||||||
ldy #39
|
ldy #39
|
||||||
.3 lda (ZPDRV+2),y
|
.3 lda (ZPDRV+2),y
|
||||||
sta (ZPDRV),y
|
sta (ZPDRV),y
|
||||||
|
@ -280,7 +280,7 @@ DevMgr.SYS.ClrLineAtX
|
||||||
|
|
||||||
lda #$A0
|
lda #$A0
|
||||||
ldy #39
|
ldy #39
|
||||||
|
|
||||||
.1 sta SETWRITEAUX
|
.1 sta SETWRITEAUX
|
||||||
sta (ZPDRV),y
|
sta (ZPDRV),y
|
||||||
sta CLRWRITEAUX
|
sta CLRWRITEAUX
|
||||||
|
@ -293,15 +293,15 @@ DevMgr.SYS.ClrLineAtX
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DevMgr.SYS.Home ldx #23
|
DevMgr.SYS.Home ldx #23
|
||||||
|
|
||||||
.1 jsr DevMgr.SYS.ClrLineAtX
|
.1 jsr DevMgr.SYS.ClrLineAtX
|
||||||
dex
|
dex
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
stz DevMgr.SYS.CH
|
stz DevMgr.SYS.CH
|
||||||
lda #1
|
lda #1
|
||||||
sta DevMgr.SYS.CV
|
sta DevMgr.SYS.CV
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DevMgr.SYS.SetCharAtYX
|
DevMgr.SYS.SetCharAtYX
|
||||||
|
@ -310,9 +310,9 @@ DevMgr.SYS.SetCharAtYX
|
||||||
cmp #$5F
|
cmp #$5F
|
||||||
bcs .1
|
bcs .1
|
||||||
and #$3F
|
and #$3F
|
||||||
|
|
||||||
.1 php
|
.1 php
|
||||||
|
|
||||||
phy
|
phy
|
||||||
pha
|
pha
|
||||||
lda DevMgr.SYS.BASEL,x
|
lda DevMgr.SYS.BASEL,x
|
||||||
|
@ -324,14 +324,14 @@ DevMgr.SYS.SetCharAtYX
|
||||||
tay
|
tay
|
||||||
bcs .2
|
bcs .2
|
||||||
sta SETWRITEAUX
|
sta SETWRITEAUX
|
||||||
|
|
||||||
.2 pla
|
.2 pla
|
||||||
sta (ZPDRV),y
|
sta (ZPDRV),y
|
||||||
sta CLRWRITEAUX
|
sta CLRWRITEAUX
|
||||||
ply
|
ply
|
||||||
|
|
||||||
plp
|
plp
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DevMgr.SYS.CH .BS 1
|
DevMgr.SYS.CH .BS 1
|
||||||
|
|
Loading…
Reference in New Issue
Block a user