The Toshiba T3100e is a “luggable” PC-compatible computer introduced in 1988.

It has an Intel 80286 CPU, 1 MB RAM, 20 MB hard disk, 3.5” floppy drive, and a stunning 640x400 orange monochrome gas-plasma display. It runs MS-DOS 5.00 and has a QuickBASIC interpreter.

Links:

File transfers

The T3100e has two DB-9 serial ports, but when I got it, there was no software for file transfers. It also has a floppy drive, but I didn’t have a way to write a floppy disk.

There was a QuickBASIC interpreter, so I:

  • vibecoded QuickBASIC programs to receive data via the serial port, checksum it, and decode it into binary executables
  • transferred Kermit, a serial file transfer program
  • transferred DOS MD5SUM, for verifying files

I used a standard USB-serial adapter to transfer files. I also needed a null modem adapter (online shopping link).

Kermit

Kermit is a serial file transfer program.

Bootstrapping Kermit

Steps:

  1. Download msk314.zip. Extract it. You just need MSKERMIT.INI.
  2. Download msk315.zip. Extract it. You just need MSK315.EXE.
    (Note: Mac Finder failed at extracting msk315.zip. I used unzip.)
  3. Transfer MSK315.EXE and MSKERMIT.INI to the T3100e by any means available (e.g., floppy disk or FILEXFER.BAS).

Kermit config

Config on T3100e:

; MSCUSTOM.INI - Config for this computer

set port com1
set speed 38400
set flow none
set file type binary
set block-check 3
server

echo T3100e config loaded, 38400 baud

Config on Mac laptop:

; ~.kermrc - Kermit config for file transfers to Toshiba T3100e

set line /dev/tty.usbserial-110

set speed 38400
set flow-control none
set carrier-watch off
set parity none
set stop-bits 1

set file type binary
set file names literal
set block-check 3

show file and show protocol are useful command for checking config settings.

Kermit usage

Run kermit on T3100e:

C:\UTIL>MSK315
  • custom config automatically enters server mode
  • press Ctrl-C to exit; then type quit to quit to DOS prompt

Sending a file from Mac laptop:

send /binary file.dat

FILEXFER.BAS

on T3100e

FILEXFER.BAS

REM Transfer an ASCII file via COM1 serial port
OPEN "COM1:9600,N,8,1,RS,CS,DS,CD" FOR INPUT AS #1
OPEN "OUT.TXT" FOR OUTPUT AS #2

DO
	IF LOC(1) > 0 THEN
		A$ = INPUT$(1, #1)
		IF A$ = CHR$(10) THEN
		ELSEIF A$ = CHR$(13) THEN
			PRINT
		ELSE
			PRINT A$;
		END IF
		PRINT #2, A$;
	END IF
LOOP

CHECKSUM.BAS

REM Calculate checksum of a file

OPEN "OUT.TXT" FOR INPUT AS #1

checksum = 0
nbytes = 0
nkb = 0

DO WHILE NOT EOF(1)
	byte$ = INPUT$(1, #1)
	checksum = (checksum + ASC(byte$)) AND 255
	nbytes = nbytes + 1
	IF nbytes >= 1024 THEN
		nbytes = 0
		nkb = nkb + 1
		PRINT nkb; " kB"
	END IF
LOOP

CLOSE #1
PRINT "8-bit checksum: "; checksum

HEX2BIN.BAS

REM Convert hex-encoded ASCII to binary file

OPEN "MSK315.HEX" FOR INPUT AS #1
OPEN "MSK315.EXE" FOR OUTPUT AS #2

t0 = TIMER
nbytes = 0
nkb = 0
chunk$ = ""
chunkSize = 1024

DO WHILE NOT EOF(1)
	LINE INPUT #1, h$

	FOR i = 1 to LEN(h$) STEP 2
		hexByte$ = MID$(h$, i, 2)
		byteValue = VAL("&H" + hexByte$)
		byte$ = CHR$(byteValue)
		PRINT #2, byte$;

		nbytes = nbytes + 1
		IF nbytes >= 1024 THEN
			nbytes = 0
			nkb = nkb + 1
			t1 = TIMER
			dt = t1 - t0
			t0 = t1
			PRINT nkb; " kB in "; dt; " seconds/kB"
		END IF
	NEXT
LOOP

PRINT "Done"

CLOSE

on Mac laptop

bin2hex on Mac laptop

xxd -p MSK315.EXE > msk315.hex

checksum on Mac laptop

od -An -t u1 -v msk315.hex | awk '{for(i=1;i<=NF;i++) sum+= $i} END {print sum % 256}'

minicom file transfer from Mac laptop

brew install minicom
minicom -s
  • Serial port setup
    • Serial Device: /dev/tty.usbserial-110 (replace as appropriate)
    • Bps/Par/Bits: 38400 8N1
  • File transfer protocols
    • ascii: ascii-xfr -dsv -c 1 -l 5
      (this adds character and line delays to help prevent buffer overruns on the T3100e)

Alt-s to send a file. Use ascii mode.

utilities

md5sum

md5sum is available for MS-DOS

Usage:

md5sum -b file.dat

unzip

Infozip is an open source alternative to PKZIP available for MS-DOS

Usage:

unzip ARCHIVE.ZIP

C compiler

Borland Turbo C 2.01 is available.

I zipped the TC directory and transferred it. I also added C:\TC to the PATH in AUTOEXEC.BAT.

(Dead end note: installing from disk images inside DOSBox didn’t work. The installer didn’t accept the second disk after swapping images.)