VOGONS


Patching 286+ games for XT machines

Topic actions

First post, by Gustavo

User metadata
Rank Newbie
Rank
Newbie

Hi,
Many games have an initial check for a 286 or later processor and will disable some features or won't run at all on XT machines.

I've been patching some of these games with variable success on my Turbo XT with NEC V20. I couldn't check if they will run on a standard 8088/8086.

1. Monkey Island 2 (refuses to run on XT) - Runs fine with patch. Scroll is a bit slow.

2. Magicland Dizzy (only accepts EGA mode on XT) - Runs fine in VGA mode with patch. A bit slow in screen with large sprites.

3. Wrath of the Demon (only accepts CGA mode on XT) - Runs fins in VGA with patch. Speed is very good.

4. Lotus and Lotus 3 - Partially load, but show a black screen.

Bellow are some IPS files if anyone want to try.

Reply 1 of 23, by matze79

User metadata
Rank l33t
Rank
l33t

What is IPS ?

Reply 2 of 23, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

It's a differential patching engine/format.

Reply 3 of 23, by keropi

User metadata
Rank l33t++
Rank
l33t++

nice patches Gustavo thanks!

matze79 wrote on 2026-02-17, 19:49:

What is IPS ?

it's the patch data, I use LUNAR IPS to apply to files: https://www.romhacking.net/utilities/240/

Last edited by keropi on 2026-02-17, 21:28. Edited 1 time in total.

🎵 🎧 MK1869, PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 4 of 23, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

I did not make the patches! I just answered what IPS was!

Kek!

Gustavo made the patches!

Reply 5 of 23, by theelf

User metadata
Rank Oldbie
Rank
Oldbie
Gustavo wrote on 2026-02-17, 15:46:
Hi, Many games have an initial check for a 286 or later processor and will disable some features or won't run at all on XT mach […]
Show full quote

Hi,
Many games have an initial check for a 286 or later processor and will disable some features or won't run at all on XT machines.

I've been patching some of these games with variable success on my Turbo XT with NEC V20. I couldn't check if they will run on a standard 8088/8086.

1. Monkey Island 2 (refuses to run on XT) - Runs fine with patch. Scroll is a bit slow.

2. Magicland Dizzy (only accepts EGA mode on XT) - Runs fine in VGA mode with patch. A bit slow in screen with large sprites.

3. Wrath of the Demon (only accepts CGA mode on XT) - Runs fins in VGA with patch. Speed is very good.

4. Lotus and Lotus 3 - Partially load, but show a black screen.

Bellow are some IPS files if anyone want to try.

Noooo! one month ago i dissasemble my XT clone board to use the case for a 286 proyect!! now i need to assemble again! jje

Thanks a lot for your patches, i really want to test, i have a turbo XT 10mhz with 1mb

Reply 6 of 23, by igully

User metadata
Rank Member
Rank
Member

Is it there a generic XT patcher that includes different patching strategies/routines that can be selected by the user?
Of course, results may vary, but may eventually lead to a few working patched programs.

I am guessing that no is the answer, but would love to be surprised.

Thanks in advance.

Reply 7 of 23, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

'Universal Patches' dont exist.

However, 'the number of ways to tell you are running on an XT' is a finite set, with some ways being 'very obvious, to the point most sensible people would try that way, barring some specific reason.'

A skilled programmer can look at the runtime disassembly inside a debugger, and see what a program is trying to check for, and either hotwire it, so it always finds what it's looking for, hotwire it so it always fails to find what it's looking for, or remediate the reason why it's even bothering to check-- then make a patch file with an offset location, and a binary correction that changes the program in the way required.

There will never be a reliable way to 'universally patch' a program; there is no substitute for a truly intelligent worker in the process, even if most circumstances will be from a set of 'golden oldies'.

Reply 8 of 23, by Gustavo

User metadata
Rank Newbie
Rank
Newbie

It is really satisfying to have some more games running on such an old architecture.

I don't think there is a universal patcher, but the 286+ detection routine usually follows this format.
Something like this:
Routine to detect 286 or higher
Check286:
pushf ; Push original flags
xor ax, ax ; Clear AX
push ax ; Push 0 to stack
popf ; Pop 0 into FLAGS
pushf ; Push new flags
pop ax ; Pop into AX to analyze
and ax, 0F000h ; Check bits 12-15
popf ; Restore original flags

; If high bits are 0, it's at least a 286.
; If high bits are F000h, it's 8086/80186.
cmp ax, 0F000h

Then there will be a JE "jump if equal", JZ "jump if zero" or JNE "jump if not equal"

The sequence POPF, PUSHF is not very useful, so it is not used apart from this 286 detection routine.
Use an HEX editor to find this sequence (hex codes 9d 9c). It probably is the routine.

Then, using a disassembler, check if follows a conditional jump (JE, JZ or JNE).
JE or JZ check if it is an 8088/8086/V20, so I usually skip these jumps with NOP (hex code 90).
JNE checks if it's a 286+, so I replace it with a "non conditional" jump (JMP).

Takes a little experimenting, but it is not too difficult.

This online assembler/disassembler is very useful to analyse small fragments of code:
https://shell-storm.org/online/Online-Assembl … d-Disassembler/

Remember that some EXE files are compressed, so unpack them with UNP utility for DOS before editing.

Reply 9 of 23, by Gustavo

User metadata
Rank Newbie
Rank
Newbie

If you have some game suggestion I may try to patch it.

Reply 10 of 23, by igully

User metadata
Rank Member
Rank
Member

Thank you for your answers Gustavo.

I was looking for and automated patch. I have seen a couple on other platforms, used in some cases to detect a common sequence of opcodes that could be exchanged for a lower-end CPU ones, and have also seen them for code optimization code where they make the code faster under newer better processors.

Thank you for your offer, but I am not particularly interested in DOS games, more on DOS application/utilities programs, hence the request. Not many are interested in such type of programs.

Reply 11 of 23, by GreatStone

User metadata
Rank Newbie
Rank
Newbie

As a new owner of an Amstrad ppc512 (8086 compatible NEC V30 8MHz cpu), with a VGA extension card, I am grateful to see this patch 😀
Monkey Island 2 was also refusing to start on this machine: the ips patch allows it and it runs enough to be playable, which is fantastic!
I consequently tried to do the same for "Indiana Jones and the Fate of Atlantis": it is working now, even if a bit slow, still manageable.
You can find it as an attachment (it has to be applied on the international release 1.0 of Fate of Atlantis, tested on the 5x1.44M installation disks).

Is there other games like that (checking 286 as min requirement, but running well if removed)?

Reply 12 of 23, by RetroPCCupboard

User metadata
Rank Oldbie
Rank
Oldbie
Gustavo wrote on 2026-02-18, 12:09:

It is really satisfying to have some more games running on such an old architecture.

I have to wonder why they would put in such a check if the game is otherwise playable on an XT. They are excluding some potential buyers, so surely there must be a reason.

Could it be as simple as the fact they didnt develop it on hardware that old, and never tested it to see what performance was like?

Reply 13 of 23, by Gustavo

User metadata
Rank Newbie
Rank
Newbie

Maybe the game needs 80186/286 instructions, present in NEC V20 and V30 processors, but missing in 808x.

Reply 14 of 23, by Gustavo

User metadata
Rank Newbie
Rank
Newbie

Another tip for XT gaming:

Golden Axe is too slow on XT machines. One of the reasons is that the music engine is too CPU demanding.

To run the game without music, just copy the file axe.dat with an .exe extension:

COPY AXE.DAT AXE.EXE

Run axe.exe and the game will run faster. There will be no music, but sound effects will still be present. On a 12 mhz XT in CGA mode the game is very playable.

Reply 15 of 23, by GreatStone

User metadata
Rank Newbie
Rank
Newbie
Gustavo wrote on 2026-02-21, 10:31:

Maybe the game needs 80186/286 instructions, present in NEC V20 and V30 processors, but missing in 808x.

It seems to be the main reason, yes.

Nec V30 has a 80186 instructions set, so more than 8086, less than 286. But enough instructions for this game 😀
When trying my patched Atlantis version on a XT 8086 in DosBox, it is only displaying a black screen.

So the patch is nearly only for machine having the 80186 instructions set.

Reply 16 of 23, by aVd

User metadata
Rank Newbie
Rank
Newbie

Hi, @Gustavo!
Appreciate your effort in these 80286/80386 game patches for 8088/86 XT machines! But I have one note here. I think these IPS-format patches are not the best for distribution as they do not contain any information of original file to be patched - at least it's size. For example there are a couple of exe-file versions for some of the games you made IPS patches for - floppy versions, CD versions, different version with game bugfixes... Why don't you use something like PatchMaker instead? At least it keeps records of original file name plus its size (this reduces chance to be applied on another exe-file version) and also produces small com-file patches, thus eliminating the need of third parity software to apply the patches.

Can you please write to which exe-file version or size in bytes the attached IPS-files correspond?

I always wondered why is this AXE.DAT file in DOS executable MZ format. Nice find. Thank you!

DOS fan :: artificial "intelligence" - not a fan... not a fan at all

Reply 17 of 23, by amstrad1640

User metadata
Rank Newbie
Rank
Newbie

Hi,
Can you patch corridor 7 game?

Corridor 7 demo run on NecV30 = slow
Corridor 7 final = need 286+

corr7.exe from demo version run on NecV30 = not on 8088/86 = need NecV20/NecV30 perhaps you can use it to remove 286 limitation from final game.

On NecV30 you can run =
Gods
Trolls = very slow
Wolfenstein3D 8087 or 8088 hack
Legends of valour
Ween the porphecy
Kingquest 1 to 6 = you can speed the game on menu game for kingquest 6
Simon the sorcerrer
Might and magic 1 to 3
Might and magic 4 + Might and amgic 5 = worlds of xeen = Slide show game, very very very slow but with EMS ram the game run on NecV30.
Street fighter 2
Corridor7 demo
X-Wing
Catacomb 3D

Reply 18 of 23, by theelf

User metadata
Rank Oldbie
Rank
Oldbie
amstrad1640 wrote on 2026-03-01, 16:39:
Hi, Can you patch corridor 7 game? […]
Show full quote

Hi,
Can you patch corridor 7 game?

Corridor 7 demo run on NecV30 = slow
Corridor 7 final = need 286+

corr7.exe from demo version run on NecV30 = not on 8088/86 = need NecV20/NecV30 perhaps you can use it to remove 286 limitation from final game.

On NecV30 you can run =
Gods
Trolls = very slow
Wolfenstein3D 8087 or 8088 hack
Legends of valour
Ween the porphecy
Kingquest 1 to 6 = you can speed the game on menu game for kingquest 6
Simon the sorcerrer
Might and magic 1 to 3
Might and magic 4 + Might and amgic 5 = worlds of xeen = Slide show game, very very very slow but with EMS ram the game run on NecV30.
Street fighter 2
Corridor7 demo
X-Wing
Catacomb 3D

Hi how much slow is corridor 7? remenber enjoy a lot in my 286 16mhz back on time

but now i tested in my harris 286 25mhz and by today standar is slow, i cant enjoy

But did not test demo! only final game

Reply 19 of 23, by amstrad1640

User metadata
Rank Newbie
Rank
Newbie

On French Abandonware website
https://www.abandonware-france.org/ltf_abando … d=587&fic=liens
Demo = shareware version

Click on Version shareware (968 Ko ) to show download link.
Click on "Cliquer pour lancer le téléchargement" to download the file.

Run slow like very SLOW on NecV30 8mhz very little FPS = need to reduce windows game on the game menu.
The final game need 386 16mhz on the manual game.