KERNEL 0.94-2

This commit is contained in:
burniouf 2021-07-25 16:03:41 +02:00
parent 7fb016f47c
commit 631571cc6e
7 changed files with 756 additions and 734 deletions

Binary file not shown.

View File

@ -64,13 +64,13 @@ CS.START cld
.DA CS.DOEVENT
.DA CS.QUIT
L.MSG.USAGE .DA MSG.USAGE
L.MSG.ENTER .DA MSG.ENTER
L.MSG.REG .DA MSG.REG
L.MSG.REGEXT .DA MSG.REGEXT
L.MSG.DIR .DA MSG.DIR
L.MSG.DIREXT .DA MSG.DIREXT
L.MSG.BDEV .DA MSG.BDEV
L.MSG.BDEVEXT .DA MSG.BDEVEXT
L.MSG.ENTER .DA MSG.ENTER
L.PRODOS.FT.TXT .DA PRODOS.FT.TXT
L.FMT.Date .DA FMT.Date
L.FMT.Time .DA FMT.Time
@ -89,8 +89,7 @@ J.CS.RUN.PRINT .DA CS.RUN.PRINT.REG
CS.INIT clc
rts
*--------------------------------------
CS.RUN stz bIsTTY
jsr CS.RUN.ISATTY
CS.RUN jsr CS.RUN.ISATTY
.1 inc ArgCount
lda ArgCount
@ -585,7 +584,7 @@ CS.RUN.PUSHDATES
ldy #S.STAT.MTIME+S.TIME.MONTH
lda (ZPFileStat),y
beq .1 Month=0.....invalid date/time
beq .1 Month=0, invalid date/time
>PUSHEA.G TIME.Mod
@ -600,7 +599,7 @@ CS.RUN.PUSHDATES
.1 ldy #S.STAT.CTIME+S.TIME.MONTH
lda (ZPFileStat),y
beq .2 Month=0.....invalid date/time
beq .2 Month=0, nvalid date/time
>PUSHEA.G TIME.Create
@ -829,13 +828,14 @@ MSG.USAGE .AS "Usage : LS [-A] [-C] [-F] [-L] [-R] [filespec]\r\n"
.AS " -F : Show full paths\r\n"
.AS " -L : Use long listing format\r\n"
.AZ " -R : Recursively list subdirectories\r\n"
MSG.REGEXT .AZ "%s %6s %6s %10u %s %s %s %H %s"
MSG.REG .AZ "%19s"
MSG.DIREXT .AZ "%s %6s %6s %s %s <dir> %s"
MSG.DIR .AZ "\e[32m%s/\e[0m"
MSG.BDEVEXT .AZ "/%15s s%dd%d Blocks Used:%5D Total:%5D"
MSG.BDEV .AZ "\e[32m%s/\e[0m"
*--------------------------------------
MSG.ENTER .AZ "Directory:%s"
MSG.REG .AZ "%19s"
MSG.REGEXT .AZ "%s %6s %6s %10u %s %s %s %H %s"
MSG.DIR .AZ "\e[32m%s/\e[0m"
MSG.DIREXT .AZ "%s %6s %6s %s %s <dir> %s"
MSG.BDEV .AZ "\e[32m%s/\e[0m"
MSG.BDEVEXT .AZ "/%15s s%dd%d Blocks Used:%5D Total:%5D"
*--------------------------------------
PRODOS.FT.HEX .HS 0406FAFCFDE2CBCCCFFF
PRODOS.FT.TXT .AZ "txt"
@ -860,14 +860,15 @@ ACCESS .AS "xwrxwrxwr"
.DUMMY
.OR 0
DS.START
MOD .BS 11 drwxrwxrwx0
MOD .BS 11 drwxrwxrwx\0
USER .BS 7
GROUP .BS 7
TIME.Create .BS 20
TIME.Mod .BS 20
TIME.SysTime .BS S.TIME
TIME.Create .BS 10 DD-mmm-YY\0
TIME.Mod .BS 10
hLineBuf .BS 1
hPWBuf .BS 1

View File

@ -124,27 +124,19 @@ CIFS2.MKDir jsr ReadSocket
*--------------------------------------
CIFS.OpenDir >STYA pPath resolved path
>LDYAI S.FD.DIR
>SYSCALL2 GetMem
jsr CIFS.NewFD
bcs .9
>STYA ZPPtr2
stx hFD
lda #S.FD.T.DIR
sta (ZPPtr2)
lda hHandler
ldy #S.FD.PFT
sta (ZPPtr2),y
sta (pFD)
lda #0
ldy #S.FD.DIR.EPB
sta (ZPPtr2),y EOF Flag
sta (pFD),y EOF Flag
iny
sta (ZPPtr2),y
sta (pFD),y
iny
sta (ZPPtr2),y
sta (pFD),y
>PUSHW pPath
>PUSHWZ
@ -153,6 +145,8 @@ CIFS.OpenDir >STYA pPath resolved path
bcc .9
jsr CIFS.FreeFD
stz CIFS.Status
sec
.9 rts
@ -161,7 +155,7 @@ CIFS2.OpenDir lda #MLI.E.BADCALL
sec
rts
*--------------------------------------
CIFS.ReadDir jsr GetPFD
CIFS.ReadDir jsr CIFS.GetFD
* jsr ClearSocket
@ -247,7 +241,7 @@ CIFS.ReadDir.Send
.9 rts
*--------------------------------------
CIFS2.ReadDir jsr GetPFD
CIFS2.ReadDir jsr CIFS.GetFD
jsr ReadSocket
bcs .9
@ -589,6 +583,9 @@ CIFS2.FOpen jsr ReadSocket
jsr CIFS.NewFD
bcs .91
lda #S.FD.T.REG
sta (pFD)
ldy #S.NETBIOS+S.SMB.H+6 FileID
lda (ZPRespPtr),y
pha
@ -644,7 +641,7 @@ CIFS2.FOpen jsr ReadSocket
sec
.91 stz CIFS.Status
jmp FreeRespData
jsr FreeRespData
bra .90
.9 jsr Exit.NODATA
@ -654,7 +651,7 @@ CIFS2.FOpen jsr ReadSocket
.99 rts
*--------------------------------------
CIFS.FClose jsr GetPFD
CIFS.FClose jsr CIFS.GetFD
jsr GetCtx
@ -713,10 +710,10 @@ CIFS2.FClose sta hFILE
.99 rts
*--------------------------------------
CIFS.FRead ldy #4 hNod
CIFS.FRead ldy #4 hFILE
lda (pStack),y
jsr GetPFD
jsr CIFS.GetFD
jsr GetCtx
@ -856,10 +853,10 @@ CIFS2.FRead jsr ReadSocket
.90 >POP 5
.99 rts
*--------------------------------------
CIFS.FWrite ldy #4 hNod
CIFS.FWrite ldy #4 hFILE
lda (pStack),y
jsr GetPFD
jsr CIFS.GetFD
jsr GetCtx
@ -1006,14 +1003,14 @@ CIFS.FFlush clc Nothing to do
*--------------------------------------
CIFS2.FFlush
*--------------------------------------
CIFS.FSeek ldy #5 hNod
CIFS.FSeek ldy #5 hFILE
lda (pStack),y
jsr GetPFD
jsr CIFS.GetFD
>PULLA
tax whence
>PULLL DWORD
>PULLL ZPPtr1 ZPPtr2
inc pStack
@ -1165,15 +1162,33 @@ CIFS2.Rename jsr ReadSocket
.99 >RET 4
*--------------------------------------
CIFS.NewFD >LDYAI S.FD.REG
CIFS.NewFD ldx #1
.1 lda hFDs-1,x
beq .2
inx
cpx #K.hFD.MAX+1
bne .1
lda #E.OOH
* sec
rts
.2 stx hFILE
>LDYAI 16 S.FD.REG = S.FD.DIR = 16
>SYSCALL2 GetMem
bcs .9
>STYA pFD
stx hFD
lda #S.FD.T.REG
sta (pFD)
txa
ldx hFILE
sta hFDs-1,x
stz hFDs.hName-1,x
lda hHandler
ldy #S.FD.PFT
@ -1183,9 +1198,28 @@ CIFS.NewFD >LDYAI S.FD.REG
.9 rts
*--------------------------------------
CIFS.GetFD sta hFILE
tax
phx
lda hFDs.hName-1,x
>SYSCALL2 GetMemPtr
>STYA pPath
plx
lda hFDs-1,x
>SYSCALL2 GetMemPtr
>STYA pFD
rts
*--------------------------------------
CIFS.FreeFD pha
lda hFD
>SYSCALL2 FreeMem
ldx hFILE
stz hFDs-1,x
pla
rts
*--------------------------------------
@ -1212,10 +1246,10 @@ CIFS.RWGetFidOfs
*--------------------------------------
CIFS2.RWSetOfsY phy
ldy #4 hNod
ldy #4 hFILE
lda (pStack),y
jsr GetPFD
jsr CIFS.GetFD
ply Count LO
phy

View File

@ -19,7 +19,7 @@ ZS.START
ZPReqPtr .BS 2
ZPReqLen .BS 2
ZPCtxPtr .BS 2
pFD .BS 2
ZPRespPtr .BS 2
ZPPtr1 .BS 2
ZPPtr2 .BS 2
@ -31,11 +31,10 @@ pPath .BS 2
flags .BS 1
ftype .BS 1
auxtype .BS 2
ZPRespPtr .BS 2
pFD .BS 2
bFlag .BS 1
ByteCountOfs .BS 1
DWORD .BS 4
ZS.END .ED
*--------------------------------------
@ -521,19 +520,6 @@ CIFS.CallBack bit CIFS.Status
ply
jmp (J.CIFS2,x)
*--------------------------------------
GetPFD tax
phx
lda hFDs.hName-1,x
>SYSCALL2 GetMemPtr
>STYA pPath
plx
lda hFDs-1,x
>SYSCALL2 GetMemPtr
>STYA pFD
rts
*--------------------------------------
GetCTX lda MountTable+2
>SYSCALL2 GetMemPtr
>STYA ZPCtxPtr

View File

@ -907,7 +907,10 @@ LDR.SetDevID ldy #$FE check attributes byte.
sta devid
rts
*--------------------------------------
LDR.Scr80Select php
LDR.Scr80Select jsr LDR.IsIIc
bcs .99
php
sei
sta SETC3ROM
@ -934,7 +937,7 @@ LDR.Scr80Select php
.9 sta CLRC3ROM
plp
rts
.99 rts
*--------------------------------------
LDR.Scr80Init lda #$8C Reset 80 col screen ($0C:HOME)
jsr $C300
@ -965,6 +968,7 @@ LDR.Scr80Init lda #$8C Reset 80 col screen ($0C:HOME)
sta SETIOUDIS
sta SETDHIRES
bmi .10
sta CLRIOUDIS
.10 sta CLRTEXT
@ -1088,6 +1092,15 @@ LDR.PrintX bit RROMBNK2
sta CLRPAGE2 for screen holes proper access
rts
*--------------------------------------
LDR.IsIIc lda MACHID
and #MACHID.T
cmp #MACHID.T.IIc
beq .9
clc
.9 rts
*--------------------------------------
PALETTE.MAIN .HS 00.02.04.06.08.0A.0C.0E
.HS 01.03.05.07.09.0B.0D.0F
PALETTE.AUX .HS 00.01.02.03.04.05.06.07

View File

@ -190,7 +190,7 @@ InitSrcDirYA >PUSHYA
bne .2
.3 txa
beq .91 no wc, file not found....
beq .90 no wc, file not found....
.4 jsr GetPtr1Len Search end of string.....
@ -254,7 +254,7 @@ InitSrcDirYA >PUSHYA
clc
rts
.91 lda #MLI.E.FNOTFND
.90 lda #MLI.E.FNOTFND
.9 pha
>LDA.G hFullPath
@ -357,7 +357,7 @@ InitDstDirYA >PUSHYA
.7 jsr .9 Cleanup
clc
.99 rts
rts
.9 pha
>LDA.G hFullPath
@ -551,44 +551,48 @@ EnterSubDirY lda (pData),y
.8 rts
*--------------------------------------
LeaveSubDir >LDA.G index
beq .9
beq .7
jsr GethDIRENT.A
jsr LeaveSubDir.free
jsr GethDIR
beq .1
pha
lda #0
sta (pData),y
pla
>SYSCALL FreeMem
.1 jsr GethDIR
pha
lda #0
sta (pData),y
pla
>SYSCALL CloseDir
>DEC.G index
.1 >DEC.G index
bne .8
ldy #hSrcBasePath
lda (pData),y
>SYSCALL FreeMem
.7 >LDA.G hSrcBasePath
jsr LeaveSubDir.free
.DO X.COPY.TO.DEST=1
ldy #hDstBasePath
lda (pData),y
>SYSCALL FreeMem
>LDA.G hDstBasePath
jsr LeaveSubDir.free
.FIN
.9 sec
sec
rts
.8 clc
rts
*--------------------------------------
LeaveSubDir.free
tax
beq .8
lda #0
sta (pData),y
txa
>SYSCALL FreeMem
.8 rts
*--------------------------------------
BasePath.. .DO X.COPY.TO.DEST=1
ldy #hDstBasePath

View File

@ -142,11 +142,6 @@ DEV.WRITE ldx #IOCTL.WRITE
*\--------------------------------------
K.MKDev jsr SHARED.PullP2P1 ptr2=name,tr1=fd
jsr DEV.GetFreeFD
bcs .9
stx IO.hFILE
ldy #$ff
ldx #S.FD.DEV
@ -157,22 +152,13 @@ K.MKDev jsr SHARED.PullP2P1 ptr2=name,tr1=fd
txa
tay
lda #0
lda #S.FD.T.CDEV
jsr K.GetMem
jsr DEV.MkFDy
bcs .9
>STYA pFD
>STYA .4+1
stx IO.hFD
txa
ldx IO.hFILE
sta hFDs-1,x
stz hFDs.hName-1,x
ldy #S.FD.DEV-1
.2 lda (ZPPtr1),y
@ -267,14 +253,24 @@ DEV.GetPDrv ldy #S.FD.DEV.DRVPTR
rts
*--------------------------------------
DEV.MkFD sta .8+1 S.FD.T
DEV.MkFD ldy #16 Y = Size, MAX=16 for S.FD.DIR
jsr DEV.GetFreeFD
bcs .9
DEV.MkFDy sta .8+1 A = S.FD.T
stx IO.hFILE
ldx #1
ldy #16 MAX=16 for S.FD.DIR
.1 lda hFDs-1,x
beq .2
inx
cpx #K.hFD.MAX+1
bne .1
lda #E.OOH
* sec
rts
.2 stx IO.hFILE
lda #0
ldx #S.MEM.F.INIT0+S.MEM.F.FD
@ -284,6 +280,8 @@ DEV.MkFD sta .8+1 S.FD.T
>STYA pFD
stx IO.hFD
pha
txa
.7 ldx IO.hFILE
@ -292,27 +290,13 @@ DEV.MkFD sta .8+1 S.FD.T
stz hFDs.hName-1,x
.8 lda #$ff SELF MODIFIED
sta (pFD) X = hFD, A = T
sta (pFD)
pla Y,A = pFD, X = hFILE
* clc
.9 rts
*--------------------------------------
DEV.GetFreeFD ldx #1
clc
.1 lda hFDs-1,x
beq .8
inx
cpx #K.hFD.MAX+1
bne .1
lda #E.OOH
* sec
.8 rts
*--------------------------------------
DEV.hFDFree lda IO.hFD
beq .8