Jump to content
IGNORED

TI BASIC/TI EXTENDED BASIC Games that are worth to be compiled...


tmop69

Recommended Posts

  • 1 month later...
On 2/9/2021 at 11:58 AM, tmop69 said:

Tiles: a nice memory/puzzle game. The SSS has the 1988 and the 2018 versions;

Other than the compiled Extended BASIC version I already supplied, this game was never meant to be compiled.  I meant it to be a type-in program like the original which appeared in COMPUTE! Magazine.  It can be found in its proper form in my thread at https://locu.li/tiles99 and should only be distributed unmodified.

  • Like 3
Link to comment
Share on other sites

30 minutes ago, OLD CS1 said:

Other than the compiled Extended BASIC version I already supplied, this game was never meant to be compiled.  I meant it to be a type-in program like the original which appeared in COMPUTE! Magazine.  It can be found in its proper form in my thread at https://locu.li/tiles99 and should only be distributed unmodified.

I've surely not found the 1988 and 2018 versions from your site/link and also not aware that there is also your compiled version, otherwise I'd not have compiled it again! If my version is a big problem for you, I'll remove from future updates. 

 

  • Like 2
Link to comment
Share on other sites

On 3/20/2023 at 12:18 PM, senior_falcon said:

Would it be OK for tmop69 to replace the version he compiled with the version that you compiled?

That is acceptable, per the documentation included with the 2018 release.  I assumed his collections are of items he compiled himself, so I did not presume this would apply.  The GameBase, for example, is a free distribution, which I have implicitly permitted in the 2018 release documentation.  The 1988 version was not released until 2018 in the same archive, and thus falls under its purview during development of the 2018 release as a preview.  Nevertheless, in short, I do not want my programs distributed in adulterated forms.

Edited by OLD CS1
Correct an error.
  • Like 2
Link to comment
Share on other sites

24 minutes ago, OX. said:

Is there a compiled version of Hells' Halls by Pixelpedant?

No, it has floating point math on it, cannot be compiled. There is only the cart version of the basic program to use on FinalGROM / emulators. It's in this thread, in the .zip here.

  • Like 2
Link to comment
Share on other sites

On 3/21/2023 at 5:23 PM, tmop69 said:

No, it has floating point math on it, cannot be compiled. There is only the cart version of the basic program to use on FinalGROM / emulators. It's in this thread, in the .zip here.

So does Morphy, but you managed it somehow 😉 

Link to comment
Share on other sites

The floating point math in Hell's Halls is just too complex and pervasive to do an integer-only rewrite.  Stuff like the probability of a door being generated on any given as-yet-ungenerated wall:

 

D(X)=-(RND<0.6^UE+0.4)

 

Or the equations for deriving sound frequency from tokens in sound strings then generating relevant (tone and periodic noise) complementary frequencies:

 

7435 A=(A*A*A/14400+25)*4
7440 FOR V=11 TO I+15 STEP 50/I
7445 CALL SOUND(-425*I,A,V,A+2,V,A*3.81,30,-4,V-I)
7450 NEXT V

 

Everything hinges on floating point math and the fact that all TI BASIC subprograms inherently treat floating point values as equivalent to their nearest integer value (so that for example CALL HCHAR(RND+1,RND+1,33) writes character 33 to 1,1 or 1,2 or 2,1 or 2,2 with equal probability, as the X and Y values will be floating point values ranging from 1 to 2).  An integer version would be a total ground-up rewrite.

 

My recommendation for someone looking for a little bit of a speed boost would just be to run it in RXB as this will be a bit faster, but not so much as to be disruptive. 

  • Like 5
Link to comment
Share on other sites

1 hour ago, OX. said:

So does Morphy, but you managed it somehow 😉 

Approx. 25/30% of the compiled games have floating point math, but I was able to "fix" / "convert" them. ;-) As explained by @pixelpedant, the floating point math used in his game cannot be converted. The main problem is not with sounds and RND, but with game logic.

 

There are some "classic" games, like Hammurabi, Start Trek, etc. that have similar problems with the floating point math, impacting directly the game logic. I've converted these games in SSS using Classic 99. Unfortunately, the conversion is only possible with plain BASIC.

 

If you own a MiSTer, you can use the "Turbo On" on the TI99 core to improve CPU speed and, consequently, Hell's Hall. This feature is working fine with plan TI BASIC, however hangs in XB, as indicated in release notes.

 

  • Like 4
Link to comment
Share on other sites

35 minutes ago, jrhodes said:

Maybe i am just being dense here, but other compiled languages (not ti specific) don't have any problems with floating point math. Why is this so hard to accomplish for compiled code on the ti?

Because Harry wanted it to execute faster.  For instance, I once used a compiler for the Commodore 64.  Blitz, or something it was called.  And it had floating point capability, and so ended up being only about 5 to 10 times faster than BASIC in most cases.  Some operations were not very much faster at all as I remember.

 

 

Link to comment
Share on other sites

7 hours ago, Retrospect said:

Because Harry wanted it to execute faster.  For instance, I once used a compiler for the Commodore 64.  Blitz, or something it was called.  And it had floating point capability, and so ended up being only about 5 to 10 times faster than BASIC in most cases.  Some operations were not very much faster at all as I remember.

I used two BASIC compilers on the 64: Blitz! and Petspeed.  There is another one I picked up a copy of recently, but never used it.  CBM BASIC was already fast for most tasks, but compiling with either of these made programs seem as fast as ML.  A number of my favorite games of the day were compiled BASIC, which also had the added benefit of obfuscating the original BASIC code.  CBM BASIC also supports integer variables, as we discussed in a few other threads, using the percent sign (%) as the modifier.  Integer variables are fast, and handy to use because they do not require conversion from floating point for use in things like passing parameters to ML, and such.  In my BBS program, I use several integer variables to pass status flags and command information back and forth from BASIC to ML.  Anyway, I digress.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

9 hours ago, OLD CS1 said:

Integer variables are fast, and handy to use because they do not require conversion from floating point for use in things like passing parameters to ML, and such

Yeah , the % variables is something I was never aware of back in the C64 days , actually I became aware of what they were when Rich mentioned he wanted to use them in a rewrite of XB roms.  
I can see an advantage with this, integer would be good for X and Y positions on the TI screen as it's only ever 24 x 32.  What would be faster still though would be a single address for XB screen position say a CALL PEEK and a CALL LOAD that addresses 0 to 767.  That's only 1 address.  We can do this in MC but far as I'm aware (which isn't very far) we can't do this in XB?

  • Like 1
Link to comment
Share on other sites

1 hour ago, Retrospect said:

What would be faster still though would be a single address for XB screen position say a CALL PEEK and a CALL LOAD that addresses 0 to 767.  That's only 1 address.  We can do this in MC but far as I'm aware (which isn't very far) we can't do this in XB?

If XB supported PEEKV and POKEV, we could do this.  I did when programming in BASIC with the MiniMemory.  RXB and XB256 can manipulate VDP memory directly.

  • Like 2
Link to comment
Share on other sites

  • 1 month later...
On 2/14/2023 at 2:10 PM, tmop69 said:

@Cheung Ensure to have the latest version of Module Creator 2 package (in previous package there is an old version of L99 that has issues with more than 3 EA5 files). Install it.

 

Steps to create the cart:
- with TiDir convert all the EA5 files (for Title and Game) from TI File format to V9T9 format (in TiDir select the files, then Tools menu, then Convert Ti Files to V9T9😞
- launch Module Creator 2. Insert the cart name, etc. as showed in the image below. Press the "Create Module" button.

 

image.png.0275d3c9d93fad5ccae43bda558f5440.png

 

That's all! In attachment the cart for FinalGrom99 and emulators.

 

 

Warlors (2023)(Brian Gray)_8.bin 64 kB · 22 downloads

thanks for the help, I used everything to make the cartridge image for my new game, They Come At Night.

All the game files can be found on Github here: https://github.com/CheungChang7/TI99_HOMEBREW/tree/main/TCAN

 

But I'll also attach the cart image to this message for convenience.

 

TCAN_8.bin

  • Like 6
Link to comment
Share on other sites

  • 3 months later...
57 minutes ago, Rafael1138 said:

Hi, in order to run this files in real hardware I need the FinalGrom99? or I can run them from the TIPI?

They are .bin files for use with the FinalGrom99.

Some of them will expect to have the 32k sidecar installed also.

Edited by jrhodes
  • Like 1
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...
  • Recently Browsing   0 members

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