Reworked serial and LPT set up - they can now bet set to any I/O base address (though that capability is not used by anything yet);
The CD-ROM IOCTL direct pass through code now does sanity check on the requested data size before passing the command - fixes crashes with some DMA-only host DVD drives; The network poller is now in its own thread; The hack is back in the emulation of the National Semiconductors PC87306 Super I/O Chip - it's the only way right now to have serial working on that board; Fixed a part of the code that was still using NukedOPL even when OPL 3 was set to DOSBox OPL; Applied all mainline PCem commits.
This commit is contained in:
@@ -434,7 +434,7 @@ static inline int codegen_texture_fetch(uint8_t *code_block, voodoo_t *voodoo, v
|
||||
addbyte(0x0c);
|
||||
addbyte(0x82);
|
||||
|
||||
if (state->clamp_s)
|
||||
if (state->clamp_s[tmu])
|
||||
{
|
||||
addbyte(0xeb); /*JMP +*/
|
||||
addbyte(5+5+4+4);
|
||||
@@ -607,7 +607,7 @@ static inline int codegen_texture_fetch(uint8_t *code_block, voodoo_t *voodoo, v
|
||||
addbyte(0xe8);
|
||||
addbyte(0xd3); /*SHR EBX, CL*/
|
||||
addbyte(0xeb);
|
||||
if (state->clamp_s)
|
||||
if (state->clamp_s[tmu])
|
||||
{
|
||||
addbyte(0x85); /*TEST EAX, EAX*/
|
||||
addbyte(0xc0);
|
||||
@@ -634,7 +634,7 @@ static inline int codegen_texture_fetch(uint8_t *code_block, voodoo_t *voodoo, v
|
||||
addbyte(0x8e);
|
||||
addlong(offsetof(voodoo_params_t, tex_w_mask[tmu]) - 0x10);
|
||||
}
|
||||
if (state->clamp_t)
|
||||
if (state->clamp_t[tmu])
|
||||
{
|
||||
addbyte(0x85); /*TEST EBX, EBX*/
|
||||
addbyte(0xdb);
|
||||
@@ -2980,7 +2980,7 @@ static inline void voodoo_generate(uint8_t *code_block, voodoo_t *voodoo, voodoo
|
||||
addbyte(0x56);
|
||||
}
|
||||
|
||||
if (params->fbzMode & FBZ_DEPTH_WMASK)
|
||||
if ((params->fbzMode & (FBZ_DEPTH_WMASK | FBZ_DEPTH_ENABLE)) == (FBZ_DEPTH_WMASK | FBZ_DEPTH_ENABLE))
|
||||
{
|
||||
addbyte(0x66); /*MOV AX, new_depth*/
|
||||
addbyte(0x8b);
|
||||
|
||||
Reference in New Issue
Block a user