mirror of
https://github.com/A2osX/A2osX.git
synced 2024-07-13 13:29:04 +00:00
Kernel 0.93+
This commit is contained in:
parent
f5c24a54fc
commit
be400f181b
Binary file not shown.
@ -75,6 +75,7 @@ CL.CHARIN.CTRL cpx #C.CR
|
|||||||
|
|
||||||
cpx #C.EOF
|
cpx #C.EOF
|
||||||
beq .18
|
beq .18
|
||||||
|
|
||||||
.10 cpx #C.ESC
|
.10 cpx #C.ESC
|
||||||
bne .11
|
bne .11
|
||||||
lda #$ff
|
lda #$ff
|
||||||
@ -83,16 +84,55 @@ CL.CHARIN.CTRL cpx #C.CR
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
.11 cpx #3 Ctrl-C
|
.11 cpx #3 Ctrl-C
|
||||||
bne .12
|
beq CL.CLR
|
||||||
|
|
||||||
jmp CL.CLR
|
cpx #26 Ctrl-Z
|
||||||
|
|
||||||
.12 cpx #26 Ctrl-Z
|
|
||||||
bne .13
|
bne .13
|
||||||
jmp CL.SUPPR
|
jmp CL.SUPPR
|
||||||
.18 lda #$ff
|
|
||||||
|
.18 ldy #S.PS.hStdIn Check for any extra LF
|
||||||
|
lda (pPS),y
|
||||||
|
>SYSCALL feof
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
tay
|
||||||
|
bne .19
|
||||||
|
>SYSCALL GetChar
|
||||||
|
|
||||||
|
.19 lda #$ff
|
||||||
>STA.G CL.bReady
|
>STA.G CL.bReady
|
||||||
|
|
||||||
.13 clc
|
.13 clc
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
|
CL.CLR lda (ZPCLBuf)
|
||||||
|
beq CL.RESET.1
|
||||||
|
|
||||||
|
.1 >LDA.G CL.Ptr
|
||||||
|
>CMP.G CL.Len
|
||||||
|
beq .2
|
||||||
|
inc
|
||||||
|
>STA.G CL.Ptr
|
||||||
|
lda #C.FS
|
||||||
|
>SYSCALL PutChar
|
||||||
|
bra .1
|
||||||
|
|
||||||
|
.2 ldy #0
|
||||||
|
|
||||||
|
.3 lda #C.DEL
|
||||||
|
sta (ZPCLBuf),y
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda (ZPCLBuf),y
|
||||||
|
bne .3
|
||||||
|
|
||||||
|
jsr CL.PrintCLBuf
|
||||||
|
*--------------------------------------
|
||||||
|
CL.RESET lda #0
|
||||||
|
sta (ZPCLBuf)
|
||||||
|
CL.RESET.1 >STA.G CL.bReady
|
||||||
|
>STA.G CL.Ptr
|
||||||
|
>STA.G CL.Len
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CL.Insert >LDA.G CL.Len
|
CL.Insert >LDA.G CL.Len
|
||||||
@ -132,36 +172,6 @@ CL.Insert >LDA.G CL.Len
|
|||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CL.CLR lda (ZPCLBuf)
|
|
||||||
beq CL.RESET.1
|
|
||||||
|
|
||||||
.1 >LDA.G CL.Ptr
|
|
||||||
>CMP.G CL.Len
|
|
||||||
beq .2
|
|
||||||
inc
|
|
||||||
>STA.G CL.Ptr
|
|
||||||
lda #C.FS
|
|
||||||
>SYSCALL PutChar
|
|
||||||
bra .1
|
|
||||||
|
|
||||||
.2 ldy #0
|
|
||||||
|
|
||||||
.3 lda #C.DEL
|
|
||||||
sta (ZPCLBuf),y
|
|
||||||
|
|
||||||
iny
|
|
||||||
lda (ZPCLBuf),y
|
|
||||||
bne .3
|
|
||||||
|
|
||||||
jsr CL.PrintCLBuf
|
|
||||||
*--------------------------------------
|
|
||||||
CL.RESET lda #0
|
|
||||||
sta (ZPCLBuf)
|
|
||||||
CL.RESET.1 >STA.G CL.bReady
|
|
||||||
>STA.G CL.Ptr
|
|
||||||
>STA.G CL.Len
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
CL.BS >LDA.G CL.Ptr
|
CL.BS >LDA.G CL.Ptr
|
||||||
beq .9
|
beq .9
|
||||||
dec
|
dec
|
||||||
|
@ -279,21 +279,28 @@ CS.RUN.LOOP >SLEEP
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.2 >LDA.G bPause
|
.2 >LDA.G bPause
|
||||||
bpl .6
|
bpl .6
|
||||||
|
|
||||||
.3 >SYSCALL GetChar
|
.3 >SYSCALL GetChar
|
||||||
bcs .9 I/O err
|
bcs .9 I/O err
|
||||||
|
|
||||||
cmp #3 Ctrl-C
|
cmp #3 Ctrl-C
|
||||||
bne .4
|
bne .4
|
||||||
lda (pData) batch mode ?
|
lda (pData) batch mode ?
|
||||||
beq .5
|
beq .5
|
||||||
|
|
||||||
>LDA.G bSET.C
|
>LDA.G bSET.C
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
bra .5
|
bra .5
|
||||||
|
|
||||||
.4 tax
|
.4 tax
|
||||||
>LDA.G bPause
|
>LDA.G bPause
|
||||||
asl $ff ?
|
asl $ff ?
|
||||||
bpl .5 not from PAUSE command
|
bpl .5 not from PAUSE command
|
||||||
|
|
||||||
cpx #C.CR
|
cpx #C.CR
|
||||||
bne .3
|
bne .3
|
||||||
|
|
||||||
.5 >STZ.G bPause
|
.5 >STZ.G bPause
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.6 lda (pData) batch mode ?
|
.6 lda (pData) batch mode ?
|
||||||
|
@ -39,7 +39,7 @@ CS.START cld
|
|||||||
.DA #0
|
.DA #0
|
||||||
.DA CS.END-CS.START Code Size (without Constants)
|
.DA CS.END-CS.START Code Size (without Constants)
|
||||||
.DA DS.END-DS.START Data SegmentSize
|
.DA DS.END-DS.START Data SegmentSize
|
||||||
.DA #64 Stack Size
|
.DA #32 Stack Size
|
||||||
.DA #ZS.END-ZS.START Zero Page Size
|
.DA #ZS.END-ZS.START Zero Page Size
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -65,6 +65,7 @@ CS.RUN ldy #S.PS.ARGC
|
|||||||
cmp #2
|
cmp #2
|
||||||
|
|
||||||
bcc .9
|
bcc .9
|
||||||
|
|
||||||
.1 inc ArgIndex
|
.1 inc ArgIndex
|
||||||
lda ArgIndex
|
lda ArgIndex
|
||||||
>SYSCALL ArgV
|
>SYSCALL ArgV
|
||||||
@ -73,14 +74,19 @@ CS.RUN ldy #S.PS.ARGC
|
|||||||
|
|
||||||
jsr CkeckOption
|
jsr CkeckOption
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
beq .1 valid option, check next arg
|
beq .1 valid option, check next arg
|
||||||
|
|
||||||
lda ArgDev
|
lda ArgDev
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
lda ArgIndex
|
lda ArgIndex
|
||||||
sta ArgDev
|
sta ArgDev
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.2 lda ArgProg
|
.2 lda ArgProg
|
||||||
bne .9
|
bne .9
|
||||||
|
|
||||||
lda ArgIndex
|
lda ArgIndex
|
||||||
sta ArgProg
|
sta ArgProg
|
||||||
bra .1
|
bra .1
|
||||||
@ -91,10 +97,13 @@ CS.RUN ldy #S.PS.ARGC
|
|||||||
lda #E.SYN
|
lda #E.SYN
|
||||||
sec
|
sec
|
||||||
.99 rts
|
.99 rts
|
||||||
|
|
||||||
.8 lda ArgDev
|
.8 lda ArgDev
|
||||||
beq .9
|
beq .9
|
||||||
|
|
||||||
lda ArgProg
|
lda ArgProg
|
||||||
beq .9
|
beq .9
|
||||||
|
|
||||||
ldy #S.PS.hStdErr
|
ldy #S.PS.hStdErr
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
sta hErr
|
sta hErr
|
||||||
@ -142,11 +151,13 @@ CS.RUN.LOOP1 >SLEEP
|
|||||||
|
|
||||||
>SYSCALL GetChar
|
>SYSCALL GetChar
|
||||||
bcs CS.RUN.9
|
bcs CS.RUN.9
|
||||||
|
|
||||||
cmp #IAC
|
cmp #IAC
|
||||||
beq CS.RUN.IACMODE
|
beq CS.RUN.IACMODE
|
||||||
>SYSCALL PutChar
|
>SYSCALL PutChar
|
||||||
bcs CS.RUN.EXIT
|
bcs CS.RUN.EXIT
|
||||||
bra CS.RUN.LOOP1
|
bra CS.RUN.LOOP1
|
||||||
|
|
||||||
.1 lda TimeOut
|
.1 lda TimeOut
|
||||||
bne CS.RUN.LOOP1
|
bne CS.RUN.LOOP1
|
||||||
|
|
||||||
@ -158,11 +169,13 @@ CS.RUN.LOOP1 >SLEEP
|
|||||||
>LDYA L.MSG.GREETINGS
|
>LDYA L.MSG.GREETINGS
|
||||||
>SYSCALL printf
|
>SYSCALL printf
|
||||||
bcs CS.RUN.EXIT unable to send greetings...
|
bcs CS.RUN.EXIT unable to send greetings...
|
||||||
|
|
||||||
.2 >PUSHBI S.PS.F.HOLD
|
.2 >PUSHBI S.PS.F.HOLD
|
||||||
lda ArgProg
|
lda ArgProg
|
||||||
>SYSCALL ArgV
|
>SYSCALL ArgV
|
||||||
>SYSCALL ExecV
|
>SYSCALL ExecV
|
||||||
>SLEEP
|
>SLEEP
|
||||||
|
|
||||||
CS.RUN.EXIT lda bExitOnClose
|
CS.RUN.EXIT lda bExitOnClose
|
||||||
bmi .8
|
bmi .8
|
||||||
|
|
||||||
@ -174,9 +187,11 @@ CS.RUN.9 rts
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.IACMODE >SYSCALL GetChar Wait for IAC CMD (or SB)
|
CS.RUN.IACMODE >SYSCALL GetChar Wait for IAC CMD (or SB)
|
||||||
bcs CS.RUN.9
|
bcs CS.RUN.9
|
||||||
|
|
||||||
sta IAC.CMD
|
sta IAC.CMD
|
||||||
>SYSCALL GetChar Wait for IAC SUBCMD
|
>SYSCALL GetChar Wait for IAC SUBCMD
|
||||||
bcs CS.RUN.9
|
bcs CS.RUN.9
|
||||||
|
|
||||||
sta IAC.SUBCMD
|
sta IAC.SUBCMD
|
||||||
tax
|
tax
|
||||||
lda IAC.CMD
|
lda IAC.CMD
|
||||||
@ -185,16 +200,20 @@ CS.RUN.IACMODE >SYSCALL GetChar Wait for IAC CMD (or SB)
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.IAC.CMD cmp #WILL
|
CS.RUN.IAC.CMD cmp #WILL
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
cpx #TELOPT.TTYPE
|
cpx #TELOPT.TTYPE
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
>PUSHWI TELNETOPT.TTYPE.LEN
|
>PUSHWI TELNETOPT.TTYPE.LEN
|
||||||
>PUSHW L.TELNETOPT.TTYPE
|
>PUSHW L.TELNETOPT.TTYPE
|
||||||
bra .7
|
bra .7
|
||||||
|
|
||||||
.2 cpx #TELOPT.LINEMODE
|
.2 cpx #TELOPT.LINEMODE
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
>PUSHWI TELNETOPT.LMODE.LEN
|
>PUSHWI TELNETOPT.LMODE.LEN
|
||||||
>PUSHW L.TELNETOPT.LMODE
|
>PUSHW L.TELNETOPT.LMODE
|
||||||
|
|
||||||
.7 ldy #S.PS.hStdOut
|
.7 ldy #S.PS.hStdOut
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
>SYSCALL fwrite
|
>SYSCALL fwrite
|
||||||
@ -255,27 +274,34 @@ CS.QUIT lda hFILE
|
|||||||
CkeckOption lda (ZPPtr1)
|
CkeckOption lda (ZPPtr1)
|
||||||
cmp #'-'
|
cmp #'-'
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
ldy #2
|
ldy #2
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
dey
|
dey
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
ldx OptionList
|
ldx #OptionVars-OptionList-1
|
||||||
|
|
||||||
.2 cmp OptionList,x
|
.2 cmp OptionList,x
|
||||||
beq .3
|
beq .3
|
||||||
|
|
||||||
dex
|
dex
|
||||||
bne .2
|
bpl .2
|
||||||
|
|
||||||
sec invalid option
|
sec invalid option
|
||||||
rts
|
rts
|
||||||
.3 ldy OptionVars-1,x
|
|
||||||
|
.3 ldy OptionVars,x
|
||||||
eor #$80 toggle option
|
eor #$80 toggle option
|
||||||
sta $0,y
|
sta $0,y
|
||||||
lda #0 exit with 0
|
lda #0 exit with 0
|
||||||
|
|
||||||
.8 clc !0 if not an option
|
.8 clc !0 if not an option
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.END
|
CS.END
|
||||||
OptionList >PSTR "Ee"
|
OptionList .AS "Ee"
|
||||||
OptionVars .DA #bExitOnClose,#bExitOnClose
|
OptionVars .DA #bExitOnClose,#bExitOnClose
|
||||||
MSG.USAGE .AS "Usage : GETTY <DEV> <PROGRAM>\r\n"
|
MSG.USAGE .AS "Usage : GETTY <DEV> <PROGRAM>\r\n"
|
||||||
.AZ " -E : Exit on disconnect\r\n"
|
.AZ " -E : Exit on disconnect\r\n"
|
||||||
|
@ -50,7 +50,7 @@ CS.START cld
|
|||||||
.DA #0
|
.DA #0
|
||||||
.DA CS.END-CS.START Code Size (without Constants)
|
.DA CS.END-CS.START Code Size (without Constants)
|
||||||
.DA DS.END-DS.START Data Segment Size
|
.DA DS.END-DS.START Data Segment Size
|
||||||
.DA #64 Stack Size
|
.DA #32 Stack Size
|
||||||
.DA #ZS.END-ZS.START Zero Page Size
|
.DA #ZS.END-ZS.START Zero Page Size
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -395,13 +395,16 @@ CS.RUN.DumpFile pha
|
|||||||
pla
|
pla
|
||||||
plp
|
plp
|
||||||
.9 rts
|
.9 rts
|
||||||
|
|
||||||
.2 phx
|
.2 phx
|
||||||
>SYSCALL puts
|
>SYSCALL puts
|
||||||
pla
|
pla
|
||||||
>SYSCALL freemem
|
>SYSCALL freemem
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.7 lda ZPhBuf
|
.7 lda ZPhBuf
|
||||||
>SYSCALL freemem
|
>SYSCALL freemem
|
||||||
|
|
||||||
.8 lda ZPhFile
|
.8 lda ZPhFile
|
||||||
>SYSCALL fclose
|
>SYSCALL fclose
|
||||||
rts
|
rts
|
||||||
@ -413,14 +416,19 @@ CS.DOEVENT
|
|||||||
CS.QUIT lda hLIBCRYPT
|
CS.QUIT lda hLIBCRYPT
|
||||||
beq CS.CLEANUP
|
beq CS.CLEANUP
|
||||||
>SYSCALL UnloadLib
|
>SYSCALL UnloadLib
|
||||||
|
|
||||||
CS.CLEANUP lda ZPhGetLine
|
CS.CLEANUP lda ZPhGetLine
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
stz ZPhGetLine
|
stz ZPhGetLine
|
||||||
>SYSCALL freemem
|
>SYSCALL freemem
|
||||||
|
|
||||||
.1 lda ZPhPW
|
.1 lda ZPhPW
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
stz ZPhPW
|
stz ZPhPW
|
||||||
>SYSCALL freemem
|
>SYSCALL freemem
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user