Use Serial Port

Chris DavisKenbak

This works with the following versions of the Kenbak-1:
  • Full-Size Kenbak-1
  • New µKenbak-1

Write out memory to USB serial port:

Press BitN+DISPLAY writes program memory as 16 lines of 16 bytes of
octal data to the serial port.  BitN sets the baud rate as shown below.

Read memory from USB serial port:

Press BitN+SET reads program memory from the serial port.  BitN sets the baud rate as shown below.

By default the program expects octal constants, delimited by almost anything (comma, newline etc).
Prefix hexadecimal constants with 0x. Use uppercase A..F.
Each number is treated as a single byte and written to program memory, starting from address 000.
The operation halts when:
* the 256th byte is written to memory
* either an 'e' or an 's' (lowercase) is read from Serial (i.e. end/stop).
* STOP is pressed
When running, the program displays the most significant nibble of the current address (hex).
When finished it displays the length and checksum (sum modulo 256) in hex:
[0123456789ABCDEF] len=0x100 chk=0x9E

Examples
A file containing this:
0000,0000,0000,0004,0023,0220,0123,0000,0360,0023,0221,0123,0000,0360,0023,0021,
0360,0134,0002,0023,0021,0360,0134,0001,0134,0000,0323,0017,0034,0001,0023,0220,
0360,0023,0222,0123,0024,0360,0024,0001,0001,0034,0001,0023,0220,0360,0234,0200,
0023,0222,0123,0050,0360,0343,0016,
s

or this:
0x00 0x00 0x00 0x04 0x13 0x90 0x53 0x00 0xF0 0x13 0x91 0x53 0x00 0xF0 0x13 0x11
0xF0 0x5C 0x02 0x13 0x11 0xF0 0x5C 0x01 0x5C 0x00 0xD3 0x0F 0x1C 0x01 0x13 0x90
0xF0 0x13 0x92 0x53 0x14 0xF0 0x14 0x01 0x01 0x1C 0x01 0x13 0x90 0xF0 0x9C 0x80
0x13 0x92 0x53 0x28 0xF0 0xE3 0x0E
e

will upload Das Blinken Lights.

Higher baud rates may be less reliable, although setting a transmit delay may help.

BitN baud rates:

0 = 4800 baud
1 = 9600 baud
2 = 19200 baud
3 = 38400 baud