mirror of
https://github.com/RetroDECK/Supermodel.git
synced 2024-11-22 05:45:38 +00:00
First 4MB of VROM maps to polygon RAM
Daytona 2 PE replaces unused Dreamcast logo textures by filling in zeroed data from polygon RAM. Before we were reading from the first 4MB of VROM which is filled with 0xFF values, resulting in the replaced textures incorrectly becoming white and opaque.
This commit is contained in:
parent
5fa402f2f5
commit
aeaa602093
|
@ -715,7 +715,13 @@ void CReal3D::WriteTexturePort(unsigned reg, uint32_t data)
|
||||||
{
|
{
|
||||||
uint32_t addr = m_vromTextureFIFO[0];
|
uint32_t addr = m_vromTextureFIFO[0];
|
||||||
uint32_t header = m_vromTextureFIFO[1];
|
uint32_t header = m_vromTextureFIFO[1];
|
||||||
UploadTexture(header, (const uint16_t *) &vrom[addr & 0xFFFFFF]);
|
|
||||||
|
// first 4 MB maps to polygon RAM rather than VROM
|
||||||
|
// Daytona 2 PE uses zeroed data to replace unused Dreamcast logo textures
|
||||||
|
if (addr < 0x100000)
|
||||||
|
UploadTexture(header, (const uint16_t*)&polyRAM[addr & 0xFFFFFF]);
|
||||||
|
else
|
||||||
|
UploadTexture(header, (const uint16_t*)&vrom[addr & 0xFFFFFF]);
|
||||||
m_vromTextureFIFOIdx = 0;
|
m_vromTextureFIFOIdx = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue