To make a lot in Protected Mode and higher, I would need to make an OS, and I'd still need to stay capable to run Real Mode code natively (for that I need to learn everything about it and enjoy understanding the nice demos there, whereas I have never seen native 64-bit demos or a popular unprotected 64-bit OS, so why not start in 16-bit mode and build from there to make things more stable?). Other than that, there are HTML5 applications to do, native programs, and a little bit of instrumentation applications.Octocontrabass wrote:If you feel better in real mode, you haven't done very much in protected mode. The initial setup is a bit more work than real mode, but the improved flexibility is worth it.~ wrote:If we feel better in Real Mode or if we feel constantly going back using, finding and learning from resources from the 90's and from the ISA/PS/2 PC's, then it's because that's our current level of knowledge and expertise, and we would do best to just agree with ourselves that fact, and accelerate our learning to other levels by learning the basics from the environment that actually holds all of the basics, which happens to be Real Mode/DOS/DPMI/Win9x/loadlin, whatever looks slightly like software fore bare-metal standard hardware/software/firmware, including usual and useful file formats of all kinds.
At the very least I would need to do something like reimplementing DPMI to natively compile and run DPMI programs.
The farther I go from Real Mode, the less freely-available or easily-understood material there is.
I almost pay no attention to the fact that I run under 32-bit Real Mode or under DOS because all the code I write is thought to be platform-independent.
I have rewritten my code so many times and I have realized that there's so much work for a single person that the only thing that could be acceptable to write as non-portable code is the base skeleton of an application, which is designed to actually provide an entry point for a specific OS/hardware, so it doesn't matter.
But the rest of the code doesn't have to ever worry about under which sort of environment it's running in, no matter if it's just written in assembly without a linker.
Add to it the fact that from Real Mode we can start DPMI/32-bit applications or native 32/64-bit ones that stay in that mode while it's running, and we can enjoy from ease, platform-independent convenience, and an environment that, unlike end-user OSes, doesn't restrict hardware access (aren't we in OS Development anyway? Why not take the capabilities of all modes to the same level of importance and with the same modern applications, from 8 to 64 bits and higher?).
This is something that will have to be proven under heavy hacking. At least a 16/32-bit code/data package in UnReal Mode seems possible. This is how Unreal Mode, Mode X graphics modes, going from 16 to 64-bit mode and similar things were discovered and documented anyway: Just trying the limits.Octocontrabass wrote:Had you read the wiki page on unreal mode, you would already know that the answer to this question is yes. However, it has some severe limitations that make it useless for anything serious. It would be less work to just switch to protected mode and be done with it.~ wrote:The question is: Will there really be a way to intensively hack the CPU so that we can use EIP and ESP/EBP in pure Real Mode so we can use huge 16-bit programs without worrying about segment registers, leaving them loaded with 0?
I'm honestly not sure if that would work. That's pretty obviously going beyond what the CPU was ever intended to support, so you'll probably stumble across some unexpected behavior.~ wrote:Could we maybe use 32-bit prefixes like...?:
Switching to protected mode without actually enabling any protection features is trivial. You should try it, it's actually less work than setting up unreal mode!~ wrote:Protected mode without protection
No.~ wrote:Will there be a possible way to enable 16/32/64-bit code/data/stack/instruction pointer from Real Mode, like Short Mode?