Reviewer: Simon Beesley
Magazine: Your Computer
Date: October 1982
The 64's strong selling point is its memory capacity, but - as Simon Beesley discovers - its other features all conspire to make it something of a force to be reckoned with.
THE VIC-20'S STOCK has fallen slightly since it first went on sale last autumn. At the time it was welcomed as the only computer under £200 with colour and sound. Now it seems overshadowed by a number of competitors which offer more features at an equivalent price.
People tend to point to the Vic's limited memory capacity - only 3.5K - or its constricted screen layout of 22 columns by 23 rows, and belittle its strong characteristics as secondary features. But such secondary features as well-spaced and robust keys, or good screen editor assume great importance for anyone who spends much time programming.
Improved screen size
The Commodore-64 remedies most of the Vic's shortcomings, while maintaining its virtues. The keyboard layout is the same and, apart from its beige colour, the casing has the same size and appearance. An extra games socket supplements the number of ports available on the Vic. These allow attachments to cassette, disc drive, program and games cartridges. A user port which will take a Z-80 cartridge to give the 64 access to CP/M software is also included. The VicModem, RS-232 and IEEE interface cartridges can also be plugged in.
Memory capacity and screen size are two areas in which the Commodore-64 improves on the Vic. 64K RAM is on board, of which 38K is available for Basic programs. The screen format gives 25 rows of 40 characters. Like the Vic, there is a choice of 16 colours and two character sets which include predefined graphic characters.
Commodore micros score highly for the ease with which one can change character sets, select graphic characters and alter the text or graphic colour. All this can be done through a combination of control and colour or graphic keys. Compare this with the laborious business of keying in a VDU command on the BBC Micro to change colour.
Easy to set up displays
Setting the background and border colours is equally convenient and just requires Poking a value into a single memory location. Multicolour mode on the Vic and the 64 enables you to use four colours within a single character space but is really only suitable for user-defined characters. Extended Colour Mode on the 64 is a new and more useful feature, which allows you to choose one of four colours for the background to a single character. The drawback is that only the first 64 characters can be used in this mode.
The 64 runs the same Basic as the Vic, itself more or less the same as Pet Basic. Programs should be transferable from other machines with 40-column displays if Peek and Poke addresses are changed.
The attractive feature of this Basic is the convenient way that cursor and colour control characters can be entered into character strings in a Prifit statement. They determine the screen position and also the colour of the text or graphics that follow after - making the task of setting up the display in a program considerably easier than it is in other versions of the language.
In these and other respects the Commodore incorporates almost all the specifications of the Vic-20. But it would have to be more than just an expanded Vic to justify a price of nearly £350 including VAT. Sprite graphics and a. powerful sound generator are the Features which supply the difference and lift it into the BBC Micro class.
The sound facility is at least as extensive as the BBC Micro's and, arguablyj easier to use. Rather than being embedded in sound and envelope commands, sound control is obtained by Poking values into specific memory locations. The 22 sound-memory locations allow you to define notes in up to three voices with a range of eight octaves. Each voice can be set to one of four wave-forms - triangle, sawtooth, pulse or noise. The attack and decay and sustain/ release parameters affect the way the volume of a note develops and fades.
Like the BBC's generator, the sound facility approaches that of a full sound synthesiser. A fairly close simulation of instruments such as the piano and harpsichord can be achieved as well as a variety of sound effects - the sound of jet engines, gunshots, wind, surf, snare drums, cymbals are some of the possibilities mentioned in the provisional manuals.
Sprites are user-definable shapes which can be moved around a 320 by 200 dot screen. The term was coined by Atari which offers asimilar feature on its microcomputers. A sprite object is defined on a grid 24 dots wide and 21 dots long; up to eight of them can be controlled at a time.
Fun with sprites
The video-display chip handles the writing and deleting of the shape on the screen. All the user needs to do to move a sprite is Poke new X and Y co-ordinates into the sprite register. It is also possible to expand sprites, change their colour, and make them pass behind or in front of other objects on the screen. Two locations in the register can be read to detect potential collisions between sprites or other background objects. Clearly sprite graphics will be useful for games applications, particularly since they can be displayed on the ordinary screen with many other text and graphic characters, as well as in the high-resolution mode. It is not difficult, for example, to program a flock of sprites to pass behind the lines of a program listing - a rather bizarre sight.
The ability to read the entire character generator from ROM into RAM is a boon to the Vic user which makes up for some of the machine's deficiencies and provides a limited high-resolution facility. Not only does the 64 share this flexibility, but it also supplies a separate high-resolution mode. You can open a screen with & resolultion of 320 by 200, which is bit-mapped to an 8K screen and leaves 24K RAM available to the user.
But it is a little misleading of Commodore to claim that the standard 64 offers high-resolution graphics since the Basic does not contain any line or point-plotting commands. Poking to . screen memory would indeed light up a pixel; but locating a single dot on the screen is complicated by the fact that the bits in memory correspond to eight by eight blocks rather than successive rows of dots.
Promise for the future
A true high-resolution plotting facility on this machine will have to wait for the arrival of a language, which supplies commands like Plot, Circle, and Paint. Such a language is Simons Basic, which will furnish the resident Basic with refinements such as If-Then-Else, definable procedures and error-trapping found in more advanced Basics. This development will enable full use of the 64's ample memory capacity - 38K user RAM. One of the eight other possible memory configurations releases 52K for machine code or other languages.
- The addition of sprite graphics; high-resolution mode and a very effective sound generator to the Vic's specification make the 64 a very different, far more powerful and versatile machine.
- Like the Vic, the 64 will profit from a large range of cartridge-based software - as much of it for business applications as for games.
- It will be able to take advantage of much of the software and accessories for the Pet and the Vic, while cartridges for the Max - also known as the Vic-10 - are compatible with the 64.
- The 64 is let down by a rather limited Basic. The forthcoming Simons Basic should make good this failing, although it will up the price by at least £50.
- In respect of its other features the 64 is an excellent machine which can be highly recommended.