Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-08-18 21:56:50 +02:00
parent fbf015118b
commit 88484b578b
7 changed files with 81 additions and 76 deletions

Binary file not shown.

Binary file not shown.

View File

@ -18,47 +18,47 @@ DO .EQ 253 $FD
DONT .EQ 254 $FE DONT .EQ 254 $FE
IAC .EQ 255 $FF IAC .EQ 255 $FF
*-------------------------------------- *--------------------------------------
TELOPT.BINARY .EQ 0 8-bit data path TN.O.BINARY .EQ 0 8-bit data path
TELOPT.ECHO .EQ 1 echo TN.O.ECHO .EQ 1 echo
TELOPT.RCP .EQ 2 prepare to reconnect TN.O.RCP .EQ 2 prepare to reconnect
TELOPT.SGA .EQ 3 suppress go ahead TN.O.SGA .EQ 3 suppress go ahead
TELOPT.NAMS .EQ 4 approximate message size TN.O.NAMS .EQ 4 approximate message size
TELOPT.STATUS .EQ 5 give status TN.O.STATUS .EQ 5 give status
TELOPT.TM .EQ 6 timing mark TN.O.TM .EQ 6 timing mark
TELOPT.RCTE .EQ 7 remote controlled transmission and echo TN.O.RCTE .EQ 7 remote controlled transmission and echo
TELOPT.NAOL .EQ 8 negotiate about output line width TN.O.NAOL .EQ 8 negotiate about output line width
TELOPT.NAOP .EQ 9 negotiate about output page size TN.O.NAOP .EQ 9 negotiate about output page size
TELOPT.NAOCRD .EQ 10 negotiate about CR disposition TN.O.NAOCRD .EQ 10 negotiate about CR disposition
TELOPT.NAOHTS .EQ 11 negotiate about horizontal tabstops TN.O.NAOHTS .EQ 11 negotiate about horizontal tabstops
TELOPT.NAOHTD .EQ 12 negotiate about horizontal tab disposition TN.O.NAOHTD .EQ 12 negotiate about horizontal tab disposition
TELOPT.NAOFFD .EQ 13 negotiate about formfeed disposition TN.O.NAOFFD .EQ 13 negotiate about formfeed disposition
TELOPT.NAOVTS .EQ 14 negotiate about vertical tab stops TN.O.NAOVTS .EQ 14 negotiate about vertical tab stops
TELOPT.NAOVTD .EQ 15 negotiate about vertical tab disposition TN.O.NAOVTD .EQ 15 negotiate about vertical tab disposition
TELOPT.NAOLFD .EQ 16 negotiate about output LF disposition TN.O.NAOLFD .EQ 16 negotiate about output LF disposition
TELOPT.XASCII .EQ 17 extended ascii character set TN.O.XASCII .EQ 17 extended ascii character set
TELOPT.LOGOUT .EQ 18 force logout TN.O.LOGOUT .EQ 18 force logout
TELOPT.BM .EQ 19 byte macro TN.O.BM .EQ 19 byte macro
TELOPT.DET .EQ 20 data entry terminal TN.O.DET .EQ 20 data entry terminal
TELOPT.SUPDUP .EQ 21 supdup protocol TN.O.SUPDUP .EQ 21 supdup protocol
TELOPT.SUPDUPOUTPUT .EQ 22 supdup output TN.O.SUPDUPOUT .EQ 22 supdup output
TELOPT.SNDLOC .EQ 23 send location TN.O.SNDLOC .EQ 23 send location
TELOPT.TTYPE .EQ 24 terminal type TN.O.TTYPE .EQ 24 terminal type
TELOPT.EOR .EQ 25 end or record TN.O.EOR .EQ 25 end or record
TELOPT.TUID .EQ 26 TACACS user identification TN.O.TUID .EQ 26 TACACS user identification
TELOPT.OUTMRK .EQ 27 output marking TN.O.OUTMRK .EQ 27 output marking
TELOPT.TTYLOC .EQ 28 terminal location number TN.O.TTYLOC .EQ 28 terminal location number
TELOPT.3270REGIME .EQ 29 3270 regime TN.O.3270REGIME .EQ 29 3270 regime
TELOPT.X3PAD .EQ 30 X.3 PAD TN.O.X3PAD .EQ 30 X.3 PAD
TELOPT.NAWS .EQ 31 window size TN.O.NAWS .EQ 31 window size
TELOPT.TSPEED .EQ 32 terminal speed TN.O.TSPEED .EQ 32 terminal speed
TELOPT.LFLOW .EQ 33 remote flow control TN.O.LFLOW .EQ 33 remote flow control
TELOPT.LINEMODE .EQ 34 Linemode option TN.O.LINEMODE .EQ 34 Linemode option
TELOPT.XDISPLOC .EQ 35 X Display Location TN.O.XDISPLOC .EQ 35 X Display Location
TELOPT.OLDENVIRON .EQ 36 Old - Environment variables TN.O.OLDENV .EQ 36 Old - Environment variables
TELOPT.AUTHENTICATION .EQ 37 Authenticate TN.O.AUTH .EQ 37 Authenticate
TELOPT.ENCRYPT .EQ 38 Encryption option TN.O.ENCRYPT .EQ 38 Encryption option
TELOPT.NEWENVIRON .EQ 39 New - Environment variables TN.O.NEWENV .EQ 39 New - Environment variables
TELOPT.EXOPL .EQ 255 extended-options-list TN.O.EXOPL .EQ 255 extended-options-list
*-------------------------------------- *--------------------------------------
MAN MAN
SAVE INC/NET.TELNET.I SAVE INC/NET.TELNET.I

View File

@ -3,11 +3,11 @@ NEW
.LIST OFF .LIST OFF
.OP 65C02 .OP 65C02
.OR $2000 .OR $2000
.TF SBIN/GETTY .TF sbin/getty
*-------------------------------------- *--------------------------------------
.INB INC/MACROS.I .INB inc/macros.i
.INB INC/A2OSX.I .INB inc/a2osx.i
.INB INC/NET.TELNET.I .INB inc/net.telnet.i
*-------------------------------------- *--------------------------------------
TIMEOUT.MAX .EQ 40 4 sec. TIMEOUT.MAX .EQ 40 4 sec.
IAC.BUF.MAX .EQ 32 IAC.BUF.MAX .EQ 32
@ -198,14 +198,14 @@ 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 #TN.O.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 #TN.O.LINEMODE
bne .8 bne .8
>PUSHWI TELNETOPT.LMODE.LEN >PUSHWI TELNETOPT.LMODE.LEN
@ -240,7 +240,7 @@ CS.RUN.IAC.SB >SYSCALL GetChar Wait for IAC SB.IS or SEND
bne .8 bne .8
lda IAC.SUBCMD lda IAC.SUBCMD
cmp #TELOPT.TTYPE cmp #TN.O.TTYPE
bne .8 bne .8
lda IAC.SB.CMD lda IAC.SB.CMD
cmp #SB.IS cmp #SB.IS
@ -315,19 +315,19 @@ MSG.GREETINGS .AZ "\r\nA2osX-GeTTY %d.%d on %s\r\n"
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"
*-------------------------------------- *--------------------------------------
TELNETOPTS .DA #IAC,#WILL,#TELOPT.BINARY TELNETOPTS .DA #IAC,#WILL,#TN.O.BINARY
.DA #IAC,#WILL,#TELOPT.ECHO .DA #IAC,#WILL,#TN.O.ECHO
.DA #IAC,#WILL,#TELOPT.SGA .DA #IAC,#WILL,#TN.O.SGA
.DA #IAC,#DO,#TELOPT.SGA .DA #IAC,#DO,#TN.O.SGA
* .DA #IAC,#DO,#TELOPT.NAWS * .DA #IAC,#DO,#TN.O.NAWS
.DA #IAC,#DO,#TELOPT.TTYPE .DA #IAC,#DO,#TN.O.TTYPE
.DA #IAC,#DO,#TELOPT.LINEMODE .DA #IAC,#DO,#TN.O.LINEMODE
TELNETOPTS.LEN .EQ *-TELNETOPTS TELNETOPTS.LEN .EQ *-TELNETOPTS
*-------------------------------------- *--------------------------------------
TELNETOPT.TTYPE .DA #IAC,#SB,#TELOPT.TTYPE,#SB.SEND,#IAC,#SE TELNETOPT.TTYPE .DA #IAC,#SB,#TN.O.TTYPE,#SB.SEND,#IAC,#SE
TELNETOPT.TTYPE.LEN .EQ *-TELNETOPT.TTYPE TELNETOPT.TTYPE.LEN .EQ *-TELNETOPT.TTYPE
*-------------------------------------- *--------------------------------------
TELNETOPT.LMODE .DA #IAC,#SB,#TELOPT.LINEMODE,#SB.SEND,#0,#IAC,#SE TELNETOPT.LMODE .DA #IAC,#SB,#TN.O.LINEMODE,#SB.SEND,#0,#IAC,#SE
TELNETOPT.LMODE.LEN .EQ *-TELNETOPT.LMODE TELNETOPT.LMODE.LEN .EQ *-TELNETOPT.LMODE
ENV.TERM .AZ "TERM" ENV.TERM .AZ "TERM"
*-------------------------------------- *--------------------------------------
@ -337,5 +337,5 @@ DS.START
IAC.SB.DATA .BS IAC.BUF.MAX IAC.SB.DATA .BS IAC.BUF.MAX
DS.END .ED DS.END .ED
MAN MAN
SAVE USR/SRC/SBIN/GETTY.S SAVE usr/src/sbin/getty.s
ASM ASM

View File

@ -157,10 +157,18 @@ IO.MLI.OPEN >LDYAI 1024 get a ProDOS IOBUF
.9 .9
FS.OPEN.RTS rts FS.OPEN.RTS rts
*-------------------------------------- *--------------------------------------
FS.STAT.I >PUSHYA
>PUSHWI K.S.STAT
jsr PFT.CheckPath2
bcs .9
jsr FS.Stat.203
.9 >RET 4
*--------------------------------------
FS.Stat bit CORE.FSID FS.Stat bit CORE.FSID
bmi FS.Stat.FX bmi FS.Stat.FX
>MLICALL MLIGETFILEINFO FS.Stat.203 >MLICALL MLIGETFILEINFO
bcs FS.OPEN.RTS bcs FS.OPEN.RTS
jsr FS.ClrStat jsr FS.ClrStat

View File

@ -323,9 +323,8 @@ PS.Load ldy #$ff
cmp #'/' cmp #'/'
bne .1 bne .1
>PUSHW PS.ArgV found /, some path specified, no search >LDYA PS.ArgV found /, some path specified, no search
>PUSHWI K.S.STAT jsr FS.STAT.I
>SYSCALL2 stat
bcc .6 REAL path in K.Buf256 bcc .6 REAL path in K.Buf256
.99 rts .99 rts
@ -396,9 +395,8 @@ PS.Load.SCRIPT ldx #$ff
sta K.Buf256-1,x K.Buf256 = "${ROOT}BIN/SHELL\0" sta K.Buf256-1,x K.Buf256 = "${ROOT}BIN/SHELL\0"
.5 >PUSHWI K.Buf256 .5 >LDYAI K.Buf256
>PUSHWI K.S.STAT jsr FS.STAT.I
>SYSCALL2 stat
bcs PS.Load.RTS bcs PS.Load.RTS
lda K.S.STAT+S.STAT.P.TYPE lda K.S.STAT+S.STAT.P.TYPE
@ -947,9 +945,8 @@ ENV.Search.4 lda $ffff,y Self Modified, Append Filename...
inx inx
bra ENV.Search.4 bra ENV.Search.4
ENV.Search.5 >PUSHWI K.Buf256 ENV.Search.5 >LDYAI K.Buf256
>PUSHWI K.S.STAT jsr FS.STAT.I
>SYSCALL2 stat
bcs ENV.Search.1 Failed...retry next path... bcs ENV.Search.1 Failed...retry next path...
lda K.S.STAT+S.STAT.P.TYPE lda K.S.STAT+S.STAT.P.TYPE

View File

@ -801,7 +801,7 @@ TERMX.IAC ldy #S.DCB.TTY.INBUFFER
COUT.IAC.SB ldy #S.DCB.TTY.INBUFFER+2 COUT.IAC.SB ldy #S.DCB.TTY.INBUFFER+2
lda (ZPDCBPtr),y Get SUBCMD in A lda (ZPDCBPtr),y Get SUBCMD in A
cmp #TELOPT.TTYPE cmp #TN.O.TTYPE
bne COUT.IAC.SB.9 bne COUT.IAC.SB.9
iny iny
lda (ZPDCBPtr),y lda (ZPDCBPtr),y
@ -1414,22 +1414,22 @@ KeyRemapped .HS 080A0B15 Left,Down,Up,Right
KeyRemapped.Cnt .EQ *-KeyRemapped KeyRemapped.Cnt .EQ *-KeyRemapped
KeyRemapped.Tbl .HS 44424143 esc[D,esc[B,esc[A,esc[C KeyRemapped.Tbl .HS 44424143 esc[D,esc[B,esc[A,esc[C
*-------------------------------------- *--------------------------------------
WILLDO .DA #TELOPT.BINARY,#TELOPT.SGA,#TELOPT.ECHO WILLDO .DA #TN.O.BINARY,#TN.O.SGA,#TN.O.ECHO
WILLDO.CNT .EQ *-WILLDO WILLDO.CNT .EQ *-WILLDO
WILLDONT .DA #TELOPT.TSPEED,#TELOPT.LINEMODE,#TELOPT.STATUS WILLDONT .DA #TN.O.TSPEED,#TN.O.LINEMODE,#TN.O.STATUS
WILLDONT.CNT .EQ *-WILLDONT WILLDONT.CNT .EQ *-WILLDONT
DOWILL .DA #TELOPT.BINARY,#TELOPT.SGA,#TELOPT.TTYPE,#TELOPT.NAWS DOWILL .DA #TN.O.BINARY,#TN.O.SGA,#TN.O.TTYPE,#TN.O.NAWS
DOWILL.CNT .EQ *-DOWILL DOWILL.CNT .EQ *-DOWILL
DOWONT .DA #TELOPT.ECHO,#TELOPT.NEWENVIRON,#TELOPT.XDISPLOC DOWONT .DA #TN.O.ECHO,#TN.O.NEWENV,#TN.O.XDISPLOC
.DA #TELOPT.TSPEED,#TELOPT.LFLOW,#TELOPT.AUTHENTICATION .DA #TN.O.TSPEED,#TN.O.LFLOW,#TN.O.AUTH
DOWONT.CNT .EQ *-DOWONT DOWONT.CNT .EQ *-DOWONT
*-------------------------------------- *--------------------------------------
SB.IS.TTYPE .DA #IAC,#SB,#TELOPT.TTYPE,#SB.IS SB.IS.TTYPE .DA #IAC,#SB,#TN.O.TTYPE,#SB.IS
ENQ.String .AS "vt100" ENQ.String .AS "vt100"
ENQ.String.Len .EQ *-ENQ.String ENQ.String.Len .EQ *-ENQ.String
.DA #IAC,#SE .DA #IAC,#SE
SB.IS.TTYPE.LEN .EQ *-SB.IS.TTYPE SB.IS.TTYPE.LEN .EQ *-SB.IS.TTYPE
SB.IS.NAWS .DA #IAC,#SB,#TELOPT.NAWS,#SB.IS SB.IS.NAWS .DA #IAC,#SB,#TN.O.NAWS,#SB.IS
.DA 80 .DA 80
.DA 24 .DA 24
.DA #IAC,#SE .DA #IAC,#SE