Jump to content
IGNORED

Atari BASIC, was it intended as an interim BASIC?


bbking67

Recommended Posts

When IBM designed the PC it was intended to run CPM, not DOS... when Digital Research couldn't deliver on time they contracted Microsoft to license MS-DOS. But originally the plan was to offer CPM as quickly as possible. When they did, CPM cost more and DOS was already firmly entrenched... the benefit of being first outweighed having the larger library of CPM software.

 

Was Atari's intention with BASIC to supplant it with Microsoft BASIC or some other more powerful BASIC? Atari BASIC was pretty rushed and it performs fairly poorly... the decision to put ot on a cartridge lends creedence to the "interim" BASIC strategy. If it were the case I guess it would be hard to move over to a new BASIC... I don't think Microsoft BASIC ever sold too many units.

 

Does anyone know the real history on this?

Link to comment
Share on other sites

The philosophy of the 800 leaned towards a very modular approach to the point of allowing the user to easily change to another OS.

Of course the reality of what happened is it made adding Ram easy but did little else aside from the few expansions like 80 column cards.

 

In some system configurations you didn't even get a Basic cartridge. And the philosophy of "serious" computers was and still is that you have a built in BIOS or bootstrapper and the OS plus whatever languages you want to use is up to the user to purchase.

 

Atari Basic is a case of jamming 10 pounds of shit into a 5 pound bag. As it is you may as well call the FP 2K Rom part of Basic because it won't work without it.

Compared to most other 8K Basic implementations it has a lot of functionality. Fair enough, the OS helps enormously for lots of it but the relative poor performance is somewhat to be expected.

Providing lots of functionality with a small amount of programming usually means performance optimisations have to take a back seat.

Link to comment
Share on other sites

It's might as well worked out since Atari BASIC had direct commands to use the 800's sound & graphics, while MS BASIC needs to use POKE commands (Ask any C-64 user).

 

MS BASIC was mainly for compatibility with programs in the business or academic environment which was why it worked as an optional purchase. I remember using ST BASIC to make programs for a college course that used MS BASIC but had to use STOS Basic to actually use the ST's full abilities for my personal projects...

Link to comment
Share on other sites

Atari Basic is a case of jamming 10 pounds of shit into a 5 pound bag. As it is you may as well call the FP 2K Rom part of Basic because it won't work without it.

Compared to most other 8K Basic implementations it has a lot of functionality. Fair enough, the OS helps enormously for lots of it but the relative poor performance is somewhat to be expected.

Providing lots of functionality with a small amount of programming usually means performance optimisations have to take a back seat.

 

 

The poor performance is not really due to the size constraint, but due to a couple of bad design decisions. The BCD-based arithmetic is often quoted, but this is only partially true. Other factors are that Atari basic always stores line numbers (and not addresses or offsets) for the for-next loops,and that the general implementation quality of the math pack in particular was not very good.

Link to comment
Share on other sites

It's might as well worked out since Atari BASIC had direct commands to use the 800's sound & graphics, while MS BASIC needs to use POKE commands (Ask any C-64 user).

 

MS BASIC was mainly for compatibility with programs in the business or academic environment which was why it worked as an optional purchase. I remember using ST BASIC to make programs for a college course that used MS BASIC but had to use STOS Basic to actually use the ST's full abilities for my personal projects...

MS Basic on the C64 did not provide any specialized commands for graphics and sound, and this limits the useabilty of the language a lot. Actually, the C64 Basic was probably only little more than a "fig leave" to tell customers that something like a programming language was included, but it wasn't really suitable to do anything useful with it. No graphics, no sound, and rather poor software support.

 

Speaking about the C64: It is often said that the 6502 version of MS-Basic was too long (12K instead of 8K) to fit into a cart. Fair enough, but the Basic ROM area on a C64 is also only 8K long, and the CBM Basic is nothing more than a rebranded MS Basic. So how did they squeeze the 12K basic into an 8K cart on the C64?

Link to comment
Share on other sites

Basic on the C64 may as well be 9K as it overflows into the Kernal Rom @ $E000.

 

http://www.ffd2.com/fridge/docs/c64-diss.html

 

Probably better disassemblies out there. Surprising the large amount of space that goes to the tape handler, as opposed to Atari where the bulk of it is common code with other SIO.

I've not looked into Atari's version of MS Basic but it wouldn't surprise me if it's much more comprehensive than C64 Basic.

 

As for the length of the initial MS Basic implementation on 6502, some more info here http://www.pagetable.com/?p=43

Link to comment
Share on other sites

Applesoft II didn't come out until 1979 and previous versions of Microsoft BASIC had no support for graphics other than SET() and RESET().
Sound support was non-existent.
The 6502 version of Microsoft BASIC also lacked some of the more popular features from the TRS-80 version which supports integers, double, and single precision floating point, more string handling functions and PRINT USING which are really nice for business or scientific software.
So when Atari would have evaluated Microsoft BASIC, it was big, stripped down, had no graphics or sound features (a major focus of the Atari) and Microsoft probably wanted too much in royalties.

When they designed Atari BASIC I'm sure BCD sounded good for business programs, the graphics support seemed really important and space was a major consideration.
If it weren't for a couple poor decisions it might have worked out.

Edited by JamesD
Link to comment
Share on other sites

While I can understand Atari's decision to publish ATARI BASIC in this form, I wonder why they never openly embraced what OSS achieved with their BASIC dialects and ACTION! afterwards. I have never seen an original cartridge of these prior to buying one on ebay.com, only read about ACTION! in the "Computer Kontakt" magazine and they were really expensive (more than 200 German Marks in the mid 1980s). It would have helped a lot if these were distributed through Atari.

  • Like 3
Link to comment
Share on other sites

While I can understand Atari's decision to publish ATARI BASIC in this form, I wonder why they never openly embraced what OSS achieved with their BASIC dialects and ACTION! afterwards. I have never seen an original cartridge of these prior to buying one on ebay.com, only read about ACTION! in the "Computer Kontakt" magazine and they were really expensive (more than 200 German Marks in the mid 1980s). It would have helped a lot if these were distributed through Atari.

 

Imagine if the 1200XL shipped with Action!, and that every machine from then on also had Action! either as a cart or built in. What would have happened?

 

BTW, I love the string handling of Atari Basic.

  • Like 2
Link to comment
Share on other sites

The BASIC V2 in the C64 was originally licensed for the PET years earlier. The story goes- for a one time flat fee regardless of the number of machines sold. For this reason, the exact same version was released on the VIC and C64... No additional royalty payments, and no hardware customization.

 

When the 128 came along, they did re-license it and add some machine-specific features.

Link to comment
Share on other sites

BTW, I love the string handling of Atari Basic.

 

Having started with Atari BASIC's large DIMension capability and the ADR() function, in later years I immediately understood C strings (aka char arrays) and char pointers. Atari BASIC strings are a lot like C strings (less the C end of string sentinel.)

  • Like 3
Link to comment
Share on other sites

The BASIC V2 in the C64 was originally licensed for the PET years earlier. The story goes- for a one time flat fee regardless of the number of machines sold. For this reason, the exact same version was released on the VIC and C64... No additional royalty payments, and no hardware customization.

 

When the 128 came along, they did re-license it and add some machine-specific features.

Commodore had the source and made all changes after the initial version for the PET.

My understanding was that they didn't have to re-license it for the C128, it just displayed the Microsoft BASIC message for the first time.

Link to comment
Share on other sites

MicroSoft was so late with their Basic's port that Atari "fired" Bill Gates.

Also, MS Basic was 12KB and can't fit a 8KB rom.

AtariBasic was a rush job to fill the hole before the computers come to the shops.

Where did you get this info?

I'm trying to figure out how a working basic would be late. Microsoft had already delivered 6502 BASIC for the PET, Apple II, and OSI.

Edited by JamesD
Link to comment
Share on other sites

Where did you get this info?

I'm trying to figure out how a working basic would be late. Microsoft had already delivered 6502 BASIC for the PET, Apple II, and OSI.

It's from a (future/unpublished) French book about Atari. This part is based upon an Alan Miller's interview.

 

<< Alan Miller hired Bill Gates and MicroSoft. MsBasic already exists for 6502, so it should be fast to write. So the contract's delay is very short.

Fred Thorlin is waiting. He calls Bill. Bill only has unfinished/uncomplete technical documents about Atari's computers, so it's hard to complete his Basic's port.

MicroSoft must pay for every MsBasic's late day. The delay is already over. Even if MicroSoft finishes MsBasic's port, they will gain nearly zero dollars for it.

MsBasic needs a 12KB rom, but target cartridge is 8KB. They can't optimize it under 8KB. So Atari fires Bill Gates!

Atari then calls Bob Shepardson from "Shepardson Microsystems". (Team: Paul Laughton, Bill Wilkinson, Kathleen O'Brien, etc).

AtariBasic is done from scratch and only in a few weeks. First version is ready for december 1978 (just before january CES). Final version is ready for april 1979.>>

Link to comment
Share on other sites

It's from a (future/unpublished) French book about Atari. This part is based upon an Alan Miller's interview.

 

<< Alan Miller hired Bill Gates and MicroSoft. MsBasic already exists for 6502, so it should be fast to write. So the contract's delay is very short.

Fred Thorlin is waiting. He calls Bill. Bill only has unfinished/uncomplete technical documents about Atari's computers, so it's hard to complete his Basic's port.

MicroSoft must pay for every MsBasic's late day. The delay is already over. Even if MicroSoft finishes MsBasic's port, they will gain nearly zero dollars for it.

MsBasic needs a 12KB rom, but target cartridge is 8KB. They can't optimize it under 8KB. So Atari fires Bill Gates!

Atari then calls Bob Shepardson from "Shepardson Microsystems". (Team: Paul Laughton, Bill Wilkinson, Kathleen O'Brien, etc).

AtariBasic is done from scratch and only in a few weeks. First version is ready for december 1978 (just before january CES). Final version is ready for april 1979.>>

That sounds like a bit of incompetence on Atari's part and like Bill was trying to get more money.

I have to wonder if it was public knowledge that Shepardson Microsystems had created the DOS for Apple or if someone at Atari put in a call to Apple to ask them about it.

 

Info on creation of Apple DOS says it was created on a mini-computer using punch cards. I have to wonder if Atari BASIC was created the same way.

If it wasn't, they probably created it on an Apple II. It is so much easier these days.

 

The choice to use BCD math may not have been for business purposes but because it would take to long to deal with floating point math.

Which may mean they either hadn't seen the published 6502 floating point routines in BYTE or they didn't want to worry about copyright issues.

 

Link to comment
Share on other sites

The 800XL should have had BASIC XL instead of the useless self test but my reckoning is that by that time Atari was so desperate to reduce production costs that they didn't care. I don't think built-in Action! would have been a realistic option as BASIC was still the 'must have' language everyone knew and Action! does have a much steeper learning curve than BASIC.

 

I seem to recall that I read somewhere that Atari BASIC was done on a Cromemco S-100 machine (maybe in the Compute! BASIC Source Book). It also said that Atari had produced all the ROMs when Shepardson came with bug fixes.

 

I'd go for a mix of Turbo BASIC plus FN() and BASIC XE Extend and PM Commands (+ maybe integers ;-)

 

 

Gesendet von meinem iPhone mit Tapatalk

Link to comment
Share on other sites

There's little point changing Basic mid-stream, you'd just alienate users because programs wouldn't work the same on all systems.

 

A better option might have been the ability to switch in a fast FP in place of the standard one instead of Self-Test. In theory you could probably switch freely between the two so long as a calculation isn't in mid-stream.

Though my long standing opinion on Self-Test and the 2nd chset is that the space would have been better given to a resident Dos.

  • Like 1
Link to comment
Share on other sites

...

I seem to recall that I read somewhere that Atari BASIC was done on a Cromemco S-100 machine (maybe in the Compute! BASIC Source Book). It also said that Atari had produced all the ROMs when Shepardson came with bug fixes.

...

It would make sense for Shepardson to stop paying timeshare fees and they had money from the Apple deal.

While they did a decent job for Apple, I think Atari should have considered one of the companies that made a BASIC for FLEX.

6502 experience was certainly important but interpreter design is where Atari BASIC fell short.

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