Try "Exec". I don't have any details of how to use it, sorry. Let me know
what you find out.
Hmmm...this brings back some memories. From my recollection, this
statement accepted a string argument. The character string supplied
was coded in a special pseudo-hexadecimal:
0="0", 1="1", 2="2", 3="3", 4="4",
5="5", 6="6", 7="7"
8="8", 9="9", a=":", b=";" c="<",
d="=", e=">", f="?"
For example, to represent the hex sequence 6e7f391d, the string would be
"6>7?391="
Each two characters represent a byte.
Now, using this method, you could 'code' 6800 machine code instructions.
The EXEC statement would store the bytes supplied in the string argument
as a linear sequence of machine code, and cause a jump to the segment
of code. I don't recall if it was JMP'd to, or JSR'd to...and don't
remember any of the details of how to return from a segment of code
executed with the EXEC statement. Obviously, sending random stuff
to an EXEC statement could wedge the machine up.
I remember that EXEC was used frequently by folks who were experts
with the machine (and had magic lists of the internal runtime
calls) to make game programs and stuff in machine code that would
run much faster than the interpreted BASIC. It also allowed
'extensions' to BASIC that you could use to do things like PEEK and POKE,
etc. There were conventions for passing variables in and out of
EXEC'd code, so BASIC could be used for 'high level' functions, and
the fast EXEC'd machine code could be used for time-critical or
other functions that were too slow, or too tedious (IE: bit manipulation)
to do in BASIC.
Hope this helps. It's all from foggy memories..all the fun with 4051's
that I had happened sometime around 1978...21 years ago. I'm amazed
that I can remember ANY of it, given that many times I can't remember
where I put my car keys :-)
Rick, you wonderful person! I wonder what this does on the 4052... Something
to try when I get home tonight, perhaps.
Joe, what was it you were saying about already having picked Rick's brains?
(FWIW I am still negotiating a trade with Zane for that ROM)
Now what we need are some exec calls for things like peek, poke, reading the
joystick port without a "pointer" instruction, and so on. I must step up the
pace of my own research...
Philip.