The Compukit UK101 microcomputer (1979)[1] is a kit[2] clone of the Ohio Scientific Superboard II single-board computer, with a few enhancements for the UK market - notably replacing the 24×24 (add guardband kit to give 32×32) screen display with a more useful 48×16 layout working at UK video frequencies.[3][4][5] The video output is black and white with 256 semigraphic characters[6][7] generated by a two kilobyte ROM. It has no bit-mapped graphics capability. The video is output through a UHF modulator, designed to connect to a TV set.
A running Compukit UK101 | |
Manufacturer | Compukit Ltd.; CompShop Ltd. |
---|---|
Type | microcomputer |
Release date | 1979 |
Units shipped | around 5000 kits |
Media | Cassette tape, disc drive (optional expansion) |
Operating system | Microsoft BASIC |
CPU | 6502 @ 1 MHz |
Memory | 8Kb, 40Kb (optional expansion) |
Display | TV, monochrome |
Graphics | 48 x 16 characters, 256 semigraphics, monochrome |
Sound | General Instrument AY-3-8910 (optional expansion) |
Input | Matrix of keyswitches |
Power | 5.0Vdc at 25Watts for an expanded system |
History
editThe 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
editProcessor
editThe 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
editThe 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
editThe 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
editIn 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
editAlthough 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
editThe 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.
References
edit- ^ BeeJay (2003). "Compukit UK101 Home Page". BeeJay's Home Page. Archived from the original on 2004-10-10. Retrieved 2023-01-09.
- ^ Searle, Grant (December 29, 2019). "How to build your own micro UK101". The Compukit UK101. Retrieved 2023-01-09.
- ^ "Compukit UK101". Centre for Computing History. Retrieved 2023-01-09.
- ^ "UK-101 Compukit". www.old-computers.com. Retrieved 2023-01-09.
- ^ "UK101 main page". BBC Educational Software Archive. Retrieved 2023-01-09.
- ^ a b Honniball, John (January 31, 2008). "The original UK101 character set" – via Flickr.
- ^ a b Berk, A. A. (1979). The Compukit UK 101 Manual (PDF). Compukit Ltd.
- ^ BERK, A.A. (August 1979). "COMPUKIT UK 101 - SINGLE BOARD COMPUTER" (PDF). Practical Electronics: 24.
- ^ 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.
- ^ Ward, Martin (March 6, 2016). "Software written by Martin Ward". Martin Ward's Home Page. Archived from the original on 3 March 2016.
- ^ Ward, Martin (March 6, 2016). "Software written by Martin Ward". Martin Ward's Home Page. Archived from the original on 3 March 2016.
- ^ "Compukit UK101". WARD ELECTRONICS. 2012. Retrieved 2023-01-09.