avatarDmitrii Eliuseev

Summarize

The ‘Luggable’ laptop, how does it look today? Part I — Toshiba T3100

Nowadays laptops are compact, lightweight, and powerful. But how did it all begin? Here is the review of the Toshiba T3100/20 made in 1986 — one of the first ‘luggable’ laptops.

It is always nice to have a portable computer with all the files, documents, and programs installed, especially for people who travel often or work from different locations. But in the 80s the average personal computer was looking like this:

IBM PC 5170 Source © https://en.wikipedia.org/wiki/IBM_Personal_Computer/AT

There was almost no chance to use it as a “portable”, though some companies like Compaq, tried to make a portable PC with a CRT tube (I will publish another review of that machine, stay tuned). But sooner or later, the electronics became faster and smaller in size, bulky CRT tubes were also replaced with flat and more lightweight screens, and finally, we get a hero of our story:

Toshiba T3100/20

Before we begin, a small remark. I know that “professional” copywriters can “compile” any review about any tech, from the Apollo spaceship to Large Hadron Collider, using only Google Search. And in general, it works — almost all specs and details can be found on the web. But browsing the online pages cannot give the feeling of the real use of such a device. Was it heavy and convenient to carry, was it comfortable to type using the keyboard, how was the screen quality, and so on. When I became curious about what using the very first laptop looked like, I decided to buy one on my own. It’s pretty easy to do it, the prices of these machines are in the $100–300 range on eBay. And it gives much more fun, to restore this machine if needed and to investigate how it works.

Let’s get started.

Hardware

The Toshiba T3100/20 was released in 1986, with an initial price of 6,899 USD ($17,220 in 2021). It’s a pretty decent amount of money, even today not so many people can afford a computer for this price. What specs can customers get for this? Well, Toshiba T3100/20 has a 16-bit 80286 CPU with an 8 MHz frequency, 640K RAM, gas-plasma monochrome display with a 640x400 resolution, 20 MB hard disk, and 720 KB 3.5" floppy disk drive. Nowadays it can look ridiculous, but 30 years ago it was a cutting-edge technology and a sort of luxury item:

Toshiba Ads © Source http://www.minuszerodegrees.net

The 640 KB of RAM or 20 MB hard disk drive looks really tiny today, but we should not forget that 30 years ago system requirements were also much smaller. As an example, MS-DOS 5.0 requires only 4.2 MB of disk size, and a Wolfenstein 3D game can be installed from a 1.4 MB floppy diskette (I have no idea what is the average game size today, is it in the 10–100 GB range?).

From the modern perspective, the Toshiba laptop looks huge, especially compared with modern devices like Microsoft Surface X:

6.8 kilos weight is a lot — it is possible to carry this thing but I would not be happy to do this on a daily basis. At least the Toshiba has a handle grip, which also works as a stand. On the other side — a really perfect (it’s not sarcasm) mechanical keyboard, the thing I definitely miss on modern “flat” laptops:

Let’s open the case and check what is inside. Alas, all Toshiba laptops from that era are absolutely not upgrade-friendly. The parts diagram can be found in the service manual, and looks something like this:

Toshiba T3100 Maintenance Manual © Source http://www.minuszerodegrees.net

For example, to access the hard disk almost all parts should be disassembled, including the display (but from this perspective, a modern Mac Mini is not much better, by the way). And finally, we can get access to the motherboard:

Compared to modern laptops, there are several remarkable features.

  • The 640 KB RAM is soldered on the motherboard, and there are no SIMM or any other slots (pity to say but this approach is becoming popular again). For an additional 800$, it was possible to install the proprietary “2 MB Memory Kit” board, made by Toshiba, but nowadays it’s a real rarity.
  • There is no battery. This computer was not intended for mobile work at all, it should be connected to the power grid. Probably, in 1986 there were just no batteries, compact enough to power this machine. At least the power supply can support both 230/120V voltages — it is an obvious step forward (for example, the Compaq Portable, which was made several years earlier, can support only one voltage, which makes it almost useless for people traveling between continents).
  • This Toshiba laptop has a port for an external monitor, but it is an RGB port, it is not VGA-compatible. At least other ports, like COM or LPT, look standard and can be used even today with the proper adapter.
  • The hard disk has only a 20MB capacity, and it is controlled by the Winchester WD1002A/S-WX2 controller. Alas, this disk drive is not IDE-compatible:

On this computer the HDD was dead, and it is almost unreal to find another one. Luckily, the motherboard has an extension slot, and it is possible to buy a special adapter on eBay, which allows booting the system from the CF card.

In general, it is interesting to see the hardware design from the very beginning of the laptop era. Almost all components are non-standard and non-upgradable — there is no IDE, no PCMCIA, no VGA, and even the floppy disk drive is 720 KB and not a “modern” 1.44 MB one. As a rule of thumb, computers made in the 90s and later, are much easier to upgrade.

Software

The “native” way to install the OS in this type of machine, is to use a bunch of floppy diskettes. For example, MS-DOS 5.0 was sold on 3 diskettes, which even now can be found on eBay:

MS-DOS 5.0 disks © eBay

Another possibility is to buy an empty diskette (surprisingly they are on sale on Amazon, probably for the old industrial hardware which is still in use) and write system files on it, MS-DOS disk images can easily be found online. But the only new USB floppy drives available for sale nowadays, are cheap Chinese ones. I tried using one, and it was just not working. And anyway, because we are using the CompactFlash, there is no need to use diskettes at all — it is much easier to prepare the disk image on the PC and deploy it on the CF card.

MS-DOS Install

The easiest way to prepare the MS-DOS image is to use the Oracle VirtualBox virtual machine.

I created a new virtual machine and specified the disk size of 256 MB — old Toshiba laptops may work incorrectly with disk volumes larger than 512 MB, so 256 is a nice compromise. Anyway, it will be much larger than the 10 or 20 MB drives that were available in the late 80s.

Then I can install the MS-DOS 5.0 Toshiba OEM version, it can easily be found online. Downloaded floppy disk images can be mounted to the virtual machine, no physical drive is needed.

After the installation, we can test that the system can boot properly.

By default, the “DOS Shell” is running after the boot, I don’t need it, so I changed the autoexec.bat file using the edit autoexec.bat command.

Finally, after the boot the system should look like this:

Then two steps are needed. Firstly, we need to convert the virtual machine image to a raw format using the command:

"C:\Program Files\Oracle\VirtualBox\vboxmanage" internalcommands converttoraw DOS-256MB.vdi DOS-256.img

Then we can insert the CompactFlash card into a reader and write the image. I was using a free Win32 Disk Imager for that.

We can also install additional software, I can recommend installing Norton Commander which is nice to use as a file manager. Surprisingly, the NC5 was not working on this machine, maybe the Toshiba’s BIOS is too old for it, but Norton Commander 3.0 was working well.

Finally, we can put the CF card back into the machine and boot the system. It is pretty interesting to see the image on the monochrome gas-plasma screen (the diagonal lines is the shutter effect of the camera):

Lots of different applications were made for MS-DOS, but for this machine, we have to choose only apps that can work in CGA mode.

Some apps from the MS-DOS era are definitely interesting to try, for example, Microsoft Word for DOS:

Readers can test it and other apps on their own, using the virtual machine or the real one.

Programming

As a last and optional step, let’s try to run some code. One of the popular languages of that time was BASIC. In the very beginning of the era of personal computers, BASIC was running immediately after the system boot, but later it ‘evolved’ to a fully-fledged but separate IDE. It’s not so exciting to run something like 10 PRINT “HELLO WORLD”, so let’s test a bit more sophisticated example. Like calculating 100 digits of the number Pi. Why? Because we can.

The source code was taken from this page.

10 REM ADOPTED FROM COMMODORE BASIC
15 CR=0
20 N = 100
30 LN = INT(10*N/3)+16
40 ND = 1
50 DIM A(LN)
60 N9 = 0
70 PD = 0:  REM FIRST PRE-DIGIT IS A 0
80 REM
90 FOR J = 1 TO LN
100    A(J-1) = 2:  REM START WITH 2S
110 NEXT J
120 REM
130 FOR J = 1 TO N
140     Q = 0
150     FOR I = LN TO 1 STEP -1:  REM WORK BACKWARDS
160         X = 10*A(I-1) + Q*I
170         A(I-1) = X - (2*I-1)*INT(X/(2*I-1))
180         Q = INT(X/(2*I - 1))
190     NEXT I
200     A(0) = Q - 10*INT(Q/10)
210     Q = INT(Q/10)
220     IF Q=9 THEN N9 = N9 + 1: GOTO 450
240     IF Q<>10 THEN GOTO 350
250     REM Q == 10
260     D = PD+1: GOSUB 500
270     IF N9 <= 0 THEN GOTO 320
280           FOR K = 1 TO N9
290              D = 0: GOSUB 500
300           NEXT K
310     REM END IF
320     PD = 0
330     N9 = 0
335     GOTO 450
340     REM Q <> 10
350     D = PD: GOSUB 500
360     PD = Q
370     IF N9 = 0 THEN GOTO 450
380        FOR K = 1 TO N9
390           D = 9: GOSUB 500
400        NEXT K
410     N9 = 0
450 NEXT J
460 PRINT STR$(PD)
470 SYSTEM
480 REM
490 REM OUTPUT DIGITS
500 IF ND=0 AND CR<22 THEN PRINT STR$(D);:CR=CR+1: RETURN
502 IF ND=0 AND CR=22 THEN PRINT STR$(D):CR=0: RETURN
510 IF D=0 THEN RETURN
520 PRINT STR$(D);".";
530 ND = 0
550 RETURN

Firstly, it is obvious to see, that this style of coding is absolutely awful by modern standards. It is just very hard to read and understand all this mess of GOTO and GOSUB jumps. And secondly, the BASIC is an interpreter, and it is painfully slow — on the 8MHz 80286 CPU this code is executing 4 minutes and 39 seconds.

Luckily, more advanced languages and IDEs were available in the MS-DOS time, like Borland C++ 2.0. I rewrote this BASIC code on C and also added the output of the execution time:

// PI Calculation
// REM ADOPTED FROM COMMODORE BASIC
// https://rosettacode.org/wiki/Pi#BASIC256

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

const int N = 100;
int digit = 0;

void outputd(int d) {
    if (digit > 0) {
       if (digit == 1)
          printf("%d.", d);
       else
          printf("%d", d);
    }
    digit++;
}

int main(int c, char** v) {
    const int ln = int(10*N/3) + 16;
    int a[ln];
    int nines = 0, j;
    int predigit = 0;    
    clock_t begin = clock();    
    for (j = 1; j <= ln; j++) {
       a[j - 1] = 2;
    }
    for (j = 1; j <= N; j++) {
       int q = 0;
       for (int i = ln; i >= 1; i--) {
          int x = 10*a[i - 1] + q*i;
          a[i - 1] = x % (2*i - 1);
          q = x/(2*i - 1);
       }
       a[0] = q % 10;
       q /= 10;
       if (q == 9) {
          nines += 1;
       } else if (q == 10) {
          outputd(predigit + 1);
          for (int k = 1; k <= nines; k++)
             outputd(0);
          predigit = 0;
          nines = 0;
       } else {
          outputd(predigit);
          predigit = q;
          for (int k = 1; k <= nines; k++)
             outputd(9);
          nines = 0;
       }
    }
    outputd(predigit);
    printf("\nT=%fs\n", (double)(clock() - begin)/CLOCKS_PER_SEC);
    return 0;
}

The IDE looks surprisingly good enough for the text-based UI standards:

And by the way, this code can be compiled in the modern Visual Studio without any changes — the C language did not change too much:

The C-code is executing much and much faster — the calculation time on the Toshiba T3100’s CPU is only 1.09s compared to 4:39 for the BASIC app. And on my Core i7 CPU, it is, by the way, 0.003s — about 350x difference between two CPUs made within 30 years range (for 100lvl nerds, I know that I am talking about 1 core performance only).

Conclusion

It was fun to test this machine and to see how it works. For sure, not all stuff was tested, like using the modem and accessing the BBS — this was an important part of PC users life in the “pre-internet” era.

Alas, this model is not so exciting from the reviewer's perspective — it has only 640 KB RAM and the 2 MB RAM extension board is almost impossible to find, many apps require 80386 CPU and do not run on the 80286. But still, it is an interesting piece of technology from that era, and even nowadays this machine works smoothly.

In the next article, you can read a review of another ‘luggable’ machine, Toshiba T3200SX, which has a newer 80386 CPU and can run Windows — it gives much more opportunities, compared to pure MS-DOS. Readers are also welcome to read another story about the Compaq LTE laptop made in 1997.

Computer Science
Technology
Programming
History
Hardware
Recommended from ReadMedium