Jump to content

Photo

My first created TI-99/4A computer program, what's yours?


22 replies to this topic

#1 globeron OFFLINE  

globeron

    Dragonstomper

  • 748 posts

Posted Sat Aug 4, 2018 2:58 PM

This was my first TI-99/4A computer program and published in May '89 in TIjdingen no. 44 

(the local magazine of the TI-GG-NL - The Dutch TI group  (The Netherlands). The magazine

is still active and new ones are coming out!

 

"Wiskundig Inzicht" means "Mathematical Insight"

 

At "Wilt U nog een keer" = "Do you want to try again?"

then press  "J" = Ja  (for Yes)

 

Here is the disk

* Extended Basic

* OLD DSK1.WISKUNDE

 

* Instructions are in Dutch language, just ignore it. The goal is to complete the patterns.

(also my first try to give it a 3D look and feel)

 

Attached File  WISKUNDE.dsk   180KB   5 downloads

 

Attached File  Wiskunde.jpg   21.3KB   7 downloads

 

Attached File  TIjdingen44.jpg   116.42KB   6 downloads


Edited by globeron, Sat Aug 4, 2018 3:17 PM.


#2 Airshack OFFLINE  

Airshack

    Dragonstomper

  • 846 posts
  • Location:Phoenix, AZ

Posted Sat Aug 4, 2018 6:01 PM

My first is actually on the TI Gamebase. It was published as shareware of sorts (by a mail order house in Tulsa,OK) way back in 80-81? The name is “Helocopter Rescue,” which I misspelled. It’s a port of the Odyssey2 game which is properly spelled. BASIC only, pre-XB, on an original chicklet keyboard 99/4.


Sent from my iPhone using Tapatalk Pro

#3 digdugnate ONLINE  

digdugnate

    Stargunner

  • 1,911 posts

Posted Sat Aug 4, 2018 6:04 PM

i have a program listing on a disk from my grandfather- i'll try to dig it up soon.  i think i was prolly like 6 or 7.



#4 mizapf OFFLINE  

mizapf

    River Patroller

  • 3,398 posts
  • Location:Germany

Posted Sat Aug 4, 2018 6:31 PM

My first (paid) article in a computer magazine, at the age of 17: Even if you don't know German you will quickly see what it is intended to do. It is the first step to what finally became SPEECODER.

Attached Files



#5 Vorticon OFFLINE  

Vorticon

    River Patroller

  • 3,389 posts
  • Location:Eagan, MN, USA

Posted Sat Aug 4, 2018 9:08 PM

TI Puck back in 1981 at the tender age of 16. I did not have XB at the time and it was hand written on paper. I found my original listing decades later (sadly I had lost most of my other early programs) and retyped it and properly saved it to disk and it found its way eventually to the TI Gameshelf :)

 

Attached File  PUCK2.gif   8.25KB   5 downloads



#6 JB OFFLINE  

JB

    Quadrunner

  • 9,243 posts
  • With Stereo-Of-The-Art-Sound

Posted Sat Aug 4, 2018 10:05 PM

I was... about ten. And wrote a little Extended BASIC program that asked the user to input their name, then used CALL SPEECH to cuss them out.
... And then I got sent to my room for cussing. My insistence that I said nothing fell on deaf ears.

#7 InsaneMultitasker OFFLINE  

InsaneMultitasker

    River Patroller

  • 2,278 posts

Posted Sun Aug 5, 2018 11:30 AM

One of the first programs I remember writing on my own was an end of term project for my Geometry class in high school. My teacher had a TI and a cassette recorder at home and was receptive to my using the TI to demonstrate some of the knowledge learned that semester.  I feel like that program took me forever to finish.



#8 matthew180 OFFLINE  

matthew180

    River Patroller

  • 2,544 posts
  • Location:Castaic, California

Posted Sun Aug 5, 2018 7:46 PM

Technically the first program I ever wrote was in a computer store, the 99/4A display had instructions for a program that was something like this (you filled in your own name):

10 CALL CLEAR
20 PRINT "HELLO MATTHEW!"
30 GOTO 20

The first program I wrote on my own were some programs to help me do my math homework, finding the area of geometric polygons.  I'm sure it took me longer to write the program than to have just done the homework.  I was 12 or 13.

 

Once I got a little better I tried writing my own game called "BrickMan".  You were a brick-layer and the object was to fill in an area of a building with bricks.  There as a thief who would come and steal bricks at random and that would cause a cascade of bricks to fall down to fill the hole.  If you got caught in the cascade you would die.  Since I did not know anything about a game-loop or how to make things happen at the same time, once a thief stole a brick and the cascade started, you could not move and were doomed to die.  I never finished and I lost the code.

 

I was also obsessed with TRON lightcycles (hence the avatar), and wrote many versions of the game.  But since I still did not know anything about game-loops, it was always unsatisfactory game play since one player would also get to move before the other, and thus had an advantage and could always win.

 

Mazes were a fascination for me too, but in XB they were so slow.  Once I started learning assembly, full screen maze generation was basically instant and I wrote a program that allowed you to move around the maze.  I ultimately expanded it to 4x4 *screens* (128x96 tiles) and scrolled when you bumped the edges.  That program I still have, and it is really embarrassing to look at the code! :-)



#9 jonecool OFFLINE  

jonecool

    Chopper Commander

  • 130 posts
  • Location:Harvest, AL

Posted Mon Aug 6, 2018 8:26 PM

My first game I ever created and released publicly was "Tunnels of Zod".  It was a platform game that was eerily similar to an Indiana Jones.  It had a whopping 3 levels.  I published it in Computer Shopper magazine (classifieds) and sold a total of one copy.  I was happy because that covered my expenses to post the ad.  I was about 16-17 at the time.  It was for XBasic and had the xbasic copy scheme enabled and sold on cassette.  I've since lost my original copy of the game, so I guess that makes it one of the rarest known TI 99/4a games ever released?  I dunno, but the alternative is to have never released a game and never sold a copy :D


Edited by jonecool, Mon Aug 6, 2018 8:27 PM.


#10 Tursi ONLINE  

Tursi

    Quadrunner

  • 5,323 posts
  • HarmlessLion
  • Location:BUR

Posted Mon Aug 6, 2018 10:05 PM

I'm jealous of all you guys who got to publish your programs. :) Most of my early BASIC stuff got lost, twice, to moves... the only thing I ever put out there was Super Space Acer, which sold exactly one copy that I can confirm. ;) By the time I was at that point, there were no magazines to get listings into.



#11 Retrospect OFFLINE  

Retrospect

    Stargunner

  • 1,102 posts
  • Location:Wakefield, England

Posted Tue Aug 7, 2018 9:02 AM

The first TI program I made, was later in life, as I didn't program when I was a kid as such.  It was called "Gauntlet of Death" and was an Extended Basic game, in fact it was the first game I posted here, around 2010 or so ... it had you as an evil-otto lookalike going round rooms collecting treasure, there was traps laid that were invisible but you could light them all up for a limited time by collecting torches.  It was awful.  



#12 Arnuphis OFFLINE  

Arnuphis

    Moonsweeper

  • 350 posts
  • Loading...Please Wait
  • Location:Sacramento, California

Posted Tue Aug 7, 2018 9:58 AM

I wrote a Pac-Man clone in TI Basic. It was horrible and slow. When you moved everything slowed down and when you stopped the ghosts sped up. I sold a few copies on tape at a local computer show. It was 1983 and I was young. I wrote a few others and a bunch of text adventures which were somewhat decent. To my knowledge no copies exist. I sold my TI in 1984 to buy a bass guitar and the buyer got all the tapes with all my programs on them. Probably taped Dire Straits over them. Who knows?



#13 adamantyr OFFLINE  

adamantyr

    Stargunner

  • 1,363 posts

Posted Tue Aug 7, 2018 10:25 AM

The first program I definitely wrote myself was a simple BASIC game called "Zone Runner". I apparently didn't have it on any disks, but I may have it on cassette at home somewhere...

 

It was clearly inspired by Lode Runner, as you had a white player, a red enemy, and blue bricks on a black background. It generated a maze in a hash way, just random HCHAR and VCHAR and your guy had a blaster he could use to clear the 4 cardinal blocks around him so he could move around to collect treasures. The enemy could move freely through walls (phasing) and had a pretty direct chase routine so if he got close you were pretty much a goner.

 

I did, however, find a game written by my friend and fellow TI-owner at the time, Joe Hammer, a scrolling BASIC game called "Battlefield":

10 CALL CLEAR
20 AIR=0
30 TANK=0
40 RANDOMIZE
50 PP=1
60 PRINT "WHAT IS YOUR NAME"
70 INPUT Z$
80 CALL CHAR(136,"0000FF42FF424242")
90 CALL COLOR(14,7,2)
100 CALL SCREEN(6)
110 PP=1
120 INPUT " TANK(T) OR JET(J)? ":A$
130 IF A$="T" THEN 170
140 PP=PP+1
150 CALL CHAR(99,"000000FE7C283810")
160 GOTO 270
170 GOTO 390
180 GF=INT(5*RND)+1
190 IF GF<>3 THEN 260
200 FOR UI=1 TO 30 STEP 8
210 NEXT UI
220 FOR P=1 TO 4
230 RANDOMIZE
240 CALL HCHAR(23,28*RND+2,136)
250 NEXT P
260 RETURN
270 F=12
280 GOTO 380
290 FOR VOL=1 TO 30 STEP 10
300 F=12
310 CALL SOUND(-1000,-7,VOL)
320 CALL SCREEN(INT(VOL/2.5)+1)
330 F=19-F
340 CALL COLOR(9,F,1)
350 NEXT VOL
360 CALL COLOR(9,7,1)
370 RETURN
380 IF PP=2 THEN 400
390 CALL CHAR(99,"7F7F7F7F7F490808")
400 CALL CHAR(100,"447C54100A2E3F7F")
410 KILL=0
420 DUDE=0
430 CALL CHAR(101,"00080C1E1E3E3F7F")
440 CALL CHAR(104,"00181818183C3C00")
450 CALL CHAR(120,"FFFFFFFFFFFFFFFF")
460 CALL CHAR(128,"00FF00FF00FF00FF")
470 CALL COLOR(9,5,1)
480 CALL COLOR(10,16,1)
490 CALL COLOR(11,9,1)
500 CALL COLOR(12,2,1)
510 CALL COLOR(13,9,2)
520 CALL CLEAR
530 CALL SCREEN(15)
540 PRINT
550 PRINT TAB(6);"c B A T T L E F I E L D c"
560 FOR T=1 TO 6
570 PRINT
580 NEXT T
590 PRINT "STEER WITH THE < AND > KEYS"
600 PRINT
610 PRINT TAB(6);"OR USE JOYSTICKS"
620 FOR T=1 TO 5
630 PRINT
640 NEXT T
650 FOR I=110 TO 120 STEP .5
660 CALL SOUND(-150,I,2)
670 NEXT I
680 FOR I=120 TO 110 STEP-.3
690 CALL SOUND(-150,I,2)
700 NEXT I
710 FOR T=110 TO 120 STEP .8
720 CALL SOUND(-75,T,2)
730 NEXT T
740 GOSUB 290
750 CALL SCREEN(15)
760 CALL COLOR(9,5,1)
770 FOR T=1 TO 250
780 NEXT T
790 CALL CLEAR
800 CALL COLOR(9,8,2)
810 OSKILL=1
820 PRINT TAB(2);"ENTER YOUR SKILL LEVEL..."
830 FOR T=1 TO 3
840 PRINT
850 NEXT T
860 PRINT TAB(4);"ENTER :"
870 PRINT
880 PRINT
890 PRINT TAB(8);"1 FOR NOVICE"
900 PRINT
910 PRINT TAB(8);"2 FOR PRO"
920 PRINT
930 PRINT TAB(8);"3 FOR EXPERT"
940 PRINT
950 PRINT TAB(8);"4 FOR PERFECT"
960 PRINT
970 PRINT
980 PRINT
990 CALL KEY(1,K,S)
1000 RANDOMIZE
1010 IF S=0 THEN 990
1020 IF K<>18 THEN 1050
1030 SKILL=OSKILL
1040 GOTO 1070
1050 SKILL=-(K=19)-(K=7)*2-(K=8)*3-(K=9)*4
1060 IF SKILL=0 THEN 990
1070 OSKILL=SKILL
1080 PRINT "  HOW MANY PEOPLE DO YOU          WANT TO SAVE"
1090 INPUT AS
1100 IF AS>250 THEN 2590
1110 IF AS<25 THEN 1140
1120 PRINT "  THINK AGAIN QUICKSILVER"
1130 GOTO 1080
1140 PRINT
1150 PRINT TAB(8);"HERE WE GO!!!"
1160 PRINT
1170 PRINT
1180 FOR T=1 TO 400
1190 NEXT T
1200 CALL CLEAR
1210 CALL SCREEN(2)
1220 I=.1
1230 IF(SKILL<>2)*(SKILL<>4)THEN 1250
1240 I=.2
1250 N=24
1260 J=0
1270 OLDN=24
1280 B$="xxxxxxxx"
1290 FOR C=1 TO 4
1300 PRINT TAB(18);"h";B$;"h"
1310 NEXT C
1320 FOR Q=1 TO 900
1330 FOR C=9 TO 6 STEP-1
1340 IF C<>9 THEN 1360
1350 B$="xxxxxxxx"
1360 FOR A=0 TO 6.25 STEP I
1370 GOSUB 2230
1380 GOSUB 180
1390 GOSUB 2400
1400 Y=COS(A)
1410 J=J+1
1420 PRINT TAB(8*Y+10);"h";B$;"h"
1430 IF(RND>.5)+(SKILL=1)+(SKILL=2)THEN 1530
1440 IF J<25 THEN 1530
1450 GOSUB 2230
1460 GOSUB 180
1470 GOSUB 1490
1480 GOTO 1530
1490 FOR T=1 TO 3
1500 CALL HCHAR(23,28*RND+2,128)
1510 NEXT T
1520 RETURN
1530 CALL GCHAR(20,N,G)
1540 CALL HCHAR(19,OLDN,120)
1550 IF(G=128)THEN 1810
1560 GOSUB 2480
1570 IF G=153 THEN 2380
1580 CALL HCHAR(20,N,99)
1590 OLDN=N
1600 CALL KEY(0,K,S)
1610 IF S<>0 THEN 1630
1620 CALL JOYST(1,XR,YR)
1630 N=N+(K=44)-(K=46)+XR/4
1640 NEXT A
1650 B$=SEG$(B$,1,C-2)
1660 FOR D=110 TO 129-C STEP .5
1670 CALL SOUND(-150,D,2)
1680 NEXT D
1690 NEXT C
1700 NEXT Q
1710 CALL CLEAR
1720 CALL SCREEN(11)
1730 PRINT TAB(5);"YOU MADE IT ";Z$
1740 FOR T=1 TO 10
1750 PRINT
1760 NEXT T
1770 CALL SOUND(2000,175,1,220,1,247,1)
1780 CALL SOUND(2000,349,1,440,1,494,1)
1790 CALL SOUND(2000,698,1,880,1,988,1)
1800 GOTO 1900
1810 CALL HCHAR(20-1,N,101)
1820 CALL HCHAR(20,N,100)
1830 GOSUB 290
1840 CALL SCREEN(3)
1850 FOR T=1 TO 500
1860 NEXT T
1870 CALL CLEAR
1880 CALL COLOR(9,8,2)
1890 GOTO 1930
1900 FOR I=1 TO 500
1910 NEXT I
1920 CALL CLEAR
1930 CALL SCREEN(15)
1940 GOOD=J*10*SKILL+(1000*KILL)
1950 PRINT TAB(6);"YOUR SCORE IS";GOOD
1960 IF GOOD<1500 THEN 2620
1970 IF GOOD<3500 THEN 2640
1980 IF GOOD<7000 THEN 2660
1990 IF GOOD<11000 THEN 2690
2000 IF GOOD<18000 THEN 2720
2010 IF GOOD>18000 THEN 2750
2020 FOR T=1 TO 5
2030 PRINT
2040 NEXT T
2050 GOSUB 2780
2060 PRINT TAB(8);"? PLAY AGAIN ?"
2070 PRINT
2080 PRINT
2090 PRINT TAB(4);"<FIRE BUTTON> OR <S>"
2100 PRINT TAB(8);"-FOR SAME LEVEL"
2110 DUDE=0
2120 KILL=0
2130 PRINT
2140 PRINT TAB(4);"<C> -CHANGE LEVEL"
2150 PRINT
2160 PRINT TAB(4);"<E> -TO END PROGRAM"
2170 CALL KEY(1,K,S)
2180 IF S=0 THEN 2170
2190 IF(K=18)+(K=2)THEN 1200
2200 IF(K<>5)*(K<>14)THEN 2170
2210 IF K=14 THEN 790
2220 END
2230 FF=INT(2*RND)+1
2240 CALL COLOR(16,9,1)
2250 CALL CHAR(152,"000000FEFFFE")
2260 CALL CHAR(153,"1899FF363C3C2424")
2270 IF FF=2 THEN 2290
2280 RETURN
2290 HH=INT(26*RND)+1
2300 REM  *FIRE* 
2310 CALL SOUND(15,-5,2)
2320 CALL HCHAR(23,HH,153)
2330 RETURN
2340 CALL SOUND(200,220,2,440,2,880,2)
2350 KILL=KILL+1
2360 IF KILL=AS THEN 1710
2370 RETURN
2380 GOSUB 2340
2390 GOTO 1580
2400 DUDE=DUDE+1
2410 IF DUDE>19 THEN 2430
2420 RETURN
2430 YOU=INT(2*RND)+1
2440 IF YOU=1 THEN 2460
2450 RETURN
2460 GOSUB 1490
2470 RETURN
2480 IF PP=2 THEN 2520
2490 IF G=136 THEN 1810
2500 IF G=104 THEN 2550
2510 GOTO 2580
2520 IF G=104 THEN 1810
2530 IF G=136 THEN 2550
2540 GOTO 2580
2550 FOR T=1 TO 30 STEP 6
2560 CALL SOUND(1,-5,T)
2570 NEXT T
2580 RETURN
2590 PRINT " WE HAVE A JOKER ON OUR          HANDS, NIETHER            TANKS NOR JETS CAN           GO THAT FAST"
2600 PRINT "           MERLIN!  "
2610 GOTO 1120
2620 PRINT "  BETTER LUCK NEXT TIME              GRANNY!"
2630 GOTO 2020
2640 PRINT "  O.K. DUDE ,CLEAN UP        YOUR ACT ,OR WE WONT       BE SEEIN' MUCHMORE OF         YOU AROUND"
2650 GOTO 2020
2660 PRINT "  GOOD WORK BUT ,YOU           COULD DO BETTER"
2670 TANK=TANK+1
2680 GOTO 2020
2690 PRINT "  GREAT WORK                 YOUR LOOKIN' GOOD"
2700 TANK=TANK+2
2710 GOTO 2020
2720 PRINT "  YOUR LOOKIN' BETTER ALL      THE TIME. I COMMEND        YOU ON A MISSION                WELL DONE"
2730 TANK=TANK+3
2740 GOTO 2020
2750 PRINT " GREAT JOB!I COULDN'T OF     DONE BETTER IN 1,000,000              YEARS!"
2760 TANK=TANK+4
2770 GOTO 2020
2780 IF TANK=0 THEN 2880
2790 IF TANK=1 THEN 2900
2800 IF TANK=2 THEN 2920
2810 IF TANK=3 THEN 2940
2820 IF TANK=4 THEN 2960
2830 IF TANK=5 THEN 2980
2840 IF TANK=6 THEN 3000
2850 IF TANK=7 THEN 3020
2860 IF TANK=8 THEN 3040
2870 IF TANK>8 THEN 3060
2880 PRINT " RANK:ROOKIE"
2890 RETURN
2900 PRINT " RANK:PRIVATE"
2910 RETURN
2920 PRINT " RANK:CORPORAL"
2930 RETURN
2940 PRINT " RANK:SEARGEANT"
2950 RETURN
2960 PRINT " RANK:LIEUTENANT"
2970 RETURN
2980 PRINT " RANK:CAPTAIN"
2990 RETURN
3000 PRINT " RANK:MAJOR"
3010 RETURN
3020 PRINT " RANK:COLONAL"
3030 RETURN
3040 PRINT " RANK:GENERAL"
3050 RETURN
3060 PRINT " RANK:FILTHY RICH GENERAL    RETIRED AND GLAD OF IT"
3070 FOR T=1 TO 4
3080 FOR F=1 TO 16
3090 CALL SCREEN(F)
3100 NEXT F
3110 NEXT T
3120 CALL SOUND(700,196,1,247,1,294,1)
3130 CALL SOUND(700,220,1,262,1,330,1)
3140 CALL SOUND(700,247,1,294,1,349,1)
3150 CALL SOUND(700,220,1,262,1,330,1)
3160 CALL SOUND(700,196,1,247,1,294,1)
3170 CALL SCREEN(12)
3180 FOR T=1 TO 1000
3190 NEXT T
3200 END


#14 RXB OFFLINE  

RXB

    River Patroller

  • 3,367 posts
  • Location:Vancouver, Washington, USA

Posted Tue Aug 7, 2018 11:49 AM

Mine was WINDYXB a Assembly Language Support like TML and others.

Originally a Mini Memory TI Basic support I demoed at a P.U.N.N. meeting in 1986, and later next year in 1987 for XB.

No reviews in Micropenduim, but I did get a listing of what it was and could do.

 

First RXB version 5.55 (Rich GRAM KRACKER Extended Basic) review is in Micropendium July 1993 Titled: "Supercharging Extended Basic"

Proud to say review was:

Performance......................A

Ease of Use.......................A

Documentation...................A

Value..................................A

Final Grade........................A

 

Been a long road since that time....\



#15 mizapf OFFLINE  

mizapf

    River Patroller

  • 3,398 posts
  • Location:Germany

Posted Tue Aug 7, 2018 1:11 PM

My really very first program was, of course, written in TI BASIC, at the age of 12, but I don't remember. It may have been saved to a cassette, but I did not keep them once I had a disk drive.

 

I do remember that I started with typing in the programs from the Blue Manual, then from the Green Manual. But only four months later I had Extended Basic, and a lot more to type in. I seem to remember that the first programs had to do with conversions between units, but it is difficult to say which ones I typed them in from a manual, and which ones I wrote on my own.

 

My first assembly language project was a prime number finder, attached below.

Attached Files



#16 arcadeshopper ONLINE  

arcadeshopper

    River Patroller

  • 3,837 posts
  • Location:Portland, Oregon USA

Posted Tue Aug 7, 2018 1:29 PM

my first program was a dnd character generator.. saved it on cassette..  i had a friend who was "loaned" a 4/a from his neighbor, we'd go over there after school to do homework and I would learn basic on the TI instead of doing homework icon_smile.gif later I got my own .. and have a few other programs i wrote on casette.. those I have.. will dig them out

 

Greg



#17 adamantyr OFFLINE  

adamantyr

    Stargunner

  • 1,363 posts

Posted Tue Aug 7, 2018 9:47 PM

I found Zone Runner! And wow... I literally wrote it 30 years ago.

100 REM  *************** 
110 REM  *             * 
120 REM  * ZONE RUNNER * 
130 REM  *             * 
140 REM  *************** 
150 REM  
160 REM   COPYRIGHT 1988  
170 REM   BY ADAM HAASE  
180 REM   
190 REM   
200 REM  
210 CALL CLEAR
220 PRINT TAB(4);"Z O N E  R U N N E R"
230 PRINT: : : :
240 PRINT "USE THE JOYSTICK TO MOVE": :
250 PRINT "THEN RUNNER AROUND.": :
260 PRINT "PICK UP ALL THE CARGO.": :
270 PRINT "PRESS FIRE BUTTON TO BLAST.": :
280 PRINT "WATCH FOR THE SENTRY!!!": : :
290 PRINT "  PRESS ANY KEY TO BEGIN"
300 CALL KEY(0,K,S)
310 IF S=0 THEN 300
320 CALL CLEAR
330 CALL SCREEN(2)
340 DEF O=INT(RND*22)+2
350 DEF P=INT(RND*29)+2
360 CALL CHAR(96,"0000103854102828")
370 CALL CHAR(97,"000000103810")
380 CALL CHAR(104,"10107C101038387C")
390 CALL CHAR(112,"AA55AA55AA55AA55")
400 CALL COLOR(9,16,1)
410 CALL COLOR(10,7,1)
420 CALL COLOR(11,5,1)
430 CALL HCHAR(1,1,112,32)
440 CALL HCHAR(24,1,112,32)
450 CALL VCHAR(1,1,112,24)
460 CALL VCHAR(1,32,112,24)
470 FOR I=1 TO 35
480 RANDOMIZE
490 CALL HCHAR(O,P,112,8)
500 CALL VCHAR(O,P,112,8)
510 NEXT I
520 FOR I=1 TO 120
530 RANDOMIZE
540 CALL VCHAR(O,P,97)
550 NEXT I
560 A=INT(RND*22)+2
570 B=INT(RND*29)+2
580 CALL GCHAR(A,B,G)
590 IF G<>32 THEN 560
600 CALL VCHAR(A,B,104)
610 D=32
620 R=12
630 C=16
640 L=0
650 OR=12
660 OC=16
670 DIR=1
680 F1=R
690 F2=C
700 CALL VCHAR(R,C,96)
710 CALL KEY(3,K,S)
720 IF K=80 THEN 1680
730 CALL JOYST(1,X,Y)
740 CALL KEY(1,K,S)
750 IF K=18 THEN 1020
760 IF X=4 THEN 810
770 IF X=-4 THEN 830
780 IF Y=4 THEN 850
790 IF Y=-4 THEN 870
800 GOTO 1210
810 C=C+1
820 GOTO 880
830 C=C-1
840 GOTO 880
850 R=R-1
860 GOTO 880
870 R=R+1
880 CALL GCHAR(R,C,G)
890 IF G=112 THEN 1430
900 IF G=97 THEN 1470
910 IF G=104 THEN 1510
920 CALL VCHAR(OR,OC,32)
930 OR=R
940 OC=C
950 CALL VCHAR(R,C,96)
960 CALL CHAR(96,"0000103854102808")
970 CALL SOUND(5,300,0)
980 CALL CHAR(96,"0000103854102820")
990 CALL SOUND(5,300,0)
1000 CALL CHAR(96,"0000103854102828")
1010 GOTO 1210
1020 IF(R<3)+(R>22)+(C<3)+(C>30)THEN 710
1030 CALL CHAR(96,"0000107C10102828")
1040 FOR I=1 TO 4
1050 CALL SOUND(100,-5,0)
1060 NEXT I
1070 CALL GCHAR(R-1,C,G)
1080 IF G<>112 THEN 1100
1090 CALL VCHAR(R-1,C,32)
1100 CALL GCHAR(R,C+1,G)
1110 IF G<>112 THEN 1130
1120 CALL VCHAR(R,C+1,32)
1130 CALL GCHAR(R+1,C,G)
1140 IF G<>112 THEN 1180
1150 CALL VCHAR(R+1,C,32)
1160 CALL GCHAR(R,C-1,G)
1170 IF G<>112 THEN 1200
1180 CALL VCHAR(R,C-1,32)
1190 CALL CHAR(96,"0000103854102828")
1200 GOTO 760
1210 CALL VCHAR(A,B,D)
1220 RANDOMIZE
1230 Q=INT(RND*10)+1
1240 IF Q>5 THEN 1320
1250 J=INT(RND*3)-1
1260 K=INT(RND*3)-1
1270 A=A+J
1280 B=B+K
1290 M=A
1300 N=B
1310 GOTO 1340
1320 M=A-SGN(A-R)
1330 N=B-SGN(B-C)
1340 IF(M<2)+(M>23)THEN 1220
1350 IF(N<2)+(N>31)THEN 1220
1360 CALL GCHAR(M,N,G)
1370 IF G=96 THEN 1510
1380 A=M
1390 B=N
1400 D=G
1410 CALL VCHAR(A,B,104)
1420 GOTO 710
1430 CALL SOUND(-60,110,0)
1440 R=OR
1450 C=OC
1460 GOTO 950
1470 CALL SOUND(-60,700,0)
1480 L=L+1
1490 IF L=30 THEN 1600
1500 GOTO 920
1510 CALL CLEAR
1520 CALL SOUND(1000,110,0)
1530 CALL SCREEN(4)
1540 PRINT TAB(4);"THE SENTRY GOT YOU!": : : :
1550 PRINT TAB(9);"YOU GOT ";L
1560 PRINT TAB(6);"PIECES OF CARGO.": : : : :
1570 INPUT "TRY AGAIN? (Y/N) ":A$
1580 IF(A$="Y")+(A$="y")THEN 320 ELSE 1590
1590 END
1600 CALL CLEAR
1610 CALL SCREEN(4)
1620 CALL SOUND(400,262,0)
1630 CALL SOUND(400,330,0)
1640 CALL SOUND(400,392,0)
1650 CALL SOUND(400,523,0)
1660 PRINT TAB(8);"YOU DID IT!!": : : : : :
1670 GOTO 1550
1680 CALL COLOR(11,7,1)
1690 CALL KEY(0,K,S)
1700 IF S=0 THEN 1680
1710 CALL COLOR(11,5,1)
1720 GOTO 710



#18 LASooner OFFLINE  

LASooner

    Moonsweeper

  • 301 posts

Posted Thu Aug 9, 2018 2:16 AM

I don't know if this is the first program, but it was really early on after I got my TI, a birthday card for my grandfather in 1983

 

APlL1ti.jpg



#19 globeron OFFLINE  

globeron

    Dragonstomper

  • Topic Starter
  • 748 posts

Posted Sat Aug 11, 2018 7:36 PM

 

I found Zone Runner! And wow... I literally wrote it 30 years ago.

100 REM  *************** 
110 REM  *             * 
120 REM  * ZONE RUNNER * 
130 REM  *             * 
140 REM  *************** 
150 REM  
160 REM   COPYRIGHT 1988  
170 REM   BY ADAM HAASE  
180 REM   
190 REM   
200 REM  
210 CALL CLEAR
220 PRINT TAB(4);"Z O N E  R U N N E R"
230 PRINT: : : :
240 PRINT "USE THE JOYSTICK TO MOVE": :
250 PRINT "THEN RUNNER AROUND.": :
260 PRINT "PICK UP ALL THE CARGO.": :
270 PRINT "PRESS FIRE BUTTON TO BLAST.": :
280 PRINT "WATCH FOR THE SENTRY!!!": : :
290 PRINT "  PRESS ANY KEY TO BEGIN"
300 CALL KEY(0,K,S)
310 IF S=0 THEN 300
320 CALL CLEAR
330 CALL SCREEN(2)
340 DEF O=INT(RND*22)+2
350 DEF P=INT(RND*29)+2
360 CALL CHAR(96,"0000103854102828")
370 CALL CHAR(97,"000000103810")
380 CALL CHAR(104,"10107C101038387C")
390 CALL CHAR(112,"AA55AA55AA55AA55")
400 CALL COLOR(9,16,1)
410 CALL COLOR(10,7,1)
420 CALL COLOR(11,5,1)
430 CALL HCHAR(1,1,112,32)
440 CALL HCHAR(24,1,112,32)
450 CALL VCHAR(1,1,112,24)
460 CALL VCHAR(1,32,112,24)
470 FOR I=1 TO 35
480 RANDOMIZE
490 CALL HCHAR(O,P,112,8)
500 CALL VCHAR(O,P,112,8)
510 NEXT I
520 FOR I=1 TO 120
530 RANDOMIZE
540 CALL VCHAR(O,P,97)
550 NEXT I
560 A=INT(RND*22)+2
570 B=INT(RND*29)+2
580 CALL GCHAR(A,B,G)
590 IF G<>32 THEN 560
600 CALL VCHAR(A,B,104)
610 D=32
620 R=12
630 C=16
640 L=0
650 OR=12
660 OC=16
670 DIR=1
680 F1=R
690 F2=C
700 CALL VCHAR(R,C,96)
710 CALL KEY(3,K,S)
720 IF K=80 THEN 1680
730 CALL JOYST(1,X,Y)
740 CALL KEY(1,K,S)
750 IF K=18 THEN 1020
760 IF X=4 THEN 810
770 IF X=-4 THEN 830
780 IF Y=4 THEN 850
790 IF Y=-4 THEN 870
800 GOTO 1210
810 C=C+1
820 GOTO 880
830 C=C-1
840 GOTO 880
850 R=R-1
860 GOTO 880
870 R=R+1
880 CALL GCHAR(R,C,G)
890 IF G=112 THEN 1430
900 IF G=97 THEN 1470
910 IF G=104 THEN 1510
920 CALL VCHAR(OR,OC,32)
930 OR=R
940 OC=C
950 CALL VCHAR(R,C,96)
960 CALL CHAR(96,"0000103854102808")
970 CALL SOUND(5,300,0)
980 CALL CHAR(96,"0000103854102820")
990 CALL SOUND(5,300,0)
1000 CALL CHAR(96,"0000103854102828")
1010 GOTO 1210
1020 IF(R<3)+(R>22)+(C<3)+(C>30)THEN 710
1030 CALL CHAR(96,"0000107C10102828")
1040 FOR I=1 TO 4
1050 CALL SOUND(100,-5,0)
1060 NEXT I
1070 CALL GCHAR(R-1,C,G)
1080 IF G<>112 THEN 1100
1090 CALL VCHAR(R-1,C,32)
1100 CALL GCHAR(R,C+1,G)
1110 IF G<>112 THEN 1130
1120 CALL VCHAR(R,C+1,32)
1130 CALL GCHAR(R+1,C,G)
1140 IF G<>112 THEN 1180
1150 CALL VCHAR(R+1,C,32)
1160 CALL GCHAR(R,C-1,G)
1170 IF G<>112 THEN 1200
1180 CALL VCHAR(R,C-1,32)
1190 CALL CHAR(96,"0000103854102828")
1200 GOTO 760
1210 CALL VCHAR(A,B,D)
1220 RANDOMIZE
1230 Q=INT(RND*10)+1
1240 IF Q>5 THEN 1320
1250 J=INT(RND*3)-1
1260 K=INT(RND*3)-1
1270 A=A+J
1280 B=B+K
1290 M=A
1300 N=B
1310 GOTO 1340
1320 M=A-SGN(A-R)
1330 N=B-SGN(B-C)
1340 IF(M<2)+(M>23)THEN 1220
1350 IF(N<2)+(N>31)THEN 1220
1360 CALL GCHAR(M,N,G)
1370 IF G=96 THEN 1510
1380 A=M
1390 B=N
1400 D=G
1410 CALL VCHAR(A,B,104)
1420 GOTO 710
1430 CALL SOUND(-60,110,0)
1440 R=OR
1450 C=OC
1460 GOTO 950
1470 CALL SOUND(-60,700,0)
1480 L=L+1
1490 IF L=30 THEN 1600
1500 GOTO 920
1510 CALL CLEAR
1520 CALL SOUND(1000,110,0)
1530 CALL SCREEN(4)
1540 PRINT TAB(4);"THE SENTRY GOT YOU!": : : :
1550 PRINT TAB(9);"YOU GOT ";L
1560 PRINT TAB(6);"PIECES OF CARGO.": : : : :
1570 INPUT "TRY AGAIN? (Y/N) ":A$
1580 IF(A$="Y")+(A$="y")THEN 320 ELSE 1590
1590 END
1600 CALL CLEAR
1610 CALL SCREEN(4)
1620 CALL SOUND(400,262,0)
1630 CALL SOUND(400,330,0)
1640 CALL SOUND(400,392,0)
1650 CALL SOUND(400,523,0)
1660 PRINT TAB(8);"YOU DID IT!!": : : : : :
1670 GOTO 1550
1680 CALL COLOR(11,7,1)
1690 CALL KEY(0,K,S)
1700 IF S=0 THEN 1680
1710 CALL COLOR(11,5,1)
1720 GOTO 710

Nice!



#20 Gamemoose OFFLINE  

Gamemoose

    Dragonstomper

  • 649 posts

Posted Sun Aug 12, 2018 10:18 AM

My first "finished" TI game was called "Pyramid Panic". It was a text adventure game where you had to escape an Egyptian pyramid. However, at the time I didn't have a good book on Egyptian Mythology so I used what I had for puzzle questions: Norse mythology.

It was horribly written, every room in its own group of Prints and Inputs. I ran out of memory and still had rooms to go. I was 9 or 10 at the time when I wrote it.

A couple years later I wrote "Ghosthunter" which was a "Ghostbusters" lame copy. You could drive your car, avoiding slime balls that got slung at you as you drove. Then you had to zap a ghost close to the trap, Space Invaders style.

I might have them yet, but I have to find the tape.

#21 ti99iuc ONLINE  

ti99iuc

    Stargunner

  • 1,538 posts
  • Location:Italy

Posted Sun Aug 12, 2018 2:26 PM

I started to digit all program examples from the green TI BASIC's manual. after i tried to build an friendly interface on the screen with eyes, nose and mouth to create somethink similar a human face that can have a sort of dialogue with a user, sadly i lost all that tries that i had recorded on tapes :(
 
The only one remaining to me of what i had on my tapes is this Biliard try. I had fallen in love for the Super Biliards on the MSX
Attached File  3.jpg   35.55KB   1 downloads
 
so i tried and dreamed to be able to re-create it in XB
 
Attached File  1.jpg   21.48KB   1 downloads   Attached File  2.jpg   26.95KB   1 downloads
 
but of course it was too much hard for me and i gave up, never finished it.
 
Actually still missing a biliard game version on TI-99/4A, it could be so nice to see one in future :P
 
5 CALL CLEAR
6 CALL CHAR(80,"FFFFFFFFFFFFFFFF")
7 CALL CHAR(121,"00C0E0F0F8FCFEFF")
8 CALL CHAR(105,"FF7F3F1F0F070300")
9 CALL CHAR(100,"FFFEFCF8F0E0C000")
10 PRINT "PPPy"
20 PRINT "P  P P P   P PPP PPP PPy PPP"
30 PRINT "PPPd   P     P P P P P P P P"
40 PRINT "PPPy P P   P PPP PPP P P P P"
50 PRINT "P  P P P   P P P PP  P P P P"
60 PRINT "PPPd P PPP P P P P P PPd PPP": : : : : : : : : : :
61 DISPLAY AT(20,8):"BY **BARILE CIRO**" :: FOR I=1 TO 400 :: NEXT I :: DISPLAY AT(20,8):" ANY KEY        "
62 CALL KEY(0,K,S) :: IF S=0 THEN 62
63 PRINT: : : : : : : : : : : : : : : : : : : : : : :: CALL CLEAR
70 FOR I=1 TO 300 :: NEXT I
100 CALL CLEAR
110 CALL CHAR(97,"FFFFFFFFFFFF0000")
120 CALL CHAR(100,"FFFEFCF8F0E00000")
130 CALL CHAR(112,"0103070F1F3F3F3F")
140 CALL CHAR(105,"FF7F3F1F0F070000")
150 CALL CHAR(114,"3F3F3F3F3F3F3F3F")
160 CALL CHAR(116,"3F3F3F1F0F070301")
170 CALL CHAR(122,"0000FFFFFFFFFFFF")
180 CALL CHAR(121,"0000E0F0F8FCFEFF")
190 CALL CHAR(103,"3C4281818181423C")
200 CALL CHAR(102,"FCFCFCF8F0E0C080")
210 CALL CHAR(104,"80C0E0F0F8FCFCFC")
220 CALL CHAR(128,"181818FFFF181818")
230 CALL CHAR(101,"3C7EFFFFFFFF7E3C")
240 CALL CHAR(120,"0000070F1F3F7FFF")
250 CALL CHAR(90,"0003FFFFFFFF03000FFFFFFFFFFFFF0F") :: CALL CHAR(98,"FCFCFCFCFCFCFCFC")
260 REM  BILIARD
270 DISPLAY AT(2,3):"giaaaaaaaaadgiaaaaaaaaadg"
280 DISPLAY AT(3,30):" h                       p"
290 DISPLAY AT(4,30):" b                       r"
300 DISPLAY AT(5,30):" b                       r"
310 DISPLAY AT(6,30):" b                       r"
320 DISPLAY AT(7,30):" b                       r"
330 DISPLAY AT(8,30):" b                       r"
340 DISPLAY AT(9,30):" b                       r"
350 DISPLAY AT(10,30):" b                       r"
360 DISPLAY AT(11,30):" b                       r"
370 DISPLAY AT(12,30):" b                       r"
380 DISPLAY AT(13,30):" b                       r"
390 DISPLAY AT(14,30):" b                       r"
400 DISPLAY AT(15,30):" f                       t"
410 DISPLAY AT(16,3):"gxzzzzzzzzzygxzzzzzzzzzyg"
420 CALL SPRITE(#2,101,2,65,200)
430 CALL SPRITE(#1,128,16,65,200)
440 CALL SPRITE(#3,101,3,65,75)
450 CALL SPRITE(#4,101,4,75,75)
460 CALL SPRITE(#5,101,5,85,75)
470 CALL SPRITE(#6,101,6,71,85)
480 CALL SPRITE(#7,101,7,81,85)
490 CALL SPRITE(#8,101,9,76,95)
500 CALL CHAR(82,"FFFF") :: CALL HCHAR(18,1,82,32)
510 CALL SPRITE(#10,101,2,145,30)
520 CALL SPRITE(#9,90,2,145,50)
530 CALL CHAR(87,"C0C0C0C0C0C0C0C0") :: CALL VCHAR(18,3,87,3)
540 CALL HCHAR(21,3,82,6) :: CALL VCHAR(18,9,87,3)
550 DISPLAY AT(24,6):"1 o 2 TO LAUNCH    " :: FOR A=1 TO 500 :: NEXT A :: DISPLAY AT(24,6):"                  "
560 CALL KEY(0,K,S)
561 IF K=49 THEN CALL DELSPRITE(#9) :: CALL SPRITE(#9,90,2,145,44)
562 IF K=50 THEN CALL DELSPRITE(#9) :: CALL SPRITE(#9,90,2,145,42)
563 IF S=0 THEN 560
570 CALL JOYST(1,X,Y) :: CALL MOTION(#1,-2*Y,2*X) :: CALL KEY(0,K,S) :: IF S=0 THEN 570
580 CALL JOYST(1,X,Y) :: CALL MOTION(#2,3*Y-0,6*X-5) :: CALL KEY(0,K,S) :: IF S=0 THEN 580
1000 GOTO 1000
 

Attached Files



#22 1980gamer OFFLINE  

1980gamer

    Dragonstomper

  • 960 posts
  • Location:Charlton, MA

Posted Sun Aug 12, 2018 4:31 PM

I wrote a Pac-Man clone in TI Basic. It was horrible and slow. When you moved everything slowed down and when you stopped the ghosts sped up. I sold a few copies on tape at a local computer show. It was 1983 and I was young. I wrote a few others and a bunch of text adventures which were somewhat decent. To my knowledge no copies exist. I sold my TI in 1984 to buy a bass guitar and the buyer got all the tapes with all my programs on them. Probably taped Dire Straits over them. Who knows?

 

If you are going to destroy TI99 history.  Dire Straits is a great choice.



#23 MrGonker OFFLINE  

MrGonker

    Space Invader

  • 28 posts
  • Location:England

Posted Thu Aug 16, 2018 4:51 AM

My first game I wrote was a version of hunchback in basic. It had five screens and was very easy to beat. I remember saving it on a tape which I threw away along with some purchased games back in 88 when my ti blew up and smoked. It was pre internet days and I never did see a ti99 for sale in any ad mag at the time so I thought no point keeping the games, and since no one else had a working ti99 I couldn't give them away .I did save a few of the intrigue and lantern games because I liked the game covers and the wallet tape boxes, but it was games from stainless and others with printed text covers that I binned, big mistake.
Me and my mate back in 84 wrote a basic game based on manic miner and monty mole , can't remember what we called it but the character looked like captain caveman. We tried to sell it but never sold one copy. We even sent it to intrigue games at the time as it said in their game catalogue if you wrote a game send it to them for them to see if it's worth publishing which we never heard anything.
Now I realise that I think in my comp school of around 1000 pupils there were 3 with ti99s and probably 700 with spectrums which is why our game flopped, or maybe it wasn't as good as we thought it was.
Still love my ti though as I now have one and have been collecting games again for the last 15 years and I still like to program my own games when I can find the time.




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users