diff --git a/applecorn.po b/applecorn.po index 22b7713..aa71f0e 100644 Binary files a/applecorn.po and b/applecorn.po differ diff --git a/auxmem.hostfs.s b/auxmem.hostfs.s index 9e058b1..82647e1 100644 --- a/auxmem.hostfs.s +++ b/auxmem.hostfs.s @@ -476,16 +476,18 @@ STARCATRET >>> ENTAUX RTS * Print one block of a catalog. Called by CATALOG -* Block is in AUXBLK +* Block is in BLKBUF in main memory PRONEBLK >>> ENTAUX - LDA #first entry + LDA #first entry STA FSPTR1+0 - LDA #>AUXBLK+4 + LDA #>BLKBUF+4 STA FSPTR1+1 LDA #13 ; Max 13 entries per block STA FSNUM :CATLP LDY #$00 + >>> RDMAIN LDA (FSPTR1),Y ; Get storage type + >>> RDAUX CMP #$E0 BCC :NOTKEY ; Not a key block @@ -509,16 +511,20 @@ PRONEBLK >>> ENTAUX DB $00 * Print a single directory entry -* On entry: A = dirent index in AUXBLK +* On entry: FSPTR1 points to dirent in BLKBUF (in main memory) * CC=entry, CS=header PRONEENT LDY #$00 ; Characters printed + >>> RDMAIN LDA (FSPTR1),Y + >>> RDAUX AND #$0F ; Len of filename BEQ NULLENT ; Inactive entry PHP TAX :L2 INY + >>> RDMAIN LDA (FSPTR1),Y + >>> RDAUX JSR OSWRCH ; Print filename DEX BNE :L2 diff --git a/mainmem.init.s b/mainmem.init.s index 21b0a05..92a5f62 100644 --- a/mainmem.init.s +++ b/mainmem.init.s @@ -47,5 +47,5 @@ RESETHW SEC RTS ; AUDIOCARD=1 :NOTGS JSR MOCKINIT ; Initialize Mockingboard (sl4) - RTS ; AUDIOCARD=0 +RTSINSTR RTS ; AUDIOCARD=0 diff --git a/mainmem.misc.s b/mainmem.misc.s index 3920355..d1f091f 100644 --- a/mainmem.misc.s +++ b/mainmem.misc.s @@ -6,6 +6,7 @@ FKEYLENS DS 16 ; Length of f-key definitions 0..15 FKEYBUF DS 256 ; 256 bytes for f-key definitions + * Copy a block of main memory * A1L/A1H: Start address * A2L/A2H: End address @@ -27,19 +28,6 @@ MEMCPY LDA (A1L) INC A4H :S3 BRA MEMCPY -* Copy 512 bytes from BLKBUF to AUXBLK in aux LC -COPYAUXBLK >>> ALTZP ; Alt ZP & Alt LC on - LDY #$00 - STA WRCARDRAM ; Write aux mem -:L1 LDA BLKBUF+$000,Y - STA AUXBLK+$000,Y - LDA BLKBUF+$100,Y - STA AUXBLK+$100,Y - INY - BNE :L1 - STA WRMAINRAM ; Write main mem -:S2 >>> MAINZP ; Alt ZP off, ROM back in -RTSINSTR RTS * Search FILEREFS for value in A * On return, buffer number is in X (or $FF if no bufs) @@ -52,6 +40,7 @@ FINDBUF LDX #$00 LDX #$FF ; $FF for not found :END RTS + * Obtain I/O buffer address * On entry: buffer number in X * On exit: buffer address in AY @@ -110,12 +99,14 @@ COPYFB PHA PLA RTS + * Get file info GETINFO JSR MLI DB GINFOCMD DW GINFOPL RTS + * Set file info SETINFO LDA #$07 ; SET_FILE_INFO 7 parms STA GINFOPL @@ -126,6 +117,7 @@ SETINFO LDA #$07 ; SET_FILE_INFO 7 parms STA GINFOPL RTS + * Create disk file * Uses filename in MOSFILE CRTFILE JSR MLI ; GET_TIME @@ -149,6 +141,7 @@ CRTFILE JSR MLI ; GET_TIME DW CREATEPL RTS + * Open disk file OPENMOSFILE LDA #>> XF2AUX,PRONEBLK :CATERR CMP #$4C ; EOF @@ -1049,8 +1048,7 @@ INFOFIRST LDA WILDIDX BEQ :DONEBLK ; If so, print this blk first JSR WILDNEXT2 BCC INFOFIRST ; Find more entries -:DONEBLK JSR COPYAUXBLK - >>> XF2AUX,PRONEBLK +:DONEBLK >>> XF2AUX,PRONEBLK CATARG DB $00