Azarien wrote: [..]
Usually that means linear adressing in 32-bit mode (segments with base address zero and size 4GB) because it's the easy way and
you can pretend segmentation doesn't exist, but in 16-bit protected mode your segments are still limited to 64k (or not. it's complicated).
Yup, indeed. ^^ From what I remember, that also was the reason/one of the reasons why Windows 3.x programs continued operating 64KiB segments.
That memory model could work in all three processor modes; Real, 16-Bit (286) Protected, 32-Bit (386) Protected.
(Even thought the 386 Windows kernal chopped them of in 4KiB pieces transparently in the background without them knowing.)
In theory, 16-Bit Protected Mode code (64KiB segments code, that is) could also operate in x64 Long-Mode.
Comparable in the way well behaved Real-Mode programs could run unmodified in 16-Bit Protected Mode.
(In the DOS days of the 1980s, about no such program existed. Tame Win16 programs, however, not doing
segment arithmetics, did fit these requirement. In essence, all what they did was calling API functions, after all.)
Anyway, I remember that I mentioned that matter in several threads.
Re: Memory for protected mode DOS games
Re: x64 sys files and exe files still contain a MS-DOS stub?
Re: Wine on newer windows OSes?
Re: Ultimate OS/2 Warp 4 machine?
Not meant as a self-advertisement, though! 😅
It's just that I think that's a really interesting matter.
Also, OS/2 did also feature some interesting feats!
They managed to run 16-Bit Protected Mode code (OS/2 1.x) in a 32-Bit Protected Mode (OS/2 2.x and Warp).
OS/2 2.x even had a DPMI host that ran W3.x as a DPMI client.
Anyway, OS/2 1.x was very interesting in several aspects. It's about the only OS that took the 286 to its fullest.
Virtual Memory, paging, LOADALL and the ring scheme were used there. That's why it was in part so difficult to emulate.
"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//