--- title: "Programming Tips for the 2068" type: "article" slug: "programming-tips-for-the-2068" url: "http://localhost/article/programming-tips-for-the-2068/" markdown_url: "http://localhost/article/programming-tips-for-the-2068.md" published_at: "2022-10-07T12:23:50+00:00" modified_at: "2026-07-29T07:00:35+00:00" featured_image: url: "http://localhost/wp-content/uploads/2022/04/20230809-041332.jpg" excerpt: "In honor of the \"October is TS 2068 Month\" movement, CATS is happy to present the following collection of tips, aids, and utilities which should prove helpful with any TS 2068 programming. These gems come to us from the archives of TIMELINEZ and SINC TIMES. POKE 23608, X - For keyboard click (x=1 to 255)…" category: - name: "ZX-Appeal" slug: "zx-appeal" taxonomy: "category" url: "http://localhost/category/periodicals/zx-appeal/" post_tag: - name: "Best of Timex/Sinclair 2068 Articles and Documents" slug: "ts2068best" taxonomy: "post_tag" url: "http://localhost/tag/ts2068best/" - name: "Reference" slug: "reference" taxonomy: "post_tag" url: "http://localhost/tag/reference/" - name: "TS 2068" slug: "ts2068" taxonomy: "post_tag" url: "http://localhost/tag/ts2068/" model: - name: "Timex/Sinclair 2068" slug: "ts-2068" taxonomy: "model" url: "http://localhost/model/ts-2068/" indiv: - name: "Charles Hank Dickson" slug: "c-hank-dickson" taxonomy: "indiv" url: "http://localhost/indiv/c-hank-dickson/" publication_r: id: 36087 title: "ZX-Appeal" type: "periodical" url: "http://localhost/periodical/zx-appeal/" authors: "Hank Dickson" authors_r: - name: "Charles Hank Dickson" slug: "c-hank-dickson" taxonomy: "indiv" url: "http://localhost/indiv/c-hank-dickson/" issues_articles: - id: 39703 title: "ZX-Appeal Summer 90" type: "issue" url: "http://localhost/issue/zx-appeal-summer-90/" pages: "19-20" pubdate: "Summer 1990" archive_link: false --- # Programming Tips for the 2068 In honor of the “October is TS 2068 Month” movement, CATS is happy to present the following collection of tips, aids, and utilities which should prove helpful with any TS 2068 programming. These gems come to us from the archives of TIMELINEZ and SINC TIMES. 1. `POKE 23608, X` – For keyboard click (x=1 to 255) 2. `POKE 23692,2` – Use before every print for automatic scrolling. Works like the scroll command on the 1000/1500. 3. `POKE 23692,1` – Another way to control the scroll. Scrolls 22 lines, then a key must be pressed for every line. 4. `POKE 23658,8` – Puts 2068 in CAPS mode. 5. `POKE 23658,0` – Takes 2068 out of CAPS mode. 6. `PAUSE 0` – Pause until any key pressed. 7. `POKE 23651,X (X=1 to 35)` – Time that key must be held down before it repeats. Prefer 10-15 for text. 8. `POKE 23652,X (X=1 to 5)` – Delay between successive repeats of a key being held down. Use 3 for text. 9. `USR 15002` – Try this to get out of an infinite input loop without crashing. 10. `DIM A$(704): PRINT AT 0,0; OVER 1;PAPER 1;INK 6;A$` – Allows you to change paper and ink color without clearing the screen 11. `PRINT #1;AT 0,2;"HI": PRINT #2,AT 1,5;"BY": PAUSE 0` – Prints on lines 22 and 23. 12. `LOAD "" CODE RAND USR 33792` – For programs that will not load. 13. `LET x=INT(x*10↑y+.5)/10↑y` – Use for rounding: x=number to be rounded, y=number of decimal places 14. `1 DEF FN r(x,y)=INT(x*10↑y+.5)/10↑y 2 INPUT "Enter a number ";a 3 INPUT "Round off to ? ";b 5 PRINT FN r(a,b)` Sets the defined function to the formula for rounding off. a=number before rounding, b=number of places desired after rounding. 15. `INPUT LINE A$` – Prevents computer from placing “” on screen when waiting for input. Note: you can’t use “STOP” with this method, but CAP-SHIFT-6 will stop. Bug in the system. 16. `PRINT PEEK 23635=256*PEEK 23636` – Used to find starting address. 17. `PRINT ""` – Gives line feed to print statement. 18. `RANDOMIZE USR 0` – Reset the computer 19. `INPUT AT 22,0; AT 10,0; "input value"; a$` – Input at any position on screen. 20. `1 FOR I=0 TO 21 2 FOR X=0 TO 31 3 LPRINT SCREEN$(I,X) 4 NEXT X 5 NEXT I` Copy screen to printer without using the copy command. 21. `OPEN #2` – Sends all data normally destined for the screen to the printer. 22. `CLOSE #2` – Cancels above command. 23. `1 LET C=2 2 FOR I=32 TO 255 3 PRINT AT 0,0;"" 4 PRINT AT 0,0;CHR$ I 5 IF CODE SCREEN$(0,0)=0 THEN PRINT AT 4,C;CHR$ I;LET C=C+2 6 NEXT I` Lists characters not recognized by the SCREEN$ command. 24. `CLEAR 63255` – Do this first if you plan to use UDGs in a long BASIC program that will include a video mode change. A bug in the system will allow a long BASIC program to overwrite your UDGs if RAMTOP is not lowered first. 25. `POKE 23750,0` – If you are using cartridge software that can be stopped by the break key, this will allow you to enter your own BASIC lines in to RAM. To return to the cartridge, POKE 23750, 128. 26. `POKE 23693,56` – To give a starting INK color. 27. BASIC starts at 26710 – Your BASIC program starts at this address. 28. CAPS SHIFT 3 – Scrolls two screens when listing. 29. `POKE 26711,0` – Gives the first program line number 0. POKE 26711,1 to change 0 to 1. 30. `POKE 23659,0` – To use all 24 lines (making the program unstoppable). POKE 23659,2 resets. Use with INKEY$ input only; INPUT will reset. 31. `POKE 26710,255` – Use to make lines disappear (makes line number > 9999). POKE 23710,0 will reset. 32. `INK` or `PAPER 9` – Gives contrasting base color. 33. “E” mode/CAPS SHIFT and a color 1-7 – Sets INK color in listing. 34. “E” mode/unshifted and a color 1-7 – Sets PAPER color (go back to original color at the end of the line; if not, all lines will be the same color) 35. `1 INPUT "COMMENT";a$;CHR$ 13;"COMMENT";b$ 2 PRINT "COMMENT";a$;CHR$ 13;"COMMENT";b$` Example of double inputs. 36. `9000 FOR I=1 TO 200 9010 BORDER 1: BORDER 2: BORDER 3: BORDER 4: BORDER 5: BORDER 6: BORDER 0: BORDER 7: PAUSE 1 9020 NEXT I: RETURN` GO SUB 9000 for a striped border 37. `POKE 23617,236` – Used to get a question mark cursor displayed in input statements. 38. `PRINT #0;"COMMENT";PAUSE 0` – Use to print on line 24