Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-07-17 08:04:08 +02:00
parent 59045997d8
commit 238dacc597
7 changed files with 107 additions and 101 deletions

Binary file not shown.

View File

@ -536,7 +536,7 @@ fndfvol tax search for associated vcb
nxtfvol txa adjust index to next vcb.
clc
adc #$20
adc #VCB
bcc fndfvol loop until volume found.
lda #$0A open file has no volume so

View File

@ -367,7 +367,7 @@ L3975 pha acc now used as vcb lookup index.
L397C ldy vnptr restore pointer to requested vol name.
pla now adj vcb index to next vcb entry.
clc
adc #$20
adc #VCB
bcc L3975 branch if more vcb's to check
bcs L39D4 otherwise go look for unlogged volumes.
@ -494,8 +494,8 @@ L3A4E lda VCBs,x is this a free vcb?
L3A57 txa
clc inc index to next vcb
adc #$20
bne L3A40
adc #VCB
bcc L3A40
tya any free vcb's available?
bpl L3A79 yes
@ -508,8 +508,8 @@ L3A62 tax
txa next vcb
clc
adc #$20 (vcb entry size)
bne L3A62
adc #VCB
bcc L3A62
lda #MLI.E.VCBFULL all vcb entries have open files
* sec

View File

@ -873,8 +873,8 @@ L41A9 lda FCBs,y all bytes must match to say that it's
L41C1 tya calc position of next fcb.
and #$E0 first strip any possible index offsets.
clc
adc #$20 inc to next fcb.
bne L4188 branch if more to compare.
adc #FCB inc to next fcb.
bcc L4188 branch if more to compare.
clc report no conflicts.
rts

View File

@ -28,7 +28,7 @@ L4654 sta fcbptr save current low byte of pointer.
L4675 lda fcbptr inc pointer to next fcb
clc
adc #$20
adc #FCB
bcc L4654 branch if within same page.
lda cferr on final close report logged errors.
@ -69,6 +69,7 @@ XDOS.Flush ldy #$01 flush all ?
sta cferr clear global flush error.
lda #$00 start at the beginning.
L46C3 sta fcbptr save current low byte of pointer.
tay index to ref #.
lda FCBs,y is this reference file open ?
@ -79,7 +80,7 @@ L46C3 sta fcbptr save current low byte of pointer.
L46D1 lda fcbptr inc pointer to next fcb.
clc
adc #$20
adc #FCB
bcc L46C3 branch if within same page
L46D9 clc
@ -450,35 +451,6 @@ XDOS.NewLine ldy #$02 adjust newline status for open file.
clc no error possible
rts
*--------------------------------------
XDOS.GetFileInfoEx
jsr findfile see if file exists
bcc .1
cmp #MLI.E.INVPATH
sec
bne .9
.1 ldx #S.FIEX.BLKPTR+2-1
ldy #S.FIEX.BLKPTR+2-1+3
.2 lda d_stor,x
sta (A3L),y
dey
dex
bpl .2
ldx #7
ldy #S.FIEX.ACL+7+3
.3 lda h_acl,x
sta (A3L),y
dey
dex
bpl .3
clc
.9 rts
*--------------------------------------
XDOS.GetFileInfo
jsr findfile look for file.
bcc L4988 no error.
@ -534,47 +506,6 @@ L4994 lda inftabl-3,y
L49A4 rts
*--------------------------------------
XDOS.SetFileInfoEx
jsr findfile
bcs L49A4
ldx #S.FIEX.BLKPTR+2-1
ldy #S.FIEX.BLKPTR+2-1+3
.2 lda (A3L),y
sta d_stor,x
dey
dex
bpl .2
jmp drevise1
*--------------------------------------
XDOS.SetACL jsr findfile
bcs .9
lda d_stor
and #$F0
cmp #$D0
bne .99
jsr XDOS.ReadGBuf_d_frst
bcs .9
ldx #7
ldy #S.FIEX.ACL+7+3
.3 lda (A3L),y
sta gbuf+$14,x
dey
dex
bpl .3
jmp XDOS.WriteGBuf
.99 lda MLI.E.UNSUPST
sec
.9 rts
*--------------------------------------
XDOS.SetFileInfo
jsr findfile get the file to work on.
bcs L49CF if error.
@ -611,6 +542,79 @@ L49D0 ldy #$0B
jmp drevise1 end by updating directory.
L49D9 jmp drevise update with clock also...
*--------------------------------------
XDOS.SetFileInfoEx
jsr findfile
bcs L49A4
ldx #S.FIEX.BLKPTR+2-1
ldy #S.FIEX.BLKPTR+2-1+3
.2 lda (A3L),y
sta d_stor,x
dey
dex
bpl .2
jmp drevise1
*--------------------------------------
XDOS.GetFileInfoEx
jsr findfile see if file exists
bcc .1
cmp #MLI.E.INVPATH
sec
bne .9
.1 ldx #S.FIEX.BLKPTR+2-1
ldy #S.FIEX.BLKPTR+2-1+3
.2 lda d_stor,x
sta (A3L),y
dey
dex
bpl .2
ldx #7
ldy #S.FIEX.ACL+7+3
.3 lda h_acl,x
sta (A3L),y
dey
dex
bpl .3
clc
.9 rts
*--------------------------------------
XDOS.SetACL jsr findfile
bcs .9
lda d_stor
and #$F0
cmp #$D0
bne .99
jsr XDOS.ReadGBuf_d_frst
bcs .9
ldx #7
ldy #S.FIEX.ACL+7+3
.3 lda (A3L),y
sta gbuf+$14,x
dey
dex
bpl .3
jmp XDOS.WriteGBuf
.99 lda MLI.E.UNSUPST
sec
.9 rts
*--------------------------------------
XDOS.GetACL clc
rts
*--------------------------------------
XDOS.Rename jsr lookfile look for source (original) file.
bcc XDOS.RenameFileDir if found.

View File

@ -816,7 +816,7 @@ XDOS.CmdNums .HS D3D4D5D6 table of valid mli command numbers.
.HS 808182
.HS 65
.HS C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF
.HS 00
.HS D7
.HS D0D1D2
XDOS.ParamCnt .HS 02020202 parameter counts for the calls
@ -824,7 +824,7 @@ XDOS.ParamCnt .HS 02020202 parameter counts for the calls
.HS 030300
.HS 04
.HS 070102070A0201010303040401010202
.HS FF
.HS 02
.HS 020202
XDOS.CmdFlags .HS A0A1A2
@ -834,7 +834,7 @@ XDOS.CmdFlags .HS A0A1A2
.HS 2C2D
.HS 4E4F
.HS 50515253
.HS 949596
.HS 94959697
cmdtable .DA XDOS.Create
.DA XDOS.Destroy
@ -864,6 +864,7 @@ cmdtable .DA XDOS.Create
.DA XDOS.SetFileInfoEx
.DA XDOS.GetFileInfoEx
.DA XDOS.SetACL
.DA XDOS.GetACL
dinctbl .HS 0100000200 table to increment directory usage/eof counts
.DO LOWERCASE=1

View File

@ -150,6 +150,7 @@ FCB.IBLK .EQ 14
FCB.EOF .EQ 21 3 bytes
FCB.FLEVEL .EQ 27
FCB.NLMASK .EQ 31
*
FCB .EQ 32
*--------------------------------------
VCBs .EQ $D900
@ -158,10 +159,10 @@ VCB.OFCNT .EQ 17
VCB.BMAP .EQ 18
VCB.TBLK .EQ 20
VCB.FBLK .EQ 22
VCB.ROOT .EQ 24
VCB.BMAPIDX .EQ 26
*VCB.ROOT .EQ 24
VCB.BMAPIDX .EQ 24
*
VCB .EQ 27
VCB .EQ 32
*--------------------------------------
bmbuf .EQ $DA00 512 byte bitmap buffer
gbuf .EQ $DC00 general purpose 512 byte block buffer