1 #ifndef ZX_UTIL_H 2 #define ZX_UTIL_H 3 4 struct zx_common 5 { 6 char help; 7 char *binname; 8 char *crtfile; 9 char *outfile; 10 int origin; 11 char *banked_space; 12 char *excluded_banks; 13 char *excluded_sections; 14 char clean; 15 int main_fence; 16 char pages; 17 FILE *file; 18 }; 19 20 struct zx_tape 21 { 22 char *blockname; 23 char *merge; 24 int patchpos; 25 int clear_address; 26 char *patchdata; 27 char *screen; 28 char audio; 29 char ts2068; 30 char turbo; 31 char extreme; 32 char fast; 33 char dumb; 34 char noloader; 35 char noheader; 36 unsigned char parity; 37 char khz22; 38 }; 39 40 struct zx_sna 41 { 42 int stackloc; 43 int intstate; 44 char force_128; 45 char snx; 46 char xsna; 47 FILE *fsna; 48 }; 49 50 struct zx_bin 51 { 52 char fullsize; 53 int romfill; 54 char ihex; 55 char ipad; 56 int recsize; 57 }; 58 59 struct zxn_nex 60 { 61 char *screen; 62 char nopalette; 63 char screen_ula; 64 char screen_lores; 65 char screen_hires; 66 char screen_hicol; 67 int border; 68 int loadbar; 69 int loaddelay; 70 int startdelay; 71 char norun; 72 char noreset; 73 }; 74 75 extern int z88dk_ffs(int n); 76 extern void zxn_construct_page_contents(unsigned char *mem, struct memory_bank *mb, int mbsz, int fillbyte); 77 78 extern int zx_tape(struct zx_common *zxc, struct zx_tape *zxt, struct banked_memory *memory); 79 extern int zx_plus3(struct zx_common *zxc, struct zx_tape *zxt, struct banked_memory *memory); 80 extern int zx_dot_command(struct zx_common *zxc, struct banked_memory *memory); 81 extern int zxn_dotn_command(struct zx_common *zxc, struct banked_memory *memory, int fillbyte); 82 extern int zx_sna(struct zx_common *zxc, struct zx_sna *zxs, struct banked_memory *memory, int is_zxn); 83 extern int zxn_nex(struct zx_common *zxc, struct zxn_nex *zxnex, struct banked_memory *memory, int fillbyte); 84 85 #endif 86