From 52d802d3753e733e01865047c235896f87f4341a Mon Sep 17 00:00:00 2001 From: Bobbi Webber-Manners Date: Thu, 2 Sep 2021 19:01:53 -0400 Subject: [PATCH] *RENAME uses PARSNAME + PARSNAME2 now --- applecorn.po | Bin 819200 -> 819200 bytes auxmem.hostfs.s | 84 +++++++++++++++++------------------------------- 2 files changed, 30 insertions(+), 54 deletions(-) diff --git a/applecorn.po b/applecorn.po index 87bb8c9a7a5cdddd9fb4559e3c3533fcb35945be..03934fcbcbd7732f81d40f2f74e55eb701ad330c 100644 GIT binary patch delta 2593 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 delta 3137 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 + CMP #$00 ; Length of arg1 + BEQ :RENSYN + JSR PARSNAME2 ; Copy Arg2->MOSFILE2 + CMP #$00 ; Length of arg2 BEQ :RENSYN - INY - >>> WRTMAIN - STA MOSFILE,Y - >>> WRTAUX - BRA :ARG1 -:ENDARG1 >>> WRTMAIN - STY MOSFILE ; Length of Pascal string - >>> WRTAUX - JSR SKIPSPC - JSR LPTRtoXY ; Update LPTR and set Y=0 - JSR XYtoLPTR ; ... -:ARG2 LDA (OSLPTR),Y - CMP #$20 ; Space - BEQ :ENDARG2 - CMP #$0D ; Carriage return - BEQ :ENDARG2 - INY - >>> WRTMAIN - STA MOSFILE2,Y - >>> WRTAUX - BRA :ARG2 -:ENDARG2 >>> WRTMAIN - STY MOSFILE2 ; Length of Pascal string - >>> WRTAUX >>> XF2MAIN,RENFILE :RENSYN BRK DB $DC @@ -681,30 +656,8 @@ RENAME LDY #$00 RENRET >>> ENTAUX JSR CHKERROR -**** JSR CHKNOTFND ;;; NOPE: THIS IS MAINMEM FUNC!!! -* CMP #$44 ; Path not found -* BEQ :NOTFND -* CMP #$45 ; Vol dir not found -* BEQ :NOTFND -* CMP #$46 ; File not found -* BEQ :NOTFND -* CMP #$47 ; Duplicate filename -* BEQ :EXISTS -* CMP #$4E ; Access error -* BEQ :LOCKED -* CMP #$00 -* BNE :OTHER ; All other errors LDA #$00 RTS -*:NOTFND JMP ERRNOTFND -*:EXISTS JMP ERREXISTS -*:LOCKED BRK -* DB $C3 -* ASC 'Locked' -*:OTHER BRK -* DB $C7 -* ASC 'Disc error' -* BRK * Handle *DIR (directory change) command * On entry, XY points to command line @@ -750,6 +703,29 @@ PARSNAME JSR XYtoLPTR TXA ; Return len in A RTS +* Parse filename pointed to by (OSLPTR),Y +* Write filename to MOSFILE2 in main memory +* Returns length in A +PARSNAME2 + CLC ; Means parsing a filename + JSR GSINIT ; Init gen string handling + PHP + SEI ; Disable IRQs + LDX #$00 ; Length +:L1 JSR GSREAD ; Handle next char + BCS :DONE + STA $C004 ; Write to main mem + STA MOSFILE2+1,X + STA $C005 ; Write to aux mem + INX + BNE :L1 +:DONE STA $C004 ; Write to main mem + STX MOSFILE2 ; Length byte (Pascal) + STA $C005 ; Back to aux + PLP ; IRQs back as they were + TXA ; Return len in A + RTS + * Move this somewhere CHKERROR CMP #$20 BCS MKERROR