through a routine like this:
40000 H=0:L=0:TY=0
40010 POKE64448,205:POKE64449,175:POKE64450,73:POKE64451,235
40020 POKE64452,58:POKE64453,139:POKE64454,250:POKE64456,201
40030 IFVY$=""THENPRINT"VY$ not defined!":STOP
40040 FORH=64457TO64463:POKEH,ASC(MID$(VY$,H,1)+CHR$(0)):NEXT:POKE64464,0
40050 POKE63912,201:POKE63913,251:EXEC64448
40060 L=PEEK(63912!):H=PEEK(63913!):TY=PEEK(63911!)
40070 RETURN
40080 ' VARPTR by Gary Weber
40090 ' Entry: VY$ must contain the name of variable of interest
40100 ' Exit: H & L contain variable's address, TY contains type
40110 ' Example:
40120 ' 100 A$="This is a sample string."
40130 ' 110 VY$="A$":GOSUB 40000
40140 ' 120 PRINT "VARPTR of ";VY$;" is ";L+(H*256)
6. CALL statements require special conversion to EXEC with appropriately
converted ROM address (using memory maps). Also, the M100's CALL syntax
allows passing of values to place in the HL and A registers. The NEC's
EXEC statement only takes one parameter, which is the entry address.
However, there are special locations in the upper memory "bookkeeping"
area which are used to pass HL and A register values to EXEC, and you
simply POKE the values to those locations. More info can be found on
this in the NEC PC-8201/8300 Memory Map.
7. Any embedded machine language would need to be disassembled, have the
ROM & bookkeeping RAM address converted, and recompiled/embedded into
the program.
8. POKE & PEEK addresses require special conversion (using memory maps).
9. MID$ as an assignment is not supported in N82 basic. You can only use
the MID$ statement to extract characters from a string. However, you
can simulate the function of a MID$ assignment with a routine like this:
30000 ZO=LEN(OX$):TX$=OX$:OX$=LEFT$(TX$,NX-1)+NX$
30010 IFZO-LEN(OX$)>0THENOX$=OX$+RIGHT$(TX$,ZO-LEN(OX$))
30020 OX$=LEFT$(OX$,ZO):RETURN
30030 ' MID$ by Gary Weber
30040 ' Entry: OX$=String to modify, NX=Target position, NX$=Target text
30050 ' Exit: OX$ contains modified string