Authors
Publication
Pub Details
Date
Pages
Since my last tip on using QSAVE with the Timex 1500 (see Updates vol. 1, #4), it seems I may not be the only one out here with such a set-up. If that is the case, others might be interested in modifying the QSAVE program so as to allow its use with the 1500 and the Timex 16K memory expansion.
This modification involves moving the QSAVE machine code to the top of the 32K available memory and then changing the call and jump commands to the new addresses. As there are 50 calls to be modified, it is easier to change all instructions that contain the bytes that have to be changed, and then change the three occurances that aren’t addresses back to what they were originally.
First, load the normal 16K QSAVE. When the program stops, give it the command “LIST 4”, This will bring up the program without the screen full of machine code. Make the following changes to the existing program lines:
20 FOR B=48384 TO 48816
30 POKE B,PEEK (B-31870)
70 POKE 16389,189
80 PRINT AT 10,5;"32K QSAVE NOW LOADED"
Now add the following lines:
100 FOR N=16514 TO 16946
110 IF PEEK N=125 THEN POKE N,189
120 IF PEEK N=126 THEN POKE N,190
130 NEXT N
140 POKE 16748,126
150 POKE 16869,126
160 POKE 16879,125
After proof-reading your listing changes, give the command GOTO 100. The program should stop after about 5 seconds with a code of 0/160. You may now delete lines 100 to 160. If your computer loads reliably you may want to change line 90 to PAUSE 180, and add line 100 NEW. This will cause the message “32K QSAVE NOW LOADED” to be displayed for three seconds and NEW to then be executed. You should SAVE the program at this point with the command GOTO 4. This will autosave the program, so have your tape recorder ready when you hit ENTER. Note that since RAMTOP is reset by line 70 of the QSAVE program, it is not necessary to reset it again.
Since QSAVE is now located at a different address, the new commands are:
- LOAD: PRINT USR 48755
- SAVE: PRINT USR 48767
- VERIFY: PRINT USR 48761