Half-Life 1 (Classic) initializes on Qemu; 0.3.4SVN

Here you can discuss ReactOS related topics.

Moderator: Moderator Team

Geoz
Posts: 19
Joined: Mon Oct 22, 2007 10:20 am

Half-Life 1 (Classic) initializes on Qemu; 0.3.4SVN

Post by Geoz »

Half-Life 1 (Classic) initializes on Qemu; 0.3.4SVN


Wow the devs have made some serious headway!

Don’t get too excited, the game doesn’t actually load,

Edit: Yes it does, as of 0.3.4REL

Edit2: Mods such as Counter-Strike now run

Edit3: Mods such as cstrike now play LAN and WAN



(Tested on VMware Server 1.0.4)



but when you put it in perspective when simply having hl.exe on ROS would be enough to BSOD when I first tried it! (0.2.8)


Now the game boots (BSOD on install but boots if you manually install the required files)


However the graphics are garbled, to be expected however for Alpha stage and lack of drivers though.


Pictures:

[ external image ]

When you initially load hl.exe ^

[ external image ]

CD Serial :) ^^

[ external image ]

First error ^^

[ external image ]

Second error ^^ (same one appears twice, which means it’s probably the ‘Sierra’ and ‘Valve’ intro scenes that don’t appear on ROS.)

[ external image ]

^^ Game jumps straight into the main menu, which as you can see if graphically messed up.

[ external image ]

^^ Selecting ‘new game.’

[ external image ]


^^ Game never actually loads, once you select difficulty, it closes down and this appears, after clicking ‘OK’ (one on the left) on this pictured window it closes down to the desktop ad infinitum.

Much more stable then before, not a single BSOD.

Does anyone know why the graphics are garbled? Am I doing something wrong? (Other than trying to play a game on an Alpha OS :D )

One other thing I noticed however, in ‘regedit’ the ‘Software’ key is “SOFTWARE” in all caps, does this make a difference? Wouldn’t it lead to incompatibilities? Because on 2k & XP (I don’t know about Vista) only the ‘S’ is capitalized.

E.g:

Windows XP:

Code: Select all

[HKEY_CURRENT_USER\Software\Valve\Half-Life\Settings]
ROS:

Code: Select all

[HKEY_CURRENT_USER\SOFTWARE\Valve\Half-Life\Settings]
Thought I'd share this with you.
Last edited by Geoz on Sun Jun 08, 2008 4:04 pm, edited 3 times in total.
User avatar
betaluva
Posts: 424
Joined: Tue Dec 14, 2004 1:33 am
Location: Australia
Contact:

Post by betaluva »

quake 2 works just fine, i know its not half-life but its still fun to play. :wink:
nicekiwi9
Posts: 24
Joined: Wed Aug 16, 2006 2:16 am

Post by nicekiwi9 »

:D Thats awesome!
Haos
Test Team
Posts: 2954
Joined: Thu Mar 22, 2007 5:42 am
Contact:

Post by Haos »

Geoz, this is a fine piece of job you have done. All i can suggest is to use DBG version and to save the debug log out of QEMU VM serial port. We would then know what raster operation HL needs, also the game itself doesnt start. If you would have problems setting it up, please let us know.
eXile
Posts: 59
Joined: Sun Jul 09, 2006 6:39 pm

Post by eXile »

Hi,

IMHO the first error is directly caused by ReactOS (incomplete or in another way behaving) DirectDraw implementation, whereas the second error is caused by the non-implemented audio-playback from CD (it looks like Half-Life wants to play the main music theme from the CD).

On the other side, I think that Half-Life uses GDI for the rendering of the main menu, but I could be wrong at this point.

Cheers,
eXile.
Geoz
Posts: 19
Joined: Mon Oct 22, 2007 10:20 am

Post by Geoz »

Haos wrote:Geoz, this is a fine piece of job you have done. All i can suggest is to use DBG version and to save the debug log out of QEMU VM serial port. We would then know what raster operation HL needs, also the game itself doesnt start. If you would have problems setting it up, please let us know.

Heh, thanks man, I'll do that as soon as I can get some free time, I'm sure the instructions are somewhere in the wiki, unfortunately I'm snowed under with work right now :( if i get stuck I'll try get some help here or #IRC.

eXile wrote:Hi,

IMHO the first error is directly caused by ReactOS (incomplete or in another way behaving) DirectDraw implementation, whereas the second error is caused by the non-implemented audio-playback from CD (it looks like Half-Life wants to play the main music theme from the CD).

On the other side, I think that Half-Life uses GDI for the rendering of the main menu, but I could be wrong at this point.

Cheers,
eXile.

Hi, I'm thinking that too - searching the error online brings up a support forum that suggests graphics card drivers, however I'm no expert on that, one of the reasons i tried HL in the first place was because it didn't need a graphics card, I remember by old 266Mhz Pentium box ran it on 'software' without any hardware support at all.

Which brings me to another question, am I supposed install any drivers on ROS? I know that QEMU emulates some sort of graphics card/system but I never gave it a thought initially. (maybe I should have!) Should I be installing anything else?

About the GDI, yeah, Half-Life has two video introductions that I mentioned before;
Can be seen here;

Code: Select all

http://youtube.com/watch?v=oGwMZp5AtiQ
+

Code: Select all

http://youtube.com/watch?v=XNgA636y4MY
Which would explain why the errors appear consecutively, as they try to play one after the other.

AFAIK Half-Life only uses the CD for music in game only if it happens to be in the drive.
FlyingIsFun1217
Posts: 475
Joined: Sun Jun 10, 2007 3:56 am

Post by FlyingIsFun1217 »

betaluva wrote:quake 2 works just fine, i know its not half-life but its still fun to play. :wink:
In terms of compatibility, your comparing apples and oranges (DirectX to OpenGL)

FlyingIsFun1217
.aart3k
Posts: 339
Joined: Sat Apr 01, 2006 11:21 am

Post by .aart3k »

hmm.. then our apples work on top of oranges...
User avatar
betaluva
Posts: 424
Joined: Tue Dec 14, 2004 1:33 am
Location: Australia
Contact:

Post by betaluva »

lol :lol:
FlyingIsFun1217
Posts: 475
Joined: Sun Jun 10, 2007 3:56 am

Post by FlyingIsFun1217 »

That's a good one, I like that.

FlyingIsFun1217
Geoz
Posts: 19
Joined: Mon Oct 22, 2007 10:20 am

Post by Geoz »

Debug Log:

Code: Select all

(ntoskrnl/kd/kdio.c:191) -----------------------------------------------------
(ntoskrnl/kd/kdio.c:192) ReactOS 0.4-SVN (Build 20071227-r31471)
(ntoskrnl/kd/kdio.c:193) Command Line: DEBUG  DEBUGPORT=COM1  BAUDRATE=115200  SOS
(ntoskrnl/kd/kdio.c:194) ARC Paths: multi(0)disk(0)rdisk(0)partition(1) \ multi(0)disk(0)rdisk(0)partition(1) \ReactOS\
Used memory 131008Kb
(ntoskrnl/ke/i386/kiinit.c:47) Large Page support detected but not yet taken advantage of!
WARNING:  KdDebuggerInitialize1 at drivers/base/kdcom/kdbg.c:481 is UNIMPLEMENTED!
(ntoskrnl/io/iomgr/driver.c:1321) '\Driver\BUSLOGIC' initialization failed, status (0xc00000c0)
WARNING:  IoReportResourceUsage at ntoskrnl/io/iomgr/iorsrce.c:701 is UNIMPLEMENTED!
WARNING:  IoReportResourceUsage at ntoskrnl/io/iomgr/iorsrce.c:701 is UNIMPLEMENTED!
(ntoskrnl/io/pnpmgr/pnpmgr.c:2509) IopLoadServiceModule(i8042prt) failed with status 0xc000003a
(ntoskrnl/io/pnpmgr/pnpmgr.c:2509) IopLoadServiceModule(serial) failed with status 0xc000003a
(drivers/bus/pci/fdo.c:409) No bus number resource found (bug in acpi.sys?), assuming bus number #0
(ntoskrnl/io/pnpmgr/pnpmgr.c:2509) IopLoadServiceModule(ne2000) failed with status 0xc000003a
(ntoskrnl/io/pnpmgr/pnpmgr.c:2509) IopLoadServiceModule(VBE) failed with status 0xc000003a
(ntoskrnl/io/pnpmgr/pnpmgr.c:2509) IopLoadServiceModule(usbuhci) failed with status 0xc000003a
(ntoskrnl/io/iomgr/driver.c:1321) '\Driver\Floppy' initialization failed, status (0xc000000e)
WARNING:  MmPageEntireDriver at ntoskrnl/mm/drvlck.c:89 is UNIMPLEMENTED!
WARNING:  MmPageEntireDriver at ntoskrnl/mm/drvlck.c:89 is UNIMPLEMENTED!
WARNING:  MmPageEntireDriver at ntoskrnl/mm/drvlck.c:89 is UNIMPLEMENTED!
(drivers/network/ndis/ndis/protocol.c:575)(NdisOpenAdapter) Adapter not found.
(drivers/network/ndis/ndis/protocol.c:575)(NdisOpenAdapter) Adapter not found.
(drivers/network/ndis/ndis/protocol.c:575)(NdisOpenAdapter) Adapter not found.
(drivers/network/ndis/ndis/protocol.c:575)(NdisOpenAdapter) Adapter not found.
(drivers/network/ndis/ndis/protocol.c:575)(NdisOpenAdapter) Adapter not found.
(drivers/network/ndis/ndis/protocol.c:575)(NdisOpenAdapter) Adapter not found.
(drivers/network/ndis/ndis/protocol.c:575)(NdisOpenAdapter) Adapter not found.
(ntoskrnl/io/iomgr/file.c:414) Using IopParseDevice() hack
WARNING:  VfatChkdsk at lib/fslib/vfatlib/vfatlib.c:215 is UNIMPLEMENTED!
(subsystems/win32/win32k/objects/dc.c:441) No suitable DDI driver found
(base/services/umpnpmgr/umpnpmgr.c:1539) DevInstallW('HTREE\ROOT\0') failed
err:(dll/win32/setupapi/queue.c:1552) copy error 2 L"C:\\ReactOS\\inf\\i8042prt.sys" -> L"C:\\ReactOS\\System32\\drivers\\i8042prt.sys"
err:(dll/win32/setupapi/queue.c:1552) copy error 2 L"C:\\ReactOS\\inf\\kbdclass.sys" -> L"C:\\ReactOS\\System32\\drivers\\kbdclass.sys"
(subsystems/win32/win32k/ntuser/desktop.c:610) RtlQueryRegistryValues failed for PaintDesktopVersion (c0000034)
err:(base/system/winlogon/screensaver.c:86) ImpersonateLoggedOnUser() failed with error 5
(ntoskrnl/se/semgr.c:1158) Denying access for caller: granted 0x600e8, desired 0xf01ff (generic mapping 812292F8)
unknown Exception: 0x80004005
Context: WinMain()
Location: base/shell/explorer/utility/shellclasses.h:986
Context Trace:
- WinMain()
- main

err:(dll/win32/shell32/classes.c:451) HCR_GetFolderAttributes should be called for simple PIDL's only!
(subsystems/win32/win32k/ntuser/class.c:2255) Tried to get information of a non-existing class "SHELLDLL_DefView" process 0x000001B0 init: 0x1
err:(dll/win32/setupapi/queue.c:1552) copy error 2 L"C:\\ReactOS\\inf\\ne2000.sys" -> L"C:\\ReactOS\\System32\\drivers\\ne2000.sys"
Using shell hooks for notification of shell events.
(subsystems/win32/win32k/ntuser/hook.c:593) Not implemented: HookId 3 Global TRUE
err:(dll/win32/shell32/classes.c:451) HCR_GetFolderAttributes should be called for simple PIDL's only!
err:(dll/win32/shell32/classes.c:451) HCR_GetFolderAttributes should be called for simple PIDL's only!
err:(dll/win32/shell32/classes.c:451) HCR_GetFolderAttributes should be called for simple PIDL's only!
err:(dll/win32/shell32/classes.c:451) HCR_GetFolderAttributes should be called for simple PIDL's only!
err:(dll/win32/shell32/classes.c:451) HCR_GetFolderAttributes should be called for simple PIDL's only!
err:(dll/win32/setupapi/queue.c:1552) copy error 2 L"C:\\ReactOS\\inf\\vgamp.sys" -> L"C:\\ReactOS\\System32\\drivers\\vgamp.sys"
err:(dll/win32/setupapi/queue.c:1552) copy error 2 L"C:\\ReactOS\\inf\\vbemp.sys" -> L"C:\\ReactOS\\System32\\drivers\\vbemp.sys"
err:(dll/win32/setupapi/queue.c:1552) copy error 2 L"C:\\ReactOS\\inf\\vgaddi.dll" -> L"C:\\ReactOS\\System32\\vgaddi.dll"
err:(dll/win32/setupapi/queue.c:1552) copy error 2 L"C:\\ReactOS\\inf\\framebuf.dll" -> L"C:\\ReactOS\\System32\\framebuf.dll"
(dll/cpl/desk/classinst.c:190) RegCreateKeyEx() failed
(base/services/umpnpmgr/umpnpmgr.c:1539) DevInstallW('PCI\VEN_1013&DEV_00B8&SUBSYS_00000000&REV_00\1&f103bba4&02') failed
err:(dll/win32/setupapi/queue.c:1552) copy error 2 L"C:\\ReactOS\\inf\\usbport.sys" -> L"C:\\ReactOS\\System32\\drivers\\usbport.sys"
err:(dll/win32/setupapi/queue.c:1552) copy error 2 L"C:\\ReactOS\\inf\\usbuhci.sys" -> L"C:\\ReactOS\\System32\\drivers\\usbuhci.sys"
(ntoskrnl/io/pnpmgr/pnpmgr.c:2509) IopLoadServiceModule(usbuhci) failed with status 0xc0000034
err:(dll/win32/setupapi/queue.c:1552) copy error 2 L"C:\\ReactOS\\inf\\isapnp.sys" -> L"C:\\ReactOS\\System32\\drivers\\isapnp.sys"
MainFrameBase::OpenShellFolders(): parent_pidl=C:\Documents and Settings\Administrator\Desktop
MainFrameBase::OpenShellFolders(): pidl_abs=<NULL>
fixme:(dll/win32/shell32/shlview.c:1560) LVN_KEYDOWN key=0x0000000d
MainFrameBase::OpenShellFolders(): parent_pidl=<NULL>
MainFrameBase::OpenShellFolders(): pidl_abs=D:\
MDIMainFrame PM_OPEN_WINDOW: path=D:\
fixme:(dll/win32/shell32/shlview.c:1560) LVN_KEYDOWN key=0x0000000d
MainFrameBase::OpenShellFolders(): parent_pidl=<NULL>
MainFrameBase::OpenShellFolders(): pidl_abs=D:\
MDIMainFrame PM_OPEN_WINDOW: path=D:\
fixme:(dll/win32/shell32/shlview.c:1560) LVN_KEYDOWN key=0x0000000d
MainFrameBase::OpenShellFolders(): parent_pidl=D:\
err:(dll/win32/shell32/classes.c:451) HCR_GetFolderAttributes should be called for simple PIDL's only!
fixme:(dll/win32/shell32/shlexec.c:1373) flags ignored: 0x0000000c
(dll/ntdll/ldr/utils.c:2090) Relocating (10000000 -> 00750000) D:\WONAu_W95.dll
(dll/ntdll/ldr/utils.c:2090) Relocating (10000000 -> 007DB000) D:\WONCr_W95.dll
Enter Function DllMain (dll/directx/ddraw/main.c:441)
(subsystems/win32/win32k/ntuser/hook.c:593) Not implemented: HookId -1 Global FALSE
(dll/ntdll/ldr/utils.c:2090) Relocating (10000000 -> 00531000) D:\HL_Res.dll
(lib/cmlib/hivewrt.c:26) FIXME: HvpWriteLog doesn't do anything atm
WARNING:  MmLockPagableSectionByHandle at ntoskrnl/mm/drvlck.c:44 is UNIMPLEMENTED!
WARNING:  MmUnlockPagableImageSection at ntoskrnl/mm/drvlck.c:80 is UNIMPLEMENTED!
(subsystems/win32/win32k/ntuser/class.c:2255) Tried to get information of a non-existing class "HalfLifeLauncher" process 0x000002B4 init: 0x1
(dll/ntdll/ldr/utils.c:2030) Failed to create or open dll section of 'glide2x.dll' (Status c0000135)
(subsystems/win32/win32k/ntuser/class.c:2255) Tried to get information of a non-existing class "ODBorderlessEdit" process 0x000002B4 init: 0x1
(subsystems/win32/win32k/ntuser/clipboard.c:929) Data stored
(subsystems/win32/win32k/ntuser/clipboard.c:929) Data stored
(subsystems/win32/win32k/ntuser/clipboard.c:929) Data stored
(subsystems/win32/win32k/ntuser/timer.c:157) Unable to locate timer in message queue
(subsystems/win32/win32k/ntuser/timer.c:92) Invalid window handle
fixme:(dll/win32/shell32/shlexec.c:1373) flags ignored: 0x00000004
(subsystems/win32/win32k/ntuser/clipboard.c:929) Data stored
(subsystems/win32/win32k/ntuser/timer.c:157) Unable to locate timer in message queue
Enter Function DirectDrawCreate (dll/directx/ddraw/main.c:101)
Enter Function Create_DirectDraw (dll/directx/ddraw/startup.c:27)
fixme:(dll/win32/winmm/mci.c:903) Couldn't load driver for type L"CDAUDIO".
If you don't have a windows installation accessible from Wine,
you perhaps forgot to create a [mci] section in system.ini
Function Create_DirectDraw 1. no linking
 (dll/directx/ddraw/startup.c:43)
Enter Function Main_DirectDraw_AddRef (dll/directx/ddraw/Ddraw/ddraw_main.c:142)
Function Create_DirectDraw Got iface
 (dll/directx/ddraw/startup.c:138)
Enter Function StartDirectDraw (dll/directx/ddraw/startup.c:179)
Enter Function StartDirectDrawHal (dll/directx/ddraw/startup.c:452)
(ntoskrnl/mm/sysldr.c:192) 1 imports not dereferenced!
(ntoskrnl/mm/sysldr.c:195) \SystemRoot\System32\drivers\dxgthk.sys <dxgthk.sys>
(subsystems/win32/win32k/ldr/loader.c:228) ZwSetSystemInformation failed with Status 0xc0000263
(subsystems/win32/win32k/ntddraw/ddraw.c:58) Warning: dxg.sys not found
(subsystems/win32/win32k/ntddraw/ddraw.c:139) Warning : Failed to create the directx interface
(subsystems/win32/win32k/ntuser/hook.c:593) Not implemented: HookId 2 Global FALSE
Enter Function DirectDrawEnumerateA (dll/directx/ddraw/main.c:191)
Enter Function DirectDrawEnumerateExA (dll/directx/ddraw/main.c:226)
Enter Function Main_DirectDraw_SetCooperativeLevel (dll/directx/ddraw/Ddraw/ddraw_setcooperativelevel.c:22)
Enter Function Main_DirectDraw_SetCooperativeLevel (dll/directx/ddraw/Ddraw/ddraw_setcooperativelevel.c:22)
Enter Function DirectDrawEnumerateA (dll/directx/ddraw/main.c:191)
Enter Function DirectDrawEnumerateExA (dll/directx/ddraw/main.c:226)
Enter Function Main_DirectDraw_SetCooperativeLevel (dll/directx/ddraw/Ddraw/ddraw_setcooperativelevel.c:22)
Enter Function Main_DirectDraw_SetCooperativeLevel (dll/directx/ddraw/Ddraw/ddraw_setcooperativelevel.c:22)
Enter Function Main_DirectDraw_SetDisplayMode (dll/directx/ddraw/Ddraw/ddraw_displaymode.c:216)
Enter Function Main_DirectDraw_SetDisplayMode2 (dll/directx/ddraw/Ddraw/ddraw_displaymode.c:226)
Setmode have been req width=640, height=480 bpp=16 freq = 0
(subsystems/win32/win32k/objects/dc.c:3141) display flags : 4
(subsystems/win32/win32k/objects/dc.c:3181) flag CDS_FULLSCREEN partially implemented
(subsystems/win32/win32k/objects/dc.c:3190) Req Mode     : 640 x 480 x 16
(subsystems/win32/win32k/objects/dc.c:3191) Current Mode : 800 x 600 x 16
Enter Function Main_DirectDraw_FlipToGDISurface (dll/directx/ddraw/Ddraw/ddraw_stubs.c:74)
Function Main_DirectDraw_FlipToGDISurface is not implemented yet (dll/directx/ddraw/Ddraw/ddraw_stubs.c:75)
fixme:(dll/win32/winmm/mci.c:903) Couldn't load driver for type L"AVIVIDEO".
If you don't have a windows installation accessible from Wine,
you perhaps forgot to create a [mci] section in system.ini
(lib/rtl/heap.c:940) Heap 00650000: invalid in-use arena magic for 007281A8
fixme:(dll/win32/winmm/mci.c:903) Couldn't load driver for type L"AVIVIDEO".
If you don't have a windows installation accessible from Wine,
you perhaps forgot to create a [mci] section in system.ini
(lib/rtl/heap.c:925) Heap 00650000: unaligned arena pointer 03D901D6
fixme:(dll/win32/user32/misc/stubs.c:93) LockWindowUpdate is UNIMPLEMENTED!
fixme:(dll/win32/user32/misc/stubs.c:93) LockWindowUpdate is UNIMPLEMENTED!
Enter Function Main_DirectDraw_SetDisplayMode (dll/directx/ddraw/Ddraw/ddraw_displaymode.c:216)
Enter Function Main_DirectDraw_SetDisplayMode2 (dll/directx/ddraw/Ddraw/ddraw_displaymode.c:226)
Setmode have been req width=640, height=480 bpp=16 freq = 0
(subsystems/win32/win32k/objects/dc.c:3141) display flags : 4
(subsystems/win32/win32k/objects/dc.c:3181) flag CDS_FULLSCREEN partially implemented
(subsystems/win32/win32k/objects/dc.c:3190) Req Mode     : 640 x 480 x 16
(subsystems/win32/win32k/objects/dc.c:3191) Current Mode : 800 x 600 x 16
Enter Function Main_DirectDraw_FlipToGDISurface (dll/directx/ddraw/Ddraw/ddraw_stubs.c:74)
fixme:(dll/win32/user32/misc/stubs.c:93) LockWindowUpdate is UNIMPLEMENTED!
fixme:(dll/win32/user32/misc/stubs.c:93) LockWindowUpdate is UNIMPLEMENTED!
(dll/ntdll/ldr/utils.c:2090) Relocating (10000000 -> 03EB1000) D:\sw.dll
Enter Function Main_DirectDraw_SetDisplayMode (dll/directx/ddraw/Ddraw/ddraw_displaymode.c:216)
Enter Function Main_DirectDraw_SetDisplayMode2 (dll/directx/ddraw/Ddraw/ddraw_displaymode.c:226)
Setmode have been req width=320, height=240 bpp=16 freq = 0
(subsystems/win32/win32k/objects/dc.c:3141) display flags : 4
(subsystems/win32/win32k/objects/dc.c:3181) flag CDS_FULLSCREEN partially implemented
(subsystems/win32/win32k/objects/dc.c:3190) Req Mode     : 320 x 240 x 16
(subsystems/win32/win32k/objects/dc.c:3191) Current Mode : 800 x 600 x 16
Enter Function Main_DirectDraw_FlipToGDISurface (dll/directx/ddraw/Ddraw/ddraw_stubs.c:74)
Enter Function Main_DirectDraw_SetCooperativeLevel (dll/directx/ddraw/Ddraw/ddraw_setcooperativelevel.c:22)
Enter Function Main_DirectDraw_CreateSurface (dll/directx/ddraw/Ddraw/ddraw_main.c:442)
(subsystems/win32/win32k/ntuser/timer.c:157) Unable to locate timer in message queue
Geoz
Posts: 19
Joined: Mon Oct 22, 2007 10:20 am

Post by Geoz »

Last edited by Geoz on Tue Jan 01, 2008 5:55 pm, edited 1 time in total.
FlyingIsFun1217
Posts: 475
Joined: Sun Jun 10, 2007 3:56 am

Post by FlyingIsFun1217 »

Very nice!

Hopefully we'll get a heck of a lot of progress in the next steps to 0.5 on ReactX, and it'll keep progressing.

FlyingIsFun1217
cmoibenlepro
Posts: 483
Joined: Tue Nov 30, 2004 5:44 pm
Location: Canada

Post by cmoibenlepro »

:shock:
GREAT!
Geoz
Posts: 19
Joined: Mon Oct 22, 2007 10:20 am

Post by Geoz »

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot], Bing [Bot], Semrush [Bot] and 2 guests