VOGONS


First post, by Bumrusher89

User metadata
Rank Newbie
Rank
Newbie

Hello it's been a while since I have been on Vogons.

So last December I figured out a better way to play DOS games on Windows 3.1 is to use a DOS boot disk. And so I made one on my other hard disk (used as my D drive) as my DOS boot disk (A better solution than using a floppy disk for myself.) And it works fine. (Maybe unstable but it works good for the most part, I don't know.) What I am here to talk about is that I am trying to find a way how I can have the CPU internal Cache turn off automatically when trying to play a older DOS game on Windows 3.1's DOS command prompt. (Like for any DOS game.) Like there are these games like Wing commander and it uses a much older CPU. (Basically a 286 CPU processor.) But if you play it on a Pentium or a Cyrix 6x86-PR120+ with a CPU internal cache turned on when in a Windows 3.1 DOS session. It would either hang, lockup or freeze. I know this happens to some games that are speed sensitive. And when you exit a DOS game from a DOS session on Windows 3.1 the Internal Cache gets turned back on.... And I am here speaking out why I am looking for an automatic solution for situations like these. But what if there is a solution if you play an older DOS game on a Windows 3.1 DOS session where the CPU internal L1 cache turns off automatically and when you exit out of the DOS game from the DOS session on Windows 3.1, the CPU internal cache automatically turns back on...

(Yeah there is DOSbox and all but, I would like to play my DOS games how I remember playing them on the PC when I was young back in the day.)

I tried programs like ICE/ICD that both enables and disables the the CPU internal cache.... But that was just as manual as going into the motherboard's bios and shutting down the CPU's internal cache.... I tried Mo'slo deluxe, and I tried loading it as a TSR with the processor emulations it offered. But it wouldn't work on a Windows 3.1 protected mode environment nor with a memory manager program like EMM386.... And it really didn't help at all..... I tried using ICE/ICD through the Windows 3.1 DOS command prompt but that didn't help turn it off at all.... What I know of ICE/ICD is they have to be turned on before starting Windows 3.1 or outside of Windows 3.1.

So I am looking for some solutions for having the CPU internal cache turn off automatically when starting up a DOS game through the Windows 3.1 DOS command prompt. And having the CPU internal cache turn back on automatically when exiting the DOS game and ending the DOS session...

If you have found a way how you can have the CPU's internal cache turn off by itself when starting a DOS game through a DOS session on Windows 3.1. And ending a DOS session having the CPU internal cache turn back on automatically please give me your solutions...

Thank you.

Reply 1 of 2, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hi, good morning, not sure where to begin..

The whole cache thing is complicated.
Because a cache needs to be flushed in certain circumstances.
Just think of the whole A20 gate thing.
Or DMA transfers, etc.

Now, in 386 Enhanced Mode of Windows, everything is "virtual".

The CPU is in 32-Bit Protected Mode and the V86 mode is activated.
Essential, everything is now virtual.
To DOS programs, the graphics card is partially emulated by Windows (CGA and text mode), the Keyboard and Mouse controller is emulated (PS/2 ports) and so on.

Simply said, it's as if you're running pure DOS with EMM386:
CPU is in V86 mode, some processor registers get saved/restored "behind the curtain", some access to the hardware is silently being intercepted and re-routed etc.
This makes altering the cache state tricky.

Sorry, I'm currently not able to explain the details. 😥
Maybe another Vogon mighte be more helpful here.

As a workaround, is it possible to install a turbo button?
Some Pentium mainboards still had them, for example.

Edit : minor corrections.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 2 of 2, by Caluser2000

User metadata
Rank l33t
Rank
l33t

I haven't heard of such a thing. I spent almost a decade using a variant of MS Windows 3.x on various x86 platforms.

There's a glitch in the matrix.
A founding member of the 286 appreciation society.
Apparently 32-bit is dead and nobody likes P4s.
Of course, as always, I'm open to correction...😉