Basic XL#

OSS

Background#

The original Atari BASIC was written at Shepardson Microsystems (SMI) shortly before the 8-bit machines were released. A short time later, Shepardson dissolved, and the Atari programmers re-formed as Optimized Systems Software, taking the source code to the Atari products with them. In 1981 they released OSS Basic A+, based on the original Atari BASIC code but containing a number of bug fixes and a few expansions. This made it too large for the 8k ROM cartridges of the era, and A+ shipped only in disk form.

Basic XL was a further, but much larger, expansion on the Basic A+ model. As it was also based on the original source code, Basic XL remains a strict superset of Atari BASIC, and will run any Atari BASIC program without modification. In contrast to A+, however, XL added many new commands to work with player/missile graphics, simplified handling of joysticks and light pens, autogenerated line numbers and handled renumbering, and other extensions.

Much more notable, however, was Basic XL's FAST command. Atari BASIC was notoriously slow, due largely to two problems. One was that the floating point routines in the Atari OS ROMs were very slow, and every number in BASIC, even line numbers and array indexes, were sent through this code. The other issue stemmed from the way Atari BASIC handled GOTO and FOR/NEXT commands. FAST fixed the later of these problems; when this command was encountered within a program, Basic XL cached the location line numbers pointed to by the GOTO and FOR/NEXT loops. This made the jumps dramatically faster than Atari BASIC, which had to scan through the entire source code every time through a loop.

Another notable feature of Basic XL was the AUTORUN system. This was a small runtime library that could be added to Basic XL programs to make them stand-alone. This allowed these programs to be run on computers that did not have Basic XL, which made it far more practical than A+. On top of this, Basic XL was shipped in the form of a 16kB "supercartridge" that used bank switching so it only took up 8kB of memory, making its footprint the same as Atari BASIC, as opposed to A+'s much larger size.

Basic XL was widely lauded in the press, and some stated it should be renamed Atari BASIC and built-into every machine. However, the release of TURBO-BASIC XL a year later largely ended the market for Basic XL. A further expansion, Basic XE, never became very popular.


Basic XL/BASIC_XL.png

CAR-Images:#

ROM-Images:#

ATR-Images:#

On Side B the suffix BXE is used. Don't get confused, it is Basic XL, OSS just used the suffix BXE for that disk.

According to Alfred from AtariAge, there is a problem with EXTEND: Wrong is that the MOVE $0570,$C4,4 statement doesn't work. $0570 is loaded with the proper values, but the cart command doesn't actually move the four bytes. If you deposit the proper values in $C4 and $C6 then the extension works. Therefore please use: MOVE $0570,$C4,-4 to install the extension. Thank you very much Alfred, we really appreciate your help.

Some example programs(info) ; thanks to Charlie Chaplin from AtariAge. :-)

Manuals#

Source Code for OSS Basic XL version 1.02 from February 5th, 1985:#

  • BASICXL102.zip(info) ; thank you so much for your help in this bob1200xl from AtariAge, that is such a great contribution, we really appreciate your help in that case. You will always be in our hearts and we will never forget you.
Thank you so much for your help bob1200xl from AtariAge!

This is(!) the source code for OSS Basic XL 1.02 on two DOS II Version 2.0D disks without any DOS. That means they are DD disks and can be opened with the original 815 DOS, which is inside the archive above.

The source has a .bak-file from February 5th, 1985. You need Mac/65 to read in the file: "master", which is without any suffix.

Further you need two DD drives: D1 and D2. Both atr images are renamed with the corresponding D. While running, files on drive 2 are accessed. All files which can be read are in a .txt-file inside the archive. So you all can get a quick look at.

DIR:
1 BASICXL102D1.atr
2 BASICXL102D2.atr
3 DOS 2.0D.atr
4 Basic XL (OSS Type A-034M).bin
5 Basic XL (OSS Type B-M091).bin
6 Example from Master.jpg
7 Types of carts.jpg
8 Win Latin 1.jpg
9 BASICXL102D1
10 BASICXL102D2
11 D2-BASICC.923
12 D2-BASICC.APL

the txt files are coded in Win Latin 1. Hope the CRs are coming the right way. The content of the two disks are in a folder each, too. So, you can get a quick look at. Position 11 and 12: these two files are accessed from the file: "CONVRT.LIS", but they are not on the disks. Maybe someone can help us here? Further, a call goes out here to enhance the source code to the final version of Basic XL 1.03.

Bob, we are so deep in your debt. Thank you so much again. :-)

Articles#