DEBUGGER'S GALORE by Richard Karsmakers
Anyone who programs on a computer has a need for a specific
programmer's tool called a 'debugger'. In this article, I am
going to have a look at two good debuggers for the Atari ST -
"RAID" and the Public Domain program "Templemon".
- Templemon
In one of the very earliest issues of ST NEWS, Volume 1 Issue 4
to be more precise, I already published a software review of this
useful PD program in an earlier version. I think it's about time
that a full review should appear of version 1.6, the latest
version available as far as I know.
After executing "Templemon", nothing seems to have happened. The
desktop appears like it usually does and no apparent things seem
to have happened. But just try pressing ALT-HELP (you needn't
worry about inflicting your printer to produce a hardcopy) and
you'll notice the strange thing about "Templemon": It's entered
through the hardcopy routine vector!
Obviously, Thomas Tempelmann has examined his TOS once and found
out that there happens to be a non-documented system variable on
$502 that comprises a vector to the routine to be executed on
ALT-HELP. Anyway, he made a machinelanguage debugger working
through that vector which is quite good - "Templemon" was thus
born.
"Templemon" can disassemble, fill, copy, load and save, and there
are a lots of more features. It is, for example, possible to
change register contents, trace, save bytes or strings to memory
and lots more. The only few things that I really find to be
missing are options to assemble and an option to 'load for
execution'. A very nice option is that it is possible to use
combined commands: D R PC, for example, disassembles memory from
the contents of the program counter register. Concluding,
"Templemon" is one of the best debuggers currently available for
the ST, written by one of the 'fastest' people back on the
Commodore 64.
- RAID
Larry Bank and Adam Scherer of 'It Works! Software' have recently
developed a debugger called RAID. It offers about the same
options as "Templemon", but also includes an option to assemble
and - yes! - an option to load a file for execution.
Unlike "Templemon", "RAID" is normally executed and entered from
the desktop - no pressing of ALT-HELP or such. If you want a file
to be debugged, you can simply 'load it for execution' and jump
to the text base address, after which it starts. Not all programs
can be debugged using this method, however. The most interesting
thing about "RAID" is that it is possible to get back into "RAID"
after a file is being executed from "RAID". The way this is done
is much more full-proof than Thomas' way - "RAID" uses the RS232
ringer interrupt to detect if the user wants to re-enter "RAID".
If pins 20 and 22 of the RS232 port or connected, POP!, the user
is back in "RAID". All interrupts continue, and the actual
program screen is not affected (just like "Templemon", "RAID"
uses a seperate workscreen). This way is also not full-proof, as
some programs shut down all interrupt vectors - also the RS232
ringer interrupt vector.
Principally, I like "Templemon" more than "RAID", and it would be
better than the latter if it had the de-luxe trace option, an
assemble option and a 'load for execution' option. Also,
"Templemon" is Public Domain (can be ordered through the ST NEWS
PD service as well - refer to the article about our PD library
for that).
Disclaimer
The text of the articles is identical to the originals like they appeared
in old ST NEWS issues. Please take into consideration that the author(s)
was (were) a lot younger and less responsible back then. So bad jokes,
bad English, youthful arrogance, insults, bravura, over-crediting and
tastelessness should be taken with at least a grain of salt. Any contact
and/or payment information, as well as deadlines/release dates of any
kind should be regarded as outdated. Due to the fact that these pages are
not actually contained in an Atari executable here, references to scroll
texts, featured demo screens and hidden articles may also be irrelevant.