1
Programming / Re: native mainframe mini-clone
« on: October 15, 2025, 08:11:42 am »the kernel and device drivers are all 16-bit code, and the flag that signals "16-bit code" on an x86 signals "64-bit code" when long-mode is enabled. You can have 16/32 code or 32/64 code but not 16/32/64.
I think you might have been misinterpreted, and you are in fact correct, but could you please answer the below?
https://bttr-software.de/forum/board_entry.php?id=22728
That’s what I thought, but it is incorrect. Long mode can deal with all three code segment sizes at the same time, as indicated by the very first table in the system programming volume of AMD’s architecture manual (“Operating Modes”).
The author of that posting missed an important point: to have code run in AMD64 compatibilty mode, the host OS must be 64-bit. Given that OS/2 is 32-bit, the CPU can only run in one of the legacy modes (i.e. 16 or 32-bit).
It's complaining that the signature of SaveThread() doesn't match what it expects: a function that takes a character ptr and doesn't return a value. Take a look at SaveThread() and see if it returns a value or takes e.g., a ptr to void rather than a char ptr, then modify or cast accordingly.