I recall that there was a way to make the 4051 execute machine code. I
don't remember the exact method, but I remember that the bytes of 6800
machine code were encoded into a character string using the CHR$()
function. For example, hex 43 would turn into CHR$(67), or a "C". The
bytes were put into a string with the limit of program size being the
max. size of a character string. The next part is where my memory fails
me -- there was a way to cause the BASIC interpreter to branch to the
first character in the string, executing the code there. It involved
doing the transfer in such a way that it was if the code was branched to
with a "jump to subroutine" call, and when the code was complete, a
"return from subroutine" instruction would be in the code, and that
would cause a branch back to the BASIC interpreter. As I'm writing this,
a statement called EXEC$ or something along those lines pops into my
head.
I don't know if this is any help at all, but I really clearly remember
seeing 4051 programs (I worked at Tektronix from 1977 to 1990, and did a
lot of tinkering with 4051/2/4) that filled character strings with
hand-assembled machine code, and had a means to execute it. Hopefully
someone can find some docs that might substantiate these memories and
solve the mystery.
Rick Bensene
The Old Calculator Museum
http://oldcalculatormuseum.com