UK101
Return to index

Some History

main board The Compukit UK101 was a single-board computer from the early days of hobby computing in the late 1970's and early 1980's. It had a 6502 processor running at 1Mhz and a small amount of RAM, usually 4K or 8K bytes.

There was a full size, reasonable quality proper keyboard for input; video output, as was common for hobby computers at the time, was got by hooking up to a standard TV set and program storage was via a 300 baud cassette tape interface. The machine was essentially a clone of the Ohio Superboard II from the US company OSI but was modified to work rather better with the UK TV standard.

Like most machines of the time it had a BASIC interpreter available in ROM and an additional "monitor" ROM with provided the bootstrap functions and basic I/O facilities.

The Compukit UK101 was sold by as a kit from the Compshop in New Barnet and originally cost about £219.00. It was first published and described as a series of articles in the magazine Practical Electronics starting in June 1979 and was supported by the magazine for a good few years.

The Compukit UK101 was the first computer I owned and I still have it somewhere in my loft. One day I will get it out and get it working again.


Machine Architecture

The UK101 was a very simple machine, apart from the 6502 processor, a 6850 asynchronous communications controller and RAM and ROM chips, just about everything was built from standard TTL logic - there were no custom ICs at all. The was an 'expansion' socket on the PCB (the big empty socket on the right above the keyboard in the picture above) that provided access to all the address bus and data bus lines plus various other control signals, allowing, in theory, a range of additional hardware to be plugged in.

The 6502 could address 64kB of RAM and everything on the machine was memory-mapped into that address space:

0x0000
onwards
Start of RAM

The standard machine came with 4K of RAM but there were sockets on the PCB to allow up to 8K to be installed (in 1K increments). Since the next thing in memory was at address 0xA000, in theory, with a suitable expansion board, you could have up to 40K of RAM installed - this would have been rather expensive in 1979!

0xA000
to
0xBFFF
The BASIC ROM

This was 8K and was actually in 4 2K ROMs (as a single 8K ROM wasn't available at any reasonable price). However the PCB could support a single 8K ROM if one became available leaving 3 empty sockets for potential use by other ROM software.

0xD000
to
0xD3FF
The video RAM

The standard machine had 1K of video RAM arranged as 16 rows of 64 characters, although due to the simple video display circuitry (there was no custom video chip remember) not all those 64 characters could be seen on a standard TV. You normally got about 48 characters displayed which curiously were not the first or last 48 from the line but 48 starting from somewhere in the middle, usually starting at about 13 characters in.

0xDF00 The Keyboard

The keyboard was mapped as a single byte. The keys were arranged in an 8x8 matrix and to read the keyboard you had to write a 'column' byte to the keyboard port and read back a 'row' byte. Using the written 'column' value and the returned 'row' value you could determine which key or keys was pressed. The monitor contained routines to do this and decode the key to its ASCII character value.

0xF000
and
0xF001
The Cassette port

This was actually the status and data ports of the 6850 ACIA, which was used to drive the simple cassette interface. No interrupts were used so you had to poll the status port when reading or writing the cassette to see when data was available.

0xF800
to
0xFFFF
The Monitor ROM

The top 2K was the monitor which contained some basic machine operating routines - such as reading and decoding the keyboard and reading and writing characters to and from the cassette interface.

Modifications

Because of the simple nature of the hardware, it was very easy to modify the machine. Some very common modifications included:


Further information

Quite a lot of additional information can be found by searching the internet for "Compukit UK101". A few good starting places include:

By the way, although the UK101 was the first machine I owned, the first machine I did any programming on was an Elliott 803. You can find my simulation of that machine here.


Tim Baldwin
February 2011
tjb101@tinymail.co.uk
Return to index

© Tim Baldwin 2010,2014