REVIEWS COURTESY OF ZXSR

White Lightning
Oasis Software
1984
Crash Issue 8, Sep 1984   page(s) 38,39

WHITE LIGHTNING STRIKES

There is a large interest developing in Games Designer programs. Lots of Spectrum owners have experienced a wealth of commercial games programs. Many of them feel at one point or other that they could improve and do better programs or have original ideas for new games concepts. Some may have experience of programming in Basic and have felt the disappointment in the deficiencies of Basic as a graphics and sound language. Every programmer goes through the stage of despair at the lack of speed when operating from Basic. Only very few will dare venture into low level machine code language directly from Basic. They will either learn to use specific machine code routines, which they will be able to access from Basic, perhaps using a machine code toolkit, or they will delve into a high level graphics development language. Nearly all of these dedicated people will find themselves learning machine code operation in the end and become machine code freaks. The interim stage of a high level graphics language or of a toolkit will help them bridge the gap between Basic and hex code programming by improving the end result of their work and thus keeping their interest alive long enough. In fact, the results may be so impressive, that some people may not even be bothered to develop any further and settle for this relatively easy and rewarding interim stage.

THE WHITE LIGHTNING PACKAGE

White Lightning is a high level development system for the Spectrum 48K. It consists of three distinct programming blocks:

The Sprite Generator
Spectra Forth
Ideal

The White Lightning language is a fast integer Forth which conforms to standard Fig-Forth.

Ideal is a sub language incorporated in Forth which deals with the graphics manipulation.

The Sprite Generator is a stand alone utility, which provides a development system for creating user defined characters and sprites for later use in Forth and Ideal or from Basic. Due to the wealth of material, only a very marginal cover can be given, but this should give the programmer an idea of the possibilities contained in this package.

THE SPRITE GENERATOR PROGRAM

The Sprite Generator program assists in the design and editing of graphic characters, which will later be manipulated as sprites in Forth, Ideal or Basic. At the end of the session the sprites generated can be saved to tape for later use. 167 arcade characters are provided with the package. These can be reviewed by loading and running DEMO B on the demonstration cassette. The demonstration sprites are located after the White Lightning program and may be loaded and edited with the LOAD SPRITES FROM TAPE facility.

The Sprite Generator program displays to the left the character square, an 8 by 8 grid and is the area where the sprites are created and edited one character at a time. The Sprite Screen situated on the right is an area of 15 x 15 characters in which sprites are created, developed and transformed. A sprite library of up to 255 sprites or 12500 bytes may be created and more than one library may be merged into White Lightning.

The character is generated on the character square and then transferred to the Sprite Screen. From here it can be used for sprite creation or saved directly as a sprite to memory. An information rectangle provides the information of the sprite in the Screen Window. It indicates the memory left, start and end position in memory, sprite height and length (in characters) and the sprite number. The special functions provided are plenty and include mirror, rotate and attribute handling. Sprites can be combined into larger sprites. Sprites may also be combined using the Boolean (logic) functions OR, AND, EXOR. The functions are too numerous to mention.

SPECTRA FORTH

The standard Spectrum editor or a special Forth line editor may be used to create the source code for later compilation. Forth achieves its superior computing speed by employing a computation and data stack on where the data or operations to be performed are held coupled with the use of Reverse Polish Notation, which may be familiar to Hewlett Packard pocket calculator owners.

The language is made up of a standard set of vocabulary of Forth words. Programming is achieved by defining new words based on the words of the existing vocabulary ('The house that Jack built...' principle). Values to be passed to these words are pushed onto a stack . Forth produces very compact code, the source code is very readable and it has near enough the speed of machine code without requiring the in-depth knowledge of machine code. Access may be gained to Basic and to machine code routines for full flexibility.

IDEAL

Ideal is a sub language with a dictionary of over 100 words. Ideal stands for 'Interrupt Driven Extendable Animation Language' and is designed to facilitate the manipulation of sprites and screen data. Forth/Ideal words can be executed under interrupt. This facilitates timing, as the Spectrum interrupts occur 50 times a second independent of any running program. This way smooth background scrolls may be produced independent of the foreground movement. Ideal may also be accessed from Basic. This allows the programmer to utilise the animation and screen facilities of Ideal before having to learn Forth. The animation speed will be reduced due to the higher overheads of the interpreter, and more memory will be used for the Basic source. Most of the Basic commands that handle sound and graphics on the Spectrum have been implemented in Forth and if these functions are accessed via Forth, will execute more rapidly.

DEMONSTRATION

Running the demonstration tape gives a clue as to what can be achieved with Ideal/Forth. All the demonstrations are explained in the manual indicating the method employed and the comands required for the special effects. The animation is very fast and the interrupt facility displayed to its advantage in several demonstrations.

MANUAL

It is here where White Lightning scores very highly. The manual is a 131 page booklet and provides an excellent introduction into this highly versatile language system. The manual is divided into the three main sections on the Sprite Generator, Spectra Forth and Ideal. Each and every command is explained in detail and illustrated with sample programs.

Glossaries are given for Fig-Forth, Ideal, Forth/Basic and Extended Spectra Forth. Important Use call addresses are listed.

The demonstration programs are briefly described and 16 sample programs are provided for the aspiring Forth/Ideal programmer.

CONCLUSION

White Lightning proves to be more than just a high level graphics development system. At £14.95 it includes a fast and efficient Forth language, the graphics sub Ideal and a versatile Sprite Creator all accompanied by an excellent beginners and reference manual.


REVIEW BY: Franco Frey

Transcript by Chris Bourne

Sinclair User Issue 32, Nov 1984   page(s) 32

QUICK ON THE DRAW

Memory: 48K
Price: £14.95

White Lightning is an apt name for the games development package released by Oasis Software.

The package is described by the company as "the first true sprite manipulation language". Although some would not agree with the first point, as the ISP SCOPE arrived on the scene much earlier, it has to be admitted that the package provides a powerful graphics utility language which will add a new dimension to games written by amateur programmers.

Sprites are made up of several character segments which can be moved around the screen in unison. Any one of a possible 255 sprites can be set up at any width and height you indicate. The unit of measurement for sprites is one byte and the most common size is four by four. That will produce characters similar to those which can be found on the Commodore and Atari computers.

The White Lightning language is compiler-based and runs Fig-Forth together with a set of commands to handle graphics, sound and input. Oasis has labelled that new sub-set of Forth 'Ideal' and it fills in the holes which the official Forth language leaves on the Spectrum.

If you do not have any knowledge of that esoteric language then the 131-page booklet which accompanies the package explains all the commands in detail.

As well as being able to use Forth and ideal you can incorporate Basic commands into programs. The reason for allowing the use of Basic keywords is that a beginner can be gradually weaned onto Forth code and off Basic. That is a commendable idea and one that works well.

Anyone who wants to write compiled games ought to buy White Lightning. It is easily the most complex games language on the market and produces stunning effects on the screen.


REVIEW BY: John Gilbert

Gilbert Factor9/10
Transcript by Chris Bourne

Your Computer Issue 10, Oct 1984   page(s) 47,49

Spectrum 48K
£14.95
Oasis Software

White Lightning is the most extensive and effective games writing package yet to appear. Oasis have had the clever idea of adapting Forth to meet the needs of the games writer. The program is a version of Fig-Forth, greatly extended by a hundred commands for manipulating graphics.

Forth is well-suited for creating games. It is almost as fast us assembly language but easier to use and has the great merit of allowing you to define new commands.

The bulk of the extra commands provide the Spectrum with an impressive sprite facility. Not only can you define the dimensions of your sprite but once created you can enlarge it, invert it or reflect it, and even spin it. To design sprites there is a sprite generator program together with a set of 167 predefined characters.

There are also commands to create screen and sprite windows, which can then be swapped around or scrolled in any direction. But perhaps the most useful feature is the way any of these graphics facilities can be interrupt driven. Thus you can set a scrolling landscape in motion while your program attends to other tasks.

To master White Lightning you will have to work through a manual of 130 pages of fine print. And in the process you will have to learn Forth Compared to programs like Hurg, Scope and Fifth, White Lightning is dauntingly complex. But if you want to write a game of commercial quality using a games designer, this is the one to buy.


Overall4/5
Transcript by Chris Bourne

ZX Computing Issue 22, Dec 1985   page(s) 42

ZAPPING YOUR GRAPHICS

ZX looks at some utilities that can help put some life into your graphics displays.

This program has been around for some time now and I well remember the hours of studying the little, small typed, 131 page manual trying to get to grips with it. It's not that the manual is badly written, just the opposite, it's just that you have to throw away all your knowledge of programming in BASIC and learn what amounts to two complementary new languages.

Spectra Forth is a variant of the Forth language and its implementation is explained in detail, but there's no attempt to teach you how to program in Forth. This means that before you can get full benefit of this program you have to buy a book, read it and become competent in Forth.

White Lightning not only gives you the use of a faster language but also over a hundred special commands in 'Ideal', a specially designed language created by Oasis.

The presentation case holds the previously mentioned manual plus two tapes containing White Lightning, a Sprite Development package and two demonstration programs. Look at the demos first, they will convince you that it may be well worth taking the time to learn to use the program.

White Lightning is a superb package for the dedicated games writer, it's good to see Forth having a practical use, and the end results could be superior to any other games designer programs.


Transcript by Chris Bourne

Sinclair User Issue Annual 1986   page(s) 72,73,74,76

USER-DEFINED POSSIBILITIES

John Gilbert says: Why not stop playing games and do something useful instead?

The definition of a utility in computer parlance has widened in the past year. In the early days of the industry it meant a program which aided the machine code programmer to accomplish a task. Now it can have five meanings.

The first category takes in the graphics and sound toolkits. Those expand the Basic command set, adding instructions which create shapes, fill them in, and save pictures to tape or microdrive. The sound generators sometimes included within those packages can make music or even create a voice for your computer.

Machine code utilities include assemblers, disassemblers and monitors, all of which are designed to help you write your own machine code routines. If you are not up to that sort of exercise you may like to acquire a new operating system or high level language such as Pascal, Forth or C.

General utilities which will teach you the highway code, help you with car maintenance or show you how to diet efficiently are also available.

Graphics packages have the most visible effect on a Spectrum or QL, and they have proved popular this year even with people who would not normally program a computer. Light Magic, from New Generation, started the interest in all things graphical during 1985. It carried on where Melbourne Draw, from Melbourne House, and Paintbox, from Print 'n' Plotter, left off.

The program is totally menu driven and can be operated either under keyboard or joystick control. There are five modes of display. The first is pen mode in which, you can draw on the screen using an electronic nib.

Circle and Fill mode will allow you to produce circles and arcs which can then be filled in with colour. Brush mode is similar to Pen mode but you can use 10 types of brush.

The block mode operates in parts, or blocks, of the screen. It allows you to rotate and mirror blocks on pictures, saving time if you need to draw an object which is symmetrical.

Finally, the Text mode enables you to write on the screen. User-defined graphics can also be produced as a UDG generator is included in the package.

If Light Magic does not impress you then The Artist, from Softechnics surely will. It is one of the most powerful packages on the market.

The Artist can be used to take one section of a picture and reproduce it on another part of the screen, where it can be enlarged or reduced. The package will also allow you to produce UDGs and a animator utility is included within the program. Not satisfied with that the author has also included a simple routine which will take a screen display and reduce the number of RAM bytes required to store it.

Art Studio, from OCP outperforms The Artist in almost every way. It has superior speed to the Softechnics package and the pull down menus are easy to use. It can be used with disc, tape or microdrive and contains a printer driver which handles most Spectrum compatible printers. It should be of use to professional artists and designers as well as to the home user.

A similar package came onto the market for the QL. GraphiQL marked the entry of quality software house Talent onto the QL scene. Not only can the package produce every conceivable type of line, circle, are and angle, but it can also be used to define textures, using form and colour. Those can then be used with Fill routines.

The program allows you to enlarge shapes on the screen. That facility enables you to ensure that Fill texture does not leak out of a shape which has a hole in its border.

QL Art, from Eidersoft, has the same sort of facilities as GraphiQL but does not have the same professional edge to it. Unlike the Talent package it is fully menu driven. One of the faults with GraphiQL is that you must rely on the instruction manual or special help option for information about user commands.

Illustrator, from Gilsoft, is the long awaited adventure graphics designer for the Spectrum. It is no ordinary package as it produces graphic screens which can be put into adventures designed by Gilsoft's adventure design program The Quill. Although the routine can only produce static screen pictures it brightens up the adventures written by its sister program and gives adventure programmers more scope for invention.

White Lightning, from Ocean, is one of the most exciting advances in graphics design packages for the Spectrum that I have seen in the last year. Its aim is to allow you to produce high standard arcade game graphics and, in order to do that, you must use its special Forth-type language. The package combines a sprite generator with a screen layout designer. It is great fun to use and its limitations are only in the mind of the beholder.

A similar package has been produced for the QL, although Super Sprite Generator, from Digital Integration, will produce and animate only sprites and not full screen game backdrops.

The program adds extensions to SuperBasic and is run in two parts. The first is the generator and the second the animation routine. It is an excellent package which has been used by professional programmers to produce arcade games. Night Nurse from Shadow Games is one example of its use.

Only one good example of a sound toolkit came onto the market last year. Varitalk produces speech through the Spectrum Beep unit. Its performance can be enhanced using a loudspeaker or by putting the sound through a tape recorded output channel.

A large number of phonetic sounds are included in the package. Those can be accessed by using a code made up of the first letter of the type of sound required and the number of that sound from a list which has been provided on the cassette inlay. There are no parameters within the program to allow you to set emotion or inflection into the speech. You cannot even get the package to ask a question properly.

Machine code utilities may only appeal to assembly language programmers but that audience has grown larger during the past year, especially within the ranks of those who own a QL.

No less than four QL assemblers arrived on the market during 1985. The most powerful was from Metacomco. The QL Assembler Development Kit comprises a full screen editor, together with a three-pass compiler.

The editor can input ASCII code files and so can be used with code Basic programs and even word processor files. Once your assembly code listing has been entered you must save it to microdrive, or disc, and then load it into the assembler program. The package takes approximately two minutes - and three code overlays - to convert the code file into a machine code format.

Also included with the assembler is a library of QDOS calls. Those can be named within you programs. A linker was put into the second version of the assembler package at which time Metacomco dropped the price.

Computer One was also quick to produce an assembler for the QL. The difference between it and the Metacomco program is that it can be loaded into the machine complete with the source editor. You can, therefore, write your assembly program and then convert it to machine code without having to load any overlays from microdrive.

The Sinclair Research assembler is similar to that from Metacomco, but it is not as powerful. Incidentally, the full screen editor in the package was written for Metacomco. GST, the company which wrote the Sinclair assembler, just does not seem to have the knack of producing editors.

Adder Publishing was not as quick to produce an assembler package as Metacomco and Computer One but it did release one after the launch of its classic QL Advanced User Guide.

The program was similar in structure to the other products on the market but adheres closely to the notation in the User Guide Book.

It was some time before anyone realised that what the QL market was missing was a debugging tool such as a monitor or disassembler. That was soon put right, however, as four companies put monitors onto the market almost simultaneously.

The first program came from Digita1 Integration. QL Super Monitor is an economical package, put out in a cassette format box. It performs its task well and allows to view and alter code in a hexadecimal format.

Computer One was again quick on the scene with a monitor which followed, and was compatible with, its assembler package.

Not to be outdone Hi-Soft also decided that it should bring out a token QL product and opted for Andrew Pennel's QL MON. Unlike the Computer One program it is not automatically invoked when the machine is powered-up. Pennel's monitor is a QDOS job and can be called simply by typing a new SuperBasic command, MON. As it is easy to break out of the package back into SuperBasic the monitor can reside in RAM, be called at any time, and not disrupt any of the other tasks being performed by the QL.

The same technique is used in Tony Tebby's QL Monitor which is produced by Sinclair Research. The package has all the usual debugging facilities, a one line disassembler, and routines which displays the values of the registers or a block of memory in hexadecimal.

Another good feature of the package is that you can set it to run on any channel or in any window. That means that you could set up several versions of the program within the machine, each of which work on different sections of code.

You may prefer, however, not to get tangled up in the web of machine code. That does not mean, however, that you have to stick to SuperBasic, or to buying packages off the shelf. You can still experiment with QDOS and machine code by buying one of the toolkits or SuperBasic extension packages which have just become available.

The most famous toolkit, of course, was written by Tony Tebby and can be obtained for the QL from Sinclair Research. It provides a whole spectrum of new SuperBasic commands and run-alone programs which show the power of the QL multi-tasking operating system.

The main body of QL Toolkit comprises SuperBasic extensions which control jobs, allocate or clear memory, and display the status of the system.

A series of separate programs, some in SuperBasic, some machine code, are also included in the package. They provide a user-defined graphics generator, an exceptionally fast back-up utility, and a multi-tasked digital clock which can be run while the package is in operation.

One task which the toolkit will not do is to check microdrives for errors or repair files which have become corrupt. Those sort of occurrences may be well known to you. They are unfortunate but fairly regular and if you do not have a back-up copy of a file you will usually be in trouble.

The Cartridge Doctor, from Talent, does away with many of the problems posed by the microdrives. It checks every sector on a cartridge to see it any errors have occurred and informs you if files have been corrupted.

Once you know about an error you can set up the Cartridge Doctor to deal with it. The most usual way is to read the file in and display it in ASCII format. A cursor is then provided by the program and you can rewrite any parts of the file which have been damaged. You can even repair the headers of files if necessary.

Machine code is a low level language because you cannot understand it but the computer finds it easy to understand. A high level language, such as Basic, is easy to understand from your point of view - as a user - but needs some translation before the computer can understand it. There are several types of high level language for both the Spectrum and QL.

Although Sinclair Basic, for the Spectrum, is highly respected it does have some faults and one software house, Betasoft has brought out a new version of structured Basic. Many of the additions provided by Beta Basic can also be found on machines such as the BBC Microcomputer, Amstrad and QL. They include WHEN and WHILE loops, a real time clock, new graphics commands and instructions to make Interface 1 and microdrives easier to use.

The Betasoft version of Basic is one of the best on the market for any machine. It has undergone several transformations during its relatively short three-year life span.

Pascal is another popular language and can often be found in schools. Indeed it is on the curriculum of some O and A level examination boards.

The first company onto the market with a full version of the language was Hi-Soft. Although it does not have an ISO standard of certification, which most full versions of the language have, it does run many times faster than Sinclair Basic and includes Logo turtle graphics.

The big Pascal launch of the year, however, was for the QL, from Metacomco. The QL Pascal Development Kit did receive ISO standard certification - an award which is to Pascal what a BSA certificate is to car safety seats.

The Metacomco package provides a full version of the language with extensions for QL graphics and sound. The source code is taken from a full screen editor and compiled into true 68000 code.

It was the first QL product to receive a Sinclair User Classic and, indeed, it was the first utility to receive that award for software excellence.

Computer One brought out a version of Pascal which while not up to the standard of the compiler from Metacomco comes a very close second. The first version of the package compiles the source into P-code which, although faster than SuperBasic, requires the Pascal operating system to be in memory. Computer One later amended the program so that code could either be translated into P-code or compiled to form a job which would run without the operating system being present.

The compiler is more user friendly than the Metacomco package - all sections of the screen editor and compiler can be accessed through a menu based program - but the QL Pascal Development Kit wins hands down in the features race.

Metacomco and Computer One both brought out versions of the popular artificial intelligence list processing language LISP. The Computer One program is less expensive than the one from Metacomco. Both versions can deal with the QL graphics commands and both are interpreted.

The medium level language C also proved popular with QL software houses during 1985. The first company to bring out a version was GST, which is famous for the 68K/OS alternative QL operating system. Unfortunately the product is a version of public domain RATC, a scaled down version of the original with additions to allow the use of QL graphics and QDOS traps. It is, of course, a compiler but the source must first be typed into a screen editor, run through a compiler which produces assembly language source, and put through an assembler to produce 68008 code. It is an unnecessarily complex operation and the code could be compiled in one go if GST had produced a machine code compiler.

GST also ranks among the companies which brought out QL operating systems in 1985. Its 68K/OS was originally intended to be the QL operating system. The package consists of as ROM board, slotted into the expansion slot at the side of the QL, and several microdrive cartridges.

As operating systems are usually judged on the amount of software available for them 68K/OS is a dismal failure. So far GST has only produced an assembler and word processor for its baby. One wonders what would have happened if Sir Clive had decided to use the GST operating system.

The C/PM-68K operating system from disc drive manufacturer Quest Automation did little better than the GST product. A few business packages are available for it but, despite the fact that it uses discs or microdrives, few software houses have taken up the challenge to produce anything of note for it.

A large variety of DIY utilities came onto the market in 1985. They teach everything from garden design to touch typing and computer athletics.

Sinclair Research wins our first Most Useless Utility Award for 1985 with QL Gardener. While it is obvious to see the benefits of a plant dictionary and garden design package for those who like gardening, and own a QL, with the dearth of QL software the company must be green behind the ears to bring out such a product. Where are all the fantastic business and educational programs which will show off the true power of the 16-bit - or is it 32-bit - machine?

Our second MUU of 1985 award goes to Car Cure, a program which aims to diagnose the problems which you may encounter with your car. All you have to do is type in the symptoms of your vehicle's illness and the program will come up with an answer to your problems - maybe. Most of the time it just recommends that you contact a qualified mechanic immediately.

Another car-orientated program which is marginally more useful than Car Cure is Highway Code. Through a series of multi-choice questions it will teach you about the signs and situations which you may encounter on the road. The graphics are simple, but effective, and the program has been checked by a qualified driving instructor.

If you want to stay fit then Microfitness from VO2 is for you. It will take you through a series of carefully graded exercises culminating in - I hope for your sake - physical fitness. When it was reviewed early in 1985 our own Clare Edgeley found out how unfit she was!

Finally, touch typing programs for beginners came from QL software houses during the past year. Two were produced, one from Computer One and the other four months later, from Sinclair Research. Touch 'n' Go from Sinclair Research provides more in the way of graded exercises and a more complex results table.

The utility market is the area in which the QL has done best. There are many languages available for it and a host of machine code utilities which allow the use of the power of the 68008 processor and QDOS.

It is a pity that the same cannot be said of the Spectrum. Very few utilities were produced for the machine and most software houses have moved to other machines. That is unfortunate as the Spectrum still has a lot of power within it which lies untapped because people like you cannot get at it.


REVIEW BY: John Gilbert

Transcript by Chris Bourne

Sinclair User Issue 44, Nov 1985   page(s) 39

The lightning fast graphics of the games designer are produced with the package's special language, based on Forth. The language provides all the commands necessary to produce animated sprite characters such as space ships, pac-men and laser bases. It can also be used to create the backdrop screen of a game, be it stars in space or a city.

The results may be impressive but construction of a wide variety of games is easy. The package was originally launched by Oasis at a time when games earned programmers star status. It was one of the reasons for its success.


Transcript by Chris Bourne

All information in this page is provided by ZXSR instead of ZXDB