cso support
authornotaz <notasas@gmail.com>
Sat, 24 Nov 2007 20:50:16 +0000 (20:50 +0000)
committernotaz <notasas@gmail.com>
Sat, 24 Nov 2007 20:50:16 +0000 (20:50 +0000)
git-svn-id: file:///home/notaz/opt/svn/PicoDrive/platform@303 be3aeb3a-fb24-0410-a615-afba39da0efa

base_readme.txt
gp2x/menu.c
linux/Makefile
psp/emu.c
psp/menu.c
psp/port_config.h

index 3c00425..97334e0 100644 (file)
@@ -99,12 +99,14 @@ must be stereo, or else they will play too fast/slow or won't play at all.
 Be sure NOT to use anything but classic mp3 format (don't use things like\r
 mp3pro).\r
 \r
-ISO files can also be zipped (but not mp3 files, as they are already\r
-compressed). Note that this can cause very long loading times, which may\r
-take up to several minutes. File naming is similar as with uncompressed ISOs.\r
+ISO files can also be .cso compressed or zipped (but not mp3 files, as they\r
+are already compressed). CSO will cause slightly longer loading times, and\r
+is not very good for FMV games. Zipping ISOs is not recommened, as it will\r
+cause very long (several minute) loading times, and make some games\r
+unplayable. File naming is similar as with uncompressed ISOs.\r
 Example:\r
 \r
-SonicCD.zip             data track\r
+SonicCD.cso             data track\r
 SonicCD_02.mp3          audio track 1 (CD track 2)\r
 SonicCD_03.mp3\r
 ...\r
@@ -123,11 +125,14 @@ Other important stuff
   Incorrectly named/missing mp3s may also be the cause.\r
 * Sega/Mega CD: If the background music is missing, you might have named your\r
   MP3s incorrectly. Read "How to run Sega/Mega CD games" section again.\r
-* Sega/Mega CD: If the game music plays too fast or too slow, you have encoded\r
-  your MP3s incorrectly. You will have to re-encode and/or resample them.\r
+* Sega/Mega CD: If the game music plays too fast/too slow/out of sync, you have\r
+  encoded your MP3s incorrectly. You will have to re-encode and/or resample them.\r
   PicoDrive is not a mp3 player, so all mp3s MUST be encoded at 44.1kHz stereo.\r
   Badly encoded mp3s can cause various kind of problems, like noises, incorrect\r
   playback speeds, not repeating music or even prevent game from starting.\r
+  Some games (like Snatcher) may hang in certain scenes because of this.\r
+  Some mp3 rippers/encoders remove silence and beginning/end of audio tracks,\r
+  what causes audio desyncs and/or mentioned problems.\r
 * Sega/Mega CD: If your games hangs at the BIOS screen (with planets shown),\r
   you may be using a bad BIOS dump. Try another from a different source.\r
 * Some Sega/Mega CD games don't use Z80 for anything, but they leave it active,\r
@@ -631,6 +636,7 @@ Changelog
 1.35b\r
   * PSP: mp3 code should no longer fail on 1.5 firmware.\r
   + PSP: added gamma adjustment option.\r
+  + Added .cso format support. Useful for non-FMV games.\r
   * Fixed a sram bug in memhandlers (fixes Shining in the Darkness saves).\r
   * PSP: fixed another bug in memhanlers, which crashed the emu for some games\r
     (like NBA Jam).\r
index 7dd2e58..7acfa53 100644 (file)
@@ -172,7 +172,7 @@ void menu_romload_end(void)
 static unsigned short file2color(const char *fname)\r
 {\r
        const char *ext = fname + strlen(fname) - 3;\r
-       static const char *rom_exts[]   = { "zip", "bin", "smd", "gen", "iso" };\r
+       static const char *rom_exts[]   = { "zip", "bin", "smd", "gen", "iso", "cso" };\r
        static const char *other_exts[] = { "gmv", "pat" };\r
        int i;\r
 \r
index c9a281e..870b1b3 100644 (file)
@@ -45,7 +45,7 @@ OBJS += Pico/cd/Pico.o Pico/cd/Memory.o Pico/cd/Sek.o Pico/cd/LC89510.o \
 OBJS += Pico/sound/sound.o Pico/sound/sn76496.o Pico/sound/ym2612.o Pico/sound/mix.o
 # zlib
 OBJS += zlib/gzio.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o \
-       zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o
+       zlib/deflate.o zlib/crc32.o zlib/adler32.o zlib/zutil.o zlib/compress.o zlib/uncompr.o
 # unzip
 OBJS += unzip/unzip.o unzip/unzip_stream.o
 # CPU cores
index 4292615..665e41c 100644 (file)
--- a/psp/emu.c
+++ b/psp/emu.c
@@ -535,7 +535,7 @@ static int sound_thread(SceSize args, void *argp)
 
                // shouln't happen, but just in case
                if (samples_made - samples_done >= samples_block*3) {
-                       lprintf("sthr: block skip (%i)\n", samples_made - samples_done);
+                       //lprintf("sthr: block skip (%i)\n", samples_made - samples_done);
                        samples_done += samples_block; // skip
                        snd_playptr  += samples_block;
                }
index 5fb2d04..fc44446 100644 (file)
@@ -185,7 +185,7 @@ struct my_dirent
 static unsigned short file2color(const char *fname)
 {
        const char *ext = fname + strlen(fname) - 3;
-       static const char *rom_exts[]   = { "zip", "bin", "smd", "gen", "iso" };
+       static const char *rom_exts[]   = { "zip", "bin", "smd", "gen", "iso", "cso" };
        static const char *other_exts[] = { "gmv", "pat" };
        int i;
 
index 231db72..93cffa7 100644 (file)
@@ -22,7 +22,7 @@ extern void blit1(void);
 #define CAN_HANDLE_240_LINES   1\r
 \r
 // logging emu events\r
-#define EL_LOGMASK 0 // (EL_STATUS|EL_ANOMALY|EL_UIO|EL_SRAMIO) // xffff\r
+#define EL_LOGMASK EL_STATUS // (EL_STATUS|EL_ANOMALY|EL_UIO|EL_SRAMIO) // xffff\r
 \r
 //#define dprintf(f,...) printf("%05i:%03i: " f "\n",Pico.m.frame_count,Pico.m.scanline,##__VA_ARGS__)\r
 #define dprintf(x...)\r