!!!Basic XL

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 (OSS), 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 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 a disk with Basic XL programs, allowing them to run on machines that did not have the Basic XL system. This made it far more practical than A+. On top of this, Basic XL was shipped in the form of a 16k "supercartridge" that used bank switching so it only took up 8k 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.

[{TableOfContents }]\\
[Basic XL/BASIC_XL.png]

* [OSS Basic XL 1.02 cartridge|OSSBasicXL102.car]
* [OSS Basic XL 1.03 cartridge|OSSBasicXL103.car] latest cartridge from OSS

* [OSS Basic XL 1.02 rom image|OSSBasicXL102.rom]
* [OSS Basic XL 1.03 rom image|OSSBasicXL103.rom] latest rom image from OSS


* [BASIC XL Toolkit Disk-Side A.atr] including AUTORUN maker
* [BASIC XL Toolkit Disk-Side B.atr] including EXTEND (BASIC XL is enlarged with 4K additional code!)

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|BXL_BXE_programs.zip] ; thanks to Charlie Chaplin from AtariAge. :-)

* [30 Days to Understanding BASIC XL-Bill Wilkinson and Diane Goldstein.pdf] 180 pages, OCR, tera thanks to low.blow from AtariAge, he will never be forgotten!
* [OSS BASIC XL-Reference Manual-1st Edition 1983.pdf] ;143 pages, OCR, tera thanks to low.blow from AtariAge, he will never be forgotten!
* [BASIX_XL_manual-revised_edition_2015_by_GBXL.pdf] ;The complete BASIC XL-manual! Language, Run Time and Toolkit. Revised edition 2015 by [GoodByteXL|http://home.arcor.de/walter.lojek/MyATARIHomepage/old_hp/OSS/OSS.HTM]. Highly recommended by the AtariWiki! This is, without any(!) doubt, the very best edition worldwide available. Nobody does it better. Mega-thanks to [GoodByteXL|http://home.arcor.de/walter.lojek/MyATARIHomepage/old_hp/OSS/OSS.HTM] for this outstanding work and the many hours of work to the community. We are deep in your debt! Thank you so much. :-)))
* [OSS Basic XL manual|BASIC_XL_Manual.pdf] ;158 pages, OCR, reprint from 8-Bit Classics
* [OSS-The Basic XL Toolkit-Including the BASIC XL Runtime Package-Reference Manual.pdf] ;42 double-pages, OCR
* [Optimized Systems Software, Inc. - SOFTWARE LICENSE AGREEMENT|Optimized_Systems_Software_Software_License_Agreement.pdf] ; thanks to Atarimania

!!Source Code for OSS Basic XL version 1.02 from February 5th, 1985:
* [BASICXL102.zip] ; 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. \\
[{Image src='Thank_you_bob1200xl.jpg' width=520 height=113 }]
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.\\
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\\
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. :-)
* [OSS Basic XL Review] (german)
* [Basic XL Information on Wikipedia|http://en.wikipedia.org/wiki/Optimized_Systems_Software#BASIC_XL]