Skip to content

rcl9/Colossus_Control_Computer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The 'Colossus Control Computer' -- A Beast of a Z80 Machine!

This repository documents my "Colossus Control Computer" which was my main go-to development machine ("It has every feature including the kitchen sink") that was started in March 1985.


I call it a "beast of a Z80 machine" because it has more odds and ends + add-on gadgets than with most self-built computers. It was also the test bed and development platform for my follow-on March 1987 "Phoenix MIDI Computer". An interesting sub-project for Colossus was my Dec 1985 'Drum Pad Triggers for a MIDI Drum Machine'.

Table of Contents

The Basic Feature Set

  • Z80A 8-bit processor running at 2 to 4Mhz.
  • Z80 CTC general purpose timer
  • Z80 SIO (serial I/O). Port A = RS-232, Port B = MIDI
  • Z80 PIO (parallel I/O) to interface to the drum trigger pads
  • 8253 programmable timer
  • 8255 parallel ports A, B and C
  • 8279 to interface to the keyboard and the 8 segment LED display
  • 58167 real time clock with Dallas DS1210 battery backup controller
  • 2764 EPROM memory
  • 8K 6264 static memory (used for code execution during CP/M3 DRAM bank swapping)
  • 1MB of DRAM + controller
  • RCL9's "Universal I/O Port" interface. The pinout can be found at the end of this page.
  • Atari 800 cartridge 30-pin interface
  • Roland M-16C and M-64C synthesizer patch cartridge interface
  • 5-1/4" floppy disk controller and interface
  • SASI hard disk controller interface
  • 2 line Hitachi H2568 40-position LCD display (interfaces for two of these displays)
  • 8 segment LED display
  • 8 channel, 8-bit multiplexed analog-to-digital converter based on the TI ADC0809 to measure 8 potentiometers
  • 9 drum pad triggers (using piezo-electric microphones)
  • MIDI in and out connectors (for a Roland TR-707 drum machine interface)
  • Votrax SC-01A speech synthesis + sound mixer and amplifier + supporting software in the monitor ROM
  • Numeric keypad
  • Scanned ASCII keyboard
  • PAL16L8 for I/O port decode (refer to 'decode1.abl')
  • Kepco switched mode power supply from Exceltronix Toronto (+5v at 4.65A, +12v at 2.8A, +12v at 2A and -12v at 0.5A).

Source Files

Filename Description
sbcmon.mac The firmware for Colossus
lcd.mac Hitachi LCD driver
speak.mac Votrax SC-01A speech synthesis driver
xmodem.mac Xmodem send/recieve routines
simon.mac The game of Simon for an external hardware device
keytbls.mac Keyboard translation tables
dacsynth.mac A simple music tone generator using two DACs

Block Diagrams

Memory map:

Schematics

Function Schematic
1MB dynamic RAM controller - Page 1
1MB dynamic RAM controller - Page 2
5-1/4" disk driver interface
8 channel multiplexed ADC interface
Votrax SC-01 speech synthesizer
8255 I/O port (aux board)
Atari 800 cartridge interface
Auxiliary board decode
CPU - Bus buffering - I/O and memory decode
Configuration I/O ports
General I/O ports and LCD interface (aux board)
Hard disk interface
Inter-board buffers
Interrupt structure and LED board layout
Keyboard-LED driver
Keypad multiplexing
Memory and I/O decode
Z80-PIO (parallel I/O) interface
Real time clock (aux board)
Resident 4K RAM and Banked EPROM
Roland synth cartridge interface
Z80-SIO Serial interface
Timers

System Function Overviews

Function Document
Software and hardware interrupts
8253 programming
8255 bit assignments + Universal I/O Port
Auxiliary board I/O map
I/O driver functions
Keyboard special function numbers
Main board I/O map
MIDI driver functions
RS-232 serial driver functions
Static RAM vector table
System driver functions

Images

The main controller board:

And its auxiliary daughter board:

Rear view of the LED display panel and its drivers:

Drum pad triggers for a MIDI drum machine:

The game of Simon which connects to the parallel port: