fix bsnes performance core lag counter; fixes issue #180

This commit is contained in:
zeromus 2014-09-14 01:33:09 +00:00
parent 7e3144fd07
commit 5d0cfcac52
4 changed files with 14 additions and 10 deletions

View File

@ -1,3 +1,3 @@
#!/bin/sh
./bizwinmakeone.sh 32 compatibility
./bizwinmakeone.sh 32 performance

View File

@ -22,6 +22,7 @@ uint8 CPU::mmio_read(unsigned addr) {
case 0x4017: {
uint8 result = (regs.mdr & 0xe0) | 0x1c;
result |= input.port2->data() & 3;
if (!status.auto_joypad_poll_enabled) interface()->inputNotify(0x4017);
return result;
}
@ -51,21 +52,23 @@ uint8 CPU::mmio_read(unsigned addr) {
return result;
}
case 0x4213: return status.pio;
case 0x4213:
// interface()->inputNotify(0x4213); // if there are lag counter issues with super scope, uncomment this
return status.pio;
case 0x4214: return status.rddiv >> 0;
case 0x4215: return status.rddiv >> 8;
case 0x4216: return status.rdmpy >> 0;
case 0x4217: return status.rdmpy >> 8;
case 0x4218: return status.joy1l;
case 0x4219: return status.joy1h;
case 0x421a: return status.joy2l;
case 0x421b: return status.joy2h;
case 0x421c: return status.joy3l;
case 0x421d: return status.joy3h;
case 0x421e: return status.joy4l;
case 0x421f: return status.joy4h;
case 0x4218: interface()->inputNotify(0x4218); return status.joy1l;
case 0x4219: interface()->inputNotify(0x4219); return status.joy1h;
case 0x421a: interface()->inputNotify(0x421a); return status.joy2l;
case 0x421b: interface()->inputNotify(0x421b); return status.joy2h;
case 0x421c: interface()->inputNotify(0x421c); return status.joy3l;
case 0x421d: interface()->inputNotify(0x421d); return status.joy3h;
case 0x421e: interface()->inputNotify(0x421e); return status.joy4l;
case 0x421f: interface()->inputNotify(0x421f); return status.joy4h;
}
if((addr & 0xff80) == 0x4300) {
@ -129,6 +132,7 @@ void CPU::mmio_write(unsigned addr, uint8 data) {
case 0x4016: {
input.port1->latch(data & 1);
input.port2->latch(data & 1);
if (!status.auto_joypad_poll_enabled) { interface()->inputNotify(0x4016); }
return;
}