--- title: "More on Q-Save in the 1500" type: "article" slug: "more-on-q-save-in-the-1500" url: "http://localhost/article/more-on-q-save-in-the-1500/" markdown_url: "http://localhost/article/more-on-q-save-in-the-1500.md" published_at: "2024-01-28T19:33:55+00:00" modified_at: "2026-06-21T23:26:44+00:00" featured_image: url: "http://localhost/wp-content/uploads/2022/04/20230809-041332.jpg" excerpt: "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…" category: - name: "Pro/File Updates" slug: "pro-file-updates" taxonomy: "category" url: "http://localhost/category/periodicals/pro-file-updates/" post_tag: - name: "Full Text" slug: "fulltext" taxonomy: "post_tag" url: "http://localhost/tag/fulltext/" - name: "TS 1500" slug: "ts1500" taxonomy: "post_tag" url: "http://localhost/tag/ts1500/" - name: "Type-in program" slug: "type-in-program" taxonomy: "post_tag" url: "http://localhost/tag/type-in-program/" model: - name: "Timex/Sinclair 1500" slug: "ts-1500" taxonomy: "model" url: "http://localhost/model/ts-1500/" indiv: - name: "David Thomas" slug: "david-thomas" taxonomy: "indiv" url: "http://localhost/indiv/david-thomas/" publication_r: id: 39136 title: "Pro/File Updates" type: "periodical" url: "http://localhost/periodical/pro-file-updates/" authors: "David Thomas" volume: "2" issue: "1" issues_articles: - id: 52733 title: "Pro/file Updates v2 n1" type: "issue" url: "http://localhost/issue/pro-file-updates-v2-n1/" pages: "2" pubdate: "January 1985" archive_link: false --- 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