Commodore User

Vic 20 Exposed
By Melbourne House
Commodore Vic 20

Published in Commodore User #5

Vic 20 Exposed

The range of books for the Vic-20 seems to grow daily. This one is from Melbourne House, which has a pretty good track record for books and games: it's edited by John Vander Ryan with material from several authors.

Its scope runs from the initial principles of Basic programming, with every function and program variable explained, through the techniques of graphics and sound and so on to using joysticks, paddles, disks and cassettes. There are also chapters devoted to understanding how the Vic works and some on machine code - what it is, how it is used.

First impression - the unique style of the first chapter. It consists of many well-pointed and concise notes and hints on more aspects of Basic programming. This is developed further in chapter 2, which looks at all the Basic commands in alphabetical order; you get descriptions with examples in a useful reference form.

The style changes slightly for chapter 3, Advanced Basic Techniques. Amongst other things it explains how to keep programs short, how to append and merge programs, and how Basic programs are stored.

Graphic techniques on the Vic are far from simple and chapter 4 explains the techniques, including the problems of where to put everything inside the Vic. By this point in the book, the overall writing style is becoming a bit muddy; but it is certainly quite understandable.

High-resolution graphics are first explained assuming a minimum of memory available, and this results in a tiny high-res screen of 64 x 64 dots. It does however go on to explain how the full screen can be set up if enough memory is available. Like the rest of the book, the chapter contains a few example programs, although they assume that the screen starts at location 7680 (in other words, that the maximum expansion used is 3K).

Sound is covered briefly in chapter 5, and the cassette unit in chapter 6 - which also goes on to examine the disk drive. This section deals with all the disk commands available, but spends most of its time examining more advanced commands such as BLOCK-ALLOCATE and BUFFER-POINTER and does not cover normal disk techniques in any detail. The printer is also examined in this chapter, but very briefly. Chapter 7 is four pages on how to use the joysticks and keyboard, with a few lines on games paddles.

Chapter 8 takes a close look at the hardware, describing how some of it works. It includes a diagram of the inside of the Vic, showing what each section of the circuit board does.

Machine code is the logical follow-on from all this. Like the Basic section of the book this is not a tutorial; beginners may find it rather difficult to learn machine code from the text. It does have useful tips on where to put machine-code programs and how to save and load them.

Finally there are several appendices covering the usual character tables, memory maps, KERNAL routines and so on. Appendix I contains a description of some of the many routines in the Basic ROM which could be of use to the more advanced machine-code programmer.

Overall? Generally speaking the book is well put together, with useful examples throughout - though not without the occasional error. The presentation is sometimes difficult, where tables are not well laid-out and program listing are typeset rather than printed directly from listings.

The section on cassettes and disks could have been better, with descriptions of the techniques that are most needed yet often least understood - rather than the esoteric examination of some disk commands, surely out of place in such a book.

Vic Exposed has fallen into the all-too-common trap of trying to cover too much in too small a space. But nevertheless, as a book of expositions, it is a great improvement on the book of revelations. Value for money? Well, at £6.95, I'd give it 7 out of 10.