The UK101 design was published in Practical Electronics, a popular hobbyists magazine at the time. The August, September, October and November 1979 issues carried the four parts of the article, by Dr. Anthony A Berk.[8] Later issues of the magazine contained information on modifications and additions to the machine, including a series of articles on building an expansion unit.[9]
Kits of parts for building the machine were available from Compukit Ltd. / CompShop Ltd. of 14 Station Road, Barnet, Hertfordshire.[7] It is thought that around 5000 kits were produced.
Description
Processor
The Compukit UK101 is powered by a 6502 microprocessor CPU running at 1 MHz, and is equipped with up to 8 kilobytes of RAM using 2114 static RAM chips of 1024×4-bit. An additional memory-mapped 1 KB of RAM is used for the video display. It has the 8K Microsoft BASIC interpreter stored in ROM. In addition to Basic, a 6502 machine code monitor (2K bytes) is built into ROM. It allows programming by entering sequences of 6502 opcodes. Later a two-pass assembler was available which allows the use of assembly language.
Although the 6502 has two interrupt input pins (NMI and IRQ), neither is used by the UK101.
Display
The UK101 has a 16-row, 48-column memory-mapped character semigraphics display, with each character taking up 8x8 pixels with an aspect ratio of about 1:2 (corresponding to an effective resolution of 384x128).[6] All scrolling and character output functions are handled by firmware. In the original ROMs, the output functions were rudimentary and did not include a clear-screen function.[10] CPU access to video memory causes noticeable glitches (known as "snow") on the screen.
Keyboard
The keyboard of the UK101 is located on the main PCB, and comprises a matrix of keyswitches. The matrix is interfaced to the CPU via two 8-bit I/O ports, and is polled by firmware in the machine's ROMs. One key is a latching type, the shift-lock key. When supplied as a kit, the keyboard was assembled by the purchaser from a bag of switches and keytops.
The keyboard ports are located at address DF00 (hex), or 57088 (decimal). BASIC programs typically poll for real-time keyboard input by using the PEEK and POKE commands at that address. Because the keyboard lacks any way to generate an interrupt, it is not possible to implement a typeahead buffer. The keyboard matrix also lacks any diodes at the intersections of the matrix. This leads to problems when reading certain combinations of keys pressed simultaneously. The matrix was designed to allow only the shift, control and shift-lock keys to be pressed simultaneously with another key. The keyswitches themselves were originally manufactured by Cherry.
Program Storage
In common with other home computers of the time, software can be saved and loaded on standard cassette tapes.[11] The UK101 uses the Kansas City standard tape format.[12] I/O is managed by a Motorola 6850 ACIA. This allows a full RS-232 port to be implemented, with the addition of a few extra components and minor modifications to existing jumpers on the board.
Compared to the Superboard
Although very similar to the Ohio Scientific Superboard II, the Compukit UK101 differed from that machine in a few places:
Video display of the UK101 works at UK frequency and resolution.
RF output is UHF (channel 36) to suit domestic TVs in the UK.
Power supply is located on the main PCB and accepts UK 240v AC mains input, via an external 9v AC transformer.
Display improved to 16 lines of 48 characters per line.
Memory increased to 8 KB.
However, similarities in the PCB layout make it clear that this machine is a clone. The people involved with the modifications were Chris Cary and Bill Wood.
Expansion
The 40 pin expansion socket opened up the world to the UK101. One could attach a dual floppy disk controller (5.25") and a memory expansion card (40K max) to allow faster and reliable save/load of programs/data.
A sound card became available, built around the General Instrument AY-3-8910, which together with a Peripheral Interface Adapter (PIA) WDC 65C21 chip, gave the UK101 audio abilities.[13]
The UK101 floppy disk interface utilised a PIA to control the floppy disk drive stepper motor and another ACIA to serialise the data written to the disk.
A disk operating system was used to provide file storage capability but this resided in RAM and so reduced the available program space.
Typically single or double sided 40 track floppy drives could be supported.
The power consumption of an expanded UK101 could require up to 5 Amps at 5.0Vdc (25 Watts), so heat dissipation and power supply de-coupling were common challenges. Compare with a modern ARM microcontroller with similar capability at 0.5 Watts.
^BERK, A. A. (June 1980). "COMPUKIT UPDATE"(PDF). Practical Electronics: 71.
^This is not technically correct. There is a screen clear function used during the reset cycle, but it is buried as an in-line routine in the reset code and is not available as a callable subroutine.