This is an old revision of the document!


SST-6809 Single Board Computer

https://github.com/KenWillmott/SST-6809

Part Integrated Circuit
U1 Motorola MC68B09 or Hitachi HD63C09 MPU
U2 Texas Instruments SN74HCT273N Octal Flip-Flop with Reset
U3 Alliance AS6C4008-55PCN 4Mbit / 512KB SRAM
U4 Motorola MC68B50 or Hitachi HD63B50 ACIA
U5 Dallas Semiconductor DS1813 EconoReset
U6 Phillips 74HCT02N Quad 2-Input NOR
U7 Dallas Semiconductor DS1210 Nonvolatile Controller
U8 Shenzhen Honglifa HLF SN74HCT139N Dual 2-to-4 Line Decoder / Demultiplexer
U9 Atmel At28C256 256Kbit / 32KB Parallel EEPROM
U10 Motorola MC74HCT138AN 3-to-8 Line Decoder / Demultiplexer
U11 Dallas Semiconductor DS1233 EconoReset
U12 :!:
U13 Phillips 74HCT20N Dual 4-input NAND

The Memory Map and Bank Switching.

The M8 bus design allows using the most advanced ICs that were available at the time, without regard to brand and fully supports DMA with the 6809 as well.

M8 Game Board

The M8 Game Board combines a TMS9918A Video Display Processor (VDP), dual Phillips SAA1099 sound synthesizers, and dual joystick inputs.

https://github.com/KenWillmott/M8-Game-Board

M8 Game Board Wiki:
https://github.com/KenWillmott/M8-Game-Board/wiki

I/O Memory Map R/W IC
00-07 R/W TMS9918A
08-0F R HCT541
W SAA1099P A
18-1F R HCT541
W SAA1099P B

Bit 0 of each HCT541 is a read of the corresponding synth's DTACK pin for polling when using slower commands.

M8 6809 Mezzanine Board

M8-bus 6809 Mezzanine adds a timer IC, parallel I/O IC, two UARTs for serial communication to the SST-6809 SBC.

One UART is dedicated to an ESP32 module for wifi and bluetooth communications.

https://github.com/KenWillmott/M8-6809-Mezzanine

M8 6522 Proto

M8-bus compatible card which combines a 6522 VIA multi-IO chip with a prototyping area and some I/O connector footprints.

https://github.com/KenWillmott/6522-proto

Software

Getting Started

Plug in USB-C power from a serial port on a Debian GNU/Linux machine.

Install minicom if you haven't already:

sudo aptitude install minicom

Hunt down your USB device pathlist:

ls /dev/tty*

Start minicom with the path to your USB device (-D pathlist):

minicom -D /dev/ttyUSB0

Configure minicom terminal timings for 1ms per character and line ending delays:

[CTRL]+[A] [T]
[D] [1] [ENTER]
[F] [1] [ENTER]

Press RESET on the SST-6809 and you should see:

ASSIST09
>

Hexadecimal Loader

You can use ASSIST09 to load data and code as a hexadecimal loader with these three starting commands:

Dump out a memory range

>D 0000 0100

Display/Edit memory

>M 0000
00-

Simply pick a memory address and start typing in hex codes as 2 digits, and then hit space to go to the next byte

“Go To” an address to start running code:

>G 1000

Load Motorola S-Records

You can also load assembled code as S-record files:

>L

You can load S19 records using copy and paste into the terminal emulator window, or use minicom's cut-and-paste feature:

[CTRL]+[A] [Y]
Choose a file name

Be patient, larger loads may take some time.

If the load succeeds, you will see:

>00

If the load fails, you will see:

?
>

Once loaded, use the “Call subroutine” C <start address> or “Go” G <start address> command to start the loaded program executing on the MPU.

TinyBASIC

TinyBASIC from Jeff Tranter's 6809 SBC repo loads and runs with the S19 steps above.

Then, start TinyBASIC with:

>G 020D
:

TSC BASIC

TSC BASIC from Jeff Tranter's 6809 SBC repo loads and runs with the S19 steps above.

Then, start TSC BASIC with:

>G 1000
!

The Lost Wizard Assembler (lwasm) can output assembled code as S-records, usually saved as .s19 files.

Additional Software

  • PSYMON 1.20B by Percom Data Systems
  • BUGGY 1.01 by Lennart Benschop

Future ...

With the addition of DriveWire or other access to storage, loading full 6809 operating systems may become possible:

  • Flex 6809?
  • CP/M?
  • NitrOS-9 Level 1?
  • NitrOS-9 Level 2?
  • Fuzix?

Additional Resources

RTS

Return to top