Permalink
Browse files
GBA SIO: Improve SIO Normal dummy driver (fixes #520)
- Loading branch information...
Showing
with
7 additions
and
4 deletions.
-
+1
−0
CHANGES
-
+6
−4
src/gba/sio.c
|
|
@@ -167,6 +167,7 @@ Bugfixes: |
|
|
- GB Video: Fix LYC regression
|
|
|
- Qt: Fix translation initialization (fixes mgba.io/i/776)
|
|
|
- PSP2: Use custom localtime_r since newlib version is broken (fixes mgba.io/i/560)
|
|
|
+ - GBA SIO: Improve SIO Normal dummy driver (fixes mgba.io/i/520)
|
|
|
Misc:
|
|
|
- Qt: Add language selector
|
|
|
- GBA Timer: Improve accuracy of timers
|
|
|
|
|
|
@@ -155,11 +155,13 @@ void GBASIOWriteSIOCNT(struct GBASIO* sio, uint16_t value) { |
|
|
case SIO_NORMAL_8:
|
|
|
case SIO_NORMAL_32:
|
|
|
value |= 0x0004;
|
|
|
- if ((value & 0x4080) == 0x4080) {
|
|
|
- // TODO: Test this on hardware to see if this is correct
|
|
|
- GBARaiseIRQ(sio->p, IRQ_SIO);
|
|
|
+ if ((value & 0x0081) == 0x0081) {
|
|
|
+ if (value & 0x4000) {
|
|
|
+ // TODO: Test this on hardware to see if this is correct
|
|
|
+ GBARaiseIRQ(sio->p, IRQ_SIO);
|
|
|
+ }
|
|
|
+ value &= ~0x0080;
|
|
|
}
|
|
|
- value &= ~0x0080;
|
|
|
break;
|
|
|
default:
|
|
|
// TODO
|
|
|
|
0 comments on commit
ed9fa2b