eps@ihuxq.UUCP (01/20/84)
The Jan. COMPUTE! Gazette has a nice utility program for the C64.
It adds commands the find, change, delete, and renumber for BASIC
programs. It is written in machine language and is entered via
the MLX loader. However there are a few problems that have to
be fixed before you get a working version.
1. MLX would not accept the end address as specified in the
article since it is the first address of ROM - lower the
end address by one.
2. When BASICAID is first executed, it lowers the "top of memory"
pointer to protect itself. This was not done correctly in
published version. The value used is obtained from the last
two bytes of the program, 9FFE-9FFF (hex) in low byte-high
format. The last byte (9FFF) is 0D, it should be 9B (or 155
dec instead of 13).
3. BASICAID must be loaded with a nonrelocating version of the
load command, i.e., LOAD "BASICAID",dev,1. This wasn't mentioned
in the article.
4. Also, before loading MLX I lowered the top of memory to be
sure that the area into which I was typing BASICAID was protected.
I don't know whether or not this is necessary but it can't
hurt. POKE 56,100:NEW:LOAD "MLX",dev will work.
Once these problems were fixed, I got a working version. I was quite
amazed at how much it does in such little space. By the way, since
BASICAID is a wedge, it is not compatible with the DOS wedge (it
shouldn't be too hard to fix that).
Ed Schan
AT&T Bell Laboratories
Naperville, Il.
ihuxq!eps