Nigel Hicken
Utility: Graphics
ZX Spectrum 48K
Unspecified custom loader

Chris Bourne

Similar to many graphic utilities Light Magic consists of two main work areas, the Screen Editor and the UDG Generator. Screen Editor is accessed for screen display generation or amendment, while UDG Designer deals with the creation of up to seven different banks of User Defined Graphic characters. The Main Menu provides access to these two facilities, to the Save and Load routines for storing and retrieving screens or UDGs to and from tape, to the Keys/Joystick selection (Cursor keys, Kempston and Sinclair joystick) and to a routine which writes the Sinclair lower case letters into the first two UDG banks.

Five operating modes can be accessed consecutively in Screen Editor by pressing Enter. These are Pen mode for line drawing, Brush mode for brush drawing, Block mode for colour work and macro facilities such as block copy, rotate and mirror and enlarge, Text mode for annotation work and UDG mode for UDG inclusion. The screen contains a cursor circle which can be removed with the command CURSOR (key K). The lower two screen editing lines contain the control panel with display of coordinates, Mode indicator and Band and Over status. The cursor movement is smooth and the speed can be set with keys A and S with an appropriate audio feedback. The general drawing technique is to toggle DRAW (key V) on and off with OVER (key N) set. This is equivalent to pen up and down. If OVER is not set, the cursor will reset pixels and destroy the existing drawing. A special feature is BAND (key B) which enables a line to be stretched from the point BAND was enabled to the current cursor position. Moving the cursor in a wiping action will cause the existing drawing to be wiped out similar to the action of a windscreen wiper. Pressing key B again will freeze the line and disable BAND. Circles may be drawn using the straightforward CIRCLE command (key C) with the radius as a parameter and similarly FILL (key F) will perform an area fill under the current ink colour. PO/NT (key O) provides the usual plot pixel facility, but also acts as the reference point setter for REFERENCE (key RI which will reposition the cursor accurately to the reference point. ENLARGE (key E) will enlarge the quarter of the screen where the cursor is positioned to full screen size for detailed drawing, but care must be taken as single pixel lines may be lost when returning to the original size. Any detail should be drawn two pixels wide! This is rather unsatisfactory and a further snag becomes apparent when the detail to be drawn carries on outside the enlarged screen quarter as no automatic switchover is provided into the neighbouring quarter.

The ink colour is changed with INK (key X) and bright is selected by pressing cap shift and the colour key. CLEAR (key U) clears the screen or quarter screen (if YES is selected), but also changes the entire picture to the current ink and paper colours (if NO is selected). GRID (key GI displays the attribute boundaries for colour. The usual colouring problems exist due to the Spectrums unfortunate character-wide attributes. The best approach is to establish the drawing in black and white considering the colour grid positions. Making sure that OVER is set, TEXT mode can be entered. The required colour is selected using SYMBOL SHIFT/X and each character cell can be OVER printed with a space. Corrections can be made by saving the picture regularly in memory (Cap shift 1), so that if the next move proves to be a disaster, the previous condition can be recalled from memory (Cap shift 2).

BRUSH mode provides very much the same facilities as PEN mode, but hands you a brush (cursor) for screen painting. The brush size may be varied with keys W and Q and ten different brush strokes are available from solid to airbrush style random dot spray. The airbrush facility is extremely practical, as it allows dense areas to be built up by covering the same area several times.

BLOCK mode is used for areas up to 64 character cells to be manipulated. MOVE (key Ml repositions a designated area into a new location on the screen. The bottom right corner of the block is located with PO/NT, the top left corner with MOVE and the block is transported with the cursor movement to its new location and dropped by pressing MOVE again. COPY (key Z) behaves similarly, but leaves the original block position untouched, the block is actually copied. MOVE and COPY can be used with ENLARGE to enlarge or reduce specific drawing items. ROTATE (key 9) and M/RROR (key 0) rotate and mirror the top left 8 x 8 block image. MOVE can be used to locate the detail in question.

TEXT and UDG mode provide the inclusion of text or UDG characters on the screen. By positioning the cursor individual characters may be rotated (key 2), mirrored (key 3) or inverted (key 4). A character may be expanded to double height with CAPSHIFT. In UDG mode one of seven UDG banks can be selected (key 1).

The UDG DESIGNER provides eight functions. The UDG banks may be viewed and loaded into the working area (key V). An individual UDG character is loaded into the 8 x 8 grid on the left of the screen and similarly filed back into the bank (key Q). Moving the cursor in the grid the individual pixels may be set or reset with key 1 or the joystick fire button. Special functions are again ROTATE (key 2), M/RROR (key 3) and INVERT (key 4). The UDG's created are positioned in memory and their address is listed in the manual. An example program is provided in the manual for inclusion of the UDGs in other programs.

COMPSCREEN is a utility for compressing screen data and is loaded separate to the main graphics program. The amount of memory it will save depends on the screen content. The more detail in the picture, the smaller the saving. The data is compressed and saved with a short machine code routine that reconstructs the data. A screen is loaded using option 1. Once the screen is compressed, the start address and the length of the data is displayed. Further screens may be compressed by answering YES. Option 4 will display the start address of the compressed data and the reconstruction routine together with the required RAMTOP value. To use the screens, ramtop has to be initially set with a CLEAR command and the screens loaded. A picture can be displayed with a RANDOMISE USER call and data instruction of screen start.

LIGHTMAGIC is a nicely balanced graphics utility which requires little time for familiarisation. Its most outstanding aspect is the novel BRUSH technique which can provide a lot of entertainment and can be a very useful tool for professional creations. It is a pity that the ENLARGE facility has not been thought out more carefully, but this is probably made up for by the powerful BLOCK MOVE and COPY commands. The manual includes a working example to familiarise the user with the required work technique and all functions are clearly described. Several new graphic utilities are about to appear and it will be interesting to see how LIGHTMAGIC will compare with the competition.


Not Rated