Spanish Tutor

This file is part of CATS Library Tape 2, CATS Library Tape 6, and Long Island Sinclair Timex (LIST) User Group Library Tape #2. Download the collection to get this file.
Developer(s): Marty Curley
Date: 198x
Type: Program
Platform(s): TS 2068

This program is an interactive Spanish language tutor covering verbs, suffixes, opposites, question words, and pronouns. The verb section allows the user to enter any regular AR, ER, or IR verb and automatically generates conjugation tables for present, past, and future tenses by stripping the infinitive ending with a string slice (A$( TO LEN A$-2)) and appending the appropriate endings. A scrolling text subroutine at lines 9800 and 7200 displays example sentences one character at a time using a sliding window of 30 characters across the bottom of the screen. The animated title sequence uses nested loops with BEEP, color cycling via modulo arithmetic (INK x-INT(x/7)*7), and AT positioning to produce a moving, rainbow-colored header. The program also includes COPY commands to allow users to print conjugation tables to a ZX Printer.


Program Analysis

Program Structure

The program is divided into clearly demarcated sections, with a decorative title sequence followed by a menu dispatcher and then separate educational modules. Navigation relies entirely on GO TO and GO SUB branching from the central menu at line 115.

Line RangeSection
1–6Author credit / address screen
20–56Animated title sequence
57–62Color-cycling text subroutine
100–162Main menu and dispatcher
1000–2990Verb conjugation (AR, ER, IR) and verb lists
3000–3580Suffixes module
5000–6999Opposites module
7000–7300Question words module
8000–8999Pronouns module (stub, ends with STOP)
9800–9875Scrolling sentence subroutine (mid-screen)
9900–9920Press-Enter-to-continue subroutine
9960–9997Exit/goodbye sequence
9998–9999SAVE and VERIFY

Animated Title Sequence

Lines 2328 animate two text labels (“M.CURLEY” and “PRESENTS”) moving from row 20 up to row 0, erasing the previous position with TAB 31 and cycling ink color using the modulo expression INK x-INT(x/7)*7, which cycles through colors 0–6 as x decreases. PAPER 9 (transparent paper) is used so the text floats over the existing background.

The subroutine at lines 5762 is called multiple times from lines 3135 to place various title words on screen with their own color-cycling loop (iterating t from 7 down to 0), giving a shimmer effect as each word is overwritten repeatedly with changing ink. The same modulo trick, INK t-INT(t/8)*8, cycles through all eight ink values.

Verb Conjugation Engine

The core educational feature is the automatic conjugation of user-supplied verbs. After the user inputs an infinitive, the stem is extracted with the slice A$( TO LEN A$-2), which drops the two-character ending (AR, ER, or IR). The stem is then concatenated with hard-coded ending strings for present, past, and future tenses. This technique works correctly for regular verbs but will produce incorrect output for stem-changing or irregular verbs.

The IR verb section (lines 20002370) contains a notable bug: the present tense conjugation block is entirely absent. After stripping the stem at line 2065, the code jumps straight to the past tense at line 2100. Additionally, the future tense block is duplicated verbatim at lines 22002225 and 23002325, printing identical output twice.

Scrolling Sentence Subroutine

Two nearly identical subroutines handle scrolling example sentences: lines 98009875 display at row 10, and lines 72007290 display at row 21. Both use a 30-character sliding window: for each character position I from 1 to the string length P, the end index Z is computed as I+29, clamped to P with an IF guard. This gives the impression of the sentence scrolling past a fixed viewport. A BEEP .005,22 produces a brief tick sound on each step. The sentences are stored in A$ by the caller before invoking the subroutine.

Press-Enter-to-Continue Subroutine

The subroutine at lines 99009920 uses INPUT at line 9910 to prompt the user, then immediately polls INKEY$ in a tight loop at line 99119915, waiting until CHR$ 13 (Enter) is detected. This is slightly redundant: the INPUT statement will itself wait for Enter, making the INKEY$ loop execute only after Enter has already been pressed once. The effect is that the user must press Enter twice to advance.

Opposites Module

The opposites section (lines 50006999) uses a distinctive reveal technique: each pair is first printed in English, then after a call to subroutine 6900 (which provides a short pause and two-tone beep), the same screen position is overwritten with the Spanish equivalent using PRINT AT. Subroutine 6900 uses OVER 0 before returning to ensure normal overwrite mode.

Dead Code and Stubs

  • Line 400 (PRINT ,," THE SAME AS ADDING 'FUL'") is unreachable; it sits between the menu dispatcher and the verb section with no path leading to it.
  • Lines 99409950 are unreachable dead code between the goodbye sequence subroutine and the exit sequence. Line 9950 calls LIST, which would dump the program listing — likely a debugging artifact.
  • Lines 7300 and 7199 (GO SUB 9900) are unreachable dead code following RETURN statements.
  • The Pronouns module at line 8000 prints a heading and immediately hits STOP at line 8999, confirming the author’s opening note that the program was unfinished.

Exit Sequence Bug

The goodbye sequence at lines 99609997 contains a NEXT I at line 9972 that has no matching FOR I — the loop variable I was used by the scrolling loop at lines 99649970, which already completes normally. This orphaned NEXT I at line 9972 will cause a “Variable not found” or “NEXT without FOR” error at runtime.

Miscellaneous Notes

  • Line 1815 and 2115 contain "\iMOS" — the \i escape likely represents a block graphic character used accidentally instead of the letter “I”, producing IMOS with a graphic prefix rather than the intended IMOS.
  • The program uses COPY (lines 1560, 1960, 2360) to send conjugation tables to a ZX Printer, a practical feature for language study.
  • PAPER 9 (transparent paper attribute) is used in the title sequence to allow colored text to overlay the existing background without changing it.

Content

Appears On

Capital Area Timex Sinclair User Group’s Library Tape.
Capital Area Timex Sinclair User Group’s Library Tape.

Related Products

Related Articles

Related Content

Image Gallery

Spanish Tutor

Source Code

    1 INK 0: PRINT ,," TO THE MEMBERS OF L.I.S.T.:::","THIS PROGRAM ISN'T FINISHED YET","BUT THE BASICS ARE HERE."
    2 PRINT " IF YOU WOULD LIKE A COPY WHEN  I'M DONE YOU CAN WRITE TO ME AT THE FOLLOWING ADDRESS:"
    3 PRINT ,,,," MARTIN CURLEY"
    4 PRINT " 819 SHORELINE DR."
    5 PRINT " CICERO,INDIANA 46034"
    6 PAUSE 1000
    7 CLS 
   20 REM HEADER PROGRAM
   21 INK 4: PAPER 6: CLS 
   22 BORDER 1
   23 FOR x=20 TO 0 STEP -1
   24 BEEP .006,40-x*2
   25 PRINT AT x+1,0;TAB 31;
   26 PRINT INK x-INT (x/7)*7; PAPER 9;AT x,x;"M.CURLEY"
   27 PRINT INK x-INT (x/7)*7; PAPER 9;AT x,31-7-x;"PRESENTS"
   28 NEXT x
   29 FOR x=0 TO 15: BEEP .01,-20: PRINT AT 1,x; PAPER 2;" ";AT 1,31-x;" ";: NEXT x
   30 LET l=10
   31 LET z$=".......... YOUR ...........": LET x=l-2: LET y=2: GO SUB 57
   32 LET z$="2068": LET x=l: LET y=5: GO SUB 57
   33 LET z$="AT": LET y=14: GO SUB 57
   34 LET z$="WORK": LET y=20: GO SUB 57
   35 LET z$="FOR  YOU": LET x=l+2: LET y=11: GO SUB 57
   36 REM 
   37 LET z$="SPANISH TUTOR"
   38 LET p=-1+15-LEN z$/2
   39 FOR c=1 TO LEN z$
   40 LET cp=p+c
   41 FOR l=15 TO 20
   42 BEEP .007,l-10: BEEP .007,60-l
   43 PRINT AT l-1,cp;" ";
   44 INK 0: PRINT AT l,cp;z$(c);
   45 NEXT l
   46 NEXT c
   47 REM 
   48 LET z$="PRECEPTOR ESPANOL"
   49 PRINT FLASH 1; INK 1; PAPER 6;AT 1,0;TAB 31;" ";AT 1,14-LEN z$/2;z$
   50 INK 0
   51 PAUSE 300
   52 FOR x=20 TO 2 STEP -1: PRINT AT x,0;TAB 31;" ";: NEXT x
   53 PRINT AT 4,0;
   54 INK 0: PAPER 7: CLS 
   55 GO TO 100
   56 STOP 
   57 REM 
   58 FOR t=7 TO 0 STEP -1
   59 BEEP .005,t: BEEP .005,60-t: BEEP .005,30-t
   60 PRINT AT x,y; INK t-INT (t/8)*8;z$
   61 NEXT t
   62 RETURN 
  100 REM ▖▖▖▖▖▖▖▖▖▖▖▖▖▖▖▖▖▖▖▖▖▖▖
  105 REM ▖▖▖▖▖▖▖▖ \m\e\n PLAY   ▖▖▖▖▖▖▖▖
  110 REM ▖▖▖▖▖▖▖▖▖▖▖▖▖▖▖▖▖▖▖▖▖▖▖
  111 CLS 
  112 INK 0: PRINT AT 10,0;"    CHANGE TO 'CAPS LOCK'       ": PAUSE 200: CLS 
  115 CLS : FLASH 1: PRINT AT 1,8;"SPANISH TUTOR"
  120 FLASH 0: PRINT : PAPER 6: INK 0
  125 PRINT AT 3,6;"PRECEPTOR ESPANOL"
  135 PRINT AT 7,1;"1.) VERBS": PRINT AT 9,1;"2.) SUFFIXES": PRINT AT 11,1;"3.) OPPOSITES"
  140 PRINT AT 13,1;"4.) QUESTIONS": PRINT AT 15,1;"5.) PRONOUNS"
  145 FLASH 1: PRINT AT 17,1;"6.) STOP"
  150 BORDER 7: FLASH 0: INPUT INK 1;"ENTER ONE ";A
  155 IF A=1 THEN GO TO 1000
  156 IF A=2 THEN GO TO 3000
  157 IF A=3 THEN GO TO 5000
  160 IF A=4 THEN GO TO 7000
  161 IF A=5 THEN GO TO 8000
  162 IF A=6 THEN GO TO 9960
  400 PRINT ,," THE SAME AS ADDING 'FUL'"
 1000 CLS : PRINT "        VERBS"
 1020 CLS : BORDER 2: PAPER 6: INK 0
 1025 PRINT AT 1,5;"   REGULAR VERBS"
 1030 PRINT ,,"   ALL SPANISH VERBS END IN:"
 1035 PRINT ,,"  AR           ER           IR"
 1040 PRINT ,,;"EX:": PRINT ,,,," HABLAR...... TO TALK": PRINT ,," COMER....... TO EAT": PRINT ,," BEBIR....... TO DRINK"
 1045 GO SUB 9900
 1060 PAPER 0: INK 7: PRINT "           VERB MENU            "
 1061 PAPER 2: INK 0: PRINT 
 1062 PAPER 1: INK 7: PRINT ;" CONJUGATE         VERB LISTS   "
 1065 PAPER 6: INK 0: PRINT AT 6,1;"1.) AR": PRINT AT 10,1;"2.) ER": PRINT AT 14,1;"3.) IR"
 1070 PRINT AT 6,19;"4.) AR": PRINT AT 10,19;"5.) ER": PRINT AT 14,19;"6.) IR"
 1073 FLASH 1: PRINT AT 18,0;"     7.) TO RETURN TO MENU      "
 1075 INPUT INK 8;"ENTER ONE ";A$
 1080 IF A$="1" THEN GO SUB 1200
 1082 IF A$="2" THEN GO SUB 1600
 1085 IF A$="3" THEN GO SUB 2000
 1090 IF A$="4" THEN GO SUB 2700
 1093 IF A$="5" THEN GO SUB 2800
 1095 IF A$="6" THEN GO SUB 2900
 1097 IF A$="7" THEN FLASH 0: GO TO 115
 1200 REM AR VERBS
 1210 PAPER 6: INK 0
 1220 FLASH 0: CLS 
 1230 PRINT "      ENTER YOUR 'AR' VERB"
 1240 INPUT A$
 1245 CLS : PRINT AT 0,15-LEN A$/2;A$
 1250 PRINT 
 1265 LET A$=A$( TO LEN A$-2)
 1300 PRINT A$;"O","I"
 1305 PRINT A$;"AS","YOU"
 1310 PRINT A$;"A","HE       PRESENT"
 1315 PRINT A$;"AMOS","WE"
 1320 PRINT A$;"AIS","YOU"
 1325 PRINT A$;"AN","THEY"
 1395 PRINT 
 1400 PRINT A$;"E","I"
 1405 PRINT A$;"ASTE","YOU"
 1410 PRINT A$;"O","HE       PAST"
 1415 PRINT A$;"AMOS","WE"
 1420 PRINT A$;"ASTEIS","YOU"
 1425 PRINT A$;"ARON","THEY"
 1495 PRINT 
 1500 PRINT A$;"ARE","I"
 1505 PRINT A$;"ARAS","YOU"
 1510 PRINT A$;"ARA","HE       FUTURE"
 1515 PRINT A$;"AREMOS","WE"
 1520 PRINT A$;"AREIS","YOU"
 1525 PRINT A$;"ARAN","THEY"
 1550 INPUT INK 8;"DO YOU WANT A COPY? Y/N";Q$
 1560 IF Q$="Y" THEN COPY 
 1570 GO TO 115
 1600 REM ER VERBS
 1610 PAPER 6: INK 0: BORDER 1
 1620 FLASH 0: CLS 
 1630 PRINT "      ENTER YOUR 'ER' VERB"
 1640 INPUT A$
 1645 CLS : PRINT AT 0,15-LEN A$/2;A$
 1650 PRINT 
 1665 LET A$=A$( TO LEN A$-2)
 1700 PRINT A$;"O","I"
 1705 PRINT A$;"ES","YOU"
 1710 PRINT A$;"E","HE      PRESENT"
 1715 PRINT A$;"EMOS","WE"
 1720 PRINT A$;"EIS","YOU"
 1725 PRINT A$;"EN","THEY"
 1750 PRINT 
 1800 PRINT A$;"I","I"
 1805 PRINT A$;"ISTE","YOU"
 1810 PRINT A$;"IO","HE      PAST"
 1815 PRINT A$;"\iMOS","WE"
 1820 PRINT A$;"ISTEIS","YOU"
 1825 PRINT A$;"IERON","THEY"
 1850 PRINT 
 1900 PRINT A$;"ERE","I"
 1905 PRINT A$;"ERAS","YOU"
 1910 PRINT A$;"ERA","HE      FUTURE"
 1915 PRINT A$;"EREMOS","WE"
 1920 PRINT A$;"EREIS","YOU"
 1925 PRINT A$;"ERAN","THEY"
 1950 INPUT INK 8;"DO YOU WANT A COPY? Y/N";Q$
 1960 IF Q$="Y" THEN COPY : GO TO 115
 1970 GO TO 115
 2000 REM IR VERBS
 2010 PAPER 6: INK 0: BORDER 1
 2020 FLASH 0: CLS 
 2030 PRINT "      ENTER YOUR 'IR' VERB"
 2040 INPUT A$
 2045 CLS : PRINT AT 0,15-LEN A$/2;A$
 2050 PRINT 
 2065 LET A$=A$( TO LEN A$-2)
 2100 PRINT A$;"I","I"
 2105 PRINT A$;"ISTE","YOU"
 2110 PRINT A$;"IO","HE      PAST"
 2115 PRINT A$;"\iMOS","WE"
 2120 PRINT A$;"ISTEIS","YOU"
 2125 PRINT A$;"IERON","THEY"
 2150 PRINT 
 2200 PRINT A$;"IRE","I"
 2205 PRINT A$;"IRAS","YOU"
 2210 PRINT A$;"IRA","HE      FUTURE"
 2215 PRINT A$;"IREMOS","WE"
 2220 PRINT A$;"IREIS","YOU"
 2225 PRINT A$;"IRAN","THEY"
 2250 PRINT 
 2300 PRINT A$;"IRE","I"
 2305 PRINT A$;"IRAS","YOU"
 2310 PRINT A$;"IRA","HE      FUTURE"
 2315 PRINT A$;"IREMOS","WE"
 2320 PRINT A$;"IREIS","YOU"
 2325 PRINT A$;"IRAN","THEY"
 2350 INPUT INK 8;"DO YOU WANT A COPY? Y/N";Q$
 2360 IF Q$="Y" THEN COPY 
 2370 GO TO 115
 2700 REM AR LIST
 2704 FLASH 0: CLS 
 2710 PRINT ;"         'AR' VERBS"
 2720 PRINT ,,;" HABLAR","TALK"
 2721 PRINT " CERRAR","CLOSE"
 2722 PRINT " TOMAR","TAKE"," LLAMAR","KNOCK"
 2799 GO SUB 9900
 2800 REM ER LIST
 2804 FLASH 0: CLS 
 2810 PRINT ;"         'ER' VERBS"
 2811     PRINT ,," COMER","EAT"
 2899 GO SUB 9900
 2900 REM IR LIST
 2904 FLASH 0: CLS 
 2910 PRINT ;"         'IR' VERBS"
 2911 PRINT ,," BEBIR","DRINK"
 2985 GO SUB 9900
 2990 CLS : FLASH 1: PRINT AT 4,0;"        END OF VERB LISTS       "
 2995 FLASH 0: PRINT AT 12,0;" WE NOW RETURN YOU TO THE MENU": PAUSE 200: GO TO 115
 3000 CLS : PRINT "            SUFFIXES"
 3010 PRINT ,,"        'ITO' OR 'CITO'"
 3015 PRINT ,," DIMINUTIVE SUFFIXES DENOTING    LITTLE OR SMALL"
 3020 PRINT ,," LIBRITO","LITTLE BOOK",,," CASITA","LITTLE HOUSE"
 3025 PRINT ,," MUJERCITA","LITTLE WOMAN"
 3030 PRINT ,,"       'ILLO' OR 'ILLA'"
 3035 PRINT ,," DOLORCILLOS","LITTLE ACHES",,," PIEDRACILLAS","LITTLE STONES"
 3036 PAUSE 300: LET A$="              THE LITTLE HOUSE IS PRETTY......LA CASITA ES BONITA  "
 3037 GO SUB 9800
 3040 GO SUB 9900
 3045 BORDER 1: PRINT ,,"      AUGMENTETIVE ENDINGS"
 3050 PRINT ,,"        'ACHO' OR 'ACHA'"
 3055 PRINT ,," RICACHO","VERY RICH",,," TACANACHO","VERY STINGY"
 3056 PRINT ,,"           'ISIMO",,," THE ABSOLUTE SUPERLATIVE"
 3057 PRINT ,," HERMOSISIMO","MOST BEAUTIFUL",,," RICISIMO","MOST RICHEST"
 3058 PAUSE 250: LET A$="       PEDRO IS VERY RICH.......PEDRO ESTA RICACHO         ": GO SUB 9800
 3059 GO SUB 9900
 3060 PRINT ,,"      'AZO' OR 'AZA'"
 3065 PRINT ,," DENOTES BIG OR LARGE"
 3070 PRINT ,," MANAZA","LARGE HAND",,," BOCAZA","BIG MOUTH"
 3075 PRINT ,,"       'ON' OR 'ONA'"
 3080 PRINT ,," HOMBRON","BIG MAN",,," MUJERONA","BIG WOMAN"
 3085 PRINT ,,"      'OTE' OR 'OTA'"
 3090 PRINT  ,," MUCHACHOTE","BIG BOY",,," MUCHACHOTA","BIG GIRL",,," GRANDOTE","VERY BIG"
 3091 PAUSE 300: LET A$="       THE CITY IS VERY BIG.........EL CIUDAD ESTA GRANDOTE          "
 3092 GO SUB 9800
 3093 GO SUB 9900
 3095 BORDER 3: PRINT ,,"            'ADA'"
 3100 PRINT ,," THE SAME AS ADDING 'FUL'."
 3105 PRINT ,," CUCHARADA","SPOONFUL",,," PALADA", "SHOVELFUL",,," PLATADA","PLATFUL"
 3110 FLASH 1: PRINT AT 12,13;"OR"
 3115 FLASH 0: PRINT ,," MEANING A GROUP OF:"
 3120 PRINT ,," PEONADA","GROUP OF PEONS",,," INDIADA","GROUP OF INDIOS"
 3125 PAUSE 300: LET A$="         I HAVE A PLATFUL OF BEANS........TENGO UN PLATADA DE FRIJOLES        ": GO SUB 9800
 3130 GO SUB 9900
 3140 PRINT ,,"         'AL' OR 'AL'"
 3145 PRINT ,," MEANS A GROVE OR PLANTATION OF:"
 3150 PRINT ,," NARANJAL","ORANGE GROVE",,," PLATANAR","BANANA PLANT.",,," PINAR","PINE GROVE"
 3152 PAUSE 180: LET A$="        HERE IS A BANANA PLANTATION........AQUI ES UN PLATANAR        "
 3154 GO SUB 9800
 3155 GO SUB 9900
 3160 PRINT ,,"         'TAD' OR 'DAD'"
 3165 PRINT ,," TAKES THE PLACE OF 'TY'"
 3170 PRINT ,," FRATERNIDAD","FRATERNITY",,," FACULTAD","FACULTY",,," CALIDAD","QUALITY"
 3175 PRINT ,,"              'IA'"
 3180 PRINT ,," USED WITH ARTS AND SCIENCES."
 3185 PRINT ,," GEOLIGIA","GEOLOGY",,," BIOLOGIA","BIOLOGY",,," GEOMOTRIA","GEOMETRY"
 3187 PAUSE 300: LET A$="      THE QUALITY OF THE GEOLOGY DEPARTMENT IS GOOD.......LA CALIDAD DE LA DEPARTMENTO DE GEOLIGIA ESTA BUENO      ": GO SUB 9800
 3190 GO SUB 9900
 3200 BORDER 2: PRINT ,,"         'IZO' OR 'DIZO'"
 3205 PRINT ,," TENDING TO BE OR SOMEWHAT:"
 3210 PRINT ,," ROJIZO","REDDISH",,," RESBALADIZO","SLIPPERY",,," OLVIDADIZO","FORGETFUL"
 3215 PRINT ,,"              'UZCO"
 3220 PRINT ,," THE SAME AS ADDING 'ISH'"
 3225 PRINT ,," NEGRUZCO","BLACKISH",,," BLANCUZCO","WHITISH"
 3227 PAUSE 240: LET A$="       JOSEPH IS FORGETFUL........JOSE ESTA OLVIDADIZO     ": GO SUB 9800
 3230 GO SUB 9900
 3240 PRINT ,,"           'OSO'"
 3245 PRINT ,," CHARACTERIZED BY: "
 3250 PRINT ,," HERBOSO","GRASSY",,," ROCOSO","ROCKY",,," LLUVIOSO","RAINY"
 3255 FLASH 1: PRINT AT 12,13;"OR"
 3260 FLASH 0: PRINT ,," ENDING IN 'OUS'"
 3265 PRINT ,," FAMOSO","FAMOUS",,," MARVILOSO","MARVELOUS"
 3270 PAUSE 240: LET A$="       THE MONTH OF APRIL WAS RAINY......EL MES DE ABRIL FUE LLUVIOSO      ": GO SUB 9800
 3275 GO SUB 9900
 3280 PRINT ,,"            'MENTE'"
 3285 PRINT ,," ADDING 'LY'"
 3290 PRINT ,," MARVILOSOMENTE","MARVELOUSLY",,," GENEROSAMENTE","GENEROUSLY",,," CLARAMENTE","CLEARLY"
 3295 PRINT ,,"            'URA'"
 3300 PRINT ,," ADDING 'NESS'"
 3305 PRINT ,," LISURA","SMOOTHNESS",,," NEGRURA","BLACKNESS"
 3307 PAUSE 240: LET A$="      I SEE THE SMOOTHNESS OF THE ROAD CLEARLY......VISTO LA LISURA DE LA CARRATERRA CLARAMENTE       ": GO SUB 9800
 3310 GO SUB 9900
 3320 PRINT ,,"            'ON'"
 3325 PRINT ,," BEING FULL OF:"
 3330 PRINT ,," JUGETON","PLAYFUL",,," PREGUNTON","FULL OF QUESTION",," LLORON","TEARFUL"
 3340 PRINT ,,"            'UDO'"
 3345 PRINT ,," CHARACTERIZED BY HAVING:"
 3350 PRINT ,," ZANCUDO","LONG-LEGGED",,," PELUDO","HAIRY",,," PANZUDO","BIG BELLIED"
 3355 PAUSE 240: LET A$="       THE MONKEY IS VERY HAIRY AND PLAYFUL.........EL CHANGO ESTA MUY PELUDO Y JUGETON      ": GO SUB 9800
 3360 GO SUB 9900
 3370 PRINT ,,"           'ERIA'"
 3375 PRINT ,," A PLACE TO MAKE OR SELL"
 3380 PRINT ,," PANADERIA","BAKERY",,," ZAPATERIA","SHOE STORE",,," FERRETERIA","HARDWARE STORE"
 3390 FLASH 1: PRINT AT 12,13;"OR"
 3395 FLASH 0: PRINT ,," A BUSINESS"
 3400 PRINT ,," LADRILLERIA","BRICK FACTORY",,," CEMENTERIA","CEMENT FACTORY"
 3405 PAUSE 240: LET A$="       FRANK IS AT THE BAKERY........PANCHO ESTA EN LA PANADERIA      ": GO SUB 9800
 3410 GO SUB 9900
 3420 BORDER 0
 3430 PRINT ,,"            'ERO'"
 3440 PRINT ,," A PERSON WHO MAKES,SELLS OR IS  IN CHARGE OF:"
 3445 PRINT ,," PANADERO","BAKER",,," ZAPATERO","SHOE MAKER",,," COCINERO","COOK",,," CARCELERO","JAILER"
 3450 PRINT ,,"       'OR' OR 'DOR'"
 3460 PRINT ,," AN AGENT OR ONE WHO DOES:"
 3470 PRINT ,," REGULADOR","REGULATOR",,," CORREADOR","WALKER"
 3473 PAUSE 240: LET A$="           MARIO IS A GOOD COOK..........MARIO ESTA UN COCINERO BUENO      ": GO SUB 9800
 3475 GO SUB 9900
 3500 BORDER 2: PRINT ,,"     'ANDO'-'ENDO'-'IENDO'"      
 3510 PRINT ,," ADDING 'ING'"
 3520 PRINT ,," CERRANDO","CLOSING",,," DICIENDO","SAYING-TELLING",,," CREYENDO","THINKING",,," HABLANDO","TALKING",,," COMIENDO","EATING"
 3530 PRINT ,," LLORANDO","CRYING",,," TOMANDO","DRINKING"
 3540 PAUSE 300: LET A$="      I LIKE TELLING STORIES.........ME GUSTA DICIENDO HISTORIAS      ": GO SUB 9800
 3550 GO SUB 9900
 3560 FLASH 1: PRINT AT 4,0;"       END OF SUFFIXES          "
 3570 FLASH 0: PRINT AT 12,0;" WE NOW RETURN YOU TO THE MENU"
 3575 PAUSE 200
 3580 GO TO 115
 4999 STOP 
 5000 CLS : PRINT ,,"           OPPOSITES"
 5050 PRINT AT 4,0;" UP","DOWN":: PAUSE 200: OVER 0: PRINT AT 4,0;" ARRIBA","ABAJO"
 5060 PRINT AT 5,0;" LEFT","RIGHT": GO SUB 6900: PRINT AT 5,0;" IZQUIERDO","DERECHA"
 5070 PRINT AT 6,0;" FRONT","BACK": GO SUB 6900: PRINT AT 6,0;" FRENTE","ATRAS"
 5075 PRINT AT 7,0;" HAPPY","SAD": GO SUB 6900: PRINT AT 7,0;" FELICE","TRISTE"
 5080 PRINT AT 8,1;"LAUGH","CRY": GO SUB 6900: PRINT AT 8,1;"REIR ","LLORAR"
 5085 PRINT AT 9,1;"NOW","LATER": GO SUB 6900: PRINT AT 9,1;"AHORRA","DESPUES"
 5090 PRINT AT 10,1;"LONG","SHORT": GO SUB 6900: PRINT AT 10,1;"LARGO","CORTO"
 5095 PRINT AT 11,1;;"TALL","SHORT": GO SUB 6900: PRINT AT 11,1;;"ALTO","CHAPARRO"
 6000 PRINT AT 12,1;"SWEET","SOUR": GO SUB 6900: PRINT AT 12,1;"DULCE","AGRIO"
 6005 PRINT AT 13,1;"FAST","SLOW": GO SUB 6900: PRINT AT 13,1;"RAPIDO","DESPACIO"
 6010 PRINT AT 14,1;"BIG","LITTLE": GO SUB 6900: PRINT AT 14,1;"GRANDE","PEQUENO"
 6015 PRINT AT 15,1;"EXCITED","CALM": GO SUB 6900: PRINT AT 15,1;"EXCITADO","TRANQUILLO"
 6020 PRINT AT 16,1;"OVER","UNDER": GO SUB 6900: PRINT AT 16,1;"SOBRE","BAJO "
 6025 PRINT AT 17,1;"TOGETHER","APART": GO SUB 6900: PRINT AT 17,1;"JUNTOS","APARTE"
 6030 PRINT AT 18,1;"ALIVE","DEAD": GO SUB 6900: PRINT AT 18,1;"VIVO ","MUERTO"
 6035 PRINT AT 19,1;"WELL","SICK": GO SUB 6900: PRINT AT 19,1;"BIEN","ENFERMO"
 6040 PRINT AT 20,1;"SMOOTH","ROUGH": GO SUB 6900: PRINT AT 20,1;"LISO","FRAGOSO"
 6045 PAUSE 500: GO SUB 9900
 6050 PRINT AT 1,1;"INSIDE","OUTSIDE": GO SUB 6900: PRINT AT 1,1;"DENTRO DE","FUERA  "
 6055 PRINT AT 2,1;"ON (LIGHT)","OFF": GO SUB 6900: PRINT AT 2,1;"ENCENDER","APAGAR"
 6060 PRINT AT 3,1;"ON  (MACHINE)","OFF": GO SUB 6900: PRINT AT 3,1;"ANDAR","CORTADA"
 6065 PRINT AT 4,1;"TRUTH","LIE": GO SUB 6900: PRINT AT 4,1;"VERDAD","MENTIRA"
 6070 PRINT AT 5,1;"FAT","SLIM": GO SUB 6900: PRINT AT 5,1;"GORDO","DELGADO"
 6075 PRINT AT 6,1;"WIN  (GAMBLE)","LOSE": GO SUB 6900: PRINT AT 6,1;"GANAR","PERDIDA"
 6080 PRINT AT 7,1;"LOSE  (OBJECT)","FIND": GO SUB 6900: PRINT AT 7,1;"PERDER","HALLAR"
 6085 PRINT AT 8,1;"TIGHT","LOOSE": GO SUB 6900: PRINT AT 8,1;"ESTRECHO","SUELTO"
 6090 PRINT AT 9,1;"SMART","DUMB": GO SUB 6900: PRINT AT 9,1;"LISTO","TORPE"
 6095 PRINT AT 10,1;"RICH","POOR": GO SUB 6900: PRINT AT 10,1;"RICO","POBRE"
 6100 PRINT AT 11,1;"WEAK","STRONG": GO SUB 6900: PRINT AT 11,1;"DEBIL","FUERTE"
 6105 PRINT AT 12,1;"OPEN","CLOSE": GO SUB 6900: PRINT AT 12,1;"ABRIR","CERRAR"
 6110 PRINT AT 13,1;"COME","GO": GO SUB 6900: PRINT AT 13,1;"VOLVER","IR(SE)"
 6115 PRINT AT 14,1;"STAY","LEAVE": GO SUB 6900: PRINT AT 14,1;"QUEDARSE","DEJAR"
 6120 PRINT AT 15,1;"NEAR","FAR": GO SUB 6900: PRINT AT 15,1;"CERCA","LEJOS"
 6125 PRINT AT 16,1;"WINDY","CALM": GO SUB 6900: PRINT AT 16,1;"VENTOSO","CALMA"
 6130 PRINT AT 17,1;"HOT","COLD": GO SUB 6900: PRINT AT 17,1;"CALIENTE","FRIO"
 6135 PRINT AT 18,1;"WARM","COOL": GO SUB 6900: PRINT AT 18,1;"CALOR","FRESCO"
 6140 PRINT AT 19,1;"RAINY","DRY": GO SUB 6900: PRINT AT 19,1;"LLUVIOSO","ARIDO"
 6145 PRINT AT 20,1;"WET","DRY": GO SUB 6900: PRINT AT 20,1;"HUMIDO","SECO"
 6150 PAUSE 500: GO SUB 9900
 6155 PRINT AT 1,1;"QUIET","NOISY": GO SUB 6900: PRINT AT 1,1;"QUIETO","RUIDOSO"
 6160 PRINT AT 2,1;"GENEROUS","STINGY": GO SUB 6900: PRINT AT 2,1;"DADIVOSO","TACANO"
 6165 PRINT AT 3,1;"SALESMAN","CUSTOMER": GO SUB 6900: PRINT AT 3,1;"VENDEDOR","CLIENTE"
 6170 PRINT AT 4,1;"GIVE","TAKE": GO SUB 6900: PRINT AT 4,1;"DAR ","LLEVARSE"
 6175 PRINT AT 5,1;"PROFIT","LOSS": GO SUB 6900: PRINT AT 5,1;"GANANCIA","PERDIDAS"
 6180 PRINT AT 6,1;"TALK","LISTEN": GO SUB 6900: PRINT AT 6,1;"HABLAR","ESCUCHAR"
 6200 PAUSE 500: GO TO 6999
 6900 PAUSE 200: BEEP .04,5: BEEP .06,7: BEEP .04,4: OVER 0: RETURN 
 6999 GO SUB 9900
 7000 CLS : PRINT ,,"         QUESTIONS"
 7020 PRINT ,," DONDE","WHERE",,," QUANDO","WHEN"
 7030 PRINT ,," QUAL","WHICH",,," POR QUE","WHY"
 7040 PRINT ,," COMO","HOW",,," QUE","WHAT"
 7050 PRINT ,," QUIEN","WHO",,," A QUIEN","WHOM",,," DE QUIEN","WHOSE"
 7100 LET A$="      WHERE IS THE HOUSE?......DONDE ES LA CASA?     "
 7105 PAUSE 240
 7110 GO SUB 7200
 7115 PAUSE 200: LET A$="     WHEN CAN I SEE IT?.....QUANDO PUEDO VISTALO?      ": GO SUB 7200
 7120 PAUSE 200: LET A$="      WHICH IS MINE?........QUAL ES MIO?  ": GO SUB 7200
 7130 PAUSE 200: LET A$="      WHY DO YOU ASK?.......POR QUE PREGUNTAS?          ": GO SUB 7200
 7140 PAUSE 200: LET A$="      WHAT TIME IS IT?........QUE HORA ES?": GO SUB 7200
 7150 PAUSE 200: LET A$="         WHO IS THE OWNER?.......QUIEN ES EL PATRON?": GO SUB 7200
 7160 PAUSE 20: LET A$="     TO WHOM AM I TALKING?.......A QUIEN SON HABLANDO?": GO SUB 7200
 7170 PAUSE 200: LET A$="        WHOSE BOOK IS THIS?......DE QUIEN ES EL LIBRO?": GO SUB 7200
 7180 GO SUB 9900
 7190 FLASH 1: PRINT AT 7,0;"     END OF QUESTION SECTION    "
 7192 FLASH 0: LET A$="  WE NOW RETURN YOU TO THE MENU ": GO SUB 9800
 7195 GO TO 115
 7199 GO SUB 9900
 7200 REM SENTENCE EXAMPLE
 7210 LET P=LEN A$
 7220 FOR I=1 TO P
 7230 LET Z=I+29: IF Z>=P THEN LET Z=P
 7250 BEEP .005,22: PRINT AT 21,0; PAPER 0; INK 6;" ";A$(I TO Z);" "
 7260 PAUSE 10
 7270 NEXT I
 7290 RETURN 
 7300 GO SUB 9900
 8000 CLS : PRINT "            PRONOUNS"
 8999 STOP 
 9800 REM SENTENCE EXAMPLE
 9810 LET P=LEN A$
 9820 FOR I=1 TO P
 9830 LET Z=I+29: IF Z>=P THEN LET Z=P
 9850 BEEP .005,22: PRINT AT 10,0; PAPER 0; INK 6;" ";A$(I TO Z);" "
 9860 PAUSE 10
 9870 NEXT I
 9875 RETURN 
 9900 REM ENTER GOSUB
 9910 INPUT INK 8;"PRESS <ENTER> TO CONTINUE";A$
 9911 LET A$=INKEY$
 9915 IF A$<>CHR$ 13 THEN GO TO 9911
 9917 BEEP .05,2: BEEP .05,9: BEEP .05,20
 9920 CLS : RETURN 
 9940 BEEP .005,22: PRINT AT 10,0; PAPER 0; INK 5;" ";A$(I TO Z);" "
 9950 PAPER 7: INK 0: BORDER 4: LIST 
 9960 CLS : LET A$="           TU EJERCICIOS ESTA TERMINADO....MUCHAS GRACIAS Y ADIOS "
 9962 LET P=LEN A$
 9964 FOR I=1 TO P
 9966 LET Z=I+29: IF Z>=P THEN LET Z=P
 9968 BEEP .005,22: PRINT AT 10,0; PAPER 0; INK 5;" ";A$(I TO Z);" "
 9970 NEXT I
 9972 NEXT I
 9997 CLS : PRINT AT 10,0;"  TU EJERCICIOS ESTA TERMINADO": STOP 
 9998 SAVE "SPAN TUTOR" LINE 1
 9999 CLS : PRINT AT 10,6;"REWIND TO VERIFY": PAUSE 280: VERIFY "SPAN TUTOR"

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

Scroll to Top