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