mirror of
https://github.com/mattrberry/crab.git
synced 2024-11-16 19:49:30 +01:00
cleanup mmio range checks a little bit..
This commit is contained in:
parent
9f65505731
commit
50dc14eddb
1 changed files with 8 additions and 8 deletions
|
@ -24,11 +24,11 @@ class MMIO
|
||||||
@gba.ppu.read_io io_addr
|
@gba.ppu.read_io io_addr
|
||||||
elsif io_addr <= 0xAF
|
elsif io_addr <= 0xAF
|
||||||
@gba.apu.read_io io_addr
|
@gba.apu.read_io io_addr
|
||||||
elsif (io_addr >= 0x200 && io_addr <= 0x203) || (io_addr >= 0x208 && io_addr <= 0x209)
|
elsif 0x130 <= io_addr <= 0x133
|
||||||
@gba.interrupts.read_io io_addr
|
|
||||||
elsif io_addr >= 0x130 && io_addr <= 0x133
|
|
||||||
@gba.keypad.read_io io_addr
|
@gba.keypad.read_io io_addr
|
||||||
elsif io_addr >= 0x204 && io_addr <= 0x205
|
elsif 0x200 <= io_addr <= 0x203 || 0x208 <= io_addr <= 0x209
|
||||||
|
@gba.interrupts.read_io io_addr
|
||||||
|
elsif 0x204 <= io_addr <= 0x205
|
||||||
(@waitcnt.value >> (8 * (io_addr & 1))).to_u8!
|
(@waitcnt.value >> (8 * (io_addr & 1))).to_u8!
|
||||||
elsif not_used? io_addr
|
elsif not_used? io_addr
|
||||||
0xFF_u8 # todo what is returned here?
|
0xFF_u8 # todo what is returned here?
|
||||||
|
@ -44,11 +44,11 @@ class MMIO
|
||||||
@gba.ppu.write_io io_addr, value
|
@gba.ppu.write_io io_addr, value
|
||||||
elsif io_addr <= 0xAF
|
elsif io_addr <= 0xAF
|
||||||
@gba.apu.write_io io_addr, value
|
@gba.apu.write_io io_addr, value
|
||||||
elsif (io_addr >= 0x200 && io_addr <= 0x203) || (io_addr >= 0x208 && io_addr <= 0x209)
|
elsif 0x130 <= io_addr <= 0x133
|
||||||
@gba.interrupts.write_io io_addr, value
|
|
||||||
elsif io_addr >= 0x130 && io_addr <= 0x133
|
|
||||||
@gba.keypad.read_io io_addr
|
@gba.keypad.read_io io_addr
|
||||||
elsif io_addr >= 0x204 && io_addr <= 0x205
|
elsif 0x200 <= io_addr <= 0x203 || 0x208 <= io_addr <= 0x209
|
||||||
|
@gba.interrupts.write_io io_addr, value
|
||||||
|
elsif 0x204 <= io_addr <= 0x205
|
||||||
shift = 8 * (io_addr & 1)
|
shift = 8 * (io_addr & 1)
|
||||||
mask = 0xFF00_u16 >> shift
|
mask = 0xFF00_u16 >> shift
|
||||||
@waitcnt.value = (@waitcnt.value & mask) | value.to_u16 << shift
|
@waitcnt.value = (@waitcnt.value & mask) | value.to_u16 << shift
|
||||||
|
|
Loading…
Reference in a new issue