Jump to content
retroclouds

TI Basic vs. TI Extended Basic

Recommended Posts

Give TI Basic some love…

 

While working on integrating Stevie with TI Basic, I started appreciating TI Basic a lot.

Back in the days I had Extended Basic so didn’t care about TI Basic much.

Although the very first baby steps I did was in TI Basic, because I only got the TI Extended Basic module a few months later.

 

Anyway, we all know how much powerfull TI Extended Basic is and that it has a lot of advantages over TI Basic.

 

However, in this topic I ask you:

 

1) What are the (technical) benefits of using TI Basic compared to Extended Basic?

2) What are the most critical features missing in TI Basic?

 

Reason for asking is because I’m working on improving the TI Basic experience in combination with Stevie (full-screen editor)

 

As far as (2) is concerned, I’ll kick it off with: peek, poke (load), peekv, pokev, load, hex

Share this post


Link to post
Share on other sites

I've had a dabble with TI Basic and I found it okay for making games with so long as they are games your nan can play whilst listening to Classic-FM.

 

 The only technical benefit that I can think of is if you're using a stock console with 16K, you actually get a little bit more memory with TI Basic than you would with extended basic ... but at the end of the day when you're faffing around trying to write a routine that does DISPLAY AT using HCHAR and SEG$ it wouldn't make much difference then.

 

Oh and the randomizers and mathematical stuff all work faster in TI Basic than they do in standard XB .  But as soon as you start printing the results , again, the execution of that is slower in TI Basic.

Edited by Retrospect
  • Like 1

Share this post


Link to post
Share on other sites
44 minutes ago, Retrospect said:

I've had a dabble with TI Basic and I found it okay for making games with so long as they are games your nan can play whilst listening to Classic-FM.

 

 The only technical benefit that I can think of is if you're using a stock console with 16K, you actually get a little bit more memory with TI Basic than you would with extended basic ... but at the end of the day when you're faffing around trying to write a routine that does DISPLAY AT using HCHAR and SEG$ it wouldn't make much difference then.

 

Oh and the randomizers and mathematical stuff all work faster in TI Basic than they do in standard XB .  But as soon as you start printing the results , again, the execution of that is slower in TI Basic.

 

Thanks, that all makes a lot of sense. DISPLAY AT and ACCEPT AT would be really great to have.

Oddly, there is the DISPLAY function but I think it’s just an alias for PRINT. Would need to check if even the same token is used.

Never tried to compare DISPLAY with PRINT. The manual does state that DISPLAY is only for screen output, so theoretically it could be a bit faster as file output stuff is not needed.

 

Wasn’t there a command module that had some TI basic extensions as well?

Can’t recall if it’s one of those funky educational cartridges or some kind of business/accounting cartridge.

Edited by retroclouds

Share this post


Link to post
Share on other sites

By adding features to TI Basic, we essentially end up with XB... That said, a Pokev facility would be a godsend for screen access instead of the slow HCHAR and VCHAR. Also allowing multi-statements on a single line as well as being able to execute statements in IF/THEN structures would go a long way in making TI Basic code far more efficient.

Share this post


Link to post
Share on other sites
2 hours ago, retroclouds said:

Wasn’t there a command module that had some TI basic extensions as well?

 

The E/A cartridge adds function CALLs, INIT, LOAD, LINK, PEEK, PEEKV, POKEV, CHARPAT and the ability to write your own routines. 

 

The TE2 cartridge adds speech enhancements. I don’t know if it adds more.

 

...lee

Share this post


Link to post
Share on other sites
4 hours ago, retroclouds said:

Wasn’t there a command module that had some TI basic extensions as well?

Can’t recall if it’s one of those funky educational cartridges or some kind of business/accounting cartridge.

I believe that is correct. As I remember some of the command modules were written in BASIC. (Obviously not anything fast paced!) I think the extensions were available in BASIC if the cartridge is in the slot. Of course none of  this was documented by TI. I'm guessing that the extensions were similar to DISPLAY AT, but don't really know for sure.

 

1 hour ago, Vorticon said:

That said, a Pokev facility would be a godsend for screen access instead of the slow HCHAR and VCHAR.

As far as speed goes, PEEKV and POKEV don't really make a lot of difference, as you can see by using E/A or MiniMemory. Because there is just the address instead of row and column there would be a small speed increase but it would not be dramatic.

 

6 hours ago, retroclouds said:

1) What are the (technical) benefits of using TI Basic compared to Extended Basic?

TI BASIC can be slightly faster than XB by 5 to 10 percent if you use nothing but mathematical functions and do not use CALLs or string handling. It takes about 1/20 second to execute a CALL vs 1/50 second in XB, and that is without actually doing anything. If you wanted to compute pi to 100 places then BASIC might be a better choice, but for most programs the performance suffers.

Obviously, one big advantage is that every TI ever made can run TI BASIC.

 

For what it's worth, the E/A cartridge has around 2K of what appears to be unused grom, and MiniMemory has >01E4 or 484 bytes of unused grom starting at g6ECA. Also MiniMemory has >0590 or 1424 unused bytes of cartridge rom starting at 697e. So there is room for additions to both these cartridges.

  • Like 2

Share this post


Link to post
Share on other sites
6 hours ago, retroclouds said:

Give TI Basic some love…

 

While working on integrating Stevie with TI Basic, I started appreciating TI Basic a lot.

Back in the days I had Extended Basic so didn’t care about TI Basic much.

Although the very first baby steps I did was in TI Basic, because I only got the TI Extended Basic module a few months later.

 

Anyway, we all know how much powerfull TI Extended Basic is and that it has a lot of advantages over TI Basic.

 

However, in this topic I ask you:

 

1) What are the (technical) benefits of using TI Basic compared to Extended Basic?

2) What are the most critical features missing in TI Basic?

 

Reason for asking is because I’m working on improving the TI Basic experience in combination with Stevie (full-screen editor)

 

As far as (2) is concerned, I’ll kick it off with: peek, poke (load), peekv, pokev, load, hex

To me the full meal deal would be an IDE, something like DOS Turbo C/Pascal , built with Stevie that lets you edit, compile,and run TI-BASIC programs.

I have no idea if such a thing is realistic but perhaps with a liberal use of overlays it could be done.

  • Like 3

Share this post


Link to post
Share on other sites

I really miss

  call your_own_subprogram_by_name

  -and-

  def

 

Both Tools make it easier to keep code clean and readable.

Share this post


Link to post
Share on other sites
5 hours ago, dhe said:

I really miss

  call your_own_subprogram_by_name

  -and-

  def

 

Both Tools make it easier to keep code clean and readable.

 

def is there in TI-Basic. Just learned that yesterday while reading the excellent SAMS book:

 

ti994a-basic-reference-manual.pdf

 

 

Edited by retroclouds

Share this post


Link to post
Share on other sites
20 hours ago, Lee Stewart said:

 

The E/A cartridge adds function CALLs, INIT, LOAD, LINK, PEEK, PEEKV, POKEV, CHARPAT and the ability to write your own routines. 

 

The TE2 cartridge adds speech enhancements. I don’t know if it adds more.

 

...lee

 

Can you give some details on “… and the ability to write your own routines” 

 

Do you mean the def keyword? sub and subend are extended basic only if I’m not mistaking

Share this post


Link to post
Share on other sites
3 hours ago, lucien2 said:

I made a cartridge that adds the much loved multi-color mode to TI-Basic.

Surprisingly, it went a bit unnoticed.

https://atariage.com/forums/topic/210211-fractals/?do=findComment&comment=2721792

I missed that topic completely! I can't seem to get the multicolor mode cart to be recognized by classic99. Can you specify the ini file changes required? Same request for the fractal cart.

Share this post


Link to post
Share on other sites
5 hours ago, retroclouds said:

Can you give some details on “… and the ability to write your own routines” 

 

Do you mean the def keyword? sub and subend are extended basic only if I’m not mistaking

 

You can write ALC routines that can be loaded and run from TI Basic with CALLs to INIT, LOAD and LINK. If you need to use NUMASG, STRASG, NUMREF, STRREF, ERR for parameter passing, you will need to load BSCSUP. It is possible to do the argument passing without loading the BSCSUP routines (I’ve done it), but it is certainly more trouble.

 

...lee

  • Like 2

Share this post


Link to post
Share on other sites
On 11/27/2021 at 4:37 AM, retroclouds said:

 

Wasn’t there a command module that had some TI basic extensions as well?

Can’t recall if it’s one of those funky educational cartridges or some kind of business/accounting cartridge.

http://shawweb.myzen.co.uk/stephen/book8.htm

 

4 hours ago, retroclouds said:

Can you give some details on “… and the ability to write your own routines” 

http://www.unige.ch/medecine/nouspikel/ti99/headers.htm#call subprogram

  • Like 2

Share this post


Link to post
Share on other sites
28 minutes ago, Lee Stewart said:

You can write ALC routines that can be loaded and run from TI Basic with CALLs to INIT, LOAD and LINK. If you need to use NUMASG, STRASG, NUMREF, STRREF, ERR for parameter passing, you will need to load BSCSUP. It is possible to do the argument passing without loading the BSCSUP routines (I’ve done it), but it is certainly more trouble.

        ...lee

 

I wrote an ALC routine and posted it in the last two posts of TI Mini-Memory programs that does not need BSCSUP loaded.

 

...lee

  • Like 1

Share this post


Link to post
Share on other sites
On 11/27/2021 at 2:57 AM, retroclouds said:

2) What are the most critical features missing in TI Basic?

A simple way to force garbage collection. For a long time(The early years), the TI BASIC garbage collection bug(found in some consoles, inserting untimely delays), caused me much misery.:x

  • Like 1

Share this post


Link to post
Share on other sites
2 hours ago, dhe said:

The ability to have a user DEFined subprogram...

 

image.png.dd8452ca1acf1f548097eb76c4363213.png

 

and the basic version of...

 

image.png.487d7b5b4a6e36c02da41c38370bb9f4.png

 

Well, yes but you have this:

 

image.thumb.png.dfb504c590031da9c11b41d83c113c59.png

Share this post


Link to post
Share on other sites

True, but they are different use cases.

One is out standing at defining new mathematical functions that you might need.

The other (my example) should be used to make your programmer more maintainable and readable.

  • Like 3

Share this post


Link to post
Share on other sites
10 hours ago, retroclouds said:

@acadiel I wonder how the CALL MHCL (execute machine language) instruction on the TI-99/2 works. Do we have any documentation or an example on that instruction?

 

 

 

1.png

2.png

  • Like 3

Share this post


Link to post
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...