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

Advertisements