REVIEWS COURTESY OF ZXSR

Specbug
by Richard Turner
Artic Computing Ltd
1982
Sinclair User Issue 12, Mar 1983   page(s) 31

STARTERS GET CODE BUG

ZX Bug is a machine code monitor and disassembler for the 16K Spectrum. The program uses hexadecimal base 16, to display numbers such as addresses and operation codes. That makes it easier to program in original code but a hex to denary base 10 convertor would have been helpful in the package.

The disassembler displays information in a series of fields, or areas, on the screen. The address of an instruction is displayed first, followed by the hex representation of operation and operand, the number to be processed by the operation. On the other side of the screen the hex is translated into mnemonic form.

The monitor part of the program will translate messages into hex and store them in memory, display register and alternative register pairs and run machine code programs.

The program is ideal for machine code beginners as it is simple to use. It is available from Artic Computing, 396 James Reckitt Avenue, Hull, HU8 0JA. It costs £6.95.


Transcript by Chris Bourne

Your Computer Issue 9, Sep 1982   page(s) 30

The two assemblers were useful because they save you money by not buying at inflated prices books which disassemble the Spectrum ROM. Of the two the Campbell version is more attractive as it is written in Basic, and one can learn from studying the program listing - warts and all.

The Artic version was difficult to follow, as the documentation had not been prepared, but if the Spectrum documentation is as good as the ZX-81 documentation then it will be terrible. Given the incomplete nature of both offerings, the cheaper price, and the ability to convert from hex to dec and vice versa, sometimes with amusing results, the Campbell Systems offering may be better value.


REVIEW BY: Boris Allan

Summary: Passable only.

Transcript by Chris Bourne

ZX Computing Issue 4, Dec 1982   page(s) 74 ,75

A LITTLE BUG

When you're tired of BASIC, you may turn to machine code. Paul Holmes looks at a number of 'tools' to help you with entering and running machine code.

Entering machine code using tedious and slow BASIC loaders is tiresome, and you're likely to start looking for something to lend a hand. Here are the latest machine code monitors for the Spectrum.

DISASSEMBLE FUNCTION

One thing which every editor needs is a disassemble option. With this the user can check that all the code he entered was actually the code he wanted to enter, and by disassembling his program he can check it against his original listing. All three of the editors reviewed had this facility, some performed it in a more useful manner by calculating the addresses for relative jumps. Both ZX BUG and SPECTRUM Monitor use 'Z' to access the disassemble function. One point about the ZX BUG that was annoying was that to get a printer copy of the disassembly you had to exit (using 'X') then type 'COPY'. This meant that the X command got copied as well, causing a break if a long listing is needed. The SPECTRUM Monitor politely asks 'PRINTER?' in a similar manner to the 'SCROLL?' message used in BASIC.

INSTRUCTIONS

The best manual by far was for the SPECTRUM Monitor by Picturesque. It was pleasantly written and very thorough, the sort of quality one expects when buying a complex package like this. By contrast the instructions for Artic's ZX BUG were squashed onto the back of the cassette inlay. For the experienced user this is just about acceptable but for a newcomer to machine code this could leave them baffled. The commands on all three are accessed by a single keypress, SPDE also has an optional menu to refer to which can be summoned to the screen at any time. The instructions for SPDE are contained in the program and give details of the program's operation and how to use it.

Both ZX BUG and SPECTRUM Monitor, on loading, relocate themselves above RAMTOP and do not depend on a BASIC master program. This gives the user the advantage of being able to write programs in BASIC that use machine code subroutines developed on the editor. With ZX BUG one has to be careful because the machine code is loaded from a dud line (a line with a ridiculously high line number so that it isn't listed) to the top of RAM. That dud line is left behind and so invisibly uses up 4K of your BASIC workspace. To remove it one must first set RAMTOP to 7100 Hex then type NEW. SPDE requires a BASIC master program and so is therefore not quite as versatile.

ZX BUG, or is it SPECTRUM BUG? I'm not sure because my review copy had ZX BUG on one part of the inlay, SPECTRUM BUG on another and ZX BUG 2 on another part. Confusing isn't it? ZX SPECTRUM BUG 2 (GLS!!) had the most functions by far comprising of single and double byte searches, breakpoint system, register display, String entry, byte modification, copy, byte print (on screen only), character print and many more. One of the commands is a block SAVE command which saves a block of memory in the usual way but can only be reloaded using the complimentary LOAD command (abbreviated to 'L'). No file names are allowed.

One feature which SPECTRUM 2 ZX BUG lacked was a Hex-Decimal/Decimal-Hex conversion function. In my opinion this is a highly useful feature, since at sometime you are likely to want to call your proud piece of code from BASIC using a Decimal number and it is highly frustrating to have to convert it each time for each program or address. Both the other two editors included this feature which I was pleased to see. SPDE seemed to be lacking a comprehensive range of commands and only the actual nitty-gritty seemed to be by machine code subroutines.

EDITING AND DEBUGGING

Though one would expect the editors for the Spectrum to be an improvement on those for the ZX81 this has not been the case. I used Bug Byte's ZXDB for editing and debugging machine code on my ZX81 and found that editor exceptional, having a single step facility allowing one to monitor everything but the kitchen sink. It was something of a disappointment therefore, when I discovered that none of the three review packages had any such useful features. Being able to trace machine code step by step is immensely useful when bugs arise, so I am waiting with baited breath for Bug Byte's ASPECT Assembler/Disassembler/Editor which will be ready for sale by the time you read this.

There is one improvement I have noticed and that is that the Editors are almost idiot proof, or habit proof. For example, my old editor used to crash when I habitually used the RUB OUT key to delete errors. All the editors had a block move command which is very useful when some code has to be relocated. SPECTRUM Monitor also has an insert command which is very useful when a byte has accidentally been missed out or when an instruction must be added. All of the editors have breakpoint systems. A breakpoint system can insert a breakpoint into your program (a point where the program is to be exited), so you can trap errors down to a small part of the program. The breakpoint can be removed and easily relocated elsewhere.

A distinctly annoying point about ZX BUG SPECTRUM 2 was that using addresses (on the 16K Version) 71E0 Hex to the top of memory would interfere with ZX BUG and using addresses 4000-6800 Hex or so would interfere with the loader program so that if you typed in some machine code on the earlier mentioned invisible line and then added to, or deleted from the program, your machine code would have moved. This only leaves about 2K of non moving memory for the user even though the invisible line (4K) does absolutely nothing once the program is loaded. None of the Editors had the ability to search for a string more than two characters. SPECTRUM Monitor had no search facilities at all.

It surprised me to learn that Dr Ian Logan uses SPDE since it is remarkably short of editing commands. It can basically do: Hex-Decimal/Decimal-Hex, Block move (in BASIC!), List in Hex and Characters, list as mnemonics and Hex and that's all. It has no Breakpoint system, no fills, no searches, nothing in fact but the bare essentials. It is a pity really because the program itself is nicely presented with a touch of colour here and there and a handy menu to help. Slowly I am getting the impression, after re-reading their letter that Ian Logan is more than mildly acquainted with J.A. Campbell. For instance, he has written a quite complimentary review of their FAST ONE, though I must admit it is worth the cheeky title. Makes one suspicious, doesn't it?

MIXING COLOURS

SPECTRUM Monitor has a blue background which seems fine from both the colour TV owners point of view as well as the Black & White. I say this because our colour TV doesn't like Spectrums and changes white to green and a whole host of colours to pinks, dirty greens etc. This means that I have to use a Black & White (I would probably be ill otherwise), which tends to mix the different colours into an illegible mess.

Since each of the editors has its own merits and demerits I have decided to use a rating table to assist conclusion:

As you can see, SPECTRUM Monitor has a nice, all round quality and has outstanding documentation which really should be a lesson to other software houses. It's content didn't quite match up to that of SPECTRUM BUG but had sufficient commands to satisfy the average machine code enthusiast. SPECTRUM BUG's documentation was really poor and though SPDE's was better it was still quite sparse. SPECTRUM BUG falls down on the 'Quirk Free' rating because of the floating RAM trouble I explained earlier. All I can say about SPDE is that it is just a pretty face and bad value at £5.95 in comparison with the other two, even if Dr Logan DOES use it. Overall, for ease of use and documentation, the best buy is SPECTRUM Monitor while if you prefer a little more on the commands side then buy SPECTRUM BUG and a magnifying glass. (You'll need it to read the instructions!). SPDE is available from Campbell Systems, 15 Rous Road, Buckhurst Hill, Essex, IG9 6BL at £5.95. Spectrum Monitor is available from Picturesque, 6 Corkscrew Hill, West Wickham, Kent, at £7.50. Spectrum Bug is available from Artic Computing, 396 James Reckitt Ave., Hull, at £7.00


REVIEW BY: Paul Holmes

Content5/5
Presentation4/5
Documentation1/5
Loading5/5
Quirk Free2/5
Transcript by Chris Bourne

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