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:
- https://en.wikipedia.org/wiki/Toshiba_T3100
- https://dosdays.co.uk/topics/Manufacturers/toshiba.php#1988
- T3100e user manual
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:
- Download msk314.zip. Extract it. You just need
MSKERMIT.INI. - Download msk315.zip. Extract it. You just need
MSK315.EXE.
(Note: Mac Finder failed at extracting msk315.zip. I usedunzip.) - Transfer
MSK315.EXEandMSKERMIT.INIto 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
servermode - press Ctrl-C to exit; then type
quitto 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)
- ascii:
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.)