fs.h
Go to the documentation of this file.
1 
23 #ifndef _FS_H
24 #define _FS_H 1
25 
29 #define FSMARK 0xDADA
30 
33 #define BOOTSECTOR 0x0000
34 
35 #define FSFM_OFF 0x0000
36 #define FSDT_OFF 0x0002
37 #define FSTZ_OFF 0x000A
38 #define FSDN_OFF 0x000E
39 
40 #define FSOK 0
41 #define FSNOSPACE 1
42 #define FSINVALID 2
43 #define FSNOTFOUND 3
44 #define FSNOCHIP 4
45 #define FSEOF 5
46 
47 #define FSAPPEND 1
48 #define FSRW 0
49 #define FSEXIST 2
50 
51 #define FSSET 0
52 #define FSCUR 1
53 #define FSEND 2
54 
55 // #define REGISDIR 0x001C
56 // #define UNITDIR 0x002A
57 #define REGSPA 1
58 #define DEFMAXREGIS (REGSPA+500)
59 #define UNITSPA (DEFMAXREGIS)
60 #define DEFMAXUNIT (UNITSPA+11)
61 #define BADPAGE 0xAA
62 #define REGCRL_OFF 258
63 #define UNICRL_OFF 261
64 
68 typedef struct {
72 } _fsFILE;
73 
74 typedef _fsFILE* fsFILE;
75 
76 typedef struct {
79 } REGIS; // 6b (500p=22K)
80 
81 typedef struct {
84 } UNIT; // 3b (1p=88)
85 
86 #define U_ENABLE 0x80
87 #define U_DISABLE 0x00
88 
89 #define DBREGIS 1
90 #define DBUNIT 2
91 
95 BYTE FS_Init( void );
96 void FS_Format( void );
97 BYTE FS_Open(BYTE file);
98 BYTE FS_Close(BYTE file);
100 BYTE FS_AppendUnit(UNIT *data);
101 void FS_ZapRegis(void);
102 BYTE FS_ReadRegis(REGIS *data);
103 BYTE FS_WriteUnit(UNIT *data);
104 BYTE FS_ReadUnit(UNIT *data);
105 void FS_SetBoot(WORD Offset, BYTE* data, BYTE size);
106 void FS_GetBoot(WORD Offset, BYTE* data, BYTE size);
107 void FS_Check( void );
108 void FS_Length(BYTE file, WORD *p);
109 
110 void FS_WaitReady(void);
111 
112 extern bank3 WORD gRcp;
113 extern bank3 WORD gRnor;
114 extern bank3 WORD gRcb;
115 extern bank3 WORD gUcp;
116 extern bank3 WORD gUnor;
117 extern bank3 WORD gUcb;
118 
119 
120 #endif // _FS_H
121 //********************************************************[ENDL]***************
122 
123 
124 
bank3 WORD gUnor
Definition: fs.c:29
void FS_WaitReady(void)
Definition: fs.c:42
void FS_Format(void)
Definition: fs.c:143
bank3 WORD gRcb
Definition: fs.c:27
BYTE state
Definition: fs.h:82
BYTE FS_AppendRegis(REGIS *data)
Definition: fs.c:324
WORD id
Definition: fs.h:78
void FS_Check(void)
Definition: fs.c:54
Definition: fs.h:76
Definition: fs.h:68
_fsFILE * fsFILE
Definition: fs.h:74
bank3 WORD gUcb
Definition: fs.c:30
BYTE FS_WriteUnit(UNIT *data)
Definition: fs.c:428
WORD cp
current page
Definition: fs.h:70
WORD id
Definition: fs.h:83
bank3 WORD gRnor
Definition: fs.c:26
BYTE FS_ReadRegis(REGIS *data)
Definition: fs.c:364
WORD cb
current byte
Definition: fs.h:71
WORD nor
number of records/file size
Definition: fs.h:69
void FS_ZapRegis(void)
Definition: fs.c:295
void FS_SetBoot(WORD Offset, BYTE *data, BYTE size)
Definition: fs.c:107
void FS_GetBoot(WORD Offset, BYTE *data, BYTE size)
Definition: fs.c:132
void FS_Length(BYTE file, WORD *p)
Definition: fs.c:246
BYTE FS_Close(BYTE file)
Definition: fs.c:228
BYTE FS_Open(BYTE file)
Definition: fs.c:204
BYTE FS_ReadUnit(UNIT *data)
Definition: fs.c:454
bank3 WORD gRcp
Definition: fs.c:25
unsigned char BYTE
Definition: pgrl.h:38
BYTE FS_Init(void)
Definition: fs.c:72
unsigned int WORD
Definition: pgrl.h:45
Definition: fs.h:81
BYTE FS_AppendUnit(UNIT *data)
Definition: fs.c:392
bank3 WORD gUcp
Definition: fs.c:28
time_t ttime
Definition: fs.h:77
long time_t
Definition: time.h:34