Episode 11 – The PowerBASIC Card
Play:
Download: 11 – The PowerBASIC Card
Box Scans
Card Scans
Other Images
Compiling the program that generated the “Have you played Atari today?” interlude music:
Manual
Atari_Portfolio_PowerBASIC_Manual_1991
Screen Shots
Editing tune program with the Portfolio’s built-in editor;
Compiling the tune program:
Trying to run the tune program from a card without the runtime installed to the card:
Compiling “Guess My Number” program I ported from the many other implementations I’ve done:
Goops, a syntax error encountered:
Running “Guess My Number”, game 1:
Running “Guess My Number”, game 2:
Truchet Tiles program:
Source Code
Guess My Number
REM Declare & Init Vars SINPT$="":SZERO$="00000":SGNUM$="" STEMP$="":SGUESS$="" GSNUM%=1:IGUESS%=0 REM Generate Random Number ISEED%=VAL(MID$(TIME$,4,2)+MID$(TIME$,7,2)) RANDOMIZE ISEED% MYNUM%=INT(RND*100)+1 REM Setup Screen CLS PRINT "-[Number Guess, PowerBASIC, V1]--------" PRINT "My number is between 1 and 100." PRINT "What is it?" REM Main Guess Loop DO WHILE IGUESS%<>MYNUM% REM Create 0 padded guess number STEMP$=STR$(GSNUM%) STEMP$=RIGHT$(STEMP$,LEN(STEMP$)-1) SGSNUM$=RIGHT$(SZERO$+STEMP$,5) REM Display Guess & Get Input PRINT "Guess #";SGSNUM$; INPUT "?",SINPT$ REM Convert input to value IGUESS%=VAL(SINPT$) REM Check Value IF IGUESS%>MYNUM% THEN PRINT "Sorry, too high!" ELSEIF IGUESS%<MYNUM% THEN PRINT "Sorry, too low." ELSE PRINT "You guessed it!" GOTO GMEND END IF REM Increase guess count & repeat GSNUM%=GSNUM%+1 LOOP REM Exit GMEND: PRINT "Thanks for playing."
Truchet Tiles
' ----------------------------------------------- ' Program....: TruchPB.BAS ' Description: Truchet Tiles ' ----------------------------------------------- TSTART: CLS:SCREEN 0 T%=3:D%=1:X%=229:Y%=50 ? "Truchet Tiles, PowerBASIC, V 1.0":? "" ? "Choose Pattern Type:" ? " 1 - Predefined X" ? " 2 - Random" ? " 3 - Quit" INPUT T% IF T%=3 THEN SCREEN 0:END ' ' --- DRAW TILES TDRAW: SCREEN 1 ON T% GOSUB TPREDEF,TRANDOM WHILE INKEY$<>"":WEND WHILE INKEY$="":WEND GOTO TSTART ' ' --- PREDEF PATTERN X TPREDEF: FOR R=2 TO Y% STEP 12:FOR C=0 TO X% STEP 12 IF D%=5 THEN D%=1:RESTORE TDATA READ V%:GOSUB TDOTILE NEXT C D%=D%+1 NEXT R RETURN ' ' --- RANDOM PATTERN TRANDOM: FOR R=2 TO Y% STEP 12:FOR C=0 TO X% STEP 12 GOSUB TGETRAND NEXT C NEXT R RETURN ' ' --- GET RANDOM NUMBER TGETRAND: ISEED%=VAL(MID$(TIME$,4,2)+MID$(TIME$,7,2)) RANDOMIZE ISEED% V%=INT(RND MOD 2) TDOTILE: ON V%+1 GOTO TTILE0,TTILE1 ' ' --- PLOT V=0 TTILE0: LINE (C+5,R) - (C+5,R+2):LINE (C+5,R+2) - (C+2,R+5):LINE (C+2,R+5) - (C,R+5) LINE (C+6,R) - (C+6,R+2):LINE (C+6,R+2) - (C+2,R+6):LINE (C+2,R+6) - (C,R+6) LINE (C+11,R+5) - (C+9,R+5):LINE (C+9,R+5) - (C+5,R+9):LINE (C+5,R+9) - (C+5,R+11) LINE (C+11,R+6) - (C+9,R+6):LINE (C+9,R+6) - (C+6,R+9):LINE (C+6,R+9) - (C+6,R+11) RETURN ' ' --- PLOT V=1 TTILE1: LINE (C+5,R) - (C+5,R+2):LINE (C+5,R+2) - (C+9,R+6):LINE (C+9,R+6) - (C+11,R+6) LINE (C+6,R) - (C+6,R+2):LINE (C+6,R+2) - (C+9,R+5):LINE (C+9,R+5) - (C+11,R+5) LINE (C,R+5) - (C+2,R+5):LINE (C+2,R+5) - (C+6,R+9):LINE (C+6,R+9) - (C+6,R+11) LINE (C,R+6) - (C+2,R+6):LINE (C+2,R+6) - (C+5,R+9):LINE (C+5,R+9) - (C+5,R+11) RETURN ' ' --- PREDEF PATTERN DATA TDATA: DATA 1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0 DATA 0,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0 DATA 1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1 DATA 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
Atari Tune
tone 12,21 for i=1 to 2:next i tone 12,21 for i=1 to 2:next i tone 12,21 for i=1 to 2:next i tone 12,21 for i=1 to 2:next i tone 15,21 tone 14,36 tone 12,21 tone 10,85
Links
Wiki: https://en.wikipedia.org/wiki/Atari_Portfolio
BoxCat Map Theme: http://freemusicarchive.org/music/BoxCat_Games/Nameless_the_Hackers_RPG_Soundtrack/BoxCat_Games_-_Nameless-_the_Hackers_RPG_Soundtrack_-_17_Map_Theme