mirror of
https://github.com/dingusdev/dingusppc.git
synced 2025-01-11 20:29:46 +00:00
atirage: return meaningful value for GUI_STAT:GUI_FIFO.
This commit is contained in:
parent
47d2e235a3
commit
aa5ef742f6
@ -106,9 +106,11 @@ ATIRage::ATIRage(uint16_t dev_id)
|
|||||||
switch (dev_id) {
|
switch (dev_id) {
|
||||||
case ATI_RAGE_GT_DEV_ID:
|
case ATI_RAGE_GT_DEV_ID:
|
||||||
asic_id = 0x9A; // GT-B2U3 fabricated by UMC
|
asic_id = 0x9A; // GT-B2U3 fabricated by UMC
|
||||||
|
this->cmd_fifo_size = 48;
|
||||||
break;
|
break;
|
||||||
case ATI_RAGE_PRO_DEV_ID:
|
case ATI_RAGE_PRO_DEV_ID:
|
||||||
asic_id = 0x5C; // R3B/D/P-A4 fabricated by UMC
|
asic_id = 0x5C; // R3B/D/P-A4 fabricated by UMC
|
||||||
|
this->cmd_fifo_size = 128;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
asic_id = 0xDD;
|
asic_id = 0xDD;
|
||||||
@ -244,6 +246,9 @@ uint32_t ATIRage::read_reg(uint32_t reg_offset, uint32_t size) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case ATI_GUI_STAT:
|
||||||
|
result = this->cmd_fifo_size << 16; // HACK: tell the guest the command FIFO is empty
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
result = this->regs[reg_offset >> 2];
|
result = this->regs[reg_offset >> 2];
|
||||||
}
|
}
|
||||||
|
@ -84,6 +84,8 @@ private:
|
|||||||
uint32_t regs[512] = {}; // internal registers
|
uint32_t regs[512] = {}; // internal registers
|
||||||
uint8_t plls[64] = {}; // internal PLL registers
|
uint8_t plls[64] = {}; // internal PLL registers
|
||||||
|
|
||||||
|
uint8_t cmd_fifo_size = 0;
|
||||||
|
|
||||||
// Video RAM variables
|
// Video RAM variables
|
||||||
std::unique_ptr<uint8_t[]> vram_ptr;
|
std::unique_ptr<uint8_t[]> vram_ptr;
|
||||||
uint32_t vram_size;
|
uint32_t vram_size;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user