mirror of
https://github.com/A2osX/A2osX.git
synced 2024-07-06 12:29:02 +00:00
Kernel 0.9.2
This commit is contained in:
parent
838a517fb0
commit
7f402fc02b
Binary file not shown.
Binary file not shown.
@ -453,7 +453,7 @@ DecTmpCount lda TmpCount
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.END
|
CS.END
|
||||||
SEQ.DETECT .AZ "Querying terminal capabilities...\e[999;999H\e[6n"
|
SEQ.DETECT .AZ "Querying terminal capabilities...\e[999;999H\e[6n"
|
||||||
SEQ.INIT .AZ "\ec\e[2;%dr" \e[?6h
|
SEQ.INIT .AZ "\ec\e[7h\e[2;%dr" \e[?6h
|
||||||
SEQ.RESET .AZ "\ec"
|
SEQ.RESET .AZ "\ec"
|
||||||
SEQ.SCROLLUP .AZ "\e[%d;%dH\eD"
|
SEQ.SCROLLUP .AZ "\e[%d;%dH\eD"
|
||||||
SEQ.SCROLLDN .AZ "\e[%d;%dH\eM"
|
SEQ.SCROLLDN .AZ "\e[%d;%dH\eM"
|
||||||
|
@ -99,7 +99,9 @@ J.EscCodes .DA Scroll.Dn M
|
|||||||
.DA Scroll.Up D
|
.DA Scroll.Up D
|
||||||
.DA RESET c
|
.DA RESET c
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
J.EscSequences .DA Esc.DispAttr m
|
J.EscSequences .DA Esc.LWEnable h
|
||||||
|
.DA Esc.LWDisable l
|
||||||
|
.DA Esc.DispAttr m
|
||||||
.DA Esc.Query n
|
.DA Esc.Query n
|
||||||
.DA Esc.Scroll r
|
.DA Esc.Scroll r
|
||||||
.DA Esc.Erase K
|
.DA Esc.Erase K
|
||||||
@ -158,14 +160,6 @@ OPEN sta A2osX.SCRNDEVS DEV.ID in A
|
|||||||
stz OutCnt
|
stz OutCnt
|
||||||
|
|
||||||
jsr RESET
|
jsr RESET
|
||||||
|
|
||||||
ldy #0
|
|
||||||
|
|
||||||
.1 lda TelnetOpt,y
|
|
||||||
jsr Char.Out.Put
|
|
||||||
iny
|
|
||||||
cpy #TelnetOpt.LEN
|
|
||||||
bne .1
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CONTROL sta SETTEXT
|
CONTROL sta SETTEXT
|
||||||
sta SETALTCHAR
|
sta SETALTCHAR
|
||||||
@ -304,9 +298,15 @@ WRITE.COUT bit bEscMode
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
FS ldx CH
|
FS ldx CH
|
||||||
cpx #79
|
cpx #79
|
||||||
beq FS.8
|
bne .1
|
||||||
|
|
||||||
|
bit LWFLG
|
||||||
|
bpl FS.8
|
||||||
|
|
||||||
inc CH
|
stz CH
|
||||||
|
jmp LF
|
||||||
|
|
||||||
|
.1 inc CH
|
||||||
|
|
||||||
FS.8 clc
|
FS.8 clc
|
||||||
rts
|
rts
|
||||||
@ -353,20 +353,19 @@ COUT.EscMode bit bEscModeCSI
|
|||||||
|
|
||||||
.1 stz bEscMode
|
.1 stz bEscMode
|
||||||
|
|
||||||
ldy #0
|
ldx #EscCodes.Cnt-1
|
||||||
ldx #0
|
|
||||||
|
|
||||||
.2 iny
|
.2 cmp EscCodes,x
|
||||||
cmp EscCodes,y
|
|
||||||
beq .3
|
beq .3
|
||||||
inx
|
dex
|
||||||
inx
|
|
||||||
cpy EscCodes
|
|
||||||
bne .2
|
bne .2
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.3 jmp (J.EscCodes,x)
|
.3 txa
|
||||||
|
asl
|
||||||
|
tax
|
||||||
|
jmp (J.EscCodes,x)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
COUT.EscModeCSI inc EscSeq
|
COUT.EscModeCSI inc EscSeq
|
||||||
ldx EscSeq
|
ldx EscSeq
|
||||||
@ -442,20 +441,20 @@ COUT.ExecEscSeq stz EscSeqParamCnt
|
|||||||
stz bEscModeCSI
|
stz bEscModeCSI
|
||||||
stz bEscMode
|
stz bEscMode
|
||||||
|
|
||||||
ldy #0
|
ldx #EscSeqCmds.Cnt-1
|
||||||
ldx #0
|
|
||||||
|
|
||||||
.4 iny
|
.4 cmp EscSeqCmds,x
|
||||||
cmp EscSeqCmds,y
|
|
||||||
beq .5
|
beq .5
|
||||||
inx
|
dex
|
||||||
inx
|
|
||||||
cpy EscSeqCmds
|
|
||||||
bne .4
|
bne .4
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.5 jmp (J.EscSequences,x)
|
.5 txa
|
||||||
|
asl
|
||||||
|
tax
|
||||||
|
jmp (J.EscSequences,x)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
COUT.IAC inc IACBuf
|
COUT.IAC inc IACBuf
|
||||||
ldx IACBuf
|
ldx IACBuf
|
||||||
@ -591,10 +590,12 @@ COUT.IAC.DONT
|
|||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
RESET jsr CLRSCR
|
RESET jsr CLRSCR
|
||||||
lda #0
|
|
||||||
sta SCROLLTOP
|
|
||||||
lda #23
|
lda #23
|
||||||
sta SCROLLBOT
|
sta SCROLLBOT
|
||||||
|
lda #0
|
||||||
|
sta SCROLLTOP
|
||||||
|
dec
|
||||||
|
sta LWFLG
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
RESETATTR lda #$80
|
RESETATTR lda #$80
|
||||||
sta INVFLG
|
sta INVFLG
|
||||||
@ -643,8 +644,6 @@ ClrScr stz CH
|
|||||||
|
|
||||||
lda #" "
|
lda #" "
|
||||||
|
|
||||||
* php
|
|
||||||
* sei
|
|
||||||
sta SETWRITEAUX
|
sta SETWRITEAUX
|
||||||
|
|
||||||
ldy #39
|
ldy #39
|
||||||
@ -653,7 +652,6 @@ ClrScr stz CH
|
|||||||
bpl .2
|
bpl .2
|
||||||
|
|
||||||
sta CLRWRITEAUX
|
sta CLRWRITEAUX
|
||||||
* plp
|
|
||||||
|
|
||||||
ldy #39
|
ldy #39
|
||||||
.3 sta (ZPBaseL1),y
|
.3 sta (ZPBaseL1),y
|
||||||
@ -672,7 +670,7 @@ CROUT jsr CLREOL
|
|||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
LF ldy CV
|
LF ldy CV
|
||||||
cpy #23
|
cpy SCROLLBOT
|
||||||
beq SCROLL.UP
|
beq SCROLL.UP
|
||||||
inc CV
|
inc CV
|
||||||
clc
|
clc
|
||||||
@ -730,6 +728,24 @@ SCROLL.DN ldx SCROLLBOT
|
|||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
Esc.LWEnable sec
|
||||||
|
.HS 90 BCC
|
||||||
|
*--------------------------------------
|
||||||
|
Esc.LWDisable clc
|
||||||
|
ldx EscSeqParamCnt
|
||||||
|
beq .8
|
||||||
|
dex
|
||||||
|
bne .8
|
||||||
|
|
||||||
|
lda EscSeqParam
|
||||||
|
eor #7
|
||||||
|
bne .8
|
||||||
|
|
||||||
|
ror LWFLG
|
||||||
|
|
||||||
|
.8 clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
Esc.DispAttr ldx EscSeqParamCnt
|
Esc.DispAttr ldx EscSeqParamCnt
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
@ -1065,8 +1081,10 @@ BASEH .HS 04.04.05.05.06.06.07.07.04.04.05.05.06.06.07.07.04.04.05.05.06.06.07
|
|||||||
CtrlChars .HS 05080A0C0D151B
|
CtrlChars .HS 05080A0C0D151B
|
||||||
CtrlChars.Cnt .EQ *-CtrlChars
|
CtrlChars.Cnt .EQ *-CtrlChars
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
EscCodes >PSTR "MDc"
|
EscCodes .AZ "MDc"
|
||||||
EscSeqCmds >PSTR "mnrKH"
|
EscCodes.Cnt .EQ *-EscCodes
|
||||||
|
EscSeqCmds .AS "hlmnrKH"
|
||||||
|
EscSeqCmds.Cnt .EQ *-EscSeqCmds
|
||||||
ENQ.String .AZ "XTERM"
|
ENQ.String .AZ "XTERM"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
KeyRemapped .HS 05080A0B0D15 L,D,U,CR,R
|
KeyRemapped .HS 05080A0B0D15 L,D,U,CR,R
|
||||||
@ -1078,18 +1096,15 @@ KeyRemappedUP .HS 1B5B4100 esc[A
|
|||||||
KeyRemappedCR .HS 0D0A00 crlf
|
KeyRemappedCR .HS 0D0A00 crlf
|
||||||
KeyRemappedRGHT .HS 1B5B4300 esc[C
|
KeyRemappedRGHT .HS 1B5B4300 esc[C
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
TelnetOpt .DA #IAC,#DO,#TELOPT.ECHO
|
|
||||||
TelnetOpt.LEN .EQ *-TelnetOpt
|
|
||||||
*--------------------------------------
|
|
||||||
TELOPS.STATUS
|
TELOPS.STATUS
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WILLDO .DA #TELOPT.BINARY,#TELOPT.SGA
|
WILLDO .DA #TELOPT.BINARY,#TELOPT.SGA
|
||||||
WILLDO.CNT .EQ *-WILLDO
|
WILLDO.CNT .EQ *-WILLDO
|
||||||
WILLDONT .DA #TELOPT.TSPEED,#TELOPT.LINEMODE,#TELOPT.STATUS
|
WILLDONT .DA #TELOPT.TSPEED,#TELOPT.LINEMODE,#TELOPT.STATUS
|
||||||
WILLDONT.CNT .EQ *-WILLDONT
|
WILLDONT.CNT .EQ *-WILLDONT
|
||||||
DOWILL .DA #TELOPT.BINARY,#TELOPT.SGA,#TELOPT.NAWS,#TELOPT.TTYPE,#TELOPT.NAWS
|
DOWILL .DA #TELOPT.BINARY,#TELOPT.SGA,#TELOPT.TTYPE,#TELOPT.NAWS
|
||||||
DOWILL.CNT .EQ *-DOWILL
|
DOWILL.CNT .EQ *-DOWILL
|
||||||
DOWONT .DA #TELOPT.NEWENVIRON,#TELOPT.XDISPLOC,#TELOPT.TSPEED,#TELOPT.LFLOW
|
DOWONT .DA #TELOPT.ECHO,#TELOPT.NEWENVIRON,#TELOPT.XDISPLOC,#TELOPT.TSPEED,#TELOPT.LFLOW
|
||||||
DOWONT.CNT .EQ *-DOWONT
|
DOWONT.CNT .EQ *-DOWONT
|
||||||
SB.IS.TTYPE .DA #IAC,#SB,#TELOPT.TTYPE,#SB.IS
|
SB.IS.TTYPE .DA #IAC,#SB,#TELOPT.TTYPE,#SB.IS
|
||||||
.AS 'XTERM'
|
.AS 'XTERM'
|
||||||
@ -1103,6 +1118,7 @@ SB.IS.NAWS.LEN .EQ *-SB.IS.NAWS
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CH .BS 1
|
CH .BS 1
|
||||||
CV .BS 1
|
CV .BS 1
|
||||||
|
LWFLG .BS 1
|
||||||
INVFLG .BS 1
|
INVFLG .BS 1
|
||||||
SCROLLTOP .BS 1
|
SCROLLTOP .BS 1
|
||||||
SCROLLBOT .BS 1
|
SCROLLBOT .BS 1
|
||||||
|
@ -165,15 +165,23 @@ SKT.Close jsr SKT.Get.I get SKT in ZPPtrSKT, S.SOCKET.SOCK in A
|
|||||||
|
|
||||||
bne * TO DO: Listening socket
|
bne * TO DO: Listening socket
|
||||||
|
|
||||||
|
ldy #S.SOCKET.TCP.STATUS
|
||||||
|
lda (ZPPtrSKT),y
|
||||||
|
cmp #S.SOCKET.TCP.STATUS.CLWAIT
|
||||||
|
bne .11
|
||||||
|
|
||||||
|
lda #S.SOCKET.TCP.STATUS.LASTACK
|
||||||
|
bra .12
|
||||||
|
|
||||||
|
.11 lda #S.SOCKET.TCP.STATUS.FINWT1
|
||||||
|
.12 sta (ZPPtrSKT),y
|
||||||
|
|
||||||
ldy #S.SOCKET.TCP.OPTIONS
|
ldy #S.SOCKET.TCP.OPTIONS
|
||||||
lda (ZPPtrSKT),y
|
lda (ZPPtrSKT),y
|
||||||
ora #S.TCP.OPTIONS.FIN+S.TCP.OPTIONS.ACK
|
ora #S.TCP.OPTIONS.FIN+S.TCP.OPTIONS.ACK
|
||||||
sta (ZPPtrSKT),y
|
sta (ZPPtrSKT),y
|
||||||
|
|
||||||
jsr TCP.OUT SKT.Close, Try to push FIN
|
jmp TCP.OUT Try to push FIN/ACK
|
||||||
|
|
||||||
clc
|
|
||||||
rts
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # SKT.Get
|
* # SKT.Get
|
||||||
* Get Ptr to socket
|
* Get Ptr to socket
|
||||||
|
@ -255,27 +255,9 @@ TCP.IN.JMP.ESTBLSH
|
|||||||
lda (ZPFrameInPtr),y
|
lda (ZPFrameInPtr),y
|
||||||
and #S.TCP.OPTIONS.FIN
|
and #S.TCP.OPTIONS.FIN
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
ldy #S.SOCKET.TCP.OPTIONS
|
|
||||||
lda (ZPPtrSKT),y
|
|
||||||
ora #S.TCP.OPTIONS.ACK ACK the FIN....
|
|
||||||
sta (ZPPtrSKT),y
|
|
||||||
|
|
||||||
jsr SKT.GetTCB
|
|
||||||
|
|
||||||
ldx #3
|
|
||||||
ldy #S.TCP.ACKNUM+3
|
|
||||||
|
|
||||||
sec
|
jsr TCP.IN.ACKTheFIN
|
||||||
|
|
||||||
.3 lda SKT.TCBCache+S.TCB.OUTACKNUM,x
|
|
||||||
adc #0
|
|
||||||
sta SKT.TCBCache+S.TCB.OUTACKNUM,x
|
|
||||||
dey
|
|
||||||
dex
|
|
||||||
bpl .3
|
|
||||||
|
|
||||||
jsr TCP.OUT.I SKT.GetTCB called, try to ACK the FIN
|
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
ldy #S.SOCKET.TCP.STATUS
|
ldy #S.SOCKET.TCP.STATUS
|
||||||
@ -317,12 +299,7 @@ TCP.IN.JMP.FINWT2.1
|
|||||||
bit #S.TCP.OPTIONS.FIN
|
bit #S.TCP.OPTIONS.FIN
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
ldy #S.SOCKET.TCP.OPTIONS
|
jsr TCP.IN.ACKTheFIN
|
||||||
lda (ZPPtrSKT),y
|
|
||||||
ora #S.TCP.OPTIONS.ACK
|
|
||||||
sta (ZPPtrSKT),y
|
|
||||||
|
|
||||||
jsr TCP.OUT ACK the FIN
|
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
ldy #S.SOCKET.TCP.STATUS
|
ldy #S.SOCKET.TCP.STATUS
|
||||||
@ -350,6 +327,28 @@ TCP.IN.JMP.TIMEWT
|
|||||||
TCP.IN.JMP.CLOSED
|
TCP.IN.JMP.CLOSED
|
||||||
jmp SKT.Destroy
|
jmp SKT.Destroy
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
TCP.IN.ACKTheFIN
|
||||||
|
ldy #S.SOCKET.TCP.OPTIONS
|
||||||
|
lda (ZPPtrSKT),y
|
||||||
|
ora #S.TCP.OPTIONS.ACK
|
||||||
|
sta (ZPPtrSKT),y
|
||||||
|
|
||||||
|
jsr SKT.GetTCB
|
||||||
|
|
||||||
|
ldx #3
|
||||||
|
ldy #S.TCP.ACKNUM+3
|
||||||
|
|
||||||
|
sec
|
||||||
|
|
||||||
|
.3 lda SKT.TCBCache+S.TCB.OUTACKNUM,x
|
||||||
|
adc #0
|
||||||
|
sta SKT.TCBCache+S.TCB.OUTACKNUM,x
|
||||||
|
dey
|
||||||
|
dex
|
||||||
|
bpl .3
|
||||||
|
|
||||||
|
jmp TCP.OUT ACK the FIN
|
||||||
|
*--------------------------------------
|
||||||
TCP.IN.SetDataInPtrAndLen
|
TCP.IN.SetDataInPtrAndLen
|
||||||
ldy #S.IP.TOTAL.LENGTH+1
|
ldy #S.IP.TOTAL.LENGTH+1
|
||||||
lda (ZPFrameInPtr),y
|
lda (ZPFrameInPtr),y
|
||||||
@ -465,8 +464,6 @@ TCP.OUT.SendOptA.1
|
|||||||
bit #S.TCP.OPTIONS.ACK
|
bit #S.TCP.OPTIONS.ACK
|
||||||
beq .10
|
beq .10
|
||||||
|
|
||||||
* pha
|
|
||||||
|
|
||||||
ldx #3
|
ldx #3
|
||||||
ldy #S.TCP.ACKNUM+3
|
ldy #S.TCP.ACKNUM+3
|
||||||
|
|
||||||
@ -476,20 +473,10 @@ TCP.OUT.SendOptA.1
|
|||||||
dex
|
dex
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
* pla
|
.10 ldx #3
|
||||||
|
|
||||||
.10
|
|
||||||
* clc
|
|
||||||
* bit #S.TCP.OPTIONS.FIN
|
|
||||||
* beq .11
|
|
||||||
* sec
|
|
||||||
|
|
||||||
.11 ldx #3
|
|
||||||
ldy #S.TCP.SEQNUM+3
|
ldy #S.TCP.SEQNUM+3
|
||||||
|
|
||||||
.2 lda SKT.TCBCache+S.TCB.OUTNEXTSEQ,x
|
.2 lda SKT.TCBCache+S.TCB.OUTNEXTSEQ,x
|
||||||
* adc #0
|
|
||||||
* sta SKT.TCBCache+S.TCB.OUTNEXTSEQ,x
|
|
||||||
sta (ZPFrameOutPtr),y
|
sta (ZPFrameOutPtr),y
|
||||||
dey
|
dey
|
||||||
dex
|
dex
|
||||||
@ -506,19 +493,10 @@ TCP.OUT.SendOptA.1
|
|||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
ldy #S.SOCKET.TCP.OPTIONS
|
ldy #S.SOCKET.TCP.OPTIONS
|
||||||
lda (ZPPtrSKT),y
|
|
||||||
and #S.TCP.OPTIONS.FIN
|
|
||||||
beq .8
|
|
||||||
|
|
||||||
ldy #S.SOCKET.TCP.STATUS
|
|
||||||
lda #S.SOCKET.TCP.STATUS.FINWT1
|
|
||||||
sta (ZPPtrSKT),y
|
|
||||||
|
|
||||||
.8 ldy #S.SOCKET.TCP.OPTIONS
|
|
||||||
lda #0
|
lda #0
|
||||||
sta (ZPPtrSKT),y
|
sta (ZPPtrSKT),y
|
||||||
|
|
||||||
clc
|
* clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
TCP.NewFrame ldx #S.IP.PROTOCOL.TCP
|
TCP.NewFrame ldx #S.IP.PROTOCOL.TCP
|
||||||
|
@ -34,6 +34,8 @@ CS.START cld
|
|||||||
L.MSG.USAGE .DA MSG.USAGE
|
L.MSG.USAGE .DA MSG.USAGE
|
||||||
L.MSG.GREETINGS .DA MSG.GREETINGS
|
L.MSG.GREETINGS .DA MSG.GREETINGS
|
||||||
L.TELNETOPTS .DA TELNETOPTS
|
L.TELNETOPTS .DA TELNETOPTS
|
||||||
|
L.TELNETOPT.TTYPE .DA TELNETOPT.TTYPE
|
||||||
|
L.TELNETOPT.LINEMODE .DA TELNETOPT.LINEMODE
|
||||||
L.ENV.TERM .DA ENV.TERM
|
L.ENV.TERM .DA ENV.TERM
|
||||||
L.MSG.DEBUG .DA MSG.DEBUG
|
L.MSG.DEBUG .DA MSG.DEBUG
|
||||||
.DA 0 End Of Reloc Table
|
.DA 0 End Of Reloc Table
|
||||||
@ -111,8 +113,6 @@ CS.RUN.LOOP
|
|||||||
.8 lda #2
|
.8 lda #2
|
||||||
>SYSCALL GetArg
|
>SYSCALL GetArg
|
||||||
>SYSCALL ExecPS
|
>SYSCALL ExecPS
|
||||||
|
|
||||||
rts
|
|
||||||
|
|
||||||
CS.RUN.8 clc
|
CS.RUN.8 clc
|
||||||
rts
|
rts
|
||||||
@ -125,7 +125,7 @@ CS.RUN.IACMODE jsr PrintHEX
|
|||||||
|
|
||||||
jsr PrintHEX
|
jsr PrintHEX
|
||||||
|
|
||||||
>STA.G IAC.VERB
|
>STA.G IAC.CMD
|
||||||
|
|
||||||
.1 >SLEEP Wait for IAC OPT
|
.1 >SLEEP Wait for IAC OPT
|
||||||
>SYSCALL GetChar
|
>SYSCALL GetChar
|
||||||
@ -133,15 +133,34 @@ CS.RUN.IACMODE jsr PrintHEX
|
|||||||
|
|
||||||
jsr PrintHEX
|
jsr PrintHEX
|
||||||
|
|
||||||
>STA.G IAC.OPT
|
>STA.G IAC.SUBCMD
|
||||||
|
tax
|
||||||
|
|
||||||
>LDA.G IAC.VERB
|
>LDA.G IAC.CMD
|
||||||
cmp #SB
|
cmp #SB
|
||||||
beq CS.RUN.IACSB
|
beq CS.RUN.IACSB
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.IACVERB
|
CS.RUN.IACVERB cmp #WILL
|
||||||
|
bne .8
|
||||||
|
|
||||||
|
cpx #TELOPT.TTYPE
|
||||||
|
bne .2
|
||||||
|
|
||||||
|
>PUSHWI TELNETOPT.TTYPE.LEN
|
||||||
|
>PUSHW L.TELNETOPT.TTYPE
|
||||||
|
bra .7
|
||||||
|
|
||||||
jmp CS.RUN.LOOP
|
.2 cpx #TELOPT.LINEMODE
|
||||||
|
bne .8
|
||||||
|
|
||||||
|
>PUSHWI TELNETOPT.LINEMODE.LEN
|
||||||
|
>PUSHW L.TELNETOPT.LINEMODE
|
||||||
|
|
||||||
|
.7 ldy #S.PS.hStdOut
|
||||||
|
lda (pPs),y
|
||||||
|
>SYSCALL write
|
||||||
|
|
||||||
|
.8 jmp CS.RUN.LOOP
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.IACSB
|
CS.RUN.IACSB
|
||||||
.1 >SLEEP
|
.1 >SLEEP
|
||||||
@ -186,7 +205,7 @@ CS.RUN.IACSB
|
|||||||
cmp #SE
|
cmp #SE
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
>LDA.G IAC.OPT
|
>LDA.G IAC.SUBCMD
|
||||||
cmp #TELOPT.TTYPE
|
cmp #TELOPT.TTYPE
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
@ -245,23 +264,25 @@ MSG.DEBUG .AZ "{%h}"
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
TELNETOPTS .DA #IAC,#WILL,#TELOPT.BINARY
|
TELNETOPTS .DA #IAC,#WILL,#TELOPT.BINARY
|
||||||
.DA #IAC,#WILL,#TELOPT.ECHO
|
.DA #IAC,#WILL,#TELOPT.ECHO
|
||||||
* .DA #IAC,#DONT,#TELOPT.ECHO
|
|
||||||
.DA #IAC,#WILL,#TELOPT.SGA
|
.DA #IAC,#WILL,#TELOPT.SGA
|
||||||
.DA #IAC,#DO,#TELOPT.SGA
|
.DA #IAC,#DO,#TELOPT.SGA
|
||||||
.DA #IAC,#DO,#TELOPT.NAWS
|
.DA #IAC,#DO,#TELOPT.NAWS
|
||||||
.DA #IAC,#DO,#TELOPT.TTYPE
|
.DA #IAC,#DO,#TELOPT.TTYPE
|
||||||
.DA #IAC,#DONT,#TELOPT.LINEMODE
|
.DA #IAC,#DO,#TELOPT.LINEMODE
|
||||||
* .DA #IAC,#SB,#TELOPT.LINEMODE,#SB.SEND,#0,#IAC,#SE
|
|
||||||
* .DA #IAC,#SB,#TELOPT.TTYPE,#SB.SEND,#IAC,#SE
|
|
||||||
TELNETOPTS.LEN .EQ *-TELNETOPTS
|
TELNETOPTS.LEN .EQ *-TELNETOPTS
|
||||||
|
TELNETOPT.TTYPE .DA #IAC,#SB,#TELOPT.TTYPE,#SB.SEND,#IAC,#SE
|
||||||
|
TELNETOPT.TTYPE.LEN .EQ *-TELNETOPT.TTYPE
|
||||||
|
TELNETOPT.LINEMODE
|
||||||
|
.DA #IAC,#SB,#TELOPT.LINEMODE,#SB.SEND,#0,#IAC,#SE
|
||||||
|
TELNETOPT.LINEMODE.LEN
|
||||||
ENV.TERM .AZ "TERM"
|
ENV.TERM .AZ "TERM"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DUMMY
|
.DUMMY
|
||||||
.OR 0
|
.OR 0
|
||||||
DS.START
|
DS.START
|
||||||
IAC.SB.DATA .BS 64
|
IAC.SB.DATA .BS 64
|
||||||
IAC.VERB .BS 1
|
IAC.CMD .BS 1
|
||||||
IAC.OPT .BS 1
|
IAC.SUBCMD .BS 1
|
||||||
IAC.SB .BS 1
|
IAC.SB .BS 1
|
||||||
hDEV .BS 1
|
hDEV .BS 1
|
||||||
TimeOut .BS 1
|
TimeOut .BS 1
|
||||||
|
@ -3,24 +3,25 @@ PREFIX /A2OSX.BUILD
|
|||||||
AUTO 4,1
|
AUTO 4,1
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CL.PrintPrompt >PUSHBI 0
|
CL.PrintPrompt >LDYA L.ENV.PS1
|
||||||
>LDYA L.ENV.PS1
|
|
||||||
>SYSCALL GetEnv
|
>SYSCALL GetEnv
|
||||||
>SYSCALL ExpandStr
|
bcs .1
|
||||||
phx
|
|
||||||
>SYSCALL printf
|
|
||||||
|
|
||||||
|
>SYSCALL ExpandStr
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
phx
|
||||||
|
pha
|
||||||
>PUSHBI 0
|
>PUSHBI 0
|
||||||
|
pla
|
||||||
|
>SYSCALL printf
|
||||||
|
pla
|
||||||
|
>SYSCALL FreeMem
|
||||||
|
|
||||||
|
.1 >PUSHBI 0
|
||||||
>LDYA L.MSG.PROMPT
|
>LDYA L.MSG.PROMPT
|
||||||
>SYSCALL printf
|
>SYSCALL printf
|
||||||
plx
|
.9 rts
|
||||||
php
|
|
||||||
pha
|
|
||||||
txa
|
|
||||||
>SYSCALL FreeMem
|
|
||||||
pla
|
|
||||||
plp
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CL.CHARIN tax
|
CL.CHARIN tax
|
||||||
|
|
||||||
|
@ -358,7 +358,7 @@ INTCMDS .AZ "CD"
|
|||||||
.HS 00
|
.HS 00
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MSG.GREETINGS .AZ "\r\nA2osX-Shell %d.%d\r\n\r\n"
|
MSG.GREETINGS .AZ "\r\nA2osX-Shell %d.%d\r\n\r\n"
|
||||||
MSG.PROMPT .AZ "$ "
|
MSG.PROMPT .AZ "\e[7h$ "
|
||||||
MSG.ECHO .AS ">%s"
|
MSG.ECHO .AS ">%s"
|
||||||
MSG.ECHOCRLF .AZ "\r\n"
|
MSG.ECHOCRLF .AZ "\r\n"
|
||||||
MSG.ERROR .AZ "[$%h]:%S.\r\n"
|
MSG.ERROR .AZ "[$%h]:%S.\r\n"
|
||||||
|
Loading…
Reference in New Issue
Block a user