12 ms·
"A solution might have been to switch back and forth from Protected Mode. But entering Protected Mode on the 286 is a one way ticket: if you want to switch back
by DrScump 8y ago
"A solution might have been to switch back and forth from Protected Mode. But entering Protected Mode on the 286 is a one way ticket: if you want to switch back to Real Mode you have to reset the CPU! Bill Gates, who understood very early all the implications, is said to have called the 286 a “brain dead chip” for that reason."
But Extenders like DOS/16M[0] did this transparently fast by having a real-mode process handle DOS interactions.
Given the proliferation of IBM "compatible" BIOSes in PC clones of that era (many not all that "compatible"), DOS/16M did a fantastic job of running on almost all of them. I worked with it a lot when Informix was first ported to extended-memory DOS usage using DOS/16M. There was a large deployment for a branch of the US armed forces using the product.
[0] http://www.tenberry.com/dos16m/faq/basics.html http://www.tenberry.com/dos16m/faq/basics.html
When DOS/16M was first released, the company name was Rational Systems.
- takeda 8y agoIf I understand it correctly it uses Virtual Mode which was added in 386. In FAQ question about speed it also mentions 386 onward[1]. I don't think DOS/16M contradicts anything said there. [1] http://www.tenberry.com/dos16m/faq/basics.html#10 http://www.tenberry.com/dos16m/faq/basics.html#10
- DrScump 8y agoI used DOS/16M extensively on 286 (one specific example was my home Zenith AT at the time, a 80286 at 6MHz with 0 wait states). This was with all but 512K on an Intel AboveBoard in the backplane.
- amluto 8y agoAnd virtual 8086 mode is still supported on modern Linux kernels! (Only 32-bit kernels, though. AMD decided to prevent it from being used by a 64-bit kernel.) v8086 mode, like many aspects of the x86 architecture, is a big mess.
- phicoh 8y agoOn a 286 you do not have access to real mode when in protected mode. You need a 386 for that. A crazy trick that did work is to cause a triple fault in protected mode. That would reset the 286. Then there was a little bit of support from the BIOS. You could tell the BIOS to not run the power on self tests and load the MBR from disk. Instead the BIOS would jump to a specific memory location.
- wolfgke 8y ago> On a 286 you do not have access to real mode when in protected mode. You need a 386 for that. I think that you are mistaken: I am rather sure that the undocumented LOADALL instruction could make something like that possible: > https://en.wikipedia.org/wiki/LOADALL https://en.wikipedia.org/wiki/LOADALL
- wolfgke 8y agoUpdate: Indeed it is possible to use LOADALL to switch from protected mode to real mode: > http://www.os2museum.com/wp/loadall-strikes-again/ http://www.os2museum.com/wp/loadall-strikes-again/ Article found via https://retrocomputing.stackexchange.com/a/220/4889 https://retrocomputing.stackexchange.com/a/220/4889
- tzs 8y ago> But Extenders like DOS/16M[0] did this transparently fast Transparent, yes. Fast, no. To get back to real mode they had to reset the CPU. There were a couple ways to do this. There was the triple fault technique that phicoh mentioned. I'm not sure how portable that was. A triple fault shuts down the processor. Whether or not that reboots or just sits there halted would depend on the motherboard design. The official way on the PC AT was to ask the keyboard controller to do it. On the PC AT, the keyboard controller was connected to the reset signal, and had a command to tell it to reset the computer. (The keyboard controller was also used to control the A20 line, to workaround another 286 annoyance). AT compatibles generally included that behavior in their keyboard controllers for compatibility.
- DrScump 8y agoTransparent, yes. Fast, no. To get back to real mode they had to reset the CPU But from the user perspective (remember when the user perspective used to matter?), it just worked and gave them power and functionality they'd never had before. A modern adware-laden web page on gigabit-speed Internet is dog slow in comparison.