--- title: "Bingo (The Hacker)" id: 72277 type: "computer_media" slug: "bingo-the-hacker" url: "http://localhost/computer_media/bingo-the-hacker/" markdown_url: "http://localhost/computer_media/bingo-the-hacker.md" published_at: "2026-10-23T07:47:22+00:00" modified_at: "2026-10-23T07:47:22+00:00" author: "David Anderson" featured_image: url: "http://localhost/wp-content/uploads/2026/10/bingo-3.png" excerpt: "A bingo caller that draws and announces B-I-N-G-O numbers without repeats, with options to print bingo cards and a master call sheet." 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: "TS 2068" slug: "ts2068" taxonomy: "post_tag" url: "http://localhost/tag/ts2068/" model: - name: "Timex/Sinclair 2068" slug: "ts-2068" taxonomy: "model" url: "http://localhost/model/ts-2068/" indiv: - name: "Ralph Hammer" slug: "ralph-hammer" taxonomy: "indiv" url: "http://localhost/indiv/ralph-hammer/" genre: - name: "Game" slug: "game" taxonomy: "genre" url: "http://localhost/type/game/" media_contents: - id: 72439 title: "SINCUS Exchange Tape 104" type: "computer_media" url: "http://localhost/computer_media/sincus-exchange-tape-104/" media_type: "Program" programmers: - name: "Ralph Hammer" slug: "ralph-hammer" taxonomy: "indiv" url: "http://localhost/indiv/ralph-hammer/" download_url: "https://archive.org/download/timex-sinclair-software-archive/Bingo%20-%20The%20Hacker%20%28198x%29%28Hammer%2C%20Ralph%29%28TS2068%29%28US%29%28Program%29.zip" tsrun_member: "Bingo - The Hacker (198x)(Hammer, Ralph)(TS2068)(US)(Program)/Bingo - The Hacker (198x)(Hammer, Ralph)(TS2068)(US)(Program).tap" mediadate: "198x" images: - url: "http://localhost/wp-content/uploads/2026/10/bingo-3.png" - url: "http://localhost/wp-content/uploads/2026/10/bingo-2.png" article_media: - id: 46930 title: "Program of the Month: Bingo" type: "article" url: "http://localhost/article/program-of-the-month-bingo/" related_content: - id: 39271 title: "The Hacker" type: "periodical" url: "http://localhost/periodical/the-hacker/" media_type_tags: "Game" license: false --- # Bingo (The Hacker) Runs a bingo game for “the Hammer Hutch Casino”. The caller draws the numbers 1 to 75 in random order without repeats and shows each with its letter, such as G-50, with a beep; ENTER gives the next call, N starts a new game and Q quits. A second option prints as many bingo cards as you ask for, each with five random numbers per column from the proper range (B 1–15 up to O 61–75), a FREE centre square and an asterisk frame. A third prints a master call sheet listing all 75 numbers under their letters, for marking off calls. The REM in line 1 reads “BINGO ‘The HACKER’ by RALPH HAMMER for Full Size Printer”. *The Hacker* was the newsletter of the Timex/Sinclair User Group of Las Vegas, and it ran Bingo as its Program of the Month in September 1991. ## Program Analysis ### Structure - Lines 1–10: colours and the option menu, dispatched with a computed `GO TO`. - Lines 20–85: the caller. `y$(75)` marks numbers already drawn with an asterisk. - Lines 90–225: card printing, one row at a time, with subroutines 300 and 400 for the ruled lines. - Lines 500–525: the menu shown after printing. Lines 600–620: the welcome screen. Lines 700–820: the master call sheet. ## Notable Techniques - Line 10 picks the routine with `GO TO 20*(z=1)+90*(z=2)+700*(z=3)+85*(z=4)`, using the true/false values of the comparisons as 1 and 0. - The letter for a number comes from `l$(INT (r/15+.95))` with `l$="BINGO"`. - Each card column draws from `INT (RND*15+(z-1)*15+1)` and rejects repeats through the same `y$` marker array. ## Potential Issues - Line 800 reads `LPRINT 7` where `PAPER 7` was evidently meant, so a stray 7 is printed after the master call sheet. - An option number outside 1–4 at the first menu computes `GO TO 0` and restarts from the top. - The card and call-sheet options need a printer; only the caller works without one. This program came from an Oliger (JLO SAFE) disk and was converted to load from tape. Line 3’s Oliger printer setup (`LET /p=o` and `POKE 23324,10`) was removed and the `SAVE /` in line 900 became a plain `SAVE`. It was tested in ZEsarUX. ## Source Code ``` 1 REM BINGO 'The HACKER' by RALPH HAMMER for Full Size Printer 2 BORDER 1: PAPER 6: INK 0 3 CLS : CLS 4 GO TO 600 6 PRINT AT 2,3;"Welcome to the Bingo Parlor";AT 3,6;"Here are your options";AT 6,4;" 1 - PLAY BINGO";AT 8,4;" 2 - PRINT OUT BINGO CARDS";AT 10,4;" 3 - MASTER CALL SHEET";AT 12,4;" 4 - STOP";AT 20,1;"Enter Option Number (1-4):" 8 INPUT z: CLS 10 GO TO 20*(z=1)+90*(z=2)+700*(z=3)+85*(z=4) 20 RANDOMIZE 25 DIM y$(75) 30 LET l$="BINGO" 35 BORDER 3: PAPER 7: CLS : CLS : PRINT AT 2,10;"Bingo Caller";AT 8,6;" CALLING: ";AT 12,6;"Press ENTER for next call";AT 16,3;" N for New Game";AT 18,3;" Q to Quit" 40 FOR z=1 TO 75 50 LET r=INT (RND*75)+1 55 IF y$(r)="*" THEN GO TO 50 60 PAUSE 80: PRINT AT 8,17;" ";l$(INT (r/15+.95));"-";r;: BEEP .2,4 65 LET y$(r)="*" 70 IF INKEY$="" THEN GO TO 70 72 IF INKEY$="N" OR INKEY$="n" THEN CLS : GO TO 6 74 IF INKEY$="Q" OR INKEY$="q" THEN PAUSE 200: CLS : STOP 76 PRINT AT 8,18;" " 80 NEXT z 85 CLS : STOP 90 PRINT AT 11,1;"HOW MANY CARDS DO YOU WANT?"; 95 INPUT cards: PRINT AT 11,30;cards: PAUSE 80 100 FOR x=1 TO cards 102 LPRINT "--------------------------------" 103 LPRINT ,,,, 105 LPRINT : LPRINT " THE HAMMER HUTCH CASINO": LPRINT : LPRINT " * B * I * N * G * O *" 110 DIM y$(75) 115 DIM a(5) 120 GO SUB 300 125 FOR y=1 TO 5 130 GO SUB 400 135 FOR z=1 TO 5 140 LET a(z)=INT (RND*15+(z-1)*15+1) 145 IF y$(a(z))="*" THEN GO TO 140 150 LET y$(a(z))="*" 155 NEXT z 160 IF y=3 THEN LET a(3)=0 165 LPRINT TAB 3;"*";TAB 5;a(1);TAB 8;"*";TAB 10;a(2);TAB 13;"*"; 170 IF y=3 THEN LPRINT TAB 14;"FREE"; 175 IF y<>3 THEN LPRINT TAB 15;a(3); 180 LPRINT TAB 18;"*";TAB 20;a(4);TAB 23;"*";TAB 25;a(5);TAB 28;"*" 185 GO SUB 400 190 GO SUB 300 195 NEXT y 200 FOR z=1 TO 5 205 LPRINT ,, 210 NEXT z 215 NEXT x 220 CLS 225 GO TO 500 300 LPRINT " **************************" 305 RETURN 400 LPRINT " * * * * * * " 405 RETURN 500 PRINT AT 4,4;"Choose your next Option:";AT 7,6;" 1 - More Cards";AT 9,6;" 2 - Play BINGO";AT 11,6;" 3 - Master Calling Sheet";AT 13,6;" 4 - STOP";AT 20,1;"Enter Option Number (1-4):" 505 INPUT q$: PRINT AT 20,28;q$ 510 IF q$="1" THEN CLS : GO TO 90 515 IF q$="2" THEN PAUSE 80: CLS : GO TO 20 520 IF q$="3" THEN CLS : GO TO 700 525 IF q$="4" THEN CLS : STOP 600 PRINT AT 4,8;"WELCOME TO THE" 605 FLASH 1: PRINT AT 6,8;" HAMMER HUTCH ";AT 7,8;" CASINO ": FLASH 0 610 PRINT AT 12,0;"COME IN AND SIT IN ONE OF OUR COMFORTABLE CHAIRS IN OUR BINGO PARLOR. PRINT OUT A COUPLE OF CARDS, GRAB A PEN OR PENCIL, AND HAVE SOME FUN." 615 PRINT AT 20,2; INVERSE 1;" Press Any Key to Continue. " 620 PAUSE 0: CLS : GO TO 6 700 BORDER 0: PAPER 7: INK 0 705 CLS : CLS 706 PRINT AT 10,1;"Master Call Sheet now printing" 708 PRINT ,,,,,, 710 LPRINT "MASTER CALL SHEET" 715 LPRINT "--------------------------------" 720 LPRINT "B" 722 LPRINT "1 2 3 4 5 6 7 8" 724 LPRINT "9 10 11 12 13 14 15" 726 LPRINT "I" 728 LPRINT "16 17 18 19 20 21 22 23" 730 LPRINT "24 25 26 27 28 29 30" 732 LPRINT "N" 734 LPRINT "31 32 33 34 35 36 37 38" 736 LPRINT "39 40 41 42 43 44 45" 738 LPRINT "G" 740 LPRINT "46 47 48 49 50 51 52 53" 742 LPRINT "54 55 56 57 58 59 60" 744 LPRINT "O" 746 LPRINT "61 62 63 64 65 66 67 68" 748 LPRINT "69 70 71 72 73 74 75" 750 LPRINT "--------------------------------" 755 LPRINT ,,,,,,,, 800 BORDER 0: LPRINT 7: INK 0 810 CLS : CLS 820 GO TO 6 900 SAVE "BINGOfsp" LINE 1: BEEP .75,12: BEEP .47,8 999 STOP ```