• DJGPP for PC-9801/9821 target

    From jpstmuk@gmail.com@21:1/5 to All on Wed Aug 12 00:59:17 2020
    Hey folks,

    I know there are some mentions of the NEC PC-98xx as a target in various bits of (very) old documentation, but wondered if there was anyone who could confirm whether this is still supported, or if it has bitrotted and become unsupported since it was
    introduced?

    If you're not aware, the PC-98 was a range of "sort-of" PC compatibles by NEC in the mid-late 80's and early 90's in Japan. The older 9801 used NEC Vxx processors and the later 9821 used x86 (386, 486 and Pentium), they shared a few bits of PC-like
    peripherals and ran a slightly modified version of MS-DOS and Windows, but had completely different BIOS interface, interrupts, memory map, sound and graphics hardware. Just like regular PC's, they were also immensely popular for running games :)

    Well behaved DOS applications can run on them, but at an absolute minimum they would need a different crt0 as an output target, but likely other things too.

    I was wondering if this was still a viable target?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From [via djgpp@delorie.com]" @21:1/5 to jpstmuk@gmail.com on Wed Aug 12 14:14:42 2020
    Copy: jpstmuk@gmail.com

    On 2020-08-12 09:59, jpstmuk@gmail.com [via djgpp@delorie.com] wrote:
    Hey folks,

    I know there are some mentions of the NEC PC-98xx as a target in various bits of (very) old documentation, but wondered if there was anyone who could confirm whether this is still supported, or if it has bitrotted and become unsupported since it was
    introduced?

    If you're not aware, the PC-98 was a range of "sort-of" PC compatibles by NEC in the mid-late 80's and early 90's in Japan. The older 9801 used NEC Vxx processors and the later 9821 used x86 (386, 486 and Pentium), they shared a few bits of PC-like
    peripherals and ran a slightly modified version of MS-DOS and Windows, but had completely different BIOS interface, interrupts, memory map, sound and graphics hardware. Just like regular PC's, they were also immensely popular for running games :)

    Well behaved DOS applications can run on them, but at an absolute minimum they would need a different crt0 as an output target, but likely other things too.

    I was wondering if this was still a viable target?

    Someone recently started working on a PC-98 compatible fork of djgpp:

    https://github.com/lpproj/djgpp-cvs.nec/commit/ff819a64c2265ea45675489b18d4cecd91b28e4b

    I personally have no experience with PC-98, so I don't know how complete it is.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From jpstmuk@gmail.com@21:1/5 to All on Thu Aug 13 15:37:49 2020
    Well I managed to find a really old patch against 2.03 that adds in support for the PC-98xx.

    It took a while to get a working environment - the patch was a partial binary diff against libc.a, which would work on the version of DJGPP that I found, so I had to bootstrap the whole thing from within Dosbox with a correct version of GCC (2.95.2, if
    you're interested!).

    Finally got it all running and compiled binaries can run on both regular PC MS-DOS and PC-98 MS-DOS as long as you have a DPMI server for the latter (cwsdpmi wont work, quite obviously, but there's one by Microsoft, on the PC-98 DOS 5.00 floppies!!!).

    Anyway, I can see there are a couple of efforts to get full support in current versions of DJGPP, but for now there's a pre-built Dec environment and how-to on my wiki:

    https://www.target-earth.net/wiki/doku.php?id=blog:pc98_devtools

    Next step is to work out how to talk to the custom NEC graphics hardware from within GCC+DJGPP...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)