Tech Niche

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. 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!)

BASICALLY SUPERCHARGED

IMBOS or ExBasic? Now that is the question!

HAVING FINALLY got my hands on the new microdrive program, I must report that the IMBOS saga has developed a new twist. The original IMBOS V1.1 is still available from the author (Companion Software), but a new version IMBOS V2, is now available from Kobrahsoft (the company that brought +3 users the DICE program — Issue 57).

But what is IMBOS I hear you cry. Well actually the title stands for Improved Microdrive Basic Operating System, and the program is obviously only of use to Spectrum owners that have the Interface One & microdrive system. For these people, upwards of 60 new facilities are added to the Spectrum, in 11K of code (8K if you purchase the old version, 1.1).

The first apparent facility of IMBOS is the vastly improved microdrive command syntax. No more LOAD *"m";1"filename" entries. Just type RUN "filename" to load a program (also works for CODE and SCREEN$ files), or OUT !"filename" to save. VERIFY and ERASE are similarly simplified. The microdrive number that these commands use is set by READ #x.

A new command, LIST CAT x, gives a different microdrive catalogue, showing protected filenames as well as those shown by the normal CAT. There is also a header reader, accessed by typing READ IN "filename". The file’s type, and size/start address are given, along with the first sector number of the cartridge.

‘The vastly improved microdrive command syntax’

IMBOS also adds new screen and sound commands, as well as additional graphics routines.

The PRINT command is expanded to allow conversion between hexadecimal and decimal (for example, PRINT &64206 prints FACE on screen). Screen paper and ink colours can also be simply altered, using PRINT ATTR x.

Other new functions allow specified byte values in the display or attribute file to be changed (this could be used to instantly change the colour of a displayed picture).

Printing of text is improved with a centring function, and a ‘window scroll’ routine. There is also a double-height print command, for displaying tall characters (not available on V1.1).

On the graphic front, mirroring of the screen is built in (although it mirrors each character wide column, rather than the full screen), and a powerful fill routine is available. New character fonts can be easily defined, since the full character set is held in RAM along with IMBOS — in fact a clear font is supplied on the tape, ready for loading into IMBOS.

Version 2 also offers a ‘power plot’, which allows drawing on the full screen — including the edit window, and a DRAW command which takes the start & end coordinate as argument, and also works over the full screen (but the origin is at top-left which is confusing, and gives upside-down graph plots). Also on offer are scroll commands, for the display file or the attributes, in all four directions.

‘Mirroring of the screen is built-in’

Sound is well catered for, offering White Noise, Zap and Siren sounds. Version 2 has more Zaps, and a pleasant tone, for music sequences.

Other IMBOS features include a RAM screen store routine (though it is not a compacting one, so only three screens could be held in a 48K memory at once), and a pseudo-16-bit poke function, *DOKE. Headerless save/load routines are present, as well as various monitor commands, including some to give details of memory usage (program size, free space etc). Version 2 also offers a program editing command (so all LPRINT commands could be automatically changed to PRINT ones), and an additional Organ Maker program, for creating tune sequences to be added to your own programs (which I found difficult to use).

In conclusion, IMBOS is a powerful addition to any Spectrum and Interface One set-up, enabling BASIC to do many things that normally require machine code. However, since IMBOS is copyrighted, you could not write a program with it and sell it, or even give a copy to your friends (unless they also own IMBOS).

‘The origin is at top-left and gives upside-down graph plots’

Despite this, and a couple of minor bugs/annoyances (commands are not recognised if keyed in lower case, for example), the program is worth buying for the sheer expansion of microdrive syntax. IMBOS Version 2 is available from Kobrahsoft for £12.95. Owners of IMBOS V1.1 wishing to upgrade can do so, for £5.95. Version 1.1 is still available at £8.95 from Companion Software. Microdriveless Spectrum owners read on...

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.

A music maker program is also included

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).

‘There are even more commands available’

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 then, 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.

TECH TAPE THE RESPONSE

A MR SIMON N Goodwin (!) has written in to correct me on October’s article. (Nice to know we have a quality readership.) The ZIP BREAK function in the ZIP 2 compiler (on the CRASH Tech Tape) CAN be used for machine code other than that produced by its compiled BASIC.

To do this, first compile a non-program (eg 10 REM). Save the resulting code, then run it. This will install the ZIP BREAK routine, allowing any other machine code to be stopped at any time.

The routine can only work if the Spectrum interrupts are not altered by the new program, and if the ZIP code is not overwritten (from 53247 to 55200, approximately). My thanks to Simon for that information — Tech Niche has not yet heard the last of him...

MAGAZINES ON TAPE

FOLLOWING CLOSE on the heels of The Spectrum Programmer, I have received another tape-based magazine, Network — this time aimed at users of the MGT DISCIPLE/Plus D interfaces (and therefore a rival to the ‘official’ FORMAT magazine). At the moment I don’t actually have one of these interfaces, but this didn’t matter too much since a lot of the magazine’s content is of relevance to all serious Spectrum users.

Issue 1 of Network has a BASIC-to-disk routine, which runs in screen memory so it should be able to transfer almost any BASIC program. There is, however, no description of its use. There is also a disk cataloging program, and an in-depth article on Plus D hook codes. The descriptions are more like those in a book appendix, however, and need more background information in order to be useful to all Plus D users.

On the general programming front, there is a shape-fill routine, a ‘flexitext’ program (which writes text in any size and direction, but is written in SLOW BASIC) and an attractive circle pattern program.

Finally, and most impressively, is an animator program that smoothly translates the letters ‘BBC’ into a picture of a TV showing ‘2’. Someone obviously put a lot of work into this demonstration.

Issue 2 of Network introduces NETFAX, a Prestel-like way of presenting the textual part of the magazine. For those confused, press P to get the initial index up!

The tape-to-disk routines continue in this issue, along with a tape header reader (not another one!) and an excellent RAM disk program. This allows a single memory image file on the disk to hold up to 80 files once loaded into the Spectrum. However, the program is so well written that it will run on any Spectrum (even my +3, in 48K Basic mode). The RAM disk is created in the main 48K of memory, so it slightly limits BASIC program size that can be written to use it.

Network is very well presented and contains excellent material. At just £1 per issue (or £10 for a year’s subscription), it seems good value even if you do not own one of MGT’s interfaces. To order, contact Barry Turner.

I have also received a copy of +D Hacker, supplied through INDUG (the ‘official’ Plus D/DISCiPLE user group, and writers of the FORMAT magazine mentioned above). I will look into this further once I have access to a Plus D interface, and hope to compare it with MGT’s own equivalent program, Pick-Poke-It.

Kobrahsoft are continuing to support Spectrum +3 owners. Following on from their DICE system, they have written a disk backup program, DB1. This allows non-standard disks (for example, commercial programs) to be backed up so that if the disk is damaged, your money had not been wasted.

I will look at this program in detail next month, after Kobrahsoft have a chance to get it to backup my copy of Where Time Stood Still (which failed in their review version of the program) — new protection methods are constantly appearing, and this type of program needs continual updating to remain useful. The price of DB1 will be £12.95. While waiting for my incisive review, queries may be dashed of to the address below, but remember no personal replies!

Helps and hints (but not too many hassles, please) should be despatched post haste to Ian Cull, Tech Niche, CRASH.