VOGONS


First post, by Pawlicker

User metadata
Rank Newbie
Rank
Newbie

So here's the thing, for the past year or so I've gotten back into PC-98 collecting. I originally dabbled with it in the mid-2010s with a Ce2 and later a V16 (which didn't have a sound card) and I never exactly had money to spend on it. Unfortunately I wound up getting money from a job. I first wound up buying a PC-9821Cx3 which proved to be a mistake as I've wound up getting everything from a H98 to a PC-9821 laptop. However none of the PC-98s I got had a YM2608b based PC-9801-86 sound card, either installed or onboard. This is important as compatibility is better with these cards. It's not like you can find them in PC-98s for sale anymore if they're not built-in, they wind up getting pulled out as the sound card can go for more than a PC-98 with one installed.

I decided I wanted a 98MATE A model (or A-Mate, depending on where you go online) but the problem is nearly all of them have bad cap leakage. So I decided to do something stupid and I bought a PC-9821An. The An is a very weird model, featuring Intel cache chips (like PS/2 machines) and as a result the bus is locked at 60mhz. Furthermore the motherboard is very notorious for being hard to upgrade without instability issues. Basically if you want a faster PC-98, it's a lot easier to buy a regular Socket 5/7 model. I wound up buying a 9821An on Yahoo Japan tested to post only, with two floppy drives (some booters require this) and I ended up swapping a HDD carrier from a 9821Ae in it as well. The first thing I noticed once I got it plugged in was the system came with the infamous FDIV bugged Pentium chip, which I would later swap out for a Pentium 100 with the bug fixed.

IMG_20221112_190105.jpg
Filename
IMG_20221112_190105.jpg
File size
310.45 KiB
Views
1607 views
File license
CC-BY-4.0
IMG_20221109_141634.jpg
Filename
IMG_20221109_141634.jpg
File size
879.37 KiB
Views
1607 views
File license
CC-BY-4.0

Surprisingly the machine worked, but the sound section caps and motherboard were starting to leak, so I recapped that section of the board. It was a mess but I was able to get it done even after a trace detached from the PCB but didn't break. Unfortunately the system has rust on the ports and whatnot but the motherboard of this machine is truly weird. Instead of a true Intel chipset there are numerous NEC custom ASICs and I mean tons of them. There's even a daughterboard PCB with GALs on it as well. I also read that you had to replace 2 caps in the cache area so I did those. The reason the caps are bent in the image is also because the power supply literally clips onto the motherboard as well, and it's also known that if you use a CPU upgrade that grabs voltage from a floppy drive connector you can actually burn out the motherboard due to how the PSU regulates itself when it's not having 3.3v drawn from it. If you're curious what's on the board, this site has a diagram of it commented.

IMG_20221204_183036.jpg
Filename
IMG_20221204_183036.jpg
File size
1.67 MiB
Views
1607 views
File license
CC-BY-4.0
IMG_20221204_164610.jpg
Filename
IMG_20221204_164610.jpg
File size
1.58 MiB
Views
1607 views
File license
CC-BY-4.0

The machine worked after the recap, it's just not good for Windows 95 as you're stuck with only 256 colors unless you install a window accelerator card that works similar to the old 3dfx cards (you plug in the onboard video to that card and it switches over) but it's great for DOS stuff. The reset switch also physically does not function and the volume pot doesn't work properly unless you "push" the pot in physically. But it works and here it is next to my H98 (another oddball machine, with a high res DOS prompt).

IMG_20221213_145139.jpg
Filename
IMG_20221213_145139.jpg
File size
1.21 MiB
Views
1607 views
File license
CC-BY-4.0

Reply 1 of 16, by MrSmiley381

User metadata
Rank Member
Rank
Member

This thing sounds like a minefield of headaches to maintain. Glad you were able to avoid failing caps and burning out the motherboard. How wide of a range of games are you able to play on it?

I spend my days fighting with clunky software so I can afford to spend my evenings fighting with clunky hardware.

Reply 2 of 16, by megatron-uk

User metadata
Rank Oldbie
Rank
Oldbie

If you are interested, I have the same machine and documented how to enable large disk support using an modified IDE bios (similar to XT-IDE).

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

I've also done some programming on the PC9821, including documenting how to acces and programme the funky 256 colour PEGC gfx hardware:

https://www.target-earth.net/wiki/doku.php?id … g:pc98_devtools

It's a funky machine, for sure, and the sound hardware is really quite fantastic for a 'business' machine.

My collection database and technical wiki:
https://www.target-earth.net

Reply 4 of 16, by Pawlicker

User metadata
Rank Newbie
Rank
Newbie
MrSmiley381 wrote on 2023-01-16, 14:22:

This thing sounds like a minefield of headaches to maintain. Glad you were able to avoid failing caps and burning out the motherboard. How wide of a range of games are you able to play on it?

Most of the games from the era work on it, I mostly set this up for games that need the YM2608b. It's also nowhere near as bad as the Ap2/As2, those are a minefield of problems with cap leakage and multi layer PCBs, and the As3/Ap3 with failed GALs causing no-post problems. It won't run V30 era games obviously, you need a real V30 to run many of these games at the proper speeds. I'm trying to get one of the V30 models for that purpose, especially since I have a rare sound card that essentially wants a V30 CPU to work.

I haven't burnt out the motherboard because I'm running the Pentium 100 I swapped in at the stock speeds and all. I only am using it to replace the FDIV bugged CPU since I'm going to be writing C code on this machine.

megatron-uk wrote on 2023-01-16, 18:31:
If you are interested, I have the same machine and documented how to enable large disk support using an modified IDE bios (simil […]
Show full quote

If you are interested, I have the same machine and documented how to enable large disk support using an modified IDE bios (similar to XT-IDE).

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

I've also done some programming on the PC9821, including documenting how to acces and programme the funky 256 colour PEGC gfx hardware:

https://www.target-earth.net/wiki/doku.php?id … g:pc98_devtools

It's a funky machine, for sure, and the sound hardware is really quite fantastic for a 'business' machine.

I'm considering getting into 98x1 programming. I've actually scanned in the high res programming manual and the official EGC docs and I've managed to get a 9801-14 and a programming manual for that card as well that includes a TMS3631 datasheet. I'm going to try to scan it in one of these days before work this week.

Reply 5 of 16, by megatron-uk

User metadata
Rank Oldbie
Rank
Oldbie

Mine came with an S3 928 powered windows accelerator C-Bus card (which Ive never used as it wa always intended to be a DOS/programming toy and I've since added a SCSI controller (with the aforementioned Exide rom) as well a Roland MPU401 card.

I do most of my development using djgpp under Dosbox and np21kai as the runtime to test. It's a bit of a chore to set up, but it means all of the editors, code etc just sits on my Linux filesystem and the emulators just mount it. Beats edit.com or rhide inside the native system!

My collection database and technical wiki:
https://www.target-earth.net

Reply 6 of 16, by megatron-uk

User metadata
Rank Oldbie
Rank
Oldbie

One of these days I need to reverse engineer the PC98 djgpp patch and apply it to a clean source tree so that I can run the whole thing as a native cross compiler under Linux, rather than getting the old djgpp compiler to run under emulation.

My collection database and technical wiki:
https://www.target-earth.net

Reply 7 of 16, by Pawlicker

User metadata
Rank Newbie
Rank
Newbie
megatron-uk wrote on 2023-01-16, 20:01:

Mine came with an S3 928 powered windows accelerator C-Bus card (which Ive never used as it wa always intended to be a DOS/programming toy and I've since added a SCSI controller (with the aforementioned Exide rom) as well a Roland MPU401 card.

I do most of my development using djgpp under Dosbox and np21kai as the runtime to test. It's a bit of a chore to set up, but it means all of the editors, code etc just sits on my Linux filesystem and the emulators just mount it. Beats edit.com or rhide inside the native system!

You can program some of the window accelerators for DOS use. Someone in the one Discord group found these, which also included some PEGC sample code.
https://darudarudan.github.io/pc9821/pc9821.html
https://web.archive.org/web/20161129184907fw_ … /kai/pc9821.htm#

I'm curious if you've used Dosbox-X, since it's like Dosbox but it has PC-98 emulation. The developer of it is also interested in doing PC-98 development interestingly enough and he's played with PEGC code.

Reply 8 of 16, by megatron-uk

User metadata
Rank Oldbie
Rank
Oldbie

I've only just started using Dosbox-X myself, I would be interested in testing it out for PC98 at some point.

I did file a bug report with the np21kai Dev on GitHub as the behaviour of the PEGC linear framebuffer in the emulator didn't match that of the real hardware when tested.

Basically, if the 15-16mb memory hole is there, it is supposed to allow access to the linear framebuffer, but it wouldn't in the emulator (but did when testing on the An).. Alternatively the framebuffer also shows up at 4095mb as well, so actually it's much easier to use it there. I wrote some code that I think I put on my examples page that did a detection at 15-16mb and uses it there, otherwise it switches to the higher address.

My collection database and technical wiki:
https://www.target-earth.net

Reply 9 of 16, by megatron-uk

User metadata
Rank Oldbie
Rank
Oldbie

What I have struggled to find is anything on the sound hardware. I'm writing an RPG engine and I'd like to target the PC98 (alongside Dos, SDL, Sharp X68000 and MSX2) but at present I can't find any details on sound APIs for it.

My collection database and technical wiki:
https://www.target-earth.net

Reply 10 of 16, by Pawlicker

User metadata
Rank Newbie
Rank
Newbie
megatron-uk wrote on 2023-01-16, 20:38:

What I have struggled to find is anything on the sound hardware. I'm writing an RPG engine and I'd like to target the PC98 (alongside Dos, SDL, Sharp X68000 and MSX2) but at present I can't find any details on sound APIs for it.

A lot of PC-98 games used two sound drivers: FMP and PMD. Other games wound up using their own sound drivers. PMD has been open sourced recently. There's also NAX.COM but it has issues on some later 9821 machines/sound cards such as my Nr15.

https://github.com/d2lmirrors/pmd
http://www5.airnet.ne.jp/kajapon/tool.html

There's guides on how to make music with MML:
https://www.youtube.com/watch?v=xEiCngF5v1A

Also PPZ8 was used to multiplex pcm files as well on the PC-98.

Reply 11 of 16, by megatron-uk

User metadata
Rank Oldbie
Rank
Oldbie

That's really useful, thanks. My main targets will probably be a MPU midi output (and I see there's a driver linked on of those pages above for the Roland type midi interfaces), as well as FM playback of midi files and simple 1 voice pcm (lowest common denominator for almost all the platforms).

My collection database and technical wiki:
https://www.target-earth.net

Reply 12 of 16, by Pawlicker

User metadata
Rank Newbie
Rank
Newbie
megatron-uk wrote on 2023-01-16, 20:58:

That's really useful, thanks. My main targets will probably be a MPU midi output (and I see there's a driver linked on of those pages above for the Roland type midi interfaces), as well as FM playback of midi files and simple 1 voice pcm (lowest common denominator for almost all the platforms).

A lot of PC-98 games didn't use MIDI files as much as they used hand-written MML files, but the cool part about PMD is that it has a OPL port as well for the PC and PC98. This was used in a few 98 to PC ports like Season of the Sakura for sure (PMDIBM.COM).

As for DOS extenders; here's the only other one I could find for the PC98 that has files available and it's a Phar Lap clone.
https://github.com/nabe-abk/free386
https://virtuallyfun.com/2020/05/08/free386-3 … 386-compatible/

Reply 13 of 16, by megatron-uk

User metadata
Rank Oldbie
Rank
Oldbie

The most compatible extender I found was dpmi.exe as included in NEC MS-DOS 6.22. the other extenders appeared to work but didn't support the dpmi calls that djgpp used when the code actually was loaded at runtime - at least those I use to allocate the far pointers and segments needed to map the linear framebuffer. Those were all with go-32.exe from djgpp, btw.

My collection database and technical wiki:
https://www.target-earth.net

Reply 14 of 16, by Pawlicker

User metadata
Rank Newbie
Rank
Newbie
megatron-uk wrote on 2023-01-16, 21:35:

The most compatible extender I found was dpmi.exe as included in NEC MS-DOS 6.22. the other extenders appeared to work but didn't support the dpmi calls that djgpp used when the code actually was loaded at runtime - at least those I use to allocate the far pointers and segments needed to map the linear framebuffer. Those were all with go-32.exe from djgpp, btw.

Ah interesting.

I should see if I can get DJGPP EZ2LOAD Ada working one of these days on the 98, I'm curious what it'd take to work.

Reply 15 of 16, by fede_tich

User metadata
Rank Newbie
Rank
Newbie
Pawlicker wrote on 2023-01-16, 19:50:

I'm considering getting into 98x1 programming. I've actually scanned in the high res programming manual and the official EGC docs and I've managed to get a 9801-14 and a programming manual for that card as well that includes a TMS3631 datasheet. I'm going to try to scan it in one of these days before work this week.

Hi Pawlicker! I'm desprately searching for the complete datasheet of the TMS3631 programmable sound generator. Could you please scan it? Thank you

Reply 16 of 16, by pentiumspeed

User metadata
Rank l33t
Rank
l33t

That's unusual cache stuff an high end external cache controller with their cache chips. That is made for server but used in PC98.

Cheers,

Great Northern aka Canada.