+retroclouds Posted November 27, 2021 Share Posted November 27, 2021 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 Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted November 27, 2021 Author Share Posted November 27, 2021 If you want to see how TI Basic integration looks like, take a look at the video Quote Link to comment Share on other sites More sharing options...
Retrospect Posted November 27, 2021 Share Posted November 27, 2021 (edited) 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 November 27, 2021 by Retrospect 1 Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted November 27, 2021 Author Share Posted November 27, 2021 (edited) 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 November 27, 2021 by retroclouds Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted November 27, 2021 Share Posted November 27, 2021 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. Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted November 27, 2021 Share Posted November 27, 2021 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 Quote Link to comment Share on other sites More sharing options...
senior_falcon Posted November 27, 2021 Share Posted November 27, 2021 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. 2 Quote Link to comment Share on other sites More sharing options...
+TheBF Posted November 27, 2021 Share Posted November 27, 2021 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. 3 Quote Link to comment Share on other sites More sharing options...
+dhe Posted November 28, 2021 Share Posted November 28, 2021 I really miss call your_own_subprogram_by_name -and- def Both Tools make it easier to keep code clean and readable. Quote Link to comment Share on other sites More sharing options...
lucien2 Posted November 28, 2021 Share Posted November 28, 2021 22 hours ago, retroclouds said: Wasn’t there a command module that had some TI basic extensions as well? 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 5 Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted November 28, 2021 Author Share Posted November 28, 2021 (edited) 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 November 28, 2021 by retroclouds Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted November 28, 2021 Author Share Posted November 28, 2021 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 Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted November 28, 2021 Share Posted November 28, 2021 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. Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted November 28, 2021 Share Posted November 28, 2021 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 2 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted November 28, 2021 Share Posted November 28, 2021 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 2 Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted November 28, 2021 Share Posted November 28, 2021 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 1 Quote Link to comment Share on other sites More sharing options...
+dhe Posted November 28, 2021 Share Posted November 28, 2021 The ability to have a user DEFined subprogram... and the basic version of... Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted November 28, 2021 Share Posted November 28, 2021 So where would one stash the ALC routines on an unexpanded console? Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted November 28, 2021 Share Posted November 28, 2021 Same space that Stevie, runs from, FG99. Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted November 28, 2021 Share Posted November 28, 2021 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. 1 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted November 28, 2021 Share Posted November 28, 2021 Looking deeper into Stephen's, site... http://shawweb.myzen.co.uk/stephen/3063.htm It seems that the Advertiser\Advertizer, module might be the king, having the most sub-program entries I've seen yet! 4 Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted November 28, 2021 Author Share Posted November 28, 2021 2 hours ago, dhe said: The ability to have a user DEFined subprogram... and the basic version of... Well, yes but you have this: Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted November 28, 2021 Author Share Posted November 28, 2021 @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? Quote Link to comment Share on other sites More sharing options...
+dhe Posted November 28, 2021 Share Posted November 28, 2021 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. 3 Quote Link to comment Share on other sites More sharing options...
+acadiel Posted November 29, 2021 Share Posted November 29, 2021 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? 3 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.