Serial terminal emulation software

Serial terminal emulation software, essential when working with SBC’s like the KIM-1.

I started working with computers long long ago. I loved the Digital Equipment devices, the VT100 (1982!), the excellent VT220, the VT340. All serial, the base of the ASCII control codes.

A wide selection is available of programs that work with the serial line.

    • Most implement a subset of the ASCII control codes, VT100 and more. for SBC’s a subset is sufficient
    • Some have strengths in debugging and showing what is sent or received (hex view, control characters etc).
    • Also important is flow control (off, hardware/software).
    • Sending/receving files (text or binary) is also often the only way to get data to/from the SBC. Simple character based (includes hex formats like Intel, S records Motorola, MOS papertape) or with a protocol (Xmodem, Ymodem. Zmodem etc).
    • TCP/Ip protocols like SSH are a bonus
    • And last but not least the ability to wait/delay after sending a character or Line end (Enter key) to let the slower SBC handle the incoming data. For example the KIM-1 MOS papertape format receive, but at higher baud rates needs delays

I found a page on Sparkun that has an excellent description what is essential in dealing with serial communication on a PC, be it Windows, Linux etc.

Also this page names good free terminal emulation programs, running as GUI programs, for serial I use myself.
– Coolterm (croos platform)
– Tera Term (Windows)
– Realterm (Windows)
– YAT (WIndows)

Not named in this list

– Putty (linux and Windows)
– Minicom (Linux console mode)

KIM-1 and clones

Most programs allow character and line delay for sending to slow devices. The KIM-1 with its bit banging serial routines is one of them.

For me 9600 baud, 5 msec character delay and 100 msec line delay worked for me to upload papertape format, this also applies to the clones like PAL-1, Corshams KIM Clone and the Micro KIM.
For Microsoft Basic text file uploads of program sources a line deay of 200 msec may be required.

Serial ports

Nowadays serial ports are only available with USB devices. Work fine in general.
I have here information on USB serial communication and how to write programs (Lazarus of course).

Elektor Junior Paperware 3 in German!

Thanks to Martin Seine I have added the Paperware 3 in German book to the Junior book collection.

6809 Microprocessor Kit

Designed and sold by Wichit Sirichote. Full text and files at his website here. The kit is available for sale, kit or assembled!
Wichit picked the Z80 CPU and designed the microcomputer kit with HEX keys and 7-segment LED displays, and wrote the monitor program.

The 6809 microprocessor kit is a member of the microprocessor kit family (I have also the 6502 and Z80 kit), and share a common design as far as keyboard and LED display and 32K RAM concern, in a format comparable with the Microprofessor 1b.
This kit has hardware serial (68B50) UART at 19200 baud, a big step up from the software serial bit banged slow 2400 baud in the other kits.

Z80 Microprocessor kit

Design and text by Wichit Sirichote. The kit is available for sale, kit or assembled. Wichit picked the Z80 CPU and designed the microcomputer kit with HEX keys and 7-segment LED displays, and wrote the monitor program.The version I have is an older (slower) version with a monitor (source in User manual) close to the the Microprofessor 1b. The current one has a SDCC compiler generated monitor program.

Posted in Z80

6502 Microprocessor KIT

I have a 6502 system that looks a lot like the Microprofessor 1.

Have been playing with it, a new version of the monitor and using the serial I/O. So an update to the page devoted to this system.


Atari 850 interface: 6507 + 2 6532

Though this site is not about home computer systems, but about small SBC’s, it is nevertheless interesting to look at the Atari 850 system.
Atari produced the 850 Interface Module to provide access to devices complying with two important interface standards of the time, RS-232-C serial and Centronics parallel.
Four serial interfaces, one parallel interface in self contained case, with its own power supply. Connected to the Atari via the standard SIO cable.

When you look into the system you discover it is actually a simple microprocessor system. The heart is a 6507 CPU, the serial and parallel lines are built with two 6532 IC’s, a ROM with the software.Serial interfaces and the 6532? This means bit banging.So this fits well in the theme of small SBCs!

KIM-1 emulators

A page describing known (to me) KIM-1 emulators.

No one is yet prefect., the combination of my KIM Simulator and the KIM-1 emulator in Javscript comes close.

Telefonbuch

Found in Hobbycomputer #1 (c) 1980 Herwig Feichtinger (of EMUF fame!) improved by Nils Andreas, a phonebook
In fact, it is a searchable text database. Full article here

The program is written, probably by hand, Herwig Feichtinger in the German magazine Hobbycomputer, Issue 1.

On the github page of Nils you can find source and executables.

Hobby Computer magazine

A German magazine, from Franzis Verlag. Sonderheft der ELO Funkschau Elektronik


Hobbycomputer 1

KIM-1 articles llike Telefonbuch. See also the page on Telefonbuch restauration.

 

 

 

 

 

 

Hobbycomputer 2

KIM-1 and more general 6502 articles.

 

 

 

 

 

 

Update to the KIM-1 Simulator

Nils, a very enthousiast PAL-1 user discovered in an old German magazine, 1979, HobbyComputer 1, a small phonebook program for the KIM-1.
It is a command line utility, extremely small and quite clever. See the post about it here.

So he entered the code in assembler and did some tests on his PAL-1 (it worked) and in the KIM-1 Simulator, which was not working.
He found the ‘database’ corrupted.

Of course I had to look at it and see what was going on. It had to be something about using zeropage pointers into the database.
And it was. In the source an instruction appeared:

INY  ; Y = 0

followed by an indirect addressing, Y into the database and preceded by a call to getch, reading a character from the keyboard.
Y was not used in the program before, so in the Simulator it was uncertain what the value was.

GETCH is known to destroy the Y register, delivering the character in register A. How is unspecified.
In the KIM-1 Simulator the KIM-1 GETCH is patched to the ACIA routines of the emulated 6850 serial interface.
Those routines do not use Y, so it is left untouched.

So time to study the KIM-1 routines. In the delay a bit routine the Y register is filled with the final state of a counter, TIMH.
It looks like the decrement ends with the value $FF, when the BPL becomes false, the whole purpose of the use of Y seems to determine that end of the loop?

 1ED4  AD F3 17  DELAY   LDA   CNTH30                           
 1ED7  8D F4 17          STA   TIMH
 1EDA  AD F2 17          LDA   CNTL30
 1EDD  38        DE2     SEC   
 1EDE  E9 01     DE4     SBC   #$01 
 1EE0  B0 03             BCS   DE3  
 1EE2  CE F4 17          DEC   TIMH
 1EE5  AC F4 17  DE3     LDY   TIMH
 1EE8  10 F3             BPL   DE2
 1EEA  60                RTS

Anyway, the KIM-1 Simulator 0.9.4. GETCH routine now returns with Y=$FF and the phonebook program seems to work.