Main Page | Class Hierarchy | Compound List | File List | Compound Members | File Members | Related Pages

1541fs.h

Go to the documentation of this file.
00001 /*
00002  *  1541fs.h - 1541 emulation in host file system
00003  *
00004  *  Frodo (C) 1994-1997 Christian Bauer
00005  */
00006 
00007 #ifndef _1541FS_H
00008 #define _1541FS_H
00009 
00010 #include "IEC.h"
00011 
00012 
00013 class FSDrive : public Drive {
00014 public:
00015         FSDrive(IEC *iec, char *path);
00016         virtual ~FSDrive();
00017         virtual uint8 Open(int channel, char *filename);
00018         virtual uint8 Close(int channel);
00019         virtual uint8 Read(int channel, uint8 *byte);
00020         virtual uint8 Write(int channel, uint8 byte, bool eoi);
00021         virtual void Reset(void);
00022 
00023 private:
00024         bool change_dir(char *dirpath);
00025         uint8 open_file(int channel, char *filename);
00026         uint8 open_directory(int channel, char *filename);
00027         void convert_filename(char *srcname, char *destname, int *filemode, int *filetype, bool *wildflag);
00028         void find_first_file(char *name);
00029         void close_all_channels(void);
00030         void execute_command(char *command);
00031         int chdir_cmd(char *dirpath); //JoeF 04.11.99 HACKED! This originally was void function
00032         uint8 conv_from_64(uint8 c, bool map_slash);
00033         uint8 conv_to_64(uint8 c, bool map_slash);
00034 
00035         char dir_path[256];             // Path to directory
00036         char orig_dir_path[256]; // Original directory path
00037         char dir_title[16];             // Directory title
00038         FILE *file[16];                 // File pointers for each of the 16 channels
00039 
00040         char cmd_buffer[44];    // Buffer for incoming command strings
00041         int cmd_len;                    // Length of received command
00042 
00043         uint8 read_char[16];    // Buffers for one-byte read-ahead
00044 };
00045 
00046 #endif

Generated on Tue Feb 8 04:07:12 2005 for E32frodo by doxygen 1.3.3