notaz.gp2x.de
/
pcsx_rearmed.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
f9ccca1
)
cdrom: tune and log stat hack
author
notaz
<notasas@gmail.com>
Thu, 27 Dec 2012 00:24:06 +0000
(
02:24
+0200)
committer
notaz
<notasas@gmail.com>
Tue, 1 Jan 2013 21:33:47 +0000
(23:33 +0200)
libpcsxcore/cdrom.c
patch
|
blob
|
blame
|
history
diff --git
a/libpcsxcore/cdrom.c
b/libpcsxcore/cdrom.c
index
61e1e7a
..
d7e36cc
100644
(file)
--- a/
libpcsxcore/cdrom.c
+++ b/
libpcsxcore/cdrom.c
@@
-650,6
+650,11
@@
static void cdrPlayInterrupt_Autopause()
void cdrPlayInterrupt()
{
if (cdr.Seeked == SEEK_DOING_CMD) {
void cdrPlayInterrupt()
{
if (cdr.Seeked == SEEK_DOING_CMD) {
+ if (cdr.Stat) {
+ SysPrintf("cdrom: seek stat hack\n");
+ CDRMISC_INT(0x1000);
+ return;
+ }
SetResultSize(1);
cdr.StatP |= STATUS_ROTATING;
cdr.StatP &= ~STATUS_SEEK;
SetResultSize(1);
cdr.StatP |= STATUS_ROTATING;
cdr.StatP &= ~STATUS_SEEK;
@@
-704,7
+709,8
@@
void cdrInterrupt() {
// Reschedule IRQ
if (cdr.Stat) {
// Reschedule IRQ
if (cdr.Stat) {
- CDR_INT( 0x100 );
+ SysPrintf("cdrom: stat hack: %02x %x\n", cdr.Irq, cdr.Stat);
+ CDR_INT(0x1000);
return;
}
return;
}
@@
-1294,7
+1300,8
@@
void cdrReadInterrupt() {
return;
if (cdr.Irq || cdr.Stat) {
return;
if (cdr.Irq || cdr.Stat) {
- CDREAD_INT(0x100);
+ SysPrintf("cdrom: read stat hack %02x %x\n", cdr.Irq, cdr.Stat);
+ CDREAD_INT(0x1000);
return;
}
return;
}