diff --git a/demos/sdcard/README.md b/demos/sdcard/README.md index 1be7000..a35194e 100644 --- a/demos/sdcard/README.md +++ b/demos/sdcard/README.md @@ -13,6 +13,7 @@ COPY ## DIR DIR +LS CD MKDIR RMDIR @@ -20,12 +21,9 @@ RMDIR ## MISC HELP JMP +BAS STAT MOUNT TIME EXIT -/* -1234567890123456789012345678901234567890 -0000: 00 00 00 00 00 00 00 00 12345678 -*/ diff --git a/demos/sdcard/apple1_sdcard/apple1_sdcard.ino b/demos/sdcard/apple1_sdcard/apple1_sdcard.ino index 8b69a00..859de7d 100644 --- a/demos/sdcard/apple1_sdcard/apple1_sdcard.ino +++ b/demos/sdcard/apple1_sdcard/apple1_sdcard.ino @@ -168,6 +168,39 @@ void send_byte_to_cpu(int data) { // ********************************************************************************************* // ********************************************************************************************* +const int CMD_READ = 0; +const int CMD_WRITE = 1; +const int CMD_DIR = 2; +const int CMD_DEL = 11; +const int CMD_LS = 12; +const int CMD_CD = 13; +const int CMD_MKDIR = 14; +const int CMD_RMDIR = 15; + +const int ERR_RESPONSE = 255; +const int OK_RESPONSE = 0; + +char filename[64]; +char tmp[64]; +char cd_path[64]; + +// fixed messages +const char *FILE_NOT_FOUND = "?FILE NOT FOUND"; +const char *CANT_OPEN_FILE = "?CAN'T OPEN FILE"; +const char *ALREADY_EXISTS = "?FILE ALREADY EXISTS"; +const char *CANT_CREATE_FILE = "?CAN'T CREATE FILE"; +const char *WRITE_ERROR = "?WRITE ERROR"; +const char *CANT_DELETE_FILE = "?CAN'T DELETE FILE"; +const char *FILE_DELETED = " DELETED"; +const char *DIR_NOT_FOUND = "?DIR NOT FOUND"; +const char *CANT_REMOVE_DIR = "?CAN'T REMOVE DIR"; +const char *DIR_REMOVED = " (DIR) REMOVED"; +const char *DIR_ALREADY_EXISTS = "?DIR ALREADY EXISTS"; +const char *CANT_MAKE_DIR = "?CAN'T MAKE DIR"; +const char *DIR_CREATED = " (DIR) CREATED"; +const char *CANT_CD_DIR = "?CAN'T CHANGE DIR"; +const char *NOT_A_DIRECTORY = "?NOT A DIRECTORY"; + void setup() { // debug on serial Serial.begin(9600); @@ -187,31 +220,25 @@ void setup() { set_data_port_direction(DIR_INPUT); MatchState ms; - char buf [100] = { F("The quick brown fox jumps over the lazy wolf") }; + char buf [100] = { "The quick " }; ms.Target (buf); char result = ms.Match ("f.x"); if(result >0) { Serial.println("match!"); } + + // set working directory to root + strcpy(cd_path, "/"); } -const int CMD_READ = 0; -const int CMD_WRITE = 1; -const int CMD_DIR = 2; -const int CMD_DEL = 11; - -const int ERR_RESPONSE = 255; -const int OK_RESPONSE = 0; - -char filename[64]; -char tmp[64]; // ************************************************************************************** // ************************************************************************************** -// ********************************* DIR *********************************************** +// ********************************* @CMD_DIR ****************************************** // ************************************************************************************** // ************************************************************************************** +/* // recursive print directory void printDirectory(File dir, int numTabs) { @@ -252,15 +279,13 @@ void printDirectory(File dir, int numTabs) { Serial.print("\t\t"); send_byte_to_cpu(' '); send_byte_to_cpu(' '); - - /* + // file size - Serial.println(entry.size(), DEC); - msg = itoa(entry.size()); - for(int t=0; t