--- title: "Graphics Bonus" type: "article" slug: "graphics-bonus" url: "http://localhost/article/graphics-bonus/" markdown_url: "http://localhost/article/graphics-bonus.md" published_at: "2025-11-05T19:28:15+00:00" modified_at: "2025-11-05T19:28:16+00:00" featured_image: url: "http://localhost/wp-content/uploads/2022/04/20230809-041332.jpg" excerpt: "Program listing that uses user-defined graphics to display Opus, from the comic strip Bloom County." category: - name: "T-S Horizons" slug: "t-s-horizons" taxonomy: "category" url: "http://localhost/category/periodicals/t-s-horizons/" post_tag: - name: "Downloadable" slug: "downloadable" taxonomy: "post_tag" url: "http://localhost/tag/downloadable/" - 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: "Daniel Richardson" slug: "daniel-richardson" taxonomy: "indiv" url: "http://localhost/indiv/daniel-richardson/" publication_r: id: 10247 title: "T-S Horizons" type: "periodical" url: "http://localhost/periodical/t-s-horizons/" authors_r: - name: "Daniel Richardson" slug: "daniel-richardson" taxonomy: "indiv" url: "http://localhost/indiv/daniel-richardson/" issue: "8" issues_articles: - id: 50945 title: "T-S Horizons n8" type: "issue" url: "http://localhost/issue/t-s-horizons-n/" pages: "17" pubdate: "Sept 1984" archive_link: false article_media: - id: 55590 title: "Opus" type: "computer_media" url: "http://localhost/computer_media/opus/" --- # Graphics Bonus Program listing that uses user-defined graphics to display Opus, from the comic strip Bloom County. ## Source Code: Opus ``` 1 REM "opus" (listing from TS HORIZONS -- centered, color added by Anthony Willing 2/4/89) 2 PAPER 6 3 CLS : BORDER 1: PAPER 6: INK 0 5 LET x=144 10 FOR n=0 TO 7 15 READ r: IF r=256 THEN GO TO 1000 20 POKE USR CHR$ x+n,r 30 NEXT n 35 LET x=x+1: GO TO 10 100 DATA 0,0,0,0,0,0,0,0 110 DATA 0,0,0,0,0,63,64,64 120 DATA 0,15,31,63,31,95,95,31 130 DATA 0,128,192,224,224,240,240,240 200 DATA 0,1,1,1,0,0,0,0 210 DATA 144,144,0,255,0,0,1,2 220 DATA 55,3,3,161,67,35,70,189 230 DATA 249,249,233,192,152,56,120,252 300 DATA 0,0,0,0,0,0,0,0 310 DATA 2,2,1,0,1,2,4,8 320 DATA 161,191,99,131,3,3,3,3 330 DATA 252,252,252,252,252,252,252,252 400 DATA 0,0,0,2,13,20,18,40 410 DATA 16,16,32,34,221,101,106,96 420 DATA 3,3,3,131,69,69,69,69 430 DATA 252,252,252,252,252,252,248,244 500 DATA 32,28,2,1,1,0,0,0 510 DATA 80,88,72,36,152,152,255 520 DATA 129,129,177,72,8,16,224,255 530 DATA 244,236,236,236,236,110,15,255 600 DATA 256 1000 PRINT AT 8,14;"\a\b\c\d": PRINT AT 9,14;"\e\f\g\h": PRINT AT 10,14;"\i\j\k\l": PRINT AT 11,14;"\m\n\o\p": PRINT AT 12,14;"\q\r\s\t" 1010 STOP 1020 SAVE "Opus" LINE 1 ```