[net.micro.cbm] C64 BASICAID Fixes

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