69 |
|
public: |
70 |
|
D64Drive(IEC *iec, char *filepath); |
71 |
|
virtual ~D64Drive(); |
72 |
< |
virtual uint8 Open(int channel, char *filename); |
72 |
> |
virtual uint8 Open(int channel, const uint8 *name, int name_len); |
73 |
|
virtual uint8 Close(int channel); |
74 |
|
virtual uint8 Read(int channel, uint8 *byte); |
75 |
|
virtual uint8 Write(int channel, uint8 byte, bool eoi); |
77 |
|
|
78 |
|
private: |
79 |
|
void open_close_d64_file(char *d64name); |
80 |
< |
uint8 open_file(int channel, char *filename); |
81 |
< |
void convert_filename(char *srcname, char *destname, int *filemode, int *filetype); |
82 |
< |
bool find_file(char *filename, int *track, int *sector); |
80 |
> |
|
81 |
> |
uint8 open_file(int channel, const uint8 *name, int name_len); |
82 |
> |
bool find_file(const uint8 *pattern, int *track, int *sector); |
83 |
|
uint8 open_file_ts(int channel, int track, int sector); |
84 |
< |
uint8 open_directory(char *pattern); |
85 |
< |
uint8 open_direct(int channel, char *filename); |
84 |
> |
uint8 open_directory(const uint8 *pattern, int pattern_len); |
85 |
> |
uint8 open_direct(int channel, const uint8 *name); |
86 |
|
void close_all_channels(); |
87 |
< |
void execute_command(char *command); |
88 |
< |
void block_read_cmd(char *command); |
89 |
< |
void buffer_ptr_cmd(char *command); |
90 |
< |
bool parse_bcmd(char *cmd, int *arg1, int *arg2, int *arg3, int *arg4); |
91 |
< |
void chd64_cmd(char *d64name); |
87 |
> |
|
88 |
> |
void block_read_cmd(int channel, int track, int sector, bool user_cmd = false); |
89 |
> |
void buffer_pointer_cmd(int channel, int pos); |
90 |
> |
void mem_read_cmd(uint16 adr, uint8 len); |
91 |
> |
void mem_write_cmd(uint16 adr, uint8 len, uint8 *p); |
92 |
> |
void initialize_cmd(void); |
93 |
> |
|
94 |
|
int alloc_buffer(int want); |
95 |
|
void free_buffer(int buf); |
96 |
|
bool read_sector(int track, int sector, uint8 *buffer); |
97 |
|
int offset_from_ts(int track, int sector); |
96 |
– |
uint8 conv_from_64(uint8 c, bool map_slash); |
98 |
|
|
99 |
|
char orig_d64_name[256]; // Original path of .d64 file |
100 |
|
|
112 |
|
|
113 |
|
bool buf_free[4]; // Buffer 0..3 free? |
114 |
|
|
114 |
– |
char cmd_buffer[44]; // Buffer for incoming command strings |
115 |
– |
int cmd_len; // Length of received command |
116 |
– |
|
115 |
|
int image_header; // Length of .d64 file header |
116 |
|
|
117 |
|
uint8 error_info[683]; // Sector error information (1 byte/sector) |