mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-16 18:30:26 +00:00
Kernel 0.9.1 : Code reorganization & move to CSTR
This commit is contained in:
parent
78cfec8668
commit
278104b43c
Binary file not shown.
Binary file not shown.
@ -46,7 +46,7 @@ CS.RUN >SYSCALL GetArgC
|
||||
bcs .9
|
||||
|
||||
stx hFullPath
|
||||
>SYSCALL MKDirYA
|
||||
>SYSCALL MKDir.YA
|
||||
bcs .9
|
||||
|
||||
lda #0
|
||||
|
@ -379,7 +379,7 @@ CS.RUN.DIR jsr CS.RUN.DIR.MSG
|
||||
.3 ldy #hDstFullPath
|
||||
jsr CS.RUN.GetPathY
|
||||
|
||||
>SYSCALL MKDirYA
|
||||
>SYSCALL MKDir.YA
|
||||
|
||||
.4 jsr CS.RUN.CheckErr
|
||||
bcs CS.RUN.DIR.RTS
|
||||
|
@ -202,7 +202,7 @@ SYS.STAT .EQ $34
|
||||
SYS.OpenDirYA .EQ $38
|
||||
SYS.ReadDirA .EQ $3A
|
||||
SYS.CloseDirA .EQ $3C
|
||||
SYS.MKDirYA .EQ $3E
|
||||
SYS.MKDir.YA .EQ $3E
|
||||
*--------------------------------------
|
||||
* .EQ $40
|
||||
SYS.SScanF .EQ $42
|
||||
@ -233,12 +233,12 @@ SYS.Sleep .EQ $6C
|
||||
*--------------------------------------
|
||||
SYS.GetArgC .EQ $70
|
||||
SYS.GetArg.A .EQ $72
|
||||
SYS.ExpandPStrYA .EQ $74
|
||||
SYS.ExpandStr.YA .EQ $74
|
||||
* .EQ $76
|
||||
SYS.PutEnvYA .EQ $78
|
||||
SYS.PutEnv.YA .EQ $78
|
||||
SYS.SetEnv .EQ $7A
|
||||
SYS.GetEnvYA .EQ $7C
|
||||
SYS.UnsetEnvYA .EQ $7E
|
||||
SYS.GetEnv.YA .EQ $7C
|
||||
SYS.UnsetEnv.YA .EQ $7E
|
||||
*--------------------------------------
|
||||
SYS.GetDevByIDA .EQ $80
|
||||
SYS.GetDevByNameYA .EQ $82
|
||||
|
@ -67,7 +67,7 @@ CS.INIT >SYSCALL GetArgC
|
||||
>SYSCALL GetArg.A
|
||||
bcs .9
|
||||
|
||||
>SYSCALL ExpandPStrYA
|
||||
>SYSCALL ExpandStr.YA
|
||||
bcs .9
|
||||
|
||||
txa
|
||||
|
@ -64,7 +64,7 @@ CS.INIT clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN >LDYA L.FILENAME
|
||||
>SYSCALL ExpandPStrYA
|
||||
>SYSCALL ExpandStr.YA
|
||||
txa
|
||||
ldy #hFileName
|
||||
sta (pData),y
|
||||
|
@ -86,7 +86,7 @@ CS.RUN lda #0
|
||||
bcs .9
|
||||
|
||||
>LDYA L.SHELL
|
||||
>SYSCALL ExpandPStrYA
|
||||
>SYSCALL ExpandStr.YA
|
||||
bcs .9
|
||||
|
||||
stx .3+1
|
||||
|
@ -63,7 +63,7 @@ Cmd.Normalize.Next
|
||||
*--------------------------------------
|
||||
Cmd.ExecYA stz bStartProc
|
||||
|
||||
Cmd.ExecYA.1 >SYSCALL ExpandPStrYA
|
||||
Cmd.ExecYA.1 >SYSCALL ExpandStr.YA
|
||||
>STYA ZPPtr1
|
||||
>STYA ZPPtr2
|
||||
stx Cmd.ExecYA.Exit.1+1
|
||||
|
@ -499,7 +499,7 @@ SetPWD ldy #S.PS.hPREFIX
|
||||
*--------------------------------------
|
||||
PrintPrompt >LDYA L.ENV.PS1
|
||||
>SYSCALL GetEnvYA
|
||||
>SYSCALL ExpandPStrYA
|
||||
>SYSCALL ExpandStr.YA
|
||||
phx
|
||||
>PUSHYA
|
||||
>LDYA L.MSG.PROMPT
|
||||
|
@ -48,7 +48,7 @@ CFG.Read.HOSTNAME
|
||||
stz CFG.hCfgPath
|
||||
|
||||
>LDYA L.HOSTNAME
|
||||
>SYSCALL ExpandPStrYA
|
||||
>SYSCALL ExpandStr.YA
|
||||
bcs .99
|
||||
|
||||
stx CFG.hCfgPath
|
||||
@ -103,7 +103,7 @@ CFG.Read.TCPIP.CONF
|
||||
stz CFG.hCfgPath
|
||||
|
||||
>LDYA L.TCPIP.CONF
|
||||
>SYSCALL ExpandPStrYA
|
||||
>SYSCALL ExpandStr.YA
|
||||
bcs .99
|
||||
|
||||
stx CFG.hCfgPath
|
||||
|
@ -13,7 +13,7 @@ AUTO 6
|
||||
K.LoadDrv.YA >STYA K.LoadDrv.CmdArray
|
||||
|
||||
>LDYAI ENV.DRV push ENVNAME=DRV
|
||||
>SYSCALL GetEnvYA get value for ENV=DRV
|
||||
>SYSCALL GetEnv.YA get value for ENV=DRV
|
||||
bcs .9
|
||||
|
||||
>PUSHYA Push $DRV value
|
||||
@ -70,7 +70,7 @@ K.LoadDrv.CmdArray .BS 2
|
||||
*--------------------------------------
|
||||
K.LoadLib.YA >STYA K.LoadLib.Name SAVE LIBname for K.FileSearch
|
||||
>LDYAI ENV.LIB push ENVNAME=LIB
|
||||
>SYSCALL GetEnvYA get value for ENV=LIB
|
||||
>SYSCALL GetEnv.YA get value for ENV=LIB
|
||||
bcs .9
|
||||
|
||||
>PUSHYA Push $LIB value
|
||||
@ -466,9 +466,9 @@ BIN.RelocateDRV ldy #H.BIN.DRV.REL.TABLE
|
||||
adc ZPPtr1
|
||||
sta ZPPtr1
|
||||
bcc .3
|
||||
inc ZPPtr1+1 ZPPtr1=Current Code PTR
|
||||
inc ZPPtr1+1 ZPPtr1=Current Code PTR
|
||||
|
||||
.3 lda (ZPPtr1) get OPCODE
|
||||
.3 lda (ZPPtr1) get OPCODE
|
||||
lsr /2
|
||||
tax
|
||||
lda BIN.OPCODES,x get OPCODE definition
|
||||
|
@ -93,125 +93,6 @@ K.GetDevStatusA jsr K.GetDevByIDA
|
||||
>STYA ZPPtr1
|
||||
ldx #DEVMGR.STATUS
|
||||
jmp (ZPPtr1)
|
||||
*/--------------------------------------
|
||||
* # MkNodYA
|
||||
* return a hFile for a given Device Name
|
||||
* ## IN:
|
||||
* Y,A=DevName
|
||||
* ## OUT:
|
||||
* CC = OK, CS = ERROR
|
||||
* A = hFILE
|
||||
*\--------------------------------------
|
||||
K.MkNodYA jsr K.GetDevByNameYA Ptr1=NAME
|
||||
bcs .9
|
||||
>STYA pDev
|
||||
stx .1+1
|
||||
|
||||
ldy #S.DEV.S
|
||||
lda (pDev),y
|
||||
bit #S.DEV.S.BLOCK
|
||||
bne .99
|
||||
|
||||
txa Pass DEV.ID to OPEN
|
||||
ldx #DEVMGR.OPEN
|
||||
jsr pDevJmp
|
||||
bcs .9
|
||||
|
||||
>LDYAI S.NODE.DEV
|
||||
jsr K.GetMem0YA
|
||||
bcs .9
|
||||
|
||||
>STYA ZPPtr3 Ptr3=S.NODE
|
||||
|
||||
ldy #S.NODE.T
|
||||
lda #S.NODE.T.CDEV
|
||||
sta (ZPPtr3),y
|
||||
|
||||
ldy #S.NODE.DEV.ID
|
||||
|
||||
.1 lda #$ff Self Modified
|
||||
sta (ZPPtr3),y
|
||||
|
||||
ldy #S.NODE.DEV.JMP
|
||||
lda pDev
|
||||
sta (ZPPtr3),y
|
||||
|
||||
iny
|
||||
lda pDev+1
|
||||
sta (ZPPtr3),y
|
||||
txa
|
||||
clc
|
||||
.9 rts
|
||||
|
||||
.99 lda #MLI.ERR.IO
|
||||
sec
|
||||
rts
|
||||
*/--------------------------------------
|
||||
* # MkNodA
|
||||
* return a hFile for a given Socket
|
||||
* ## IN:
|
||||
* A=hSocket
|
||||
* ## OUT:
|
||||
* CC = OK, CS = ERROR
|
||||
* X = hFILE
|
||||
* Y,A = pFILE
|
||||
*\--------------------------------------
|
||||
K.MkNodA sta .1+1
|
||||
>LDYAI S.NODE.SSOCK
|
||||
jsr K.GetMem0YA
|
||||
bcs .9
|
||||
|
||||
>STYA ZPPtr1
|
||||
|
||||
ldy #S.NODE.T
|
||||
lda #S.NODE.T.SSOCK
|
||||
sta (ZPPtr1),y
|
||||
|
||||
ldy #S.NODE.SSOCK.HSKT
|
||||
.1 lda #$ff
|
||||
|
||||
sta (ZPPtr1),y
|
||||
>LDYA ZPPtr1
|
||||
.9 rts
|
||||
*/--------------------------------------
|
||||
* # MKFIFO
|
||||
* return a S.FILE to a new FIFO
|
||||
* ## IN:
|
||||
* ## OUT:
|
||||
* CC = OK, CS = ERROR
|
||||
* A = hFILE
|
||||
*\--------------------------------------
|
||||
K.MKFIFO >LDYAI 256
|
||||
jsr K.GetMemYA
|
||||
bcs .99
|
||||
|
||||
stx .1+1 save FIFO buffer
|
||||
|
||||
>LDYAI S.NODE.FIFO
|
||||
jsr K.GetMem0YA
|
||||
|
||||
bcs .9
|
||||
|
||||
>STYA ZPPtr1
|
||||
|
||||
ldy #S.NODE.T
|
||||
lda #S.NODE.T.FIFO
|
||||
sta (ZPPtr1),y
|
||||
|
||||
iny S.NODE.FIFO.hMem
|
||||
.1 lda #$ff Self Modified
|
||||
sta (ZPPtr1),y
|
||||
txa
|
||||
clc
|
||||
rts
|
||||
|
||||
.9 pha save error code
|
||||
lda .1+1 get back FIFO buffer
|
||||
jsr K.FreeMemA
|
||||
pla
|
||||
sec
|
||||
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE /A2OSX.SRC/SYS/KERNEL.S.DEV
|
||||
|
@ -6,7 +6,7 @@ AUTO 6
|
||||
*/--------------------------------------
|
||||
* # OpenDirYA
|
||||
* ## In:
|
||||
* Y,A = PATH (PSTR)
|
||||
* Y,A = PATH (C-String)
|
||||
* ## Out:
|
||||
* CC : success
|
||||
* A = hDIR
|
||||
@ -23,15 +23,11 @@ K.OpenDirYA jsr PFT.CheckPathYA
|
||||
|
||||
>STYA ZPPtr1
|
||||
stx K.ReadDirA.hDir
|
||||
|
||||
lda (ZPPtr2)
|
||||
cmp #1 One char ?
|
||||
bne .7 No, Go open dir....
|
||||
tay Y=1
|
||||
lda (ZPPtr2),y
|
||||
cmp #'/' Root required ?
|
||||
beq .8 Yes, Go for ONLINE Call (S.DIR.PRODOS.REF=0)
|
||||
|
||||
ldy #1
|
||||
lda (ZPPtr2),y One char ?
|
||||
beq .8 No, Go open dir....
|
||||
|
||||
.7 >MLICALL MLIGETFILEINFO
|
||||
bcs .98 file/dir does not exists....quit
|
||||
lda K.MLI.PARAMS+4
|
||||
@ -45,7 +41,7 @@ K.OpenDirYA jsr PFT.CheckPathYA
|
||||
>MLICALL MLIOPEN
|
||||
bcs .98
|
||||
|
||||
lda K.MLI.PARAMS+5 get ref_num
|
||||
lda K.MLI.PARAMS+5 get ref_num
|
||||
ldy #S.NODE.DIR.REF
|
||||
sta (ZPPtr1),y
|
||||
|
||||
@ -147,7 +143,6 @@ K.ReadDirA.ROOT ldy #S.NODE.DIR.FC did we already returned something ?
|
||||
beq .88
|
||||
|
||||
tax
|
||||
jsr K.ReadDirA.AddToBuf
|
||||
inc
|
||||
sta K.MLI.PATH
|
||||
lda #'/'
|
||||
@ -161,6 +156,9 @@ K.ReadDirA.ROOT ldy #S.NODE.DIR.FC did we already returned something ?
|
||||
dex
|
||||
bne .4
|
||||
|
||||
txa Add ending 0 for C String
|
||||
jsr K.ReadDirA.AddToBuf
|
||||
|
||||
jsr K.ReadDirA.ClrStat
|
||||
|
||||
lda (ZPPtr2)
|
||||
@ -436,13 +434,13 @@ K.ReadDirA.ADD. ldx #1 filename="1."
|
||||
.HS 2C bit abs
|
||||
K.ReadDirA.ADD..
|
||||
ldx #2 filename="2.."
|
||||
txa
|
||||
jsr K.ReadDirA.AddToBuf Add LEN
|
||||
lda #'.'
|
||||
|
||||
.1 jsr K.ReadDirA.AddToBuf Add X dot(s)
|
||||
dex
|
||||
bne .1
|
||||
txa
|
||||
jsr K.ReadDirA.AddToBuf Add Ending 0
|
||||
|
||||
jsr K.ReadDirA.ClrStat
|
||||
|
||||
@ -559,7 +557,6 @@ K.ReadDirA.AddFNToBuf
|
||||
.7 lda (ZPPtr3)
|
||||
and #$0F get filename len
|
||||
tax
|
||||
jsr K.ReadDirA.AddToBuf
|
||||
|
||||
ldy #1
|
||||
|
||||
@ -568,6 +565,10 @@ K.ReadDirA.AddFNToBuf
|
||||
iny
|
||||
dex
|
||||
bne .8
|
||||
|
||||
txa
|
||||
jsr K.ReadDirA.AddToBuf
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
K.ReadDirA.AddToBuf
|
||||
@ -599,34 +600,6 @@ ADDF.DST .DA #S.STAT.P.TYPE,#S.STAT.BLOCKS,#S.STAT.BLOCKS+1
|
||||
*\-------------------------------------
|
||||
K.CloseDirA .EQ K.FCloseA
|
||||
K.CloseDirA.1 .EQ K.FCloseA.1
|
||||
*/-------------------------------------
|
||||
* # MKDirYA
|
||||
* ## In:
|
||||
* Y,A = DIR name
|
||||
* ## Out:
|
||||
* CC : success
|
||||
* CS : error
|
||||
* A = EC
|
||||
*\-------------------------------------
|
||||
K.MKDirYA jsr PFT.CheckPathYA
|
||||
>STYA K.MLI.PARAMS+1
|
||||
lda #S.FILEINFO.ACCESS.FULL
|
||||
sta K.MLI.PARAMS+S.FILEINFO.ACCESS
|
||||
lda #S.FILEINFO.TYPE.DIR
|
||||
sta K.MLI.PARAMS+S.FILEINFO.TYPE
|
||||
lda #S.FILEINFO.STORETYPE.DIR
|
||||
sta K.MLI.PARAMS+S.FILEINFO.STORETYPE
|
||||
|
||||
* jsr DATETIME
|
||||
|
||||
ldx #3
|
||||
.1 lda DATELO,x
|
||||
sta K.MLI.PARAMS+8,x
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
>MLICALL MLICREATE
|
||||
rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE /A2OSX.SRC/SYS/KERNEL.S.DIRENT
|
||||
|
@ -34,9 +34,9 @@ K.FileSearch >PULLW ZPPtr2 DstBuf
|
||||
|
||||
.9 rts
|
||||
|
||||
K.FileSearch.I >PULLW ZPPtr4 ZPPtr1 trashed by ExpandPStrYA
|
||||
K.FileSearch.I >PULLW ZPPtr4 ZPPtr1 trashed by ExpandStr.YA
|
||||
>PULLYA Get Search list
|
||||
>SYSCALL ExpandPStrYA Expand it (SYSCALL to BNK1)
|
||||
>SYSCALL ExpandStr.YA Expand it (SYSCALL to BNK1)
|
||||
bcs .99
|
||||
|
||||
stx .98+1
|
||||
@ -235,9 +235,8 @@ K.SaveFile jsr K.FOpen
|
||||
jsr K.FCloseA
|
||||
pla
|
||||
sec
|
||||
rts
|
||||
|
||||
|
||||
rts
|
||||
|
||||
.9 pha
|
||||
>POP 4 Discard SrcPtr & SrcLen
|
||||
pla
|
||||
@ -260,15 +259,6 @@ K.ChTyp jsr PFT.CheckPathSTK
|
||||
>MLICALL MLISETFILEINFO
|
||||
.9 rts
|
||||
*/--------------------------------------
|
||||
* # ChMod
|
||||
* ## In:
|
||||
* PUSHW = MODE
|
||||
* PUSHW = PATH
|
||||
*\--------------------------------------
|
||||
K.ChMod
|
||||
sec
|
||||
rts
|
||||
*/--------------------------------------
|
||||
* # ChOwn
|
||||
* ## In:
|
||||
* PUSHW = UID
|
||||
|
@ -145,7 +145,7 @@ Kernel.Init3 sta SETALTZP
|
||||
>SYSCALL PrintFYA
|
||||
|
||||
>LDYAI STARTUP.CMDLINE
|
||||
>SYSCALL ExpandPStrYA
|
||||
>SYSCALL ExpandStr.YA
|
||||
phx Save Expanded CMDLINE for discard
|
||||
>SYSCALL CreateProcessYA
|
||||
bcs .9
|
||||
@ -794,15 +794,15 @@ TskMgrInit >LDYAI TskMgr.Table+S.PS Clear whole process table except PS0
|
||||
bcs .9
|
||||
|
||||
>LDYAI I.ENV.PATH
|
||||
>SYSCALL PutEnvYA
|
||||
>SYSCALL PutEnv.YA
|
||||
bcs .9
|
||||
|
||||
>LDYAI I.ENV.LIB
|
||||
>SYSCALL PutEnvYA
|
||||
>SYSCALL PutEnv.YA
|
||||
bcs .9
|
||||
|
||||
>LDYAI I.ENV.DRV
|
||||
>SYSCALL PutEnvYA
|
||||
>SYSCALL PutEnv.YA
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
MSG.Init2 >CSTR "A2osX[Stage2]:Init\nInstalling KERNEL...\n - $BE00 Global Page...\n"
|
||||
|
@ -42,7 +42,7 @@ K.SYSCALL.JMP .DA K.FileSearch $00
|
||||
.DA K.OpenDirYA
|
||||
.DA K.ReadDirA
|
||||
.DA K.CloseDirA
|
||||
.DA K.MKDirYA
|
||||
.DA K.MKDir.YA
|
||||
*--------------------------------------
|
||||
* Bank 2
|
||||
*--------------------------------------
|
||||
|
@ -22,7 +22,7 @@ K.PFTRemove
|
||||
*--------------------------------------
|
||||
* PFT.CheckPath___
|
||||
* In :
|
||||
* PULLW/Y,A = PATH (PSTR)
|
||||
* PULLW/Y,A = PATH (C-String)
|
||||
* Out :
|
||||
*--------------------------------------
|
||||
PFT.CheckPathSTK
|
||||
@ -38,23 +38,29 @@ PFT.CheckPathYA
|
||||
>LDYAI FltMgr.Table
|
||||
>STYA ZPPtr2
|
||||
|
||||
.1 lda (ZPPtr2) Get Filter Len
|
||||
.1 lda (ZPPtr2) Get Filter char....
|
||||
beq .9 End Of Table, Exit
|
||||
tay
|
||||
lda (ZPPtr1),y is there a "/" at this point in SRC path?
|
||||
|
||||
ldy #0
|
||||
|
||||
.2 lda (ZPPtr2),y
|
||||
beq .3 end of filter string....
|
||||
|
||||
lda (ZPPtr1),y
|
||||
beq .8
|
||||
cmp (ZPPtr2),y
|
||||
bne .8
|
||||
iny
|
||||
bne .2
|
||||
|
||||
.3 lda (ZPPtr1),y
|
||||
cmp #'/'
|
||||
bne .8
|
||||
|
||||
.2 lda (ZPPtr1),y
|
||||
cmp (ZPPtr2),y
|
||||
bne .8
|
||||
dey
|
||||
bne .2
|
||||
|
||||
ldy #S.PFT.HANDLER
|
||||
lda (ZPPtr2),y get hLib
|
||||
lda (ZPPtr2),y get hLib
|
||||
jsr K.GetMemPtrA
|
||||
>STYA .3+1
|
||||
>STYA .7+1
|
||||
|
||||
lda S.PFT.SYSCALL getback #SYSCALL
|
||||
sec
|
||||
@ -64,8 +70,8 @@ PFT.CheckPathYA
|
||||
pla discard JSR return @
|
||||
pla
|
||||
|
||||
>LDYA ZPPtr1 restore passed params
|
||||
.3 jmp $ffff
|
||||
>LDYA ZPPtr1 restore passed params
|
||||
.7 jmp $ffff
|
||||
|
||||
|
||||
.8 lda ZPPtr2
|
||||
|
@ -72,6 +72,162 @@ K.Stat.SRC .DA #S.FILEINFO.TYPE
|
||||
K.Stat.DST .DA #S.STAT.P.TYPE
|
||||
.DA #S.STAT.P.AUXTYPE,#S.STAT.P.AUXTYPE+1
|
||||
.DA #S.STAT.BLOCKS,#S.STAT.BLOCKS+1
|
||||
*/-------------------------------------
|
||||
* # MKDir.YA
|
||||
* ## In:
|
||||
* Y,A = DIR name
|
||||
* ## Out:
|
||||
* CC : success
|
||||
* CS : error
|
||||
* A = EC
|
||||
*\-------------------------------------
|
||||
K.MKDir.YA jsr PFT.CheckPathYA
|
||||
>STYA K.MLI.PARAMS+1
|
||||
lda #S.FILEINFO.ACCESS.FULL
|
||||
sta K.MLI.PARAMS+S.FILEINFO.ACCESS
|
||||
lda #S.FILEINFO.TYPE.DIR
|
||||
sta K.MLI.PARAMS+S.FILEINFO.TYPE
|
||||
lda #S.FILEINFO.STORETYPE.DIR
|
||||
sta K.MLI.PARAMS+S.FILEINFO.STORETYPE
|
||||
|
||||
* jsr DATETIME
|
||||
|
||||
ldx #3
|
||||
.1 lda DATELO,x
|
||||
sta K.MLI.PARAMS+8,x
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
>MLICALL MLICREATE
|
||||
rts
|
||||
*/--------------------------------------
|
||||
* # MkNodYA
|
||||
* return a hFile for a given Device Name
|
||||
* ## IN:
|
||||
* Y,A=DevName
|
||||
* ## OUT:
|
||||
* CC = OK, CS = ERROR
|
||||
* A = hFILE
|
||||
*\--------------------------------------
|
||||
K.MkNodYA jsr K.GetDevByNameYA Ptr1=NAME
|
||||
bcs .9
|
||||
>STYA pDev
|
||||
stx .1+1
|
||||
|
||||
ldy #S.DEV.S
|
||||
lda (pDev),y
|
||||
bit #S.DEV.S.BLOCK
|
||||
bne .99
|
||||
|
||||
txa Pass DEV.ID to OPEN
|
||||
ldx #DEVMGR.OPEN
|
||||
jsr pDevJmp
|
||||
bcs .9
|
||||
|
||||
>LDYAI S.NODE.DEV
|
||||
jsr K.GetMem0YA
|
||||
bcs .9
|
||||
|
||||
>STYA ZPPtr3 Ptr3=S.NODE
|
||||
|
||||
ldy #S.NODE.T
|
||||
lda #S.NODE.T.CDEV
|
||||
sta (ZPPtr3),y
|
||||
|
||||
ldy #S.NODE.DEV.ID
|
||||
|
||||
.1 lda #$ff Self Modified
|
||||
sta (ZPPtr3),y
|
||||
|
||||
ldy #S.NODE.DEV.JMP
|
||||
lda pDev
|
||||
sta (ZPPtr3),y
|
||||
|
||||
iny
|
||||
lda pDev+1
|
||||
sta (ZPPtr3),y
|
||||
txa
|
||||
clc
|
||||
.9 rts
|
||||
|
||||
.99 lda #MLI.ERR.IO
|
||||
sec
|
||||
rts
|
||||
*/--------------------------------------
|
||||
* # MkNodA
|
||||
* return a hFile for a given Socket
|
||||
* ## IN:
|
||||
* A=hSocket
|
||||
* ## OUT:
|
||||
* CC = OK, CS = ERROR
|
||||
* X = hFILE
|
||||
* Y,A = pFILE
|
||||
*\--------------------------------------
|
||||
K.MkNodA sta .1+1
|
||||
>LDYAI S.NODE.SSOCK
|
||||
jsr K.GetMem0YA
|
||||
bcs .9
|
||||
|
||||
>STYA ZPPtr1
|
||||
|
||||
ldy #S.NODE.T
|
||||
lda #S.NODE.T.SSOCK
|
||||
sta (ZPPtr1),y
|
||||
|
||||
ldy #S.NODE.SSOCK.HSKT
|
||||
.1 lda #$ff
|
||||
|
||||
sta (ZPPtr1),y
|
||||
>LDYA ZPPtr1
|
||||
.9 rts
|
||||
*/--------------------------------------
|
||||
* # MKFIFO
|
||||
* return a S.FILE to a new FIFO
|
||||
* ## IN:
|
||||
* ## OUT:
|
||||
* CC = OK, CS = ERROR
|
||||
* A = hFILE
|
||||
*\--------------------------------------
|
||||
K.MKFIFO >LDYAI 256
|
||||
jsr K.GetMemYA
|
||||
bcs .99
|
||||
|
||||
stx .1+1 save FIFO buffer
|
||||
|
||||
>LDYAI S.NODE.FIFO
|
||||
jsr K.GetMem0YA
|
||||
|
||||
bcs .9
|
||||
|
||||
>STYA ZPPtr1
|
||||
|
||||
ldy #S.NODE.T
|
||||
lda #S.NODE.T.FIFO
|
||||
sta (ZPPtr1),y
|
||||
|
||||
iny S.NODE.FIFO.hMem
|
||||
.1 lda #$ff Self Modified
|
||||
sta (ZPPtr1),y
|
||||
txa
|
||||
clc
|
||||
rts
|
||||
|
||||
.9 pha save error code
|
||||
lda .1+1 get back FIFO buffer
|
||||
jsr K.FreeMemA
|
||||
pla
|
||||
sec
|
||||
|
||||
.99 rts
|
||||
*/--------------------------------------
|
||||
* # ChMod
|
||||
* ## In:
|
||||
* PUSHW = MODE
|
||||
* PUSHW = PATH
|
||||
*\--------------------------------------
|
||||
K.ChMod
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE /A2OSX.SRC/SYS/KERNEL.S.STAT
|
||||
|
@ -448,11 +448,11 @@ K.PutCharA.1 sta K.PutC.Node
|
||||
*--------------------------------------
|
||||
K.PutCharA.Jmp jmp (.1,x)
|
||||
.1 .DA K.PutCharA.REG
|
||||
.DA K.CHR.IOERR DIR
|
||||
.DA STDIO.IOERR DIR
|
||||
.DA K.PutCharA.CDEV
|
||||
.DA K.CHR.IOERR BDEV
|
||||
.DA K.CHR.IOERR LNK
|
||||
.DA K.CHR.IOERR DSOCK
|
||||
.DA STDIO.IOERR BDEV
|
||||
.DA STDIO.IOERR LNK
|
||||
.DA STDIO.IOERR DSOCK
|
||||
.DA K.PutCharA.SSOCK
|
||||
.DA K.PutCharA.FIFO
|
||||
*--------------------------------------
|
||||
@ -551,11 +551,11 @@ K.GetCA sta K.PutC.Node
|
||||
jmp (.1,x)
|
||||
|
||||
.1 .DA K.GetC.REG
|
||||
.DA K.CHR.IOERR DIR
|
||||
.DA STDIO.IOERR DIR
|
||||
.DA K.GetC.CDEV
|
||||
.DA K.CHR.IOERR BDEV
|
||||
.DA K.CHR.IOERR LNK
|
||||
.DA K.CHR.IOERR DSOCK
|
||||
.DA STDIO.IOERR BDEV
|
||||
.DA STDIO.IOERR LNK
|
||||
.DA STDIO.IOERR DSOCK
|
||||
.DA K.GetC.SSOCK
|
||||
.DA K.GetC.FIFO
|
||||
*--------------------------------------
|
||||
@ -625,7 +625,7 @@ K.FGetS
|
||||
K.GetSYA
|
||||
bra *
|
||||
*--------------------------------------
|
||||
K.CHR.IOERR lda #MLI.ERR.IO
|
||||
STDIO.IOERR lda #MLI.ERR.IO
|
||||
sec
|
||||
rts
|
||||
*/--------------------------------------
|
||||
|
@ -30,9 +30,7 @@ A2osX.D1 .PH $D000
|
||||
.DA #RRAMWRAMBNK1
|
||||
.INB /A2OSX.SRC/SYS/KERNEL.S.STDIO
|
||||
.INB /A2OSX.SRC/SYS/KERNEL.S.STAT
|
||||
.INB /A2OSX.SRC/SYS/KERNEL.S.TIME
|
||||
.INB /A2OSX.SRC/SYS/KERNEL.S.DIRENT
|
||||
.INB /A2OSX.SRC/SYS/KERNEL.S.FIO
|
||||
.INB /A2OSX.SRC/SYS/KERNEL.S.PFT
|
||||
.INB /A2OSX.SRC/SYS/KERNEL.S.BIN
|
||||
.EP
|
||||
@ -40,6 +38,7 @@ A2osX.D2 .PH $D000
|
||||
.DA #RRAMWRAMBNK2
|
||||
.INB /A2OSX.SRC/SYS/KERNEL.S.STRING
|
||||
.INB /A2OSX.SRC/SYS/KERNEL.S.STDLIB
|
||||
.INB /A2OSX.SRC/SYS/KERNEL.S.TIME
|
||||
.INB /A2OSX.SRC/SYS/KERNEL.S.DEV
|
||||
.INB /A2OSX.SRC/SYS/KERNEL.S.PS
|
||||
.INB /A2OSX.SRC/SYS/KERNEL.S.ARG
|
||||
@ -53,6 +52,7 @@ A2osX.E0 .PH $E000
|
||||
.INB /A2OSX.SRC/SYS/KERNEL.S.DAT
|
||||
.INB /A2OSX.SRC/SYS/KERNEL.S.IRQ
|
||||
.INB /A2OSX.SRC/SYS/KERNEL.S.MEM
|
||||
.INB /A2OSX.SRC/SYS/KERNEL.S.FIO
|
||||
.INB /A2OSX.SRC/SYS/KERNEL.S.D01
|
||||
.EP
|
||||
A2osX.E0.E .EQ *
|
||||
|
Loading…
x
Reference in New Issue
Block a user