6800 SBC Project

6800 SBC Board

02/17/2021

A few years ago a generous friend gave me this 6800 Single board computer. He spotted the EPROMS

and knew it was something I be very interested in.

The board was covered with a heavy coat of epoxy I supposed to impede moisture or prevent parts

from being loosened by vibration. Whatever the reason it made tracing out the connections difficult

since I had to pierce the coating with my multimeter probes to ring out the traces.

Tracing the chip selects from the EPROMs back to the SN54LS138 3 to 8 line decoder gave me a good

start at defining the address ranges for the EPROMS, RAM and PIO chips and finding I/O port connections

on the edge connectors and I was ready to go.


First step of course was to get an LED blinking on one of the MC6822 I/O pins. This would establish

my ability to to get code running, see some output and get an idea of a reliable loop style delay routine.

This of course was all leading up to building serial I/O and getting a terminal working.


For most of my projects, I'm able to use my USB-Serial adaptors 5V output to power the CPU board as well

but this board was a bit power hungry and would require it's own 5V supply so I built a little add-on connector

(see on the right hand side) with a power switch, reset and NMI buttons and a power LED.


The 6800 assembly language is VERY similar to the 6303 assembly code I used in my HD6303 project

so I was quickly able to translate the features used on that board to this one. The most important of course

was to get the ability to upload code to RAM from .HEX files created by the assembler. Once that was working

the other features could be tested and debugged in RAM without a lot of EPROM changes. The copied features

include in memory dis-assembly, assembly as well as a port of BASIC.

This all fit nicely in 8K of ROM space. My 27C256 EPROM fit nicely into the socket used for the original 2764 EPROM

but I only had access to 8K of it's space. Fortunately that's all I needed.


Since I wasn't using the other EPROM socket I decided to try to populate it with an interesting RAM chip I happened

to have. The ZMD U63764DC (left side EPROM socket with yellow label covering it) is a 8Kx8 static RAM with

EEPROM backup. Any data loaded in RAM when the chip is powered down will be automatically backed up into

EEPROM and re-loaded into RAM on power up. Writing a specific sequence to specific ram locations will

force a SAVE or RECALL of stored data on demand. This required a couple of signals to be brought from the

edge connector to the RAM socket (piggy-backed on the original socket) but it worked out nicely giving me

an additional 8K of RAM to debug my monitor code in.



Resources and Tools:

The 6800 is well documented and I easily found a simple assembler online.

https://www.retrotechnology.com/restore/a68.html

Even a simulator (see download link at bottom of this page).



Software:

The monitor program offers these features

With additional connectors

The 6800 Board running an LCD Demo

The Dis-Assemble feature

File Links: (click to download) Description


File Links: (click to download) Description


MONROM03.ASM Monitor Source Code


6800pgmr.zip Source and binary for command line utility to upload a HEX file to the 6800 system


SDK6811.zip 8600/6811 Simulator