Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
blog:pc98_devtools [2020/08/14 11:03] – [Troubleshooting on Real Hardware] john | blog:pc98_devtools [2020/08/22 09:34] (current) – [Makefiles & Compiling] john | ||
---|---|---|---|
Line 29: | Line 29: | ||
* https:// | * https:// | ||
* https:// | * https:// | ||
+ | * http:// | ||
+ | * https:// | ||
==== Graphics Hardware Differences ==== | ==== Graphics Hardware Differences ==== | ||
Line 485: | Line 487: | ||
You also need to distribute with your application the DJGPP go32-v2.exe DOS extender, and a DPMI server, of which for the PC-9821 there are relatively few. Apart from the fact that [[https:// | You also need to distribute with your application the DJGPP go32-v2.exe DOS extender, and a DPMI server, of which for the PC-9821 there are relatively few. Apart from the fact that [[https:// | ||
- | * {{ :blog:pc98_dpmi_extender.zip |go32-v2.exe & dpmi32.exe}} | + | * < |
+ | * {{ :blog:go32_dpmi.zip|go32-v2.exe & MS-DOS 6.22 dpmi.exe}} | ||
You can of course optimise for // | You can of course optimise for // | ||
Line 522: | Line 525: | ||
===== Troubleshooting on Real Hardware ====== | ===== Troubleshooting on Real Hardware ====== | ||
- | First of all, **DPMI32.exe** and **go32-v2.exe** work on real PC-9821 hardware, just as they do within the NekoProject II Kai emulator, as long as you have a VCPI service running (either EMM386, VEMM486 or similar): | + | First of all, <del>**DPMI32.exe** |
+ | |||
+ | So boot with typical memory managers in place: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ... and then try to start DPMI server and the DJGPP go32 DOS extender: | ||
{{: | {{: | ||
- | However, I struggle to get **make.exe** to actually run a Makefile. | + | So, we have the same behaviour as on the emulated PC-98 system, and the emulated IBM PC system |
+ | |||
+ | //However//, I struggle to get **make.exe** to actually run a Makefile. No matter what I try to do, make just will not detect the presence of a makefile in the current directory. | ||
+ | |||
+ | Given a directory of files like this: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ... a simple ' | ||
+ | |||
+ | {{: | ||
+ | |||
+ | // | ||
+ | |||
+ | Even explicitly specifing the file, like: < | ||
+ | |||
+ | {{: | ||
+ | |||
+ | You can see that make never actually finds the file. There' | ||
+ | |||
+ | It's not the entire GNU toolchain, because calling gcc.exe and other commands manually works: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | But //not a single variation of the make incantation// | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Argh!!!! //What is going on?// | ||
+ | |||
+ | Disaster, as I've now found that the same stuff works fine within the emulator: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ==== The Real Problem Is... ==== | ||
+ | |||
+ | So, I figured out that there' | ||
+ | |||
+ | {{: | ||
+ | |||
+ | The upside is that nothing else needs changing, just the single **make.exe** binary. | ||
+ | |||
+ | Here's an updated version of the GCC + DJGPP development environment, | ||
+ | |||
+ | * {{ : | ||
+ | |||
+ | Note that this version also includes renamed libreadline.a (libread.a), | ||
+ | |||
+ | ===== Next Steps ===== | ||
+ | |||
+ | Go forth, create code for another obsolete computer platform, and be merry! | ||
+ | |||
+ | Or, alternatively, |