Skip to content

Converting DJGPP and 286 Zortech binaries to HX #60

@repzilon

Description

@repzilon

I wrote a GNU dialect Makefile intended to with DJGPP version of GNU Make in a Windows 98 SE VirtualBox VM (the VM crashes whenever I start make in FreeDOS or MS-DOS, I don’t know why and I don’t care for now). I invoke make through the DOS prompt.

My Makefile is supposed to execute tools built with DJGPP and some ancient tools targeting 286 protected mode built with the Zortech tool chain. The latter are NE executables for which I don’t have the source code and using ZPM.EXE as their extender, which seems to be a variant of DOS/16M.

Currently, DJGPP GNU Make invokes DJGPP-built binaries flawlessly, as expected. However, it is unable to invoke the 286 protected mode NE executables. It prints an error message DOS/16M error: [32] DPMI host error (possibly insufficient memory) to the console. I also tried with the Command prompt in a Windows 2000 VM (I know it is not DOS-based), and it stops at the same place, this time with an NTVDM message box with text

You are trying to run an application linking DOS to OS/2. This application uses an unsupported OS/2 API, and thus cannot be executed by the OS/2 subsystem. After this application has ended, you can to run it using forcedos, as the DOS subsystem might support it. Press Enter to end this application.

then text System cannot find the DOS16M file printed on the console.

I read that HX is able to run both 286 and 386 protected modes. So my idea is to convert a copy GNU Make executable, the tools I build with DJGPP and 286 protected mode NE executables to all use HX, so that modified GNU Make can invoke my tools and the old executables. I need something applicable to binaries, because of the missing source for the NE executables and I do not wish to hack the GNU Make build system and rebuild it. Is it possible and how can it be done?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions