Guitar For Beginners

Date: 1983
Type: Cassette
Platform(s): TS 1000
Tags: Music

Guitar For Beginners is an interactive guitar instruction program covering five lessons: parts of the guitar, basic chords, a practice chord session, bar chords, and chord progressions. The fretboard is rendered entirely in BASIC using block graphics and ASCII characters, with position controlled through variables P and Q passed to a subroutine at line 1000. Chord diagrams for 14 chords (A, AM, A7, BM, C, C7, D, DM, D7, E, EM, E7, G, G7) are drawn using inverse-video finger-number characters positioned via PRINT AT coordinates. The practice session uses arrays X(), C(), D(), E(), G(), H(), and J() to store GOSUB target line numbers, enabling data-driven chord sequencing and progression playback. A difficulty level setting adjusts the delay loop count (variable LD) between strum prompts in Lesson 3.


Program Analysis

Program Structure

The program is organized into five distinct lessons, each occupying a contiguous block of line numbers, plus several subroutines:

  1. Lines 1–9: Array declarations (J, F$, X, C, D, E, G, H, Z)
  2. Lines 10–99: Initialization, title screen, and menu display
  3. Lines 100–199: Lesson 1 — Parts of the Guitar, with labeled fretboard diagram
  4. Lines 200–299: Lesson 2 — Basic Chords, chord lookup dispatch and chord-drawing subroutines
  5. Lines 300–349: Lesson 3 — Practice Chord Session with difficulty selection
  6. Lines 350–399: Lesson 4 — Bar Chords (major, minor, 7th, 6th)
  7. Lines 400–700: Lesson 5 — Chord Progressions
  8. Lines 1000–1099: Fretboard rendering subroutine
  9. Lines 2000–5099: Bar chord type subroutines (major, minor, 7th, 6th)
  10. Lines 6001–6099: Chord menu display subroutine
  11. Line 9000: SAVE command

Entry Point Guard

Lines 39–45 implement a run-guard: the program tests Z(1) at line 39. Since DIM Z(1) initializes Z(1) to 0, directly RUNning the program falls through to a warning message and STOP. The guard message instructs the user to use GOTO 10 instead. However, this guard is ineffective as written because Z(1) is never set to 1 anywhere in the program — so even GOTO 10 will trigger the warning. This appears to be a bug: the intent was likely to set Z(1)=1 somewhere near line 10, before the guard check at line 39.

Fretboard Rendering Subroutine (Line 1000)

The subroutine at line 1000 draws a guitar fretboard using block graphics and ASCII characters. It is parameterized by two variables, P (vertical position) and Q (horizontal position), allowing the fretboard to be placed at different screen locations. The fret lines are drawn with ------, string columns with :::::: and \..\..\..\..\..\.. (block graphic rows), and dot markers with * at the 3rd, 5th, and 7th fret positions (P+4, P+8, P+12). This subroutine is called from multiple lessons to provide a consistent visual backdrop for chord diagrams.

Chord Diagram Dispatch (Lesson 2)

Lesson 2 uses a linear chain of IF C$="X" THEN GOSUB nnnn tests at lines 206–220, one per chord. There is no ELSE or early exit between tests, so every condition is evaluated regardless of which matched — however, since only one GOSUB is taken and each chord subroutine RETURNs, subsequent tests after a match still evaluate but produce no action (the strings won’t match again). After the dispatch chain, line 221 unconditionally loops back to line 204 for another INPUT, creating a continuous chord-lookup loop exited only by entering “P”.

Chord diagrams use inverse-video characters %1, %2, %3, %4 to represent fingers 1–4, and X to indicate strings not strummed. Finger positions are placed with PRINT AT row,col coordinates relative to the fretboard drawn by the subroutine at line 1000.

Data-Driven Practice Session (Lesson 3)

The practice chord session at lines 330–342 uses the array X(14) as a table of GOSUB targets. Each element stores a line number corresponding to a chord-drawing subroutine, and GOSUB X(I) dispatches to it. This is an efficient technique for sequencing a set of chords without a long chain of IF statements. The difficulty level selected by the user (lines 311–313) sets LD to 5, 15, or 40, which controls the inner delay loop at line 338, giving the user more or less time to form each chord.

Bar Chord Subroutines (Lines 2000–5099)

Lessons 4 uses four subroutines representing bar chord types: major (2000), minor (3000), 7th (4000), and 6th (5000). These are called via a nested loop at lines 357–371: the outer loop steps C through 2000, 3000, 4000, 5000 (chord type), and the inner loop steps K through fret positions 2, 6, 10, 14. The chord name is looked up from the string array F$(K), which must have been populated elsewhere — however, no code in the listing actually assigns values to F$, suggesting that initialization data for this array may have been lost or is loaded from the tape alongside the program.

Chord Progression Sequencing (Lesson 5)

Lesson 5 uses numeric arrays C(12), D(12), E(12), G(12), H(12), and J(12) — each storing 12 GOSUB targets — to define six chord progressions. Loops at lines 412–419, 453–465, 484–490, 515–527, 537–540, and 565–577 iterate over these arrays, calling GOSUB C(N) etc. to sequence chord displays. Like the F$ array and X() array, these arrays are never populated in the visible listing, indicating their contents are set by a preceding data-loading section not present here or pre-loaded on tape.

Timing and Delay Loops

The program relies entirely on empty FOR/NEXT loops for timing. The delay at lines 338–339 in the practice session is the only one that varies with user input (LD); all other delays use fixed loop counts (30, 50, 70). The timing subroutine at lines 474–482 uses TT as a multiplier inside a nested loop but is only called from Lesson 5 progressions.

Key-Press Wait Idiom

The program uses the standard two-line keypress wait at several points: first flushing any held key with IF INKEY$<>"" THEN GOTO n, then waiting for a new press with IF INKEY$="" THEN GOTO n+1. This appears at lines 90–91, 198–199, and 590–591.

Notable Anomalies

  • Line 383 tests W$="C" and GOTOs 400, but line 400 does not exist — execution falls through to line 401. This is a harmless off-by-one in line numbering.
  • Lines 347–349 in Lesson 3: if neither “R” nor “C” is entered, line 349 (GOTO 322) jumps back past the chord display to re-print the level name, not to the beginning of the practice loop — a minor UX anomaly.
  • Line 600 checks INKEY$="R" after the PAUSE-0 idiom at 590–591 has already consumed the keypress, so the key read at 600 is always a new key; pressing R after the lesson-5 prompt will loop to line 400 (non-existent, falls to 401), effectively repeating Lesson 5 rather than going back to the start.
  • The F$, X(), and chord-progression arrays are declared but never assigned in the visible listing, which would cause errors at runtime unless pre-loaded data is present on tape.

Content

Appears On

Related Products

Covers the fundamentals of the guitar such as string and finger positions. Ideal for the beginner who wants to learn...

Related Articles

Related Content

Image Gallery

Guitar For Beginners

Source Code

   1 DIM J(12)
   2 DIM F$(14)
   3 DIM X(14)
   4 DIM C(12)
   5 DIM D(12)
   6 DIM E(12)
   7 DIM G(12)
   8 DIM H(12)
   9 DIM Z(1)
  10 CLS 
  11 REM  GUITAR FOR BEGINNERS            SZX SYSTEMS                     PO BOX 172                      STIRLING, NJ 07980              COPYRIGHT NOV. 1982
  39 IF Z(1)=1 THEN GOTO 50
  40 PRINT AT 8,0;"REMINDER:DO NOT RUN THIS PROGRAM"
  41 PRINT AT 10,0;"      USE GOTO 10 INSTEAD"
  42 PRINT AT 14,0;"RELOAD PROGRAM AND ENTER GOTO 10"
  45 STOP 
  50 PRINT AT 8,5;"GUITAR FOR BEGINNERS"       
  51 PRINT AT 9,5;"''''''''''''''''''''''''''''''''''''''''"
  52 FOR I=1 TO 70
  53 NEXT I
  55 CLS 
  56 PRINT AT 4,0;"LESSON 1: PARTS OF THE GUITAR"
  57 PRINT AT 6,0;"LESSON 2: BASIC CHORDS"
  58 PRINT AT 8,0;"LESSON 3: PRACTICE CHORD SESSION"
  59 PRINT AT 10,0;"LESSON 4: BAR CHORDS"
  60 PRINT AT 12,0;"LESSON 5: CHORD PROGRESSIONS"
  89 PRINT AT 21,0;"% % % % % %P%R%E%S%S% %A%N%Y% %K%E%Y% %T%O% %B%E%G%I%N% % % % % "
  90 IF INKEY$<>"" THEN GOTO 90
  91 IF INKEY$="" THEN GOTO 91
  99 CLS 
 100 PRINT AT 2,20;"% %L%E%S%S%O%N% %1% "
 102 LET P=2
 103 LET Q=12
 105 GOSUB 1000
 106 PRINT AT 0,0;"% % % % % %T%H%E% %P%A%R%T%S% %O%F% %T%H%E% %G%U%I%T%A%R% % % % "
 107 PRINT AT 1,8;"NUT>"
 108 PRINT AT 2,1;"FIRST FRET>"
 109 PRINT AT 6,0;"THIRD FRET>"
 110 PRINT AT 10,0;"FIFTH FRET>"
 111 PRINT AT 14,2;"7TH FRET>"
 113 PRINT AT 20,11;"FRETBOARD"
 114 FOR I=1 TO 70
 115 NEXT I
 120 PRINT AT 16,12;"<SIXTH STRING %E"
 121 PRINT AT 14,13;"<FIFTH STRING %A"
 122 PRINT AT 12,14;"<FOURTH STRING %D"
 123 PRINT AT 10,15;"<THIRD STRING %G"
 124 PRINT AT 8,16;"<SECOND STRING %B"
 125 PRINT AT 6,17;"<FIRST STRING %E"
 130 PRINT AT 18,8;"<UP";TAB 19;"DOWN>"
 135 FOR I=1 TO 50
 140 NEXT I
 189 LET Q=2
 197 PRINT AT 21,0;"% % % % %P%R%E%S%S% %A%N%Y% %K%E%Y% %T%O% %C%O%N%T%I%N%U%E% % % "
 198 IF INKEY$<>"" THEN GOTO 198
 199 IF INKEY$="" THEN GOTO 199
 200 CLS 
 201 PRINT AT 0,10;"% % % %L%E%S%S%O%N% %2%/% %C%H%O%R%D%S% % "
 202 GOSUB 6000
 203 GOSUB 1000
 204 INPUT C$
 205 GOSUB 1000
 206 IF C$="P" THEN GOTO 300
 207 IF C$="G7" THEN GOSUB 255
 208 IF C$="C" THEN GOSUB 260
 209 IF C$="AM" THEN GOSUB 266
 210 IF C$="G" THEN GOSUB 250
 211 IF C$="D7" THEN GOSUB 235
 212 IF C$="D" THEN GOSUB 230
 213 IF C$="E" THEN GOSUB 271
 214 IF C$="EM" THEN GOSUB 275
 215 IF C$="A" THEN GOSUB 278
 216 IF C$="DM" THEN GOSUB 240
 217 IF C$="A7" THEN GOSUB 282
 218 IF C$="C7" THEN GOSUB 286
 219 IF C$="E7" THEN GOSUB 292
 220 IF C$="BM" THEN GOSUB 224
 221 GOTO 204
 224 PRINT AT 0,2;"B MINOR"
 225 PRINT AT 4,7;"%1"
 226 PRINT AT 6,6;"%2"
 227 PRINT AT 8,4;"%3%4"
 228 PRINT AT 1,2;"XX"
 229 RETURN 
 230 PRINT AT 4,5;"%1:%2"
 231 PRINT AT 6,6;"%3"
 232 PRINT AT 1,2;"XX"
 233 PRINT AT 0,2;"D MAJOR"
 234 RETURN 
 235 PRINT AT 4,5;"%2:%3"
 236 PRINT AT 2,6;"%1"
 237 PRINT AT 1,2;"XX"
 238 PRINT AT 0,4;"D7"
 239 RETURN 
 240 PRINT AT 6,6;"%3"
 241 PRINT AT 4,5;"%2"
 242 PRINT AT 2,7;"%1"
 243 PRINT AT 1,2;"XX"
 244 PRINT AT 0,2;"D MINOR"
 245 RETURN 
 250 PRINT AT 6,2;"%3";TAB 7;"%4"
 251 PRINT AT 4,3;"%2"
 252 PRINT AT 0,2;"G MAJOR"
 253 RETURN 
 255 PRINT AT 6,2;"%3"
 256 PRINT AT 4,3;"%2"
 257 PRINT AT 2,7;"%1"
 258 PRINT AT 0,4;"G7"
 259 RETURN 
 260 PRINT AT 6,3;"%3"
 261 PRINT AT 4,4;"%2"
 262 PRINT AT 2,6;"%1"
 263 PRINT AT 1,2;"X"
 264 PRINT AT 0,2;"C MAJOR"
 265 RETURN 
 266 PRINT AT 2,6;"%1"
 267 PRINT AT 4,4;"%2%3"
 268 PRINT AT 1,2;"X"
 269 PRINT AT 0,2;"A MINOR"
 270 RETURN 
 271 PRINT AT 2,5;"%1"
 272 PRINT AT 4,3;"%2%3"
 273 PRINT AT 0,2;"E MAJOR"
 274 RETURN 
 275 PRINT AT 4,3;"%2%3"
 276 PRINT AT 0,2;"E MINOR"
 277 RETURN 
 278 PRINT AT 4,4;"%1%2%3"
 279 PRINT AT 1,2;"X"
 280 PRINT AT 0,2;"A MAJOR"
 281 RETURN 
 282 PRINT AT 4,4;"%2:%3"
 283 PRINT AT 1,2;"X"
 284 PRINT AT 0,4;"A7"
 285 RETURN 
 286 PRINT AT 6,3;"%3:%4"
 287 PRINT AT 4,4;"%2"
 288 PRINT AT 2,6;"%1"
 289 PRINT AT 1,2;"X"
 290 PRINT AT 0,4;"C7"
 291 RETURN 
 292 PRINT AT 2,5;"%1"
 293 PRINT AT 4,3;"%2%3"
 294 PRINT AT 6,6;"%4"
 295 PRINT AT 0,4;"E7"
 296 RETURN 
 300 CLS 
 301 PRINT AT 2,10;"% % % % % % % %L%E%S%S%O%N% %3% % % % % % % "
 302 PRINT AT 3,10;"%P%R%A%C%T%I%C%E% %C%H%O%R%D% %S%E%S%S%I%O%N"
 303 PRINT AT 21,0;"% % % %E%N%T%E%R% %L%E%V%E%L% %O%F% %D%I%F%F%I%C%U%L%T%Y% % % % "
 304 PRINT AT 5,11;"LEVELS OF DIFFICULTY"
 305 PRINT AT 6,11;"''''''''''''''''''''''''''''''''''''''''"
 306 PRINT AT 8,12;"1 - ADVANCED"
 307 PRINT AT 9,12;"2 - INTERMEDIATE"
 308 PRINT AT 10,12;"3 - BEGINNER"
 309 INPUT LL
 311 IF LL=1 THEN LET LD=5
 312 IF LL=2 THEN LET LD=15
 313 IF LL=3 THEN LET LD=40
 314 IF LL=1 THEN LET L$="ADVANCED"
 315 IF LL=2 THEN LET L$="INTERMEDIATE"
 316 IF LL=3 THEN LET L$="BEGINNER"
 317 PRINT AT 5,11;"                    "
 318 PRINT AT 6,11;"                    "
 319 PRINT AT 8,12;"                "
 320 PRINT AT 9,12;"                "
 321 PRINT AT 10,12;"                "
 322 PRINT AT 5,17;L$
 323 PRINT AT 21,0;"                                "
 330 FOR I=1 TO 14
 334 GOSUB 1000
 335 GOSUB X(I)
 336 FOR N=10 TO 13
 337 PRINT AT N,10;"STRUM"
 338 FOR H=1 TO LD
 339 NEXT H
 340 PRINT AT N,10;"     "
 341 NEXT N
 342 NEXT I
 343 PRINT AT 21,0;"% % % % %E%N%T%E%R% %C% %F%O%R% %N%E%X%T% %L%E%S%S%O%N% % % % % "
 344 PRINT AT 18,14;"% % % %E%N%T%E%R% %R% %T%O% % % % "
 345 PRINT AT 19,14;"% %R%E%P%E%A%T% %P%R%A%C%T%I%C%E% "
 346 INPUT A$
 347 IF A$="R" THEN GOTO 301
 348 IF A$="C" THEN GOTO 350
 349 GOTO 322
 350 CLS 
 351 PRINT AT 0,10;"% %L%E%S%S%O%N% %4%/% %B%A%R% %C%H%O%R%D%S% "
 352 LET L=2
 353 PRINT AT 5,18;"MAJOR"
 354 PRINT AT 7,18;"MINOR"
 355 PRINT AT 9,18;"7 TH"
 356 PRINT AT 11,18;"6 TH"
 357 FOR C=2000 TO 5000 STEP 1000
 358 FOR K=2 TO 14 STEP 4
 360 GOSUB 1000
 361 GOSUB C
 362 FOR N=1 TO 30
 363 NEXT N
 370 NEXT K
 371 NEXT C
 377 PRINT AT 21,10;"%E%N%T%E%R% %C% %T%O% %C%O%N%T%I%N%U%E"
 379 PRINT AT 18,10;"% % % % % %E%N%T%E%R% %R% %T%O% % % % "
 380 PRINT AT 19,10;"% % %R%E%P%E%A%T% %L%E%S%S%O%N% %4% % "
 381 INPUT W$
 382 IF W$="R" THEN GOTO 350
 383 IF W$="C" THEN GOTO 400
 401 CLS 
 402 PRINT AT 0,11;"% %C%H%O%R%D% %P%R%O%G%R%E%S%S%I%O%N%S% "
 403 PRINT AT 2,16;"% %L%E%S%S%O%N% %5% "
 404 LET K=2
 405 LET L=2
 406 PRINT AT 4,12;"%1. C/ A MINOR/ F/ G"
 407 LET TT=5
 408 PRINT AT 21,16;"PLAY ALONG"
 410 FOR I=1 TO 2
 412 FOR N=1 TO 12
 415 GOSUB C(N)
 416 NEXT N
 420 NEXT I
 421 GOSUB 1000
 422 GOSUB 260
 425 FOR N=1 TO 30
 426 NEXT N
 451 PRINT AT 6,12;"%2. A/ D/ E/ D  "
 452 LET TT=1
 453 FOR I=1 TO 2
 455 FOR N=1 TO 12
 459 GOSUB D(N)
 464 NEXT N
 466 NEXT I
 467 GOSUB 1000
 468 GOSUB 278
 469 FOR N=1 TO 30
 470 NEXT N
 473 GOTO 483
 474 REM %S%U%B% %T%I%M%I%N%G
 475 FOR T=1 TO 4
 478 FOR J=1 TO TT
 479 NEXT J
 481 NEXT T
 482 RETURN 
 483 PRINT AT 8,12;"%3. G/ C/ G/ D"
 484 FOR I=1 TO 2
 485 FOR N=1 TO 12
 489 GOSUB E(N)
 490 NEXT N
 498 NEXT I
 500 GOSUB 1000
 501 GOSUB 250
 502 GOSUB 475
 504 FOR I=1 TO 30
 505 NEXT I
 510 PRINT AT 10,12;"%4. D/ B MINOR/ G/ A7"
 515 FOR I=1 TO 2
 516 FOR N=1 TO 12
 525 GOSUB G(N)
 527 NEXT N
 528 NEXT I
 529 GOSUB 1000
 530 GOSUB 230
 531 GOSUB 475
 532 FOR N=1 TO 30
 533 NEXT N
 535 PRINT AT 12,12;"%5. C/ G/ F/ C"
 537 FOR I=1 TO 2
 538 FOR N=1 TO 12
 539 GOSUB H(N)
 540 NEXT N
 548 GOSUB 260
 549 GOSUB 475
 550 NEXT I
 551 GOSUB 1000
 552 GOSUB 260
 553 GOSUB 475
 555 FOR N=1 TO 30
 556 NEXT N
 560 PRINT AT 14,12;"%6. D/ A/ C/ G"
 565 FOR I=1 TO 2
 567 FOR N=1 TO 12
 568 GOSUB J(N)
 577 NEXT N
 579 NEXT I
 580 GOSUB 1000
 581 GOSUB 230
 582 GOSUB 475
 583 FOR N=1 TO 30
 584 NEXT N
 585 PRINT AT 21,0;"% % % %P%R%E%S%S% %R% %T%O% %R%E%P%E%A%T% %L%E%S%S%O%N% %5% % % "
 590 IF INKEY$<>"" THEN GOTO 590
 591 IF INKEY$="" THEN GOTO 591
 600 IF INKEY$="R" THEN GOTO 400
 700 GOTO 10
 999 STOP 
 1000 REM % % % % % % % %F%R%E%T%B%O%A%R%D% % % % % 
 1004 PRINT AT P-2,Q;"       "
 1005 PRINT AT P-1,Q;"............"
 1010 PRINT AT P,Q;"::::::"
 1011 PRINT AT P+1,Q;"------"
 1012 PRINT AT P+2,Q;"::::::"
 1013 PRINT AT P+3,Q;"------"
 1014 PRINT AT P+4,Q-1;"*::::::"
 1015 PRINT AT P+5,Q;"------"
 1016 PRINT AT P+6,Q;"::::::"
 1017 PRINT AT P+7,Q;"------"
 1018 PRINT AT P+8,Q-1;"*::::::"
 1019 PRINT AT P+9,Q;"------"
 1020 PRINT AT P+10,Q;"::::::"
 1021 PRINT AT P+11,Q;"------"
 1022 PRINT AT P+12,Q-1;"*::::::"
 1023 PRINT AT P+13,Q;"------"
 1024 PRINT AT P+14,Q;"::::::"
 1025 PRINT AT P+15,Q;"------"
 1026 PRINT AT P+16,Q;"::::::"
 1027 PRINT AT P+17,Q;"------"
 1028 PRINT AT P+18,Q;"::::::"
 1029 PRINT AT P+19,Q;"------"
 1099 RETURN 
 2000 REM MAJOR BAR
 2001 PRINT AT K,L;"%1%-%-%-%1%1"
 2005 PRINT AT K+4,L+2;"%4"
 2006 PRINT AT K+4,L+1;"%3"
 2010 PRINT AT K+2,L+3;"%2"
 2020 PRINT AT P-2,L;F$(K);" MAJOR"
 2099 RETURN 
 3000 REM % % % % %M%I%M%O%R
 3001 PRINT AT K,L;"%1%-%-%1%1%1"
 3002 PRINT AT K+4,L+2;"%4"
 3006 PRINT AT K+4,L+1;"%3"
 3020 PRINT AT P-2,L;F$(K);" MINOR"
 3099 RETURN 
 4000 REM % % % % % %7% %T%H
 4001 PRINT AT K,L;"%1%-%1%-%1%1"
 4005 PRINT AT K+6,L+4;"%4"
 4006 PRINT AT K+2,L+3;"%2"
 4008 PRINT AT K+4,L+1;"%3"
 4020 PRINT AT P-2,L+2;F$(K);"7"
 4099 RETURN 
 5000 REM % % % % % % %6% %T%H
 5001 PRINT AT K,L;"%1%- %-%-%1"
 5002 PRINT AT K+2,L+3;"%2"
 5005 PRINT AT K+4,L+4;"%4"
 5006 PRINT AT K-1,L+2;"X"
 5008 PRINT AT K+4,L+1;"%3"
 5020 PRINT AT P-2,L+2;F$(K);"6"
 5099 RETURN 
 6001 PRINT AT 1,10;"ENTER CHORD:  FINGERS"
 6002 PRINT AT 2,10;"''''''''''''''''''''''''  ''''''''''''''"
 6003 PRINT AT 3,10;"A - A MAJOR   %1 FIRST"
 6004 PRINT AT 4,10;"C - C MAJOR   %2 SECOND"
 6005 PRINT AT 5,10;"D - D MAJOR   %3 THIRD"
 6006 PRINT AT 6,10;"E - E MAJOR   %4 FOURTH"
 6007 PRINT AT 7,10;"G - G MAJOR   X DO NOT"
 6008 PRINT AT 8,10;"AM- A MINOR     STRUM"
 6009 PRINT AT 9,10;"BM- B MINOR"
 6010 PRINT AT 10,10;"DM- D MINOR"
 6011 PRINT AT 11,10;"EM- E MINOR"
 6012 PRINT AT 12,10;"A7- A 7TH"
 6013 PRINT AT 13,10;"C7- C 7TH"
 6014 PRINT AT 14,10;"D7- D 7TH"
 6015 PRINT AT 15,10;"E7- E 7TH"
 6016 PRINT AT 16,10;"G7- G 7TH"
 6019 PRINT AT 20,10;"% %E%N%T%E%R% %P% %F%O%R% %L%E%S%S%O%N% %3% "
 6020 PRINT AT 21,10;"%P%R%A%C%T%I%C%E% %C%H%O%R%D% %S%E%S%S%I%O%N"
 6099 RETURN 
 9000 SAVE "GUITA%R"
 9010 GOTO 10

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

People

No people associated with this content.

Scroll to Top