He crafted a few different scenes, where for each one, he set it to loop back and forth between two frames -- and the implied motion was fantastically realistic for the resolution and fps he was working with...
https://www.hpcalc.org/details/911
All hail RPN!
this was such an amazing way to learn programming
But discovering z80 assembly was like magic. It was incredibly exciting to go to my dad's office at the university where he worked (where computers had 2 T1 internet lines) to download and try assembly games when they first burst on the scene (I was in 8th grade). Bill Nagel blew my mind with Turbo Breakout and Snake, and later AShell, Penguins, and grayscale Mario... but the best executed and most replayable games I think were Sqrxz and ZTetris on the TI-86 by Jimmy Mardell. Honorable mention to Galaxian and Falldown. I once downloaded the z80 assembly source for a game, printed it to about an inch of paper, and carried it around for weeks trying to understand it...
It was also really cool for some reason (and would often brick the calculator until you took the batteries out) to type random hex pairs into a program and execute it as assembly. "C063" run as assembly - syntax was the random looking Send(9PrgmA where PrgmA is where you typed the hex code - on a TI-83 would scroll tons of random text in an infinite loop.
Does anyone remember the TI website wars? TI Files (later TI Philes) was "so much more awesome" than "the lowly weak ticalc.org"... but look which one is still around :-)
I'm so happy to see this pop up here! :)
I spent most of my 9th grade making a stick figure clone of Street Fighter, using TI-BASIC and graphing functions.
Eventually I switched to coding with pencil and paper because the calculator screen can only show you 8 lines at a time. No idea how I made something that could support 2 players playing on the same calculator, all with GOTOs and LABELs.
My favorite optimization of all time was turning their heads into hexagons instead of circles since drawing 6 lines was so much faster.
MirageOS was the iPhone Home Screen of that time.
I loved programming my TI-81 my freshman year of high school. Having a programmable computer on my person-- even one as weak as the '81-- was so cool. I made a bunch of crappy games and graphical "demos", but being that the '81 didn't have a link cable I couldn't pass them around.
I got my '85 my freshman year of college but, by that time, I had a laptop and was much less interested in programming a calculator. I ended up misplacing my '85 in a move. Now that my daughter is old enough to appreciate it I wish I still had it.
now there's a name that inspired awe in my 12 year old mind.
i didn't know at first how he was able to make those incredible games, only understanding TI Basic myself. mindblowing stuff.
I feel vindicated by the rise of AI. Soon nobody else will know how to do anything without a small computer either.
In 9th grade, I wrote programs to solve specific kinds of algebra problems while showing the step-by-step "work" on screen. I remember realizing a critical bug in the code during an exam, which surprised me because it worked perfectly for all the homework and study questions.
I ended up spending more time trying to fix it than working on the test! I now realize that it was my first experience with a P1 production bug. In a way, it was my math teacher's fault for not providing sufficient acceptance criteria. I was supposed to learn about polynomials, but I (also) ended up learning about edge cases.
Also, I'm glad this website is still up :-)
I'm still amazed they cost as much now, as they did 30 years ago, but if you just realize you're buying a license for decent computer algebra system (CAS), at least in the ti-85/89/etc models, it kinda makes sense.
I also remember being concerned about teachers finding “Drug Wars” on my calculator.
take this game for ti-89: https://gist.githubusercontent.com/mattmanning/1002653/raw/b... 10eaae3bd5298b8b2c86e16fb4404/drugwars.txt
and make a single page web app in one single html/css/js file where it draws the ti-89 on the screen and you play the game in that calculator
---
It came up with this in one single shot:
(Obligatory XKCD: https://xkcd.com/768/)
I found it! It was called Texas Fighters: https://youtu.be/zZIqFJHe3yU?is=sVowojfWws9uwwRl
Lbl G ClrHome Disp " J.M.'S DRUGWAR"," SIMULATION",""," VERSION 2.00",""," JUST SAY NO." 2000→Z 5000→Y 0→V 100→K 1→B 2→N 0→I 0→J 100→T 0→M 0→N 0→O 0→P 0→Q 0→R Pause ClrHome Disp "","ORIGINAL GAME","FOR IBM BY:"," JOHN E. DELL","" Disp "INSTRUCTIONS?" Input "(1=YES,2=NO)",X If X=1 Then ClrHome Disp "THIS IS A GAME","OF BUYING AND","SELLING. YOUR","GOAL IS TO PAY-","OFF YOUR DEBT TO","THE LOAN SHARK,","AND THEN MAKE AS" Pause ClrHome Disp "MUCH MONEY AS","POSSIBLE IN A 1","MONTH PERIOD.","WATCH-OUT FOR","THE POLICE IF","YOU DEAL TOO","HEAVILY!" Pause ClrHome Disp "PRICES FOR DRUGS","ARE:","COCAINE:","15000-28000","HEROINE:","5000-12000","ACID: 1000-4200" Pause Disp "WEED: 300-720","SPEED: 70-220","LUDES: 10-50" Pause ClrHome Disp "GENERALY, TYPE","THE FIRST LETTER","OF WHAT YOU WANT","TO DO, I.E.:","W=WEED, L=LUDES","ETC..." Pause Disp "BUT, 1=YES AND","2=NO" Pause ClrHome Disp "THE LAST NUMBER","IN THE PRICES","LIST IS YOUR","WALLET. THE LAST","NUMBER IN YOUR","TRENCHCOAT IS","FREE SPACE." Pause End Lbl θ round(rand*12000+16000,0)→C round(rand*7000+5000,0)→H round(rand*34+10,0)*100→A round(rand*42+33,0)*10→W round(rand*15+7,0)*10→S round(rand*4+1,0)*10→L round(rand*20,0)→D If D=1 Then ClrHome Disp "RIVAL DEALERS","ARE SELLING","CHEAP LUDES!!!" Pause 2→L End If D=2 Then ClrHome Disp "WEED PRICES HAVE","BOTTOMED-OUT!!!" Pause 122→W End If D=3 Then ClrHome Disp "PIGS ARE SELLING","CHEAP HEROINE","FROM LAST WEEK'S","RAID!!!!" Pause rand→H (850+(H*1150))→H (int(H)→H End If D=4 or D=5 Then ClrHome Disp "ADDICTS ARE","BUYING HEROINE","AT OUTRAGEOUS","PRICES!!!" Pause rand→H (18000+(H*25000))→H (int(H)→H End If D=6 or D=7 Then ClrHome Disp "PIGS MADE A BIG","COKE BUST!","PRICES ARE","OUTRAGEOUS!!!!" Pause rand→C (80000+(C*60000))→C (int(C)→C End If D=8 Then ClrHome Disp "YOU WERE MUGGED","IN THE SUBWAY!" Pause (Z/3)→Z (int(Z)→Z (Z*2)→Z End If D=15 and Zù300 Then ClrHome Disp "WILL YOU BUY A","NEW TRENCHCOAT","WITH MORE","POCKETS FOR 200","BUCKS?" Input X If X=1 Then (T+10)→T (T-M-N-O-P-Q-R)→K (Z-200)→Z End End If D=14 Then ClrHome Disp "THERE'S SOME","WEED HERE THAT","SMELLS LIKE GOOD","STUFF!!" Pause Disp "WILL YOU SMOKE" Input "IT?",X If X=1 Then ClrHome Disp "YOU HALLUCINATE","ON THE WILDEST","TRIP OF YOUR","LIFE," Pause Disp "STUMBLE ON TO","THE SUBWAY","TRACKS AND GET","CREAMED BY A","TRAIN." Pause ClrHome Disp "JUST SAY NO TO","DRUGS." Pause Goto C End End If Zù500 and Kù5 Then If D=12 or D=13 Then ClrHome Disp "WILL YOU BUY A" round(rand*2,0)→X If X=0 Disp "BARRETTA" If X=1 Disp "SATURDAY NIGHT","SPECIAL" If X=2 Disp ".44 MAGNUM" Disp "FOR 400 DOLLARS?" Input X If X=1 Then (I+1)→I (Z-400)→Z (T-5)→T (T-M-N-O-P-Q-R)→K End End End If D=16 and Kù8 Then int((rand*7+1)→F ClrHome Disp "YOU FOUND:",F,"UNITS OF:" int((rand*5)→X If X=0 Then Disp " LUDES" (R+F)→R End If X=1 Then Disp " SPEED" (Q+F)→Q End If X=2 Then Disp " WEED" (P+F)→P End If X=3 Then Disp " ACID" (O+F)→O End If X=4 Then Disp " HEROINE" (N+F)→N End If X=5 Then Disp " COCAINE" (M+F)→M End Disp "ON A DEAD DUDE","IN THE SUBWAY!!!" (T-M-N-O-P-Q-R)→K Pause Goto A End If D=17 Then ClrHome Disp "THE MARKET HAS","BEEN FLOODED","WITH CHEAP HOME-","MADE ACID!!!!" int((250+(rand*550))→A Pause Goto A End If D=9 or D=10 or D=11 Then If (M+N+O+P+Q+R)ù50 Then ClrHome If D=9 1→D If D=10 3→D If D=11 4→D Disp "OFFICER HARDASS","AND",D,"OF HIS DEPPUTIES","ARE AFTER YOU!" Pause ClrHome Lbl M Menu("BEING CHASED!!","VIEW GUNS",H,"VIEW DAMMAGE",I,"NUMBER OF PIGS",J,"RUN",K,"FIGHT",L) Lbl H ClrHome Disp "NUMBER OF GUNS","YOU HAVE:" Disp I Pause Goto M Lbl I ClrHome Disp "YOUR DAMMAGE=" Disp J Disp "(50 DAMMAGE AND","YOU DIE!)" Pause Goto M Lbl J ClrHome Disp "THERE ARE:" (D+1)→D Disp D (D-1)→D Disp "PIGS STILL","CHASING YOU!" Pause Goto M Lbl K ClrHome Disp "","","",""," RUNNING" round(rand*1,0)→X If X=0 Then ClrHome Disp "YOU LOST THEM IN","AN ALLEY!!" Pause If B=31 Then Goto A Else Goto θ End End If X=1 Then ClrHome Disp "YOU CAN'T SHAKE","THEM!" Pause Goto O End Lbl L If I=0 Then ClrHome Disp "YOU DON'T HAVE","ANY GUNS!" Pause Disp "YOU HAVE TO RUN!" Pause Goto M Else round(rand*1,0)→X If X=0 Then ClrHome Disp "YOU MISSED!!!" Pause Else ClrHome Disp "YOU KILLED ONE!!" Pause (D-1)→D If D=(ú1) Goto N End Lbl O round(rand*1,0)→X ClrHome Disp "THEY'RE FIRING","AT YOU!!" If X=0 Then Disp "THEY MISSED!!" Pause Goto M Else Disp "YOU'VE BEEN HIT!" (J+3)→J Pause If Jù50 Then Disp "YOU'VE BEEN ","KILLED!!" Pause Goto C End Goto M End Lbl N ClrHome Disp "YOU KILLED ALL","OF THEM!" int((rand*1250+750)→X (Z+X)→Z Pause Disp "YOU FOUND" Disp X Disp "DOLLARS ON","OFFICER HARDASS'","CARCASS!!" Pause If Zù1200 Then ClrHome Disp "WILL YOU PAY","1000 DOLLARS FOR","A DOCTOR TO SEW","YOU UP?" Input X If X=1 Then (Z-1000)→Z 0→J End End End End End Lbl A ClrHome Menu("DRUGWAR!","SEE PRICES",1,"TRENCHCOAT",2,"BUY",3,"SELL",4,"JET",5,"SEE LOAN SHARK",6,"VISIT BANK",7) Lbl 1 ClrHome Disp C,H,A,W,S,L,Z Output(1,1,"COCAINE") Output(2,1,"HEROINE") Output(3,1,"ACID") Output(4,1,"WEED") Output(5,1,"SPEED") Output(6,1,"LUDES") Output(7,1,"WALLET") Pause Goto A Lbl 2 ClrHome Disp M,N,O,P,Q,R,K Output(1,1,"COCAINE") Output(2,1,"HEROINE") Output(3,1,"ACID") Output(4,1,"WEED") Output(5,1,"SPEED") Output(6,1,"LUDES") Output(7,1,"FREE SPACE") Pause Goto A Lbl 3 ClrHome Disp "DAY NUMBER:",B Input "WHAT TO BUY?",F If FøC and FøH and FøA and FøW and FøS and FøL Goto 3 int((Z/F)→E Disp "HOW MUCH?","YOU CAN AFFORD:",E,"YOU CAN HOLD:",K Input G If G>K or G<0 or G>E Goto 3 (Z-(FG))→Z If F=C (M+G)→M If F=H (N+G)→N If F=A (O+G)→O If F=W (P+G)→P If F=S (Q+G)→Q If F=L (R+G)→R (T-M-N-O-P-Q-R)→K Goto A Lbl 4 ClrHome Disp "DAY NUMBER:",B Input "WHAT TO SELL?",F If FøC and FøH and FøA and FøW and FøS and FøL Goto 4 If F=C M→E If F=H N→E If F=A O→E If F=W P→E If F=S Q→E If F=L R→E Disp "HOW MUCH?","YOU HAVE:",E Input G If G>E or G<0 Goto 4 If F=C (M-G)→M If F=H (N-G)→N If F=A (O-G)→O If F=W (P-G)→P If F=S (Q-G)→Q If F=L (R-G)→R (Z+FG)→Z (T-M-N-O-P-Q-R)→K Goto A Lbl 5 ClrHome Menu("WHERE TO, DUDE?","BRONX",R,"GHETTO",B,"CENTRAL PARK",B,"MANHATTEN",B,"CONEY ISLAND",B,"BROOKLYN",B,"OOPS... STAY!",A) Lbl R If N=2 Then ClrHome Disp "YOU'RE ALREADY","IN THE BRONX!" Pause Goto 5 End 2→N Goto S Lbl B 1→N Lbl S ClrHome Disp "","","",""," SUBWAY" (B+1)→B int((Y*1.1)→Y int((V*1.06)→V If B=31 Goto C Goto θ Lbl 6 If N=1 Then ClrHome Disp "THE LOAN SHARK","ONLY DEALS IN","THE BRONX." Pause Goto A End ClrHome Menu("LOAN SHARK...","REPAY",P,"BORROW",Q) Lbl P ClrHome Disp "YOU'RE DEBT IS:",Y,"YOUR WALLET=",Z,"REPAY HOW MUCH?" Input F If F>Z or F<0 or F>Y Goto 6 (Y-F)→Y (Z-F)→Z Goto A Lbl Q ClrHome Disp "YOUR DEBT=",Y,"YOUR WALLET=",Z,"BORROW HOW MUCH" Input "MORE?",F If F>5000 Then ClrHome Disp "YOU THINK HE'S","CRAZY, MAN?!" Pause Goto Q End If F<0 Goto 6 (Y+F)→Y (Z+F)→Z Goto A Lbl 7 If N=1 Then ClrHome Disp "THE BANK IS IN","THE BRONX." Pause Goto A End Menu(" BANK ","VIEW ACCOUNT",D,"DEPOSIT",E,"WITHDRAW",F,"GOODBYE",A) Lbl D ClrHome Disp "YOUR ACCOUNT=",V Pause Goto 7 Lbl E ClrHome Disp "HOW MUCH TO","DEPOSIT?","YOU HAVE:",Z Input G If G>Z or G<0 Goto E (V+G)→V (Z-G)→Z Goto 7 Lbl F ClrHome Disp "HOW MUCH TO","WITHDRAW?","ACCOUNT=",V Input X If X>V or X<0 Goto F (V-X)→V (Z+X)→Z Goto 7 Lbl C ClrHome Disp " GAME OVER!" (V+Z-Y)→V If V<0 Then 0→V Else (√(V/31.5)→V If V>100 100→V End round(V,0)→V Disp "YOUR SCORE (ON A","SCALE OF 1 TO","100)=",V,"" Pause Input "PLAY AGAIN?",V If V=1 Goto G ClrHome Disp " THANKS FOR"," PLAYING!" Pause ClrHome Disp "","","REMEMBER:","","WATCH YOUR BACK." Pause Disp "","HAVE A NICE DAY!"