Jump to content
IGNORED

Biliard on the TI-99/4A (?)


ti99iuc
 Share

Recommended Posts

Ok, it happened while converting some cassette tape to find one of my old program when i was 12yo... about 1986 :)

 

of course it was too much for me and i never finished it, but it's nice to have try to load it now that i am 40yo :P

 

it was the starting project for a Biliard game:

 

post-24673-0-72362700-1452194285_thumb.jpg post-24673-0-85366200-1452194299_thumb.jpg

 

i was a child and already was dreaming to have a serious biliard game on the TI that not seems to me to exist at the moment and i'm not be able to conclude this game today.

 

probably the code is always been wrong for arrive to have a full working game... maybe someone could find funny see it ;)

 

 

Biliardo.dsk

 

 

 

 

 

and code:

 

 

 

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,:"BY **BARILE CIRO**" :: FOR I=1 TO 400 :: NEXT I :: DISPLAY AT(20,:" 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

Edited by ti99iuc
  • Like 4
Link to comment
Share on other sites

It would be the physics of the game that would beat me, to program a straight forward knock about game would not be too difficult but to get an accurate representation of top/back and side spin would be a bit more involved. I remember playing a commercially released game called Steve Davis Snooker by a company called CDS on the ZX Spectrum many years ago-it was a pretty good attempt but was still lacking in terms of real ball on ball physics.

Link to comment
Share on other sites

Real time physics for billiards on a primitive computer is simply not feasible given the exponential number of calculations that need to be made with each stroke. You start with one ball who strikes one or more others and so on and so forth, so you can imagine how slow things would get on a TI for example.

Not to mention that the calculations themselves are fairly involved to account for friction, spin, angles of attack, reaction etc... In my view it's a fool's errand for the TI platform, but you do get an A for at least trying! :) The best one can hope for is a very very coarse approximation of the physics, but even then it would be probably too slow in XB. Forth might be a better choice here.

Link to comment
Share on other sites

Video Hustler for the Colecovision and MSX was a simplex version. Another MSX billiards version was Lunar Pool, which was eventually ported to the NES.

 

A nice version to port would be Trick Shot which was done on the NES.

 

My favorite pool/billiards game was the Arcade conversion of Side Pocket on the Sega Genesis (also done for the SNES). I put many hours in to that one.

Link to comment
Share on other sites

Quite good physics in this one, I imagine it's all fixed point math:

 

https://www.youtube.com/watch?v=PW3-x3AeKT8

 

The TI has the same horizontal and vertical resolution as the ZX Spectrum.

This was about the only game ever released for the Spectrum where volume on that crappy little speaker was NOT a problem, I remember playing this late at night and actually having to cover the machine because of that horrible bloody noise it made when you are positioning the cross-hairs.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...