pce: alter handling of reading $1FF402 irq status port, fixes Aldynes intro freeze

This commit is contained in:
beirich 2012-06-03 20:09:09 +00:00
parent 775845184c
commit fe369e0455
7 changed files with 11 additions and 10 deletions

View File

@ -27,7 +27,7 @@
if (addr >= 0x1FF000 &&
addr < 0x1FF400) { IOBuffer = ReadInput(); return IOBuffer; }
if ((addr & ~1) == 0x1FF400) return IOBuffer;
if (addr == 0x1FF402) { IOBuffer = (byte)(Cpu.IRQControlByte | (IOBuffer & 0xF8)); return IOBuffer; }
if (addr == 0x1FF402) { IOBuffer = Cpu.IRQControlByte; return IOBuffer; }
if (addr == 0x1FF403) { IOBuffer = (byte)(Cpu.ReadIrqStatus() | (IOBuffer & 0xF8)); return IOBuffer; }
}

View File

@ -27,7 +27,7 @@
if (addr >= 0x1FF000 &&
addr < 0x1FF400) { IOBuffer = ReadInput(); return IOBuffer; }
if ((addr & ~1) == 0x1FF400) return IOBuffer;
if (addr == 0x1FF402) { IOBuffer = (byte) (Cpu.IRQControlByte | (IOBuffer & 0xF8)); return IOBuffer; }
if (addr == 0x1FF402) { IOBuffer = Cpu.IRQControlByte; return IOBuffer; }
if (addr == 0x1FF403) { IOBuffer = (byte) (Cpu.ReadIrqStatus() | (IOBuffer & 0xF8)); return IOBuffer; }
}

View File

@ -30,7 +30,7 @@
if (addr >= 0x1FF000 &&
addr < 0x1FF400) { IOBuffer = ReadInput(); return IOBuffer; }
if ((addr & ~1) == 0x1FF400) return IOBuffer;
if (addr == 0x1FF402) { IOBuffer = (byte)(Cpu.IRQControlByte | (IOBuffer & 0xF8)); return IOBuffer; }
if (addr == 0x1FF402) { IOBuffer = Cpu.IRQControlByte; return IOBuffer; }
if (addr == 0x1FF403) { IOBuffer = (byte)(Cpu.ReadIrqStatus() | (IOBuffer & 0xF8)); return IOBuffer; }
}

View File

@ -25,7 +25,7 @@
if (addr >= 0x1FF000 &&
addr < 0x1FF400) { IOBuffer = ReadInput(); return IOBuffer; }
if ((addr & ~1) == 0x1FF400) return IOBuffer;
if (addr == 0x1FF402) { IOBuffer = (byte)(Cpu.IRQControlByte | (IOBuffer & 0xF8)); return IOBuffer; }
if (addr == 0x1FF402) { IOBuffer = Cpu.IRQControlByte; return IOBuffer; }
if (addr == 0x1FF403) { IOBuffer = (byte)(Cpu.ReadIrqStatus() | (IOBuffer & 0xF8)); return IOBuffer; }
if (addr >= 0x1FF800) return ReadCD(addr);
}

View File

@ -21,7 +21,7 @@
if (addr >= 0x1FF000 &&
addr < 0x1FF400) { IOBuffer = ReadInput(); return IOBuffer; }
if ((addr & ~1) == 0x1FF400) return IOBuffer;
if (addr == 0x1FF402) { IOBuffer = (byte) (Cpu.IRQControlByte | (IOBuffer & 0xF8)); return IOBuffer; }
if (addr == 0x1FF402) { IOBuffer = Cpu.IRQControlByte; return IOBuffer; }
if (addr == 0x1FF403) { IOBuffer = (byte) (Cpu.ReadIrqStatus() | (IOBuffer & 0xF8)); return IOBuffer; }
if (addr >= 0x1FF800) return ReadCD(addr);
}

View File

@ -100,6 +100,7 @@ E6CB40FD1E315B84D09100915DCABF9C Shadow of the Beast (U) PCE NeedSuperSysCard;
C8559632FE3EA3B4FBABBEF80865B36C Shape Shifter (U) PCE NeedSuperSysCard
B2FEE487FBE1CB5A81F1FAAA5C49AF0A Sim Earth PCE NeedSuperSysCard
C0DD9A7A52ACF8D98F0BA36F907C486A Snatcher PCE NeedSuperSysCard
09DE842E19F5661C6EC6071D5615F5E3 Space Fantasy Zone (Proto) PCE NeedSuperSysCard
8E352778CD8A5530761DFD4127D1BBE2 Splash Lake (U) PCE
25607EDD1F77B2C993185A8C2DBD785E Spriggan PCE
506B41BDEEB6EA6BD4AFA89C9C594BEE Spriggan Mark II PCE NeedSuperSysCard

View File

@ -24,11 +24,11 @@ CC44F8DCE3263CEEB21AA8AF2146E283 V Aero Blasters (J) [b2] PCE
CA88D88B45F4947246C9A087B1CCF072 Aero Blasters (U) [h1] PCE
B2B62BAAB5FEFAFC5DB6538720B503C3 Aero Blasters (U) PCE
6667104925D48EDF16286CF0251B8105 Aero Blasters Sounds PCE
4B8C2FDEB120050AC6EF87FCAF4F04BF V After Burner II (J) [b1] PCE
38CC562CA8AD52EA5D5979A4D7D4838F V After Burner II (J) [b2] PCE
110AD6C444CD0A4E19BDA5762E787639 V After Burner II (J) [b3] PCE
E6007D05D1E7EF57787110451496EECF V After Burner II (J) [b4] PCE
AC0CDEE014E725E428FDE5774751FF8D After Burner II (J) PCE
4B8C2FDEB120050AC6EF87FCAF4F04BF V After Burner II (J) [b1] PCE HBlankPeriod=87
38CC562CA8AD52EA5D5979A4D7D4838F V After Burner II (J) [b2] PCE HBlankPeriod=87
110AD6C444CD0A4E19BDA5762E787639 V After Burner II (J) [b3] PCE HBlankPeriod=87
E6007D05D1E7EF57787110451496EECF V After Burner II (J) [b4] PCE HBlankPeriod=87
AC0CDEE014E725E428FDE5774751FF8D After Burner II (J) PCE HBlankPeriod=87
AA4DF7A6167F0E92A7934B829B2D32F1 After Burner II Sounds PCE
CAA17E131DDD5AD01799BEB161C3216D Air Zonk (U) [h1] PCE ForceSpriteLimit
406BEC60FFCA9AC151A793969B0C10C6 Air Zonk (U) PCE ForceSpriteLimit