mirror of
https://github.com/A2osX/A2osX.git
synced 2024-06-13 11:29:44 +00:00
Kernel 0.94
This commit is contained in:
parent
20bd42eb1f
commit
ee18653120
Binary file not shown.
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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-*
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue
Block a user