--- title: "Guitar For Beginners" id: 51891 type: "computer_media" slug: "guitar-for-beginners" url: "http://localhost/computer_media/guitar-for-beginners/" markdown_url: "http://localhost/computer_media/guitar-for-beginners.md" published_at: "2023-08-16T01:42:21+00:00" modified_at: "2026-04-04T20:17:53+00:00" author: "David Anderson" featured_image: url: "http://localhost/wp-content/uploads/2023/08/SCR-20260404-dfzb.png" excerpt: "An interactive five-lesson guitar tutor that renders fretboard diagrams in character graphics and drills you through chords, bar chords, and progressions." category: - name: "Archived Media" slug: "archived-media" taxonomy: "category" url: "http://localhost/category/archived-media/" post_tag: - name: "Downloadable" slug: "downloadable" taxonomy: "post_tag" url: "http://localhost/tag/downloadable/" - name: "Timex Computer Corporation" slug: "timex-computer-corporation" taxonomy: "post_tag" url: "http://localhost/tag/timex-computer-corporation/" - name: "TS 1000" slug: "ts1000" taxonomy: "post_tag" url: "http://localhost/tag/ts1000/" model: - name: "Timex/Sinclair 1000" slug: "ts-1000" taxonomy: "model" url: "http://localhost/model/ts-1000/" genre: - name: "Music" slug: "music" taxonomy: "genre" url: "http://localhost/type/music/" media_type: "Cassette" download_url: "https://archive.org/download/timex-sinclair-software-archive/Guitar For Beginners (1983)(Timex)(US)(TS1000)(Cassette).zip" mediadate: "1983" producer_company: - id: 11401 title: "Timex Computer Corporation" type: "company" url: "http://localhost/company/timex-computer-corporation/" images: - url: "http://localhost/wp-content/uploads/2023/08/SCR-20260404-dfzb.png" - url: "http://localhost/wp-content/uploads/2023/08/SCR-20260404-dfwx.png" - url: "http://localhost/wp-content/uploads/2023/08/SCR-20260404-dfvo.png" related_products: - id: 12791 title: "Guitar for Beginners" type: "product" url: "http://localhost/product/guitar-for-beginners/" media_type_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. ## 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;"" 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 ```