Six short BASIC programs written by Phillip Kwitkowski on his Larken-equipped TS2068 in 1995–1996, gathered onto one tape behind a menu loader. Translator looks up a word in Spanish or English and prints the translation. Color Pictures draws colored stars, concentric circles and stripes. Sounds and its later rewrite Sound Effects play an explosion, a whistling bomb and gunfire on the AY sound chip. Flag draws the US flag and plays a short phrase, and Music, written with Sally Kwitkowski, plays tunes with BEEP while the border flashes.
The on-screen and REM credits read “PHIL KWITKOWSKI 1995” (Translator), “color graphics by Phil Kwitkowski”, “s o u n d s by Phil Kwitkowski”, “by Phillip Kwitkowski” (Sound Effects) and “MUSIC BY PHIL & SALLY KWITKOWSKI ©1996”. Flag carries no credit but comes from the same disk. Bob Swoger profiled Phillip in “Meet Phillip Kwitkowski” in 1996.
Program Analysis
Menu loader
The tape starts with a menu listing the six programs. Pressing 1–6 loads that program by name from further along the tape. Each program then runs on its own, as it did on the disk.
Translator (TRANSL.B1)
After choosing S (Spanish–English) or E (English–Spanish), the program asks for a word and READs pairs from a DATA table until one matches, then prints both words letter-spaced on one line. The vocabulary holds 91 English/Spanish pairs, running alphabetically from “a” to about “bathing suit”, with a few extra words such as “yes” and “year” added. PAUSE 0 waits for a key, then the program restarts and RESTOREs the data.
Color Pictures (GRAFIX.B1)
A menu offers stars, circles, stripes and a back-up copy. The stars are made by PLOT and DRAW 20,20,500: an arc of 500 radians spins round many times into a star-like knot, one in each ink color along a diagonal. The circles are concentric CIRCLEs in changing inks. The stripes print rows of + characters on each PAPER color while the border steps through the colors. The back-up option saves the program to tape as “COLORED PICTURES”.
Sounds (SOUNDS.B1) and Sound Effects (Sounds.B2)
Both use the TS2068 SOUND command to program the AY chip directly. The explosion sets the noise period and the envelope shape and length on registers 6–13. The whistling bomb sweeps the channel A pitch register from 50 upward in a FOR loop. The gunfire repeats a short noise burst with PAUSE 10 between shots. Sound Effects is the later version: it has more shots in the burst, includes channel B in the explosion, and ends the whistling bomb with an explosion. Sounds keeps a back-up-to-tape option.
Flag (flag.B1)
Two UDGs are defined from DATA, each a small half-cell square, for the star field. The stripes are printed as red and white PAPER cells, the blue canton is filled, and the UDGs are printed in white ink to make the stars. A 12-note phrase is then played with BEEP from DATA pairs of duration and pitch.
Music (Music.B1)
Lines 2 and 3 give each note name a variable holding its semitone offset from middle C: c=0, cc=1 (C sharp), d=2 … hc=12 for the C above, and lb=−1 down to llc=−24 for the octaves below. The tunes are then written in DATA as duration/note pairs such as 1,f,1,g. GO TO VAL a$*100 jumps to the chosen tune. Each tune reads pairs until the end marker 1e3, playing BEEP a/5,b and setting a random BORDER color for each note.
Notable Techniques
- Note names stored as numeric variables so that music
DATAcan be written as1,c,1,f,1,g. - Direct AY register programming with the TS2068
SOUNDstatement for noise-based effects. DRAW x,y,anglewith a very large angle to produce star patterns from a single arc.- Calculated menu dispatch with
GO TO VAL a$*100.
Potential Issues
- Music: choice 2 (“Memory”) jumps to line 200, which does not exist, so it plays the same tune as choice 3 (line 300).
- Music: the fourth tune has no
1e3end marker, so it stops with “E Out of DATA” after playing. An empty or non-numeric menu entry stops the program with an error atVAL. - Translator: there is no not-found check, so a word that is not in the list runs off the end of the
DATAwith “Out of DATA”. Typingsat the word prompt jumps to the author’s SAVE line. - Color Pictures: the circle loops close in the wrong order (
NEXT ibeforeNEXT j). The concentric circles appear anyway, through the loop quirk. Each picture returns straight to the menu, which clears the screen as soon as the drawing finishes.
The programs came from two Larken disks (Translator from one, the rest from Phillip Kwitkowski’s own disk) and were converted for tape: the RANDOMIZE USR 100 disk prefixes and LOGICALL loads were removed, and the disk choice was dropped from the back-up menus, which now offer tape only. The menu loader was added. Each program was tested in ZEsarUX.
Source Code
1 REM PROGAM--"TRANSLATOR" COPPYWRITE PHIL KWITKOWSKI 1995 *
5 CLS
6 RESTORE
7 POKE 23658,0
8 PRINT " ": PRINT AT 2,0;" T R A N S L A T O R ": PRINT AT 3,0;" "
10 PRINT AT 19,0;"(S)panish-English or (E)nglish-Spanish? "
20 INPUT Q$
25 CLS
26 IF Q$="q" THEN GO TO 9998
30 IF Q$(1)="S" OR Q$="s" THEN GO TO 2E3
40 IF Q$(1)="E" OR Q$="e" THEN GO TO 5E3
50 GO TO 10
2000 INPUT "SPANISH WORD ? ";Q$;
2005 IF Q$="s" THEN GO TO 9992
2010 READ A$,B$
2020 IF B$=Q$ THEN GO TO 4E3
2030 GO TO 2010
4010 PRINT AT 10,0;
4020 FOR i=1 TO LEN Q$
4030 PRINT Q$(i);" ";
4040 NEXT i
4050 PRINT " = ";
4060 FOR i=1 TO LEN A$
4070 PRINT A$(i);" ";
4080 NEXT i
4090 PAUSE 0
4100 GO TO 1
5000 INPUT "ENGLISH WORD ? ";Q$;
5005 IF Q$="s" THEN GO TO 9992
5010 READ A$,B$
5020 IF A$=Q$ THEN GO TO 7E3
5030 GO TO 5010
7010 PRINT AT 10,0;
7020 FOR i=1 TO LEN Q$
7030 PRINT Q$(i);" ";
7040 NEXT i
7050 PRINT " = ";
7060 FOR i=1 TO LEN B$
7070 PRINT B$(i);" ";
7080 NEXT i
7090 PAUSE 0
7100 GO TO 1
8010 FOR i=1 TO LEN Q$
9000 DATA "yes","si","a","un,una","able","sobre","absent-minded","distraido","absurd","absurdo","accident","accidente","according to","segun","act","actuar","active","activo","activity","actividad","acquainted","conocer","adjective","adjetivo","admire","admirar","adults","mayores","adventure","aventura","adverb","adverbio","advertisement","anuncio","advice","consejos","advisor","aconsejar recomendar","affection","carino","affirmative","afirmativo","afraid","tener miedo","after","despues","afternoon","tarde","again","de nuevo","against","contra","agree","acuerdo","agreeable","agradable","air","aire","air condition","aire acondicionado","alertness","presencia","all","todo"
9010 DATA "almost","casi","alone","solo","along","llevarse","already","ya","also","tambien","although","aunque","always","siempre","american","americano","amuse","divertir","amusing","divertido","an","un","and","y","angel","angel","angry","enojado","annoy","molestar","another","otro","answer","respuesta","antique","antiguo","anything","algo","apartment","apartamentos","apple","manzana","approach","acercarse","arm","brazo","armchair","sillon","around","alrededor","arrival","llegada","arrive","llegar","article","articulo","artistic","artistico","as","como","ashamed","tener verguenza","ask","pedir","asleep","dormirse","aspect","aspecto","at","a","athletic","deportista","attentive","atento"
9020 DATA "aunt","tia","automobile","automovil","awful","que malo","back","detras","backpack","mochila","bad","malo","badly","mal","bakery","panaderia","ball","pelota","ban","prohibicion","banana","banana","bank","banco","basement","sotano","basketball","basquetbol","bath","bano","bathing suit","traje de bano","to be","ser","year","anos","member","pertenecer","afraid","miedo","fault","culpa","careful","cuidado"
9989 STOP
9992 RANDOMIZE USR 100: SAVE "TRANSL.B1" LINE 1Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.





