Fix missings (cdriso.c->sec?).

git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@56851 e17a0e51-4ae3-4d35-97c3-1a29b211df97
This commit is contained in:
SND\edgbla_cp 2010-09-05 19:09:16 +00:00
parent 872e08ec0e
commit 1b4889d1a4
4 changed files with 90 additions and 71 deletions

View File

@ -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 \

View File

@ -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

View File

@ -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];

View File

@ -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;
}