From 88a56a14a33cb92004e5c051bc29472a2bce416b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Fri, 17 Jul 2020 17:18:31 +0200 Subject: [PATCH] Kernel 0.94 --- .Floppies/A2OSX.BLANK.woz | Bin 354304 -> 467456 bytes .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes ProDOS.FX/ProDOS.S.XDOS.A.txt | 10 ++-- ProDOS.FX/ProDOS.S.XDOS.B.txt | 14 +++--- ProDOS.FX/ProDOS.S.XDOS.C.txt | 91 ++++++++++++++++++---------------- ProDOS.FX/ProDOS.S.XDOS.D.txt | 86 +++++++++++++++++--------------- ProDOS.FX/ProDOS.S.XDOS.E.txt | 65 ++++++++++++------------ ProDOS.FX/ProDOS.S.XDOS.F.txt | 6 +-- ProDOS.FX/ProDOS.S.XRW.txt | 2 + ProDOS.FX/ProDOS.S.txt | 15 ++++-- SYS/KM.RAMWORKS.S.txt | 10 ++-- 11 files changed, 158 insertions(+), 141 deletions(-) diff --git a/.Floppies/A2OSX.BLANK.woz b/.Floppies/A2OSX.BLANK.woz index a1f7d7e7b56699b79da82c4770d519dcac318b06..26bb61c582d51240b0d9332ce6c5cae28aa4d628 100644 GIT binary patch literal 467456 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

}OeqOf}S_>5TZ`5(>N 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 Qbqx>Ra9%5z^`8Ivf2;*=W&i*H delta 17680 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 h;lH)r(*`>D1q1*9 diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 7fe14ed99df427efee825cd0a5382601738ec4ef..af7fa221001c924c67829b45314e5c1b598780cd 100644 GIT binary patch delta 35328 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 x{6YLl{6$ eof (invalid position) @@ -317,7 +317,7 @@ XDOS.SetMark ldy #$04 index to user's desired position. bne .1 branch if more. rdposn ldy fcbptr test to see if new position is - lda FCBs+19,y within the same (current) data block. + lda FCBs+FCB.MARK+1,y within the same (current) data block. and #$FE sta scrtch lda tposlh middle byte of new position @@ -330,12 +330,12 @@ rdposn ldy fcbptr test to see if new position is bcs L3E44 of current position. lda tposhi make sure within the same 64k. - cmp FCBs+20,y + cmp FCBs+FCB.MARK+2,y bne L3E44 branch if not. jmp svmark if so, adj fcb, position ptr and return. -L3E44 lda FCBs+7,y determine file type for positioning. +L3E44 lda FCBs+FCB.STYPE,y determine file type for positioning. beq L3E50 0 = invalid file type. cmp #$04 tree class file? @@ -345,13 +345,13 @@ L3E44 lda FCBs+7,y determine file type for positioning. L3E50 ldy #$A4 clear illegal filetype entry in fcb sta FCBs,y - lda #$43 and report error + lda #MLI.E.BADREF and report error sec rts -L3E59 lda FCBs+7,y use storage type as # of index levels +L3E59 lda FCBs+FCB.STYPE,y use storage type as # of index levels sta levels since 1=seed, 2=sapling, 3=tree. - lda FCBs+8,y + lda FCBs+FCB.F,y and #$40 if previous data was modified then beq L3E6B disk must be updated. @@ -360,7 +360,7 @@ L3E59 lda FCBs+7,y use storage type as # of index levels bcs L3ED4 if error. L3E6B ldy fcbptr test to see if current index block - lda FCBs+20,y is usable by checking if new + lda FCBs+FCB.MARK+2,y is usable by checking if new and #$FE position is within 128k of the sta scrtch beginning of current sapling level lda tposhi chunk. @@ -380,13 +380,13 @@ L3E89 lda tposlh is new position < 512 ? ora tposhi bne L3EEF no, mark both data and index block as - lda FCBs+12,y unallocated. 1st block is only block + lda FCBs+FCB.1stBLK,y unallocated. 1st block is only block sta bloknml and it's data. - lda FCBs+13,y high block address. + lda FCBs+FCB.1stBLK+1,y high block address. jmp rnewpos go read in block and set statuses. -L3E9D lda FCBs+8,y check to see if previous index block - and #$80 was modified. +L3E9D lda FCBs+FCB.F,y check to see if previous index block + and #FCB.F.IBLKMOD was modified. beq L3EA9 read in over it if current up to date. jsr wfcbidx go update index on disk (fcb block addr) @@ -413,9 +413,9 @@ L3EA9 ldx levels be sure there is a top index ldy fcbptr save newly loaded index block's address. lda bloknml - sta FCBs+14,y + sta FCBs+FCB.IBLK,y lda bloknml+1 - sta FCBs+15,y + sta FCBs+FCB.IBLK+1,y bcc datlevel branch always L3ED4 rts @@ -464,8 +464,8 @@ datlevel lda tposhi get block address of data block dec zpt+1 L3F18 ldy fcbptr set status to show what's missing - ora FCBs+8,y - sta FCBs+8,y + ora FCBs+FCB.F,y + sta FCBs+FCB.F,y lsr discard bit that says data block lsr unallocated because carry indicates if jsr zipdata index block is invalid and needs to be @@ -518,10 +518,10 @@ svmark ldy fcbptr update position in fcb iny iny ldx #$02 -L3F68 lda FCBs+18,y save old mark in case calling routine +L3F68 lda FCBs+FCB.MARK,y save old mark in case calling routine sta oldmark,x fails later. lda tposll,x - sta FCBs+18,y + sta FCBs+FCB.MARK,y dey dex move 3 byte position marker bpl L3F68 @@ -536,9 +536,9 @@ L3F68 lda FCBs+18,y save old mark in case calling routine L3F86 rts carry set if error clrstats ldy fcbptr clear allocation states for data block - lda FCBs+8,y and both levels of indexes/ + lda FCBs+FCB.F,y and both levels of indexes/ and #$F8 - sta FCBs+8,y indicates that either they exist now + sta FCBs+FCB.F,y indicates that either they exist now rts or unnecessary for current position. dirmark cmp #$0D is it a directory ? @@ -550,7 +550,7 @@ dirmark cmp #$0D is it a directory ? L3F9C lda scrtch recover results of previous subtraction. lsr use difference as counter for how many sta cntent blocks must be read to get to new pos'n. - lda FCBs+19,y test for positive direction + lda FCBs+FCB.MARK+1,y test for positive direction cmp tposlh indicated by carry. bcc L3FB9 if set, position forward. otherwise, @@ -597,23 +597,25 @@ rfcbdat lda #$01 read command ldy fcbptr lda bloknml - sta FCBs+16,y save block # just read in fcb. + sta FCBs+FCB.DBLK,y save block # just read in fcb. lda bloknml+1 - sta FCBs+17,y + sta FCBs+FCB.DBLK+1,y L3FF2 rts rfcbidx lda #$01 prepare to read index block : read command sta A4L ldx #$48 address of current index buffer. jsr fileio1 go read index block. - bcs L400C error + bcs L400C error ldy fcbptr lda bloknml - sta FCBs+14,y save block address of this index in fcb + sta FCBs+FCB.IBLK,y save block address of this index in fcb lda bloknml+1 - sta FCBs+15,y - clc + sta FCBs+FCB.IBLK+1,y + +* clc + L400C rts wfcbfst jsr upbmap update the bitmap and write file's 1st block. @@ -631,9 +633,9 @@ rfcbfst lda #$01 read command. ldx #$48 rd block into index portion of file buf dofileio sta A4L command - lda FCBs,y get disk block address from fcb. + lda FCBs,y get disk block address from fcb. sta bloknml block 0 not legal - cmp FCBs+1,y + cmp FCBs+FCB.DEVID,y bne L4031 cmp #$00 are both bytes 0 ? bne L4031 no, continue request @@ -641,17 +643,18 @@ dofileio sta A4L command lda #$0C otherwise, allocation error. jsr sysdeath doesn't return... -L4031 lda FCBs+1,y high address of disk block +L4031 lda FCBs+FCB.DEVID,y high address of disk block sta bloknml+1 fileio1 php no interrupts sei + lda $00,x get memory address of buffer from sta buf page zero pointed to by x register lda $01,x sta buf+1 and pass address to device handler ldy fcbptr - lda FCBs+1,y + lda FCBs+FCB.DEVID,y sta devnum along with device #. lda #$FF also, set to indicate reg call made to sta ioaccess device handler. @@ -687,10 +690,12 @@ wfcbidx jsr upbmap update bitmap. lda #$02 jsr dofileio go write out index block. bcs L4096 if errors. + lda #$7F mark index status as current. + L408D ldy fcbptr change status byte to reflect - and FCBs+8,y successful disk file update. - sta FCBs+8,y (carry is unaffected) + and FCBs+FCB.F,y successful disk file update. + sta FCBs+FCB.F,y (carry is unaffected) L4096 rts *-------------------------------------- XDOS.Open jsr findfile look up the file. @@ -718,7 +723,7 @@ L40B9 ldx #$1F assign fcb, lda #0 -L40BD sta FCBs,y but clean it first. +L40BD sta FCBs,y but clean it first. iny dex bpl L40BD @@ -729,7 +734,7 @@ L40BD sta FCBs,y but clean it first. tay L40CB lda d_dev-1,x move ownership info. - sta FCBs,y note: this code depends upon the defined + sta FCBs,y note: this code depends upon the defined dey order of both the fcb and directory dex entry buffer. bne L40CB @@ -740,7 +745,7 @@ L40CB lda d_dev-1,x move ownership info. lsr lsr tax save in x for later comparison - sta FCBs+7,y and in fcb for future access. + sta FCBs+FCB.STYPE,y and in fcb for future access. lda d_attr get file's attributes and use it and #$03 as a default access request. cpx #$0D if directory, don't allow write enable. @@ -748,7 +753,7 @@ L40CB lda d_dev-1,x move ownership info. and #$01 read enabled bit -L40EB sta FCBs+9,y +L40EB sta FCBs+FCB.ACCESS,y and #$02 check for write enabled request. beq L40F7 branch for open as read-only @@ -781,12 +786,12 @@ L4101 sta bloknml+1 of file and current usage count. jsr fndfcbuf rtn addr of bufs in data & index ptrs. lda flevel mark level at which - sta FCBs+27,y file was opened. - lda FCBs+7,y file must be positioned at beginning. + sta FCBs+FCB.FLEVEL,y file was opened. + lda FCBs+FCB.STYPE,y file must be positioned at beginning. cmp #$04 is it a tree file ? bcs L415E no, assume a directory. lda #$FF fool the position routine into giving - sta FCBs+20,y a valid position with preloaded data, + sta FCBs+FCB.MARK+2,y a valid position with preloaded data, ldy #$02 etc. set desired position to 0. lda #$00 @@ -800,7 +805,7 @@ L413C sta tposll,y L4147 pha save error code. ldy fcbptr free buffer space. - lda FCBs+11,y + lda FCBs+FCB.BUFID,y beq L4156 if no bufnum, ok because never alloc'd. jsr relbuffr go release buffer. @@ -864,7 +869,7 @@ L41A9 lda FCBs,y all bytes must match to say that it's bne L41A9 loop to check all owner info. inc totent file is already open, now see - lda FCBs+9,y if it's already opened for write. and #$02 if so report file busy (with carry set). + lda FCBs+FCB.ACCESS,y if it's already opened for write. and #$02 if so report file busy (with carry set). and #$02 if so report file busy (with carry set). beq L41C1 branch if this file is read access only. sec diff --git a/ProDOS.FX/ProDOS.S.XDOS.D.txt b/ProDOS.FX/ProDOS.S.XDOS.D.txt index d0ed2d85..cb3d3c8b 100644 --- a/ProDOS.FX/ProDOS.S.XDOS.D.txt +++ b/ProDOS.FX/ProDOS.S.XDOS.D.txt @@ -12,11 +12,11 @@ XDOS.Read jsr mvdbufr xfer buffer address and request count bcc L4205 branch if result mark < eof. adjust ldy fcbptr request to read until just before eof. - lda FCBs+21,y result = (eof-1) - position + lda FCBs+FCB.EOF,y result = (eof-1) - position sbc tposll sta cbytes sta rwreql - lda FCBs+22,y + lda FCBs+FCB.EOF+1,y sbc tposlh sta cbytes+1 sta rwreqh @@ -158,12 +158,13 @@ preprw ldy fcbptr adj pointer to user's buffer to make sta usrbuf bcs L42E9 if no adjustment to hi address needed dec usrbuf+1 -L42E9 lda FCBs+31,y test for new line enabled. + +L42E9 lda FCBs+FCB.NLMASK,y test for new line enabled. clc beq L42F9 if new line not enabled. sec carry indicates new line enabled sta nlmask - lda FCBs+10,y move newline character to more + lda FCBs+FCB.NLBYTE,y move newline character to more sta nlchar accesible spot. L42F9 ldy tposll index to 1st data. lda datptr reset low order of position pointer to @@ -279,10 +280,10 @@ dread jsr rdposn ldy #$00 provide dummy back pointer for future ldx fcbptr re-position. x = hi byte of last block -L43A6 lda FCBs+16,x +L43A6 lda FCBs+FCB.DBLK,x sta (datptr),y - stz FCBs+16,x mark current block as impossible + stz FCBs+FCB.DBLK,x mark current block as impossible inx iny inc indexes to do both hi and low bytes cpy #$02 @@ -302,7 +303,7 @@ mvcbytes ldy #$04 move request count to a more accessable location sta cbytes+1 sta rwreqh ldy fcbptr return y = val(fcbptr), - lda FCBs+9,y a = attributes + lda FCBs+FCB.ACCESS,y a = attributes clc and carry clear... rts @@ -314,7 +315,7 @@ mvdbufr ldy #$02 move the pointer to user's buffer sta usrbuf+1 gfcbstyp ldy fcbptr return storage type - lda FCBs+7,y + lda FCBs+FCB.STYPE,y rts * this subroutine adds the requested byte count to mark and returns sum @@ -327,7 +328,7 @@ gfcbstyp ldy fcbptr return storage type calcmrk ldx #$00 ldy fcbptr clc -L43EE lda FCBs+18,y +L43EE lda FCBs+FCB.MARK,y sta tposll,x sta oldmark,x adc cbytes,x @@ -341,7 +342,7 @@ L43EE lda FCBs+18,y bne L43EE always. eoftest lda scrtch,x new mark in scrtch. - cmp FCBs+21,y is new position > eof ? + cmp FCBs+FCB.EOF,y is new position > eof ? bcc L4414 no, proceed. bne L4414 yes, adjust 'cbytes' request @@ -354,9 +355,9 @@ L4414 rts werreof jsr plus2fcb reset eof to pre-error position. L4418 lda oldeof,x place oldeof back into fcb - sta FCBs+21,y + sta FCBs+FCB.EOF,y lda oldmark,x also reset mark to last best - sta FCBs+18,y write position + sta FCBs+FCB.MARK,y write position sta scrtch,x and copy mark to scrtch for test of dey eof less than mark. dex @@ -369,12 +370,12 @@ L4418 lda oldeof,x place oldeof back into fcb wadjeof jsr plus2fcb get y=fcbptr+2, x=2, a=y. -L4434 lda FCBs+21,y copy eof to old eof +L4434 lda FCBs+FCB.EOF,y copy eof to old eof sta oldeof,x bcc L4442 and if carry set... lda scrtch,x then copy scrtch to fcb's eof. - sta FCBs+21,y + sta FCBs+FCB.EOF,y L4442 dey dex copy all 3 bytes @@ -457,7 +458,7 @@ L44B8 jsr alcwblk go allocate for data block. jsr gfcbstat clear allocation required bits in status ora #$80 but first indicate index block is dirty. and #$F8 - sta FCBs+8,y + sta FCBs+FCB.F,y lda tposhi calculate position within index block. lsr lda tposlh @@ -471,9 +472,9 @@ L44B8 jsr alcwblk go allocate for data block. lda scrtch block. get low block address. sta (zpt),y store low address. ldy fcbptr update fcb to indicate that this block - sta FCBs+16,y is allocated. + sta FCBs+FCB.DBLK,y is allocated. txa get high address again. - sta FCBs+17,y + sta FCBs+FCB.DBLK+1,y L44E9 jsr preprw jsr wrtpart @@ -541,7 +542,7 @@ L4549 sty tposll save low position php save statuses jsr gfcbstat ora #$50 - sta FCBs+8,y + sta FCBs+FCB.F,y clc adjust user's low buffer address lda tposll adc usrbuf @@ -583,9 +584,9 @@ L457A jsr alcwblk get another block address for the sap sta (zpt),y save hi address dec zpt+1 ldy fcbptr make newly allocated block the current - sta FCBs+15,y index block. + sta FCBs+FCB.IBLK+1,y index block. txa - sta FCBs+14,y + sta FCBs+FCB.IBLK,y jsr wfcbfst save new top of tree bcs L45B1 @@ -604,18 +605,18 @@ swapdown jsr alcwblk make current seed into a sapling, allocate a block befo bcs L45F6 return errors. ldy fcbptr get previous first block - lda FCBs+12,y address into index block. + lda FCBs+FCB.1stBLK,y address into index block. pha save temporarily while swapping in new lda scrtch top index. get new block address (low) tax - sta FCBs+12,y - lda FCBs+13,y + sta FCBs+FCB.1stBLK,y + lda FCBs+FCB.1stBLK+1,y pha lda scrtch+1 and high address too - sta FCBs+13,y - sta FCBs+15,y make new top also the current index in + sta FCBs+FCB.1stBLK+1,y + sta FCBs+FCB.IBLK+1,y make new top also the current index in txa memory. get low address again. - sta FCBs+14,y + sta FCBs+FCB.IBLK,y inc zpt+1 make previous the 1st entry in sub index pla sta (zpt) @@ -626,11 +627,12 @@ swapdown jsr alcwblk make current seed into a sapling, allocate a block befo bcs L45F6 if error. jsr gfcbstyp now adjust storage type by adding 1 - adc #$01 (seed becomes sapling becomes tree) - sta FCBs+7,y - lda FCBs+8,y mark storage type modified - ora #$08 - sta FCBs+8,y +* adc #$01 (seed becomes sapling becomes tree) + inc + sta FCBs+FCB.STYPE,y + lda FCBs+FCB.F,y mark storage type modified + ora #FCB.F.STMOD + sta FCBs+FCB.F,y clc no error L45F6 rts @@ -640,15 +642,17 @@ alcwblk jsr alc1blk jsr gfcbstat mark usage as modified - ora #$10 - sta FCBs+8,y - lda FCBs+24,y inc current usage count by 1 - clc - adc #$01 - sta FCBs+24,y - lda FCBs+25,y - adc #$00 - sta FCBs+25,y + ora #FCB.F.UMOD + sta FCBs+FCB.F,y + + lda FCBs+FCB.UBLK,y inc current usage count by 1 + inc + sta FCBs+FCB.UBLK,y + bne L4615 + + lda FCBs+FCB.UBLK+1,y + inc + sta FCBs+FCB.UBLK+1,y L4615 clc no error L4616 rts @@ -657,7 +661,7 @@ tstwprot jsr gfcbstat check for 'never been modified' condition and #$F0 bne L4615 ordinary rts if known write ok. - lda FCBs+1,y get file's dev #. + lda FCBs+FCB.DEVID,y get file's dev #. sta devnum get current status of block device. twrprot1 sta unitnum make the device status call diff --git a/ProDOS.FX/ProDOS.S.XDOS.E.txt b/ProDOS.FX/ProDOS.S.XDOS.E.txt index 3f99bd99..794aa5b8 100644 --- a/ProDOS.FX/ProDOS.S.XDOS.E.txt +++ b/ProDOS.FX/ProDOS.S.XDOS.E.txt @@ -10,7 +10,7 @@ XDOS.Close ldy #$01 close all ? L4654 sta fcbptr save current low byte of pointer. tay get the level at which the file - lda FCBs+27,y was opened. + lda FCBs+FCB.FLEVEL,y was opened. cmp flevel if file's level is < global level bcc L4675 then don't close. @@ -40,14 +40,14 @@ L4683 jsr flush1 flush file 1st (including updating bcs L46B6 bitmap). branch if errors. close2 ldy fcbptr - lda FCBs+11,y release file buffer + lda FCBs+FCB.BUFID,y release file buffer jsr relbuffr bcs L46B6 lda #$00 ldy fcbptr sta FCBs,y free fcb too - lda FCBs+1,y + lda FCBs+FCB.DEVID,y sta devnum go look for associated vcb jsr fnddvcb @@ -98,11 +98,11 @@ flush1 stz cferr for normal refnum flush, clear global error. jsr findfcb setup pointer to fcb user references. bcs L46E6 return any errors. -L46F1 lda FCBs+9,y test to see if file is modified. +L46F1 lda FCBs+FCB.ACCESS,y test to see if file is modified. and #$02 is it write enabled ? beq L46D9 branch if 'read only' - lda FCBs+28,y has eof been modified ? + lda FCBs+FCB.DIRTY,y has eof been modified ? bmi L4704 if yes. jsr gfcbstat has data been modified ? @@ -156,13 +156,14 @@ L4755 jsr entcalc buffer. set up pointer to entry. jsr moventry move entry to temp entry buffer in ldy fcbptr 'work space'. update 'blocks used' count - lda FCBs+24,y + lda FCBs+FCB.UBLK,y sta d_usage - lda FCBs+25,y + lda FCBs+FCB.UBLK+1,y sta d_usage+1 + ldx #$00 and move in end of file mark whether -L476C lda FCBs+21,y needed or not. +L476C lda FCBs+FCB.EOF,y needed or not. sta d_eof,x inx cpx #$03 move all 3 bytes @@ -173,7 +174,7 @@ L476C lda FCBs+21,y needed or not. iny since the file first opened. bne L476C branch always. -L4780 lda FCBs+5,y the last thing to update is storage +L4780 lda FCBs+FCB.STYPE-2,y the last thing to update is storage asl type (y=fcbptr+2). shift into high asl nibble. asl @@ -187,9 +188,9 @@ L4780 lda FCBs+5,y the last thing to update is storage bcs glberr error. ldy fcbptr mark - lda FCBs+28,y fcb/directory + lda FCBs+FCB.DIRTY,y fcb/directory and #$7F as - sta FCBs+28,y undirty. + sta FCBs+FCB.DIRTY,y undirty. lda d_dev see if bitmap should be written. cmp bmadev is it in same as current file ? bne L47B2 yes, put it on the disk if necessary. @@ -217,7 +218,7 @@ L47C1 pla rts gfcbstat ldy fcbptr index to fcb. - lda FCBs+8,y return status byte. + lda FCBs+FCB.F,y return status byte. rts L47CA lda #MLI.E.LOCKED access error @@ -233,7 +234,7 @@ XDOS.SetEOF jsr gfcbstyp can only move end of tree, sapling or seed. asl asl sta stortyp may be used later. - lda FCBs+9,y + lda FCBs+FCB.ACCESS,y and #$02 is write enabled to set new eof ? beq L47CA no, access error. @@ -245,7 +246,7 @@ XDOS.SetEOF jsr gfcbstyp can only move end of tree, sapling or seed. iny upon contraction. ldx #$02 all 3 bytes of the eof -L47EF lda FCBs+21,y +L47EF lda FCBs+FCB.EOF,y sta oldeof,x dey dex @@ -276,7 +277,7 @@ eofset ldy #$04 inx L481C lda (A3L),y - sta FCBs+21,x + sta FCBs+FCB.EOF,x dex dey cpy #$02 all 3 bytes moved ? @@ -298,7 +299,7 @@ purge jsr flush1 make sure file is current iny ldx #$02 -L4840 lda FCBs+18,y +L4840 lda FCBs+FCB.MARK,y cmp tposll,x compare until not equal or carry clear. bcc L485F branch if eof > mark. @@ -312,7 +313,7 @@ L484E ldy fcbptr ldx #$00 L4853 lda tposll,x fake position, correct position will - sta FCBs+18,y be made below... + sta FCBs+FCB.MARK,y be made below... iny inx cpx #$03 move all 3 bytes @@ -349,9 +350,9 @@ L485F jsr tkfrecnt force free block count before releasing L489F sta dseed+1 L48A2 ldy fcbptr also must pass file's 1st block address. - lda FCBs+12,y + lda FCBs+FCB.1stBLK,y sta firstbl - lda FCBs+13,y + lda FCBs+FCB.1stBLK+1,y sta firstbh stz deblock lastly, initialize # of blocks to stz deblock+1 be free'd. @@ -363,10 +364,10 @@ L48A2 ldy fcbptr also must pass file's 1st block address. ldx #$00 L48C2 lda firstbl,x - sta FCBs+12,y move in possible new first file block - lda FCBs+24,y address. adjust usage count also + sta FCBs+FCB.1stBLK,y move in possible new first file block + lda FCBs+FCB.UBLK,y address. adjust usage count also sbc deblock,x - sta FCBs+24,y + sta FCBs+FCB.UBLK,y iny inx txa @@ -379,18 +380,19 @@ L48C2 lda firstbl,x lsr lsr ldy fcbptr and save it in fcb. - sta FCBs+7,y + sta FCBs+FCB.STYPE,y jsr clrstats make it look as though position has jsr dvcbrev nothing allocated, update total blocks ldy fcbptr in fcb and correct position. iny iny + ldx #$02 -L48F2 lda FCBs+18,y tell 'rdposn' to go to correct +L48F2 lda FCBs+FCB.MARK,y tell 'rdposn' to go to correct sta tposll,x eor #$80 position from incorrect place. - sta FCBs+18,y + sta FCBs+FCB.MARK,y dey dex bpl L48F2 @@ -428,7 +430,7 @@ XDOS.GetEOF ldx fcbptr index to end of file mark ldy #$02 and index to user's call parameters -L4924 lda FCBs+21,x +L4924 lda FCBs+FCB.EOF,x sta (A3L),y inx iny @@ -442,11 +444,11 @@ XDOS.NewLine ldy #$02 adjust newline status for open file. lda (A3L),y on or off ? ldx fcbptr it will be 0 if off. - sta FCBs+31,x set new line mask + sta FCBs+FCB.NLMASK,x set new line mask iny lda (A3L),y and move in 'new-line' byte - sta FCBs+10,x + sta FCBs+FCB.NLBYTE,x clc no error possible rts @@ -537,10 +539,9 @@ L49CF rts L49D0 ldy #$0B lda (A3L),y was clock null input ? - beq L49D9 if yes. + bne XDOS.SetFileInfoEx.8 - jmp drevise1 end by updating directory. -L49D9 jmp drevise update with clock also... + jmp drevise update with clock also... *-------------------------------------- XDOS.SetFileInfoEx jsr findfile @@ -554,7 +555,7 @@ XDOS.SetFileInfoEx dey dex bpl .2 - +XDOS.SetFileInfoEx.8 jmp drevise1 *-------------------------------------- XDOS.GetFileInfoEx diff --git a/ProDOS.FX/ProDOS.S.XDOS.F.txt b/ProDOS.FX/ProDOS.S.XDOS.F.txt index 6f34358e..7f0913ed 100644 --- a/ProDOS.FX/ProDOS.S.XDOS.F.txt +++ b/ProDOS.FX/ProDOS.S.XDOS.F.txt @@ -142,9 +142,9 @@ fcbused pha mark fcb as dirty so the directory will be flushed on 'flush tya save regs. pha ldy fcbptr - lda FCBs+28,y fetch current fcb dirty byte. + lda FCBs+FCB.DIRTY,y fetch current fcb dirty byte. ora #$80 mark fcb as dirty. - sta FCBs+28,y save it back + sta FCBs+FCB.DIRTY,y save it back pla and restore regs. tay pla @@ -477,7 +477,7 @@ L4DFE dex set proper bits to 1 ldy fcbptr calculate buffer number lda FCBs,y asl buffer number = (entnum) * 2. - sta FCBs+11,y save it in fcb. + sta FCBs+FCB.BUFID,y save it in fcb. tax use entnum * 2 as index to global lda datptr+1 buffer addr tables. get addr already sta buftbl-1,x validated as good. store hi addr diff --git a/ProDOS.FX/ProDOS.S.XRW.txt b/ProDOS.FX/ProDOS.S.XRW.txt index 1da24d55..b1861d4c 100644 --- a/ProDOS.FX/ProDOS.S.XRW.txt +++ b/ProDOS.FX/ProDOS.S.XRW.txt @@ -763,6 +763,8 @@ XRW.Seek ldx XRW.UnitIndex nop nop lda IO.D2.Ph0On,y + nop + nop jsr XRW.WaitSeekTime diff --git a/ProDOS.FX/ProDOS.S.txt b/ProDOS.FX/ProDOS.S.txt index 7f332563..cb8632a8 100644 --- a/ProDOS.FX/ProDOS.S.txt +++ b/ProDOS.FX/ProDOS.S.txt @@ -139,16 +139,24 @@ prefixbuf .EQ $D742+125 FCBs .EQ $D800 FCB.ID .EQ 0 FCB.DEVID .EQ 1 -FCB.MARK .EQ 2 + FCB.STYPE .EQ 7 FCB.F .EQ 8 -FCB.F.STMOD .EQ 8 +FCB.F.STMOD .EQ %00001000 +FCB.F.UMOD .EQ %00010000 +FCB.F.IBLKMOD .EQ %10000000 +FCB.ACCESS .EQ 9 FCB.NLBYTE .EQ 10 FCB.BUFID .EQ 11 -FCB.IBLK .EQ 14 +FCB.1stBLK .EQ 12 2 bytes +FCB.IBLK .EQ 14 2 bytes +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 @@ -159,7 +167,6 @@ VCB.OFCNT .EQ 17 VCB.BMAP .EQ 18 VCB.TBLK .EQ 20 VCB.FBLK .EQ 22 -*VCB.ROOT .EQ 24 VCB.BMAPIDX .EQ 24 * VCB .EQ 32 diff --git a/SYS/KM.RAMWORKS.S.txt b/SYS/KM.RAMWORKS.S.txt index 0cca856d..59987544 100644 --- a/SYS/KM.RAMWORKS.S.txt +++ b/SYS/KM.RAMWORKS.S.txt @@ -33,6 +33,7 @@ RW.Init >LDYAI RW.MSG rts .10 jsr RW.Detect2 + bcc .1 >LDYAI RW.MSG.KO1 jsr PrintFYA @@ -94,7 +95,6 @@ RW.Detect2 php bpl .1 lda #0 .2 sta RWBankSelect - *-------------------------------------- * Added after David Finnigan from macgui.com testing sessions * @@ -120,7 +120,6 @@ RW.Detect2 php * * to address possibly a timing issue with Accelerators *-------------------------------------- - cmp 0 bne .4 eor #$FF @@ -145,9 +144,11 @@ RW.Detect2 php sta CLRALTZP plp lda RW.PGCNT - beq .9 + bmi .9 + clc rts + .9 sec rts *-------------------------------------- @@ -357,8 +358,7 @@ DRV.COMMAND .EQ $42 DRV.BUFF .EQ $44 DRV.BLKNUM .EQ $46 *-------------------------------------- -RWDRV.B.START - .PH $FF00 +RWDRV.B.START .PH $FF00 RWDRV.START cld ProDOS will check that byte!!! ldy DRV.COMMAND 0 = Status ? beq RMDRV.CMDSTATUS