v0_99.txtXOP2_loader.txtsprite_example.txt
Finally got the Mini-Memory line-by-line assembler working on
a bare console (in the simulator) and would appreciate it if
someone could check for me that it works on actual hardware.
Actually I have tested it with a cassette player but I am most
interested in learning if it indeed works on a system with a disk drive.
Again, the program listed in v0_99.txt should be run from TI Basic
with no cartridge plugged in or other hardware enhancements. If
anyone is so masochistic as to actually type it in by hand you must
enter the line numbers of the REM statements in the order shown
(from highest to lowest) otherwise the program will not execute.
Refer to the TI line-by-line assembler documentation for how
to use it. If I haven't introduced any defects this should
work almost exactly the same way. Some changes are that labels
may now be up to six characters long instead of two, the
assembled program is converted to a TI Basic program (that
uses something similar to the Playground loader to operate),
and several other cosmetic changes. An important change is
that three labels are "pre-undefined" at startup; ENTRY, ALPHA,
and OMEGA. Before giving the END directive you must define
ALPHA and OMEGA to be the first address of your assembled code
and the address _after_ the last address of your assembled
code, respectively. ENTRY is the address where program
execution begins. The smallest example is something like:
AORG >2000
ALPHA EQU $
ENTRY JMP ENTRY
OMEGA EQU $
END
When you run the resulting program it will, obviously, just do nothing.
After giving the END directive and pressing enter (assuming
there are no unresolved references) the program will return
to the TI Basic environment with a program present that you
can list, save to cassette (and hopefully also to disk)
and/or run.
I'm attaching an example program that can be typed in to the
assembler that should just put 32 random sprites moving in all
directions. I'm also attaching a brief description of the
page loader the line-by-line assembler (and the code it
produces) uses. I'll get around to documenting all this better soon.