Image Map Image Map
Results 1 to 4 of 4

Thread: NEC PC-9821 S1 Repair

  1. #1

    Default NEC PC-9821 S1 Repair

    I purchased a PC-9821 S1 in unknown condition off Yahoo Auctions Japan a few months ago. For those who aren't aware, the PC-9800 series is a line of non-PC-compatibles widely popular in Japan in the late 80's and early 90's. They use the same floppy formats as the earlier PC-8800 series but use 8086-compatible CPUs (such as the NEC V30) rather than the z80. They run a custom port of MS-DOS and will happily run all "pure" MS-DOS programs - but all BIOS calls and hardware is different, so this is of little value in practice.

    The PC-9821 S1 is the first in the "98MULTi" line of multimedia PCs. It features a 386sx CPU, integrated PEGC 256-color graphics, two floppy drives (360rpm 3.5" - the earlier models used 360rpm 5.25"), a SCSI CD-ROM drive, and a 98NOTE-sized hard drive caddy (from NEC's laptop line) which internally uses 2.5" IDE laptop drives. Mine arrived without any hard drive, caddy, or other software. I also ordered a PC-98 compatible keyboard, and had a 24kHz-capable LCD from Weird Stuff.

    Some photos of this model can be found here:
    https://kyouichisato.blogspot.com/20...-model-s1.html
    http://www.pc-9800.net/db_98/db9821d_index.htm

    Upon powering it up, I got no POST beep ("pipo") and a loud noise from the CD drive. The loud noise was the CD's focus servo oscillating wildly. After resetting it a couple of times, I managed to get a pipo. By holding HELP, I was also able to get into the "BIOS" screen and control settings. I muddled about trying to figure out what conditions made it pipo - eventually, I found that after being left off for an hour, the *second* boot would always pass, and then none in the future. In addition, despite the BIOS being accessible, it would not attempt to boot from a floppy as it should. I pulled the noisy CD drive off, but it didn't help.

    20180509_0007_01.jpg

    I used a scope and was able to determine that on the unsuccessful boot attempts, the CPU was still running normally, ruling out a power supply or reset problem. I figured the next thing I could do is look at where the software was hanging. Conveniently, both the 386SX and ROM chip had space for debug headers on the board. I installed all of the needed debug headers, and fired up sigrok with my fx2-based logic analyzer.

    20180509_0001.jpg20180515_0006.jpg

    I was able to see the expected boot-up sequence (reading FFFF0h for the reset vector), but shortly after that, the execution diverged from what I would expect to see in the disassembled BIOS (obtained from another system). I tried moving the logic analyzer from the ROM to the 386SX, and unfortunately saw the exact same address reads. I determined that the ROM was likely different from the other machine and decided to dump mine.

    DSC_0089.jpg

    The ROM is a NEC 23C4000. While unsupported by my TL866a, I found that others had succeeded in dumping it via a wiring adapter. Impatient, I quickly wired up an adapter for myself, and not long after had a dump for myself.

    And indeed, using my new dump, I had a sensible execution trace! Of course, soon after a friend let me know that the ROM was paged, and the other system had the same contents had I looked at a different offset...

    mpv-shot0006.jpg

    Now watching where the lockup happened, I found the machine would get stuck in one of two spinloops - one before the pipo, and one after (when attempting to boot). Both tried to read the Graphics Display Controller (GDC)'s vsync register and wait for the next frame, which they never saw. At this point I started investigating the graphics area of the motherboard and realized that the NiCd backup battery had leaked. It also looked to have damaged a number of traces. I followed the traces, and strangely none of them seemed to have anything to do with graphics - most went to the unused RAM or c-bus expansion bays. I cleaned them up anyway, and reflowed some of the nearby traces - no luck.

    At this point I thought I would go on a random hunt with my oscilloscope to try to find any video-related signals, and a few minutes later found a suspicious 24kHz trace in the area! The trace next to it was dead - I expected to possibly find a 56Hz vsync there. Tracing it down led me to a discrete inverter and flip flop, oddly placed directly below the battery. The second line was actually the output of the flip flop - it was basically registering the hsync, and sending it back up to the graphics area. Presumably someone made a timing mistake and had to patch it up late in the design.

    mpv-shot0005.jpg20180515_0008.jpg

    Anyway, the output of the flip flop wasn't changing - was it getting clocked? I followed the clock trace back, and in fact found that it was supposed to be the 21Mhz pixel clock, but the trace had been damaged immediately underneath the battery! I had previously completely ignored this trace, as it was very fat and looked much like the battery power trace - but it was actually thick due to being a high speed clock. The damage was totally invisible, but a short jumper later and I had the clock fixed.

    20180515_0013_01.jpg

    Powering it up, I got a pipo much faster than before, and every time! Attaching the floppies showed me that the drives spun up, success! After formatting a floppy into 1.2MB format using a IBM Thinkpad USB floppy drive (TEAC FD-05PUB) using ufiformat, and writing a bootable disk, I got it to boot MS-DOS 3.3!

    mpv-shot0007.jpg
    Last edited by TD-Linux; July 5th, 2018 at 09:27 AM.

  2. #2
    Join Date
    Feb 2014
    Location
    Melbourne, Australia
    Posts
    753
    Blog Entries
    8

    Default

    Hi TD-Linux.

    I see this is your first post here and an EXCELLENTLY detailed one as well.
    Great troubleshooting at the hardware level as well as software.
    I look forward to reading and seeing more of your vintage computer activities on here/
    Welcome to the VCFED.

    rgds
    David

  3. #3

    Default

    Welcome aboard and thanks for sharing with us your success story.

    Btw, good job with the NEC machine!

  4. #4

    Default

    Quote Originally Posted by TD-Linux View Post
    I purchased a PC-9821 S1 in unknown condition off Yahoo Auctions Japan a few months ago. For those who aren't aware, the PC-9800 series is a line of non-PC-compatibles widely popular in Japan in the late 80's and early 90's.
    My PC98 machine is fully IBM compatible. OK it's really an NEC APC III, the gringo variant. It's equipped with the SLE board which makes it mostly compatible, whatever that means exactly. I haven't even turned it on in years.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •