Return correct segment for VESA information.
Check oem number/version flag first and after that overwrite condition code.
This commit is contained in:
parent
0114f775dd
commit
31f35146b9
|
@ -607,8 +607,8 @@ INT10_HEAP *INT10_GetHeap( void )
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
heap_pointer = DOSVM_AllocDataUMB( sizeof(INT10_HEAP),
|
heap_pointer = DOSVM_AllocDataUMB( sizeof(INT10_HEAP),
|
||||||
0,
|
&segment,
|
||||||
&segment );
|
0 );
|
||||||
|
|
||||||
for (i = 0; i < 7; i++)
|
for (i = 0; i < 7; i++)
|
||||||
heap_pointer->StaticModeSupport[i] = 0xff; /* FIXME */
|
heap_pointer->StaticModeSupport[i] = 0xff; /* FIXME */
|
||||||
|
|
|
@ -1585,15 +1585,15 @@ void WINAPI DOSVM_Int21Handler( CONTEXT86 *context )
|
||||||
TRACE( "GET DOS VERSION - %s requested\n",
|
TRACE( "GET DOS VERSION - %s requested\n",
|
||||||
(AL_reg(context) == 0x00) ? "OEM number" : "version flag" );
|
(AL_reg(context) == 0x00) ? "OEM number" : "version flag" );
|
||||||
|
|
||||||
SET_AL( context, HIBYTE(HIWORD(GetVersion16())) ); /* major version */
|
|
||||||
SET_AH( context, LOBYTE(HIWORD(GetVersion16())) ); /* minor version */
|
|
||||||
|
|
||||||
if (AL_reg(context) == 0x00)
|
if (AL_reg(context) == 0x00)
|
||||||
SET_BH( context, 0xff ); /* OEM number => undefined */
|
SET_BH( context, 0xff ); /* OEM number => undefined */
|
||||||
else
|
else
|
||||||
SET_BH( context, 0x08 ); /* version flag => DOS is in ROM */
|
SET_BH( context, 0x08 ); /* version flag => DOS is in ROM */
|
||||||
|
|
||||||
SET_BL( context, 0x12 ); /* 0x123456 is Wine's serial # */
|
SET_AL( context, HIBYTE(HIWORD(GetVersion16())) ); /* major version */
|
||||||
|
SET_AH( context, LOBYTE(HIWORD(GetVersion16())) ); /* minor version */
|
||||||
|
|
||||||
|
SET_BL( context, 0x12 ); /* 0x123456 is 24-bit Wine's serial # */
|
||||||
SET_CX( context, 0x3456 );
|
SET_CX( context, 0x3456 );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue