]> cloudbase.mooo.com Git - z180-stamp.git/blobdiff - avr/z180-serv.c
new command: source - run commands from a file
[z180-stamp.git] / avr / z180-serv.c
index 69bcd9c609286d88e248927b73b334f8ed4f6c05..87d4b23cf7aaa1277a7d047a611131e557adf6e6 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * (C) Copyright 2014 Leo C. <erbl259-lmu@yahoo.de>
  *
- * SPDX-License-Identifier:    GPL-2.0+
+ * SPDX-License-Identifier:    GPL-2.0
  */
 
 #include "common.h"
@@ -167,7 +167,7 @@ void do_msg_get_set_time(uint8_t subf, int len, uint8_t * msg)
                /* initialize t with current time */
                rc = rtc_get (&t);
 
-               if (rc == 0) {
+               if (rc >= 0) {
                        /* insert new date & time */
                        if (mk_date_time (len, msg, &t) != 0) {
                                my_puts_P(PSTR("## set_time: Bad date format\n"));
@@ -188,19 +188,16 @@ void do_msg_get_set_time(uint8_t subf, int len, uint8_t * msg)
                /* FALL TROUGH */
        case 2:                 /* get date & time */
                rc = rtc_get (&t);
+               if (rc >= 0) {
+                       time_t time;
+                       time = mk_gmtime(&t);
+                       //mktime(&t);
+                       gmtime_r(&time, &t);
 
-               if (rc) {
+                       mk_cpm_time(&t, cpm_time);
+               } else {
                        my_puts_P(PSTR("## get_time: Get date failed\n"));
-                       break;
                }
-
-               time_t time;
-               time = mk_gmtime(&t);
-               //mktime(&t);
-               gmtime_r(&time, &t);
-
-
-               mk_cpm_time(&t, cpm_time);
                break;
        }
 
@@ -209,7 +206,7 @@ void do_msg_get_set_time(uint8_t subf, int len, uint8_t * msg)
 
 /* ---------------------------------------------------------------------------*/
 
-#define MAX_DRIVE      4
+#define MAX_DRIVE      8
 #define BLOCK_SIZE     512
 //#define TPA_BASE     0x10000
 //#define COMMON_BASE  0xC000
@@ -320,7 +317,7 @@ void do_msg_cpm_login(uint8_t subf, int len, uint8_t * msg)
 
        strcpy_P((char *)disk_buffer, PSTR("dsk0"));
        disk_buffer[3] = msg[0] + '0';
-       if (((np = getenv((char*)disk_buffer)) == NULL) ||
+       if (((np = getenv_char((char*)disk_buffer)) == NULL) ||
                        ((drv_table[drv].img_name = strdup(np)) == NULL)) {
                return msg_cpm_result(subf, 0x03, res);
        }