mirror of
https://github.com/bobbimanners/Zapple-II.git
synced 2024-09-28 02:55:14 +00:00
Creates filename extensions on ProDOS
This commit is contained in:
parent
bebfe445a5
commit
18ee4b693c
@ -146,9 +146,9 @@ S1 LD C,B_C_STAT ;
|
|||||||
LD (FCB1NAM+7),A ;
|
LD (FCB1NAM+7),A ;
|
||||||
LD A,'T' ; Extension
|
LD A,'T' ; Extension
|
||||||
LD (FCB1NAM+8),A ;
|
LD (FCB1NAM+8),A ;
|
||||||
LD A,'M' ; Extension
|
LD A,'X' ; Extension
|
||||||
LD (FCB1NAM+9),A ;
|
LD (FCB1NAM+9),A ;
|
||||||
LD A,'P' ; Extension
|
LD A,'T' ; Extension
|
||||||
LD (FCB1NAM+10),A ;
|
LD (FCB1NAM+10),A ;
|
||||||
|
|
||||||
; Create and open a file using ProDOS MLI
|
; Create and open a file using ProDOS MLI
|
||||||
@ -1042,7 +1042,8 @@ MPS1 ADD A,'A'-1 ; Convert to drive letter
|
|||||||
INC HL ; HL points to filename in FCB
|
INC HL ; HL points to filename in FCB
|
||||||
INC IX ; Advance IX to next char of path to write
|
INC IX ; Advance IX to next char of path to write
|
||||||
INC IX ; ...
|
INC IX ; ...
|
||||||
MPL1 LD A,(HL) ; Obtain filename character
|
MPL1 ; Filename
|
||||||
|
LD A,(HL) ; Obtain filename character
|
||||||
CP ' ' ; See if it is a space (? or NULL maybe?)
|
CP ' ' ; See if it is a space (? or NULL maybe?)
|
||||||
JP Z,MPS3 ; If so we are done with filename
|
JP Z,MPS3 ; If so we are done with filename
|
||||||
EX AF,AF' ; We need to re-use A here
|
EX AF,AF' ; We need to re-use A here
|
||||||
@ -1056,9 +1057,29 @@ MPL1 LD A,(HL) ; Obtain filename character
|
|||||||
INC IX ; Next byte of PATH buffer
|
INC IX ; Next byte of PATH buffer
|
||||||
JP MPL1 ; Loop till done
|
JP MPL1 ; Loop till done
|
||||||
MPS2 EX AF,AF' ; Swap back to original A reg
|
MPS2 EX AF,AF' ; Swap back to original A reg
|
||||||
MPS3 ; EXTENSION
|
MPS3 ; Extension
|
||||||
; ...
|
; TODO: Eat any space characters at end of filename
|
||||||
LD A,C ; Store length of string
|
LD A,'.' ; Separator is a period
|
||||||
|
LD (IX+0),A ; Write to buffer
|
||||||
|
INC C ; Count the character!
|
||||||
|
INC IX ; Advance to next character in buffer
|
||||||
|
LD B,0 ; Use B to track num chars in extension
|
||||||
|
MPL2 LD A,(HL) ; Obtain filename character
|
||||||
|
CP ' ' ; See if it is a space (? or NULL maybe?)
|
||||||
|
JP Z,MPS5 ; If so we are done with extension
|
||||||
|
EX AF,AF' ; We need to re-use A here
|
||||||
|
LD A,B ; Get character count
|
||||||
|
CP 3 ; Extension can be up to 3 chars
|
||||||
|
JP Z,MPS4 ; If so we are done with filename
|
||||||
|
EX AF,AF' ; Swap back to original A reg
|
||||||
|
LD (IX+0),A ; Copy to PATH buffer
|
||||||
|
INC C ; Count the chars (overall)
|
||||||
|
INC B ; Count the chars (in extension)
|
||||||
|
INC HL ; Next byte of filename in FCB
|
||||||
|
INC IX ; Next byte of PATH buffer
|
||||||
|
JP MPL2 ; Loop till done
|
||||||
|
MPS4 EX AF,AF' ; Swap back to original A reg
|
||||||
|
MPS5 LD A,C ; Store length of string
|
||||||
LD (IY+0),A ; We kept size byte in IY at start
|
LD (IY+0),A ; We kept size byte in IY at start
|
||||||
RET
|
RET
|
||||||
|
|
||||||
|
Binary file not shown.
BIN
zapple2.po
BIN
zapple2.po
Binary file not shown.
Loading…
Reference in New Issue
Block a user