Jump to content

Photo

Looking for some type-in programs


18 replies to this topic

#1 jrhodes ONLINE  

jrhodes

    Space Invader

  • 23 posts
  • waggling my joystick

Posted Tue May 15, 2018 8:19 AM

Hi all, i am wondering if the following programs are available for emulation already?

I have the PDF files and will be typing them out myself if not.

I am looking for:

From "Computes TI Collection Volume Two" - Mad Hatter Ladder

From "32-basic-programs-for-the-ti994a" - Road Race

From "Computes TI-99-4A Sound and Graphics" - a.) Shooting Gallery , b.) Banzai Bunny



#2 Ksarul OFFLINE  

Ksarul

    River Patroller

  • 4,568 posts

Posted Tue May 15, 2018 8:37 AM

Probably the best place to look for answers to this question would be in the most recent edition of the TI Gamebase. I'm not sure if there is a copy of it online right now though.



#3 RickyDean OFFLINE  

RickyDean

    Dragonstomper

  • 826 posts

Posted Tue May 15, 2018 8:49 AM

Hi all, i am wondering if the following programs are available for emulation already?

I have the PDF files and will be typing them out myself if not.

I am looking for:

From "Computes TI Collection Volume Two" - Mad Hatter Ladder

From "32-basic-programs-for-the-ti994a" - Road Race

From "Computes TI-99-4A Sound and Graphics" - a.) Shooting Gallery , b.) Banzai Bunny

It is possible, depending on what you are needing to copy and paste a program into Classic99 or Js99er and save it back to disk image format.



#4 OLD CS1 OFFLINE  

OLD CS1

    Quadrunner

  • 5,094 posts
  • Technology Samurai
  • Location:Tallahassee, FL

Posted Tue May 15, 2018 9:07 AM

And depending upon what did the OCR.  I have found that Acrobat's OCR of magazines is near impossible to get a proper reading of for pasting.  I just wind up typing it in, myself.  Does not take long to do.  And, besides: NOSTALGIA.



#5 --- Ω --- OFFLINE  

--- Ω ---

    --- Ω ---

  • 11,914 posts
  • Location:워싱턴 주

Posted Tue May 15, 2018 9:18 AM

Those old computer magazines used to drive me Nutz!  Two hours of typing, three or more hours hours afterwards debugging.



#6 OLD CS1 OFFLINE  

OLD CS1

    Quadrunner

  • 5,094 posts
  • Technology Samurai
  • Location:Tallahassee, FL

Posted Tue May 15, 2018 9:22 AM

Those old computer magazines used to drive me Nutz!  Two hours of typing, three or more hours hours afterwards debugging.

 

A few weeks ago I spent about five minutes typing in Goblin.  Way back when that would have taken me over an hour.

 

The worst part was when the listing itself had a bug.  You had to go through some serious detective work because the programs were rarely ever documented, at least for the multi-platform games and demos.  The more system-specific programs would usually have some kind of break-down since the goal was to teach the reader.



#7 --- Ω --- OFFLINE  

--- Ω ---

    --- Ω ---

  • 11,914 posts
  • Location:워싱턴 주

Posted Tue May 15, 2018 9:27 AM

Yeah, I remember listings with errors.  There was a file system program I typed in, and later modified a tad that would not search properly for the next entry.  IIRC it took me two days to find the error.  I think I still have that program... I'll look for it later today and if I find it, I'll post it here,



#8 RickyDean OFFLINE  

RickyDean

    Dragonstomper

  • 826 posts

Posted Tue May 15, 2018 9:31 AM

And depending upon what did the OCR.  I have found that Acrobat's OCR of magazines is near impossible to get a proper reading of for pasting.  I just wind up typing it in, myself.  Does not take long to do.  And, besides: NOSTALGIA.

Yes, I understand, I do not know the quality of these books but, it should be possible to get some useful copies.

 

https://archive.org/details/tibooks



#9 jrhodes ONLINE  

jrhodes

    Space Invader

  • Topic Starter
  • 23 posts
  • waggling my joystick

Posted Tue May 15, 2018 12:06 PM

Mad Hatter Ladder, enjoy.

 

This climbing game pits you against buzz saws
and flames as you leap and dash from floor to
floor. Extended BASIC required; joystick
optional.
The Mad Hatter is desperate. Buzz saws and flames are

chasing him from one end of his two-tiered home to another.
You're his only chance—you've got to help him out by

pressing the right keys or moving the joystick in the right direction.
Points and more points are your only reward.

Starting at the lower left, the Mad Hatter glides silently from
side to side when you press the right or left arrow key (or
move the joystick right or left). Buzz saws, always heading
left, block the Hatter's path. They can be jumped, however, by
pressing the period (.) key or the joystick fire button. Be

extremely careful, though, that you help the Hatter jump at just
the right moment. Even the slightest touch of the buzz saw
and the Mad Hatter is only a Mad Cap.
Climbing from floor to floor, using the ladders, is even
more difficult. Press the up arrow key when the Hatter is in
position. Unfortunately, he's a bit afraid of heights, and the
only time you can persuade him to climb is when he's just a
bit to the right of a ladder, with more than half his body

directly under it. Hit the up arrow key or move the joystick up
and, his fears gone, he pops up a floor.
Up and up you help the Hatter climb, until he reaches the
top of the screen. At that moment, you're given the bonus
points which have been ticking away at the bottom center of
the screen. The faster you get the Hatter to the top, the more
points you score. (The game ends if the bonus runs out before
the Hatter makes it.)
Three chances are all you have to help the Hatter. Once
he's at the top, the screen flickers into the next tier of the

Hatter's home. Now there are four floors and only two ladders.
The saws are gone, but flames have taken their place.

Two bolts on each floor must be removed by moving over
them. That's easier than it looks, for you can "wrap around"
the screen and sneak up behind the flame to steal the bolt. As
in the first part of the Mad Hatter's house, ladders are provided

to get to the next floor. On this screen, you can even go
back down a ladder. Hatter has an even greater fear of heights
here, and climbing the ladders takes more time than before. At
least he's safe when he's on a ladder, for the flames move
only from side to side.
A time limit ticks away—get to the top of the second tier
before it runs out, and points equal to the remaining time are
awarded. Then you're back to the first screen for more buzz
saw fun.

Listing below, zip contains .txt and classic99 FIAD. (OLD DSK1.MHLADDER)

100 CALL CHAR(98,"818181FFFF818181")
110 CALL COLOR(9,1,1)
120 CALL SCREEN(2)
130 P=5
140 CALL CHAR(128,"0E13070F1F3F2F27130000000000000000C8E4F4FCF8F0E0C870")
150 CALL MAGNIFY(3)
160 LIFE=3
170 SC=0
180 E=0
190 CALL CLEAR
200 FOR I=1 TO 8 :: CALL COLOR(I,5,1) :: NEXT I
210 CALL CHAR(96,"FF814242242418FF")
220 M=0
230 FOR I=1 TO 4 :: CALL HCHAR(I*6,1,96,32) :: NEXT I
240 E=0
250 DISPLAY AT(1,7):"SCORE" :: DISPLAY AT(2,6):SC
260 DISPLAY AT(1,20):"HIGH" :: DISPLAY AT(2,19):HIGH
270 TIME=5000 :: DISPLAY AT(24,13)SIZE(5):TIME
280 CALL CHAR(97,"818181FFFF818181") :: FOR I=1 TO 2 :: CALL VCHAR(18,25+I,96+I,6) :: CALL VCHAR(12,5+I,96+I,6) :: CALL VCHAR(6,25+I,96+I,6)
290 CALL VCHAR(1,5+I,96+I,5) :: NEXT I
300 CALL HCHAR(1,3,96,5)
310 CALL COLOR(9,10,1)
320 FOR IR=1 TO 2
330 FOR I=1 TO 4 :: CALL SPRITE(#1+I+E,128,16,I*6*8-16,1,0,P) :: P=-P :: NEXT I
340 IF E=4 THEN 360
350 FOR R=1 TO 1000 :: NEXT R
360 E=4
370 NEXT IR
380 CALL CHAR(132,"3F3F3F1F1F1F1F1F1F3A02020222323EFCFCFCF8F8F8F8F8F85C404040444C7C")
390 CALL SPRITE(#1,132,5,21*8,16)
400 REM 1st screen play
410 CALL JOYST(1,X,Y) :: GOSUB 1290 :: CALL MOTION(#1,0,X*1.5)
420 CALL POSITION(#1,Q,W) :: IF W<16 AND X=-4 THEN CALL MOTION(#1,0,0) :: CALL LOCATE(#1,Q,24)
430 IF W>240 AND X=4 THEN CALL MOTION(#1,0,0) :: CALL LOCATE(#1,Q,232)
440 CALL COINC(ALL,Z) :: IF Z<0 THEN 610
450 TIME=TIME-50 :: IF TIME=0 THEN 1260 ELSE DISPLAY AT(24,13)SIZE(5):TIME
460 CALL POSITION(#1,Q,W) :: CALL GCHAR(Q/8,W/8,Z) :: IF Z=97 THEN 470 ELSE 540
470 CALL JOYST(1,X,Y) :: GOSUB 1290 :: CALL POSITION(#1,Q,W) :: IF Q<48 THEN 500 ELSE IF Y=4 THEN CALL LOCATE(#1,Q-48,W)
480 CALL COINC(ALL,Z) :: IF Z<0 THEN 610
490 GOTO 540
500 IF Y=4 THEN CALL DELSPRITE(ALL) ELSE 540
510 FOR AQW=1 TO TIME STEP 100 :: SC=SC+100 :: DISPLAY AT(2,6)SIZE(5):SC :: NEXT AQW
520 IF SC>HIGH THEN HIGH=SC :: CALL CLEAR
530 GOTO 640
540 CALL KEY(1,X,Y) :: GOSUB 1310 :: IF X=18 THEN 570
550 CALL COINC(ALL,Z) :: IF Z<0 THEN GOTO 610
560 CALL KEY(1,X,Y) :: GOSUB 1310 :: IF X=18 THEN 570 ELSE 600
570 CALL POSITION(#1,Q,W) :: CALL LOCATE(#1,Q-16,W)
580 FOR I=1 TO 130 :: NEXT I
590 CALL POSITION(#1,Q,W) :: CALL LOCATE(#1,Q+16,W)
600 CALL COINC(ALL,Z) :: IF Z<0 THEN 610 ELSE 630
610 LIFE=LIFE-1 :: CALL DELSPRITE(ALL) :: IF LIFE=0 THEN 1260 :: GOTO 230
620 CALL SOUND(-1000,200,0)
630 GOTO 400
640 CALL CLEAR
650 CALL CHAR(97,"FF814242242418FF")
660 CALL CHAR(98,"818181FFFB818181")
670 AQW=-5
680 CALL CHAR(136,"31377B7F7FFFFFFFFF7F7F3F3F1F0098FCF8FCFCFFFFFFFEFEFEFEFCFCF0F0")
690 FOR I=2 TO 5 :: F(I)=5 :: NEXT I
700 CALL COLOR(10,1,1) :: CALL CHAR(104,"FF7E7E7E7E7E7E7E7E")
710 M=0
720 TIME=5000
730 CALL CHAR(120,"3F3F3F1F1F1F1F1F1F3A02020222323EFCFCFCF8F8F8F8F8F85C404040444C7C")
740 CALL MAGNIFY(3)
750 CALL COLOR(9,1,1) :: CALL CHAR(96,"818181FFFF818181") :: CALL CLEAR
760 FOR I=1 TO 4 :: CALL HCHAR(I*6,1,97,32) :: NEXT I
770 CALL VCHAR(1,5,96,24) :: CALL VCHAR(1,6,98,24) :: CALL VCHAR(1,26,96,24) :: CALL VCHAR(1,27,98,24)
780 FOR I=1 TO 4 :: CALL HCHAR(I*6,11,104) :: CALL HCHAR(I*6,21,104) :: NEXT I
790 CALL COLOR(10,5,1) :: CALL COLOR(9,10,1)
800 DISPLAY AT(1,2):"HIGH                 SCORE"
810 DISPLAY AT(2,1):HIGH :: DISPLAY AT(2,22):SC
820 DISPLAY AT(24,12)SIZE(4):TIME
830 CALL SPRITE(#1,120,5,168,224)
840 FOR I=1 TO 4 :: CALL SPRITE(#1+I,136,7,I*6*8-16,1,0,AQW) :: AQW=-AQW :: NEXT I
850 CALL JOYST(1,X,Y) :: GOSUB 1290 :: CALL MOTION(#1,0,X*1.25)
860 CALL POSITION(#1,Q,W)
870 IF W<16 OR W>240 THEN 880 ELSE CALL GCHAR(Q/8+3,W/8,Z) :: IF Z=104 THEN CALL SOUND(-1000,210,0) :: CALL HCHAR(Q/8+3,W/8,32) :: GOTO 1170
880 TIME=TIME-100 :: IF TIME=0 THEN 1260
890 DISPLAY AT(24,12)SIZE(5):TIME
900 CALL COINC(ALL,Z) :: IF Z<0 THEN LIFE=LIFE-1 :: IF LIFE=0 THEN 1260 ELSE TIME=5000-(M*400) :: GOTO 830
910 IF ASD=1 THEN IT=IT+1 :: GOTO 920 ELSE 930
920 IF IT=1 THEN 980
930 CALL KEY(1,S,D) :: GOSUB 1310 :: IF S=18 THEN 940 ELSE 990
940 CALL POSITION(#1,Q,W) :: CALL LOCATE(#1,Q-16,W)
950 ASD=1
960 IF YY=1 THEN YY=0 :: GOTO 1010
970 GOTO 990
980 IT=0 :: ASD=0 :: CALL POSITION(#1,Q,W) :: CALL LOCATE(#1,Q+16,W)
990 FOR I=2 TO 5 :: CALL POSITION(#I,Q,W) :: IF W<16 THEN CALL MOTION(#I,0,5) :: F(I)=-F(I)
1000 CALL JOYST(1,X,Y) :: GOSUB 1290 :: CALL MOTION(#1,0,X*1.25)
1010 CALL POSITION(#1,Q,W)
1020 IF W<16 OR W>250 THEN 1030 ELSE CALL GCHAR(Q/8+3,W/8,Z) :: IF Z=104 THEN CALL SOUND(-1000,310,2) :: CALL HCHAR(Q/8+3,W/8,32) :: YY=1 :: GOTO 1170
1030 IF ASD=1 THEN 1070 ELSE CALL KEY(1,S,D) :: IF S=18 THEN YY=1 :: GOTO 940
1040 CALL COINC(ALL,Z) :: IF Z<0 THEN LIFE=LIFE-1 :: IF LIFE=0 THEN 1260 ELSE TIME=5000-(M*400) :: GOTO 830
1050 CALL JOYST(1,X,Y) :: GOSUB 1290 :: IF X=0 AND Y=0 THEN CALL MOTION(#1,0,X*1.5)
1060 YY=0
1070 IF W>232 THEN CALL MOTION(#I,0,-5) :: F(I)=-F(I)
1080 IF W>8 AND W<232 THEN 1090 ELSE 1100
1090 CALL GCHAR(Q/8+2,W/8,Z) :: IF Z=32 THEN F(I)=-F(I) :: CALL MOTION(#I,0,F(I))
1100 NEXT I
1110 CALL POSITION(#1,Q,W) :: IF Q<28 THEN 1130
1120 IF Y=4 THEN CALL POSITION(#1,Q,W) :: CALL GCHAR(Q/8,W/8,Z) :: IF Z=96 THEN CALL LOCATE(#1,Q-48,W)
1130 IF Q>8*20 THEN 1150
1140 IF Y=-4 THEN CALL POSITION(#1,Q,W) :: CALL GCHAR(Q/8,W/8,Z) :: IF Z=96 THEN CALL LOCATE(#1,Q+48,W)
1150 CALL POSITION(#1,Q,W)
1160 IF W>250 OR W<16 THEN 850 ELSE CALL GCHAR(Q/8+3,INT(W/8+.5),Z) :: IF Z=104 THEN CALL SOUND(-1000,110,1) :: CALL HCHAR(Q/8+3,W/8,32) ELSE 1230
1170 SC=SC+20
1180 DISPLAY AT(2,22):SC
1190 M=M+1 :: IF M=8 THEN 1200 ELSE IF YY=1 THEN 1060 ELSE 850
1200 CALL DELSPRITE(ALL) :: FOR T=1 TO TIME STEP 100
1210 CALL SOUND(200,563,0) :: CALL SOUND(200,282,0) :: SC=SC+100 :: DISPLAY AT(2,22):SC :: NEXT T :: GOTO 190
1220 DISPLAY AT(2,22):SC
1230 GOTO 850
1240 IF SC>HIGH THEN HIGH=SC :: DISPLAY AT(2,1)SIZE(6):HIGH
1250 GOTO 210
1260 IF SC>HIGH THEN HIGH=SC
1270 CALL SCREEN(16) :: CALL DELSPRITE(ALL)
1280 DISPLAY AT(10,6)SIZE(17):"PLAY AGAIN (Y/N)" :: CALL KEY(0,Q,W) :: IF Q=121 OR Q=89 THEN 110 ELSE IF Q=110 OR Q=78 THEN END ELSE 1280
1290 CALL KEY(0,B,C) :: IF B=83 THEN X=-4 ELSE IF B=68 THEN X=4 ELSE IF B=69 THEN Y=4 ELSE IF B=88 THEN Y=-4
1300 RETURN
1310 CALL KEY(0,B,C) :: IF C=-1 THEN RETURN ELSE IF B=46 THEN X=18 :: S=18
1320 RETURN

Attached File  Mad Hatter Ladder.zip   4.16KB   7 downloads


Edited by jrhodes, Tue May 15, 2018 12:13 PM.


#10 HOME AUTOMATION OFFLINE  

HOME AUTOMATION

    Space Invader

  • 17 posts

Posted Tue May 15, 2018 4:32 PM

Hi jrhodes,

Texas Instrument Book: 32-basic-programs-for-the-ti994a

PDF download

 

I  O.C.R.ed this with chrome. It took some corrections. I think it's right. alas I have no josticks handy to confirm this.

I ran this on CLASSIC99 using pastexb from the edit menu.

Attached Files


Edited by HOME AUTOMATION, Tue May 15, 2018 4:37 PM.


#11 --- Ω --- OFFLINE  

--- Ω ---

    --- Ω ---

  • 11,914 posts
  • Location:워싱턴 주

Posted Tue May 15, 2018 5:15 PM

FILESYSTEM II               

Requires: 32K & Extended BASIC

 

Contents: LOAD (Use if you want the program to 'autoload' on a diskette)

          FILESYSTEM (Actual Program)

 

NOTES   : DSK1. is assumed for all filenames

 

gallery_35324_1027_131742.jpg

Attached Files



#12 --- Ω --- OFFLINE  

--- Ω ---

    --- Ω ---

  • 11,914 posts
  • Location:워싱턴 주

Posted Tue May 15, 2018 6:01 PM

Hi jrhodes,

Texas Instrument Book: 32-basic-programs-for-the-ti994a

PDF download

 

I  O.C.R.ed this with chrome. It took some corrections. I think it's right. alas I have no josticks handy to confirm this.

I ran this on CLASSIC99 using pastexb from the edit menu.

 

I cut and pasted it into my TIPI and tried it out in XB, but the car immediately goes to the right and promptly crashes.



#13 jrhodes ONLINE  

jrhodes

    Space Invader

  • Topic Starter
  • 23 posts
  • waggling my joystick

Posted Tue May 15, 2018 6:13 PM

 

I cut and pasted it into my TIPI and tried it out in XB, but the car immediately goes to the right and promptly crashes.

The .txt file provided needs the following changes:

360 M=M+1 :: CALL MOTION(#3,0,X*8)
400 IF Y3>RR THEN CALL MOTION(#3,0,0):: CALL LOCATE(#3,VV,RR)
580 TM=TM+M :: CALL MOTION(#1,0,0,#2,0,0,#3,0,0,#4,0,0

Here is a .zip of the corrected FIAD and .txt file.Attached File  roadrace.zip   2.95KB   6 downloads


Edited by jrhodes, Tue May 15, 2018 6:18 PM.


#14 --- Ω --- OFFLINE  

--- Ω ---

    --- Ω ---

  • 11,914 posts
  • Location:워싱턴 주

Posted Tue May 15, 2018 6:17 PM

 
The .txt file provided needs the following changes:

360 M=M+1 :: CALL MOTION(#3,0,X*8)
400 IF Y3>RR THEN CALL MOTION(#3,0,0):: CALL LOCATE(#3,VV,RR)
580 TM=TM+M :: CALL MOTION(#1,0,0,#2,0,0,#3,0,0,#4,0,0
 
I'll make the changes in a couple of hours, I gotta go eat and get some stuff done first.  Thanks for the update.
 
-- EDIT --
 
Changes made!  Now it works.  :thumbsup:
Just for the record - it was INSANELY EASY to use this text listing on Real Iron using the TIPI.
 
1) I Highlighted & copied the text
2) Opened a new tab in my browser, click my TIPI favorite on my task bar.
3) Created a new directory, created a new filename for the program, pasted the text and saved it.
4) Closed the tab.
---------------------------------------------------------------------------------------------------- THAT WAS IT, MERE SECONDS!
 
The RPi is always on, so it's ready to take anything you offer it on your WiFi network.  After that it's just a matter of turning on the TI and loading it.  DAMN, this is great!  I'm thinking once the internal card comes out, there will be a lot of minimally expanded P-Boxes that will be useful again.
 
BTW - This is a cool thread, some of these are new to me, or I've lost it enough now to think they are new to me.

#15 jrhodes ONLINE  

jrhodes

    Space Invader

  • Topic Starter
  • 23 posts
  • waggling my joystick

Posted Tue May 15, 2018 10:43 PM

Here is Shooting Gallery in a .txt and a FIAD for classic99, enjoy.

100 RANDOMIZE
110 DIM TOT(4),SC(14)
120 FOR L=2 TO 5 :: SC(L)=15 :: NEXT L
130 FOR L=6 TO 8 :: SC(L)=10 :: NEXT L
140 FOR L=9 TO 14 :: SC(L)=25 :: NEXT L
150 CALL CHAR(98,"081C3E7F7F3E1C08")
160 GOSUB 980
170 CALL CHAR(96,"0003021E3E7E0000")
180 CALL CHAR(97,"002020F820200000")
190 CALL CHAR(102,"10387CFEFE7C3810")
200 CALL CHAR(99,"FFFFFFFFFFFFFFFF")
210 CALL CHAR(101,"000000FFFF000000") :: CALL COLOR(9,7,1)
220 CALL CHAR(100,"FCB4FCCCFCB4CCFC")
230 GOSUB 1070 :: GOSUB 1220
240 CALL CLEAR :: CALL HCHAR(4,1,99,32) :: CALL HCHAR(22,1,99,32)
250 PL=1
260 CALL HCHAR(9,1,101,32) :: CALL HCHAR(15,1,101,32)
270 DISPLAY AT(1,1):"PLAYER 1: ___  PLAYER 3: ___"
280 DISPLAY AT(3,1):"PLAYER 2: ___  PLAYER 4: ___"
290 P=1
300 CALL MAGNIFY(2)
310 CALL SPRITE(#2,96,12,40,20,0,S1,#3,96,12,54,85,0,S1,#4,96,12,40,150,0,S1,#5,96,12,54,215,0,S1)
320 CALL SPRITE(#6,100,14,85,30,0,-S2,#7,100,14,85,110,0,-S2,#8,100,14,85,190,0,-S2)
330 CALL SPRITE(#9,98,5,130,30,0,S3,#10,98,5,130,110,0,S3,#11,98,5,130,190,0,S3)
340 CALL SPRITE(#12,102,5,155,30,0,-S3,#13,102,5,155,110,0,-S3,#14,102,5,155,190,0,-S3)
350 CALL SPRITE(#1,97,2,90,120)
360 DISPLAY AT(23,1):" "
370 FOR L=1 TO 10
380 DISPLAY AT(23,11):"PLAYER";PL :: CALL SOUND(30,600,4) :: FOR L2=1 TO 20 :: NEXT L2
390 DISPLAY AT(23,11):"            " :: FOR L2=1 TO 15 :: NEXT L2
400 NEXT L
410 SH=15 :: TG=0
420 DISPLAY AT(24,1):"SHOTS LEFT:" :: CALL HCHAR(24,16,43,SH)
430 DISPLAY AT(23,1):"TIME:"
440 TI=0 :: TIME=30
450 CALL JOYST(1,X,Y) :: CALL MOTION(#1,-Y*2,X*2) :: CALL KEY(1,K,S) :: IF S<>0 THEN CALL SOUND(60,-6,0) :: GOTO 510
460 TI=TI+1 :: TIME=30-INT(TI/5) :: DISPLAY AT(23,7):TIME :: IF TIME=0 THEN 690
470 GOTO 450
480 SH=SH-1 :: IF SH=0 OR TG=13 THEN 690
490 DISPLAY AT(24,1):"SHOTS LEFT:" :: CALL HCHAR(24,16,43,SH)
500 GOTO 450
510 CALL POSITION(#1,DR,DC) :: IF DR<70 THEN 560 ELSE IF DR>140 THEN 650 ELSE IF DR>110 THEN 610
520 CALL COINC(#1,#6,7,C) :: IF C=-1 THEN SP=6 :: GOTO 890
530 CALL COINC(#1,#7,7,C) :: IF C=-1 THEN SP=7 :: GOTO 890
540 CALL COINC(#1,#8,7,C) :: IF C=-1 THEN SP=8 :: GOTO 890
550 GOTO 480
560 CALL COINC(#1,#2,7,C) :: IF C=-1 THEN SP=2 :: GOTO 890
570 CALL COINC(#1,#3,7,C) :: IF C=-1 THEN SP=3 :: GOTO 890
580 CALL COINC(#1,#4,7,C) :: IF C=-1 THEN SP=4 :: GOTO 890
590 CALL COINC(#1,#5,7,C) :: IF C=-1 THEN SP=5 :: GOTO 890
600 GOTO 480
610 CALL COINC(#1,#9,TL,C) :: IF C=-1 THEN SP=9 :: GOTO 890 
620 CALL COINC(#1,#10,TL+1,C) :: IF C=-1 THEN SP=10 :: GOTO 890
630 CALL COINC(#1,#11,TL+1,C) :: IF C=-1 THEN SP=11 :: GOTO 890
640 GOTO 480
650 CALL COINC(#1,#12,TL+1,C) :: IF C=-1 THEN SP=12 :: GOTO 890
660 CALL COINC(#1,#13,TL+2,C) :: IF C=-1 THEN SP=13 :: GOTO 890
670 CALL COINC(#1,#14,TL+2,C) :: IF C=-1 THEN SP=14 :: GOTO 890
680 GOTO 480
690 DISPLAY AT(24,1):"     GAME OVER PLAYER";PL :: CALL SOUND(900,800,5) :: FOR L=1 TO 800 :: NEXT L :: DISPLAY AT(24,1):" "
700 IF TG=13 AND TIME>0 THEN GOSUB 820
710 IF PL<NP THEN PL=PL+1 :: GOTO 290
720 FOR L=1 TO 4
730 DISPLAY AT(24,1):" " :: CALL SOUND(40,400,4)
740 FOR L2=1 TO 20 :: NEXT L2
750 DISPLAY AT(24,7):"PLAY AGAIN Y/N?"
760 FOR L2=1 TO 15 :: NEXT L2
770 NEXT L
780 CALL KEY(3,K,S) :: IF S=0 THEN 780
790 IF K=78 THEN CALL CLEAR :: STOP
800 IF K=89 THEN TOT(1)=0 :: TOT(2)=0 :: TOT(3)=0 :: TOT(4)=0 :: CALL DELSPRITE(ALL) :: GOSUB 1220 :: GOTO 240
810 GOTO 720
820 CALL SOUND(700,200,5,900,5)
830 DISPLAY AT(24,1):"*** BONUS POINTS AWARDED ***"
840 FOR L=1 TO 800 :: NEXT L
850 TOT(PL)=TOT(PL)+(15*TIME)
860 DISPLAY AT(ROW,COL):TOT(PL);
870 DISPLAY AT(24,1):" "
880 RETURN
890 CALL SOUND(50,400,0)
900 CALL COLOR(#SP,9) :: FOR L=1 TO 5 :: NEXT L
910 CALL DELSPRITE(#SP)
920 TG=TG+1
930 TOT(PL)=TOT(PL)+SC(SP)
940 IF PL/2=INT(PL/2) THEN ROW=3 ELSE ROW=1
950 IF PL=1 OR PL=2 THEN COL=10 ELSE COL=25
960 DISPLAY AT(ROW,COL):TOT(PL);
970 GOTO 480
980 CALL CLEAR :: CALL SCREEN(10)
990 DISPLAY AT(5,13):"T I" :: DISPLAY AT(8,7):"S H O O T I N G" :: DISPLAY AT(11,8):"G A L L E R Y"
1000 FOR L=1 TO 1000 :: NEXT L
1010 FOR L=1 TO 10
1020 CALL HCHAR(INT(RND*22+1),INT(RND*26+1),98,1) :: CALL SOUND(50,-6,0)
1030 FOR L2=1 TO 20 :: NEXT L2
1040 NEXT L
1050 FOR L=1 TO 500 :: NEXT L
1060 RETURN
1070 CALL CLEAR :: CALL SCREEN(8)
1080 DISPLAY AT(4,1):"DO YOU NEED INSTRUCTIONS?" :: DISPLAY AT(6,1):"RESPOND Y/N"
1090 CALL SOUND(100,400,4)
1100 CALL KEY(3,K,S) :: IF S=0 THEN 1100
1110 IF K=78 THEN 1210
1120 IF K<>89 THEN 1080
1130 CALL CLEAR
1140 CALL SPRITE(#2,96,12,15,20,#3,100,14,38,20,#4,98,5,63,20) :: CALL MAGNIFY(2)
1150 DISPLAY AT(3,8):"15 POINTS" :: DISPLAY AT(6,8):"10 POINTS" :: DISPLAY AT(9,8):"25 POINTS"
1160 DISPLAY AT(12,1):"USE THE JOYSTICK TO POSITION" :: DISPLAY AT(14,1):"THE CROSSHAIR ON THE TARGET"
1170 DISPLAY AT(16,1):"AND PRESS THE FIRE BUTTON TO" :: DISPLAY AT(18,1):"SHOOT. UP TO 4 PEOPLE CAN"
1180 DISPLAY AT(20,1):"PLAY AT ONE TIME.  EACH" :: DISPLAY AT(22,1):"PLAYER HAS 15 SHOTS."
1190 DISPLAY AT(24,7):"PRESS ANY KEY"
1200 CALL KEY(3,K,S) :: IF S=0 THEN 1200
1210 CALL DELSPRITE(ALL) :: RETURN
1220 CALL CLEAR
1230 DISPLAY AT(4,1):"NUMBER OF PLAYERS? _" :: ACCEPT AT(4,20)VALIDATE("1234")SIZE(-1)BEEP:NP
1240 DISPLAY AT(8,1):"TARGET SPEED? (1-3) _" :: DISPLAY AT(10,1):"(3 = FASTEST)"
1250 ACCEPT AT(8,21)VALIDATE("123")SIZE(-1)BEEP:DL
1260 S1=3*DL :: S2=2*DL :: S3=5*DL
1270 TL=4+(2*DL)
1280 RETURN

Attached File  Shooting Gallery.zip   4.23KB   6 downloads



#16 jrhodes ONLINE  

jrhodes

    Space Invader

  • Topic Starter
  • 23 posts
  • waggling my joystick

Posted Wed May 16, 2018 12:17 AM

Lastly for now, here is Banzai Bunny.

The .zip contains a FIAD and .txt, enjoy!

 

Your job is to move the bunny from the bottom of the
screen across six lanes of traffic, over a polluted river on the
backs of turtles, and finally to safety on the far shore. The
bunny is controlled by the E, S, and D keys, and points are
scored by reaching the other side of the river. As many as
nine players may compete at one time. Each player has five
bunnies, and a player's turn continues until all five have been lost.

100 CALL CLEAR :: RANDOMIZE
110 CALL CHAR(40,"FFFFFFFFFFFFFFFF")
120 CALL CHAR(96,"000000030709030303030301000000000000000040C0808080C0C0C000000000")
130 CALL CHAR(100,"000000000000070F0F0E000000000000000000002010D8F8E030000000000000")
140 CALL CHAR(104,"0000000004081B1F070C000000000000000000000000E0F0F070000000000000")
150 CALL CHAR(108,"000000030709030303030301000000000000404040808080808080C040400000")
160 CALL CHAR(112,"000000000000070F0F38000000000000000000002010D8F8E01C000000000000")
170 CALL CHAR(116,"0000000004081B1F073C000000000000000000000000E0F0F01C000000000000")
180 CALL CHAR(120,"00000000000102043F7FFFFF381000000000000000F04844FEFFFFFF1C080000")
190 CALL CHAR(124,"00000000000F12227FFFFFFF381000000000000000804020FCFEFFFF1C080000")
200 CALL CHAR(128,"0000070F3F3F7FFFFF7F3F3F0F0700000000E0F0FCFCFEFFFFFEFCFCF0E00000")
210 CALL CHAR(132,"FFFFFFFFFFFFFFFF") :: CALL CHAR(136,"000000000000000F")
220 CALL CHAR(140,"80C06070303008060303030607181800010203071C30708080C0607030100100")
230 CALL COLOR(2,5,1,13,4,1,14,2,1)
240 DISPLAY AT(4,1):"NUMBER OF PLAYERS? _"
250 ACCEPT AT(4,20)VALIDATE(NUMERIC)SIZE(-1)BEEP:NP
260 CALL CLEAR
270 CALL HCHAR(23,1,132,32) :: CALL HCHAR(24,1,132,32)
280 CALL HCHAR(10,1,132,32) :: CALL HCHAR(9,1,132,32)
290 CALL HCHAR(1,1,132,32) :: CALL HCHAR(2,1,132,32)
300 FOR L=12 TO 21 STEP 2
310 CALL HCHAR(L,1,136,32)
320 NEXT L
330 FOR L=3 TO 8
340 CALL HCHAR(L,1,40,32)
350 NEXT L
360 CALL MAGNIFY(3)
370 CALL SPRITE(#2,124,2,160,70,0,9,#3,124,9,160,150,0,9,#4,124,14,160,230,0,9)
380 CALL SPRITE(#5,124,15,144,10,0,12,#6,124,5,144,100,0,12,#24,124,13,144,190,0,12)
390 CALL SPRITE(#7,124,2,128,70,0,10,#8,124,9,128,150,0,10,#9,124,11,128,230,0,10)
400 CALL SPRITE(#10,120,9,112,70,0,-10,#11,120,14,112,150,0,-10,#12,120,16,112,230,0,-10)
410 CALL SPRITE(#13,120,11,96,10,0,-12,#14,120,5,96,100,0,-12,#25,120,14,96,190,0,-12)
420 CALL SPRITE(#15,120,2,80,70,0,-9,#16,120,10,80,150,0,-9,#17,120,15,80,230,0,-9) :: GOTO 460
430 CALL SPRITE(#19,128,2,48,10,0,4)
440 CALL SPRITE(#21,128,2,32,10,0,-3)
450 CALL SPRITE(#22,128,2,16,10,0,5) :: RETURN
460 FOR PL=1 TO NP
470 BUNNY=5 :: FOR D=1 TO 5 :: CALL SOUND(300,500,0) :: CALL SOUND(300,300,0) :: NEXT D
480 DISPLAY AT(24,1):USING "###### #":"PLAYER",PL; :: DISPLAY AT(24,20):USING "####### #":"BUNNIES",BUNNY
490 DISPLAY AT(1,10):"SCORE:    ";
500 GOSUB 530
510 NEXT PL
520 GOTO 890
530 GOSUB 430 :: CALL SPRITE(#18,96,16,176,125) :: R=176 :: C=125
540 CALL KEY(3,K,S)
550 IF R<64 THEN 610
560 CALL COINC(ALL,CO) :: IF CO<>0 THEN 780
570 IF K=69 THEN GOSUB 640 :: IF R<64 THEN 700 ELSE 540
580 IF K=83 THEN GOSUB 660 :: GOTO 540
590 IF K=68 THEN GOSUB 680 :: GOTO 540
600 GOTO 540
610 CALL COINC(ALL,CO) :: IF CO=0 THEN 780 ELSE 570
620 CALL SOUND(70,500,5,-6,0) :: CALL SOUND(30,300,5,-4,0) :: RETURN
630 RETURN
640 CALL PATTERN(#18,108) :: R=R-16 :: SW=1 :: IF R<1 THEN R=1
650 CALL LOCATE(#18,R,C) :: CALL PATTERN(#18,96 ):: GOSUB 620 :: RETURN
660 CALL PATTERN(#18,116) :: C=C-16 :: SW=1 :: IF C<1 THEN C=1
670 CALL LOCATE(#18,R,C) :: CALL PATTERN(#18,104) :: GOSUB 620 :: RETURN
680 CALL PATTERN(#18,112) :: C=C+16 :: SW=1 :: IF C>240 THEN C=240
690 CALL LOCATE(#18,R,C) :: CALL PATTERN(#18,100 ) :: GOSUB 620 :: RETURN
700 CALL KEY(3,K,S)
710 IF S<>0 THEN IF K=69 THEN GOSUB 640 ELSE IF K=83 THEN GOSUB 660 ELSE IF K=68 THEN GOSUB 680
720 CALL POSITION(#18,R,C) :: IF R=1 THEN CALL MOTION(#18,0,0) :: GOTO 850
730 IF C<7 OR C>238 THEN 780
740 IF R<=48 AND R>32 THEN CALL MOTION(#18,0,4) ELSE IF R<=32 AND R>16 THEN CALL MOTION(#18,0,-3) ELSE CALL MOTION(#18,0,5)
750 IF SW=1 THEN CALL COINC(ALL,CO) :: IF CO=0 THEN 780 ELSE SW=0
770 GOTO 700
780 CALL SOUND(300,3500,0,5000,5) :: CALL SOUND(-200,200,5,-6,0)
790 CALL PATTERN(#18,140) :: CALL COLOR(#18,11)
800 FOR D=1 TO 25 :: NEXT D
810 CALL DELSPRITE(#18)
820 BUNNY=BUNNY-1 :: IF BUNNY<1 THEN 630
830 DISPLAY AT(24,27):USING "##":BUNNY
840 GOTO 530
850 CALL SOUND(1500,400,5,1000,0) :: FOR D=1 TO 500 :: NEXT D
860 SC(PL)=SC(PL)+15
870 DISPLAY AT(1,17):USING "###":SC(PL);
880 GOTO 530
890 CALL DELSPRITE(ALL) :: CALL CLEAR
900 DISPLAY AT(2,7):"** SCORE **"
910 FOR L=1 TO NP
920 DISPLAY AT(4+L*2,4):USING "###### #   ###":"PLAYER",L,SC(L)
930 NEXT L
940 GOTO 940

Attached File  Banzai Bunny.zip   3.33KB   7 downloads



#17 Ksarul OFFLINE  

Ksarul

    River Patroller

  • 4,568 posts

Posted Wed May 16, 2018 5:10 AM

That last one reminded me of another fun one in that vein: Chicken Helper from the old IUG program library.



#18 HOME AUTOMATION OFFLINE  

HOME AUTOMATION

    Space Invader

  • 17 posts

Posted Sat May 19, 2018 10:10 AM

I couldn't locate this the other day when it came to mind:

 

software from books

user=anonymous (no password)asks twice.



#19 Ksarul OFFLINE  

Ksarul

    River Patroller

  • 4,568 posts

Posted Sat May 19, 2018 2:16 PM

Also note all of the TI books on this page that also have DSK files containing all of the programs from the book. Many do not, but the ones that do will significantly decrease the number of books you have to deal with on your programming hunt.






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users