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:
@@ -227,8 +227,8 @@ static inline int codegen_texture_fetch(uint8_t *code_block, voodoo_t *voodoo, v
|
||||
addbyte(0x8b); /*MOV ECX, [ECX+EAX*4]*/
|
||||
addbyte(0x0c);
|
||||
addbyte(0x81);
|
||||
addbyte(0xbd); /*MOV EBP, 1*/
|
||||
addlong(1);
|
||||
addbyte(0xbd); /*MOV EBP, 8*/
|
||||
addlong(8);
|
||||
addbyte(0x28); /*SUB DL, CL*/
|
||||
addbyte(0xca);
|
||||
addbyte(0xd3); /*SHL EBP, CL*/
|
||||
@@ -236,9 +236,6 @@ static inline int codegen_texture_fetch(uint8_t *code_block, voodoo_t *voodoo, v
|
||||
addbyte(0x8b); /*MOV EAX, state->tex_s[EDI]*/
|
||||
addbyte(0x87);
|
||||
addlong(offsetof(voodoo_state_t, tex_s));
|
||||
addbyte(0xc1); /*SHL EBP, 3*/
|
||||
addbyte(0xe5);
|
||||
addbyte(3);
|
||||
addbyte(0x8b); /*MOV EBX, state->tex_t[EDI]*/
|
||||
addbyte(0x9f);
|
||||
addlong(offsetof(voodoo_state_t, tex_t));
|
||||
@@ -416,7 +413,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);
|
||||
@@ -2972,7 +2969,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