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
spu: rvb volume is signed
[pcsx_rearmed.git]
/
libpcsxcore
/
sio.c
diff --git
a/libpcsxcore/sio.c
b/libpcsxcore/sio.c
index
ab6baa1
..
0bc763c
100644
(file)
--- a/
libpcsxcore/sio.c
+++ b/
libpcsxcore/sio.c
@@
-21,6
+21,9
@@
* SIO functions.
*/
* SIO functions.
*/
+#include "misc.h"
+#include "psxcounters.h"
+#include "psxevents.h"
#include "sio.h"
#include <sys/stat.h>
#include "sio.h"
#include <sys/stat.h>
@@
-71,13
+74,6
@@
static unsigned int padst;
char Mcd1Data[MCD_SIZE], Mcd2Data[MCD_SIZE];
char McdDisable[2];
char Mcd1Data[MCD_SIZE], Mcd2Data[MCD_SIZE];
char McdDisable[2];
-#define SIO_INT(eCycle) { \
- psxRegs.interrupt |= (1 << PSXINT_SIO); \
- psxRegs.intCycle[PSXINT_SIO].cycle = eCycle; \
- psxRegs.intCycle[PSXINT_SIO].sCycle = psxRegs.cycle; \
- new_dyna_set_event(PSXINT_SIO, eCycle); \
-}
-
// clk cycle byte
// 4us * 8bits = (PSXCLK / 1000000) * 32; (linuzappz)
// TODO: add SioModePrescaler and BaudReg
// clk cycle byte
// 4us * 8bits = (PSXCLK / 1000000) * 32; (linuzappz)
// TODO: add SioModePrescaler and BaudReg
@@
-105,7
+101,7
@@
void sioWrite8(unsigned char value) {
if (more_data) {
bufcount = parp + 1;
if (more_data) {
bufcount = parp + 1;
-
SIO_INT(
SIO_CYCLES);
+
set_event(PSXINT_SIO,
SIO_CYCLES);
}
}
else padst = 0;
}
}
else padst = 0;
@@
-119,14
+115,14
@@
void sioWrite8(unsigned char value) {
if (more_data) {
bufcount = parp + 1;
if (more_data) {
bufcount = parp + 1;
-
SIO_INT(
SIO_CYCLES);
+
set_event(PSXINT_SIO,
SIO_CYCLES);
}
return;
}
switch (mcdst) {
case 1:
}
return;
}
switch (mcdst) {
case 1:
-
SIO_INT(
SIO_CYCLES);
+
set_event(PSXINT_SIO,
SIO_CYCLES);
if (rdwr) { parp++; return; }
parp = 1;
switch (value) {
if (rdwr) { parp++; return; }
parp = 1;
switch (value) {
@@
-136,7
+132,7
@@
void sioWrite8(unsigned char value) {
}
return;
case 2: // address H
}
return;
case 2: // address H
-
SIO_INT(
SIO_CYCLES);
+
set_event(PSXINT_SIO,
SIO_CYCLES);
adrH = value;
*buf = 0;
parp = 0;
adrH = value;
*buf = 0;
parp = 0;
@@
-144,7
+140,7
@@
void sioWrite8(unsigned char value) {
mcdst = 3;
return;
case 3: // address L
mcdst = 3;
return;
case 3: // address L
-
SIO_INT(
SIO_CYCLES);
+
set_event(PSXINT_SIO,
SIO_CYCLES);
adrL = value;
*buf = adrH;
parp = 0;
adrL = value;
*buf = adrH;
parp = 0;
@@
-152,7
+148,7
@@
void sioWrite8(unsigned char value) {
mcdst = 4;
return;
case 4:
mcdst = 4;
return;
case 4:
-
SIO_INT(
SIO_CYCLES);
+
set_event(PSXINT_SIO,
SIO_CYCLES);
parp = 0;
switch (rdwr) {
case 1: // read
parp = 0;
switch (rdwr) {
case 1: // read
@@
-202,7
+198,7
@@
void sioWrite8(unsigned char value) {
if (rdwr == 2) {
if (parp < 128) buf[parp + 1] = value;
}
if (rdwr == 2) {
if (parp < 128) buf[parp + 1] = value;
}
-
SIO_INT(
SIO_CYCLES);
+
set_event(PSXINT_SIO,
SIO_CYCLES);
return;
}
return;
}
@@
-217,7
+213,7
@@
void sioWrite8(unsigned char value) {
bufcount = 1;
parp = 0;
padst = 1;
bufcount = 1;
parp = 0;
padst = 1;
-
SIO_INT(
SIO_CYCLES);
+
set_event(PSXINT_SIO,
SIO_CYCLES);
return;
case 0x81: // start memcard
if (CtrlReg & 0x2000)
return;
case 0x81: // start memcard
if (CtrlReg & 0x2000)
@@
-237,7
+233,7
@@
void sioWrite8(unsigned char value) {
bufcount = 3;
mcdst = 1;
rdwr = 0;
bufcount = 3;
mcdst = 1;
rdwr = 0;
-
SIO_INT(
SIO_CYCLES);
+
set_event(PSXINT_SIO,
SIO_CYCLES);
return;
default:
no_device:
return;
default:
no_device:
@@
-325,16
+321,6
@@
unsigned short sioReadBaud16() {
return BaudReg;
}
return BaudReg;
}
-void netError() {
- ClosePlugins();
- SysMessage(_("Connection closed!\n"));
-
- CdromId[0] = '\0';
- CdromLabel[0] = '\0';
-
- SysRunGui();
-}
-
void sioInterrupt() {
#ifdef PAD_LOG
PAD_LOG("Sio Interrupt (CP0.Status = %x)\n", psxRegs.CP0.n.Status);
void sioInterrupt() {
#ifdef PAD_LOG
PAD_LOG("Sio Interrupt (CP0.Status = %x)\n", psxRegs.CP0.n.Status);