Microtan 65 Review

Microtan_65_001

Just another 6502 system? We think not. Microtan’s expandability is almost second to none and it could be a winner.

By Henry Budgett

The ideal system in most people’s minds is one that is as cheap as possible, provides the most facilities, is expandable to the limits of its design and can be obtained piece by piece as the money is saved. Up to now there have been several systems that have sought to achieve these varied aims, and the results have been many and varied.

The machine reviewed here is another contender in this field and certainly seems to be set for success where others have not. Based on the 6502 CPU, the same chip as used in PET and Apple among others, it has several very interesting items to offer.

Concept of A System

The usefulness of a computer on a board is limited, the usefulness of a system with attendant peripherals is much greater. The ideal balance is struck when the single board can become part of a system and thus have the capability of fulfilling the needs of both markets.

Microtan has been designed in this way, the complete system has been planned and is then offered board by board. This review is only going to cover the basic board but mention will be made of the available expansion to construct the system. Table 1 gives details of the various stages that are available, in their various configured forms.

Assembly Or Assembled?

I built the Microtan from a kit, something that I believe is worth doing as you not only save money but you do get an insight into how the hardware is strung together.

Presentation is superb and to anyone who is competent with a soldering iron this should represent no more than an evening’s work. Please note that the PCB is double sided and through-hole-plated so you must use a fine tip on the iron and fine solder otherwise you will have problems.

The manual that is supplied covers all the areas needed to construct the kit and get it up and running. It covers other areas that I will mention later. The only serious omission is the lack of a circuit diagram, but this is being rectified I gather. You will need a power supply, the 5 volt supply that we published in CT serves admirably or you can buy one from Tangerine.

The true test of any kit is whether it works, it did in its basic format and with the graphics option in place but it died when I tried to add the lower case option. Immediate thoughts of dead ROMs were not correct, the eventual culprit was a tri-state device that was permanently tri-stated. Quick work by Tangerine meant that I was back on the screen before the postman had called twice.

Micro Monitor

The old question of “How much can you fit into a pint pot?” rears its ugly head with Tanbug, the 1K monitor supplied as standard. The answer in this case is “Enough!”. At this stage you have a system that can only deal with machine code and a glance at Table 2 will show that there is only one possible omission from the monitor, that of cassette handling. Well, you don’t have a cassette interface yet so what are you worrying about? If you are going to expand to Tanex, which has that necessary interface, you get the routine for handling named files which you can either load up yourself or get in an EPROM that plugs in to a socket and is called through Tanbug. The cassette handling is at a choice of 300 or 4800 Baud so you can’t even boil the kettle let alone drink a cup of coffee while loading programs.

What does Tanbug have that sets it apart from other monitors? Two things really, you get a full listing of the firmware with notes and explanations and you don’t get any bugs, at least I haven’t found any yet. It does all that the Microtan user will require and if you ever get big enough to warrant it there is a bigger version called XBUG lurking in a dark corner.

Manual Means Handy?

The little orange covered book that is supplied is worthy of a mention in its own right. OK, it’s not perfect but it is detailed and concise. One or two errors have escaped correction but nothing that will cause the crashing of programs or other damage. The book fits into a ring binder and will be joined by the manuals for Tanex and the other family members, a neat concept in its own way.

For a change the manual is logical, it explains the concept of the board, then the system, then the details of the 6502 with the complete instruction set and then a very detailed chapter on the monitor and its uses – complete with the listing and finally it gives you a couple of games. It is essential to read the whole thing through from cover to cover before starting to play, the unit is complex and should be understood before anything is attempted.

What You Get

Once the board is built and the manual read you are ready to go. All you need now is a black and white TV and a 5 volt power supply at about 1 amp. Connect up, turn on and hit reset. The screen is covered in a pretty pattern with the words TANBUG at the bottom followed by a prompt character. At this point we find the only serious problem with the system. You have a ? on the screen but you are told that you should have a square blob, have you blown it up? No, you haven’t got the lower case option. It is explained in the manual but it is very unclear and has caused much confusion and alarm both in the office and outside.

So, you have a working system. Machine code programmers can now go and have a ball, the rest of us start learning. If you are a dedicated BASIC person Tanex is a must, throw away the Hex keypad (superb thought it is), plug in the full ASCII, the system works out which you are using, and let yourself go with a 10K Microsoft BASIC.

Points worth of note, and praise, are the rock steady display on your TV, the VDU RAM is only accessed when the system RAM is not so you don’t get the usual flicker, the excellent Hex keypad and the almost unbelievable packing density. Because the system is based around the 6502 comparisons with the Acorn, reviewed in August 79, are almost inevitable. With Microtan you get a proper VDU as opposed to an LED display, a decent keypad that is separate and a slightly more powerful monitor but you do lose the cassette (at this stage).

The Guts Of The Matter

Figure_001

Fig.1. Microtan’s architecture, all on one board to!

Because of a lack of space on the board certain apparently ignored features are implemented at other points in the system. Figure 1 shows the architecture of the board, the keyboard interface is intelligent in that it detects what type is being used. The memory map of the system, see Fig.2, appears to be rather limited, full decoding is done on the Tanex board and gives the map shown in Figure 3. This is not the disadvantage that it might appear to be, it allows the contents of RAM on Microtan to be protected against DMA as are the I/O ports and the ROM area. Whilst on the subject of I/O it is worth noting that you get a 1K area that is addressable as I/O, this compares with a maximum of 256 on devices using the Z80 or 8080.

Figure_002

Fig.2. The simple memory map produced by Microtan

Figure_003

Fig.3. Once you’ve added Tanex you get a proper memory map, which is fairly impressive.

The system expansion is shown in Figure 4, full details of the bus structure are given along with notes for DIY people. The address bus buffer chips are supplied as part of the Tanex unit, so don’t worry about the empty sockets.

Figure_004

Fig.4. How you expand through Tanbus

On Board Options

Despite the fact that the basic Microtan packs in a 6502, keyboard interface, VDU, 1K of RAM and 1K of monitor ROM there is more to come! As seen from the previously mentioned Fig.4 the address bus buffers fit on, but that’s not the end. You can have lower case alphabetics, not essential at this stage, and pixel type graphics, sometimes called “high resolution” but really made up of little squares not dots. Tangerine are quite honest about them and call them “Chunky” which is a very apt description, they are good enough for Teletext simulations and games etc.

Because of the ingenious VDU design it is quite possible to run a program that actually resides in the screen memory without bombing everything, try that on your system.

Expanding Horizons

Glancing back to Table 1 you can see the basis of your system emerging. The rest is coming shortly and completes the story. Tanram will be the next board to go on sale and offers 40K of memory on a single board and this will have the capability of bank selection so RAM freaks can have the odd megabyte or six if they want. You may have realised that the system is now full, see Fig.3. Next on the stocks is Tandisc, offering you the floppies that you dream of, up to four double density units are planned.

Microtan_65_004

The Microtan board installed in the mini-rack

Microtan_65_003

Tanex fits on top in the mini-rack system, along with the power supply and Hex keyboard.

Housing all this exotic hardware need not be a problem either, the case that Tangerine supply will hold Microtan and Tanex complete with power supply. The other style that you could use is a card frame, I am building my system in a Vero unit, assembled from System KM4C parts which also offer such goodies as front panels and modules. However you could design your system to fit into a VDU case and have a self-contained system, it’s up to you.

Microtan_65_002

The author’s system growing inside a Vero rack.

Summing Up

Microtan, and its attendant extras, offer the first time buyer a low cost entry point into computing. Taking a boxed two-board system with all the options, power supply and key board you have a more powerful unit than a PET, it has more I/O capability and at £350 it is a lot cheaper!

The product appears to have been launched with a great deal of thought and planning, in itself a change from some rivals, and seems to have found a niche in the market almost overnight. The only thing it hasn’t got is a “second generation” CPU such as a Z80 or 6809 but that doesn’t seem to be too much of a handicap, the dedicated machine code programmers among you might disagree but no-one else has!

Table 1. The various system configurations for Microtan
Board Microtan 65
Features 6502, 1K RAM, 1K ROM, 6 I/O ports
Options Pixel graphics, lower case alphas, address bus buffers
Need to run TV, Hex keypad, 5V PSU @ 1A

 

Board Tanex
Features 1K RAM, 16 parallel I/O, TTL serial I/O, cassette I/O, 2 by 16 bit counter timers, full memory map, data bus buffers
Options 6K RAM, 4K ROM, 10K Microsoft BASIC, double above I/O plus RS232/20 mA serial with full modem control

 

Board Tanram
Features 40K mixed static and dynamic RAM

 

Board Tandisc
Features Control of four drives
Extras Motherboard, case, power supply, Hex keypad, ASCII keyboard

 

Table. 2 The available monitor commands on Tanbug
Monitor Command Function
M(add)(term) Modify memory locations, terminator type allows step through, cancel or jump out.
L(add),(numb)(term) Lists the contents of specified memory locations in tabular form.
G(add)(term) Sets internal registers and executes program at address given. NB cursor disappears.
R Sets memory modify command to register mode. Allows the 6502s internal registers to be altered.
S Sets single step mode, see P & N
N Resets to normal mode from single step
P Causes monitor to execute next instruction, can be set to execute n instructions. Gives display of all registers and returns to monitor.
B(add),(numb)(term) Sets breakpoint at specified address, up to eight are allowed. All registers are displayed and P command may be sued to continue.
O(branch add)(dest add)(term) Calculates offsets between specified addresses for use in branch arguments.
C(start add)(end add)(start add dest)(term) NB (term) can be CR, LF or SP Copies memory locations and blocks.

 First published in Computing Today magazine, June 1980

Advertisements

Zenith Z89 Reviewed

Zenith Z89_001

Heathkit’s entry into the world of small systems could represent a breakthrough in affordable computing.

By Ron Harris

The Zenith Z89 is a dual processor system based upon the Z80 CPU chip. In effect it is two machines in one box. The VDU has its own controller, totally independent of the main CPU. Standard memory configuration is 48K of user RAM with 8K of system RAM and ROM. The keyboard is a fairly standard QWERTY affair, with a 12 key numeric pad also adorning the front panel. The VDU has… look – hold it here a minute. This machine has more facilities than I’ve had hot dinners and if I go on listing and describing we’re all gonna be here until the sun goes cold and England win the World Cup again.

Table One is a summary of the hardware features of the system and after you’ve glanced down it I’ll go over some of the more interesting abilities possessed by the unit.

Any Port In A…?

Zenith Z89_005

Expansion possibilities revealed

There now. That didn’t take long. One thing not mentioned are the output ports to allow for the hanging on of peripherals. These are RS232 standard with a data rate of between 110 and 9600 bps, user specified. Parity can be odd, even, or anything else you can dream up, it is flexible.

The system as a whole is exactly that – flexible. The machine makes use of its size to offer the user a flexibility and potential undreamed of – and undreamable – in the lower priced computer systems.

At this price, which could be described, at present, as lying above the high priced home machines, the Sorcerors and the rest and yet below the lowest end of committed business systems, who can be expected to seek out and purloin a Z89? Well, anyone needing a very versatile and powerful computing tool, with an excellent built-in disc facility and great ‘keyboard’ power would be advised to look here. The Z89 can be an absolute top-class home system, or a very useful business machine for the smaller company, take your pick.

Figure_001

Fig. 1. And this is just a system diagram!

It seems to fulfil what many of the earlier machines promised – but fell short of. It is truly a complete, yet expandable, computing system. It arrives with built-in disc drive and facility for adding on an external Z87 dual disc. Each ‘diskette’ has 100K of storage and is of ‘hard sector’ type, which means that the size of each sector is hardware determined by the PCB, not by the software controller. This in-turn means that the sector size is fixed. Sectors are allocated to files in ‘increments’ of two ‘256-bytes’ as required by the operating system.

What Comes With…

Heathkit supplied us with all the manuals you ever dreamed of, including the one for the WH 89 – the kit version of the Z89. Mind you, kit is a misnomer really, as most of the PCBs arrive assembled! Module assembly would be a better term. As usual for Heathkit, the documentation is faultless, if a little daunting in this case. We got a huge binder for CPM, one for HDOS, another two for BASIC and a three inch thick WH 89 manual with circuit diagrams. The latter are complete down to component level, with full overlay documentation.

Well, I’ll believe they’ve thought of everything – lest ten more manuals drop through my desk. You know, with all this paperwork – most of which contains a “What to do first” section, couldn’t they add just one more little bit? A small, totally separate, approachable little pamphlet for each configuration, telling you how to get it up and DOING something, as opposed to sitting there humming gently and looking smart. On behalf of all the people who will buy this machine, take it home, put the plug on, switch on get “H:” on the screen – and get that empty “Oh God what now?” feeling in the pit of the stomach, PLEASE Heathkit?

Still, back-up looks like being very good and I doubt if even the most obnoxious purchaser would find himself turfed out in the street, box in one hand and manuals in the other.

Heathkit were very helpful indeed to us – even putting HDOS onto each of the discs they loaned us to save messing about having to keep shuffling the source discs.

Zenith Z89_002

The hard sectored disc can be back up by two external brothers.

Zenith Z89_003

All neatly packed in with acres of room to service.

Soft Touch

After experimenting with both the CPM and HDOS we were provided with, I developed a preference for HDOS to the extent that CPM stayed in its folder after the first couple of runs, unbidden while HDOS spun its triumphant way across the heads.

Somehow HDOS is simply more usable and flexible – it lets you get at the material it is handling with the minimum of interference and the maximum facility. The perfect librarian, in fact – and what else can you ask from a disc operating system?

The folder for HDOS is very well written and produced and the opening chapters nicely sectioned with “First time through” lists every now and then to help a new convert learn his art. That little pamphlet I wanted could be no more than these sections extracted and re-presented. As it is, if you don’t know where to look you’ll never find it!

My advice to any new or aspiring owner of a Z89 is to sit down, with a cup of tea and the HDOS manual and READ IT. It is approachable and conversational in style and easy to digest, managing to avoid the usual half incomprehensible flood of abbreviations and jargon that swamps some rival efforts. A new user needs to be told what he has obtained for his money, not shown what a clever little boy the manual author can be. Heathkit could hold classes for the opposition on producing manuals – if any of them would bother to go, that is.

Figure_002

Fig. 2. Schematic of the elephant’s brain!

Side One, Track One

Supplied with the Z89 is a ‘distribution diskette’ as they call it, containing the operating system, HDOS, with a few very useful little ditties, like BASIC, DBUG, EDIT and ASM. I’m afraid that in the space I have in this magazine I can do little but whet your appetite as to the scope of these files. Suffice it to say:

  • BASIC an extended 16K BASIC with all that implies. This is the ‘Benton Harbour BASIC’. Microsoft BASIC 80 is also available, but requires 28K of RAM, and thus will run best on the minimum of a 32K system. No problem with a Z89. This includes line renumbering, amongst other things, and sufficient facilities to make any BASIC nut offer up an arm or two.
  • DBUG makes use of HDOS to allow for full debugging of machine-code programs. Will display and alter the contents of any specified memory location, or 8080 compatible register; will execute a program either completely, or line by line; will load or dump programs onto discs, printers VDUs etc; and will insert ‘breakpoints’ executing several instructions then halting with control returned to DBUG.
  • EDIT the Heath Text Editor. Will do nicely as a word processor, providing good editing facilities with 15 editing commands. You could write the annual report on this – or a note home to granny asking how the budgie is doing. Works very well too for editing BASIC programs.
  • ASM Heath Assembly Language Program. Once you’ve got used to the EDIT you can use ASM to run source programs on the Z89. For best use you will have to know the 8080 pretty well.

As I said before there is much much more to these titles than I could get into a single issue. All I can do is recommend the supplied software very highly. It is well thought out and nicely tailored to the system. Useful and useable.

Hard Times

Zenith Z89_004

One of the two main circuit boards with its daughters

With the hardware configured as two interactive portions we have a potentially very powerful beast and a potentially confusing one. The key to the whole operation is a little key tucked at the top left of the keyboard. Called OFF LINE, it means exactly that. Press this down and you disconnect the computer from the keyboard and screen (Fig. 3). This means of course that you can go on typing until your fingers drop off but the computer is totally ignoring you.

Figure_003

Fig. 3. A Trap for the unwary

The advantages are great. The cursor can be shifted around, lines cleared – even screens cleared – without code transmission and hence the program knowing about it. Of course if you forget to put it back on-line………………………

There are eight user definable keys strung along the top of the board, which you yourself can set up to be something worth using – instructions are of course provided to do this.

Having an intelligent keyboard takes some getting used to after more basic systems, but it is a luxury you soon learn to live with, I promise you!

First Blows

It might be illuminating to go through how you get the Z89 to run a program from scratch. Let’s choose BASIC as an example, assuming that your distribution disc supplied with the machine contains Microsoft BASIC (MBASIC).

At switch-on “H:” appears in the top left of the screen and nothing else. You place your disc into the drive – getting it the RIGHT way around and type “B”. The screen turns this into “BOOT” and a RETURN will bring you a “TYPE SPACES TO DETERMINE BAUD RATE”. You now have to hit the space bar repeatedly for a few sections so that the system can pick up the speed at which your terminal operates. Then “ACTION? < BOOT >” appears and a RETURN gets you “DATE [DD-MMMYY] ?” This is simply so the system can preface all your files with the origination date. Type it in and RETURN. A “ > ” now appears and you have loaded HDOS.

HDOS contains a test and a diagnostic routine, but we’re after BASIC, so all we have to do now is type in the file name, MBASIC and wait until the clicking and flashing from the drive ceases. The screen will display the header for Microsoft BASIC, telling you which issue it is and how much RAM you’ve got left to play with. If you’re a small systems man, being told that 21K remains free will probably induce feelings of inadequacy. Fear not. It is all under your control………(isn’t it?)

Summary

Impossible to do. Summarising a machine only slightly less complex than the Secret Of Life is too much for me to cope with. My own impression of the Z89 is that it is a well designed, flexible, well supported computer that knocks the opposition sideways. It would be equally at home on a dining-room table or an office desk and should be examined very carefully if you have this amount to spend on a system. It is worth the extra for its flexibility and power.

I wonder if Heathkit would accept a slightly used soul as down payment…………..?

Table 1. All these features add up to an awful lot of power and flexibility.
Processor Z80
Clock 2.048MHz
Memory 48K bytes RAM. 8K for systems ROM and RAM. 8K reserved.
CRT 12” diagonal, P4 phosphor
Display Format 24 lines of 80 characters, plus 25th user status line.
Display Size 6.5” high x 8.5” wide
Character Size 0.2” high x 0.1” wide (approximate)
Character Set 128 (95 ANSII, plus 33 graphics)
Character Type 5 x 7 dot matrix (Upper case); 5 x 9 dot matrix (lower case with descenders)
Keyboard 72 keys (60 alpha-numeric, 12 function control) plus a 12-key numeric pad
Cursor Blinking or reverse video block or off
Cursor Controls Up, Down, Left, Right, Home, CR, LF, Back Space and Tab, from keyboard or computer
Cursor Addressing Relative and direct
Tab Standard 8-column tab
Refresh Rate 60Hz at 60Hz, 50Hz at 50Hz line frequency
Edit Functions Insert and delete character or line
Erase Functions Erase line, from beginning of line to end of line, erase page from beginning of page to end of page
Bell Audible alarm on receipt of ASCII BEL
Video Normal and reverse character

First published in Computing Today, June 1980

Samson Reviewed

Samson-1_001

Underneath a new exterior the Samson reveals itself as an original ‘Mighty Micro’.

By John Fitzgerald

When the Editor slipped me a Samson-1 with a request to review it, I wondered what I was getting. It was a pleasant surprise to discover that the Samson is just a Sym-1 in a smart plastic case. I had played with a Sym for a few days some months before and was pleased to get my hands on one again. If you are thinking of spending your hard-earned cash on one of these space-age toys, you need to know one thing. Is it any good? I am happy to report that the Samson is good – very good.

The Samson-1

For the technically minded, a functional block diagram of the system (Fig.1) shows the major hardware features of the Samson and indicates some of the many expansion options available. The computer is housed in a two-piece plastic case. The upper section is pivoted on two plastic studs making it “click-fit” and thus easily removable. A clear plastic cover may be slid down to cover the keyboard and display. I found it easier to remove the lid completely as even with the cover slid out of the way, access to the keyboard is severely limited; requiring an awkward vertical stabbing motion.

Figure001

Fig.1 System architecture of the Samson/Sym. Enough to satisfy most single boarders.

The Samson is supplied fully assembled with two comprehensive manuals and a programmer’s reference card included. The only extras required are a 5V 1.5A power supply, suitably protected against overload, and a cassette recorder for low-cost program and data storage.

A high quality, double sided printed circuit board holds all the components including a 28 key ‘spongy-plastic’ keypad and a 6 digit 7 segment display. Also included is a piezo-electric ‘bleeper’ similar to those used in digital alarm watches. This gives an audible response each time a key is pressed making use of the keyboard a much more certain operation. Of course, it is all under software control and yes, you can play tunes on it! The ‘debug’ function is achieved with a hardware connection and this key does not give an audible response. However, the reference manual includes details for connecting a LED indicator which would easily remedy this omission. Though designated on the functional block diagram as a ‘Hex’ display, the on-board LED display consists of six standard seven-segment units resulting in the usual ‘abbreviated’ representation of the alphanumeric character set. The red display is nonetheless quite bright and easy to read. Use of a small piece of Polaroid would make it even better. A red plastic filter was included with our unit.

Sockets are provided for the MOS integrated circuits. Make sure the chips are fully inserted before applying power. A nice feature is the provision of blank sockets on the board enabling the memory to be expanded up to 4K and extra input-output to be fitted by simply plugging extra chips into the appropriate sockets. Extra RAM and a port expansion and connector kit are available as part of the Samson system. The overall layout of the printed circuit board is clean and uncluttered and component and connector positions are clearly marked on the component side in white ink.

Figure002

Fig.2 The Sym/Samson keyboard layout.

The documentation supplied with the Samson deserves a special mention. As well as a reference card containing op-codes, system addresses, etc, two manuals are supplied. One features all the information that you will ever need to know about the processor’s instruction set while the other contains essential data for the hardware orientated enthusiast as well as complete data sheets on the major LSI chips. Both are produced on good quality white paper with a wealth of diagrams and useful hints. These are the kind of books that cost you a fiver each in the shops and they come as standard issue with the Samson computer.

Chips

The heart of the system is a 6502 microprocessor running at a 1MHz clock frequency. This will be familiar to computer buffs as the 6800 derived powerhouse used in the KIM, PET, Apple, Acorn and Tangerine systems. (I wonder why hard-headed manufacturers choose such fruity names!) There are two 6522 Versatile Interface Adaptors in the basic system which handle input-output. These also contain software programmable timers which can be configured in numerous ways. In short, as their name suggests, they are versatile – very! Provision is made on board for insertion of a third 6522 if you can think of a use for it that is not already provided for. The board fairly bristles with connectors. These are high quality double sided, gold plated pads and mating sockets are provided either with the basic unit or are available as part of an expansion kit. Also present is a 6532, RAM, I/O, timer array which offers many features comparable to those offered by the 6522. What makes the 6532 special is the inclusion on-chip of 128 bytes of random access memory. This is software write-protectable and is used by the monitor to store system vectors and as scratchpad memory.

Memory

As well as the RAM contained in the 6532, 1K of RAM is provided in the basic system in the form of two 2114 (1024 x 4) chips. One 4K ROM chip holds the ‘Supermon’ monitor and there are spare sockets for an 8K BASIC interpreter and a resident assembler-editor. Pairs of 2114 chips are available as the ‘Samson Static RAM memory’ enabling expansion of the on-board RAM in 1K blocks up to 4K.

Monitor

The ‘Supermon’ monitor is the largest I have come across in a single board computer… and it does not stop there. Expansion is possible through the use of eight undefined keys (USR 0 thru’ USR7). These normally return control to the monitor via a vector address written into system RAM. By changing this address to point to a user written routine you can expand the facilities offered by the monitor in any desired way. Excellent and extensive hardware is provided on the Samson board and this is well used by the monitor which supports the following input-output and storage media:-

  • TTY – selectable current loop
  • VDU – RS232 interface. Baud rate is automatically determined by the monitor at log on.
  • Paper tape – data is stored as pairs of ASCII characters.
  • Audio cassette – two formats are available. The low speed system is KIM compatible and operates at 8 bytes/sec. A high speed mode is also provided and runs at 185 bytes/sec. A simple program is included in the reference manual enabling the generation and use of SYNC tapes facilitating adjustment of the cassette recorder. One with both volume and tone controls is recommended.
  • Oscilloscope display – this enables a single line of text containing up to 32 characters to be displayed on a conventional ’scope which is all you need to supply. A suitable software driver is included in the reference manual and instructions are given for generating your own character set.

The extensive use of command vectors enables the Samson owner to direct input-output to any chosen device(s). Some examples of how to do this are given in the manual which also contains a complete and legible listing of the monitor. This facilitates the use of monitor routines in your own programs and is an aid to anyone learning to use machine code. Table 1 shows the monitor commands and their function.

KIM Compatibility

The Samson is designed to be generally upwards compatible with MOS-Technology’s single board KIM computer. In practice this means that some of the connectors are different; for example, the Samson uses a separate connector for the power supply, and some of the signals are absent or renamed. Though both machines use the same microprocessor, the 6502, they are not directly software compatible. Inconsistencies include timer addresses and a number of monitor routines. Those most likely to concern the prospective user are the keyboard and monitor sections which feature most strongly in pre-written KIM software; for example, in the ‘First Book of KIM’. It is possible to use programs from this source. However, you will have to provide some software links to the Samson system. These are best provided in the form of subroutines which can be called when required. Here’s a tip. Remember that you must call ‘ACCESS’ before you can even begin to think of getting at the LED display.

BASIC

For anyone who turns white and shivers at the first mention of machine code, those nice people at Samson (Synertek – why pretend?) have come up with an 8K BASIC Interpreter. Supplied in the form of two 4K ROMs, it only requires plugging in to the sockets provided and a couple of wire jumper changes to be up and running.

With BASIC installed, following power-on, a TTY is logged on from the Hex keyboard or a VDU is logged on by typing ‘Q’. The monitor responds with a prompt Now if J 0 (CR) is entered, BASIC responds by asking for the memory size to be used. Any value greater than 512 bytes may be entered. BASIC will use all contiguous memory from location 0200 (Hex) to the value specified. This enables space to be reserved for machine code routines. You will then be asked to specify terminal width which determines the output line width for PRINT statements only. There is a default value of 72 characters though any value between 1 and 255 may be used. BASIC will then type out the number of free bytes, Synertek’s banner and ‘OK’. The prompt character (.) is replaced by a flashing cursor if you are using the Samson terminal.

There is no space here for a full description of the BASIC. It seems to have everything you would expect from an 8K interpreter and includes commands enabling you to use machine code routines in your programs. A sixty-page manual contains a brief history of BASIC with notes on its implementation in the Samson system and some worked examples and details of common pitfalls. There is certainly nothing wrong with the BASIC provided and it is good to see it offered as part of what looks at first glance like a simple development kit. However, I cannot help feeling that, if you want to talk BASIC, you should just go out; buy a PET, put the Programmer’s Toolkit on it and talk to that. PET speak heap good BASIC!… and the screen editing and graphics capabilities are excellent for a black and white system. The Samson is a superb piece of hardware with excellent software support and it seems foolish to ignore all that just to talk pidgin English!

Samson In Orbit

The Samson Satellite consists of yet another Synertek product, the KTM-2, in another plastic case. This is a full-size keyboard mounted on a single PCB which also contains circuitry to drive a display monitor. There are two models differing primarily in the number of displayed characters per line. The 40 character version may be used with an ordinary television while the 80 character unit requires a video monitor. An RF modulator is not supplied with either unit and must be purchased separately. Power requirements are simply 5V at about 1 amp.

Samson-1_003

A typical screen dump showing the squashed display. The Hex pair on the right is the checksum.

The keyboard consists of 54 keys which enable the full ASCII set and 128 graphics characters to be generated. Graphics and alpha-numerics may be displayed simultaneously and the cursor may be software driven using absolute or relative addressing. There are two full-duplex serial communication ports enabling the Satellite to interface to a computer and printer simultaneously. Transmission rate is adjustable between 110 and 9600 baud. There are eight ranges selected by three switches. Other switch selectable functions include:

  • even, odd or no parity
  • interlaced or non-interlaced display (an interlaced display may appear to flicker on a screen with a short persistence phosphor.)
  • line truncate or wraparound
  • choice of 50Hz or 60Hz frame rate.

Almost everything in the Satellite responds to automatic control. The cursor may be moved, screen cleared, graphics selected or deselected and reverse video turned on or off: all under software control. You enable the auxiliary communications port with an ASCII control code too!

Samson-1_004

How characters are made up on an oscilloscope display.

Samson-1_005

What you get when you jump to BASIC.

As you will see from our photos, the Satellite’s character rows are very close. This was done primarily for the graphics characters to connect in a vertical direction but does result in a rather cramped display with an awkward aspect ratio. One or two extra scan lines may be added by re-configuring some jumpers on the PCB. Full details are given in the 40 page A4 size manual which includes all the technical data required and adds some hints for users operating Synertek BASIC.

Figure003

Fig. 3. The graphics set of the Satellite terminal.

The Satellite is a well produced unit offering many sophisticated features and makes a good companion to the Samson-1. In conclusion, the Synertek BASIC and Satellite terminal are good. The Samson (Sym-1) is very good indeed and deserves to find wide acceptance in this country. If this article has whetted your appetite, all you have to do now is come up with the cash, go out and get one!

Table 1. The Supermon command set.
Command Function
M Display-modify memory
R Display-modify user registers
G Restore user registers, resume execution from PC
V Display 8 bytes of data with their checksum
D Deposit data from keyboard to memory
C Calculate using Hex arithmetic, displacements etc.
B Block move in memory
Jump (0-7) loads PC with address from system RAM
SD Stores a double byte
F Fills block of memory with chosen byte
W Write protect user RAM in 1K blocks
E Adjusts monitor to receive input from RAM
51 Save cassette tape KIM format
52 Save cassette tape high-speed
L1 Load KIM format tape
L2 Load high-speed tape
SP Save paper tape
LP Load paper tape
CR Carriage return
+ Advance 8 bytes
Retreat 8 bytes also used as delimiter
> Advance one byte or register
< Retreat one byte
USR0-7 User defined keys
SHIFT Select upper case
RST Reset
DEBUG Hardware debug function
ON-OFF  
ASCII Next two keystrokes combined to form one ASCII character.

 

Program to make the bleeper bleep, alter value at 011C to change note pitch
  100 20 88 81 JSR SAVER
  103 A9 0D   LDA 0D
  105 20 A5 89 JSR CONFIG
LOOP 108 A9 08   LDA 8
  10A 8D 02 A4 STA PBDA
  10D 20 1B 01 JSR
  110 A9 06   LDA 6
  112 8D 02 A4 STA PBDA
  115 20 1B 01 JMP LOOP
  11B A0 50   LDY 50
  11D 88     DEY
  11E DO FD   BNE FD
  120 60     RTS

First published in Computing Today, June 1980

HP-85 Review

HP85001

The answer to a research fellows dream could be the 85, read on to find out why!

By Henry Budgett

After my first tentative mutterings on the HP micro a couple of months ago it became clear that it was not going to be an overnight job to finish the thing off, so at long last, here is the remainder of the story. To briefly recap for those of you who missed the April issue the HP-85 is a personal, desktop microcomputer for professionals in both research and industry.

What, you may ask, is it doing between the pages of a “hobby” magazine? Well, quite apart from general interest – how did he get in here – it does represent the direction that personal computing is moving in.

The Heart of The Matter

We carefully took the lid off the box and… Figure 1 reveals the naked truth about where your money went. What you are paying for, is research and development of a large number of custom designed ICs which perform all the boring tasks usually allotted to a board full of humble TTL. They even decided to make their own eight-bit CPU, a decision that some people seem unhappy about. The overall result of this little piece of high tech is a professional unit, designed to last a lifetime and be very reliable.

HP85002

Figure 1. The CPU board laid bare!

For those of you with sharp eyes the lack of solder masking on the board is due to the fact that this is a demo model, HP even warned us about the possibility of damp causing memory problems! Never fear, your shop bought model will be masked and you won’t need to keep it warm at night.

Documentation

One word will suffice, superb. I detect a note of suspicion but you really can’t find fault with the supplied material. Every facet of operation of the machine is covered in copious detail and the sections on programming are thorough to a fault. Software security is obviously not a worry to HP as they list all the programs in their Standard Pac along with other details, saving you the trouble of folding up all that printout. Presumably they thought that any dedicated person could break down the security codes and saved you the problem. Whilst on the subject of programs it is worth noting that many of the answers to set problems are well worth saving.

Purists will say, and several have already, that no details of machine code are given. Although this is quite correct it hardly matters. At the moment I understand that some details of the assembly language are to be published in the HP newsletter for users, and that they are working on a variety of ROM Pacs. Since the ROM Pacs contain machine code and they are being supplied by HP a lot of effort can be saved.

Of Numbers and Things

Many of you will have read of such things as Tiny BASIC and Integer BASIC and understand that they denote the number handling capabilities of the language. You could say the HP has a Fuller-than-most Scientific BASIC! This very impressive hunk of language sits somewhere within the top 24K and does quite a lot that others cannot do. The number handling capability is a variable in that you can specify one of three ranges. These are INTEGER which gives you -99999 to +99999, SHORT which offers -9.9999 10^-99 to 9.9999 10^99 or the default option of REAL which offers a massive -9.99999999999 10^-499 to 9.99999999999 10^499. It makes good sense to specify those variables which only need to be of INTEGER and SHORT values as this saves an appreciable amount of memory. See Table 1.

All the usual mathematical functions are available with this version of BASIC, as are quite a few that you may not be so familiar with. A summary of the predefined functions is in Table 2.

Filing Facts

The advantages of the HP cartridge system over the usual cassette are both many and varied. The system, as I mentioned in the earlier report, uses a similar storage format to that of a soft sectored floppy disc. This results in both faster and more flexible access to the stored information. On machines such as the PET which use cassette, the main bulk of time is spent searching the tape to find the correct header. On the HP tape there is a directory, called CAT, and the program is first located in this – which gives its position on the tape – and the machine can then spool off to this absolute location, much quicker.

When you wish to save a program you merely have to hit the key labelled STORE and then type the name of your file in quotes, “FRED”. The system then checks to see if you are allowing write actions to the tape – there is a hardware tab that can be set – and that’s all. Recall of a program is the reverse using the LOAD key, except that there is no read protection. (See Fig.2 for key layout).

HP85003

Figure 2. A key for every job and every job has a key

All the usual PRINT# and READ# commands are available for data files. The operating system allows up to ten data files to be set up and used simultaneously during a program run. This unusual offering is performed by using buffers that only write to the tape when they are full.

Two methods of securing data are available. The first is the hardware tab that I mentioned a little earlier; the second is a set of commands that give up to four levels of protection on both program and data files. Mechanical details of the tape system are given in Table 3 and security levels are shown in Table 4.

The most powerful of all the commands associated with the tape system must be CHAIN which allows one program to load and execute other programs, and if properly set up you can actually share or exchange variables between these programs.

HP85004

Pretty Printing

Both DISP and PRINT output statements can be made to conform to a predetermined format by using an IMAGE statement. Table 5 reveals the symbols that can be used but suffice to say that the range and flexibility is superb. For an actual example of their use in a program, the Multiplication example in the April issue used a formatted output on both screen and printer. Whilst on the subject it should be noted that if you can’t remember to change your usual PRINTS to DISPs when loading a program in you can swop the roles in the machine by saying CRT IS 2 @ PRINTER IS 1. This is actually executable as a BASIC command so you can swop around within the running of your program. If you wanted to have everything printed out, a diagnostic run for example, you can simply say PRINT ALL, and it does!

Diagnostics

Although functions such as STEP are provided on the keyboard, along with PAUSE and CONT, the HP also offers three TRACE functions. These can be programmed in to work on a certain section of code or executed from the keyboard to operate on the whole program, all information is printed. Between them they allow you to follow variables or program lines and really do make debugging a doddle.

Also worthy of note within this section on diagnostics is that the HP has a built-in test sequence initiated by keying TEST, which checks out all internals and prints out the character set with underlining. Why with underlining? Simple, the underline character occupies the top bit so this tests all the bits and not just the lower seven of the printer.

Graphically Speaking

They say that a picture can be worth a thousand words and if that’s true then the 85 must rate as quite an author. The power unleashed by just sixteen commands, see Table 6, is quite amazing. The flexibility is based around the system capability to address any of the available 49,152 dots on the screen which are arranged on a 256 by 192 grid. To compensate for the non-square nature of the screen it is possible to scale the X and Y axes independently. The maximum scale allowed is 100 by 100 but if you try to draw circles in the centre without correcting for the shape of the screen you tend to get ovals! The scaling factor is X-4/3 Y and it is not the nuisance that it might at first appear.

Having grasped the concepts of scaling things the manual leads you on into a vast array of powerful commands that take a little bit of time to come to terms with. For example you can draw a scale on your axes with ‘tics’ at determined intervals with a single command such as XAXIS0,1. This gives the X,Y intercept a value of (0) on the X scale and puts tics at every interval on the predefined scale.

After scales and axes you begin to get a hankering to actually draw something, and here you find that the machine acts rather like a pen and paper. What you do is to specify the colour of your ink and that of the paper. This is done by PEN and PENUP commands. To move the PEN around you can DRAWx,y or PLOTx,y or MOVEx,y where the x and y are real co-ordinates on your screen. By adding a prefix of I to the MOVE and DRAW commands you specify incremental operation rather than absolute. Labelling your graphs is performed by the rather unusual command, LABEL and, as if that wasn’t obvious enough, the orientation of the aforesaid label is controlled by LDIRn – where n is the ‘angle’ of the label.

By this stage of the game you have produced a screen full of straight lines and labels but what about curves? Well you can’t draw curves as curves, you have to draw lots of little straight lines that make up a curve. If you make the lines short enough the curves are very good indeed. All the above graphic capability is easily mastered and is quite sufficient for most purposes, what comes next is not quite so easy.

Shape Definition

It is possible to define a shape by character codes and plot these using strings. What you have to do is to draw the shape of your required ‘object’ on graph paper, the object now reduces to patterns of dots – each segment being one dot. In summary, the graphics are extremely powerful and flexible, you don’t have access to pretty little spaceships and men but you do have the facility to produce them if you want, you can store them as data files even!

Now, divide up the result into bytes and convert the binary value to decimal. All, all?, you have to do is to output the resulting string of characters using BPLOT. Figure 3 shows a triangle reduced to a string and the command BPLOT T$,1 where T$ is the string we are using. At this point I graciously admitted defeat and went onto something else. I’m quite sure that practice and careful study will make this function ‘child’s play’ but trying to implement the functions in a crowded office is not the best idea.

Figure003

Figure 3. Coding up for a character plot.

Expansion

This section of any computer review is supposed to list a vast selection of esoteric goodies that you can hang on to the machine, not so this time. All that is currently available is a 16K RAM expansion and a ROM drawer. There will be floppy discs and a range of ‘Capricorn to others’ bus converters to allow connection of IEEE devices etc. It is unlikely that any special equipment will be developed as the expected use fits in with all the existing HP laboratory equipment – including atomic clocks – and most of the software merely needs to be converted from the minis.

HP85005

Neat uncluttered rear panel, with the Capricorn slots at the right.

Conclusions

Having crept out of a research laboratory not so very long ago I can appreciate this as one of the machines that I would want on my bench (next to the PDP 8, but that’s another story). My only regret is that it is expensive, a lower price would have meant volume sales and perhaps they are not geared up for that yet, we can only hope for a reduction in the next year.

The system is a true personal computer, not a machine for playing with, and as such represents the first of a new breed that will emerge over the next few years – serious machines for serious purposes. If HP ever feel generous I would love to have it back, permanently!

Acknowledgements

We are indebted to Hewlett Packard of King Street Lane, Winnersh, Wokingham, Berkshire for the loan of the machine for a very generous period.

Table 1. How the HP uses variables and arrays, and what they cost in terms of memory.
Precision Accuracy Range Maximum Array Size (standard memory, no program)
REAL 12 Digits ±9.99999999999E±499 1800
SHORT 5 Digits ±9.9999E±99 3600
INTEGER 5 Digits -99999 through 99999 4800
Simple Variables Bytes of Memory
Full precision 10 bytes
Short precision 6 bytes
Integer 5 bytes
String 8 bytes + 1 byte per character
Array variables  
Full precision 8 bytes + 8 bytes per element
Short precision 8 bytes + 4 bytes per element
Integer 8 bytes + 3 bytes per element
Table 2. Pre-defined Basic functions that leave a little to be desired
ABS(X) Absolute value of X
ACS(X) Arccosine of X, in 1st or 2nd quadrant
ASN(X) Arcsine of X, in 1st or 4th quadrant
ATN(X) Arctangent of X, in 1st or 4th quadrant
ATN2(Y,X) Arctangent of Y/X, in proper quadrant
CEIL(X) Smallest integer >=X
CHR$(X) Character whose decimal character code is X.0<=X<=255
COS(X) Cosine of X
COT(X) Cotangent of X
SCS(X) Cosecant of X
DATE Julian date in format yydd (assumes system timer has been properly set)
DTR(X) Degree to radian conversion
EPS Smallest machine number (1E-499)
ERRL Line number of latest error
ERRN Number of latest error
EXP(X) e^x
FLOOR(X) Same as INT(X) (relates to CEIL)
FP(X) Fractional part of X
INF Largest machine number (9.99999999999E499)
INT(X) Largest integer <=X
IP(X) Integer part ox X
LEN(S$) Length of string S$
LGT(X) Log to base 10 of X, X>0
LOG(X) Natural logarithm, X>0
MAX(X,Y) If X>Y then X, else Y
MIN(X,Y) If X
NUM(S$) Decimal character code of first character of S$
PI 3.14159265359
POS(S1$, S2$) Searches string S1$ for the first occurrence of string S2$. Returns starting index if found, otherwise returns 0
RMD(X,Y) Remainder of X/Y: X-Y * IP(X/Y)
RND Next number, X, in sequence of pseudo-random numbers, 0<=X<1
RTD(X) Radian to degree conversion
SEC(X0 Secant of X
SGN(X) The sign of X: -1 if X<0, 0 if X=0 and +1 if X>0
SQR(X) Positive square root of X
TAB(N) Skips to specified column
TAN(X) Tangent of X
TIME Time in seconds since midnight (assumed system timer has been set properly) or since power on.
UPC$(S$) Converts all lower-case alphabetic characters in S$ to upper-case
VAL(S$) Returns the numeric equivalent of the string S$
VAL$(X) String equivalent of X
Table 3. Mechanical details about the cartridge system
Parameter Value
Rewind time 29 seconds
Initialisation time 15 seconds
Search speed 60 inches per second
Read/write speed 10 inches per second
Tape length 43 metres (140 feet)
Number of tracks 2 independent tracks
Typical tape capacity 780 program records (195K bytes) 850 data records (210K bytes)
Tape directory capacity 42 files (directory entries)
Typical access rate (search speed) 7,800 bytes/second
Typical transfer rate 650 bytes/second
Typical tape life (continuous use) 50 to 100 hours
Typical error rate <1 in 10^8 (that’s less than one in every 100 million!)
Table 4. Data security types and what they do
Type Secured against
0 LIST, PLIST and edit
1 STORE (duplication), LIST, PLIST and edit
2 STORE (overwriting), PRINT#, STORE BIN
3 CAT (blank name directory)
Table 5. Format characters for “pretty printing”
n(…) Parentheses allow field replication n times
A String character
Z Digit position or leading zero
* Digit position or leading asterisk (*)
D Digit position or leading blank
. Decimal point (.)
S Sign (+ or -)
M Minus sign or blank
E Exponent in form ESDDD
K Use default format
X Blanks
R Comma radix (,)
C Comma (,)
P Period (.)
/ Carriage return/line feed
“” Literal
Table 6. The graphics commands
ALPHA Sets the display to alphanumeric code
BPLOT

character string, number of characters per line

Plots a group of dots on the graphics display as specified by the character string.
DRAW x-coordinate, y-coordinate Draws a line from the current pen position on the graphics screen to the x,y coordinate position specified.
GCLEAR(y) Clears the graphics screen from the specified y value to the bottom of the screen, or the entire screen if no parameter is specified, in current pen colour.
GRAPH Sets the display to graphics mode.
I DRAW x-increment, y-increment Incremental draw. Draws a line from the current pen position to the position determined by incrementing the current pen coordinates by the specified increment values.
IMOVE x-increment, y-increment Incremental move. Moves the pen from the current pen position to the position determined by incrementing the current pen coordinates by the specified increment values.
LABEL character string Writes a character string on the graphics display at the current pen position.
LDIR numeric expression Label direction. Specifies the direction for labels in graphics mode. Horizontal labels are specified by values less than 45. Vertical labels are specified by values greater than or equal to 45. Default label direction is horizontal.
MOVE x-coordinate, y-coordinate Moves the pen to the specified coordinate position without drawing a line on the graphics display.
PEN numeric expression Specifies whether the plotting is done with white dots or black dots. When the expression is positive, a white dot is specified; when it is negative, a black dot is specified.
PENUP Lifts the pen; inhibits line generation.
PLOT x-coordinate, y-coordinate Moves the pen from the current point to the specified location, drops the pen, and makes a dot. If the pen was down, draws a line from current point to specified point
SCALE x min, x max, y min, y max Scales the graphics display in user-defined units. Default values are 0,100, 0, 100.
XAXIS y-intercept [, tic spacing [, x min, x max]] Draws a horizontal axis on the graphics display. Tic marks and initial and final x values can be specified. Positive tic parameters specify the left side of the screen as a reference, negative tics specify the right side as a reference.
YAXIS x-intercept [, tic spacing [, y min, y max]] Draws a vertical axis on the graphics display. Tic marks and initial and final y values can be specified. Positive tic parameters specify the bottom of the screen as a reference, negative tics specify the top of the screen as a reference.

First published in Computing Today magazine, June 1980

Explorer 85

Explorer85Main

Although this system represents a DIY start to S100 computing it may not be the best value for money. CT reveals the inner secrets.

By David Sinfield

The Explorer 85 from Newtronics Research and Devel­opment Ltd, USA, (the people who brought you the ELF II, reviewed in CT October 1979) has been available in this country for some time. It has, to date, attracted little attention. It is based on the 8085A processor – very similar to the 8080 and software compatible with that popular device. The CPU board is 13.25x 10.75” and of a high standard of manufacture being glass epoxy, double sided, through hole plates, silk-screened and solder masked (phew!). Fully expanded it can cope with six S100 boards. On board expansion is supplied as various “Levels”. The UK distributors will supply each level separately but do a “special” consisting of levels A, B and D. The actual constituents of each level and what happened to level C will become clear later. A further mention of the board is worthwhile because all the spare space is filled with little perforations – ideal for doing your own thing in.

Level headed

Although the Explorer is available built, tested, cased etc etc, I had the kit version consisting of levels A, B & D. Each level is complete with its own assembly manual and description. In general the assembly instructions were clear and concise. Construction is made easier by the provision of sockets for most of the ICs.

It is worth taking time over the construction as mistakes are more easily prevented than detected (thought for the month) and there are plenty of joints to make mistakes on. I did start to calculate how many solder joints I had made but it made my brain hurt, so suffice it to say it’s a lot. Despite this the only real problem I encountered was that the silk screened component positions were sometimes ambiguous. Rather than tossing a coin I used the circuit diagram provided to clear up any doubts as to what went where. Also in working from the assembly drawing I noticed that to astound and confuse presumably R144 had been omitted. I eventually found the position using the legends on the board. Although the UK distributors will rescue constructors with problems anyone in doubt about their ability to build the kit would be wise to splash out the extra cash on a ready-built version.

Explorer85MainBoard

Close-up of the main board showing the empty RAM and ROM area and the S100 expansion slot.

Level A provides 2K monitor, 256 bytes of RAM four 8 bit and one 6 bit I/O port, 14 bit clock/counter and interfaces to RS232 or 20 mA terminal, cassette and printer. No buffers are provided for the latter but spaces for suitable devices are present. A remote switch for the cassette recorder motor is on board. A version with monitor ROM to operate a Hex keyboard and display is available. A user interrupt and reset switch are also incorporated on the board.

Level B is the buffer/driver/address decoder hardware for both the on board expansion (levels D & E) and up to six S100 boards.

Level D is 4K of RAM in the form of 8 2114’s. This can be located anywhere in the address space 0000 to EFFF. F000 to FFFF being used by the system ROM.

Level E consists of sockets and voltage regulator to enable 8K of 2716’s to be installed. If required these EPROMs may be replaced by pin compatible RAMs. It is a hardware feature of the Explorer that each expansion has its own voltage regulator to minimise any problems due to excessive drain or surges to any part of the system.

Explorer85MainPCB

The main PCB cases with its power supply. Note the generous supply of socket holes on the back – good forward planning.

Above C Level

Further expansion is not possible on board so the only way to go is up. Pads for 2 S100 connectors are provided in which two boards can be mounted vertically. Alternatively the level C motherboard can be bolted on to the main board, picking up the bus from one of the connectors. This enables six S100 boards to be accommodated in total – five on the motherboard and one in the spare connector on the main board. I understand that Newtronics now have the North Star Disc system operational for the Explorer.

Documentation

The construction details given in the manuals are good. They start with a description of what the plastic bag full of bits is going to do. There is then a check list of parts down to the last nut and bolt. Resistor colour codes as well as their values are given in this section. The actual constructional instructions are clear, concise and follow simple short steps. This means that by ticking off each instruction as it’s completed, disastrous errors caused by distractions and interruptions can be averted.

The manuals contain a minimum of extra details but the level A instructions include details of how to use the monitor commands and gives an example of how an idea gets to be a program and how a program makes things happen.

The example requires the connection of a loudspeaker to an output port which is made to produce a 1kHz tone for 5 seconds.

Overall I found the package was let down by the presentation of the documentation and scarcity of extra (although some may say unnecessary) information, for example block diagrams and I/O implementation.

I notice that an Intel 8085A users manual is available from the distributors and this would probably be worth considering in view of the dearth of information provided.

Firmware

The monitor resides in 2K of ROM from F000. Two versions are available, one for RS232 or 2 mA peripherals and one to run from a Hex keypad/display. As the RS232 version is the most complete. I intend to ignore the Hex version.

Full details of the commands are given in Table 1. There is not much of special interest here but a few points are worth a mention.

The terminal width can be set by altering location F8FA or F8F6 – the manual seems a little confused here (F8FA gets my vote as it’s mentioned 3 times as opposed to F8F6 only once.)

Sending a “space” from the terminal to the machine automatically sets the Explorer to the terminal’s baud rate.

The tape load and save commands are straightforward enough but as the manuals warn some juggling with controls could be necessary to get good loads first time. On loading a parity check of each byte is carried out and a failure causes the cut off of the tape’s motor and an error message to be printed. This either means that you are trying to load “Semprini and his Silver Strings play The Sex Pistols’ greatest Hits” or you’ve got a problem somewhere along the line. Obvious candidates are magnetised, or dirty head, shoddy tape or simply that the program was not saved correctly. No verify command is available in the monitor so it would be wise to set up the tape and make sure it’s working before keying in that 56K “Star Trek Meets the Supreme Commander” program.

A useful addition to the tape routines is the ability to give programs headers when recording them and search when loading.

Inputting any character other than 0-9 or A-F when the machine is looking for a hex number results in the error symbol (*) being displayed. The monitor does not provide for breakpoints but this is a minor grumble over what appears to be an adequate monitor.

Wares Of The Soft Kind

The 8085A is completely software compatible with the 8080, the real difference being in the speed and the addition on the 8085 of serial ports and the instructions to handle them, so all your favourite 8080 programs can be run on the Explorer. As previously mentioned a North Star disc system can be hooked up to the Explorer opening up the realms of CP/M.

Microsoft 8K BASIC 80 is available in ROM or on cassette for the Explorer but as there have been so many accounts of the language in CT and elsewhere I won’t bore the devotees or antagonise the critics of this language by going through it all again. Suffice it to say that all the normal functions are included.

Extras

No keyboard is supplied with the Explorer, neither does it have the capability to directly drive a display. This means that unless you’ve got the odd terminal kicking around doing nothing you and your Explorer are going to suffer severe communication problems. Fear not – Newtronics to the rescue! They sell a terminal (ASCII keyboard and video board) which could have been made for the job. The display can go to either a TV or monitor. The character font consists of the full ASCII character set plus Greek (yes Greek) alphabet. Cursor control is also available, just add a PSU and you’ve got all you need.

For those among us who consider video display frivolous and would rather produce pictures of scantily clad young ladies on a Teletype, the Explorer can help you too. Interfacing with a Teletype is simplicity itself and probably one of the cheapest ways to produce hard copy.

A case to house the Explorer and a power supply to run the full expansion is also available. There’s even a cut out for a fan but I’m told the machine in the shop stays cool without one.

Remarks

The Explorer is definitely a quality basis for a full system, as large as you need. Unfortunately, the price reflects this. With only levels A, B & D, a Newtronics terminal and a power supply, it sets you back around £500. Viewed in the context of a system being readily expandable (as this definitely is) the cost is not prohibitive but whether it represents value for money would very much depend on the individual’s immediate application and future plans for the system.

Acknowledgement

Thanks to HL Audio (Newtronics) for the loan of the machine and their help in preparing this report.

Table 1. The monitor commands that are available.
Explorer 85 Monitor Commands
Command Name Instruction Format Explanation
CHANGE C(location) Modifies contents of memory location. Pressing space bar causes Explorer to display contents of memory specified and it can be replaced by typing byte in Hex. This followed by space bar causes next location to be displayed. Carriage Return (C.R.) terminates instruction.
FILL F(from),(to),(byte) Writes (byte) specified to block of memory given.
DISPLAY D(form),(to) Displays contents of specified locations. Either 8 or 16 locations per line of display depending on terminal width.
MOVE M(from),(to),(new start) Writes specified block of memory to block starting at specified address.
INSERT I(from) Allows for insertion of strings of data each byte separated by comma, space, CR or solidus. ESC or non-Hex character exits from command.
EXAMINE X(reg code)

X(CR)

Displays contents of specified register.

Examine contents of all registers

STEP S(from)

S(CR)

Single step from specified instruction.

Single step from instruction indicated by Program Counter. Space bar causes next step to be executed. CR causes next step to be executed and register contents displayed.

GO G(from)

G(CR)

Execute program from specified address.

Execute program from address specified by PC.

RECORD R(from),(to),(byte) Dumps to tape contents of specified block giving it the header (byte).
LOAD L(byte) Searches for program (byte) and loads it with parity check.
Note: Address are all 2 byte hex Nos.
Reg Codes:
  • A = Accumulator B to E and H & L the appropriate register
  • F = Processor flags
  • I = Interrupt status and mask
  • S = Stack pointer
  • P = Program counter

First published in Computing Today magazine, June 1980

Enter the Dragon

Dragon_32crop

British designed and built, this 6809-based system could represent the first ‘off-the-peg’ home computer. We venture inside for a close look.

By Henry Budgett

Ove the last 18 months, the computer market has seen a considerable number of microcomputer systems which all seem to offer the same basic specification. In general, these are based around the well-proven Z80 processor and feature the maximum allowance of RAM (64K) together with twin discs, the CP/M Disc Operating System and a variety of software packages and language options.

The main reason for this proliferation has been that it is, in general, cheaper to fully equip a system of this type than to offer memory expansion and hardware add-ons as extras. Memory and disc drive prices have fallen as a result of the increased demand and this can be passed on to the bulk buyers allowing them to build comprehensive systems at the same price as the basic unit would have cost some 12 months ago.

Now, the main reason for the similarity is that there are only a finite number of ways in which you can assemble a certain family of chips: CPU, RAM, I/O and peripheral devices. It took about two years before the manufacturers started to capitalise on this and reduce their design costs significantly. It is therefore, interesting to note that one new manufacturer has followed the example of his predecessors and produced a 6809-based system by following the same route.

A new start

The new computer is called the Dragon 32 and hails from South Wales, courtesy of Dragon Data who are building the system for Mettoy – the well-known toy makers. On the surface it simply appears to be a 6809-based system with colour graphics and 32K of user memory. Added features are the ability to plug in ROM-based cartridges, to attach joysticks and add a limited number of peripherals through the various ports. If, at this point, you are beginning to feel a slight sense of deja vu then take a brief bow. The system is aimed directly at the home market and, on price at least, must be taken as a competitor to the Texas Instruments TI-99/4A, the Atari 400 and the BBC Model A systems.

I mentioned earlier that the system is designed from the standard range of support devices for the 6809 CPU. Well, there are only two other 6809-based systems currently on the market: the Fujitsu triple processor system which can be discounted as it is very much more powerful; and the Tandy Color Computer which we reviewed in April of this year. The similarity between the Tandy and the Dragon 32 is almost uncanny and the reason is not simply because the same chips have been used.

I don’t know how Tandy produced the design for the Color Computer but the Dragon 32 was designed with the aid of the PAT Centre, a high technology design group who have been responsible for such devices as Moore and Wright’s digital micrometer. As far as I can unravel the story, the basic specification was taken to them with the brief to produce a result from off-the-peg components. Time being of the essence, they appear to have opted for the standard chip set approach and then equipped the resulting hardware with the only commercially available 6809-coded version of BASIC, Microsoft Extended Colour BASIC.

The inside story

The Dragon 32 arrives in a single box complete with power supply, TV lead, manual and quick reference chart. (Don’t waste time looking for the cassette lead, it’s an extra!) The first thing that strikes you about the system is that it has a ‘proper’ keyboard although the quality of the particular unit chosen is a little dubious.

The system is enclosed in a cream plastic box which is considerably larger than one might have expected. Quite why they made it this big is beyond me, it could have been at least an inch thinner and nearly the same reduction could have been made in width too. The power supply’s transformer is external and there is adequate ventilation, so overheating is unlikely to be the reason. Still, it’s a nice chunky case and styled so that it looks narrower than it really is because all the sockets are recessed at the side.

Inside the box (no mention, appears in any of the documentation to dissuade you from undoing the screws but I don’t recommend it unless you’re certain of what you’re doing) the layout is almost clinically neat. Excluding the keyboard assembly there are two PCBs, one holding the logic and the other, the regulator circuitry and the modulator. The latter is larger than usually found as it allows the sound channel to be heard through the TV speaker. Connection to the TV is made by a conventional phono to UHF lead which uses considerably better quality cable than most, potentially removing some of the interference caused by stray mains cables and the like. If you don’t fancy suffering the degraded quality pictures from a TV, you can take a monitor feed directly from the RGB drive circuitry. Although no connection details are given in the manual, it would appear to be a straight RGB plus sync output.

Dragon_32_002

The main PCB shows the small number of ICs used. The socket at the right-hand side is the cartridge port.

The main PCB is equipped with all the expected devices and even uses the twin video processing chips found in the Tandy, the SAM and VDG which we covered in detail when we reviewed the Color Computer. The RAM is provided in the form of eight Hitachi 4864 chips and there is a total of 16K of ROM provided by two 2716s. The 6809, the two ROMs and the eight RAMs are all socketed, none of the other devices are. One interesting point is the provision of a number of ‘patches’ on the layout, these are in the vicinity of the RAM chips and it is possible that an alternative memory capacity system could be produced using pin compatible devices. It would, at least in theory, be possible to use the new 64K by 1 RAMs to produce a 64K Dragon but whether this is something planned I cannot say.

Turn on

Readers who are familiar with the TRS-80 range of systems might be hoping that the format of the text screen found on the Dragon 32 would be an improvement. No such luck, it’s still 16 lines of 32 characters in text mode with no lower case letters, reversed upper case being used instead. Other screen formats include a low resolution plotting capability of 32 by 64 pixels and a high resolution mode of 192 by 256 points. A total of 16 predefined graphics shapes are available, all the variations of a two by two matrix, but these are supplied in eight colour options as some form of compensation. The same eight colours can be defined as background colours for the text screen area, although in text mode only green and black are available as the foreground colour depending on the background selected. The displayed colour picture is of reasonable quality but nothing exceptional. It has been tested on a Philips and an Hitachi portable but the best picture was obtained on my own 22″ Ferguson, the TX chassis series proving itself once again.

Slight to noticeable colour fringing occurs and there is some sound pickup too, but the main objection is that the primary colours are not clean; red, blue and green should be red, blue and green and not ‘off’ shades.

The initial screen display simply announces the machine and its version of BASIC. What it does not tell you is how much memory you have available. Typing PRINT MEM returns a value of around 24K which might seem a little surprising since you just bought a 32K computer! The missing 8K of RAM hasn’t really vanished, it is being used for the system variables and to create the high resolution graphics areas. While this means less space for you to program in, it does mean that when you come to use the high resolution graphics your memory doesn’t shrink dramatically like some other systems we could mention!

Screen editing is through a standard Microsoft line editor system which is initiated by the command EDIT<linenumber>. All the usual commands operate and you either like or hate it depending on what you’re used to. Bulk line deletion and program renumbering are available under BASIC although automatic line numbering is not. The usual trace functions, TRON and TROFF (Walt Disney take note), are included.

For those into data handling the cassette interface can be used for data files through BASIC although the reliability of the system is not particularly good. The interface seems to be slightly level sensitive but my main criticism would have to be the lack of decent messages, single letters displayed on the screen don’t count as messages in my book! The main stumbling point over the cassette interface is the lack of any supplied lead and, as the manual fails to give connection details for the frustrated DIY-er, Fig. 1 should be welcome. There are only two interesting commands on the cassette side: SKIPF which allows you to skip over the named file in order to position the tape for recording or loading files which are not at the beginning; and MOTOR which allows the cassette motor to be controlled by the keyboard and saves having to keep unplugging the remote control lead.

Dragon_32_006

Fig. 1. The connections to the cassette recorder socket for those wishing to make their own leads.

Possibly the only remaining function, other than the graphics which I’ll cover in a moment, is the ability to halt a program at any point during execution by pressing Shift @. Pressing any other key, excluding Break (although this is not made clear in the manual) restarts the program so you can take a break in the middle of that dogfight to answer the phone or perform other necessary functions.

Basic graphics

The Microsoft Extended Colour BASIC implemented on the Dragon 32 is as complete an example of microcomputer BASIC for this level of machine as any you’ll find. It supports all the normal BASIC functions, including IF…THEN…ELSE, as well as offering a comprehensive colour graphics command set. Full line drawing with both absolute and relative positioning is available and the single LINE command can be extended to produce rectangles, draw in either foreground or background colour and even fill in a completed box. For filling larger areas of the screen with colour the PAINT command can be used but be warned of leaving holes.

If you’re into things round, then the CIRCLE command will certainly satisfy all your needs. As well as producing simple rings of given colour and radius at any point on the screen, it can be extended to produce ellipses by changing the height/width ratio parameter or arcs rather than complete circles. All these high resolution commands are just the basic set, animation using the multiple pages of graphics memory and shape tables using the ingenious DRAW command can be mastered with a modicum of experiment and practice.

As an added extra dimension to graphics games the BASIC JOYSTK function allows up to two joysticks to be used, complete with ‘fire’ buttons. The values returned by the expression can be related to the x and y positions of either stick and it takes a total of six statements to examine both sticks together with the fire buttons. Now, the BASIC isn’t exactly slow, (Table 1 gives the Benchmark results) but there must be a better way than this to recover the values which then have to be scaled to suit the screen size in current use.

Wherever you find a home computer, which the Dragon 32 unreservedly is, with colour graphics you almost invariably find sound facilities as well. Simple, single tone noises are produced by the SOUND command where two parameters, frequency and duration, are all that is needed to produce the desired effect through the TV speaker. More complex sound sequences are best constructed under the PLAY function. Here, in a manner similar to that used by the Sharp systems, a complete note passage is programmed into a string which is made up of the note name, octave, duration and volume. Pauses and changes in tempo can also be programmed and as the notation used is similar to ‘real’ music, it is remarkably easy to use. My personal favourite in the sound department is AUDIO OFF which disables the audio output completely, but then again…

Ins and outs

The interfacing options of the Dragon 32 appear somewhat limited. The system provides for the basic requirements of a cassette and TV or RGB monitor together with the option joysticks. The only remaining options are the parallel printer port, Centronics compatible and fully supported under BASIC, and the ROM cartridge slot. It is interesting to note that the Tandy Color Computer chose to offer a serial port. A quick count of the available peripheral devices inside the Dragon 32 leads one to wonder just how they managed to create this extra parallel port as there simply aren’t enough bits available. The only possible explanation of this is that the printer shares the same PIA as the joysticks; it uses the port as an output whereas the joysticks use it as an input. All the rest is fairly conventional in terms of operation and design but it should be noted that the internal TIMER function will be upset by the use of the cassette interface as it is interrupt driven and not a hardware device.

Dragon_32_003

The left-hand side sockets include UHF, two joystick ports and a cassette connector plus the
printer port. The black button is the Reset.

Dragon_32_004

The rear panel features the power inlet, power switch and monitor output.

Further expansion does not, at first glance, seem possible until one remembers the ROM pack slot. All the indications are that most of the address, data and control bus lines should be available through here for expansion. Quite whether the range of Program Paks offered by Tandy will operate in this slot is open to question. The indications are that they should but without complete information on the pin connections of the Dragon 32, I’d rather not suggest that you plug one in to try! If the connectors are the same, expansion to include discs and make use of the 6809’s own DOS, FLEX, becomes a strong possibility as many US companies are offering these facilities for the Tandy Color Computer. Tandy themselves offer a range of add-ons but these ignore both FLEX and the S50 bus structure which is so suited to the 6809 CPU.

Currently, the only options available from Dragon Data/Mettoy are the cassette lead, a small choice of ROM packs and a joystick. I’ve played with their version of a Pacman-type game and while the game was OK, the control offered by the joystick left an awful lot to be desired. Whether the design will be improved or not I do not know but a strong suggestion is to find another source if the joystick you’re offered simply flops from side to side like our review sample. For those into building their own joysticks or modifying commercial offerings, the connections shown in Fig. 2 should be of some assistance. You can also use this information to connect other analogue devices to the Dragon 32 such as temperature sensors and the like.

Dragon_32_005

Fig 2. How the joysticks are assembled together with the necessary connection information.

Words of wisdom

Two pieces of documentation accompanied our review machine: a manual and a quick reference guide to the BASIC. The manual is written by Richard Wadman with the assistance of University College, Swansea, and, as manuals go, is not too bad. There are a number of small errors which may well have been cleared up by the time the machine hits the streets in a big way, but the main feeling is one of missing information. There are no details of any of the hardware, interface connections or add-ons. Nor are there any facts about the monitor program and how to get 6809-code into the system. There are brief references to the fact that it can be done, you can certainly save machine code programs on tape, but as to how you create them…

On the whole, it will satisfy the beginner as it is all clearly laid out and important pages have green edges to highlight their contents. The quick reference guide is a welcome addition as it enables those familiar with another version of BASIC to start trying out the extra commands available without having to rummage through acres of text.

One suggestion I will make though is that if you are really interested in pursuing the BASIC on the Dragon 32, you pay a visit to your local Tandy shop. There you can buy for the princely sum of £3.95 an excellent book called Going Ahead With Extended Color BASIC which contains more detail on Microsoft, provides colour pictures of many of the example programs in action and, best of all, a memory map and a list of operating system entry points. Now, as far as I and another colleague can discover, all these entry points work on the Dragon 32 so you can start to try out simple machine code calls to recover data from peripherals such as the joysticks, etc. One other book you might like to cast your eyes over while in the Tandy shop is the Color Computer Technical Reference Manual. Now, I will concede that it is not directly related to your Dragon 32 but it does explain the workings of the SAM and VDG devices and should give an overview at least of the internal operations. Another good reason for buying it is that according to my copy at least, while it costs nearly $15 in the States, it only cost me 99p here!

In the end

Just what has the Dragon 32 got to offer over its rivals? Well, if you were looking for a home computer to play games with and maybe try a little programming on, it does have the advantage of a reasonable amount of RAM and an almost decent keyboard. The BASIC is powerful enough for domestic use but if you really want a programming tool then BBC BASIC still stands out ahead, although the Model A offers less memory at the price. As an alternative to the Tandy Color Computer it wins on price alone although it certainly doesn’t look as nice.

As for its other rivals, the Atari and Texas systems, the choice of ready-to-run games and add-ons possibly tends to weigh against the Dragon 32. Another possible source of concern is that Mettoy have never been in the computer market before whereas both the others have a long pedigree but, in reality, there is little that can go wrong in a system like this that cannot be simply and easily fixed.

All these systems are readily available in the High Street, at least the Dragon 32 should be by now, and as is so often the case, it must come down to personal choice. There is certainly nothing wrong with the Dragon 32 and it offers an alternative and British-made solution to the home computer buyer. Whether it will succeed in making an impact on the market will probably depend on the general availability of both it and its extras and the effectiveness of the current advertising campaign.

Benchmark Time
BM1 1.27
BM2 9.14
BM3 17.70
BM4 19.17
BM5 22.16
BM6 31.07
BM7 44.68
BM8 10.82

Table 1. The benchmark timings for the Dragon 32. All are in seconds and timed using the internal clock function. Note that BM8 is taken over 100 loops instead of the usual 1,000

Factsheet for Dragon 32

  • CPU: 6809
  • Clock: 0.89Mhz
  • ROM: 16K
  • RAM: 32K
  • Language: Microsoft Extended Colour Basic
  • Keyboard: 53 key standard layout
  • Display: 16 lines of 32 characters on TV or monitor. Block mapped graphics on 32 by 64 grid. Dot resolution graphics to 192 by 256. 16 block graphics characters. Eight colours plus black.
  • Cassette: 1500 baud with independent motor control.
  • I/O: Two joystick ports. Parallel (Centronics) printer port. ROM cartridge slot.
  • Options: Joystick Unit (£10.00), ROM cartridges (£20.00), Cassette software (£8.00), 5.25” disc drive (NYA), OS9 operating system (NYA).
  • Cost: Dragon 32 (£199.50)
  • Manufacturer: Dragon Data Ltd, Queensway, Swansea Industrial Estate, Swansea, SA5 4EH

First published in Computing Today magazine, November 1982

Commodore’s 64

C64-001

It might look like a VIC-20 but inside the case resides a whole host of extra features plus 64K of memory. Our review team brings you the vital details.

By Henry Budgett and Chris Palmer

In the beginning there was the PET, and it was seen to be good. Then came the 3000, 4000 and 8000 systems and they were better. At last the big C realised the need for a smaller machine for the home market and the VIC-20 was introduced, but still the older machines flourished despite their outdated architecture and their lack of advanced features. So, the big C decreed that a whole new range of machines should be created to re-establish the company’s dominance of the market.

The first of these new systems to arrive is the Commodore 64 which received its press debut at the Hanover Messe earlier this year. Admittedly, the system was then still in the pre-production stage but it certainly looked interesting and appeared to offer a new slant on the way in which Commodore designed its systems. Looking very similar to the VIC-20, indeed the only distinguishing differences are that the 64 has two control ports on the right-hand side and a much smaller cartridge slot at the rear, it is based around the new family of devices produced by MOS Technology, the corporation who brought you Chuck Peddle (and the 6502).

Design philosophy

C64-002

The internal layout of the 64 reveals the use of much new chippery. The RAM is at the bottom left, all 64K of it! Note also the use of shielding around the HF sections.

As its name suggests, the Commodore 64 is equipped with 64K of RAM based on Mitsubishi 16-pin 64K by 1 device and is essentially a ‘soft’ machine. I say essentially because the BASIC is loaded from ROM by default thus making it look like a conventional ROM-based system. The processor is the new 6510 device and that is by no means the end of the new silicon inside. To control the video there is a new variation of the VIC chip that produces and controls programmable objects known as MOBs (sprites to the rest of us) and the new, all-singing, all-dancing SID chip which produces sound effects, music and the now obligatory beeps and whistles. Apart from these major devices there is a regular sprinkling of I/O devices and just a small quantity of ordinary logic.

The whole design is based on the new generation chips and seems to make effective use of the facilities they offer – the only question being whether people actually want those facilities in the first place! Personally, we have found it rather difficult to place the machine in a given area of the market. It is equipped with the capability to produce fantastic games and display graphics, it will handle all the domestic add-ons like a cassette recorder, small printer and joysticks, and yet it also offers the possibility of being used for serious purposes with its serial port, excellent keyboard and capability of driving a monitor as well as a TV. If a company was only producing one system which had appeal across a wide spectrum of the market, then one would say that this was perfectly acceptable and, indeed, a sensible approach to take. However, Commodore are also launching the 500 series, the 700 series, the VIC-10, the VIC-30 and, according to recent reports, there appears to be at least two more systems being currently examined for their market potential. Now, the dividing line between the VIC-30, the Commodore 64 and the 500 series is a remarkably thin one in our opinion and perhaps only time will tell if they’ve got their strategy right.

Pandora’s box

At this point it is only fair to point out that the Commodore 64 we reviewed was an American model. Normally, as you are probably well aware, we would not look at a non-UK version of a system but, apart from the power supply running at 110 volts and the TV picture appearing in NTSC format, we were assured that the guts of the system were identical to UK models. Certainly, when we opened up the system there was no indication of any board modifications or lashed up ROMs. It was a clean production unit with all the patches configured for the US.

While this meant that we were able to receive a Commodore 64 earlier than we had expected, which was good news, it meant that we had to obtain an American standard power unit and TV. While the former proved no problem at all, the latter complication was only solved by the helpful attentions of Hitachi who kindly provided one of their new multi-system TV/monitors for the duration. Sadly, however, the picture quality still proved insufficient to produce screen photographs of the graphics in action – a treat for which you will have to be patient!

C64-003

The keyboard layout is essentially the same as that on the VIC-20. Graphics legends are clearly marked on the key fronts.

C64-004

Rear pane socketry from left to right comprises cartridge port, channel switch, UHF output, monitor and serial port sockets, cassette connector and user port.

The VIC-style case is coloured a light chocolate brown for the Commodore 64 and is well constructed. The keyboard is excellent and has a nice sculptured feel. The angle at which it is set is possibly a little too steep but that’s really something that only long-term use will reveal. None of the sockets on the rear panel were labelled as to their function, a serious oversight as they have managed to label the side connectors quite adequately. The rear panel connectors comprise the cassette, user, serial and expansion ports together with the monitor socket and the TV phono socket. Also recessed neatly into the panel is a somewhat mysterious switch which changes the UHF channel output to something other than 36; what channel it actually is the manual does not bother to say!

Inside the case, as we have already mentioned, the construction is excellent, the PCB is well laid out and all the nasty, high frequency modulating bits are well wrapped up in metal boxes. The case is well ventilated but none of the regulator devices are mounted on heatsinks. With the actual transformer being elsewhere, the case size can be kept down along with much of the heating problems. All the major ICs, with the exception of the RAMs, are socketed for easy replacement – should the need arise.

Along with the keyboard/CPU unit comes the power pack, a heavy duty phono-to-phono lead and an aerial tapping box, although it is likely that the latter two will be replaced by a UK standard device when you open the box here! There is no supplied cassette lead as the 64 is designed to operate with the usual CBM/VIC type cassette unit which has its own integral lead and power cable. The manual which came with the American review sample will, as far as we can tell, be the one supplied in the UK and more will be said about this in a later section.

Language talk

The Commodore 64 is equipped, to all intents, with an identical version of BASIC to its predecessors, V2 BASIC from the VIC-20 to be precise. Despite the fact that this is a third generation system there are no structured programming functions such as IF…THEN…ELSE and, indeed, the language is barely different to that found on the oldest of PETs. Now, while this gives a remarkable flexibility to the system in that, with a minimum of effort, software can be converted to the 64 it does make one wonder about the lack of progress.

The Commodore 64 screen is based on the 25 lines of 40 characters format which is so familiar to users of microcomputer systems, but the address map has been moved and there is a second area of screen memory set aside for the colour information. The position map lies between 1024 and 2023 and the colour map lies between 55296 and 56295. The choice of colours has been expanded to 16 (including black and white) and the colour value of any location on the screen can be set by adjusting the corresponding location in the colour map.

Now, as you may have gathered from the introduction to this piece, the Commodore 64 is equipped with 64K of RAM and yet, when you turn  on the system, you only appear to have 38911 bytes left! Why, you may well ask. The reason is that the system is designed to be capable of running under languages other than BASIC; COMAL, LOGO, FORTH, UCSD Pascal and PILOT being likely possibilities. However, rather than taking the Sharp approach where the language has to be loaded into an empty system from disc or tape, Commodore have opted for the ROM-based approach. Inside the Commodore 64 is a BASIC ROM which, provided it is given no other instructions, inserts itself into the memory map at power up. There is actually a noticeable delay at power on while the operating system tests the complete complement of RAM.

So, as it comes, the Commodore 64 is equipped with a perfectly ordinary version of BASIC which offers no extra facilities, doesn’t support Hi-Res graphics or sound (despite the fact that both facilities are built-in to the system), and appears to be no better than the language offered on the original 2001 series PET. Surely this is not really as it seems? Well, if you have been used to a VIC-20, you will already be aware of the fact that the additions to BASIC to give Hi-Res graphics come in an expansion cartridge so it is quite likely that you will accept these constraints. If, however, you are used to something like a BBC Micro, Dragon 32, Tandy Color Computer or even a ZX Spectrum then these restrictions may well annoy you considerably.

Sounding off

Equipping home computers with sophisticated sound generating facilities is no new thing. Keyboard bleepers have been billed as music facilities for almost as long as we’ve been writing reviews, but on the Commodore 64 the provision of the SID chip gives a whole new dimension to the art. The controls for the SID device are many and varied (they would probably rate an entire manual on their own) but the first thing that you notice is that all the operations are handled by memory locations rather than as reserved BASIC words. If the manual tells you about something called the Waveform Register, and it’s something that you are going to be using quite a lot, why on earth didn’t they create a system variable called WAVEFORM? But such ideas are too fancy it seems, us mere mortals have to remember that the blasted thing is location 54276 and POKE to it. One register you might live with, but there are 28 registers controlling three voices and they all require thinking about as they are often shared – you quickly learn all about masking and bit manipulation techniques on this machine!

As to the sound that the Commodore 64 actually produces, well, it’s versatile and really quite pleasant. You can take the output directly to the TV set as the modulator is a sound plus vision type, or you can take a direct audio feed from the monitor socket to drive the monitor’s amplifier or even your Hi-Fi. It would take more, much more, than the pages available in this magazine to cover the possible ways in which you can manipulate the sounds which the SID can generate but, surprisingly, the actual characteristics of the SID are not too different to that mainstay of computer music devotees – the GIAY-9-8910! Users of the BBC Micro who have successfully acquired their new manuals and mastered the SOUND and ENVELOPE commands can bask in the knowledge that their system is still the most sophisticated.

Colour crazy

A logical extension to any system offering Hi-Res graphics capability in colour is to provide some means of manipulating objects once they have been created. The first popular system to offer this sort of facility was the Apple II which supported shape tables but was not exactly easy to use. The first system to offer usable facilities along these lines was the Atari 400/800 system and the defined pictures were christened Players, sprites to the rest of us. The theory is that you create a picture using the smallest pixels available, generally the actual character dots, which is then stored. This image can now be retrieved and positioned anywhere on the display, moved, and made bigger or smaller as you require. Because you can often create several of these sprites, rules have to be established as to their priority – which ones pass in front of others or vice versa.

The Commodore 64’s VIC chip offers up to eight simultaneous sprites (in BASIC) each of which is based on a 24 wide by 21 deep block. In sprite mode, the screen is transformed into a Hi-Res format of 512 dots by 256 dots and the sprites can be positioned at any point, even over the border if you wish to make them appear and then disappear. Each sprite is programmed in the form of a DATA statement whose values are then loaded into an area of memory reserved for user defined characters. The control of the size, shape and priority of each sprite is handled by no less than 46 special registers which have to be PEEKed and POKEd in BASIC. Sadly, as with the music facilities, there is no special set of reserved words to control these registers, it all has to be done the hard way but, doubtless, an optional cartridge will appear soon to make the use of the sprites and the Hi-Res screen area a simpler matter. For anyone who has experienced the heartache of programming the sprite facility on the Atari, the Commodore 64 system will seem a whole lot easier (for a start it can be done at a decent speed in BASIC), but is far from ideal. The sprite register map is provided as an Appendix to the manual and doubtless some enterprising individual will soon produce a wipe clean plastic version together with a book of sprite planner sheets – it will probably sell like hot cakes!

I have referred to the programmable graphics blocks throughout as sprites because that name is at least familiar. It is also the word used in the manual which accompanied the review Commodore 64 system but the indications are that in the UK, the equally correct word will be MOB or Movable Object Block – it appears that some enterprising person at Commodore has registered both sprite and MOB as something which only appears on his make of computer!

C64-005

The keyboard and the power light mounted on the top half of the case are easily unplugged allowing ready access to the interior. The two games ports and the power input can be seen at the rear right.

Words of caution

In the very early days of Commodore, a pair of employees in the UK were so horrified by the quality of the manual provided by the American company that they completely re-wrote it for the UK market. What they produced certainly wouldn’t have won prizes by today’s standards of documentation but it was a definite improvement. When the VIC-20 appeared a number of reviewers criticised its manual as being insufficient and, considering the vast number of extra facilities provided on the Commodore 64, it comes as a bit of a shock to find a mere 165 pages of information being called a manual.

There is to be an extended manual, we hope, and the sooner it appears the better, as the supplied User’s Guide is, to put not too fine a point on it, awful! While it covers the basic points of the system and outlines the commands available and the facilities provided, it introduces ideas that a first time user is unlikely to grasp. If you are already familiar with micros, whether Commodore’s or not, it is almost equally annoying in that it fails to provide comprehensive information about monitor addresses, memory areas and the like. I’m sure that it is OK for the American market where systems like this are generally treated as super ‘games/toys’ (at least the VIC-20 was) but in the UK, we tend to take a much deeper interest in the actual workings of the hardware. So, an urgent need for a better and more comprehensive manual will probably be felt. Whether Commodore manage to produce it in time or it is done independently we’ll have to wait and see.

In the end

As a machine to summarise, the Commodore 64 is not the easiest of beasts. Quite how Commodore are going to market it is not yet obvious. Will it be treated as a PET replacement (the 500 series is probably a better bet for that) or will it try to fill a gap between the VIC-20 and the existing 4000 series? In terms of price it must be seen as a direct competitor to the BBC Model A and yet its BASIC and overall facilities are not as comprehensive. It does, however, have the backing of the entire existing Commodore range: discs, printers, add-ons and most importantly of all, software.

With the possibility of other languages, the potential for networking through the new Keynet exists and with its nice compact styling, I have a feeling that it could be used as a classroom terminal or, possibly, as a general purpose intelligent terminal. The logical choice of host computers would be the new 700 series systems, specifically the 710 and 720 but, as yet, there has been no indication from Commodore as to this possibility.

The Comodore 64 will undoubtedly sell, the strength of the Commodore name alone will probably guarantee this, but the market may well have to be created for the system rather than the other way around.

Factsheet

  • Machine: Commodore 64
  • CPU: 6510
  • Clock:
  • ROM: 26K
  • RAM: 64K
  • Language: Basic V2
  • Keyboard: 61 key full ASCII. Four programmable function keys. Cursor controls.
  • Display: 25 lines of 40 characters on TV or monitor. 64 bloc graphics characters. Up to eight sprites. Up to 16 colours available.
  • Cassette: CBM C2N cassette unit required (£44.95)
  • I/O: User port, serial port, bus expansion. Twin joystick ports.
  • Options: All VIC peripherals. Alternative languages. Second processor. KEYNET networking unit. Graphics/utility cartridges.
  • Costs: Commodore 64 – £299.00 + VAT. Graphics cartridges – £50.00 (approx.)
  • Supplier: Commodore Business Machines (UK) Ltd, 675 Ajax Avenue, Trading Estate, Slough, Berkshire, SL1 4BG

First published in Computing Today magazine, November 1982