Commit Graph
7 Commits
Author SHA1 Message Date
Ryan C. Gordon 26a52988a6 16-bit support!
This gets us everything we need (I hope!) to support 16-bit code in LX
binaries and call into 16-bit OS/2 APIs. This is just enough to call
into VioGetMode() (which isn't otherwise implemented yet) as an example.

If this is ever used Winelib-style to provide an OS/2 API to native Linux
binaries, the 16-bit system APIs are 32-bit clean and C callable, as one
might expect them to be. All the tapdancing is to support existing LX
binaries in the loader and bridge between the 32-bit clean APIs and
existing 16-bit code that expects to call 16-bit APIs.

This was a staggering amount of effort, but yay!

Other fixes and improvements probably leaked into this commit, as a
lot of code got touched and a lot of research and debugging took place.
2016-10-27 01:44:26 -04:00
Ryan C. Gordon 68aa18c5a1 Consolidate and turn off all the debug logging for now. 2016-10-14 02:51:37 -04:00
Ryan C. Gordon 0349122bd7 Bunch More Work: more APIs, subprocesses, multithreading.
EMX's GCC compiler can now build hello.c when run from lx_loader!
2016-10-14 02:39:17 -04:00
Ryan C. Gordon 262b428f51 Implemented DosGetDateTime() and DosOpen(). 2016-10-06 15:56:20 -04:00
Ryan C. Gordon fae99dc048 Turn off some debug output. I'm sure I'll regret this soon. :) 2016-10-05 15:45:23 -04:00
Ryan C. Gordon f681be1b1f Reworked the native module loading code. 2016-10-02 18:18:31 -04:00
Ryan C. Gordon bee2afe62b Bunch More Work, mostly cleanup and organization.
Wanted to do this now before it gets out of hand.

Ideally, this can be used for a Winelib-like option eventually, too, where you
don't load OS/2 binaries at all but rather compile and link your OS/2-based
source code against this API reimplementation.
2016-09-30 15:58:48 -04:00