Page 1 of 1

Virtual On Cybertroopers MMX Patch

Posted: 20 Sep 2013, 12:28
by tuxality
Hello, I would like to share with you my VON patch that bypass CPU check. I know that there are several methods to bypass this, but none of them worked for my rig. So I decided to write simple library that will replace cpuid32.dll and return fake cpuid report (genuine Pentium MMX). To use patch just simply replace this file and voilla! No need for hexediting, patching the exe etc. It also uses 'mmx_patch' text file that will be created at the first launch, more info in the readme. It's working for me on 32bit and 64bit operating systems under PC Version 1.04a of Virtual On.

Download and more info here:
Hope you will like it.

Re: Virtual On Cybertroopers MMX Patch

Posted: 09 Oct 2013, 00:34
by MentholMoose
Cool, thanks! That is a clean solution.

Re: Virtual On Cybertroopers MMX Patch

Posted: 30 Jan 2014, 18:00
by Blowfishlol
It seems that i cant find the cpuid file on my VO-OMG folder. Can you tell me where is it located?

Re: Virtual On Cybertroopers MMX Patch

Posted: 28 Jan 2020, 18:10
by RTaka
Okay, so it turns out I got here 7 years too late, and the link is kind of dead. Buuuut my desire to play Virtual On Cybertroopers was too intense, so I whipped up my own version of this fix as a simple hack: ... 8LH_8AqT_2

Just download the archive, take the CPUID32.DLL in the zip, and replace your installations version of it. That's it!

This one is slightly different than OP's because it doesn't produce any files. After disassembling the DLL though, I looked around and didn't see anything more than literally getting info from the CPU and returning it... so I /think/ there's no need for it to do anything else.

Just in case this link ever becomes dead though, here's the source for it:

Code: Select all

#include <stdio.h>
#include <Windows.h>

extern "C" __declspec(dllexport) void * wincpuid() {
	return (void*)0x00000006;

extern "C" __declspec(dllexport) int wincpuidext(void * arg1, void * arg2, void * arg3) {
	return 0;

extern "C" __declspec(dllexport) int wincpufeatures(void * arg1, void * arg2, void * arg3) {
	return 0xbfebfbff;
These return values correspond to results I recorded from a real i7 that passed the CPU check, so it should work for all machines.
You will also need this def file so VON.exe knows where to look for the functions being patched:

Code: Select all

	wincpuid @2
	wincpuidext @3
	wincpufeatures @4
If compiled into a 32-bit DLL, the above will let your AMD machine run VON. This source, as well as a readme with slightly more info, is provided in the link.

Re: Virtual On Cybertroopers MMX Patch

Posted: 30 Jan 2020, 01:56
by MentholMoose
Nice, thanks for sharing! And welcome to the forum!