topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Thursday October 3, 2024, 11:43 pm
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: Reviving an old luggable computer  (Read 7162 times)

Gothi[c]

  • DC Server Admin
  • Charter Honorary Member
  • Joined in 2006
  • ***
  • Posts: 873
    • View Profile
    • linkerror
    • Donate to Member
Reviving an old luggable computer
« on: December 17, 2018, 04:35 PM »
Some years ago, when visiting the midwest vintage computing festival I picked up a Panasonic Sr. Partner luggable 8088 computer from someone's cheap "as-is" pile. I figured if it wasn't working it would be a fun project to try and restore it.

panasonicsrparner.jpgReviving an old luggable computer

It's really kind of neat, it has a built-in thermal printer on top.

Sure enough, when I brought it home, I was slightly disappointed, although not surprised, that after switching it on, nothing appeared on the screen.
The light for one of the floppy drives remained on solid, and the screen remained dark.
I could hear a fan running, but no high-pitched whine from the little CRT screen, which is what you would expect if it had power going to the flyback.

At least a year later (or was it two?), and after moving, I finally got around to trying to fix it (first round) - I started with taking the entire thing apart, and trying to get the screen out, which ended up being rather tricky. This thing is built like a giant puzzle-tank.

panasonic_open1.jpgReviving an old luggable computer

panasonic_open2.jpgReviving an old luggable computer

When I finally got the video input going to the monitor hooked up to a scope, I was pleased to find what looked like a TTL signal, so not completely dead logic-wise. So, my attention went to focusing on the power to the CRT monitor. After inspecting the PCB and not finding anything visually wrong, and poking and prodding at it for quite some time with it powered (dangerous! don't do this without proper precautions!) I was just ready to give up, when I accidentally bump one of the flyback caps and sure enough I briefly heard the high-pitch whine of a flyback powering on. I proceeded with poking each of the caps with a long plastic screwdriver (the kind you use for adjusting variable coils) and I eventually found the one I bumped, and found that when I held it in place, the display would turn on. This was the first time I saw a blinking cursor! After pulling power, draining caps and anode, I re-soldered the cap, and the crt was back from the dead!

A kind friend had gifted me some ancient floppies with various versions of MS DOS to try with this thing, so I inserted one of them, powered it on, nothing. blinking cursor, and drive with solid red light.
After trying all the disks I had on hand, disappointed once again, I gave up for several months.

Eventually I got back to it, and concluded that the floppy drive was probably not working right. I figured I would try swapping the A and B drive, maybe the other one was good. Then I notice the B drive did not have the molex power connector hooked up. Didn't think nothing of it.
Swapped the drives, powered them both on. Now the computer won't even show the cursor! What's going on! After some trial and error:

* both floppies disconnected: have cursor, after some time 'boot error' (was excited to see text for the first time!)
* Only drive A connected: solid power light
* Both drives connected: no cursor.
* Only drive B connected: no cursor.
* Using drive B as drive A: no cursor.

I eventually concluded drive B was defective. It was the only option, because any time it's connected to power, the machine would be dead.
I noticed it would even behave this way when I only connect power, and not the data cable, so I immediately start measuring the pins on the molex connector, and sure enough, there is a short!

<months pass again with the machine disassembled on the workbench>

After disassembling the broken floppy drive next round, I managed to disconnect the smaller pcb on the back with the molex and data connector, with everything disconnected but the small pcb, i'm still measuring a short - this is good news! that means the problem is in the smaller (less complicated pcb).

Near the molex power connector I see 3 capacitors, 2 elco's and one ceramic. I figured that a bad capacitor there could definitively be causing this short - visually they look fine though. In absence of anything else to try, i start with desoldering the ceramic cap (as it was the easiest to get to) - still shorting out. Disappointment again.

<months pass again with the machine disassembled on the workbench>

Today I had off of work and finally decided to have another go at this! I desoldered the other 2 capacitors, and sure enough, no more short!
I replaced the ceramic cap I desoldered earlier with a spare. I didn't have a replacement for the 2 elco's (there was one on the 12V and one on the 5V pin) - i figured they are probably just to remove ripples in the supplied power, and decided to try without them.

In the end my persistence was rewarded! I finally got the machine to boot, and both drives are now functional! I eventually found a bootable dos floppy. It was very confused about the current date, as if I'm an alien from the future. It was clear no one in 2019 was ever intended to use this machine!

dosdate.jpgReviving an old luggable computer

I tried putting in a floppy in the second drive, and sure enough, both work!

bothfloppies.jpgReviving an old luggable computer

compaqdos.jpgReviving an old luggable computer

Time to fire up GWBASIC (which I found on one of the donated floppies!) and go to town!

x16wda

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 888
  • what am I doing in this handbasket?
    • View Profile
    • Read more about this member.
    • Donate to Member
Re: Reviving an old luggable computer
« Reply #1 on: December 17, 2018, 06:32 PM »
Who says time travel isn't real??  ;D
vi vi vi - editor of the beast

Target

  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 1,832
    • View Profile
    • Donate to Member
Re: Reviving an old luggable computer
« Reply #2 on: December 17, 2018, 10:47 PM »
Great post! and hats off to you Gothic for persisting with it.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,913
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: Reviving an old luggable computer
« Reply #3 on: December 18, 2018, 12:28 PM »
So cool.. I am in awe of you electronics people and how you can figure these things out without losing your mind.  Very very cool.  Keep us updated!

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,913
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: Reviving an old luggable computer
« Reply #4 on: December 18, 2018, 12:29 PM »
Invalid date, lol.

Deozaan

  • Charter Member
  • Joined in 2006
  • ***
  • Points: 1
  • Posts: 9,759
    • View Profile
    • Read more about this member.
    • Donate to Member
Re: Reviving an old luggable computer
« Reply #5 on: December 18, 2018, 07:13 PM »
Invalid date, lol.

I guess that Y2K bug really was a doozy. ;D

Gothi[c]

  • DC Server Admin
  • Charter Honorary Member
  • Joined in 2006
  • ***
  • Posts: 873
    • View Profile
    • linkerror
    • Donate to Member
Re: Reviving an old luggable computer
« Reply #6 on: January 05, 2019, 02:09 PM »
Here's a bit of an update.

So, I was challenged with software - I just had a copy of DOS 4.0.1 which doesn't really come with much of anything. It did have a copy of gwbasic, so I wrote a crude program to transfer files.
Then wrote some C code to send files:

Code: C [Select]
  1. #include <stdio.h>
  2. #include <unistd.h>
  3. #include <fcntl.h>
  4.  
  5. #define CHAR_STX 2
  6. #define CHAR_EOT 3
  7. #define CHAR_ACK 6
  8.  
  9. int bcount=0;
  10.  
  11. void wait_ack(int fd)
  12. {
  13.     while(1)
  14.     {
  15.         char buf;
  16.         int bytes = read(fd, &buf, 1);
  17.         if (bytes == -1) continue;
  18.         if (buf == CHAR_ACK) break;
  19.         printf(" (%d) ", buf);
  20.         usleep(1000);
  21.     }
  22.     bcount++;
  23.     printf("%d bytes...\n", bcount);
  24. }
  25.  
  26. void usage()
  27. {
  28.     printf("\n");
  29.     printf("Usage: transfer_file <filename>\n");
  30.     printf("\n");
  31. }
  32.  
  33. int main(int argc, char** argv)
  34. {
  35.  
  36.     // Parse arguments.
  37.     if (argc != 2)
  38.     {
  39.         usage();
  40.         return 1;
  41.     }
  42.     char* filename = argv[1];
  43.  
  44.     // Open input file.
  45.     FILE* file_fd = fopen(filename, "rb");
  46.     if (!file_fd)
  47.     {
  48.         printf("Could not open: %s'n", filename);
  49.         return 1;
  50.     }
  51.  
  52.     // Open serial port and set options.
  53.     int serial_fd = open("/dev/ttyUSB1", O_RDWR | O_NOCTTY);
  54.     if (serial_fd == -1)
  55.     {
  56.         printf("Could not open serial port.");
  57.         return 1;
  58.     }
  59.     fcntl(serial_fd, F_SETFL, FNDELAY);
  60.  
  61.     printf("Streaming from: %s\n", filename);
  62.  
  63.     // Signal read signal.
  64.     write(serial_fd, "\002", 1);
  65.     wait_ack(serial_fd);
  66.  
  67.     // Stream input file over serial.
  68.     char buf;
  69.     while(1)
  70.     {
  71.         size_t bytes = fread(&buf, 1, 1, file_fd);
  72.         if (bytes != 1)
  73.         {
  74.             printf("Got %d bytes, bytes\n",bytes);
  75.             break;
  76.         }
  77.         write(serial_fd, &buf, 1);
  78.         wait_ack(serial_fd);
  79.     }
  80.  
  81.     // Signal end-of-file and exit.
  82.     char eom = CHAR_EOT;
  83.     write(serial_fd, &eom, 1);
  84.     close(serial_fd);
  85.     return 0;
  86.  
  87. }

It's not pretty, and it's pretty slow sending on byte at the time, with the panasonic machine ACK'ing it before the next byte is sent, but it just needed to be good enough to transfer a better program.
I transferred a copy of KERMIT, which has a better way of copying files, and can also act as a serial console / terminal emulator.

Here's the old machine chatting on the donationcoder IRC channel over serial:

dc_channel.jpgReviving an old luggable computer

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,913
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: Reviving an old luggable computer
« Reply #7 on: January 05, 2019, 02:39 PM »
fun!!!  :up:

mwb1100

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,645
    • View Profile
    • Donate to Member
Re: Reviving an old luggable computer
« Reply #8 on: January 05, 2019, 07:01 PM »
I missed this thread the first time around - great stuff!