Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-09-17 07:43:06 +02:00
parent 97a4d18596
commit 9f6b280b9f
10 changed files with 24 additions and 15 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -3,7 +3,7 @@ NEW
*--------------------------------------
IO.D2.SeekTimeR .EQ 160 LIBBLKDEV Recalibration
IO.D2.SeekTimeF .EQ 85 LIBBLKDEV Track Formatter
IO.D2.SeekTimeB .EQ 40 LIBBLKDEV Boot Block
IO.D2.SeekTimeB .EQ 85 LIBBLKDEV Boot Block
IO.D2.SeekTimeP .EQ 40 ProDOS.FX initial
IO.D2.SeekTimeI .EQ 20 ProDOS.FX increment -> until > 128
*--------------------------------------

View File

@ -134,6 +134,7 @@ XDOS.devmgr php do not allow interrupts.
inx
lda buf is buffer page aligned (nn00) ?
beq .2 branch if it is
inx else account for 3-page straddle
.2 jsr vldbuf1 make sure user buffer is not
@ -638,7 +639,7 @@ volfound .DO LOWERCASE=1
lda VCBs+VCB.OFCNT,x it has, are there active files?
bne H34AA branch if volume is currently busy.
H349E jsr logvcb1 go log it in.
H349E jsr XDOS.VCBMountAtX
bcs olinerr1 branch if there is a problem.
lda #MLI.E.DUPVOL anticipate a duplicate active volume
@ -646,7 +647,7 @@ H349E jsr logvcb1 go log it in.
bmi olinerr1 branch if so.
H34AA ldx vcbptr
jsr cmpvcb does vol read compare with logged vol?
jsr XDOS.VCBCmpGBUF does vol read compare with logged vol?
lda #MLI.E.DSKSWIT anticipate wrong volume mounted.
bcc H34D0 branch if ok.

View File

@ -483,7 +483,7 @@ L3A16 lda #$02 go read root dir into gbuf
.FIN
bcs L39E2 ignore if unable to read.
jsr logvcb go log in volume name.
jsr XDOS.VCBMount
bcs L39E2 look at next if non-xdos disk mounted.
jsr XDOS.CheckVolName is this the volume ?
@ -526,7 +526,7 @@ XDOS.FindVCBForDevNum
ldx vcbptr get found free if any
tya any free vcb's available?
bpl .8 yes, exit withX = vcbptr
bpl .8 yes, exit with X = vcbptr
lda #VCB0 look for an entry to kick out
@ -580,14 +580,15 @@ L3A95 cmp pathbuf,y
XDOS.CheckVolName.RTS
rts
*--------------------------------------
logvcb ldx vcbptr previously logged in volume?
XDOS.VCBMount ldx vcbptr previously logged in volume?
lda VCBs,x (acc = 0?)
beq logvcb1 no, go prepare vcb.
beq XDOS.VCBMountAtX no, go prepare vcb.
jsr cmpvcb does vcb match vol read?
jsr XDOS.VCBCmpGBUF does vcb match vol read?
bcc XDOS.CheckVolName.RTS yes, do not disturb.
logvcb1 ldy #VCB zero out vcb entry
XDOS.VCBMountAtX
ldy #VCB zero out vcb entry
L3AB2 stz VCBs,x
inx
@ -642,7 +643,7 @@ tsterr lda #MLI.E.NOTPRODOS not tree or dir, unrecognized type
sec
rts
*--------------------------------------
cmpvcb lda gbuf+4 with name in directory.
XDOS.VCBCmpGBUF lda gbuf+4 with name in directory.
and #$0F
cmp VCBs,x are they the same length?
stx xvcbptr (see rev note #23)
@ -671,7 +672,7 @@ cmpvcb lda gbuf+4 with name in directory.
tstdupvol lda #VCB0 check for other logged in volumes with the same name.
L3B2C tax
jsr cmpvcb
jsr XDOS.VCBCmpGBUF
bcs L3B41 if no match.
lda VCBs+VCB.OFCNT,x test for any open files.

View File

@ -206,7 +206,7 @@ regrwts ldy #1
sta XRW.D2VolNum-1,y
.30 jsr XRW.Seek
bra .1
bra .3
.4 cmp XRW.ReqTrack
beq .5

View File

@ -127,7 +127,7 @@ op_buf .EQ $1C00 open file buffer (selector)
sysentry .EQ $2000 .SYS file load address
xfer .EQ $C314
*--------------------------------------
pathbuf .EQ $D700
XDOS.ClockDrv .EQ $D742
prefixbuf .EQ $D742+125
@ -137,10 +137,14 @@ FCB.ID .EQ 0
FCB.DEVID .EQ 1
FCB.STYPE .EQ 7
FCB.F .EQ 8
FCB.F.STMOD .EQ %00001000
FCB.F.UMOD .EQ %00010000
FCB.F.DBLKMOD .EQ %01000000
FCB.F.IBLKMOD .EQ %10000000
FCB.ACCESS .EQ 9
FCB.NLBYTE .EQ 10
@ -151,8 +155,11 @@ FCB.DBLK .EQ 16 2 bytes
FCB.MARK .EQ 18 3 bytes
FCB.EOF .EQ 21 3 bytes
FCB.UBLK .EQ 24 2 bytes
FCB.FLEVEL .EQ 27
FCB.DIRTY .EQ 28
FCB.NLMASK .EQ 31
*
FCB .EQ 32

View File

@ -121,7 +121,7 @@ WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F.
bcs CS.QUIT.RTS
sta hWND
>PUSHA
>PUSHA A = hWND
>PUSHBI S.WND.TITLE
>PUSHW L.WND.TITLE
>LIBCALL hLIBGUI,LIBGUI.WND.SetProp
@ -140,7 +140,7 @@ WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F.
>LIBCALL hLIBGUI,LIBGUI.HideCursor
lda hWND
>LIBCALL hLIBGUI,LIBGUI.WND.Show A = hWND
>LIBCALL hLIBGUI,LIBGUI.WND.Show
>LIBCALL hLIBGUI,LIBGUI.ShowCursor
clc