Permalink
Browse files

GBA SIO: Improve SIO Normal dummy driver (fixes #520)

  • Loading branch information...
endrift committed Jul 8, 2017
1 parent 6fcd3bd commit 2c30b661ffdbfafbef2a3e99a3112b3741ad1153
Showing with 7 additions and 4 deletions.
  1. +1 −0 CHANGES
  2. +6 −4 src/gba/sio.c
View
@@ -163,6 +163,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
View
@@ -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 2c30b66

Please sign in to comment.