VOGONS


First post, by superfury

User metadata
Rank l33t++
Rank
l33t++

Usually the 80386 or compatible is used to supply paging, but can the 80286 'simulate' paging as well? So simply mark an operating-system defined 'paging' table in the OS's memory, then when a #NP(Not Present Segment) is fired, check that 'paging' table. If the entry isn't in there, it's an actual #NP exception, thus handle it as such. If the entry exists(valid 'page'), load the data from the harddisk and mark the segment descriptor as present(and point it to the allocated RAM block)?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 1 of 2, by Jo22

User metadata
Rank l33t++
Rank
l33t++

With OS support, it could be possible. The 286 has an address space of 1GB of virtual memory. Please don't take Win 3.1 standard mode as reference here.
MS was perhaps just lazy to implement such a thing, because they focused on 386 enhanced mode and thus didn't care.
But I'm just a user, so don't take my words for granted.

Perhaps the documentation for OS/2 1.x could provide you some clues.

http://www.os2museum.com/wp/

"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 peterferrie

User metadata
Rank Oldbie
Rank
Oldbie

Yes, 286 can simulate paging. Borland's DOS Extender did that to provide overlays in protected mode, in exactly the way that you describe.
You can see it in action in titles such as Into the Shadows.