No longer needed.
[uccvend-snackrom.git] / ROM2 / main_basic.c
index 03d56a8..27d6e0b 100644 (file)
@@ -14,6 +14,7 @@
 #include "sci.h"
 #include "vend.h"
 #include "xmodem.h"
+//#include "sha1.h"
 
 u8 last_standalone;
 u8 last_switch_input;
@@ -323,6 +324,9 @@ void getrom() {
        send_string("Writing to serial port (maybe). Size is 0x");
        send_string(u82hex(_rom_src_len >> 8));
        send_string(u82hex(_rom_src_len & 0xff));
+       send_string("@0x");
+       send_string(u82hex((u16)(&_rom_src_data) >> 8));
+       send_string(u82hex((u16)(&_rom_src_data) & 0xff));
        send_string(" with signature ");
        s[0] = _rom_src_data[0];
        s[1] = _rom_src_data[1];
@@ -332,7 +336,10 @@ void getrom() {
        send_string(CRLF " Type YES to download rom.tar.bz2 via XMODEM: ");
        msg_clr();
        while (!sci_have_packet); /* spin */
-       if (!my_strncmp("YES", (char*)sci_rx_buf, 3)) return;
+       if (!my_strncmp("YES", (char*)sci_rx_buf, 3)) {
+               send_string(CRLF "Transfer cancelled." CRLF);
+               return;
+       }
 
        sci_init();
        sci_doing_xmodem = 1;
@@ -345,16 +352,19 @@ void getrom() {
        char *end = (char*)_rom_src_data+_rom_src_len;
        bool aborted = 0;
        while (1) {
-               if (!xmodem_send_packet((char*)p, 128)) {
-                       aborted = 1;
-                       break;
-               }
-               p += 128;
                if (p + 128 > end) {
                        /* send partial packet */
                        if (!xmodem_send_packet((char*)p, end-p)) aborted = 1;
                        break;
+               } if ((u16)p == 0xb600) {
+                       /* we have an eeprom here. skip it. */
+                       p += 0x0200;
+                       continue;
+               } else if (!xmodem_send_packet((char*)p, 128)) {
+                       aborted = 1;
+                       break;
                }
+               p += 128;
        }
 
        xmodem_finish_xfer();
@@ -372,6 +382,9 @@ void quit() {
                unknown_command();
 }
 
+//SHA1_CTX ctx;
+//u8 sha1_digest[SHA1_SIGNATURE_SIZE];
+
 int main() {
        u8 i;
        for (i = 0; i < 11; i++)
@@ -393,7 +406,6 @@ int main() {
 
        set_msg("  CRUEL   ");
 
-       //comm_init();
        //coinmech_init();
        sci_init();
        keypad_init();
@@ -451,6 +463,11 @@ int main() {
                }
 
                if (sci_have_packet) {
+                       if (must_verify()) {
+                               //SHA1_Init(&ctx);
+                               //SHA1_Update(&ctx, sci_rx_buf, my_strlen(sci_rx_buf));
+                               //SHA1_Final(sha1_digest, &ctx);
+                       }
                        switch (sci_rx_buf[0]) {
                                case '\0':
                                case '#':

UCC git Repository :: git.ucc.asn.au