Actually, I have pdos-generic running under Linux already:
D:\devel\pdos\generic>dir *.lnx
Volume in drive D is PAULDATA
Volume Serial Number is DAB2-6E30
Directory of D:\devel\pdos\generic
2023-12-22 03:23p 277 makebios.lnx
2023-12-22 03:23p 424 makecomm.lnx
2023-12-22 03:23p 568 makefile.lnx
3 File(s) 1,269 bytes
So I should be able to have my own version
of Wine. I didn't think of that. I have
struggled so much to try to install Wine
(without success), but the solution was
right in front of me - thanks. So long as
the calling convention is the same (cdecl),
which it is, it should be fine.
As for running OS/2 on Linux instead - this
whole infrastructure is dependent on replacing
at the C library level.
So I would need the OS/2 executables to have
the C library in a separate DLL. Is there a
convention for that already?
Having said that, I could in fact replace at
the doscalls level. The limited number of
doscalls that I use could be converted back
into standard C90 calls. I have a similar
(shim?) for replacing all the Posix crap in
gcc 3.2.3. I have a unixio.c that does C90.
It's not perfect and so the main app needs
tweaking sometimes (e.g. if it is doing an
fstat and won't accept a file length or time
of 0 or something like that - actually I
think it was binutils that required some
intrusive code).
Actually I have one more problem on Linux.
I don't know which level it happens at, but
the "MATE" terminal I use generates a single
ESC when you press ESC. Which is normal, but
ANSI X3.64 allows two ESC so that you don't
need timing-sensitive code. And "my" apps like
micro-emacs are dependent on those two ESC.
So when I recompiled micro-emacs on Linux I
have to press ESC twice. I have the same
problem on Windows in fact when I activate
their ANSI mode. I don't have that problem
on OS/2 because I am required to provide the
ANSI keyboard myself.
The second ESC allows me to distinguish
between the user pressing ESC and a cursor
escape sequence.
Any suggestions? ie other than adding
timing-sensitive code which is non-C90.
Thanks. Paul.