diff --git a/OSBindings/Mac/Clock SignalTests/IIgsMemoryMapTests.mm b/OSBindings/Mac/Clock SignalTests/IIgsMemoryMapTests.mm index 80c83268f..61ed20f9c 100644 --- a/OSBindings/Mac/Clock SignalTests/IIgsMemoryMapTests.mm +++ b/OSBindings/Mac/Clock SignalTests/IIgsMemoryMapTests.mm @@ -391,6 +391,25 @@ namespace { } shouldBeShadowed ^= true; } + + // Test IO regions. + bool shouldBeIO = false; + logical = 0; + for(NSNumber *next in test[@"io"]) { + while(logical < [next intValue]) { + const auto ®ion = + self->_memoryMap.regions[self->_memoryMap.region_map[logical]]; + const bool isIO = region.flags & MemoryMap::Region::IsIO; + + XCTAssertEqual( + isIO, + shouldBeIO, + @"Logical page %04x %@ marked as IO", logical, shouldBeIO ? @"should be" : @"should not be"); + + ++logical; + } + shouldBeIO ^= true; + } }]; }