Kathleen Peel takes the wraps off the COMX 35. With a built-in joystick and 35k memory the new arrival is full of Eastern promise.
The COMX 35 it well made and nicely packaged, supplied complete with cassette leads, a cable to connect to your domestic TV, a power supply with integral three pin plug and a Basic Manual.
The keyboard houses plastic keys with a calculator-type feel but without any loud speaker feedback. Because of its size it is unsuitable for touch typing. The joystick is centre-biased and produces non-printing codes when activated; its use is mainly for self- written and commercial games.
The cassette interface at 600 baud seems relatively trouble free and actually requires that both earphone and microphone leads are left connected. This allows a spoken header for each tape track which is heard through the computer loudspeaker on playback. Both program and data files may be saved.
Expansion is through a double sided 44-way socket, at present no information exists as to the connections of the socket.
There are plans for an RS-232 – Centronics interface to take a suitably badge-engineered version of the extremely popular Sharp four-colour printer plotter. Floppy disc drive, speech synthesiser and memory expansion to 47K are all as they say “to be available shortly”.
The machine is one of the coolest running micros I have seen, it barely heats up which is a good indicator as to the reliability of the electronics.
The Computer is based on the RCA 1802 microprocessor – an 8 bit register-orientated central processing unit, CPU. Its main features are low power consumption, a register array, R0-RF, consisting of sixteen 16-bit scratchpad registers and 91 easy-to-use instructions. A summary of the registers is given in table 4.
Switching on repeats a display routine waiting for any key other than space to be pressed. It then prints on the screen
program. The maximum line length is 95
characters and the cursor line commences
below the end of the line to be edited, so it
may be displaced by up to three lines which is
a, bit confusing. Not the best editor I have
seen, but, by no means the worst.
A novel command, Control R, recalls the text prior to the last press of the return key with any data typed after the return super- imposed at the beginning of the line. Very useful for changing line numbers and minor changes at the end of often repeated commands.
At switch on there are 30934 Bytes available to the user according to Print Mem. It prints 256 less than actually available to allow for stack growth. The Basic implementation on this micro has one major drawback - it is incredibly slow, taking approximately four times as long to complete the timing tests used for the Spectrum – Oric evaluation presented in the March 1983 issue of Four Computer.
The usual selection of Basic commands are available, but disturbingly the manual has no references to any printer command.
This indicates the level of standardisation of COMX Basic. Table 1A lists commands which just vary in the keyword and Table 1B lists commands that are either not defined in the dictionary or have a non-standard meaning.
Redefinable character set
There are no simple structures such as If – Then – Else and On – Gosub but their relevance is debatable. The Basic interpreter inserts and deletes spaces as it merrily tidies up your data entry. As you may type PR – a shortened form of PRINT, there is a slight problem with lines such as PR INT (A /256) .which the interpreter resolves as PRINT (A /256).
The whole of the character set is redefinable by using the Shape command, each character being formed within a 8 x 9 character cell. The two most significant bits are used to define the colours and the remaining six the pixel content of the relevant row of the character. This theoretically is .capable of giving high resolution and the program below does that. As you can see, not all the character codes are usable within the display and the user is left with about 112 definable characters. The characters are duplicated in the top and bottom half of the character set, each half able to use a set of four colours – Black, Blue, Green and Cyan or Red, Magenta, Yellow and White,
Unfortunately, there is a slight problem, whenever the shape command is used, the screen nearly always blinks – it seems to be a timing problem. If the programmer does not redefine characters whilst a program is running then this will not be a problem.
There: are no Draw, Plot and Cirde commands which is not surprising as the display does not appear to be memory mapped. This is the hi-res program:
1 8=0:CPOS (0,0):CLS 2 FOR A =32 TO 127:G0SUB 7:NEXT 3 FOR A = 144 TO 255:GOSUB 7:NEXT 4 GOTO 2 7 PRINT CHR$ (A);:8 = 8+1:lF B>958 EXIT 10 8 RETURN
10 ZS="0123456789ABCDEF":FOR A=144 TO 255:GOSUB 50:NEXT A 12 WAlT (500):GOTO 12 50 A$="":FOR B=0 TO B1:C$=MID$ (2$, 1+ INT(RND(15)),1):A$ = A$+ C$: NEXT B:SHAPE (A,A$):RETURN
I mentioned earlier that data entry from the keyboard is white and the computer response cyan, which can be changed to a number of other permutations. Unfortunately there is a
side effect, coloured graphics entered via the keyboard in a program change colour when printed by the computer.
The machine has the usual six colours plus black and white. The paper colour covers the whole screen for all colours and does not leave a border like on the Oric or Spectrum. The display which is 24x40 characters covers virtually the whole of the TV screen and gives a picture almost 20 percent larger than the Spectrun with the same character definition. Spectrum definition is 24x32, Colours are good, stable with very little noticeable dot crawl. The colour commands are in table 3.
The sound commands in table 2 are also good and capable of giving a wide range of realistic noises from lasers to explosions, and could even provide a fair imitation of speech which would give an extra dimension to games. Although the machine does not suffer from the dreaded Sinclair power supply hum, there is a hum coming from the loudspeaker which is annoying.
The joystick is effectively four additional keys which are activated by pushing the joystick in an appropriate direction. These keys produce non-display character codes (continued on page 59)
(continued from page 57)
which auto-repeat and can be read by the key function. This returns the ASCII code of the current key being depressed. So If Key = 136 Then.... Because of the nature of the keyboard scanning routine, the use of the key facility in a program such as figure 2 creates problems and does not smoothly move the character around the screen. It is necessary to make the variable the value of the last key pressed and integrate the variable as in figure 2. This point is omitted from the manual.
The content of the manual for the beginner is good and quite clear but spoilt by rather too many silly errors. There is virtually no technical information in the manual. It really should include 1802 assembler instructions, memory maps, system variables and I/0 socket connections. They may not be required initially, but you will not get very far without them.
Glancing through the ROM reveals three commands not in the manual. Dos Pout and Tout. Dos and Pout give error code 62, “ROM or ROM card not present” and Tout reruns Ready. There appear to be ROM routines for double and quadruple-size printing available which should be very useful.