Jump to content
IGNORED

Atari Basic and changes over time


Sean39

Recommended Posts

Hi Everyone

 

I have been programing computers for a really long time. I have one question. Atari had to limit there first run of basic because on

ROM size.

 

We have Version A,B,C Which all came out in different years to fix the bugs found on the first run.

 

Now as we all know atari started to use bigger Rom Chips to make their games much better and more detail. Even up

to 32 and 48K games..

 

Now with the improvement of ROM chip sizes. Why did not atari never come up with a better basic that filled in all the missing command words

that were in other basic languages. They even admitted they had to cut back on the atari language due to rom size.

 

Later on I know they came out with atari basic for the 130XE to fill in all the missing command statements. Now how come this was never

done on cartridge since now they had much larger rom chips that could handle a much more advance basic language.

 

When I am talking about atari 130XE basic that the one found on disk

 

Does anyone have an answer to this question.

 

I would have loved to had a stronger basic language. Microsoft basic and many more had the missing command statements.

Even a Timex sinclair 1000 had a stronger basic language than the atari. Go back and see how many command words are on the

sinclair and see how many of them are missing out of Atari basic.

 

I have to write alot of machine coding in atari just to make up for those commands when I wrote programs and games.

 

Anyways did anyone else run into this problem when programing in atari basic

 

Thanks

Sean

Edited by Sean39
Link to comment
Share on other sites

Atari Basic is one of the better 8-bit standard Basics around.

 

Better than anything C= offered before the 128 or Plus/4.

 

The string handling is the biggest difference between it and most others but in reality is much better anyway.

 

People that complain about it just don't understand it.

 

The biggest complaint is lack of speed but that's down to the poor FP package and the fact they crammed the remainder into 8K which meant no room left for optimisations.

 

There's probably more language options for A8 than any other 8-bit, so if you don't like it, try something else.

Link to comment
Share on other sites

I think most people concerned with BASIC on the Atari use Turbo BASIC these days anyway, with all it's extended commands and compiling and run-time packages. If you want cartridge and much more extensive BASICS then get OSS's BASIC XL&XE.

Link to comment
Share on other sites

Later on I know they came out with atari basic for the 130XE to fill in all the missing command statements. Now how come this was never

done on cartridge since now they had much larger rom chips that could handle a much more advance basic language.

 

When I am talking about atari 130XE basic that the one found on disk

 

 

 

Never heard of a 130XE basic - what is it?

 

 

I personally like Atari Basic because it is compatible with SpartaDOS and I can compile it using MMG or ABC compilers for speed.

Link to comment
Share on other sites

The main reason that they didn't expand BASIC was this: when you change the ROM size, memory locations change. Suddenly, thousands of BASIC programs would no longer work, especially if they expected xx routine to be in yy memory location.

 

So any bug fixes would try to take the exact number of bytes as the original, offending ROM code.

 

I kind of wish that they would have had a second BASIC built-in to the XE game machine, selectable at startup. Maybe one of the OSS languages. If it was a switchable ROM (sort of like Missile Command could be toggled at bootup, or BASIC-C), then it wouldn't create a memory issue. Imagine BASIC-A, BASIC XE and Action!, all built-in to the XE?

Link to comment
Share on other sites

Atari really wanted Microsoft Basic. Because of timing issues (we're told) they settled on the current Basic from OSS. Later, they added the disk version of Atari Microsoft Basic and later still they added the 16K MSB cartridge. This may be the "130XE Basic" that you refer to, although the 130XE had nothing to do with MSB. Neither MSB version became popular for the Atari.

 

For those that liked 8K Atari Basic, OSS produced an expanded disk version called Basic A+. Like the disk version of MSB, it took quite a bit of memory. Later, this (essentially) became Basic XL (from OSS) which was one of the first bank-switching carts for the A8. This was a 16K of code in an 8K space cart. With the advent of the 130XE, OSS released Basic XE. With it's extensions that use ram-under-rom memory tricks, it was at least a 20K code package in 8K of space. Basic XL and Basic XE are serious Basics, and Basic XE is quite fast -- just a tic slower than Turbo Basic XL (uncompiled). There is a disk runtime package for Basic XL, but no compiler for either of these OSS products. These carts are quite sought-after -- check eBay when one comes up for auction. Both of these have string array features. You can program your way around having not string arrays, but having the "real deal" is very nice.

 

Frost Basic and Turbo Basic XL are fine releases. Neither offer string arrays. TBXL uses ram-under-rom memory tricks to actually provide more usable memory than 8K Basic. It has a compiler and runtime package. A really handy linker was later added so that a stand-alone executable files could be created. A cartridge is also available that allows quick loading of TBXL or its compiler. I would describe this cartridge as more of a "loader" for (essentially) the disk code of TBXL (or the compiler).

 

Last, there is ABC (A Basic Compiler) from Monarch Data Services that allows compiling of 8K integer programs. There was also the Datasoft compiler, later improved and released as the MMG Compiler. Both these produce stand-alone executables.

 

This is the "short story version." Some other products have been released, but these are the "biggies" as I see it. There is a LOT of info on the web about Atari Basic and the others if you dig a little.

 

-Larry

Link to comment
Share on other sites

Thanks guys.

I do like the 8K rom,but I have just notice alot of the command words were drop due to the size of ROM Atari had to work with. I did read at one time

they had to cut the size back to get the basic to all fit on the Cartridge. Anyways I am glad some one did hear of the XE basic. I was reading about it

in the Antic magazine around the time the 130 XE came out. there is even programs in the back of the magazine that say they require XE basic to run them.

I was not sure if this basic was on disk or a cartridge since I really never delt with it. I have program in Microsoft basic,and assembly language as well

machine code. Some Fortran.

 

I see there was a lot of options I was not aware of for the Atari computers. I do have a atari 800, 400 ,and the 130XE Which are all great computers.

I am glad Larry knew about the XE basic becauase I really wanted to try those programs that said they required XE basic. Which is not the basic that

in the 130XE since it just used a Rev. C copy of the original basic atari came out with.

 

Thanks

Again

 

Sean

Link to comment
Share on other sites

Well,

 

if you search thru the Bellcom PD library, you can find some BXL and BXE listings (or sources).

Here is what I have in my collection currently (disk 5-8 also have some BXE sources). And err, since I don`t have BXL nor BXE cartridge I never tested any of these programs...

 

For BXL one could alternatively use the "BXL-Runtime" or whatever it is called, its an Autorun.SYS file with a length of 109 sectors, it will autoload a file named Autorun.BXL; one can find it on these disks; it is also possible to run an Atari Basic file with this BXL-Runtime, by renaming it to Autorun.BXL, it may run/execute a little faster then...

 

-Andreas Koch.

bxl_bxe_sources.zip

Edited by CharlieChaplin
Link to comment
Share on other sites

I can't think of any, but I do remember running across them. I've written a couple of programs that used the "EXTEND" command that puts the program code in the 130XE extra banks and uses main memory for strings/array data. I personally think they should have done it the other way, but it is still a neat feature if you need lots of program or data space.

 

I never cared a lot for Dos XL or OSA+ (dos), but if you use that Dos, a chunk of it can reside under the Basic XL Supercart, further increasing available program memory. Pretty tricky! In Basic XE, part of the extensions reside under the cart, and of course, BXE also has a fast floating point package.

 

Just an opinion, but I think that the design and implementation of the BXE supercart system for the 130XE is extraordinary.

 

-Larry

 

Edit: Just in case you try to see how much FRE(0) memory you have before and after EXTEND, after invoking EXTEND, the FRE(0) function now shows the data space for strings/arrays and not the program space. (I found that confusing when I first used the command.)

Link to comment
Share on other sites

Eh, Atari BASIC isn't really 8K, but 10K. The 2K math pack module in the OS is really an extension ROM for Atari BASIC since hidden within it are several undocumented routines and constants that are only used by BASIC. IMO, if conventional binary floating point routines had been used instead of decimal floating point, they could have crammed more functionality into the math pack region.

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