VOGONS


First post, by Estel Randir

User metadata
Rank Newbie
Rank
Newbie

These releases are windows versions released I think in 2000. I am trying to get them to run on Windows 11 Pro, butI simply cannot get them to run correctly. The executable will run, the game sound pulls up, I can escape through some intro (I can hear it change), but the screen is black. I have tried various Windows compatibility modes, Dxwind, dgvoodoo2 in both full screen & window mode using directx and glide in both x32 & x64 drivers. Nothing seems to work. I think these are directx 7.0 games. There is a folder in the install directory named "directx7" with dxsetup.exe & directx.cab files in it. But i do not want to try to install that for fear of adding yet another old set of legacy drivers on my computer. I already have too many now.

Anyone have suggetions or have successfully got these to work?

Reply 1 of 12, by Dege

User metadata
Rank l33t
Rank
l33t

I've just tried Hugo Classic #2 and it works with dgVoodoo without a problem (Win11).
Hugo-2026-07-08-20-50-44.png

Natively I get a black screen too, for a while and then the game window minimalizes(?).
So, regarding that nothing works for you, the question aries: do you run the executable from a proper location? I mean doesn't it run natively all the time for some reason? You could check it out with the _dbg version of dgVoodoo.

Reply 2 of 12, by Estel Randir

User metadata
Rank Newbie
Rank
Newbie

What are your dgvoodoo2 settings?

Reply 3 of 12, by Joseph_Joestar

User metadata
Rank l33t++
Rank
l33t++

Anyone else remember the Hugo interactive phone-in games on Kabel 1 from back in the day?

I used to watch that show as a kid.

My retro builds

Reply 4 of 12, by Sombrero

User metadata
Rank Oldbie
Rank
Oldbie
Joseph_Joestar wrote on 2026-07-09, 06:59:

Anyone else remember the Hugo interactive phone-in games on Kabel 1 from back in the day?

I used to watch that show as a kid.

Yeah, I did too in my neck of the woods. Hugo was pretty big in europe at its height I guess. Though now one look at that face and I get a pretty strong NOPE reaction 😁

I also remember wondering why everyone was so bad at it, the lag between input and action must have been horrendous.

Reply 5 of 12, by Joseph_Joestar

User metadata
Rank l33t++
Rank
l33t++
Sombrero wrote on 2026-07-09, 11:07:

I also remember wondering why everyone was so bad at it, the lag between input and action must have been horrendous.

You know, I hadn't actually considered that, but it does make sense!

Hugo was truly ahead of the curve, giving us a glimpse of how laggy game streaming would feel some day. 😁

My retro builds

Reply 6 of 12, by Dege

User metadata
Rank l33t
Rank
l33t
Estel Randir wrote on 2026-07-09, 06:34:

What are your dgvoodoo2 settings?

Nothing special, it works with the default config for me.
But I usually use max forced resolution + "stretched, keep aspect ratio" scaling mode + dx12.

Reply 7 of 12, by Estel Randir

User metadata
Rank Newbie
Rank
Newbie
Dege wrote on 2026-07-09, 18:29:
Estel Randir wrote on 2026-07-09, 06:34:

What are your dgvoodoo2 settings?

Nothing special, it works with the default config for me.
But I usually use max forced resolution + "stretched, keep aspect ratio" scaling mode + dx12.

I went back to default settings and it seems to work now. I tweaked the settings a bit and still works. Who knows, it could be any setting. It does require windows compatibility settings to be Windows XP SP2 , run in 640x480 resolutionor it will blackscreen for me. which totally defeats the purpose of setting dgvoodoo2 to my native resolution. The game is playable but aggrivating with all the switching video modes and throwing my screens around. Too bad the dos versions have that wierd reboot error that won't let you run them on DosBox.

Reply 8 of 12, by Dege

User metadata
Rank l33t
Rank
l33t

And what if you unapply all the compatibility settings for the game?
Probably they just worsen the situation, I can run it with dgVoodoo without any compat settings applied.

Reply 9 of 12, by Estel Randir

User metadata
Rank Newbie
Rank
Newbie
Dege wrote on 2026-07-09, 21:41:

And what if you unapply all the compatibility settings for the game?
Probably they just worsen the situation, I can run it with dgVoodoo without any compat settings applied.

Oddly enough, after some tweaking - the game runs full screen, no compatibility settings at all, in my native resolution, it does not throw my windows around. Using DirectX settings on dgvoodoo2. It still flashes a black screen whenever you change game modes, but it does not affect any other of my monitors.

One thing it does not like, that is plain stretched mode. It has to be stretched keep aspect ratio. This one has been a bit tougher to get to work. It seems that just a few settings here and there will stop it from working and sometimes it seemed to give me conflicting results. But it's working now. Going to try the other 3 classic versions with these settings.

My settings from the dgVoodoo.conf using directx:

;==========================================================================
; === Text based config file for dgVoodoo2
; === Use this file if you are a game modder/hacker or an experted user and
; want to modify some advanced properties not available via the CPL.
;==========================================================================

Version = 0x287

;--------------------------------------------------------------------------

[General]

; OutputAPI: "d3d11warp", "d3d11_fl10_0", "d3d11_fl10_1", "d3d11_fl11_0",
; "d3d12_fl11_0", "d3d12_fl12_0", "bestavailable"
; Adapters: "all", or the ordinal of the adapter (1, ...)
;FullScreenOutput: "default", or the ordinal of the output on the adapter (1, ...)
; ScalingMode: "unspecified", "centered", "stretched", "centered_ar", "stretched_ar", "stretched_ar_crt",
; "stretched_4_3", "stretched_4_3_crt", "stretched_4_3_c64"
;
;InheritColorProfileInFullScreenMode:
; Enabled by default and can only be disabled only when a D3D11 output API
; is explicitly selected. Disabled case is intended for avoiding extra
; rendering resources on old hardware for better performance, if required.

; DisableScreenSaver: If true then screen saver and monitor sleep mode are disabled while rendering through dgVoodoo is active

OutputAPI = d3d12_fl12_0
Adapters = all
FullScreenOutput = default
FullScreenMode = true
ScalingMode = stretched_ar
ProgressiveScanlineOrder = false
EnumerateRefreshRates = false

Brightness = 100
Color = 100
Contrast = 100
InheritColorProfileInFullScreenMode = true

KeepWindowAspectRatio = true
CaptureMouse = true
CenterAppWindow = false
DisableScreenSaver = false

;--------------------------------------------------------------------------

[GeneralExt]

; DesktopResolution: Desktop (native) resolution can be forced for dgVoodoo's internal calculations.
; Useful for rare applications that pre-set the desktop to other than the native
; resolution before dgVoodoo gets in action. Only the compact format can be used here,
; and applies to all outputs of the desktop.
; DesktopBitDepth: You can define what screen bit depth should be reported through dgVoodoo
; (8, 16, 32)
; DeframerSize: When resolution is forced to other than the app default then
; a black frame is drawn around the output image coming from a wrapped API
; to remove scaling artifacts -
; frame thickness can be defined in pixels (max 16, 0 = disable)
; ImageScaleFactor: Integer factor for scaling the output image coming from a wrapped API
; Always done by nearest point filtering, independent on scaling mode
; (0 = max available)
; Separate factors can be defined for horizontal and vertical scaling
; by subproperties, e.g.
; ImageScaleFactor = x:3, y:2
; CursorScaleFactor: Integer factor for scaling the emulated hardware mouse (max 16)
; (0 = automatic, 1 = no scale, 2 = double scale, ...)
; DisplayROI: Display region of interest
; If scaling is done by the dgVoodoo then you can define a subrect of the
; output image, coming from a wrapped API, to be displayed. The defined subrect
; is mapped to the display output according to the current scaling mode
; It can be useful for applications rendering a widescreen subimage into a 4:3
; resolution; in this case you can scale up that subimage to (nearly) fill the
; whole screen on a widescreen monitor.
; DisplayROI empty value means the whole image.
; DisplayROI value can be a proportion in form of %d_%d or a pixel size (%d|%d)
; Pos subproperty is not mandatory and can be 'centered' or a pixel position (%d|%d)
; Examples: DisplayROI = 16_9, pos:centered
; DisplayROI = (320|200), pos:(10|10)
; Resampling: When scaling is done by the dgVoodoo for the given scaling mode,
; you can choose which filter is to be used for resampling the output image
; Available filters are: "pointsampled", "bilinear", "bicubic", "lanczos-2", "lanczos-3"
; PresentationModel: Low-level swapchain swap effect: if you know what you are doing then it can be
; overridden here. Flip models are better suited for modern OS features like auto HDR,
; while plain legacy models provide the best presentation performance under ideal conditions
; Not all model + output API + OS version combinations are supported.
; "auto", "discard", "seq", "flip_discard", "flip_seq"
; ColorSpace: Color space of the swap chain:
; "appdriven" - an application can choose argb2101010 through D3D9, but it means
; the legacy argb8888_srgb in any other case
; "argb8888_srgb" - Legacy 32 bit output for SDR displays
; "argb2101010_sdr" - 32 bit extended precision for SDR displays
; "argb2101010_sdr_wcg" - Wide Color Gamut format for SDR displays (available from Windows 11 22H2)
; "argb16161616_hdr" - Float16 HDR output (available from Windows 10 1709)
;WatermarkDisplayDuration: Display duration in secs for the watermark(s) if they are enabled (per swapchain)
; 0 or undefined means infinite time
; FreeMouse: If true then physical mouse is free to move inside the game window
; when using emulated scaling and/or application and forced resolution
; differs; can be useful when a game relies on the physical window size
; WindowedAttributes: You can define attributes for forced windowed appearance (separated by commas):
; "borderless" - forces the app window not have any border
; "alwaysontop" - forces the app window into the top-most band
; "fullscreensize" - forces the app window to be full screen size with image scaling inside
; FullscreenAttributes: You can define attributes for fullscreen appearance (separated by commas):
; "fake" - forces fake fullscreen mode with a screen-size window
; FPSLimit: An integer or rational (fractional) value, 0 = unlimited
; Environment: Software environment in which dgVoodoo is running: can be left unspecified (native)
; or can be set to 'DosBox' or 'QEmu'.
; SystemHookFlags: You can define which part of the system should be hooked (x86-DX only):
; "gdi" - for showing graphical contents rendered through GDI
; (like movie playback through the ancient Windows Multimedia AVI player library)
; "cursor" - for suppressing double-cursor symptoms when the cursor is emulated

DesktopResolution =
DesktopBitDepth =
DeframerSize = 1
ImageScaleFactor = 1
CursorScaleFactor = 0
DisplayROI =
Resampling = bilinear
PresentationModel = auto
ColorSpace = appdriven
WatermarkDisplayDuration = 0
FreeMouse = false
WindowedAttributes =
FullscreenAttributes =
FPSLimit = 0
Environment =
SystemHookFlags =

;--------------------------------------------------------------------------

[Glide]

; VideoCard: "voodoo_graphics", "voodoo_rush", "voodoo_2", "voodoo_banshee", "other_greater"
; OnboardRAM: in MBs
; MemorySizeOfTMU: in kBs
; TMUFiltering: "appdriven", "pointsampled", "bilinear"
;
; Resolution: either "unforced", "max", "max_isf", "max_fhd", "max_fhd_isf", "max_qhd", "max_qhd_isf", "desktop", "%dx",
; "max_%dx", "max_isf_%dx", "max_fhd_%dx", "max_fhd_isf_%d"x, "max_qhd_%dx", "max_qhd_isf_%dx", "desktop_%dx"
; or subproperties: h: horizontal, v: vertical
; + optional subproperty refrate: refresh rate in Hz
; e.g. Resolution = max, refrate:60
; Resolution = 2x, refrate:59
; Resolution = h:1280, v:1024, refrate:75
; Resolution = max_2x
; or just use the compact form like "1024x768@60" or "512x384"
;
;Antialiasing: "off", "appdriven", "2x", "4x", "8x", "16x" (your GPU must support the chosen one)

VideoCard = voodoo_2
OnboardRAM = 8
MemorySizeOfTMU = 4096
NumberOfTMUs = 2
TMUFiltering = appdriven
DisableMipmapping = false
Resolution = unforced
Antialiasing = appdriven

EnableGlideGammaRamp = true
ForceVerticalSync = true
ForceEmulatingTruePCIAccess = false
16BitDepthBuffer = false
3DfxWatermark = true
3DfxSplashScreen = false
PointcastPalette = false
EnableInactiveAppState = false

;--------------------------------------------------------------------------

[GlideExt]

; DitheringEffect: "pure32bit", "dither2x2", "dither4x4"
; Dithering: "disabled", "appdriven", "forcealways"
; DitherOrderedMatrixSizeScale: integer scale value for dither matrix size
; 1 = normal, 2 = double size, etc.
; 0 = automatic (the aim is to have some retro feel&look)

DitheringEffect = pure32bit
Dithering = forcealways
DitherOrderedMatrixSizeScale = 0

;--------------------------------------------------------------------------

[DirectX]

; VideoCard: "svga", "internal3D", "geforce_ti_4800", "ati_radeon_8500",
; "matrox_parhelia-512", "geforce_fx_5700_ultra", "geforce_9800_gt"
; VRAM: in MBs (default) or in GBs (e.g. VRAM = 2GB)
; Filtering: "appdriven", "pointsampled", "bilinear", "pointmip", "linearmip", "trilinear"
; or the integer value of an anisotropic filtering level (1-16)
; Mipmapping: "appdriven", "disabled", "autogen_point", "autogen_bilinear"
; KeepFilterIfPointSampled: if enabled then forced filtering affects only non-point sampled textures
; Bilinear2DOperations: if enabled then DirectDraw Blit and CPU-written data is transferred with bilinear scaling
; DisableD3DTnLDevice: if disabled then D3D TnL device is not enumerated and hardware Transform&Light vertex processing
; is not available

DisableAndPassThru = false

VideoCard = internal3D
VRAM = 4096
Filtering = 16
Mipmapping = disabled
KeepFilterIfPointSampled = false
Resolution = h:3840, v:2160
Antialiasing = 8x

AppControlledScreenMode = true
DisableAltEnterToToggleScreenMode = false

Bilinear2DOperations = false
PhongShadingWhenPossible = false
ForceVerticalSync = false
dgVoodooWatermark = true
FastVideoMemoryAccess = false
DisableD3DTnLDevice = false

;--------------------------------------------------------------------------

[DirectXExt]

; AdapterIDType: "nvidia", "amd", "intel" or leave it undefined
; You can define what type of driver version and vendor id's the wrapper should report to
; the application; Some games rely on that information so it can be useful for them
; Can be defined only for SVGA and Internal3D card types; the others have their own wired
; information

; VendorID, DeviceID, SubsystemID, RevisionID:
; Can be defined only for SVGA and Internal3D card types
; You can overwrite these properties even if a non-default AdapterIDType is defined;
; say, you defined an nvidia id type but would like to refine the vendor id

; DefaultEnumeratedResolutions: you can define what resolutions should be enumerated to the application by default
; "all", "classics", "none"

; ExtraEnumeratedResolutions: you can add extra resolutions (separated by commas, max 16) that will get
; enumerated to the application as display adapter supported ones -
; can be useful if an app supports rendering at arbitrary resolutions
; and you have a particular favorite resolution that are not
; enumerated to the application by default
; you can either use the compact resolution format here, or
; "max", "max@refrate" meaning your desktop resolution with a potential refresh rate, or
; "max_4_3", "max_4_3@refrate", "max_16_9", "max_16_9@refrate"
; meaning the maximum resolution with the given aspect ratio calculated from
; the desktop resolution with the given refresh rate, e.g. "max_4_3@60", "max_16_9"

; EnumeratedResolutionBitdepths: you can filter what bitdepths are included in the resolution enumeration
; any subset of {"8", "16", "32"}, or "all"

; DitheringEffect: "high_quality", "ordered2x2", "ordered4x4"
; Dithering: "disabled", "appdriven", "forceon16bit", "forcealways"
; DitherOrderedMatrixSizeScale: integer scale value for dither matrix size
; 1 = normal, 2 = double size, etc.
; 0 = automatic
; DepthBuffersBitDepth: internal bit depth of depth/stencil buffers for 3D rendering (32 bit is not recommended)
; "appdriven", "forcemin24bit", "force32bit"
; Default3DRenderFormat: default format of 3D rendering
; "auto", "argb8888", "argb2101010", "argb16161616"
; auto corresponds to the selected color space
; argb2101010 has the benefit that it is still 32 bit but it can corrupt the rendering
; because of the lowered alpha bits, not recommended

; MaxVSConstRegisters: Max number of vertex shader constant registers (DX8/9 only)
; Can be defined only for SVGA and Internal3D card types
; Valid values are 256 (default), 512 or 1024
; D3D12BoundsChecking: If enabled then the D3D12 backend does bound checking on vs const register file accesses (D3D8/9 only)
; It should always be enabled to be fully compatible with the D3D8/9 specs but unfortunately that can cause
; performance loss while the vast majority of games do not need it; try to enable it if you experience a
; GPU crash with a D3D8/9 game

; NPatchTesselationLevel: Force N-Patch tesselation level (D3D8/9)
; 0 = app driven
; 1 = disable
; 2 to 8 = a forced tesselation level
; Altough tesselation works with all vertex shader versions, you can force level higher than 1
; only for the fixed function or vs.1.x vertex pipeline because of performance and practical reasons
; (forced tesselation also disables adaptive mode (D3D9), but forcing is not recommended at all, anyway)

; DisplayOutputEnableMask: Each bit in this 32 bit value corresponds to a display output. Display outputs of the adapters are numbered
; sequentially. If Adapter0 has n display outputs and Adapter1 has m display outputs attached then the lowest
; n bits match Adapter0 display outputs, the next m bits match Adapter1 outputs, and so on. The lowest bit
; in a group corresponds to Output0. If a bit value is 0 then the display output is disabled for the device
; enumeration, in other words, it is invisible to the application. It can be useful for D3D9 multihead-
; or very special applications where you want to enable only individual displays on your monitor wall.

; MSD3DDeviceNames: if true then original Microsoft D3D device names are exposed
; (some applications check for them and they fail)

; RTTexturesForceScaleAndMSAA: if true then forced resolution scaling and MSAA is
; applied also to rendertarget textures
; Set it to false for games requiring pixel-precise rendering
; but be careful it can EASILY break certain things, not recommended

; SmoothedDepthSampling: if true then extra smoothing is added to depth textures
; when they are sampled

; DeferredScreenModeSwitch: If true the switching to full screen is deferred after the application initialized
; the DirectX device; can be useful for games that don't expect rendering window changes
; during initialization and crash

; PrimarySurfaceBatchedUpdate: If true then direct changes of the primary surface are batched together for presenting them
; If false then each change is instantly presented (debug-like mode)

; SuppressAMDBlacklist: Some AMD GPU models are blacklisted to workaround the solid-color-textures driver issue
; You can suppress it to check out if the problem is fixed in your current driver

AdapterIDType =
VendorID =
DeviceID =
SubsystemID =
RevisionID =

DefaultEnumeratedResolutions = all
ExtraEnumeratedResolutions =
EnumeratedResolutionBitdepths = all

DitheringEffect = high_quality
Dithering = forcealways
DitherOrderedMatrixSizeScale = 0
DepthBuffersBitDepth = appdriven
Default3DRenderFormat = auto

MaxVSConstRegisters = 256
D3D12BoundsChecking = false

NPatchTesselationLevel = 0

DisplayOutputEnableMask = 0xffffffff

MSD3DDeviceNames = false
RTTexturesForceScaleAndMSAA = true
SmoothedDepthSampling = true
DeferredScreenModeSwitch = false
PrimarySurfaceBatchedUpdate = false
SuppressAMDBlacklist = false

;--------------------------------------------------------------------------

[Debug]

; This section affects only debug/spec release builds
;
; Info, Warning, Error
; "Disable" - disables all messages and debugger break
; "Enable" - enables messages and disables debugger break
; "EnableBreak" - enables both messages and breaking into debugger
;
; MaxTraceLevel: Maximum level of tracing API calls
; 0 - Disable
; 1 - API Functions and methods
; 2 - Additional trace info for internals
;
; LogToFile: if false or debugger is detected then output goes to the debug output
; if true and no debugger detected then output goes to 'dgVoodoo.log'
; (not implemented yet, always the default debug output is used)

Info = enable
Warning = enable
Error = enable
MaxTraceLevel = 0

;LogToFile = false

Reply 10 of 12, by Estel Randir

User metadata
Rank Newbie
Rank
Newbie

Also (very critical): Choose from the folder "\DgVoodo2\MS\x86" the following filles:
D3D9.dll
D3DImm.dll
DDraw.dll

I found out that you cannot have both D3D8.dll & D3D9.dll in the game directory. This might be common knowledge to you all, but I am not a dgvoodoo2 expert. I stumble my way through it.

I have all Hugo DE Classic #1 - #4 (and the jungle one) running now. Even though the games are probably originally in 640x480, using dgvoodoo2 and 4k settings, anitialising, etc they look really dang good.

Reply 11 of 12, by Dege

User metadata
Rank l33t
Rank
l33t
Estel Randir wrote on Yesterday, 06:51:

I found out that you cannot have both D3D8.dll & D3D9.dll in the game directory.

Why? You can. And this game only needs ddraw.dll, there is no 3d rendering in it.

But anyway, I'm glad you got it to work.

Reply 12 of 12, by Estel Randir

User metadata
Rank Newbie
Rank
Newbie
Dege wrote on Yesterday, 11:30:
Estel Randir wrote on Yesterday, 06:51:

I found out that you cannot have both D3D8.dll & D3D9.dll in the game directory.

Why? You can. And this game only needs ddraw.dll, there is no 3d rendering in it.

But anyway, I'm glad you got it to work.

When both of the D3D files are in the game folder, the game will black screen no matter what. When I remove the D3D8.dll, the game will work. Why? No, clue don't care at this point as long as it works, 🤣.