Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-07-16 08:18:17 +02:00
parent 20bd42eb1f
commit ee18653120
7 changed files with 71 additions and 39 deletions

Binary file not shown.

View File

@ -614,15 +614,15 @@ L3ACE .DO LOWERCASE=1
bne L3ACE bne L3ACE
pla get length again pla get length again
sta VCBs,x and save. sta VCBs,x and save.
lda devnum last device used. lda devnum last device used.
sta VCBs+VCB.DEV,x save device # and sta VCBs+VCB.DEV,x save device # and
lda bloknml save address of root directory. * lda bloknml save address of root directory.
sta VCBs+VCB.ROOT,x * sta VCBs+VCB.ROOT,x
lda bloknml+1 * lda bloknml+1
sta VCBs+VCB.ROOT+1,x * sta VCBs+VCB.ROOT+1,x
* ldy #0 * ldy #0

View File

@ -205,7 +205,7 @@ gtbmap sta bmadev read bitmap specified by dev and vcb.
lda VCBs+VCB.BMAPIDX,y lda VCBs+VCB.BMAPIDX,y
sta bmacmap associate offset with bitmap ctrl block. sta bmacmap associate offset with bitmap ctrl block.
clc add this # to the base address of clc add this # to the base address of
adc VCBs+VCB.BMAP,y 1st bitmap and save in bmadadr which adc VCBs+VCB.BMAP,y 1st bitmap and save in bmadadr which
sta bmadadr is address of bitmap to be used. sta bmadadr is address of bitmap to be used.
lda VCBs+VCB.BMAP+1,y lda VCBs+VCB.BMAP+1,y
@ -803,7 +803,7 @@ L4147 pha save error code.
ldy fcbptr since error was before file was ldy fcbptr since error was before file was
L4156 lda #$00 successfully opened, then it is L4156 lda #$00 successfully opened, then it is
sta FCBs,y necessary to release fcb also. sta FCBs,y necessary to release fcb also.
pla error code. pla error code.
sec sec
rts rts
@ -812,16 +812,16 @@ L415E jsr rfcbdat read in 1st block of directory file.
bcs L4147 return error after freeing buffer & fcb. bcs L4147 return error after freeing buffer & fcb.
L4163 ldx vcbptr index to vcb. L4163 ldx vcbptr index to vcb.
inc VCBs+VCB.OFCNT,x add 1 to # of files currently open inc VCBs+VCB.OFCNT,x add 1 to # of files currently open
* sec and indicate that this volume has at * sec and indicate that this volume has at
* ror VCBs+VCB.OF,x least 1 file active. * ror VCBs+VCB.OF,x least 1 file active.
ldy fcbptr index to fcb. ldy fcbptr index to fcb.
lda FCBs,y return ref # to user. lda FCBs,y return ref # to user.
ldy #$05 ldy #$05
sta (A3L),y sta (A3L),y
clc open is successful * clc open is successful
rts rts
*-------------------------------------- *--------------------------------------
tstopen lda #$00 tstopen lda #$00

View File

@ -332,7 +332,7 @@ L485F jsr tkfrecnt force free block count before releasing
ora dseed+1 ora dseed+1
bne L48A2 branch if no adjustment necessary. bne L48A2 branch if no adjustment necessary.
lda dsap get correct block ositions for sap lda dsap get correct block positions for sap
sec and tree levels. sec and tree levels.
sbc #$01 sbc #$01
sta dsap deallocate for last (phantom) block sta dsap deallocate for last (phantom) block
@ -476,7 +476,7 @@ XDOS.GetFileInfoEx
dex dex
bpl .3 bpl .3
* clc clc
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
XDOS.GetFileInfo XDOS.GetFileInfo
@ -497,12 +497,12 @@ XDOS.GetFileInfo
jsr tkfrecnt get a fresh count of free blocks on jsr tkfrecnt get a fresh count of free blocks on
ldx vcbptr this volume. ldx vcbptr this volume.
lda VCBs+VCB.FBLK+1,x return total blocks and total in use. lda VCBs+VCB.FBLK+1,x return total blocks and total in use.
sta reqh 1st transfer 'free' blocks to zpage sta reqh 1st transfer 'free' blocks to zpage
lda VCBs+VCB.FBLK,x for later subtraction to determine lda VCBs+VCB.FBLK,x for later subtraction to determine
sta reql the 'used' count. sta reql the 'used' count.
lda VCBs+VCB.TBLK+1,x transfer to 'd.' table as aux id lda VCBs+VCB.TBLK+1,x transfer to 'd.' table as aux id
sta d_auxid+1 (total block count is considered aux id sta d_auxid+1 (total block count is considered aux id
pha for the volume) pha for the volume)
lda VCBs+VCB.TBLK,x lda VCBs+VCB.TBLK,x
@ -536,7 +536,7 @@ L49A4 rts
*-------------------------------------- *--------------------------------------
XDOS.SetFileInfoEx XDOS.SetFileInfoEx
jsr findfile jsr findfile
bcs .9 bcs L49A4
ldx #S.FIEX.BLKPTR+2-1 ldx #S.FIEX.BLKPTR+2-1
ldy #S.FIEX.BLKPTR+2-1+3 ldy #S.FIEX.BLKPTR+2-1+3
@ -557,8 +557,6 @@ XDOS.SetFileInfoEx
bpl .3 bpl .3
jmp drevise1 jmp drevise1
.9 rts
*-------------------------------------- *--------------------------------------
XDOS.SetACL clc XDOS.SetACL clc
rts rts

View File

@ -1,6 +1,8 @@
NEW NEW
AUTO 3,1 AUTO 3,1
*-------------------------------------- *--------------------------------------
XRW.DEBUG .EQ 0
*--------------------------------------
XRW.START cld $D8 to flag language card bank 1 (main) XRW.START cld $D8 to flag language card bank 1 (main)
lda unitnum get unit number. lda unitnum get unit number.
@ -189,9 +191,9 @@ regrwts ldy #1
dec XRW.RecalibrateCnt dec XRW.RecalibrateCnt
sec sec
bmi .9 bmi .9
.DO XRW.DEBUG=1
jsr XRW.DEBUG jsr XRW.DEBUG
.FIN
ldy XRW.UnitIndex ldy XRW.UnitIndex
lda #41 lda #41
@ -729,16 +731,16 @@ XRW.Seek ldx XRW.UnitIndex
jsr XRW.Trk2Qtrk jsr XRW.Trk2Qtrk
sta XRW.TargetQTrack sta XRW.TargetQTrack
.DO XRW.DEBUG=1
jsr XRW.DEBUG3 jsr XRW.DEBUG3
.FIN
lda XRW.D2Trk-1,x lda XRW.D2Trk-1,x
jsr XRW.Trk2Qtrk jsr XRW.Trk2Qtrk
sta XRW.CurrentQTrack sta XRW.CurrentQTrack
.DO XRW.DEBUG=1
jsr XRW.DEBUG2 jsr XRW.DEBUG2
.FIN
pla pla
sta XRW.D2Trk-1,x will be current track at the end sta XRW.D2Trk-1,x will be current track at the end
@ -896,6 +898,7 @@ XRW.ReadAddr ldy #$FC
rderr sec rderr sec
rts rts
*-------------------------------------- *--------------------------------------
.DO XRW.DEBUG=1
XRW.DEBUG phx XRW.DEBUG phx
ldx #26 ldx #26
@ -945,6 +948,7 @@ XRW.DEBUG.PRINT
.8 sta $700,x .8 sta $700,x
inx inx
rts rts
.FIN
*-------------------------------------- *--------------------------------------
.LIST ON .LIST ON
XRW.FREE .EQ $D540-* XRW.FREE .EQ $D540-*

View File

@ -147,22 +147,21 @@ FCB.F.STMOD .EQ 8
FCB.NLBYTE .EQ 10 FCB.NLBYTE .EQ 10
FCB.BUFID .EQ 11 FCB.BUFID .EQ 11
FCB.IBLK .EQ 14 FCB.IBLK .EQ 14
FCB.EOF .EQ 21 FCB.EOF .EQ 21 3 bytes
FCB.FLEVEL .EQ 27 FCB.FLEVEL .EQ 27
FCB.NLMASK .EQ 31 FCB.NLMASK .EQ 31
FCB .EQ 32 FCB .EQ 32
*-------------------------------------- *--------------------------------------
VCBs .EQ $D900 VCBs .EQ $D900
VCB.DEV .EQ 16 VCB.DEV .EQ 16
*VCB.OF .EQ 17 VCB.OFCNT .EQ 17
VCB.TBLK .EQ 18 VCB.BMAP .EQ 18
VCB.FBLK .EQ 20 VCB.TBLK .EQ 20
VCB.ROOT .EQ 22 VCB.FBLK .EQ 22
VCB.BMAP .EQ 26 VCB.ROOT .EQ 24
VCB.BMAPIDX .EQ 28 VCB.BMAPIDX .EQ 26
VCB.OFCNT .EQ 30
* *
VCB .EQ 32 VCB .EQ 27
*-------------------------------------- *--------------------------------------
bmbuf .EQ $DA00 512 byte bitmap buffer bmbuf .EQ $DA00 512 byte bitmap buffer
gbuf .EQ $DC00 general purpose 512 byte block buffer gbuf .EQ $DC00 general purpose 512 byte block buffer

View File

@ -236,10 +236,41 @@ PWD.GetGR.99 lda #E.IUSR
sec sec
PWD.GetGR.RTS rts PWD.GetGR.RTS rts
*-------------------------------------- *--------------------------------------
PWDX.GetGRName PWDX.GetGRName lda PWD.hGrpDB
lda #E.IPWDDB beq PWD.GetGR.9
sec
rts jsr K.GetmemPtr
>STYA ZPPtr3
ldy #0
jsr SHARED.TXTPTR.GetY
beq PWD.GetGR.99
.1 lda (ZPPtr3)
beq PWD.GetGR.99
ldy #$ff
.2 iny
jsr SHARED.TXTPTR.GetY
beq .4
cmp (ZPPtr3),y
beq .2
.3 jsr PWD.NextLine
bra .1
.4 lda (ZPPtr3),y
cmp #':'
bne .3
ldx FORPNT+1
beq .8
jmp PWD.Record2GR
.8 iny
jmp PWD.GetByte get GID
*-------------------------------------- *--------------------------------------
PWDX.PutGR lda PWD.hGrpDB PWDX.PutGR lda PWD.hGrpDB
beq PWD.GetGR.9 beq PWD.GetGR.9