Remix.run Logo
1313ed01 4 days ago

I guess it made a lot of sense to implement compilers in 32-bit protected mode to get more space to work with easier? Free Pascal's compiler also requires 32-bit even if it can generate 16-bit DOS code as well (at least when cross-compiling from some other OS; I have not tried to cross-compile from DOS 32-bit compiler to DOS 16-bit executable).

Some people (and by that I mean Debian people; not sure about anyone else) disagree about OpenWatcom being free software. The license has some unusual requirement(s). There has been talk for a long time about possibly fixing that, but I do not know how on track that is (or how much it matters, in practice): https://github.com/open-watcom/open-watcom-v2/discussions/27...

WalterBright 4 days ago | parent | next [-]

I developed on a 32 bit machine because of memory protection. Memory corruption resulted in seg faults, while in 16 bit real mode memory corruption would scramble your hard disk.

I ran all the test suites on protected machines. Only when everything was perfect did I run the programs in real mode DOS.

Protected mode memory is the greatest advance ever in computer hardware.

kragen a day ago | parent [-]

I wonder if it's obsolete now that we have things like Wasm. I mean, in some sense, it's nothing new—the UCSD p-System, EUMEL, and Dijkstra's THE offered the same safety much earlier, just at a punishing performance cost.

Also, though, you could imagine a system that protected the hard disk from corruption without having to be involved every time the CPU accessed RAM. For example, you could warm-boot into a trusted executive every time you wanted to flush the I/O queue to the hard disk. Rebooting would reload the executive code from the disk and set a "supervisor" bit on the disk interface, which the trusted executive would clear before yielding control back to the untrusted user program.

kragen 4 days ago | parent | prev [-]

Thanks for the pointer: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=376431

It seems a bit questionable but not an open-and-shut not-open-source license.