TSUG Ft Worth

This file is part of and Timex Sinclair Public Domain Library Tape 1002. Download the collection to get this file.
Date: 198x
Type: Program
Platform(s): TS 1000
Tags: Demo

This program displays a decorative banner screen for the “Users Group of Fort Worth Texas” using an intricate arrangement of Spectrum block graphics characters. The entire display is rendered in a single PRINT statement at line 10, using block graphic escape sequences to draw borders and stylised lettering. The program halts at line 15 with STOP, making the SAVE and RUN statements at lines 20 and 25 part of the tape-saving sequence rather than normal execution flow. The banner uses the full-block (█), half-block, and quarter-block characters extensively to construct a bordered frame and pixel-art text spelling out the group name and location.


Program Analysis

Program Structure

The program consists of just four lines with a straightforward flow:

  1. Line 10: A single PRINT statement containing the entire banner graphic as a string literal packed with block graphic escape sequences.
  2. Line 15: STOP — halts normal execution after the banner is displayed.
  3. Line 20: SAVE "1008..." — saves the program to tape; never reached during a normal RUN.
  4. Line 25: RUN — restarts the program after loading from tape; also unreachable during a normal RUN.

The SAVE / RUN pair at lines 20–25 is a common idiom for self-saving programs: when the user types GOTO 20 (or the program is run from a specific entry point), the program saves itself and then restarts automatically on load.

Block Graphics Rendering

The entire visual output is produced by a single string argument to PRINT. The string is composed almost entirely of Spectrum block graphic characters (codes 128–143), which are encoded in the source using zmakebas two-character escape sequences. The graphic characters used include:

  • \:: = █ (full block) — used heavily for the outer border and filled areas.
  • \'\' = ▀ (upper half block) — used in lettering and decorative elements.
  • \:\' = ▛, \': = ▙, \:.\ .\: combinations — used to form rounded or diagonal joins in the pixel-art letters.
  • \ : = ▐, \: = ▌ — vertical half-blocks for borders and letter strokes.
  • \'' = ▀, \.. = ▄ — upper and lower half-blocks.

The layout encodes multiple rows of a bordered panel (using and as left and right walls and runs as top/bottom borders), with pixel-art lettering inside spelling out the club identity and the plain-text lines “USERS GROUP OF” and “FORT WORTH TEXAS”.

Notable Techniques

Rendering a full-screen banner in one PRINT statement is both a stylistic choice and a practical optimisation: it minimises the number of BASIC line tokens that need to be interpreted and avoids any flicker or partial-draw artefacts that would result from multiple sequential print operations. The embedded newlines within the string (represented as literal line breaks in the source) advance the cursor to successive screen rows without requiring additional PRINT or AT commands.

The use of STOP at line 15 rather than ending the program naturally (by falling off the last line) ensures that the SAVE and RUN statements cannot be reached accidentally, protecting the tape-writing routine from unintended execution.

Potential Anomalies

No mathematical, logical, or structural bugs are present. Line 25 (RUN) will never be reached during a normal execution path (blocked by STOP at line 15 and the SAVE at line 20), but this is intentional: the RUN at line 25 is a post-SAVE auto-restart intended to be triggered by the LOAD process on the receiving end, not by the saving machine’s BASIC interpreter itself.

Line Summary

LineStatementPurpose
10PRINT "..."Renders the full block-graphic banner in one operation
15STOPHalts normal execution; prevents accidental SAVE
20SAVE "1008..."Saves program to tape (reached only via direct GOTO)
25RUNAuto-restarts after tape load

Content

Appears On

Assembled by Tim Ward from many sources. Contains programs 10051 – 10121.

Related Products

Related Articles

Related Content

Image Gallery

TSUG Ft Worth

Source Code

  10 PRINT "\:'\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\':\:        \''\:'\' \''\:'\' \:.\ .\: \:'\''\' \'.\ .\'         \ :\:         \:   \:  \: \' \: \:'\'' \ .\'.         \ :\:         \'  \''\''\' \'  \' \''\''\' \'  \'         \ :\:    \:'\''\' \''\:'\' \:. \: \:'\''\' \:   \:'\''\: \''\:'\' \:'\''\:    \ :\:    \''\''\:  \:  \: \'.\: \:   \:   \:'\''\:  \:  \:'\:'\'    \ :\:    \''\''\' \''\''\' \'  \' \''\''\' \''\''\' \'  \' \''\''\' \' \ '    \ :\:         USERS GROUP OF        \ :\:        FORT WORTH TEXAS       \ :\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''"
  15 STOP 
  20 SAVE "1008%0"
  25 RUN 

Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.

People

No people associated with this content.

Scroll to Top