Close
0%
0%

Nanocomp 6809 8 Bit Retro Computer on Breadboards

Wireless World Magazine in January and June 1981 published this design. Reproduced on solderless breadboards using the original Monitor ROM

Public Chat
Similar projects worth following
The Nanocomp 6809 was a simple microcomputer design published in Wireless World magazine in 1981, with a 25 key keypad and 6 digit 7 Segment LED display. I built a version of this using PCBs and wire wrap in 1981. Now re-built using the original Monitor ROM on solderless breadboards. Recent updates include breadboard VGA Video controller. See step by step progress of the project on the Nanocomp Playlist https://youtube.com/playlist?list=PL0HI91x0gPoGBl-kXYaOYuHD8poIxmHG3.

The Wireless World Nanocomp 6809 project was published in July 1981. Scans of the original paper-based articles are included in the Files section.  The full January 1981 and July 1981 Wireless World issues are available online but are not quite as clear as the scans.  

I had started to build a Motorola 6809 based micro earlier in the 1981 but then adapted the design to incorporate the memory map used by the Nanocomp and adopted the keypad and 7 Segment LED display design so the Nanocomp 6809 Monitor ROM could be used. During the COVID Lockdowns, I came across the original PCBs and wiring pen boards in the attic. They were quite corroded, and the key caps had gone missing but the EPROM with the monitor will still readable using an EEPROM programmer. 

The Keypad, LED 7 Segment Display, BCD Decoder and Cassette Interface using a mixture of Printed Circuit Board and RoadRunner Wiring pen (below)

My design for the main CPU board was going to include buffer chips, but since the Nanocomp had so few chips, it didn't need them so I re-used the board and put wire links in place of the buffer chips. The second board included the address decoder, RAM, ROM and MC6821 PIA for controlling the keypad and display.

Needless to say that creating PCBs like this was time consuming and error prone (I know it's easier now) but I thought it would be interesting to see if I could re-build the Nanocomp on solderless breadboards which is where this project started.

There is a full step by step video series in the following Nanocomp 6809 Playlist. I would recommend enabling subtitles (CC) and run at 1.5x or 2x speed. All videos have chapters and manually corrected subtitles so should be fairly accurate.

For those who want something a bit quicker, there is a 15 minute video, with the entire build compressed into a 10 minute speeded up sequence.

The current version of the Nanocomp project is Version 2.0 which is shown below. This is based on the 1981 original but with a serial port with TLL to Serial USB adaptor to allow software to be saved to a PC or loaded from the PC.

Recent Project Log updates show the basic configuration of a VGA compatible video controller, starting with basic CRTC configuration and video Digital Analogue Converter (DAC).

Then this was extended to include a Character Bitmap RAM loaded with a VGA 8x16 font displayed in a test pattern.

Then added Video RAM to allow more than a predefined test pattern to be displayed with hard coded foreground and background colours.

Nanocomp6809V5.pdf

KiCad schematic for Version 5.0 of the Nanocomp. This adds the CRTC, Video Clock, Counters, Video DAC and Sync timing signals. Character RAM and Video RAM also added for future videos in the series.

Adobe Portable Document Format - 274.63 kB - 11/23/2022 at 21:52

Preview
Download

Nanocomp6809V4.pdf

KiCad schematic for Version 4.0 of the Nanocomp. This replaces the original address decoder with a PLD (GAL) and updated the memory map to use the full 64K address space and makes room for a future video controller.

Adobe Portable Document Format - 176.06 kB - 11/13/2022 at 23:13

Preview
Download

Nanocomp6809V3.pdf

KiCad schematic for Version 3.0 of the Nanocomp which builds on V2 and adds a new buffer board to protect the CPU Data, Address and Control lines. Will allow further expansion in the future for video card etc. Kicad files in Github.

Adobe Portable Document Format - 169.20 kB - 11/07/2022 at 20:35

Preview
Download

Nanocomp6809V2.pdf

KiCad schematic for Version 2.0 of the Nanocomp which builds on V1 and adds a serial port and updates to the Monitor ROM to Load and Save programs in Motorola SREC format. Kicad files in Github.

Adobe Portable Document Format - 140.25 kB - 11/02/2022 at 23:12

Preview
Download

Nanocomp6809V1.00.pdf

KiCad schematic for Version 1.0 of the Nanocomp which matches the original design with just an update for the RAM and EEPROM components. Kicad files in Github.

Adobe Portable Document Format - 109.46 kB - 11/02/2022 at 23:12

Preview
Download

View all 12 files

  • 1 × Motorola MC6809P Processor Make sure you don't use MC6809EP as this has different clock requirements
  • 1 × Motorola MC6821 Peripheral Interface Adaptor PIA
  • 1 × ATMEL 28C64B 8KB EEPROM
  • 1 × Alliance Memory AS6C1008 128KB Static RAM
  • 1 × 74LS138 3 to 8 Decoder

View all 28 components

  • Version 5 Breadboard VGA video character RAM and video RAM

    Dave Henry6 days ago 0 comments

    Further updates to add configurable character RAM which allows fonts to by dynamically loaded and character raster images to be redefined for custom graphics shown below for a VGA 8x16 font.

    Example image of the VGA characters in the default font

    This is then extended in video 4 where the video RAM is added to allow up to 30 rows and 80 characters with hard coded foreground and background colours (later stages will add upto 256 colours from 262K palette).

    Example image from 20" LCD Monitor

    Future updates to include 16 Colours foreground/background by character, 640x480 2 colour graphics and 320x200 256 colour graphics.

  • Version 5 Breadboard VGA video CRTC & Video DAC

    Dave Henry11/23/2022 at 21:52 0 comments

    The next stage of the Nanocomp project. In Version 5  we are starting to add a VGA compatible video controller on breadboards to the project. The introduction video V01  explains the steps which will build the controller in stages. Some screenshots of an earlier version of the project included below too.

    The second video starts to build out the video controller with the Motorola 6845 compatible CRTC to generate the Vertical and Horizontal Sync outputs and a simple resistor video Digital Analogue Converter (DAC) to generate VGA compatible Red Green Blue signals.

    The image below shows the RGB inputs connected to the CRTC Memory Address lines to generate a test pattern showing the 16 colours generated by the simple resistor DAC.

    V5 Schematic Diagram updated with initial video card details in Nanocomp6809V5.pdf in files section. KiCad files uploaded in GitHub 

  • Version 4 PLD address decoder and 64K Memory Map

    Dave Henry11/13/2022 at 23:11 0 comments

    The next update to the Nanocomp has been provided on YouTube and GitHub.  

    The first video discusses how to ensure reliable breadboard projects by making sure the power distribution to the project is good as possible. Many people reproducing breadboard projects such as those like Ben Eaters have difficult to trace problems with power, normally because voltages on some breadboards drop to below 4 Volts. The recommendations are then applied to the Nanocomp project.

    With Version 4 the original design address decoder was replaced with an Atmel ATF22VL10 PLD (GAL) Programable Logic Device. This was first confirmed as working with the Original Memory map. 

    The final part shows how the original 32K Memory map of the original 1981 Nanocomp design was updated to use the full 64K address range of the 6809 processor. The Atmel ATF22VL10 PLD was updated for the next 64K memory map and the Monitor ROM updated to run from the top 32K of memory.

    GitHub has been updated with the latest KiCad schematic, the PLD configuration files and the revised Monitor assembler source.

    The next updates after this will be adding a VGA compatible video controller to the design over a number of iterations.

  • V3 Add Data, Address and Control Bus Buffers to protect/expand CPU

    Dave Henry11/07/2022 at 21:17 0 comments

    The Motorola MC6809 datasheet states that the Data and Address bus signals can drive up to 4 LS TTL loads.

    V1 and V2 of the Nanocomp design only have 4 chips consuming Data and Address bus signals from the CPU.
    To support future expansion such as adding a video controller and video RAM will require buffers to drive the Data, Address and Control Bus signals (E Clock and R/W).
    4 Buffer chips, Data Bus 1 x 74LS245, Address Bus 2 x 74LS541, Control Bus 1 x 74LS241 have been inserted onto a new breadboard between the CPU and the rest of the project.
    The video of adding the bus buffer board is below.


    The full Nanocomp Playlist shows creating the Breadboard computer from start to finish.

    Further developments are planned. Exact Version numbers may change.

    Version 4 Will expand the address space used from 32KB (A15 was not used in the original Nanocomp) to 64KB and the accessible RAM will be expanded from 4KB to 32KB.
    The full 8KB of the EEPROM will also be usable.
    The address decoder will be replaced using an ATMEL ATF22LV10 Programable Logic Device (PLD or GAL) which will allow more complex rules to be configured without needing lots of logic chips.

    Version 5 will add a VGA compatible video card capable of 640x480 Text and basic graphics in 16 colours running on breadboards.

    Version 6 will try and implement some form of Tetris type game (though without sound), so the response to "Does it run Tetris" can be yes! This spec of hardware will never be able to run Doom!

    The documents, datasheets, ROM binaries, source and other files are all maintained in GitHub

    To keep up to date Subscribe to the Breadboarding Labs Channel

  • Version 2.0 adds a serial port and updates Monitor to Save and Load SREC

    Dave Henry11/03/2022 at 00:37 0 comments

    Version 1.0 of the Nanocomp 6809 re-produced the same design as the 1981 version so the original Monitor ROM could be used unchanged. The Cassette interface electronics was not re-produced as this would be obsolete with the introduction of a serial port connected to a modern PC over USB.

    Version 2.0 of Nanocomp is possible as the original Monitor ROM has been disassembled in video 12 in the Nanocomp 6809 Playlist so that enhancements can be made to support a serial port.

    The Motorola MC6850 is used to provide a serial port, with a dedicated clock with frequencies designed to divide down to common Baud rates (9600 Baud, 8 Bits, No Parity is used). Rather than using the RS232 serial standard which requires +/- 12V signals, a TTL to Serial USB adaptor is used to interface the MC6850 to the PC. The RealTerm terminal emulator is the used to test the serial ports and for loading and saving SREC program files.

    Further developments are planned. Exact Version numbers may change.

    Version 3 will add Data, Address and Control line buffer chips to allow expansion of the Nanocomp beyond the 4 LS TTL loads the 6809 supports. This will also expand the address space used from 32KB (A15 was not used in the original Nanocomp) to 64KB and the accessible RAM will be expanded from 4KB to 32KB. The full 8KB of the EEPROM will also be usable.

    Version 4 will add a VGA compatible video card capable of 640x480 Text and basic graphics in 16 colours running on breadboards.

    Version 5 will try and implement some form of Tetris type game (though without sound), so the response to "Does it run Tetris" can be yes! This spec of hardware will never be able to run Doom!

    The documents, datasheets, ROM binaries, source and other files are all maintained in Github

    To keep up to date Subscribe to the Breadboarding Labs Channel 

  • Version 1.0 Nanocomp uses same Monitor as 1981 version

    Dave Henry11/03/2022 at 00:13 0 comments

    Version 1.0 of the Nanocomp was built to re-use the original Monitor ROM (though copied onto a new EEPROM) and uses almost the same design.

    There have been a few updates. The original RAM used 2 x 2114 1Kx4 bit Static RAM. These have been replaced with a modern 1278KB static RAM. In Version 1.0 we only use 4KB of the 128KB.  The original EPROM required UV erasing so these have been replaced with more recent EEPROM such as the ATMEL 28C64B 8KB EEPROM.

    The MC1413 Darlington driver chip was not available and was replaced with a ULN2803A Darlington Driver which has the added benefit of being TTL compatible, so it does not need the additional 5K6 resistors the original design had.

    The 7442 BCD Decoder/Driver was not available and was replaced with the 74LS145 which is capable of driving higher currents as well.

    The original crystal was about 3.5Mhz due to the RAM and ROM having slower 450ns access times. This is not necessary with the more recent chips so the speed was increased to 4Mhz.

    The modern 7 Segment LED Displays have the E & F segments reversed compared to the 1981 design so this has to be considered when viewing the old schematics. 

    Videos 1-9 in the Nanocomp 6809 Playlist cover the construction of version 1.0

    Videos 10, 11 and 12 cover the testing and exploring the Monitor, simple Machine Code programming and disassembling the original Monitor binary code into assembler source which can be re-assembled back to the same binary image,

    Videos 13,14 & 15 cover Nanocomp Version 2.0 which includes a Serial Port and updating the Monitor Save and Load to/from tape to work with the serial port using the Motorola SREC text format for transferring executable code.

View all 6 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates