--- title: "Super Scroll" type: "article" slug: "super-scroll" url: "http://localhost/article/super-scroll/" markdown_url: "http://localhost/article/super-scroll.md" published_at: "2020-10-27T17:16:59+00:00" modified_at: "2026-08-02T18:30:00+00:00" featured_image: url: "http://localhost/wp-content/uploads/2022/04/20230809-041332.jpg" excerpt: "The loader hex-decodes machine code into memory starting at 64768, then demonstrates a \"window micro-scroll\" routine: a bordered box is drawn on screen and its contents are scrolled up, then right, then diagonally, by repeated calls to RANDOMIZE USR scroll with the scroll window and direction set beforehand via POKE. BASIC Listing 1 REM Super…" category: - name: "Sinc-Link" slug: "sinc-link" taxonomy: "category" url: "http://localhost/category/periodicals/sinc-link/" post_tag: - name: "Best of Timex/Sinclair 2068 Articles and Documents" slug: "ts2068best" taxonomy: "post_tag" url: "http://localhost/tag/ts2068best/" - name: "TS 2068" slug: "ts2068" taxonomy: "post_tag" url: "http://localhost/tag/ts2068/" - name: "Type-in program" slug: "type-in-program" taxonomy: "post_tag" url: "http://localhost/tag/type-in-program/" model: - name: "Timex/Sinclair 2068" slug: "ts-2068" taxonomy: "model" url: "http://localhost/model/ts-2068/" indiv: - name: "Steve Gunhouse" slug: "steve-gunhouse" taxonomy: "indiv" url: "http://localhost/indiv/steve-gunhouse/" publication: "Sinc-Link" publication_r: id: 10240 title: "Sinc-Link" type: "periodical" url: "http://localhost/periodical/sinc-link/" authors: "Steve Gunhouse" authors_r: - name: "Steve Gunhouse" slug: "steve-gunhouse" taxonomy: "indiv" url: "http://localhost/indiv/steve-gunhouse/" volume: "7" issue: "5" issues_articles: - id: 26581 title: "Sinc-Link v7 n5" type: "issue" url: "http://localhost/issue/sinc-link-v7-n5/" pages: "7" pubdate: "September/October 1989" archive_link: false volumeissue: "v7n5" --- The loader hex-decodes machine code into memory starting at 64768, then demonstrates a “window micro-scroll” routine: a bordered box is drawn on screen and its contents are scrolled up, then right, then diagonally, by repeated calls to `RANDOMIZE USR scroll` with the scroll window and direction set beforehand via `POKE`. ### BASIC Listing ``` 1 REM Super Scroll by Steven V. Gunhouse 2 CLEAR 64767: LET x=64768 4 PRINT AT 10,5;"Loading M/L..." 5 LET a=10: LET b=11: LET c=12: LET d=13: LET e=14: LET f=15 10 READ a$: IF a$="END" THEN GO TO 70 20 FOR n=1 TO 15 STEP 2 30 LET w=16*VAL a$(n)+VAL a$(n+1) 40 POKE x,w: LET x=x+1 50 NEXT n 60 GO TO 10 70 CLEAR : LET scroll=64820: LET right=64768: LET top=64769: LET left=64770: LET bottom=64771: LET xdir=64772: LET ydir=64773 80 PRINT "Window Micro-scroll routine" 90 FOR i=100 TO 103: PLOT i,4: DRAW 0,151: NEXT i: FOR i=152 TO 155: PLOT i,4: DRAW 0,151: NEXT i: FOR i=4 TO 7: PLOT 100,i: DRAW 55,0: NEXT i: FOR i=152 TO 155: PLOT 100,i: DRAW 55,0: NEXT i: REM Frame 100 FOR i=105 TO 108: PLOT i,9: DRAW 0,141: NEXT i: FOR i=125 TO 129: PLOT i,9: DRAW 0,141: NEXT i: FOR i=147 TO 150: PLOT i,9: DRAW 0,141: NEXT i 105 FOR i=9 TO 12: PLOT 105,i: DRAW 45,0: NEXT i: FOR i=147 TO 150: PLOT 105,i: DRAW 45,0: NEXT i: FOR i=79 TO 82: PLOT 105,i: DRAW 45,0: NEXT i 110 POKE left,104: POKE right,151: POKE xdir,0: POKE ydir,1: FOR i=8 TO 76: POKE top,i+74: POKE bottom,i: RANDOMIZE USR scroll: NEXT i 120 POKE xdir,1: POKE ydir,0: POKE bottom,8: POKE top,151: FOR i=1 TO 48: RANDOMIZE USR scroll: NEXT i 130 POKE left,0: POKE right,159: POKE top,159: POKE bottom,0: POKE xdir,255: POKE ydir,255: FOR i=1 TO 160: RANDOMIZE USR scroll: NEXT i 150 REM This routine will scroll any section of screen any direction. 160 REM Variable names for POKEs should be self-explanatory. 170 REM Use POKE xdir,255 to scroll left, POKE xdir,1 to scroll right. 175 REM Or POKE xdir,0 for no horizontal scrolling. 180 REM Use POKE ydir,255 to scroll up, POKE ydir,1 to scroll down, 185 REM or POKE ydir,0 for no vertical scrolling. 190 REM These can be combined for diagonal scrolls. 9973 DATA "FFAF000001FF3A05" 9974 DATA "FD47545DFEFF3E07" 9975 DATA "281424A4200A7DC6" 9976 DATA "206F38047CD60867" 9977 DATA "AFB8C0545DC9A425" 9978 DATA "A7C07DD6206FD87C" 9979 DATA "C60867C9ED5B00FD" 9980 DATA "2A02FD7A94477BF6" 9981 DATA "07951F1F1FE61F3C" 9982 DATA "4F04C5ED4B04FD3E" 9983 DATA "FFB8280162B92001" 9984 DATA "6BCB3DCB3DCB3D3E" 9985 DATA "AF9467E6380707B5" 9986 DATA "6F7CCB3FCB3FCB3F" 9987 DATA "ACE6F8ACF6406754" 9988 DATA "5D78A7C1280605C5" 9989 DATA "CD06FDC13A04FDFE" 9990 DATA "FF281CA72832C5E5" 9991 DATA "41A77E1F12132310" 9992 DATA "F9E1CD06FDC110EE" 9993 DATA "AF41121310FCC9C5" 9994 DATA "E541A77E17121B2B" 9995 DATA "10F9E1CD06FDC110" 9996 DATA "EEAF41121B10FCC9" 9997 DATA "C5E50600EDB0E1CD" 9998 DATA "06FDC110F3C90000" 9999 DATA "END" ```