REVIEWS COURTESY OF ZXSR

EX-BASIC
by Jonathan Lawrence Edgar
Companion Software
1988
Your Sinclair Issue 38, Feb 1989   page(s) 88

RAGE HARD!

More Rage Soft this month as Phil South sticks his nose into Companion Software's EX-BASIC.

Few companies really have the Spectrum in mind when they produce software products for computers. But one company that has never swerved from its devotion to our favourite button box, is Companion Software.

And now, to add to its string of utilitarian hits, Companion has just announced EX-BASIC, a new version of the Basic language for the Spectrum. This little package will allow you to do all kinds of wacky things on your Spectrum which would have been impossible before. But what has this new Basic got to offer that the old one hasn't and is it worth £11.99 of anybody's money. Well, yes to the second question, but the first bit could take a little bit more explaining.

WASS ALL THIS THEN?

In brief, EX-BASIC is just like the Basic you use when you switch on your Spectrum, but it does have quite a number of important differences. It has an ALKATRAZ loader generator for starters, wangy sound effects, fade out, border and attribute routines, scroll screen, double height and character fonts, smooth pixel by pixel scrolling text, RAM save/load screens, and something called mega PLOT. Plus, plus, plus, there's monitor machine code commands, real time clock, multitasking, function keys, and a built in software slomo. All this sounds far too good to be true, but let's whip out the magic screwdriver and check it out.

UNDER THE HOOD

EX-BASIC stands for Extended Basic. Unlike its other product, IMBOS, Companion's EX doesn't require the Interface One to work, so now anyone can use an extended Basic.

All the new commands are prefixed by a * symbol, to differentiate between the new command set and the usual Spectrum Basic commands.

The system cassette contains EX-BASIC, plus demos of how to use the program. It includes the Melody Maker program for making music using EX-BASIC commands, plus Replay for playing back the tunes you write. To activate EX all you have to do is load it. Then the computer loads the code, and resets. It's a bit alarming, but it's not a full reset, just a reset to EX-BASICS requirements. You then activate the system by typing:

RANDOMISE USR 61434

and a copyright notice appears. You're then invited by the manual to load the demo program to get you started. I won't go into EX tutorial mode here, but I will tell you what some of the more interesting new commands do.

INTERRUPT COMMANDS

*CLOCK
Switches on the real time clock in the top right of the screen.

*TIME x,y,z
This sets the clock where x is hours, y is minutes and z is seconds.

*COLOUR x
Where x is equal to an attribute colour. This will alter the CLOCKS background colour. A good equation for figuring the best paper and ink colours is: x= * 8+

*TRON
Not the film, but a debugging command for tracing which line number you're at when the program is running. It means TRace ON.

*SLOMO
Once upon a time there was a gadget called a slowmo, which slowed down the clock speed of your computer so you could cheat at games. EX-BASIC has its own slowmo, only this one sits in memory as a command. Now, I wonder if it works with games as well? No, I'm afraid it doesn't.

*SLOW x
This is where you set the speed of your SLOMO command. Set x from 1 (slow) to 5000 (normal).

*FUNCTION
This switches on the 100 function keys that you can define. You then define which keys do what. This effectively enables you to reassign every key on your keyboard and selectively disable certain keys. Like BREAK?

*L FUNCTION
This simply lists your current function keys. *IM1 and *IM2 are for selecting the current interrupt mode. This was previously only available via machine code.

MONITOR COMMANDS

*MFILL s,l,w
This command fills memory with a byte w, starting at s and a length of 1.

*RAMTOP
Displays the current RAMTOP value.

*RENUMBER x,y
A powerful renumber command, which renumbers your current program from line x in steps of y.

GRAPHICS

*DOUB x$
Prints the text x$ in double height.

*CENTRE x$
Centres the text on the screen.

*TEXT X$,s,k$
This command scrolls text x$ at the current AT position. S is the speed between 1 to 1000, and k$ is a key detect, where you can stop scrolling at a key press.

*SCREEN p,i
This command amazingly changes the screen colours without destroying the display file. Brilliant for writing graphics programs.

SOUND EFFECTS

*SOUND length, pitch
Like the old BEEP command where pitch 0=C# and 2=D and so on...

*FX x,y
A wacky sound effect generator, where x equals one for white noise, two for forward laser zap, three for backwards laser zap, four for footstep, and five for laser repeat. Y controls the type of sound made by different values from 1 to 65535.

PROTECTION

*HSAVE and *HLOAD
Save and load headerless files. For program security. Nobody can discover the length and location of your file

ALKATRAZ LOADERS

*ZAP X
And finally the most interesting one of all. To create an ALKATRAZ loader, you must first create a table telling the computer where to place each segment of screen data. The actual creation of the table is gone into in a lot of detail in the manual, and I must say it looks very good on the screen. You zap the screen into bits and load each bit at the same time as loading the program. Sexy stuff.

THE VERDICT

This is just a random sampling of the new things you can do with EX-BASIC, as the full interpreter handles a total of 66 new commands. (Tee hee, it says over 65 in the manual!) The implementation of this language is impeccable, as you'd expect from Companion, and the documentation is short and sweet, but perhaps by that same token a little too brief.

The booklet tells you everything you need to know to run EX-BASIC though, and there is a phone number in the back of it if you want any technical help. I don't know whether it quite has the oomph needed to write a top quality game, but it certainly contains the building blocks for you to have a really good try.

What it would probably be better at is presentations, rolling window displays, and for writing your own applications, especially if you have a grasp of a bit of machine code as well. You don't need to know it all with EX by your side, as it makes up for all the bits you don't want to know about!

Great stuff, what else have you got up your sleeve, Companion? Hmm?


REVIEW BY: Phil South

Blurb: CONTACT EX-BASIC £11.99 inc p&p Companion Software Brampton Road Carlisle Cumbria CA3 9AX

Transcript by Chris Bourne

Crash Issue 59, Dec 1988   page(s) 116

BASICALLY SUPERCHARGED

IMBOS or EXBasic? Now that is the question!

Yes! it's here! Delayed by postal strikes, publishing deadlines and acts of Production Managers, IMBOS has finally made it. Amazed at his luck IAN CULL provides the review, looks at ExBasic and gets a letter from a Simon N Goodwin! It's all go in the tech world. (PS: Ian refuses to comment on the accuracy of his 'distinguished look' picture, just saying 'Cannot something be done to remove this situation?'. Well, frankly, Ian - NO! Nick Roberts says, you'll have to put up with it, just like everyone else!)

For those of you muttering something about not owning an Interface One, Jonathon Edgar at Companion Software has come to the rescue with a package called ExBasic. This will run, it is claimed, on any Spectrum (though only in 48K BASIC mode on my +3). It gives the similar, but improved, facilities to your Spectrum that IMBOS offers Interface One owners.

ExBasic does not, obviously, offer any improved microdrive syntax, but everything else available in IMBOS is also into ExBasic, often in a better way than in its parent package. In addition, there are even more new commands available.

All ExBasic commands begin with an asterisk followed by the command name keyed in full - an improvement over IMBOS. Commands can also be entered in both cases.

There are a number of 'interrupt-related' commands in ExBasic, including *CLOCK, which displays the current time in the top-righthand corner of the screen. It is set using *TIME, but is only accurate when interrupts are running (therefore, time is lost when beeps or cassette commands are used).

There is also a *TRON command (good film!, but also stands for TRace ON) which displays the current BASIC program line being executed while a program is running (useful for debugging). Also built-in are various commands which allow the keyboard to be redefined (though I can't think of a reason for doing this) (function keys, perhaps? - see, I'm not just a pretty face - Ed).

ExBasic has all the IMBOS hex/decimal commands, and the double poke facility. There is also a string poke command, *WOKE addr, "string". The memory details commands are included along with *RENUMBER and *REMKILL functions.

The print functions of IMBOS are supplemented with a 'curtain' effect command, which redraws a RAM-stored screen image slowly, like drawing a blind across the old screen image.

Sound is basically as for IMBOS, with the addition of a 'boot'sound (?). There's also a music maker program which is easier to use than the one bundled with IMBOS.

ExBasic has the headerless save/load routines, along with an Alkatraz screen loader routine (courtesy of ODPS, though there is no credit to them in the package) - this is the professional system that draws the screen character by character, anywhere you like. Very effective, but slow (18 bytes per character on the screen).

ExBasic is available at £11.99, from Companion Software, 193 Brampton Rd, CARLISLE, Cumbria CA3 9AX.


REVIEW BY: Ian Cull

Transcript by Chris Bourne

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