--- title: "Day 91" id: 72258 type: "computer_media" slug: "day-91" url: "http://localhost/computer_media/day-91/" markdown_url: "http://localhost/computer_media/day-91.md" published_at: "2026-10-23T07:47:25+00:00" modified_at: "2026-10-23T07:47:25+00:00" author: "David Anderson" featured_image: url: "http://localhost/wp-content/uploads/2026/10/day91-1.png" excerpt: "A television set, one day after its warranty expires, fills with flickering snow and static hiss until you press SPACE to switch it off." 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/" model: - name: "Timex/Sinclair 2068" slug: "ts-2068" taxonomy: "model" url: "http://localhost/model/ts-2068/" indiv: - name: "Paul Holmgren" slug: "paul-holmgren" taxonomy: "indiv" url: "http://localhost/indiv/paul-holmgren/" genre: - name: "Demo" slug: "demo" taxonomy: "genre" url: "http://localhost/type/demo/" media_type: "Program" programmers: - name: "Paul Holmgren" slug: "paul-holmgren" taxonomy: "indiv" url: "http://localhost/indiv/paul-holmgren/" download_url: "https://archive.org/download/timex-sinclair-software-archive/Day%2091%20%28198x%29%28Holmgren%2C%20Paul%29%28TS2068%29%28US%29%28Program%29.zip" tsrun_member: "Day 91 (198x)(Holmgren, Paul)(TS2068)(US)(Program)/Day 91 (198x)(Holmgren, Paul)(TS2068)(US)(Program).tap" mediadate: "198x" images: - url: "http://localhost/wp-content/uploads/2026/10/day91-1.png" media_type_tags: "Demo" license: false --- # Day 91 A short joke. The program draws a small red television set with rabbit-ear aerials and a small control panel, under the caption “Quick! Call TV Repair!” and above “One day after warranty expires.” The picture tube fills with flickering garbage while the AY sound chip plays a steady hiss of static. Pressing SPACE switches the set off: the sound stops, the screen goes black and the program ends. By Paul Holmgren. There is no credit in the program itself. It was on the PubDom#6 Oliger disk alongside his M*5 and ISTUG-BBS Multibase. ## Program Analysis The set is drawn with `PLOT`, `DRAW` and `CIRCLE` in lines 22–80. The “picture” is just the twelve letters `abcd`, `efgh` and `ijkl` printed in a 4×3 block at line 120. The loop in lines 100–140 POKEs a random value from 0 to 31 into 23607, the high byte of the `CHARS` system variable, before each print. The letters are therefore drawn from a different part of ROM every pass, which gives the snow. ## Notable Techniques - `SOUND 6,30;7,55` sets the noise period and a mixer value that turns off all three tone channels and enables noise on channel A only. `SOUND 8,15` then turns channel A up to full volume once the set has been drawn. - On SPACE, line 130 puts 60 back in 23607 (the normal character set at 15360), zeroes AY registers 0–13 in a loop, and blacks out the picture with solid block graphics before `STOP`. ## Potential Issues - The program has no autostart and ends with `STOP`, so it has to be started with `RUN`. This program came from the PubDom#6 Oliger (JLO SAFE) disk. It needed no changes to load from tape. Type `RUN` to start it. It was tested in ZEsarUX. ## Source Code ``` 1 PAPER 7 10 SOUND 6,30;7,55 19 PRINT AT 20,0; INK 2;"One day after warranty expires." 20 PRINT AT 3,5; INK 1;"Quick! Call TV Repair!" 21 INK 2 22 PLOT 125,115: DRAW 15,15: PLOT 124,115: DRAW -15,15 30 PLOT 150,84: DRAW 0,30: DRAW -50,0: DRAW 0,-30: DRAW 50,0 40 PLOT 136,87: DRAW 0,25: DRAW -33,0: DRAW 0,-25: DRAW 33,0 50 PLOT 147,97: DRAW -8,0: DRAW 0,-10: DRAW 8,0: DRAW 0,10 60 PLOT 145,110: PLOT 146,110: PLOT 145,109: PLOT 146,109 70 PLOT 140,110: PLOT 141,110: PLOT 140,109: PLOT 141,109 80 CIRCLE 140,102,1.6: CIRCLE 145,102,1.6 90 SOUND 8,15 95 INK 0 100 LET a=INT (RND*32) 110 POKE 23607,a 120 PRINT AT 8,13;"abcd";AT 9,13;"efgh";AT 10,13;"ijkl" 130 IF INKEY$=" " THEN POKE 23607,60: FOR x=0 TO 13: SOUND x,0: NEXT x: PRINT AT 8,13; INK 0;"::::::::";AT 9,13; INK 0;"::::::::";AT 10,13; INK 0;"::::::::": STOP 140 GO TO 100 ```