phat code The overall process is not describable to an average person.







View Message

Back to Messages
Plasma Thu Mar 6 2008 at 3:12 pm
I think the problem is
you're trying to run protected-mode demos. Back in the early days of pmode programming, there was no DPMI/VCPI standards. So demos that used pmode basically took over the whole system (sometimes kicking out HIMEM.SYS) and the programmer did things however he wanted.

The problem with EMM386 (and Windows) is that they actually put the system in V86/protected mode, which restricts the privileges that subsequent programs have. So a demo can't kick out the existing memory manager and take over everything. And that is what causes the "system already in protected mode" messages.

The only solution to this was (and still is) to run the demos in pure DOS without EMM386 loaded, so the CPU is still in real mode. Of course nowadays there's DOSBOX, VMware, etc. but you're still doing the same thing in the virtual machine.

Now what EMS Magic does is very different. It provides EMS to real mode programs, without using V86 mode like EMM386 or pmode like Windows. This allows it to run in Windows XP, where the system is already in protected mode. But EMS Magic can't take the system out of V86 or protected mode because it doesn't have the privileges to do so. So EMS Magic will not help at all with running pmode demos in Windows.

The main use of EMS Magic is actually for systems with too much ROM in the UMA, where EMM386 will refuse to load because it can't find free space for a pageframe above A000. EMS Magic will make the page frame in conventional memory if it has to, so you will always have EMS no matter what.

Another use is for Windows Vista, which doesn't support EMS at all. So EMS Magic can be used to add EMS support there.

Reply to this Message


No HTML is allowed, except for <code> <b> <i> <u> in the message only.
All URLs and email addresses will automatically be converted to hyperlinks.