diff options
| author | SND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2010-09-05 19:09:16 +0000 |
|---|---|---|
| committer | SND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2010-09-05 19:09:16 +0000 |
| commit | 1b4889d1a4bc9cbbcc71d1540d5c5830b7fbd841 (patch) | |
| tree | ea57d7bcb6cf8ad3236c5ddc6b0a2d2bba965951 /libpcsxcore | |
| parent | 872e08ec0e8edb608a3e55c7c8d12f7a25a7a0d7 (diff) | |
| download | pcsxr-1b4889d1a4bc9cbbcc71d1540d5c5830b7fbd841.tar.gz | |
Fix missings (cdriso.c->sec?).
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@56851 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'libpcsxcore')
| -rw-r--r-- | libpcsxcore/Makefile.am | 9 | ||||
| -rw-r--r-- | libpcsxcore/Makefile.in | 19 | ||||
| -rw-r--r-- | libpcsxcore/cdriso.c | 57 | ||||
| -rw-r--r-- | libpcsxcore/mdec.c | 76 |
4 files changed, 90 insertions, 71 deletions
diff --git a/libpcsxcore/Makefile.am b/libpcsxcore/Makefile.am index 6c0dae81..63caf248 100644 --- a/libpcsxcore/Makefile.am +++ b/libpcsxcore/Makefile.am @@ -9,6 +9,7 @@ libpcsxcore_a_SOURCES = \ $(top_builddir)/libpcsxcore/psxcounters.c \ $(top_builddir)/libpcsxcore/psxdma.c \ $(top_builddir)/libpcsxcore/disr3000a.c \ + $(top_builddir)/libpcsxcore/gpu.c \ $(top_builddir)/libpcsxcore/spu.c \ $(top_builddir)/libpcsxcore/sio.c \ $(top_builddir)/libpcsxcore/psxhw.c \ @@ -26,8 +27,8 @@ libpcsxcore_a_SOURCES = \ $(top_builddir)/libpcsxcore/debug.c \ $(top_builddir)/libpcsxcore/debug.h \ $(top_builddir)/libpcsxcore/decode_xa.h \ - $(top_builddir)/libpcsxcore/gte.h \
- $(top_builddir)/libpcsxcore/gte_divider.h \
+ $(top_builddir)/libpcsxcore/gte.h \ + $(top_builddir)/libpcsxcore/gte_divider.h \ $(top_builddir)/libpcsxcore/mdec.h \ $(top_builddir)/libpcsxcore/misc.h \ $(top_builddir)/libpcsxcore/plugins.h \ @@ -41,8 +42,8 @@ libpcsxcore_a_SOURCES = \ $(top_builddir)/libpcsxcore/psxhw.h \ $(top_builddir)/libpcsxcore/psxmem.h \ $(top_builddir)/libpcsxcore/r3000a.h \ - $(top_builddir)/libpcsxcore/sio.h \
- $(top_builddir)/libpcsxcore/sjisfont.h \
+ $(top_builddir)/libpcsxcore/sio.h \ + $(top_builddir)/libpcsxcore/sjisfont.h \ $(top_builddir)/libpcsxcore/spu.h \ $(top_builddir)/libpcsxcore/system.h \ $(top_builddir)/libpcsxcore/cdriso.c \ diff --git a/libpcsxcore/Makefile.in b/libpcsxcore/Makefile.in index 18721a57..53d631a9 100644 --- a/libpcsxcore/Makefile.in +++ b/libpcsxcore/Makefile.in @@ -74,6 +74,7 @@ am__libpcsxcore_a_SOURCES_DIST = \ $(top_builddir)/libpcsxcore/psxcounters.c \ $(top_builddir)/libpcsxcore/psxdma.c \ $(top_builddir)/libpcsxcore/disr3000a.c \ + $(top_builddir)/libpcsxcore/gpu.c \ $(top_builddir)/libpcsxcore/spu.c \ $(top_builddir)/libpcsxcore/sio.c \ $(top_builddir)/libpcsxcore/psxhw.c \ @@ -141,7 +142,7 @@ am__libpcsxcore_a_SOURCES_DIST = \ @ARCH_PPC_TRUE@am__objects_3 = pR3000A.$(OBJEXT) ppc.$(OBJEXT) \ @ARCH_PPC_TRUE@ reguse.$(OBJEXT) libpcsxcore_a-pasm.$(OBJEXT) am_libpcsxcore_a_OBJECTS = psxbios.$(OBJEXT) cdrom.$(OBJEXT) \ - psxcounters.$(OBJEXT) psxdma.$(OBJEXT) disr3000a.$(OBJEXT) \ + psxcounters.$(OBJEXT) psxdma.$(OBJEXT) disr3000a.$(OBJEXT) gpu.$(OBJEXT) \ spu.$(OBJEXT) sio.$(OBJEXT) psxhw.$(OBJEXT) mdec.$(OBJEXT) \ psxmem.$(OBJEXT) misc.$(OBJEXT) plugins.$(OBJEXT) \ decode_xa.$(OBJEXT) r3000a.$(OBJEXT) psxinterpreter.$(OBJEXT) \ @@ -333,6 +334,7 @@ libpcsxcore_a_SOURCES = $(top_builddir)/libpcsxcore/psxbios.c \ $(top_builddir)/libpcsxcore/psxcounters.c \ $(top_builddir)/libpcsxcore/psxdma.c \ $(top_builddir)/libpcsxcore/disr3000a.c \ + $(top_builddir)/libpcsxcore/gpu.c \ $(top_builddir)/libpcsxcore/spu.c \ $(top_builddir)/libpcsxcore/sio.c \ $(top_builddir)/libpcsxcore/psxhw.c \ @@ -432,6 +434,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/debug.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decode_xa.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/disr3000a.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpu.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gte.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iR3000A-64.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iR3000A.Po@am__quote@ @@ -553,6 +556,20 @@ disr3000a.obj: $(top_builddir)/libpcsxcore/disr3000a.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o disr3000a.obj `if test -f '$(top_builddir)/libpcsxcore/disr3000a.c'; then $(CYGPATH_W) '$(top_builddir)/libpcsxcore/disr3000a.c'; else $(CYGPATH_W) '$(srcdir)/$(top_builddir)/libpcsxcore/disr3000a.c'; fi` +gpu.o: $(top_builddir)/libpcsxcore/gpu.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gpu.o -MD -MP -MF $(DEPDIR)/gpu.Tpo -c -o gpu.o `test -f '$(top_builddir)/libpcsxcore/gpu.c' || echo '$(srcdir)/'`$(top_builddir)/libpcsxcore/gpu.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gpu.Tpo $(DEPDIR)/gpu.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_builddir)/libpcsxcore/gpu.c' object='gpu.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gpu.o `test -f '$(top_builddir)/libpcsxcore/gpu.c' || echo '$(srcdir)/'`$(top_builddir)/libpcsxcore/gpu.c + +gpu.obj: $(top_builddir)/libpcsxcore/gpu.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gpu.obj -MD -MP -MF $(DEPDIR)/gpu.Tpo -c -o gpu.obj `if test -f '$(top_builddir)/libpcsxcore/gpu.c'; then $(CYGPATH_W) '$(top_builddir)/libpcsxcore/gpu.c'; else $(CYGPATH_W) '$(srcdir)/$(top_builddir)/libpcsxcore/gpu.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gpu.Tpo $(DEPDIR)/gpu.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_builddir)/libpcsxcore/gpu.c' object='gpu.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gpu.obj `if test -f '$(top_builddir)/libpcsxcore/gpu.c'; then $(CYGPATH_W) '$(top_builddir)/libpcsxcore/gpu.c'; else $(CYGPATH_W) '$(srcdir)/$(top_builddir)/libpcsxcore/gpu.c'; fi` + spu.o: $(top_builddir)/libpcsxcore/spu.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT spu.o -MD -MP -MF $(DEPDIR)/spu.Tpo -c -o spu.o `test -f '$(top_builddir)/libpcsxcore/spu.c' || echo '$(srcdir)/'`$(top_builddir)/libpcsxcore/spu.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/spu.Tpo $(DEPDIR)/spu.Po diff --git a/libpcsxcore/cdriso.c b/libpcsxcore/cdriso.c index a6812e1e..6e1c4dd5 100644 --- a/libpcsxcore/cdriso.c +++ b/libpcsxcore/cdriso.c @@ -31,9 +31,9 @@ #include <sys/time.h> #endif -#define btoi(b) ((b) / 16 * 10 + (b) % 16) /* BCD to u_char */
-#define itob(i) ((i)/10*16 + (i)%10) /* u_char to BCD */
-
+#define btoi(b) ((b) / 16 * 10 + (b) % 16) /* BCD to u_char */ +#define itob(i) ((i)/10*16 + (i)%10) /* u_char to BCD */ + static FILE *cdHandle = NULL; static FILE *cddaHandle = NULL; static FILE *subHandle = NULL; @@ -175,16 +175,17 @@ static void *playthread(void *param) s += d; - fread( subbuffer, 1, SUB_FRAMESIZE, cddaHandle );
+ fread( subbuffer, 1, SUB_FRAMESIZE, cddaHandle ); } } else { s = fread(sndbuffer, 1, sizeof(sndbuffer), cddaHandle); -
- if (subHandle != NULL) {
- fseek(subHandle, sec * SUB_FRAMESIZE, SEEK_SET);
- fread(subbuffer, 1, SUB_FRAMESIZE, subHandle);
- }
+ + if (subHandle != NULL) { + // FIXME: sec? + //fseek(subHandle, sec * SUB_FRAMESIZE, SEEK_SET); + //fread(subbuffer, 1, SUB_FRAMESIZE, subHandle); + } } if (s == 0) { @@ -747,25 +748,25 @@ static long CALLBACK ISOgetTN(unsigned char *buffer) { // byte 1 - second // byte 2 - minute static long CALLBACK ISOgetTD(unsigned char track, unsigned char *buffer) { - if( track == 0 ) {
- unsigned int pos, size;
- unsigned char time[3];
-
- // Vib Ribbon: return size of CD
- // - ex. 20 min, 22 sec, 66 fra
- pos = ftell( cdHandle );
- fseek( cdHandle, 0, SEEK_END );
- size = ftell( cdHandle );
- fseek( cdHandle, pos, SEEK_SET );
-
- // relative -> absolute time (+2 seconds)
- size += 150 * 2352;
-
- sec2msf( size / 2352, time );
- buffer[2] = time[0];
- buffer[1] = time[1];
- buffer[0] = time[2];
- }
+ if( track == 0 ) { + unsigned int pos, size; + unsigned char time[3]; + + // Vib Ribbon: return size of CD + // - ex. 20 min, 22 sec, 66 fra + pos = ftell( cdHandle ); + fseek( cdHandle, 0, SEEK_END ); + size = ftell( cdHandle ); + fseek( cdHandle, pos, SEEK_SET ); + + // relative -> absolute time (+2 seconds) + size += 150 * 2352; + + sec2msf( size / 2352, time ); + buffer[2] = time[0]; + buffer[1] = time[1]; + buffer[0] = time[2]; + } else if (numtracks > 0 && track <= numtracks) { buffer[2] = ti[track].start[0]; buffer[1] = ti[track].start[1]; diff --git a/libpcsxcore/mdec.c b/libpcsxcore/mdec.c index fb5bff61..5161a4f5 100644 --- a/libpcsxcore/mdec.c +++ b/libpcsxcore/mdec.c @@ -474,9 +474,9 @@ void psxDma0(u32 adr, u32 bcr, u32 chcr) { case 0x3: // decode mdec.rl = (u16 *)PSXM(adr); mdec.rlsize = mdec.reg0 & MDEC0_SIZE_MASK; -
- MDECINDMA_INT( size / 4 );
- return;
+ + MDECINDMA_INT( size / 4 ); + return; case 0x4: // quantization table upload @@ -488,15 +488,15 @@ void psxDma0(u32 adr, u32 bcr, u32 chcr) { iqtab_init(iq_y, p); iqtab_init(iq_uv, p + 64); } -
- MDECINDMA_INT( size / 4 );
- return;
+ + MDECINDMA_INT( size / 4 ); + return; case 0x6: // cosine table // printf("mdec cosine table\n"); -
- MDECINDMA_INT( size / 4 );
- return;
+ + MDECINDMA_INT( size / 4 ); + return; default: // printf("mdec unknown command\n"); @@ -505,18 +505,18 @@ void psxDma0(u32 adr, u32 bcr, u32 chcr) { HW_DMA0_CHCR &= SWAP32(~0x01000000); DMA_INTERRUPT(0); -}
-
-void mdec0Interrupt()
-{
- HW_DMA0_CHCR &= SWAP32(~0x01000000);
- DMA_INTERRUPT(0);
+} + +void mdec0Interrupt() +{ + HW_DMA0_CHCR &= SWAP32(~0x01000000); + DMA_INTERRUPT(0); } void psxDma1(u32 adr, u32 bcr, u32 chcr) { int blk[DSIZE2 * 6]; unsigned short *image; - int size; + int size, dmacnt; #ifdef CDR_LOG CDR_LOG("DMA1 %08x %08x %08x (cmd = %08x)\n", adr, bcr, chcr, mdec.reg0); @@ -534,11 +534,11 @@ void psxDma1(u32 adr, u32 bcr, u32 chcr) { mdec.rl = rl2blk(blk, mdec.rl); yuv2rgb15(blk, image); } - } else { // 24-b decoding
- // Fear Effect 2 Artwork (4000+ = BIAS 1)
- // Breaks: Lemmings
- //MDECOUTDMA_INT( ((size / 4) / BIAS) * 4000);
-
+ } else { // 24-b decoding + // Fear Effect 2 Artwork (4000+ = BIAS 1) + // Breaks: Lemmings + //MDECOUTDMA_INT( ((size / 4) / BIAS) * 4000); + size = size / ((24 * 16) / 2); for (; size > 0; size--, image += (24 * 16)) { mdec.rl = rl2blk(blk, mdec.rl); @@ -546,23 +546,23 @@ void psxDma1(u32 adr, u32 bcr, u32 chcr) { } } - /*
- Absolute minimum DMA time:
-
- # bytes written to memory *
- average cycles to create byte /
- 32-bit DMA per cycle
-
-
- Note that FF9 Dali accepts 1-75~150
- before slowdown occurs. No crash.
- */
-
- dmacnt = (image - (u16 *)PSXM(adr)) * 1;
-
- MDECOUTDMA_INT( dmacnt / 4);
-
-
+ /* + Absolute minimum DMA time: + + # bytes written to memory * + average cycles to create byte / + 32-bit DMA per cycle + + + Note that FF9 Dali accepts 1-75~150 + before slowdown occurs. No crash. + */ + + dmacnt = (image - (u16 *)PSXM(adr)) * 1; + + MDECOUTDMA_INT( dmacnt / 4); + + mdec.reg1 |= MDEC1_BUSY; } |
