Adding ZXTK to an existing program.
1. Load ZXTK
2. Set RAMTOP so that there is at least 2K of space above it.
3. EXTRT lines 1 to 3 above RAMTOP.
4. Load existing program.
5. RAND USR (RAMTOP = 1234). First check that this is location contains 205.
This will place lines 1 to 3 in the front of your program for normal use. Step 5 uses relocatable code in MERGE and is the only function which will operate in this position. Your existing program should not have any lines containing GOTO 1, 2 or 3.
Has anyone used ZXTK? I think there's a error in the manual in step 5. Maybe it should be RAMTOP + 1234, or RAMTOP - 1234? What ever I calculate there is not 205 in that position.
I'll look further into a memory dump, and see the places with 205=$CD=CALL.
If you cannot find a solution: maybe you could use TOOLKIT or TOOLK64 instead?
It runs above RAMTOP (16 k Zeddies) or in ram starting at 8K. Thus it does not need to be "merged" into basic program to be used:
ZX-TOOLKIT
instructions in brief
http://www.zx81.de
First load TOOLKIT or TOOLK64. Both use about 2300 bytes of memory.
TOOLKIT needs a ZX81 with 16K-RAM and will be copied under RAMTOP and then
RAMTOP will be lowered.
TOOLK64 will be copied in the region 14 - 16K. You must have RAM there.
Both programms will run under ZX81 emulator XTender on a DOS-PC.
Then load your ZX81 programm you want to work with.
Call the functions with RAND USR address or RAND USR variable
variable address for
16K / 64K version
30506 / 14122 will define the names of the following variables
RENUM 30524 / 14140 will renumber the whole BASIC-Program
you are asked to enter START line and STEP,
even GOSUB and GOTO line-number will be changed
DEL 31155 / 14771 deletes from START to END line number
MEM 31850 / 15466 shows the memory available
DUMP 31532 / 15148 lists the names of all defined variables and strings (no arrays)
FIND 31233 / 14849 finds strings, to find keywords use THEN keyword,
then delete THEN
REPLACE 31751 / 15367 like FIND, but cannot replace numbers
REMKILL 31062 / 14678 deletes all REM-lines
SAVE 31273 / 14889 saves the BASIC program below RAMTOP
(high line-numbers!!!)
then LOAD the second BASIC-program (low line-numbers)
APPEND 31385 / 15001 copies the first loaded BASIC-programm just behind the second one
My ZX81 web-server: online since 2007, running since dec. 2020 using ZeddyNet hardware http://zx81.ddns.net/ZxTeaM
mrtinb wrote:
Has anyone used ZXTK? I think there's a error in the manual in step 5. Maybe it should be RAMTOP + 1234, or RAMTOP - 1234? What ever I calculate there is not 205 in that position.
I'll look further into a memory dump, and see the places with 205=$CD=CALL.
I think you should just use the new RAMTOP value. 1234 should only state that a number is needed and not the word RAMTOP. Anyway it would be hard to find out a place in memory containing 205. There could be many places ...
I think RAMTOP=1234 is just an example. Try peeking at the RAMTOP value you set at step 2 to see if it is 205. I believe that ZXTK may generate the code it needs starting at RAMPTOP so it doesn't corrupt the current program.
OOPS... I see PokeMon said the same thing
2X Timex Sinclair 1000, ZX81, ZX80Core, 5X 16K Ram Pack, ZXBlast, ZX P file to Ear Input Signal Converter, Elf II