Jump to content
cbmeeks

Which BASIC?

Recommended Posts

I'm learning TMS9900 assembly language. But it's a little slow-going at the moment.

 

In the meantime, I'd like to tinker around with some graphics/sound on the TI using BASIC. The official Extended BASIC seems to be a popular choice but I read many times that it's slow.

 

XB is probably fast enough for what I want to do for now but I wouldn't mind playing with something that is faster and maybe even be compiled.

 

The most complex thing I would want to do with it would be along the lines of Asteroids or PacMan. I'll save the more complex programs for assembly.

 

What do you suggest?

 

Besides assembly, what are the cool kids using for graphics/sound on the TI?

 

Thanks!

 

PS, I wonder if there should be a sticky somewhere for this. Like a PROS/CONS of each language for the TI. I know there are a lot of them! Might help people make some choices.

Share this post


Link to post
Share on other sites

Write in XB, use Wilhelm's compiler to get assembly speed.

 

Best of both worlds (Like Locutus.... you will be assimilated)

Share this post


Link to post
Share on other sites

If you are looking at only personal creation and use, and not distribution, then getting setup for Myarc Extended Basic 2 would get you the speed. Faster than Extended Basic and more easily accessible graphic options.

 

However, finding a Myarc 512K card is not going to be easy.

 

Beery

Share this post


Link to post
Share on other sites

They Myarc sounds nice but I have a few other purchases ahead of it. :-)

 

I'll search for the Wilhelm compiler.

 

Will I need a disk system to use it? I was just going to save to cassette until I can get me a TIPI or real disk drive/controller.

Share this post


Link to post
Share on other sites

Will I need a disk system to use it? I was just going to save to cassette until I can get me a TIPI or real disk drive/controller.

You will need 32K to run the compiled program. The compiler needs a disk drive, but you can and should use Classic99 for the development work. The programs that are created can be saved to disk or cassette as XB programs and these can be loaded from cassette. If they are more than 12K then there is a special loader that lets you get around the 12K cassette limit.

 

You can find this in the thread "cass24k issue"

Edited by senior_falcon

Share this post


Link to post
Share on other sites

You can also use module creator to make the resulting E/A files from the compiler into a cartridge image.

 

 

Wait, does that mean I can write an XB program...compile it....and then take that compiled binary and convert it to a cart? So the end user wouldn't need XB to run it?

  • Like 1

Share this post


Link to post
Share on other sites

 

 

Wait, does that mean I can write an XB program...compile it....and then take that compiled binary and convert it to a cart? So the end user wouldn't need XB to run it?

 

Yes.

Share this post


Link to post
Share on other sites

SWEET!

 

So, once I'm able to burn my own carts, of my own software, I will literally have no reason to leave my house. :-D

 

Thanks!

  • Like 2

Share this post


Link to post
Share on other sites

 

Wait, does that mean I can write an XB program...compile it....and then take that compiled binary and convert it to a cart? So the end user wouldn't need XB to run it?

As I understand this,the program is copied out of the cartridge and into the 32K memory expansion. So a totally unexpanded TI99 would not work - you need the 32K.

Share this post


Link to post
Share on other sites

As I understand this,the program is copied out of the cartridge and into the 32K memory expansion. So a totally unexpanded TI99 would not work - you need the 32K.

 

No worries there. My machine has the 32K expansion.

 

In fact, I plan on getting a SAMS card sometime soon. :-)

  • Like 1

Share this post


Link to post
Share on other sites

yep, thats what I did with the weather program below: (requires tipi)

100 CALL CLEAR
101 INPUT "3 LETTER AIRPORT CODE:":C$ :: IF LEN(C$)<3 OR LEN(C$)>3 THEN GOTO 100
110 URL$="http://tgftp.nws.noaa.gov/data/observations/metar/decoded/K"&C$&".TXT"
115 REM REPLACE KDEN WITH THE REPORTING STATION YOU CARE ABOUT
120 DIM A$(255)
121 D=0
130 OPEN #1:"PI."&URL$,INPUT ,VARIABLE 254
140 ON ERROR 180
150 D=D+1
160 LINPUT #1:A$(D)
170 GOTO 150
180 CLOSE #1
190 FOR I=1 TO D
200 PRINT A$(I)
210 NEXT I
220 INPUT "AGAIN?(Y/N)":Y$
230 IF SEG$(Y$,1,1)="Y" THEN GOTO 100

compiled that and got the attached ea5 in the zip and then made the attached bin

weather.zip

weather32k8.bin

  • Like 1

Share this post


Link to post
Share on other sites

As I understand this,the program is copied out of the cartridge and into the 32K memory expansion. So a totally unexpanded TI99 would not work - you need the 32K.

 

 

I also haven't been able to get it to work with programs that use low mem for the XB256 routines.

Share this post


Link to post
Share on other sites

yep, thats what I did with the weather program below: (requires tipi)

100 CALL CLEAR
101 INPUT "3 LETTER AIRPORT CODE:":C$ :: IF LEN(C$)<3 OR LEN(C$)>3 THEN GOTO 100
110 URL$="http://tgftp.nws.noaa.gov/data/observations/metar/decoded/K"&C$&".TXT"
115 REM REPLACE KDEN WITH THE REPORTING STATION YOU CARE ABOUT
120 DIM A$(255)
121 D=0
130 OPEN #1:"PI."&URL$,INPUT ,VARIABLE 254
140 ON ERROR 180
150 D=D+1
160 LINPUT #1:A$(D)
170 GOTO 150
180 CLOSE #1
190 FOR I=1 TO D
200 PRINT A$(I)
210 NEXT I
220 INPUT "AGAIN?(Y/N)":Y$
230 IF SEG$(Y$,1,1)="Y" THEN GOTO 100

compiled that and got the attached ea5 in the zip and then made the attached bin

 

Sadly it just give a reference to a web page now and does not give the actual data anymore. I was so hoping the format could have been tweaked as well to display the data in a more readable format. But with the change, who knows.

Share this post


Link to post
Share on other sites

 

Sadly it just give a reference to a web page now and does not give the actual data anymore. I was so hoping the format could have been tweaked as well to display the data in a more readable format. But with the change, who knows.

Maybe it's the KXXX i tried kpdx the other day and it worked

 

Sent from my LG-V530 using Tapatalk

Share this post


Link to post
Share on other sites

I also haven't been able to get it to work with programs that use low mem for the XB256 routines.

I may have included files that are in the wrong format. I will check this out and make sure it works properly. The other thing I am working on is a way to load the runtime routines into low memory using the XB cartridge so you don't have to change to MiniMemory. This is not trivial because it is possible to use up all 32K of the memory expansion, leaving no place to put the code that creates the EA5 files and the XB files. But where there's a will there's a way and I am almost done with this. I have a bunch of memory saving tricks that make it possible, and will describe them when I post the updated version in the next few days.

  • Like 2

Share this post


Link to post
Share on other sites

I did a pr and added https to tipi's PI. http routine, so it will work now with the domain changed to HTTPS: or https: but I need to recompile it for the binaries.. will do that. tipi update 30 was just released so update your tipi in tipicfg

Share this post


Link to post
Share on other sites

For XB, I started with TI's then later upgraded to SXB, Super Extended BASIC. The more advanced editing options really help with programming. When editing a long line, you can jump the cursor up or down a row, or to the beginning or end. The RENUM is more flexible where portions of code can be moved elsewhere without disturbing the rest of the program. There's other features as well.

 

Other flavors of XB no doubt have similar improvements. RXB is very full-featured beyond SXB, but I'm not sure about its availability on a cart or if it can be ported to one for use on the iron.

 

Speed of execution depends a bit on the programming techniques. Short E/A routines can be developed to perform some things much faster but remain in the XB environment. For raw speed outside of writing it all in assembly, Harry's compiler is the way to go.

-Ed

Edited by Ed in SoDak

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.

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...