added missing parameters to GetFile and SaveFile functions
git-svn-id: svn://svn.cc65.org/cc65/trunk@2068 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -890,14 +890,14 @@ starting track and sector which may point either to start of a chain for VLIR or
|
|||||||
|
|
||||||
<sect3>GetFile
|
<sect3>GetFile
|
||||||
<p>
|
<p>
|
||||||
<tt/char __fastcall__ GetFile(char flag, const char *fname, const char *loadaddr, const char *datadname, char *datafname)/
|
<tt/char __fastcall__ GetFile(char saveflag, char loadflag, const char *fname, const char *loadaddr, const char *datadname, char *datafname)/
|
||||||
<p>
|
<p>
|
||||||
This routine loads and runs a given file <tt/fname/. The file must be one of following types:
|
This routine loads and runs a given file <tt/fname/. The file must be one of following types:
|
||||||
<tt/SYSTEM, DESK_ACC, APPLICATION, APPL_DATA, PRINTER,/ or <tt/INPUT_DEVICE/. The execution
|
<tt/SYSTEM, DESK_ACC, APPLICATION, APPL_DATA, PRINTER,/ or <tt/INPUT_DEVICE/. The execution
|
||||||
address is taken from file header. It is zero, then file is only loaded. Only the first chain
|
address is taken from file header. It is zero, then file is only loaded. Only the first chain
|
||||||
from VLIR files is loaded. If <tt/flag/ has bit 0 set then load address is taken from <tt/loadaddr/
|
from VLIR files is loaded. If <tt/loadflag/ has bit 0 set then load address is taken from <tt/loadaddr/
|
||||||
and not from file header. In this case <tt/APPLICATION/ files will be only loaded, not executed.
|
and not from file header. In this case <tt/APPLICATION/ files will be only loaded, not executed.
|
||||||
This does not apply to <tt/DESK_ACC/. If either bit 6 or 7 of <tt/flag/ are set, then 16 bytes from
|
This does not apply to <tt/DESK_ACC/. If either bit 6 or 7 of <tt/loadflag/ are set, then 16 bytes from
|
||||||
<tt/datadname/ is copied to <tt/dataDiskName/ and 16 bytes from <tt/datafname/ goes to <tt/dataFileName/
|
<tt/datadname/ is copied to <tt/dataDiskName/ and 16 bytes from <tt/datafname/ goes to <tt/dataFileName/
|
||||||
in system case. If you don't use it it is safe to pass <tt/NULL/ to this function.
|
in system case. If you don't use it it is safe to pass <tt/NULL/ to this function.
|
||||||
|
|
||||||
@@ -925,17 +925,19 @@ returned value is invalid.
|
|||||||
|
|
||||||
<sect3>SaveFile
|
<sect3>SaveFile
|
||||||
<p>
|
<p>
|
||||||
<tt/char SaveFile (struct fileheader *myHeader)/
|
<tt/char SaveFile (char skip, struct fileheader *myHeader)/
|
||||||
<p>
|
<p>
|
||||||
<tt/SaveFile/ will take care of everything needed to create a GEOS file, no matter VLIR of SEQ
|
<tt/SaveFile/ will take care of everything needed to create a GEOS file, no matter VLIR of SEQ
|
||||||
structure. All you need to do is to place data in proper place and prepare a header which will
|
structure. All you need to do is to place data in proper place and prepare a header which will
|
||||||
contain all information about a file.
|
contain all information about a file. The <tt/skip/ parameter says how many directory pages you
|
||||||
|
want to skip before searching for a free slot for directory entry. In most cases you will put
|
||||||
|
<tt/0/ there.
|
||||||
|
|
||||||
You have to declare a <tt/struct fileheader/ and fill it with proper values. There is only one
|
You have to declare a <tt/struct fileheader/ and fill it with proper values. There is only one
|
||||||
difference - the first two bytes which are link to nonexistant next sector are replaced by a
|
difference - the first two bytes which are link to nonexistant next sector are replaced by a
|
||||||
pointer to the DOS filename of the file.
|
pointer to the DOS filename of the file.
|
||||||
|
|
||||||
When saving files two most important fields in <tt/struct fileheader/ are <tt/fileheader.load_address/
|
When saving sequential files two most important fields in <tt/struct fileheader/ are <tt/fileheader.load_address/
|
||||||
and <tt/fileheader.end_address/.
|
and <tt/fileheader.end_address/.
|
||||||
|
|
||||||
<sect3>FreeFile
|
<sect3>FreeFile
|
||||||
|
|||||||
@@ -17,11 +17,11 @@ struct filehandle *__fastcall__ GetNxtDirEntry(void);
|
|||||||
|
|
||||||
char __fastcall__ FindFTypes(char *buffer, char ftype, char fmaxnum, const char *classtxt);
|
char __fastcall__ FindFTypes(char *buffer, char ftype, char fmaxnum, const char *classtxt);
|
||||||
|
|
||||||
char __fastcall__ GetFile(char flag, const char *fname, const char *loadaddr,
|
char __fastcall__ GetFile(char saveflag, char loadflag, const char *fname,
|
||||||
const char *datadname, char *datafname);
|
const char *loadaddr, const char *datadname, char *datafname);
|
||||||
char __fastcall__ FindFile(const char *fname);
|
char __fastcall__ FindFile(const char *fname);
|
||||||
char __fastcall__ ReadFile(struct tr_se *myTrSe, char *buffer, unsigned flength);
|
char __fastcall__ ReadFile(struct tr_se *myTrSe, char *buffer, unsigned flength);
|
||||||
char __fastcall__ SaveFile(struct fileheader *myHeader);
|
char __fastcall__ SaveFile(char skip, struct fileheader *myHeader);
|
||||||
char __fastcall__ FreeFile(struct tr_se myTable[]);
|
char __fastcall__ FreeFile(struct tr_se myTable[]);
|
||||||
char __fastcall__ DeleteFile(const char *fname);
|
char __fastcall__ DeleteFile(const char *fname);
|
||||||
char __fastcall__ RenameFile(const char *source, const char *target);
|
char __fastcall__ RenameFile(const char *source, const char *target);
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
;
|
;
|
||||||
; 4.4.2003
|
; 4.4.2003
|
||||||
|
|
||||||
; char __fastcall__ GetFile(char flag, const char *fname, const char *loadaddr, const char *datadname, char *datafname);
|
; char __fastcall__ GetFile(char saveflag, char loadflag, const char *fname, const char *loadaddr, const char *datadname, char *datafname);
|
||||||
|
|
||||||
.export _GetFile
|
.export _GetFile
|
||||||
.import popa, popax, setoserror
|
.import popa, popax, setoserror
|
||||||
@@ -26,5 +26,7 @@ _GetFile:
|
|||||||
stx r6H
|
stx r6H
|
||||||
jsr popa
|
jsr popa
|
||||||
sta r0L
|
sta r0L
|
||||||
|
jsr popa
|
||||||
|
sta r10L
|
||||||
jsr GetFile
|
jsr GetFile
|
||||||
jmp setoserror
|
jmp setoserror
|
||||||
|
|||||||
@@ -4,16 +4,19 @@
|
|||||||
;
|
;
|
||||||
; 25.12.1999, 2.1.2003
|
; 25.12.1999, 2.1.2003
|
||||||
|
|
||||||
; char SaveFile (struct fileheader *myHeader);
|
; char SaveFile (char skip, struct fileheader *myHeader);
|
||||||
|
|
||||||
.import setoserror
|
.import setoserror
|
||||||
|
.import popa
|
||||||
.export _SaveFile
|
.export _SaveFile
|
||||||
|
|
||||||
.include "../inc/jumptab.inc"
|
.include "../inc/jumptab.inc"
|
||||||
.include "../inc/geossym.inc"
|
.include "../inc/geossym.inc"
|
||||||
|
|
||||||
_SaveFile:
|
_SaveFile:
|
||||||
sta r9L
|
sta r9L
|
||||||
stx r9H
|
stx r9H
|
||||||
|
jsr popa
|
||||||
|
sta r10L
|
||||||
jsr SaveFile
|
jsr SaveFile
|
||||||
jmp setoserror
|
jmp setoserror
|
||||||
|
|||||||
Reference in New Issue
Block a user