diff --git a/src/vid_nv_riva128.c b/src/vid_nv_riva128.c index 40c1d6922..c2a19fe4a 100644 --- a/src/vid_nv_riva128.c +++ b/src/vid_nv_riva128.c @@ -1313,8 +1313,11 @@ static uint8_t riva128_mmio_read(uint32_t addr, void *p) case 0x101000 ... 0x101fff: ret = riva128_pextdev_read(addr, riva128); break; + case 0x110000 ... 0x11ffff: + if(riva128->card_id == 0x03) ret = riva128->bios_rom.rom[addr & riva128->bios_rom.mask]; + break; case 0x300000 ... 0x30ffff: - ret = riva128->bios_rom.rom[addr & riva128->bios_rom.mask]; + if(riva128->card_id >= 0x04) ret = riva128->bios_rom.rom[addr & riva128->bios_rom.mask]; break; case 0x6013b4 ... 0x6013b5: case 0x6013d4 ... 0x6013d5: case 0x0c03c2 ... 0x0c03c5: case 0x0c03cc ... 0x0c03cf: ret = riva128_in(addr & 0xfff, riva128);