Kernel 0.93+

This commit is contained in:
Rémy GIBERT 2019-10-18 13:41:27 +02:00
parent f5c24a54fc
commit be400f181b
5 changed files with 92 additions and 41 deletions

Binary file not shown.

View File

@ -75,6 +75,7 @@ CL.CHARIN.CTRL cpx #C.CR
cpx #C.EOF
beq .18
.10 cpx #C.ESC
bne .11
lda #$ff
@ -83,16 +84,55 @@ CL.CHARIN.CTRL cpx #C.CR
rts
.11 cpx #3 Ctrl-C
bne .12
beq CL.CLR
jmp CL.CLR
.12 cpx #26 Ctrl-Z
cpx #26 Ctrl-Z
bne .13
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
.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
*--------------------------------------
CL.Insert >LDA.G CL.Len
@ -132,36 +172,6 @@ CL.Insert >LDA.G CL.Len
.8 clc
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
beq .9
dec

View File

@ -279,21 +279,28 @@ CS.RUN.LOOP >SLEEP
*--------------------------------------
.2 >LDA.G bPause
bpl .6
.3 >SYSCALL GetChar
bcs .9 I/O err
cmp #3 Ctrl-C
bne .4
lda (pData) batch mode ?
beq .5
>LDA.G bSET.C
beq .8
bra .5
.4 tax
>LDA.G bPause
asl $ff ?
bpl .5 not from PAUSE command
cpx #C.CR
bne .3
.5 >STZ.G bPause
*--------------------------------------
.6 lda (pData) batch mode ?

View File

@ -39,7 +39,7 @@ CS.START cld
.DA #0
.DA CS.END-CS.START Code Size (without Constants)
.DA DS.END-DS.START Data SegmentSize
.DA #64 Stack Size
.DA #32 Stack Size
.DA #ZS.END-ZS.START Zero Page Size
.DA 0
*--------------------------------------
@ -65,6 +65,7 @@ CS.RUN ldy #S.PS.ARGC
cmp #2
bcc .9
.1 inc ArgIndex
lda ArgIndex
>SYSCALL ArgV
@ -73,14 +74,19 @@ CS.RUN ldy #S.PS.ARGC
jsr CkeckOption
bcs .9
beq .1 valid option, check next arg
lda ArgDev
bne .2
lda ArgIndex
sta ArgDev
bra .1
.2 lda ArgProg
bne .9
lda ArgIndex
sta ArgProg
bra .1
@ -91,10 +97,13 @@ CS.RUN ldy #S.PS.ARGC
lda #E.SYN
sec
.99 rts
.8 lda ArgDev
beq .9
lda ArgProg
beq .9
ldy #S.PS.hStdErr
lda (pPs),y
sta hErr
@ -142,11 +151,13 @@ CS.RUN.LOOP1 >SLEEP
>SYSCALL GetChar
bcs CS.RUN.9
cmp #IAC
beq CS.RUN.IACMODE
>SYSCALL PutChar
bcs CS.RUN.EXIT
bra CS.RUN.LOOP1
.1 lda TimeOut
bne CS.RUN.LOOP1
@ -158,11 +169,13 @@ CS.RUN.LOOP1 >SLEEP
>LDYA L.MSG.GREETINGS
>SYSCALL printf
bcs CS.RUN.EXIT unable to send greetings...
.2 >PUSHBI S.PS.F.HOLD
lda ArgProg
>SYSCALL ArgV
>SYSCALL ExecV
>SLEEP
CS.RUN.EXIT lda bExitOnClose
bmi .8
@ -174,9 +187,11 @@ CS.RUN.9 rts
*--------------------------------------
CS.RUN.IACMODE >SYSCALL GetChar Wait for IAC CMD (or SB)
bcs CS.RUN.9
sta IAC.CMD
>SYSCALL GetChar Wait for IAC SUBCMD
bcs CS.RUN.9
sta IAC.SUBCMD
tax
lda IAC.CMD
@ -185,16 +200,20 @@ CS.RUN.IACMODE >SYSCALL GetChar Wait for IAC CMD (or SB)
*--------------------------------------
CS.RUN.IAC.CMD cmp #WILL
bne .8
cpx #TELOPT.TTYPE
bne .2
>PUSHWI TELNETOPT.TTYPE.LEN
>PUSHW L.TELNETOPT.TTYPE
bra .7
.2 cpx #TELOPT.LINEMODE
bne .8
>PUSHWI TELNETOPT.LMODE.LEN
>PUSHW L.TELNETOPT.LMODE
.7 ldy #S.PS.hStdOut
lda (pPs),y
>SYSCALL fwrite
@ -255,27 +274,34 @@ CS.QUIT lda hFILE
CkeckOption lda (ZPPtr1)
cmp #'-'
bne .8
ldy #2
lda (ZPPtr1),y
bne .8
dey
lda (ZPPtr1),y
ldx OptionList
ldx #OptionVars-OptionList-1
.2 cmp OptionList,x
beq .3
dex
bne .2
bpl .2
sec invalid option
rts
.3 ldy OptionVars-1,x
.3 ldy OptionVars,x
eor #$80 toggle option
sta $0,y
lda #0 exit with 0
.8 clc !0 if not an option
rts
*--------------------------------------
CS.END
OptionList >PSTR "Ee"
OptionList .AS "Ee"
OptionVars .DA #bExitOnClose,#bExitOnClose
MSG.USAGE .AS "Usage : GETTY <DEV> <PROGRAM>\r\n"
.AZ " -E : Exit on disconnect\r\n"

View File

@ -50,7 +50,7 @@ CS.START cld
.DA #0
.DA CS.END-CS.START Code Size (without Constants)
.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 0
*--------------------------------------
@ -395,13 +395,16 @@ CS.RUN.DumpFile pha
pla
plp
.9 rts
.2 phx
>SYSCALL puts
pla
>SYSCALL freemem
bra .1
.7 lda ZPhBuf
>SYSCALL freemem
.8 lda ZPhFile
>SYSCALL fclose
rts
@ -413,14 +416,19 @@ CS.DOEVENT
CS.QUIT lda hLIBCRYPT
beq CS.CLEANUP
>SYSCALL UnloadLib
CS.CLEANUP lda ZPhGetLine
beq .1
stz ZPhGetLine
>SYSCALL freemem
.1 lda ZPhPW
beq .8
stz ZPhPW
>SYSCALL freemem
.8 clc
rts
*--------------------------------------