notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
frontend: move layer size code
[pcsx_rearmed.git]
/
libpcsxcore
/
cdrom.c
diff --git
a/libpcsxcore/cdrom.c
b/libpcsxcore/cdrom.c
index
fa0e6a9
..
297c8ae
100644
(file)
--- a/
libpcsxcore/cdrom.c
+++ b/
libpcsxcore/cdrom.c
@@
-1264,6
+1264,9
@@
void cdrInterrupt() {
Check_Shell( Irq );
Check_Shell( Irq );
+ cdr.ParamP = 0;
+ cdr.ParamC = 0;
+
if (cdr.Stat != NoIntr && cdr.Reg2 != 0x18) {
psxHu32ref(0x1070) |= SWAP32((u32)0x4);
}
if (cdr.Stat != NoIntr && cdr.Reg2 != 0x18) {
psxHu32ref(0x1070) |= SWAP32((u32)0x4);
}
@@
-1450,13
+1453,7
@@
void cdrWrite0(unsigned char rt) {
#ifdef CDR_LOG
CDR_LOG("cdrWrite0() Log: CD0 write: %x\n", rt);
#endif
#ifdef CDR_LOG
CDR_LOG("cdrWrite0() Log: CD0 write: %x\n", rt);
#endif
- cdr.Ctrl = rt | (cdr.Ctrl & ~0x3);
-
- if (rt == 0) {
- cdr.ParamP = 0;
- cdr.ParamC = 0;
- cdr.ResultReady = 0;
- }
+ cdr.Ctrl = (rt & 3) | (cdr.Ctrl & ~3);
}
unsigned char cdrRead1(void) {
}
unsigned char cdrRead1(void) {
@@
-1506,7
+1503,9
@@
void cdrWrite1(unsigned char rt) {
}
#endif
}
#endif
- if (cdr.Ctrl & 0x1) return;
+ if (cdr.Ctrl & 0x3) return;
+
+ cdr.ResultReady = 0;
switch (cdr.Cmd) {
case CdlSync:
switch (cdr.Cmd) {
case CdlSync:
@@
-1809,6
+1808,8
@@
void cdrWrite1(unsigned char rt) {
break;
default:
break;
default:
+ cdr.ParamP = 0;
+ cdr.ParamC = 0;
#ifdef CDR_LOG
CDR_LOG("cdrWrite1() Log: Unknown command: %x\n", cdr.Cmd);
#endif
#ifdef CDR_LOG
CDR_LOG("cdrWrite1() Log: Unknown command: %x\n", cdr.Cmd);
#endif
@@
-1861,7
+1862,7
@@
void cdrWrite2(unsigned char rt) {
cdr.Reg2 = rt;
break;
}
cdr.Reg2 = rt;
break;
}
- } else if (!(cdr.Ctrl & 0x
1
) && cdr.ParamP < 8) {
+ } else if (!(cdr.Ctrl & 0x
3
) && cdr.ParamP < 8) {
cdr.Param[cdr.ParamP++] = rt;
cdr.ParamC++;
}
cdr.Param[cdr.ParamP++] = rt;
cdr.ParamC++;
}
@@
-1914,7
+1915,7
@@
void cdrWrite3(unsigned char rt) {
}
}
- if (rt == 0x07 &&
cdr.Ctrl & 0x
1) {
+ if (rt == 0x07 &&
(cdr.Ctrl & 3) ==
1) {
cdr.Stat = 0;
if (cdr.Irq == 0xff) {
cdr.Stat = 0;
if (cdr.Irq == 0xff) {
@@
-1939,7
+1940,7
@@
void cdrWrite3(unsigned char rt) {
return;
}
return;
}
- if (rt == 0x80 && !(cdr.Ctrl & 0x
1
) && cdr.Readed == 0) {
+ if (rt == 0x80 && !(cdr.Ctrl & 0x
3
) && cdr.Readed == 0) {
cdr.Readed = 1;
cdr.pTransfer = cdr.Transfer;
cdr.Readed = 1;
cdr.pTransfer = cdr.Transfer;