mirror of
https://github.com/A2osX/A2osX.git
synced 2025-01-11 10:29:46 +00:00
Kernel 0.92
This commit is contained in:
parent
3db734ce9e
commit
022f5921ac
@ -289,7 +289,10 @@ CS.END
|
||||
OptionList >PSTR "ANSans"
|
||||
OptionVars .DA #bPrintAll,#bLineNum,#bSuppressBlankLine,#bPrintAll,#bLineNum,#bSuppressBlankLine
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AZ "Usage : CAT File1 [File2...]\r\n -A : Show All non printable caracters\r\n -N : Number all output lines\r\n -S : Suppress repeated empty output lines\r\n"
|
||||
MSG.USAGE .AS "Usage : CAT File1 [File2...]\r\n"
|
||||
.AS " -A : Show All non printable caracters\r\n"
|
||||
.AS " -N : Number all output lines\r\n"
|
||||
.AZ " -S : Suppress repeated empty output lines\r\n"
|
||||
MSG.LINENUM .AZ "%5D:"
|
||||
MSG.CTRLCHAR .AZ "[%S]"
|
||||
*--------------------------------------
|
||||
@ -347,5 +350,5 @@ DS.END
|
||||
.ED
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE USR/SRC/BIN/BIN/CAT.S
|
||||
SAVE USR/SRC/BIN/CAT.S
|
||||
ASM
|
||||
|
119
BIN/LSDEV.S.txt
119
BIN/LSDEV.S.txt
@ -9,9 +9,9 @@ AUTO 4,1
|
||||
.INB INC/MACROS.I
|
||||
.INB INC/MLI.I
|
||||
.INB INC/A2OSX.I
|
||||
.INB INC/KERNEL.I
|
||||
*--------------------------------------
|
||||
ZPPTR1 .EQ ZPBIN
|
||||
ZPPTR2 .EQ ZPBIN+2
|
||||
ZPFDPtr .EQ ZPBIN
|
||||
*--------------------------------------
|
||||
* File Header (16 Bytes)
|
||||
*--------------------------------------
|
||||
@ -38,24 +38,47 @@ L.MSG2.ERR .DA MSG2.ERR
|
||||
L.MSG2 .DA MSG2
|
||||
L.MSG2.C .DA MSG2.C
|
||||
L.MSG2.B .DA MSG2.B
|
||||
L.MSG3 .DA MSG3
|
||||
L.MSG4 .DA MSG4
|
||||
L.FD.T .DA FD.T.REG
|
||||
.DA FD.T.DIR
|
||||
.DA FD.T.CDEV
|
||||
.DA FD.T.BDEV
|
||||
.DA FD.T.LNK
|
||||
.DA FD.T.DSOCK
|
||||
.DA FD.T.SSOCK
|
||||
.DA FD.T.PIPE
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
CS.INIT clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN >LDYA L.MSG0
|
||||
CS.RUN jsr DumpDev
|
||||
bcs .9
|
||||
|
||||
>STZ.G Table.Index
|
||||
|
||||
jsr DumpNod
|
||||
bcs .9
|
||||
|
||||
.8 lda #0 tell TSKMGR that all done ok, but
|
||||
sec we do not want to stay in memory
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
DumpDev >LDYA L.MSG0
|
||||
>SYSCALL puts
|
||||
|
||||
>LDA.G DEV.ID
|
||||
|
||||
.1 >SYSCALL GetDevByID
|
||||
bcs .7
|
||||
>LDA.G Table.Index
|
||||
|
||||
.1 tax
|
||||
lda Dev.Table.hFD,x
|
||||
beq .7
|
||||
|
||||
>STYA ZPPTR1 S.FD
|
||||
txa
|
||||
>STA.G DEV.FD
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPFDPtr S.FD
|
||||
|
||||
jsr DumpFD
|
||||
jsr DumpDevFD
|
||||
bcs .9
|
||||
|
||||
>PUSHEA.G DEV.DIB
|
||||
@ -71,41 +94,40 @@ CS.RUN >LDYA L.MSG0
|
||||
bcs .9
|
||||
bra .7
|
||||
|
||||
.6 jsr DumpDIB
|
||||
.6 jsr DumpDevDIB
|
||||
|
||||
.7 >INC.G DEV.ID
|
||||
.7 >INC.G Table.Index
|
||||
cmp #K.DEV.MAX
|
||||
bne .1
|
||||
|
||||
.8 lda #0 tell TSKMGR that all done ok, but
|
||||
sec we do not want to stay in memory
|
||||
|
||||
clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
DumpFD ldy #S.FD.DEV.DRVPTR+1
|
||||
>PUSHB (ZPPTR1),y
|
||||
DumpDevFD ldy #S.FD.DEV.DRVPTR+1
|
||||
>PUSHB (ZPFDPtr),y
|
||||
|
||||
dey
|
||||
>PUSHB (ZPPTR1),y
|
||||
>PUSHB (ZPFDPtr),y
|
||||
|
||||
lda #S.FD.DEV.NAME
|
||||
clc
|
||||
adc ZPPTR1
|
||||
adc ZPFDPtr
|
||||
tay
|
||||
|
||||
lda /S.FD.DEV.NAME
|
||||
adc ZPPTR1+1
|
||||
adc ZPFDPtr+1
|
||||
>PUSHYA
|
||||
|
||||
>PUSHB.G DEV.FD
|
||||
|
||||
>PUSHB.G DEV.ID
|
||||
>PUSHB.G Table.Index
|
||||
|
||||
>PUSHBI 6
|
||||
>LDYA L.MSG1
|
||||
>SYSCALL printf
|
||||
rts
|
||||
*--------------------------------------
|
||||
DumpDIB >PUSHB.G DEV.DIB+S.DIB.VERSION+1
|
||||
DumpDevDIB >PUSHB.G DEV.DIB+S.DIB.VERSION+1
|
||||
>PUSHB.G DEV.DIB+S.DIB.VERSION
|
||||
|
||||
>PUSHEA.G DEV.DIB+S.DIB.IDS
|
||||
@ -156,6 +178,46 @@ DumpDIB >PUSHB.G DEV.DIB+S.DIB.VERSION+1
|
||||
.8 >SYSCALL printf
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
DumpNod >LDYA L.MSG3
|
||||
>SYSCALL puts
|
||||
|
||||
>LDA.G Table.Index
|
||||
|
||||
.1 tax
|
||||
|
||||
lda Nod.Table.hPath,x
|
||||
beq .7
|
||||
>SYSCALL GetMemPtr
|
||||
>PUSHYA
|
||||
|
||||
>LDA.G Table.Index
|
||||
tax
|
||||
lda Nod.Table.hFD,x
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPFDPtr
|
||||
|
||||
lda (ZPFDPtr)
|
||||
tax
|
||||
>PUSHW L.FD.T,x
|
||||
|
||||
>LDA.G Table.Index
|
||||
tax
|
||||
lda Nod.Table.hFD,x
|
||||
>PUSHA
|
||||
txa
|
||||
>PUSHA
|
||||
|
||||
>PUSHBI 6
|
||||
>LDYA L.MSG4
|
||||
>SYSCALL printf
|
||||
|
||||
.7 >INC.G Table.Index
|
||||
cmp #K.OF.MAX
|
||||
bne .1
|
||||
|
||||
clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.EVENT sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
@ -170,11 +232,22 @@ MSG2 .AZ "%s $%h/$%h %16S %03d.%03d "
|
||||
MSG2.B .AZ "%10u\r\n"
|
||||
MSG2.C .AZ "n/a\r\n"
|
||||
MSG.SFLAGS .AS "BWRLNEIO"
|
||||
*--------------------------------------
|
||||
MSG3 .AZ "ID hFD Type Filepath"
|
||||
MSG4 .AZ "%03d $%h %5s %s\r\n"
|
||||
FD.T.REG .AZ "REG"
|
||||
FD.T.DIR .AZ "DIR"
|
||||
FD.T.CDEV .AZ "CDEV"
|
||||
FD.T.BDEV .AZ "BDEV"
|
||||
FD.T.LNK .AZ "LNK"
|
||||
FD.T.DSOCK .AZ "DSOCK"
|
||||
FD.T.SSOCK .AZ "SSOCK"
|
||||
FD.T.PIPE .AZ "PIPE"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
DS.START
|
||||
DEV.ID .BS 1
|
||||
Table.Index .BS 1
|
||||
DEV.FD .BS 1
|
||||
DEV.DIB .BS S.DIB
|
||||
DEV.SFLAGS .BS 9
|
||||
|
@ -11,7 +11,7 @@ AUTO 4,1
|
||||
.INB INC/A2OSX.I
|
||||
.INB INC/KERNEL.I
|
||||
*--------------------------------------
|
||||
pPD .EQ ZPBIN
|
||||
ZPFDPtr .EQ ZPBIN
|
||||
*--------------------------------------
|
||||
* File Header (16 Bytes)
|
||||
*--------------------------------------
|
||||
@ -54,24 +54,24 @@ CS.RUN >LDYA L.MSG0
|
||||
|
||||
.1 tax
|
||||
|
||||
lda Nod.Table.hPath,x
|
||||
lda OF.Table.hPath,x
|
||||
beq .7
|
||||
>SYSCALL GetMemPtr
|
||||
>PUSHYA
|
||||
|
||||
>LDA.G FILE.ID
|
||||
tax
|
||||
lda Nod.Table.hFD,x
|
||||
lda OF.Table.hFD,x
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA pFD
|
||||
>STYA ZPFDPtr
|
||||
|
||||
lda (pFD)
|
||||
lda (ZPFDPtr)
|
||||
tax
|
||||
>PUSHW L.FD.T,x
|
||||
|
||||
>LDA.G FILE.ID
|
||||
tax
|
||||
lda Nod.Table.hFD,x
|
||||
lda OF.Table.hFD,x
|
||||
>PUSHA
|
||||
txa
|
||||
>PUSHA
|
||||
@ -81,7 +81,7 @@ CS.RUN >LDYA L.MSG0
|
||||
>SYSCALL printf
|
||||
|
||||
.7 >INC.G FILE.ID
|
||||
cmp #K.NOD.MAX
|
||||
cmp #K.OF.MAX
|
||||
bne .1
|
||||
|
||||
.8 lda #0 tell TSKMGR that all done ok, but
|
||||
@ -114,5 +114,5 @@ DS.END
|
||||
.ED
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE USR/SRC/BIN/BIN/LSOF.S
|
||||
SAVE USR/SRC/BIN/LSOF.S
|
||||
ASM
|
||||
|
@ -330,6 +330,25 @@ MSG.FILE.OK .AZ "BMP Loaded, %D Bytes Read\r\n"
|
||||
MSG.HEADER.OK .AZ "BMP Size : %D x %D pixels\r\n"
|
||||
MSG.HEADER.KO .AZ "Invalid Input File Format\r\n"
|
||||
MSG.DONE .AZ "All Done!!!\r\n"
|
||||
*--------------------------------------
|
||||
* LOWRES Patette : https://comp.sys.apple2.narkive.com/lTSrj2ZI/apple-ii-colour-rgb
|
||||
*--------------------------------------
|
||||
0 #000000
|
||||
1 #e31e60
|
||||
2 #604ebd
|
||||
3 #ff44fd
|
||||
4 #00a360
|
||||
5 #9c9c9c
|
||||
6 #14cffd
|
||||
7 #d0c3ff
|
||||
8 #607203
|
||||
9 #ff6a3c
|
||||
a #9c9c9c (yes it is the same as #5!)
|
||||
b #ffa0d0
|
||||
c #14f53c
|
||||
d #d0dd8d
|
||||
e #72ffd0
|
||||
f #ffffff
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
|
@ -10,6 +10,7 @@ K.IRQDEV.MAX .EQ 4
|
||||
K.DEV.MAX .EQ 32
|
||||
K.NOD.MAX .EQ 32
|
||||
K.PS.MAX .EQ 32
|
||||
K.OF.MAX .EQ 32
|
||||
K.FLT.MAX .EQ 4
|
||||
K.EVT.MAX .EQ 4
|
||||
*--------------------------------------
|
||||
@ -438,19 +439,19 @@ S.FD.DEV .EQ 16
|
||||
*--------------------------------------
|
||||
* S.FD.LNK
|
||||
*--------------------------------------
|
||||
S.FD.DSOCK.HSKT .EQ 2
|
||||
S.FD.DSOCK.OPEN .EQ 3
|
||||
S.FD.DSOCK.IOHANDLER .EQ 2
|
||||
S.FD.DSOCK.OPEN .EQ 3
|
||||
S.FD.DSOCK.CLOSE .EQ 4
|
||||
S.FD.DSOCK.READ .EQ 5
|
||||
S.FD.DSOCK.READ .EQ 5
|
||||
S.FD.DSOCK.WRITE .EQ 6
|
||||
S.FD.DSOCK.STATUS .EQ 7
|
||||
*
|
||||
S.FD.DSOCK .EQ 8
|
||||
*--------------------------------------
|
||||
S.FD.SSOCK.HSKT .EQ 2
|
||||
S.FD.SSOCK.OPEN .EQ 3
|
||||
S.FD.SSOCK.IOHANDLER .EQ 2
|
||||
S.FD.SSOCK.OPEN .EQ 3
|
||||
S.FD.SSOCK.CLOSE .EQ 4
|
||||
S.FD.SSOCK.READ .EQ 5
|
||||
S.FD.SSOCK.READ .EQ 5
|
||||
S.FD.SSOCK.WRITE .EQ 6
|
||||
S.FD.SSOCK.STATUS .EQ 7
|
||||
*
|
||||
|
@ -110,6 +110,9 @@ PS.Table.hPS .EQ $0CA0 K.PS.MAX
|
||||
PS.Table.Hits .EQ $0CC0 K.PS.MAX
|
||||
PS.Table.Stats .EQ $0CE0 K.PS.MAX
|
||||
*--------------------------------------
|
||||
OF.Table.hPath .EQ $0D00 K.OF.MAX
|
||||
OF.Table.hFD .EQ $0D20 K.OF.MAX
|
||||
*--------------------------------------
|
||||
Evt.Table .EQ $0D60 K.EVT.MAX*S.EVT.SIZE=4*8=32b
|
||||
*--------------------------------------
|
||||
Flt.Table .EQ $0D80 K.FLT.MAX*S.FLT.SIZE=4*32=128b
|
||||
|
@ -36,7 +36,6 @@ SKT.Socket.DSOCK
|
||||
>SYSCALL GetMem0
|
||||
bcs .9
|
||||
>STYA ZPTmpPtr1
|
||||
stx FD.DSOCK+S.FD.DSOCK.HSKT
|
||||
|
||||
jsr SKT.Socket.FindFree
|
||||
bcs .9
|
||||
@ -61,7 +60,6 @@ SKT.Socket.STREAM
|
||||
>SYSCALL GetMem0
|
||||
bcs .9
|
||||
>STYA ZPTmpPtr1
|
||||
stx FD.SSOCK+S.FD.SSOCK.HSKT
|
||||
|
||||
jsr SKT.Socket.FindFree
|
||||
bcs .9
|
||||
|
@ -3,7 +3,14 @@ PREFIX
|
||||
AUTO 4,1
|
||||
.LIST OFF
|
||||
*--------------------------------------
|
||||
TCP.IN jsr FRM.GetTargetSKT.TCPUDP
|
||||
TCP.IN
|
||||
* ldy #S.TCP.OPTIONS
|
||||
* lda (ZPFrameInPtr),y
|
||||
* cmp #S.TCP.OPTIONS.ACK
|
||||
* bne .1
|
||||
* >DEBUG
|
||||
*.1
|
||||
jsr FRM.GetTargetSKT.TCPUDP
|
||||
|
||||
jsr SKT.FindMatchingLocRem
|
||||
bcs TCP.IN.JMP.CLOSED no socket, go discard
|
||||
|
@ -180,8 +180,8 @@ L.MSG.SKT.Dump .DA MSG.SKT.Dump
|
||||
*--------------------------------------
|
||||
LIB.LOAD ldx RefCount
|
||||
bne .8
|
||||
|
||||
sta FD.DSOCK+S.FD.HANDLER
|
||||
sta FD.DSOCK+S.FD.DSOCK.IOHANDLER
|
||||
sta FD.SSOCK+S.FD.SSOCK.IOHANDLER
|
||||
|
||||
jsr ARP.CLEAR
|
||||
|
||||
@ -426,8 +426,8 @@ SA.REMOTE .DA #AF.INET S.SOCKADDR.AF
|
||||
.BS 2 S.SOCKADDR.PORT
|
||||
*--------------------------------------
|
||||
FD.DSOCK .DA #S.FD.T.DSOCK
|
||||
.BS 1 S.FD.HANDLER
|
||||
.BS 1 S.FD.DSOCK.HSKT
|
||||
.DA #0 S.FD.HANDLER
|
||||
.BS 1 S.FD.DSOCK.IOHANDLER
|
||||
.DA #0 S.FD.DSOCK.OPEN
|
||||
.DA #0 S.FD.DSOCK.CLOSE
|
||||
.DA #LIBTCPIP.Recv
|
||||
@ -440,8 +440,8 @@ FD.DSOCK .DA #S.FD.T.DSOCK
|
||||
FD.DSOCK.SIZE .EQ *-FD.DSOCK
|
||||
*--------------------------------------
|
||||
FD.SSOCK .DA #S.FD.T.SSOCK
|
||||
.BS 1 S.FD.HANDLER
|
||||
.BS 1 S.FD.SSOCK.HSKT
|
||||
.DA #0 S.FD.HANDLER
|
||||
.BS 1 S.FD.SSOCK.IOHANDLER
|
||||
.DA #0 S.FD.SSOCK.OPEN
|
||||
.DA #0 S.FD.SSOCK.CLOSE
|
||||
.DA #LIBTCPIP.Read
|
||||
|
@ -69,8 +69,9 @@ CS.RUN ldy #S.PS.ARGC
|
||||
>STA.G hDEV
|
||||
bra CS.RUN.LOOP0
|
||||
|
||||
.90 >LDYA L.MSG.USAGE
|
||||
>SYSCALL puts
|
||||
.90 >PUSHBI 0
|
||||
>LDYA L.MSG.USAGE
|
||||
>SYSCALL printf
|
||||
lda #E.SYN
|
||||
sec
|
||||
.9 rts
|
||||
@ -253,7 +254,10 @@ Wait.TimeOut sec
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
MSG.USAGE .AZ "Usage : GETTY <DEV> <PROGRAM>"
|
||||
OptionList >PSTR "Ee"
|
||||
OptionVars .DA #bCloseOnExit,#bCloseOnExit
|
||||
MSG.USAGE .AZ "Usage : GETTY <DEV> <PROGRAM>\r\n"
|
||||
.AZ " -E : Close DEV on exit\r\n"
|
||||
MSG.GREETINGS .AZ "\r\nA2osX-GeTTY %d.%d\r\n"
|
||||
MSG.DEBUG .AZ "{%h}"
|
||||
*--------------------------------------
|
||||
@ -277,6 +281,7 @@ ENV.TERM .AZ "TERM"
|
||||
.OR 0
|
||||
DS.START
|
||||
hDEV .BS 1
|
||||
bCloseOnExit .BS 1
|
||||
TimeOut .BS 1
|
||||
IAC.CMD .BS 1
|
||||
IAC.SUBCMD .BS 1
|
||||
|
@ -46,6 +46,7 @@ L.MSG.TCPIPERR .DA MSG.TCPIPERR
|
||||
L.MSG.SKTERR .DA MSG.SKTERR
|
||||
L.MSG.ABORT .DA MSG.ABORT
|
||||
L.MSG.INCOMING .DA MSG.INCOMING
|
||||
L.MSG.EXECERR .DA MSG.EXECERR
|
||||
L.NOD.Template .DA NOD.Template
|
||||
L.CMD.Template .DA CMD.Template
|
||||
.DA 0
|
||||
@ -142,24 +143,28 @@ CS.RUN.SERVER >LDA.G hSrvSocket
|
||||
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Accept
|
||||
bcs .8
|
||||
>STA.G hClientSocket
|
||||
|
||||
pha
|
||||
ldy #hSockets
|
||||
ldx #CONN.MAX
|
||||
|
||||
.1 lda (pData),y
|
||||
beq CS.RUN.CLIENT
|
||||
iny
|
||||
bne .2
|
||||
pla
|
||||
sta (pData),y
|
||||
|
||||
bra CS.RUN.CLIENT
|
||||
|
||||
.2 iny
|
||||
dex
|
||||
bne .1
|
||||
|
||||
>LDA.G hClientSocket
|
||||
pla
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Shutdown
|
||||
.8 clc
|
||||
rts
|
||||
|
||||
CS.RUN.CLIENT sta (pData),y
|
||||
|
||||
*--------------------------------------
|
||||
CS.RUN.CLIENT >STA.G hClientSocket
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPSktPtr
|
||||
|
||||
@ -188,6 +193,7 @@ CS.RUN.CLIENT sta (pData),y
|
||||
>LEA.G NodBuf
|
||||
>SYSCALL mknod
|
||||
bcs .9
|
||||
>STA.G hClientFile
|
||||
|
||||
>PUSHEA.G NodBuf
|
||||
>PUSHBI 2
|
||||
@ -201,6 +207,13 @@ CS.RUN.CLIENT sta (pData),y
|
||||
>PUSHBI S.PS.F.DUPENV
|
||||
>LEA.G CmdBuf
|
||||
>SYSCALL execl
|
||||
bcc .8
|
||||
|
||||
>PUSHA
|
||||
>PUSHBI 1
|
||||
>LDYA L.MSG.EXECERR
|
||||
>SYSCALL printf
|
||||
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
@ -264,9 +277,10 @@ MSG.TCPIPERR .AZ "TELNETD:TCP/IP Not initialized properly"
|
||||
MSG.SKTERR .AZ "TELNETD:Listen Error."
|
||||
MSG.ABORT .AZ "TELNETD:User Aborted."
|
||||
MSG.INCOMING .AZ "TELNETD:Incoming Connection [SKT=%h] From : %d.%d.%d.%d\r\n"
|
||||
MSG.EXECERR .AZ "TELNETD:ExecL failed $%h."
|
||||
*--------------------------------------
|
||||
NOD.Template .AZ "/DEV/TTY%h"
|
||||
CMD.Template .AZ "${A2OSX}SBIN/GETTY %s ${A2OSX}SBIN/LOGIN"
|
||||
CMD.Template .AZ "${ROOT}SBIN/GETTY %s ${ROOT}SBIN/LOGIN"
|
||||
*--------------------------------------
|
||||
SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
|
||||
.BS 1
|
||||
@ -280,6 +294,7 @@ hSockets .BS CONN.MAX pData
|
||||
SktIndex .BS 1
|
||||
hSrvSocket .BS 1
|
||||
hClientSocket .BS 1
|
||||
hClientFile .BS 1
|
||||
TimeOut .BS 1
|
||||
NodBuf .BS 11
|
||||
CmdBuf .BS 65
|
||||
|
@ -385,7 +385,7 @@ CORE.ScrSel and #$0F
|
||||
|
||||
stx A2osX.ASCREEN set active screen
|
||||
|
||||
>SYSCALL GetDevByID
|
||||
jsr K.GetDevByID
|
||||
bcs .8
|
||||
phx
|
||||
|
||||
|
@ -161,7 +161,6 @@ K.MKDev >STYA .1+1
|
||||
inc DevMgr.DevCnt
|
||||
clc
|
||||
rts
|
||||
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE USR/SRC/SYS/KERNEL.S.DEV
|
||||
|
@ -595,7 +595,7 @@ K.ReadDir.ConvertTime
|
||||
tay
|
||||
lda ZPPtr3+1
|
||||
adc #0
|
||||
>SYSCALL PTime2Time
|
||||
>SYSCALL PTime2Time BANK2
|
||||
rts
|
||||
*/-------------------------------------
|
||||
* # CloseDir
|
||||
|
@ -204,7 +204,7 @@ K.FileSearch.YA >STYA .4+1
|
||||
|
||||
.5 >PUSHWI K.S.STAT
|
||||
>LDYAI K.Buf256
|
||||
>SYSCALL STAT -> BNK1
|
||||
>SYSCALL STAT BANK1
|
||||
bcs .1 Failed...retry next path...
|
||||
|
||||
lda K.S.STAT+S.STAT.P.TYPE
|
||||
|
@ -288,7 +288,7 @@ GO.EXIT.SaveY ldy #$ff
|
||||
GO.EXIT.SaveX ldx #$ff
|
||||
GO.EXIT.SaveA lda #$ff
|
||||
plp
|
||||
GO.EXIT.JMP jmp $FFFF Self Modified
|
||||
GO.EXIT.JMP jmp $FFFF SELF MODIFIED
|
||||
*--------------------------------------
|
||||
* Called from ProDOS IRQ Manager (LCBNK1)
|
||||
* A,X,Y, $FA->$FF Already Saved
|
||||
|
@ -102,9 +102,7 @@ Kernel.Init3 sta SETALTZP
|
||||
sta IRQ.InKernel
|
||||
|
||||
jsr SysScrInit
|
||||
|
||||
jsr MemMgrInit
|
||||
|
||||
>LDYAI FD.NULL
|
||||
>SYSCALL MKDev
|
||||
|
||||
@ -293,6 +291,7 @@ PS0.Init >LDYAI CORE.S.PS0 Select Process 0 (Kernel)
|
||||
>PUSHWI 0
|
||||
>PUSHBI 0
|
||||
>LDYAI DEV.SYS
|
||||
>DEBUG
|
||||
>SYSCALL fopen
|
||||
bcs .9
|
||||
|
||||
@ -523,6 +522,11 @@ MemMgrInit >LDYAI Mem.MHiMem
|
||||
dex
|
||||
bpl .3
|
||||
|
||||
ldx #K.OF.MAX*2-1
|
||||
|
||||
.4 stz OF.Table.hPath,x
|
||||
dex
|
||||
bpl .4
|
||||
rts
|
||||
*--------------------------------------
|
||||
* Setup AuxLC $FFFE->Kernel IRQ Handler
|
||||
|
@ -36,7 +36,7 @@ IO.Open.I ldx #5 $/DEV/
|
||||
dex
|
||||
bne .1
|
||||
*--------------------------------------
|
||||
* /DEV/xxxxxx (CDEV,BDEV,DSOCK,SSOCK,PIPE)
|
||||
* /DEV/xxxxxx (CDEV,BDEV,LNK,DSOCK,SSOCK,PIPE)
|
||||
*--------------------------------------
|
||||
>LDYAI K.MLI.PATH+6 skip $/DEV/
|
||||
|
||||
@ -59,7 +59,7 @@ IO.Open.I ldx #5 $/DEV/
|
||||
cmp #0 end of string ?
|
||||
bne .2
|
||||
|
||||
txa return hFILE
|
||||
lda Nod.Table.hFD,x return hFD
|
||||
clc
|
||||
rts
|
||||
|
||||
@ -72,11 +72,11 @@ IO.Open.I ldx #5 $/DEV/
|
||||
rts no OF found
|
||||
|
||||
.7 >STYA pFD
|
||||
phx DEVID/hFILE
|
||||
phx DEVID
|
||||
|
||||
lda (pFD) #S.FD.T
|
||||
tax
|
||||
pla
|
||||
pla hFILE
|
||||
jmp (.8,x)
|
||||
|
||||
.8 .DA STDIO.IOERR REG
|
||||
@ -269,11 +269,13 @@ IO.CLOSE.PIPE clc
|
||||
* CC: Y,A = bytes read
|
||||
* CS: A = EC
|
||||
*\--------------------------------------
|
||||
K.Read jsr K.GetMemPtr
|
||||
K.Read pha save hFD
|
||||
jsr K.GetMemPtr
|
||||
>STYA pFD
|
||||
|
||||
IO.Read.I lda (pFD) #S.FD.T
|
||||
tax
|
||||
pla
|
||||
jmp (.1,x)
|
||||
|
||||
.1 .DA IO.READ.REG
|
||||
@ -298,11 +300,13 @@ IO.Read.I lda (pFD) #S.FD.T
|
||||
* CC: Y,A = bytes written
|
||||
* CS: A = EC
|
||||
*\--------------------------------------
|
||||
K.Write jsr K.GetMemPtr
|
||||
K.Write pha save hFD
|
||||
jsr K.GetMemPtr
|
||||
>STYA pFD
|
||||
|
||||
IO.Write.I lda (pFD) #S.FD.T
|
||||
tax
|
||||
pla
|
||||
jmp (.1,x)
|
||||
|
||||
.1 .DA IO.WRITE.REG
|
||||
@ -351,20 +355,20 @@ IO.WRITE.CDEV ldx #IOCTL.WRITE
|
||||
IO.WRITE.SSOCK ldy #S.FD.SSOCK.WRITE
|
||||
.HS 2C BIT ABS
|
||||
*--------------------------------------
|
||||
IO.READ.SSOCK ldy #S.FD.SSOCK.READ
|
||||
|
||||
IO.READ.SSOCK sta .1+1 hFD
|
||||
ldy #S.FD.SSOCK.READ
|
||||
>DEBUG
|
||||
lda (pFD),y
|
||||
tax Function Offset in LIB
|
||||
|
||||
ldy #S.FD.HANDLER
|
||||
ldy #S.FD.SSOCK.IOHANDLER
|
||||
lda (pFD),y
|
||||
jsr K.GetMemPtr
|
||||
>STYA .1
|
||||
>STYA .2+1
|
||||
|
||||
ldy #S.FD.SSOCK.HSKT
|
||||
lda (pFD),y
|
||||
.1 lda #$ff SELF MODIFIED
|
||||
|
||||
.1 jmp $ffff
|
||||
.2 jmp $FFFF SELF MODIFIED
|
||||
*--------------------------------------
|
||||
IO.READ.PIPE >PULLW K.S.IOCTL+S.IOCTL.BUFPTR
|
||||
>PULLW K.S.IOCTL+S.IOCTL.BYTECNT
|
||||
|
@ -59,7 +59,7 @@ PFT.CheckPathYA stx .71+1 Save SYSCALL #
|
||||
|
||||
>LDYAI K.Buf256 pass full path to handler
|
||||
.71 ldx #$ff SELF MODIFIED SYSCALL #
|
||||
.72 jmp $ffff
|
||||
.72 jmp $ffff SELF MODIFIED
|
||||
|
||||
.9 rts
|
||||
|
||||
@ -102,7 +102,7 @@ PFT.CheckNodeA stx .80+1 Save SYSCALL #
|
||||
sta .81+1 Save hFILE
|
||||
|
||||
tax
|
||||
lda Nod.Table.hFD,x
|
||||
lda OF.Table.hFD,x
|
||||
beq .9
|
||||
|
||||
jsr K.GetMemPtr
|
||||
@ -121,7 +121,7 @@ PFT.CheckNodeA stx .80+1 Save SYSCALL #
|
||||
ldx .80+1 restore SYSCALL #
|
||||
lda .81+1 restore passed hFILE
|
||||
|
||||
.1 jmp $ffff
|
||||
.1 jmp $ffff SELF MODIFIED
|
||||
|
||||
.8 lda (pFD) #S.FD.T
|
||||
bne .80
|
||||
|
@ -73,7 +73,7 @@ PS.Exec jsr PS.CreateChild Child S.PS at ZPPtr3
|
||||
sta (ZPPtr3),y
|
||||
|
||||
pla
|
||||
>SYSCALL GetMemPtr
|
||||
jsr K.GetMemPtr
|
||||
|
||||
jsr PS.Load
|
||||
bcc .8
|
||||
|
@ -17,7 +17,7 @@ K.FStat jsr PFT.CheckNodeA
|
||||
bcs K.FStat.9
|
||||
|
||||
tax
|
||||
lda Nod.Table.hPath,x
|
||||
lda OF.Table.hPath,x
|
||||
jsr K.GetMemPtr
|
||||
|
||||
jsr PFT.YAToMLIPATH
|
||||
@ -195,7 +195,7 @@ K.MkNod >STYA ZPPtr1 pathname
|
||||
|
||||
>LDYA ZPPtr1
|
||||
ldx K.S.STAT+S.STAT.DEV
|
||||
jsr STDIO.NewHFileYAX
|
||||
jsr STAT.NewhNodeYAX
|
||||
bcs K.MKDir.RTS
|
||||
|
||||
lda (pFD) #S.FD.T
|
||||
@ -265,6 +265,41 @@ K.MKFIFO >LDYAI K.PIPE.SIZE
|
||||
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
STAT.NewhNodeYAX
|
||||
pha
|
||||
stx .4+1 Store hFD
|
||||
|
||||
ldx #0
|
||||
|
||||
.1 lda Nod.Table.hFD,x
|
||||
beq .2
|
||||
|
||||
inx
|
||||
cpx #K.Nod.MAX
|
||||
bne .1
|
||||
|
||||
pla
|
||||
lda #E.OOH
|
||||
* sec
|
||||
rts
|
||||
|
||||
.2 stx .3+1 Store hFILE
|
||||
|
||||
pla
|
||||
jsr K.NewStr
|
||||
bcs .9
|
||||
txa
|
||||
|
||||
.3 ldx #$ff SELF MODIFIED
|
||||
sta Nod.Table.hPath,x
|
||||
.4 lda #$ff SELF MODIFIED
|
||||
sta Nod.Table.hFD,x
|
||||
|
||||
txa hNODE
|
||||
|
||||
clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE USR/SRC/SYS/KERNEL.S.STAT
|
||||
LOAD USR/SRC/SYS/KERNEL.S
|
||||
|
@ -975,7 +975,6 @@ K.SScanF.Fwd tya Y=char count parsed
|
||||
* CS : A = EC
|
||||
*\--------------------------------------
|
||||
K.FOpen jsr PFT.CheckPathYA
|
||||
|
||||
bcs .99
|
||||
|
||||
>PULLB K.Open.FLAGS
|
||||
@ -985,11 +984,10 @@ K.FOpen jsr PFT.CheckPathYA
|
||||
jsr IO.Open.I
|
||||
bcs .9
|
||||
|
||||
sta .1+1 save hFD
|
||||
tax
|
||||
|
||||
lda (pFD)
|
||||
cmp
|
||||
stx .1+1 save hFD
|
||||
|
||||
>LDYAI K.Buf256
|
||||
|
||||
jsr STDIO.NewHFileYAX
|
||||
@ -1017,14 +1015,14 @@ K.FOpen jsr PFT.CheckPathYA
|
||||
K.FClose jsr PFT.CheckNodeA
|
||||
tax
|
||||
|
||||
lda Nod.Table.hPath,x
|
||||
lda OF.Table.hPath,x
|
||||
beq .9
|
||||
|
||||
stz Nod.Table.hPath,x
|
||||
stz OF.Table.hPath,x
|
||||
jsr K.FreeMem discard filename
|
||||
|
||||
lda Nod.Table.hFD,x
|
||||
stz Nod.Table.hFD,x
|
||||
lda OF.Table.hFD,x
|
||||
stz OF.Table.hFD,x
|
||||
jmp K.Close
|
||||
|
||||
.9 lda #E.INVH
|
||||
@ -1284,11 +1282,11 @@ STDIO.NewHFileYAX
|
||||
|
||||
ldx #0
|
||||
|
||||
.1 lda Nod.Table.hFD,x
|
||||
.1 lda OF.Table.hFD,x
|
||||
beq .2
|
||||
|
||||
inx
|
||||
cpx #K.NOD.MAX
|
||||
cpx #K.OF.MAX
|
||||
bne .1
|
||||
|
||||
pla
|
||||
@ -1304,9 +1302,9 @@ STDIO.NewHFileYAX
|
||||
txa
|
||||
|
||||
.3 ldx #$ff SELF MODIFIED
|
||||
sta Nod.Table.hPath,x
|
||||
sta OF.Table.hPath,x
|
||||
.4 lda #$ff SELF MODIFIED
|
||||
sta Nod.Table.hFD,x
|
||||
sta OF.Table.hFD,x
|
||||
|
||||
txa hFILE
|
||||
|
||||
|
@ -123,10 +123,10 @@ AT.INIT >LDYAI MSG.INIT
|
||||
jsr PrintFYA
|
||||
rts
|
||||
*--------------------------------------
|
||||
GO.WSCARD jmp $ffff Self Modifed
|
||||
GO.OLDMLI jmp $ffff
|
||||
GO.WSCARD jmp $ffff SELF MODIFIED
|
||||
GO.OLDMLI jmp $ffff SELF MODIFIED
|
||||
*--------------------------------------
|
||||
.INB USR/SRC/BIN/X.PRINTF.S
|
||||
.INB USR/SRC/X.PRINTF.S
|
||||
*--------------------------------------
|
||||
MSG.INIT .AZ "AppleTalk Driver For A2osX\n"
|
||||
MSG.FAILED .AZ "AppleTalk Workstation Card Failed Power Up Diagnostics : EC=%h.\n"
|
||||
@ -162,5 +162,5 @@ MLIGETPREFIX.PARAMS
|
||||
.DA BUF.PREFIX
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE USR/SRC/BIN/SYS/KM.APPLETALK.S
|
||||
SAVE USR/SRC/SYS/KM.APPLETALK.S
|
||||
ASM
|
||||
|
Loading…
x
Reference in New Issue
Block a user