X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=libpcsxcore%2Fcdriso.c;h=e6247bbbea2d0773297becbfbc0c7e4165c2edc4;hp=9ef594c68cca2d1ccb824c58f1bbb0759455af78;hb=3968e69e7fa8f9cb0d44ac79477d5929b9649271;hpb=f4627eb3cb482fa3786b63e9ff4c9723ac792ce1 diff --git a/libpcsxcore/cdriso.c b/libpcsxcore/cdriso.c index 9ef594c6..e6247bbb 100644 --- a/libpcsxcore/cdriso.c +++ b/libpcsxcore/cdriso.c @@ -61,24 +61,15 @@ static boolean multifile = FALSE; static unsigned char cdbuffer[CD_FRAMESIZE_RAW]; static unsigned char subbuffer[SUB_FRAMESIZE]; -static unsigned char sndbuffer[CD_FRAMESIZE_RAW * 10]; - -#define CDDA_FRAMETIME (1000 * (sizeof(sndbuffer) / CD_FRAMESIZE_RAW) / 75) - -static unsigned int initial_offset = 0; static boolean playing = FALSE; static boolean cddaBigEndian = FALSE; -// cdda sectors in toc, byte offset in file -static unsigned int cdda_cur_sector; -static unsigned int cdda_first_sector; -static unsigned int cdda_file_offset; /* Frame offset into CD image where pregap data would be found if it was there. * If a game seeks there we must *not* return subchannel data since it's * not in the CD image, so that cdrom code can fake subchannel data instead. * XXX: there could be multiple pregaps but PSX dumps only have one? */ static unsigned int pregapOffset; -#define cddaCurPos cdda_cur_sector +static unsigned int cddaCurPos; // compressed image stuff static struct { @@ -170,21 +161,6 @@ static void tok2msf(char *time, char *msf) { } } -#ifndef _WIN32 -static long GetTickCount(void) { - static time_t initial_time = 0; - struct timeval now; - - gettimeofday(&now, NULL); - - if (initial_time == 0) { - initial_time = now.tv_sec; - } - - return (now.tv_sec - initial_time) * 1000L + now.tv_usec / 1000L; -} -#endif - // stop the CDDA playback static void stopCDDA() { playing = FALSE; @@ -1352,8 +1328,6 @@ static long CALLBACK ISOopen(void) { if (numtracks > 1 && ti[1].handle == NULL) { ti[1].handle = fopen(bin_filename, "rb"); } - cdda_cur_sector = 0; - cdda_file_offset = 0; return 0; } @@ -1480,12 +1454,12 @@ static void DecodeRawSubData(void) { // read track // time: byte 0 - minute; byte 1 - second; byte 2 - frame // uses bcd format -static long CALLBACK ISOreadTrack(unsigned char *time) { +static boolean CALLBACK ISOreadTrack(unsigned char *time) { int sector = MSF2SECT(btoi(time[0]), btoi(time[1]), btoi(time[2])); long ret; if (cdHandle == NULL) { - return -1; + return 0; } if (pregapOffset) { @@ -1499,7 +1473,7 @@ static long CALLBACK ISOreadTrack(unsigned char *time) { ret = cdimg_read_func(cdHandle, 0, cdbuffer, sector); if (ret < 0) - return -1; + return 0; if (subHandle != NULL) { fseek(subHandle, sector * SUB_FRAMESIZE, SEEK_SET); @@ -1508,7 +1482,7 @@ static long CALLBACK ISOreadTrack(unsigned char *time) { if (subChanRaw) DecodeRawSubData(); } - return 0; + return 1; } // plays cdda audio