UIQ3 bugfixes, SVP drc indirect jumps, stuff
[libpicofe.git] / common / emu.c
index 7dbac50..eaabe08 100644 (file)
@@ -44,9 +44,11 @@ extern void menu_romload_end(void);
 \r
 \r
 // utilities\r
-static void strlwr_(charstring)\r
+static void strlwr_(char *string)\r
 {\r
-       while ( (*string++ = (char)tolower(*string)) );\r
+       char *p;\r
+       for (p = string; *p; p++)\r
+               *p = (char)tolower(*p);\r
 }\r
 \r
 static int try_rfn_cut(char *fname)\r
@@ -345,6 +347,7 @@ int emu_ReloadRom(char *rom_fname)
                        return 0;\r
                }\r
                get_ext(rom_fname, ext);\r
+               lprintf("gmv loaded for %s\n", rom_fname);\r
        }\r
        else if (!strcmp(ext, ".pat"))\r
        {\r
@@ -407,7 +410,9 @@ int emu_ReloadRom(char *rom_fname)
        rom_loaded = 0;\r
 \r
        if ( (ret = PicoCartLoad(rom, &rom_data, &rom_size)) ) {\r
-               sprintf(menuErrorMsg, "PicoCartLoad() failed.");\r
+               if      (ret == 2) sprintf(menuErrorMsg, "Out of memory");\r
+               else if (ret == 3) sprintf(menuErrorMsg, "Read failed");\r
+               else               sprintf(menuErrorMsg, "PicoCartLoad() failed.");\r
                lprintf("%s\n", menuErrorMsg);\r
                goto fail2;\r
        }\r
@@ -774,13 +779,13 @@ void emu_updateMovie(void)
        } else {\r
                // MXYZ SACB RLDU\r
                PicoPad[0] = ~movie_data[offs]   & 0x8f; // ! SCBA RLDU\r
-               if(!(movie_data[offs]   & 0x10)) PicoPad[0] |= 0x40; // A\r
-               if(!(movie_data[offs]   & 0x20)) PicoPad[0] |= 0x10; // B\r
-               if(!(movie_data[offs]   & 0x40)) PicoPad[0] |= 0x20; // A\r
+               if(!(movie_data[offs]   & 0x10)) PicoPad[0] |= 0x40; // C\r
+               if(!(movie_data[offs]   & 0x20)) PicoPad[0] |= 0x10; // A\r
+               if(!(movie_data[offs]   & 0x40)) PicoPad[0] |= 0x20; // B\r
                PicoPad[1] = ~movie_data[offs+1] & 0x8f; // ! SCBA RLDU\r
-               if(!(movie_data[offs+1] & 0x10)) PicoPad[1] |= 0x40; // A\r
-               if(!(movie_data[offs+1] & 0x20)) PicoPad[1] |= 0x10; // B\r
-               if(!(movie_data[offs+1] & 0x40)) PicoPad[1] |= 0x20; // A\r
+               if(!(movie_data[offs+1] & 0x10)) PicoPad[1] |= 0x40; // C\r
+               if(!(movie_data[offs+1] & 0x20)) PicoPad[1] |= 0x10; // A\r
+               if(!(movie_data[offs+1] & 0x40)) PicoPad[1] |= 0x20; // B\r
                PicoPad[0] |= (~movie_data[offs+2] & 0x0A) << 8; // ! MZYX\r
                if(!(movie_data[offs+2] & 0x01)) PicoPad[0] |= 0x0400; // X\r
                if(!(movie_data[offs+2] & 0x04)) PicoPad[0] |= 0x0100; // Z\r