Mercurial > hg > Members > kono > nitros9-code
diff level2/modules/rbf.asm @ 1608:66f0977fd3c5
Modified source for slow back-port to Level 1
author | boisy |
---|---|
date | Sat, 19 Jun 2004 19:22:28 +0000 |
parents | ba176dd84992 |
children | f23f96055d08 |
line wrap: on
line diff
--- a/level2/modules/rbf.asm Sat Jun 19 18:20:04 2004 +0000 +++ b/level2/modules/rbf.asm Sat Jun 19 19:22:28 2004 +0000 @@ -303,16 +303,18 @@ ldx 1,s lbsr L1207 flush file descriptor to disk bcs Creat151 - lbsr L0A90 sort out any ocnflict for this sector + lbsr L0A90 sort out any conflict for this sector stb PD.FD,y save file descriptor physical sector # to pd stx PD.FD+1,y lbsr L0A2A update file/record lock for this sector leas $05,s purge sector buffer from stack + IFGT Level-1 ldx PD.Exten,y get path extension pointer lda #EofLock set the file to EOF lock sta PE.Lock,x + ENDC lbra Open1CC -* Error on fD write to disk +* Error on FD write to disk Creat151 puls u,x,a restore segment start & size sta PD.SBP,y put it into path descriptor stx PD.SBP+1,y @@ -437,6 +439,7 @@ ldd FD.SIZ,u get file size ldx FD.SIZ+2,u ldu PD.Exten,y get path extension pointer + IFGT Level-1 cmpu PE.Confl,u head of the conflict tree? beq Open209 yes, skip ahead ldu PE.Confl,u get the conflicting path ext. pointer @@ -444,6 +447,7 @@ * ldq PD.SIZ,u ldd PD.SIZ,u get his size instead ldx PD.SIZ+2,u + ENDC * stq PD.SIZ,y Open209 std PD.SIZ,y set file size in path descriptor of caller stx PD.SIZ+2,y @@ -567,9 +571,11 @@ ldx PD.Exten,y get path extension pointer beq RtMem2CF none, return lbsr L0A90 scan conflict list? + IFGT Level-1 lda PE.PE,x return path extension to system ldx <D.PthDBT os9 F$Ret64 + ENDC RtMem2CF puls pc,b,cc restore error status & return * Place date & time into file descriptor @@ -961,7 +967,9 @@ lda PD.MOD,y get file mode bita #WRITE. was it write? bne Read4D0 yes, return + IFGT Level-1 lbsr L0B02 clear lock status, and send signals + ENDC Read4D0 puls b,cc,pc restore & return * do reading/writing @@ -1925,6 +1933,7 @@ L0ACA sty PE.Confl,y puls pc,u,y,x,b,a + IFGT Level-1 L0ACF lda #(EofLock!FileLock!RcdLock) get all types of lockout flags L0AD1 pshs u,y,x,b,a bita PE.Lock,y anything locked? @@ -1946,13 +1955,19 @@ bra L0AE2 L0AFA stu PE.Wait,u L0AFD puls pc,u,y,x,b,a + ENDC L0AFF comb ldb #E$Share -L0B02 pshs y,b,cc +L0B02 + IFGT Level-1 + pshs y,b,cc ldy PD.Exten,y bsr L0ACF puls pc,y,b,cc + ELSE + rts + ENDC L0B0C equ * IFNE H6309 @@ -2042,6 +2057,7 @@ lbeq L0B02 L0BAA bsr L0BC2 lbcs L0AFF + IFGT Level-1 pshs u,y,x ldy PD.Exten,y lda #$01 @@ -2050,6 +2066,10 @@ sta PE.Lock,y clrb puls pc,u,y,x + ELSE + clrb + rts + ENDC L0BC2 pshs u,y,b,a leau ,y