I have had a great deal of difficulty trying to decide what type of program this product really is. I don't mean that it doesn't work well or correctly, it does. What has been giving me trouble is whether it was meant to be bought, and reviewed, without the book that a number of the programs come from.
The cassette contains a machine code monitor program followed by 17 different machine code routines that you can use in your own routines. It is claimed that these can be used without the text but I have my doubts. The small sixteen-page booklet supplied with the tape is certainly of no use at all when it comes to these programs.
If we look at the programs in order, the first is Beemon, the monitor program. The program is in BASIC and has a menu driven structure which makes life very easy for the new user. The front menu offers seven different choices, Disassembler, Monitor, Step, Dump, Memmove, Fill and Cassette Interface.
In nearly every case there are a number of criticisms that can be levelled at this program. You must keep in mind however that it is a low cost program and you cannot expect the facilities to be as good as a program costing five times as much.
The disassembler allows you to set start and end addresses. start only or the option of disassembly until BRK is encountered. They all work well but I cannot see why we should only have ASCII output if there is no valid opcode for a section of memory. This stops you spotting some sections of data in your programs and it would have been very simple to give ASCII output for each code, substituting full stops where required. The use of SPACE to slow the display down is a very good idea, however.
The Monitor section isn't quite what I had expected. It doesn't give full register displays whilst you execute code, it gives access to all these facilities but it requires a number of steps to get all the information that you might require. You can display and alter registers and memory, display Zero Page locations and execute your own machine code routine from this option.
Step is also not quite what I had expected, Single stepping around parts of a program is essential to efficient debugging but in order to do so in this monitor you must make every other instruction a BRK. These must then be edited out after debugging. I would prefer not to use this part of the program at all.
Dump shows a series of memory locations in both hex and ASCII as you would expect Memmove allows the movement of sections of memory. Fill is also fair enough allowing you to fill series of locations with the byte that you need. The access to the cassette interface is a good move and as this program is meant only for cassette users this is a good idea.
The one major criticism that I haven't covered yet is the length of the program. This is such that there is hardly any room left for the code that you want to use The whole concept is that you are testing very short pieces of code ideally situated in page C. This is reasonable if you are fully aware of it at purchase but it stops the program from being as useful as it might otherwise have been.
The other programs, all 17 of them, are supplied as assembler code ready to be assembled wherever you wish. There are REMarks within the code but they aren't really sufficient to enable the code to be used without further documentation. This is where the book comes in and I feel that if you are to use these programs in any real sense then you will need a copy of it too.
There is a great deal of good programming and some interesting ideas in this package but I still feel that some of the features could have been implemented in a better way. The price is right and this will make a good introductory package for anyone looking to start working in machine code.