A review of the Ohio Superboard II.
Published in Practical Electronics, June 1979.



It is not often, even in the lightning-fast field of Microcomputers, that we have a chance to review a system quite as up-to-the-minute as the one described below. The machine lent to us by COMP Components (14 Station Road, New Barnet, Herts. Tel: 01-441 2922) was perhaps one of the only two in the country at that time. Supply problems have been immense for Ohio Scientific Industries who make the machine. It can only be hoped that, by the time this review appears, the Superboard will be available ex-stock, or on very short delivery, not only from COMP but from the many stockists who started taking orders before Xmas on a full cash basis from the hundreds of hobbyists who have shown interest in this remarkable machine.
The photographs in this article show the compact form the Superboard takes—along with the type of video output which can be expected. Prices range from just over £260 to around £280—see current adverts in this issue for the latest information.


OHIO
SUPERBOARD II
REVIEW
A.A.BERK B.Sc. Ph.D.
Superboard II in use

THE machine comes as a single pc.b. which includes the keyboard section, plus a set of manuals and cassette-based demonstration programmes.


P.C.B. LAYOUT

The p.c.b. is extremely well laid-out, as the photograph shows, with the keyboard deciding the total width of the board which is approximately 370 by 305mm (14½in. x 12in.) in size. The quantity of room and uncramped nature of the assembly would make this a very acceptable kit with few of the usual problems associated with highly dense component layouts. Plenty of high frequency by-passing is also provided as can be seen from the number of disc-ceramic capacitors dotted about the board.


Referring to the p.c.b. photograph: just above, and to the left of the keyboard, is a line of six 24-pin d.i.l. sockets holding, from left to right, one ACIA (6850) for serial communication devices such as cassette and teletype, the monitor ROM (2K Bytes) and four BASIC ROMs (2K Bytes each). These are followed by the 6502 MPU which is at the heart of this machine. Further to the right is a pair of two-way data bus buffers—using 8T28 chips—and some logic for running the keyboard. Finally, at extreme right, is a 40-pin d.i.l. expansion socket labelled J1. The 8T28's are used purely for expansion via J1.

The next couple of rows of i.c.s are for various logic functions and include some unoccupied i.c. pads labelled PROTO on the circuit diagram in the manual and not connected to any p.c.b. tracks. The two rows above these form the next two main blocks of the system—VDU and RAM sections. The RAM is seen implemented by two half-rows of 2144 (1K by 4 BITs) RAM i.c.s over to the right. Eight of these sockets contain i.c.s in the basic system giving 4K bytes of memory and eight more are provided for 4K of expansion simply by plugging in the extra chips.

Only 7K of memory is shown in the photograph. Further to the left is another pair of 2114s forming a further 1K of RAM for the VDU. Next to these is the 24-pin character-generator chip and switching i.c.s for the VDU which is of the memory-mapped type for speed and complete flexibility of use. Over to the extreme left is the crystal-controlled clock generator from which the whole computer, from MPU to cassette interface, derives its timing information.

At the top of the board is the remaining support logic and cassette interface (over to the left), along with various unoccupied holes and pads—the components for which may be added later to complete an asynchronous communications interface including RS232. The top right of the board has provision for power supply unit components, and in the photograph houses an efficient little u.h.f. modulator (ASTEC) which allows direct connection to the aerial socket of a TV (tuning around Channel 36) and gives the excellent results shown in the photographs in this article.


  • 8K High Speed BASIC + 2K Monitor
  • Up to 8K RAM On Board
  • Cassette interface at 300 BAUD (CUTS)
  • VDU—With its Own Dedicated RAM
  • Full ASCII Keyboard
  • Fully Expandable Via On-Board Sockets
  • Less than £300

Superboard II p.c.b.


SUPPLY

The Superboard is a single supply device requiring a regulated +5 volt source. The current depends heavily on the number and type of 2114 employed on the board. OHIO supplies the low-power versions, and with the full 8K the p.s.u. will have to deliver 2.5 to 3 amps. There are also two sockets (with plugs included!) on the top edge of the board. The most important of these is J2—to the left—as this supplies inputs and outputs to cassette and video monitor (or u.h.f. modulator). The other, J3, is for asynchronous communications.

The various "links" printed on the p.c.b. may be cut and connected differently for a variety of uses, and a further edge connector, J4, next to the keyboard (left) may be used to expand the key-functions for a separate programmable application.

The ambitious user will certainly find the p.c.b. construction and layout more flexible than most single-board computers on the market, not least for the reason of spaciousness of design.

KEYBOARD

The integral keyboard gains its best "touch" when the whole p.c.b. is screwed firmly to a base-board of some rigid material such as chip board. It is pleasant to operate and apparently instantaneous in use. There are 53 keys which form a familiarly spaced type-writer format with legends properly moulded-in for durability and excellent readability.

One's unconscious emotional reaction to any computer is almost certainly heavily dependent upon three things:

  1. The keyboard.
  2. The display.
  3. The software monitor and programming language employed.
These three areas are described [below].


To the computer, the keyboard is an array of 8 rows and 8 columns occupying a single address location (DF00). One location is enough as the 8 rows are write-only and the columns read-only. The keyboard routine, stored in the monitor ROM, constantly sends "walking-bit" information to the rows—latched by two 4-bit latches (74LS75s)—and reads the columns looking for the result of a key-closure. The keyboard is thus read for information and decoded by the monitor—this obviates the necessity for a hardware keyboard-encoder chip and ensures speed and accuracy with a low (and hence cheap) chip count. Multiple key readings are prevented by carefully written software and, indeed, this keyboard was considerably less prone to "doubling" than that of some other personal computers.

One or two idiosyncrasies of the keyboard are worth mentioning. The BREAK key to the far right of the keyboard, is simply a RESET button and will be described later. RUBOUT and ESC seem to have no effect for normal operation and the REPEAT key appears to do the exact opposite. If any key is pressed for more than about half a second, that character or function starts repeating continuously (a very useful feature) until the key is released—pressing REPEAT stops this process!

The character generator in the VDU section contains upper and lower case letters plus all the necessary special characters in the ASCII set. These are accessible via the keyboard but not all are indicated. For instance "UP ARROW"—here implemented by ^—is an essential part of BASIC programming and is given by SHIFT N, a fact which the experienced programmer will already know, but not the first time user. There are several other "hidden" special characters, and the complete list, which I discovered, is shown in Table 1 along with any function they perform.



Table 1
Shifted CharacterSpecial CharacterFunction
P@deletes current line
Odeletes last character typed
SÌnone
K[none
L\none
M]none
N^"up arrow" in BASIC

Normal operation of the keyboard is in upper-case mode and for this, the SHIFT LOCK must be in its "down" or "locked" position. My first mistake was to miss this point in an initial enthusiasm to see the BASIC working! Here the manual has its own poignant, if ungrammatical, reminder to the user not to be guilty of the adage about—"reading the instructions when all else fails".

As BASIC is entered into the machine each line may be corrected or deleted before the computer reads the line for execution or filing. When such a line is complete, RETURN is pressed to transfer the line into the machine.

Two control characters are used on the keyboard: CONTROL O and CONTROL C. The first suspends the VDU display during command and program entry, the second suspends program execution. CONTROL O is very useful, for instance, for running from a clear screen—the command RUN, typed after CONTROL O, will not appear.


DISPLAY

As explained above, the VDU section is of the memory mapped type and hence each character on the screen occupies a specific memory location. The Hex address of the "screen" can be found on the memory map diagram (Table 2) and will be seen to occupy 1024 (1K) locations. These are arranged as 32 characters by 32 lines on the screen, but many of them remain undisplayed by the majority of TV sets. The reason for this is quite simple and rests on the fact that a 4MHz (approx.) crystal is employed to generate the "dot" frequency for the characters. Each character is formed from an 8 x 8 dot matrix and the width of a dot on a TV screen is inversely proportional to the dot frequency; 4MHz is simply too low (and hence the dots are too large) to accommodate much more than 24 characters on a horizontal line.

I could only fit 23 on the Philips set illustrated. It is possible to adjust some sets to accommodate more characters per line, but the machine is meant for the average domestic TV, and the majority of rental companies will show a remarkable lack of enthusiasm for your rearrangement of the internals of their £300 colour sets.

In setting up the machine for initial use, the SHIFT LOCK is pressed to lock it into the "down" position then the BREAK key operated. BREAK may be pressed at any time during use causing the display to clear and present the letters D/C/W/M? on the lowest line used by the monitor. These letters, as with all entries to the machine under monitor control, scroll upwards on the display as new entries take their place on the lowest line. BREAK places the machine in its command mode and only one of the above four command letters will be accepted at this point.

The letter D is for disk operation and is not applicable here. C clears the memory of the machine and causes the words MEMORY SIZE? to appear. At this point the user may reserve memory space to hold machine code routines or binary data blocks. Typing just RETURN reserves no memory space, while typing any number greater than 769 (the minimum number of memory bytes needed as workspace for the monitor and BASIC interpreter) will restrict the RAM available for writing in BASIC. This prevents subsequent programming from using the reserved space and destroying its contents.


The next message to appear is TERMINAL WIDTH? Typing RETURN assumes the number 24, while typing any number from 16 to 23 restricts the use by the BASIC interpreter to that number of characters per line VDU display. Any number greater than 24 is assumed to mean 24, and any number less than 16 is ignored causing TERMINAL WIDTH? to reappear. When other output devices are used, the width may be specified up to 72 characters.

After terminal width has been specified, the Superboard enters its BASIC function by printing up a quick advert for itself and giving the number of free bytes of RAM available, which it determines using a memory test. Any RAM malfunction may be noted at this point.


Table 2. Memory Map of the Superboard II
Hex AddressFunction
0000 – 02FFThis block of RAM is used by the monitor and BASIC ROMs as scratch-pad—included here is the stack and all necessary vectors and flags
0300 – 0FFFRest of basic 4K system RAM
2000 – 1FFFOptional extra on-board 4K RAM
A000 – BFFFBASIC ROMs (8K)
D000 – D3FFVideo RAM
DF00Keyboard
F000 – F001ACIA for serial communications
F800 – FFFFMonitor ROM including: floppy disk bootstrap, keyboard routine, 65V machine code monitor, BASIC support and hardware vectors for NMI, RESET and IRQ


The other two command letters are used in the following way. W allows a re-entry after the BREAK without clearing memory. A most useful addition—if only for the reason that the BREAK key is placed far out to the right of the keyboard and very exposed. It is easy, after setting up a BASIC program to brush the BREAK key causing the screen to clear and D/C/W/M? to appear—pressing C at this point would delete the program completely. M is used to enter the machine code monitor and will be described later.

During text entry, the monitor moves a "dash" symbol (the cursor) across the screen to keep the user updated with his current writing position. "SHIFT O" may be used at any time to delete the previous character written—this causes a dash to appear permanently at that point to remind the user that, as far as the machine is concerned, the previous character has been deleted. Several such dashes imply deletion of that number of previous characters; and SHIFT P deletes the whole line, writing an @ symbol and moving the cursor to a new line.

In this way editing may be performed on a line adequately but slightly awkwardly. A better way would be to actually remove the deleted character from the display and backstep the cursor.

As can be seen from the photographs, the display provides very large characters separated vertically by very little space; this tends to make the text less readable than the majority of VDU pictures. However, it allows a very cheap system of "character slot" graphics to be implemented on the system. 128 of the character-generator ROM's patterns are graphic characters—inaccessible from the keyboard, incidentally. This includes a rich variety of tanks, guns, gaming characters, playing-card suits, lines, blocks and many more, to be displayed during program execution. Due to the lack of space between the character rows, these join up vertically as well as horizontally to produce continuous patterns. Separate dots within the 8 x 8 matrix of each character slot cannot be lit separately, and hence the term "character slot" graphics as opposed to "point graphics".


In addition, the top few TV lines of the top row of characters are rather indistinct as there is no delay and blanking at the start of each frame.

Most TVs find it easy to synchronise with the Superboard even though it produces 60Hz frame information for the US market: some adjustment of the vertical hold is often necessary. The 60Hz frame frequency (non-interlaced) provides one other slight drawback. Most TVs have badly smoothed d.c. rails, and a little 50Hz hum is always present—this tends to beat with the 60Hz frame frequency causing a constant jitter of the screen contents—more noticeable as the brightness control is increased.

As the display is memory mapped, the user may access it simply by "POKE"ing information into the RAM block (1K) dedicated to storing the screen's contents.

As explained, many of these slots are undisplayed on an average TV screen. The monitor carefully starts each line of BASIC text 5 spaces in from the left on each line and uses only the top 26 lines in order to ensure that no information is lost during program development. The full screen is 32 characters by 32 lines, and most British TVs will show all the lines though not all the characters on each line. However, much of the software supplied for the Superboard uses all 32 lines of the display which actually covers less than the normal 625 lines of UK TVs. [32 lines x 8 pixels per character = 256 lines of pixels, equivalent to 512 screen lines after interlacing.]

It is clear that some considerable thought has been employed in providing a display capable of use in gaming and "animation" applications. This has been successful up to a point given the extremely low price of this powerful system—the designers have even included a monostable circuit to blank the video display each time the MPU accesses the VDU. This helps to prevent spurious noise from appearing on the screen during continuous use of the VDU.


SOFTWARE MONITOR AND PROGRAMMING

The above section contains a full description of the commands available to the user and below is described use of the two languages employed in programming the Superboard—BASIC and 6502 machine code.

The fact that the system offers the language BASIC to the user will undoubtedly be the prime reason for his buying this machine. It should be emphasised that this is no Tiny BASIC or in any sense a minimal version. It is a full 8K Microsoft BASIC and even includes the very useful DEF FN.

It was clear from the start that program execution was fast, but I was unprepared for the remarkable speed of calculation which became apparent.

When reviewing the TRS80, I ran some standard (Benchmark) programs and carefully timed them for later comparison. Programs not concerned with arithmetic or scientific calculation ran in about 55 per cent of these ties on the Superboard—not surprising as the TRS80 is known to have a slightly slow clock. However, the 6502 on the Superboard was clocked at 1MHz, and the 2MHz version would halve these times again. This is interesting but unremarkable.

I then tried my scientific calculation program. A large number of intermediate results are required, and the TRS80 had run this program in 117 seconds. I typed RUN on the Superboard and pressed return. There was no time to notice the reading on my watch—it ran in 7 seconds! I tried re-running the program 20 times and even juggled it about—still 7 seconds. The original program had no print-out so I made it print all 500 intermediate results on the VDU—the time shot up to just on 14 seconds. At this point, I noticed that the actual chip on the board was the "A" version of the 6502—able to run at 2MHz.


Swopping a few wires around increased the MPU clock to 2MHz, and I was fascinated to watch the Benchmark program run in 3½ seconds—about 1½ seconds slower than the time quoted for its running on an IBM 370/115 mainframe computer. The speed of the Superboard rests entirely with the version of the BASIC interpreter included in its design, and not to any special feature of the 6502 for example—presumably Microsoft could do just as well on any other system, if they tried.

The BASIC statements may be typed in for immediate execution or, by giving them line numbers, may be written as part of a larger program for running later. In immediate mode, the computer acts like a super calculator—with responses to Sine and Cosine markedly faster than those of my Texas SR56 calculator. Any level of parenthesis is available along with all the usual BASIC scientific functions to a floating-point accuracy of 6½ digits and including the random number function.

The only omission I discovered in the repertoire worth noting was the PRINT USING statement. Otherwise, everything is there, including numeric and string arrays plus an excellent set of string-handling functions.

Memory efficiency and speedy programming are aided by omitting "LET" in assignments and using "?" for PRINT. Multiple statements are allowed on a single line by the use of a colon as separator. Variables may be two characters in length (the first must be alphabetic) and, with array variables, there are as many as could be wished for by the most voracious scientist.


The BASIC manual, as implied in the documentation, was not written as a primer. It is a quick-reference list for the knowledgeable user. In parts, it is a little too quick and even now I am unable to fathom out the use of the USR function which has the useful capability of being able to call machine code routines from a BASIC program.

LIST is one of the most important BASIC editing features. On the Superboard it is very versatile. "LIST 50-" and "LIST 50-100" will give a listing of a program from line 50 onwards and between 50 and 100 respectively; also, "LIST -50" gives the list up to line 50, and "LIST 50" gives line 50 alone. This is all very useful and appears nowhere in the manual!

The BASIC interpreter also supplies 17 stated error codes to assist in the debugging of programs. Each code is composed of a letter plus a graphic symbol for some reason. SYNTAX ERROR for instance, is denoted by S¿ as opposed to the more usual SN. I also discovered one unlisted error code—B©. This turned up after typing (in immediate mode) A(1000), among other things. Perhaps someone should run a competition to discover how many other codes, plus their access statements, exist—could be interesting!

It is certain that the first time user will find the documentation on BASIC, supplied with the kit, inadequate, and he is well advised to seek out one of the excellent primers on this subject best found from a local library or by browsing in the technical section of most sizeable bookshops. The language is easy to learn and will enable programming to quite a sophisticated level in an hour or two.


MACHINE CODE

The fact that the Superboard can also be programmed in machine code, via the machine code monitor, impresses me very strongly. It adds that touch of flexibility, which is prevalent throughout the system's design. The machine code is accessed by typing "M" when D/C/W/M? appears on the screen after BREAK. This causes six characters to appear at top left of the screen—four hex characters for address, followed by a space, and two characters for the data contained at that location.

The commands available for program writing are rudimentary but adequate. Typing a full stop allows subsequent hex characters to load the address field of the display. The data field is kept updated during this process allowing the user to view the contents of any memory location.

To load the data field, a "/" must be typed. "L" allows loading from the cassette and "G" causes execution of a machine code program starting at the current address displayed on the screen. The manual also gives the starting address, in the monitor, of several useful routines, thus allowing a very low level utilisation of the machine.

A user who wishes to write many machine code routines, perhaps for control purposes, would do well to write a sophisticated BASIC program, using PEEK and POKE, to aid the loading and construction of such routines.


CASSETTE INTERFACE

I had a little trouble loading both the standard and my own saved programs, at first—nothing serious, however, and a little experience with the tape-recorder's controls gave acceptable results most of the time. The cassette interface runs at about 300 BAUD and depends upon the constant crystal-controlled clock of the whole system for both recording and retrieving data. This means that changes in tape speed will diminish performance more severely than would be the case if the retrieval clock were derived from the recorded data itself. Data is stored on the CUTS (Kansas City) standard of recording a low pitch tone for a logic zero and high for a one. Decoding one's and zero's from the tape depends upon the decay time of a monostable to distinguish between high and low tones—its time constant is adjustable, for setting up, by a subminiature pot on the board.

The software supplied with the board, on cassette, formed a strange mixture of games, educational programs, calculations and financial packages. Some of the tapes actually seemed to contain software errors—if the tape interface can be trusted—and one, at least, was complete rubbish. One or two of the games were good—particularly "New York Taxi" where the player has to hail a taxi without being run over; and "Hectic"—a game well outside my powers of speed and co-ordination—the display left me staring fascinated by the mayhem-like destruction implied by a spinning bomb which hurtles from random points in the sky and removes bits of the landscape.

There is also a ratio Analysis program giving an idea of the machine's business capabilities, and one or two educationally useful teaching programs.

As a very rough guide to the speed of loading and size of programs. "New York Taxi" takes up about 2.7K of memory, occupies 81 lines of program and takes 2 minutes 20 seconds to load.


MANUAL AND EXPANSIONS

The user's manual is not bad but could do with re-writing in a more concise and logical form. Very complete circuit diagrams are included which appear, on the whole, accurate and well drawn; however, a little verbal explanation in this area would help the user to appreciate some of the finer points of design more easily.

The short section on BASIC and two pages describing the whole of microprocessor theory will leave the beginner mystified and the expert bored. Most of the facts appear somewhere in the quite lengthy text but are either laboured or under explained.

The final section is devoted to the 6500 series of MPU chips and their machine code. This is most useful for reference, but is entirely for the experienced.

The Superboard II, to give its full title, is the name given to the OSI 600 board, and may be incorporated into a special metal case with power supply to form the CHALLENGER IP. The 610 board is an expansion p.c.b. containing 24K RAM and a floppy disk controller. Sockets are provided for dual mini floppy drives as well as a d.i.l.-plug terminated ribbon cable to plug into J1 on the Superboard. The 610 also interfaces to the 620 expansion board designed to run the OSI 48-line bus for the full range of OSI add-ons.

Expansion capabilities and flexibility of the basic p.c.b. are very varied—for instance, there is a link option on the board to enable the future use of a single 64K bit ROM for the BASIC interpreter instead of the four 16K bit ROMs supplied. This would free three 2716-pin-compatible sockets for other things. This type of detail will remain unused by the majority of users but tends to imply a high degree of thoughtful system design.


Superboard with power supply and cassette

CONCLUSION

The machine described here is certainly one of the most exciting on the present market for both the hobbyist and anyone needing an introduction to computers in general and microcomputers in particular.

The video output is probably not fitted for business applications though the power of the machine may well be. The addition of an asynchronous video terminal and printer would, however, solve the problem quite quickly.

In a short time, the home computer man will learn the limitations of cassette storage in general and will begin to hanker after the yet largely unappreciated advantages of disk. Here again the Superboard provides the answer with a cheap plug-in floppy disk system.

The price of the Superboard puts it into a class of its own which is going to be very hard for the current purely machine-code systems to match. Its BASIC is nearly as powerful as, and faster than, that of the TRS80, for instance. It is, of course, written by the same firm and takes up the same amount of ROM. The monitor on the other hand (half the size of the TRS80's) is less powerful in many ways but better in others—allowing machine code, for instance. The graphics and VDU, though more than adequate, are not up to the standard of the more expensive systems, however.

It is perhaps here, while discussing its comparison with a computer three times its price, that the finest compliment is to be found for this excellent innovation into the UK market.


As a consequence of the remarks in this article, COMP Components have designed and are producing a computer—The Compukit UK 101 (in kit form for £219 + VAT)—based on the Superboard but with many enhancements. These include up to 48 characters per line—with much clearer type and a superior character font with many useful technical symbols. The VDU will generate 50Hz frame information with a faster "dot" clock to produce a rock steady picture even through a modulator—which will be included on the board, as well as a regulated p.s.u. just requiring a transformer to make the system fully operational. Keyboard arrangement will be much improved and include all the missing characters mentioned in Table 1.
Our contributor Dr. Berk will be writing a series of articles fully describing the design and construction of Compukit UK 101 and these should be published in P.E. commencing in the August issue, thus providing readers with a better Superboard at even lower cost.






2007 Comments



Chronological listing
Back to chronological list

Home Page
Home Page

 



Hosted by www.Geocities.ws

1