Had it been possible for SWN to adhere to its originally intended publication schedule, you would have seen a review on this toolkit in the Nov/Dec issue, and a new product announcement and ad in the next issue; this one would have contained the update announcement, But things didn’t work out that way, so now you get the whole story in one installment.
The story started when we heard of a toolkit EPROM (2K) from Delphic Enterprises in Corpus Christi, TX. Sure we’ll review it, I said, but since at that time I didn’t have a Hunter board to plug it into I had Pete Hoffman (the author) send it to Tom, who made a tape copy for me. I liked it from the moment I called it the first time; I was much impressed by the program, and surprised that a tape version wasn’t available for people who don’t have a Hunter Board, or don’t- want to “mess up” their pristine CMOS board with an EPROM, and haven’t broken down for a second (EPROM reader) board yet. Well, surprise- Delphic was not interested in getting into the “tape wars,” and generously offered tape distribution rights to … you guessed it; Sync Ware News. So, all you RAM-fans, you too can have this well-designed tool at your disposal, tucked away in any 2K niche you have available (in 16-64K RAM).
The toolkit is menu driven from a single USR call. The program is fully relocatable, and will run anywhere that you can run machine code. When you eall your selected starting address and get the menu, a single key-press (logically coded) accesses any of the eight routines. The first of these renumbers BASIC programs. Yeah, sure, I hear that collective “ho-hum, another renumberer.” Renumberers have been around since day one, some ok, some not so OK. But this is like no other re-numberer I’ve used; it will renumber only a PART of a program, or the entire program, unlike other TK’s that make you renumber everything. Finally someone did it right! Partial re-numbering carries with it special problems; such as GOTO/SUB references, and user error, But every eventuality I can imagine has been foreseen; for example, references are changed (or not) logically, and “goofy” references are flagged with 9999. Even if your re-number increment makes the section run into the next, the program will save the situation by re-numbering in increments of 1 until the numbers are “caught up.” Additional renumbering fixes up any oddities. Of course it changes GOTO/SUB references; a “re-numberer” which doesn’t is really only half a re-numberer. Related options are to DELETE an entire block of lines, COPY them to another part of the program, and (by using delete after copy) MOVE blocks of program lines elsewhere in the program. You can even MERGE two BASIC programs into one by using PRESERVE and COMBINE, and there are no space limitations on use other than available memory space.
What else? Well, one I’ve never seen in other TKs is REM KILL; as the name implies, it deletes all the REM statements in a selected block of lines (or the whole program). Handy for when you’re almost done with a program and have to make room for those last few “polish-up” routines. Another option is UNLOCK, which aborts auto-run programs after loading so you can back them up. A basic necessity is a FREE-SPACE routine, so that’s in there too.
Other features: All inputs are prompted and verified on the screen. Control is returned in FAST mode; when programming you’ll rarely have the patience for SLOW mode. Lastly, it is very well error-trapped and disaster is unlikely even with user error, If you realize you just hit the wrong function, you can bail out before DELETEing something. That would be enough for most folks, but Pete Hoffman is one of those people who won’t stop until he’s pynched every last byte. His 2K toolkit includes yet another highly useful option: a string search routine. You can search for any character (including functions, keywords, and other tokens) or string of such characters. You could, say, search for LET G$= to see every time you assigned to G$. You get a report of every line in which the selected character or string appears. (Including lines containing machine code, but of course you can’t search for those codes that don’t have a corresponding display character). Great for economizing memory and general debugging. I mentioned an “update” at the outset of the article; one of the updates has been to economize memory even more to allow this routine to print the entire line in which the string appears, along with the line number, Another improvement in the update is at the end of the routine; depending on what you do during a 3-second pause at the end, you can get back to the BASIC listing, back to the toolkit menu, or let the PAUSE expire to copy the screen of toolkit parameters to the TS2040 printer.
A tape version has special requirements, but also offers additional flexibility not possible with an EPROM. So it was necessary to write a driver for the program to make it easy to locate and use, An additional routine is provided to transfer the program wherever you select. The tape version also contains a check-sum routine independent of the toolkit which checks for proper loading initially and which you can use afterwards from within your program. The program won’t let you put it somewhere silly, like anywhere it would run into a boundary. Even if you try to put it in the 32-48K range, you are asked if your machine has be “Oligerized” to verify that you know what you’re doing, Also, the instructions were expanded expressly for the tape version user.
Here’s how can you get this excellent product. (Famous “bottom line”…) If you want the EPROM version (for semi-permanent installation in your Hunter board or ROMPAK) you should send your check for $18.50 ($20.00 foreign) to Delphic Enterprises, PO Box 72205, Corpus Christi, TX 78472. But if you want the tape version, don’t order from Delphic; instead, send a check for only $12.95 ($15.00 outside North America) to Thomas B. Woods, PO Box 64, Jefferson, NH 03585.
[EDITOR’S NOTE: Since this appeared in SWN 1:4, Mr. Hoffman has completed the 4K expansion of this program. In addition to the features in the 2K version, he has included several other options that make this by far the most comprehensive toolkit available anywhere. New features include: REM generator (you select which fill character), NVM storage (to boot part or all of a BASIC program into the unused part of your 8-16K range), and a one-step MOVE command. Add to this a hex-dec converter and a tape indexer to read the program names on a tape. But that’s still not all! My favorite is the VARIABLES READER; as you probably know, I’m one of those programmers who loves to manually define variables to save space; the result during program development is often “variables soup.” The variables reader lists the names, type, and contents of the variable area just like the ROM lists the program area. It is simply beautiful. Delphic is offering a special rebate for 2K EPROM customers, -fn]