Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-08-28 12:47:41 +02:00
parent af612d5627
commit cfd16a2e66
4 changed files with 23 additions and 14 deletions

Binary file not shown.

View File

@ -608,7 +608,7 @@ online1 jsr fnddvcb see if it has already been logged in.
lda #$02
ldx #$00 read in root (volume) directory
jsr XDOS.ReadGBufAX read it into general purpose buffer.
jsr XDOS.ReadGBufAX read ROOT VOL into general purpose buffer.
ldx vcbptr index to the vcb entry.
bcc volfound branch if read was ok.
@ -889,6 +889,8 @@ cmvauxid iny move auxillary identification bytes
and #$E0 is it a directory?
beq cralcblk branch if seed file.
* Create Dir First Block
ldx #$1E move header to data block
cmvheadr lda d_stor,x
@ -925,7 +927,7 @@ cmvpass lda pass,x header info.
.FIN
ldx #$02 and include info about parent directory
stx d_eof+1
stx d_eof+1 set file size = 512
cmvparnt lda d_entblk,x
sta gbuf+39,x
@ -935,6 +937,10 @@ cmvparnt lda d_entblk,x
lda h_entln lastly, the length of parent's
sta gbuf+42 directory entries.
.DO LOWERCASE=1
jsr XDOS.PackGBuf
.FIN
cralcblk jsr alc1blk get address of file's data block
bcs crerr3
@ -992,6 +998,7 @@ drevise1 lda bkbitflg (bit 5 = backup needed)
lda d_entblk and address of directory block.
ldx d_entblk+1
.DO LOWERCASE=1
jsr XDOS.ReadGBufAXDir
.ELSE
@ -1050,7 +1057,7 @@ H36F2 lda h_fcnt,y
jsr XDOS.WriteGBuf go write updated header
.FIN
bcs H375A
*--------------------------------------
ripple lda gbuf+4 test for 'root' directory because
and #$F0 if it is, then directory revision
eor #$F0 is complete (leaves carry clear).
@ -1065,7 +1072,7 @@ ripple lda gbuf+4 test for 'root' directory because
ldx gbuf+40
.DO LOWERCASE=1
jsr XDOS.ReadGBufAXDir
jsr XDOS.ReadGBufAX Dir
.ELSE
jsr XDOS.ReadGBufAX read it
.FIN
@ -1086,7 +1093,7 @@ H3732 lda p8date,x
bpl H3732
H373B .DO LOWERCASE=1
jsr XDOS.WriteGBufDir
jsr XDOS.WriteGBuf Dir
.ELSE
jsr XDOS.WriteGBuf write updated entry back to disk.
.FIN
@ -1104,7 +1111,7 @@ H373B .DO LOWERCASE=1
beq ripple they are the same, continue to root dir.
H3751 .DO LOWERCASE=1
jsr XDOS.ReadGBufAXDir
jsr XDOS.ReadGBufAX Dir
.ELSE
jsr XDOS.ReadGBufAX
.FIN

View File

@ -1,7 +1,7 @@
NEW
AUTO 3,1
*--------------------------------------
dealloc stx bmcnt high address of block.
XDOS.DeallocAX stx bmcnt high address of block.
pha save low address.
ldx vcbptr check that bitmap block address is
lda VCBs+VCB.TBLK+1,x valid given the total # of blocks
@ -335,6 +335,7 @@ XDOS.UnpackGBuf jsr XDOS.Pack.Init
dex
bne .1
clc make sure CC
rts
*--------------------------------------
XDOS.PackGBuf jsr XDOS.Pack.Init

View File

@ -17,8 +17,9 @@ XDOS.Destroy jsr XDOS.FindFile look for file to be destroyed.
bne L4B66 no, report error.
L4B39 lda d_attr make sure ok to destroy file.
and #$80
bne L4B45 branch if ok to destroy.
* and #$80
* bne L4B45 branch if ok to destroy.
bmi L4B45 branch if ok to destroy.
lda #MLI.E.LOCKED access error
jsr GP.P8errv
@ -60,7 +61,7 @@ L4B6F stz stortyp,x in order: deblock, dtree, dsap, dseed.
L4B85 ldx firstbh
lda firstbl now deallocate seed.
jsr dealloc
jsr XDOS.DeallocAX
bcs L4B93
jsr upbmap
@ -127,12 +128,12 @@ L4BFE lda gbuf+2 get forward link.
bne L4C0A branch if not null.
bcc L4BCD was the low part null as well ?
L4C0A jsr dealloc free this block.
L4C0A jsr XDOS.DeallocAX free this block.
bcs L4C1A
lda gbuf+2
ldx gbuf+3
jsr XDOS.ReadGBufAX
jsr XDOS.ReadGBufAX read next DIR block (no need to unpack)
bcc L4BFE loop until all freed
L4C1A rts
@ -369,7 +370,7 @@ shrink ldx firstbh first deallocate top index block
pha
lda firstbl
pha save block address of this index block.
jsr dealloc free it from the bitmap
jsr XDOS.DeallocAX free it from the bitmap
pla
sta bloknml set master of sapling
pla index block address.
@ -402,7 +403,7 @@ L4D96 sty saptr save current index.
bcc L4DB0 was the low part null too ?
L4DA5 jsr dealloc free it up on volume bitmap.
L4DA5 jsr XDOS.DeallocAX free it up on volume bitmap.
bcs L4DB4 return any error.
ldy saptr get index to sapling level index block.