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




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.

In October of 2019 robdaemon from AtariAge made a strange discovery the community didn't had a clue of, please see the discussion on AtariAge. Due to some discussions in the backgroud and again with the great help from 'kind soul', we could receive the toolkit in version 1.02. After a binary compare of each file on both disks, we could find, that 2 files only are different. These are AUTORUN.SYS and EXTEND.COM. The investigations still continue as of March 2020. If you have the 1.02 cartridge, then please use the toolkit 1.02 and if you have the 1.03 cartridge, then please use the toolkit 1.03. AtariWiki further highly recommends the reading of the fall 1986 OSS Newsletter from page 6 on for this case. In the newsletter the reader will even find a 6 lines code fix for problems regarding with the toolkit.

ROM version 1.02 works with extensions from toolkit 1.02 and 1.03 without errors. ROM version 1.03 works with extensions from toolkit 1.03 only without errors. Thanks to GoodByteXL for testing and letting us know.


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

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

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
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 - manual cover

Add new attachment

Only authorized users are allowed to upload new attachments.

List of attachments

Kind Attachment Name Size Version Date Modified Author Change note
30 Days to Understanding BASIC... 5,068.0 kB 1 22-Apr-2014 01:38 Roland B. Wassenberg 30 Days to Understanding BASIC XL-Bill Wilkinson and Diane Goldstein
30_Days_to_Understanding_BASIC... 764.7 kB 1 05-Aug-2022 19:56 Roland B. Wassenberg 30_Days_to_Understanding_BASIC_XL-Bill_Wilkinson_and_Diane_Goldstein-GBXL_2022.p
30_Days_to_Understanding_BASIC... 625.2 kB 1 18-Mar-2020 05:48 Roland B. Wassenberg 30_Days_to_Understanding_BASIC_XL-Bill_Wilkinson_and_Diane_Goldstein-revised_edi
BASIC XL Toolkit 1.02-Disk-Sid... 92.2 kB 1 18-Mar-2020 04:00 Roland B. Wassenberg BASIC XL Toolkit 1.02-Disk-Side A-Original.atr
BASIC XL Toolkit 1.02-Disk-Sid... 92.2 kB 1 18-Mar-2020 04:01 Roland B. Wassenberg BASIC XL Toolkit 1.02-Disk-Side B-Original.atr
BASIC XL Toolkit Disk-Side A.a... 92.2 kB 1 24-Feb-2014 22:01 Roland B. Wassenberg BASIC XL Toolkit Disk-Side A
BASIC XL Toolkit Disk-Side B.a... 92.2 kB 1 30-May-2014 21:58 Roland B. Wassenberg BASIC XL Toolkit Disk-Side B
zip 496.4 kB 1 04-Feb-2015 01:06 Roland B. Wassenberg
BASIC_XL.png 60.9 kB 2 02-Jan-2011 21:55 Carsten Strotmann
BASIC_XL_Manual.pdf 1,187.9 kB 1 02-Jan-2011 21:50 Carsten Strotmann
BASIX_XL_manual-revised_editio... 1,171.0 kB 1 26-Jun-2016 21:21 Roland B. Wassenberg BASIX_XL_manual-revised_edition_2015_by_GBXL
BASIX_XL_manual-revised_editio... 1,263.7 kB 1 18-Mar-2020 05:49 Roland B. Wassenberg BASIX_XL_manual-revised_edition_2020_by_GBXL.pdf
zip 308.4 kB 1 23-Jul-2016 15:10 Roland B. Wassenberg BXL_BXE_programs
Basic XL 16.4 kB 1 24-Feb-2014 22:30 Roland B. Wassenberg Basic XL
OSS BASIC XL-Reference Manual-... 3,811.9 kB 1 22-Apr-2014 01:37 Roland B. Wassenberg OSS BASIC XL-Reference Manual-1st Edition 1983
OSS-The Basic XL Toolkit-Inclu... 27,191.3 kB 1 22-Apr-2014 01:44 Roland B. Wassenberg OSS-The Basic XL Toolkit-Including the BASIC XL Runtime Package-Reference Manual
car 16.4 kB 1 14-Feb-2015 23:47 Roland B. Wassenberg OSSBasicXL102 CAR
OSSBasicXL102.rom 16.4 kB 1 14-Feb-2015 23:47 Roland B. Wassenberg OSSBasicXL102 ROM
car 16.4 kB 1 14-Feb-2015 23:47 Roland B. Wassenberg OSSBasicXL103 CAR
OSSBasicXL103.rom 16.4 kB 1 02-Jan-2011 21:52 Carsten Strotmann
OSS_Basic_XL-Rev._1.4-GBXL_202... 1,296.9 kB 1 05-Aug-2022 19:56 Roland B. Wassenberg OSS_Basic_XL-Rev._1.4-GBXL_2022.pdf
Optimized_Systems_Software_Sof... 351.2 kB 1 19-Oct-2017 22:54 Roland B. Wassenberg Optimized_Systems_Software_Software_License_Agreement.pdf
Thank you bob1200xl.jpg 17.8 kB 2 06-Feb-2015 05:12 Roland B. Wassenberg Thank you bob1200xl
Thank_you_bob1200xl.jpg 15.9 kB 1 14-Feb-2015 23:54 Roland B. Wassenberg Thank_you_bob1200xl
bob.jpg 3.3 kB 1 06-Feb-2015 05:09 Roland B. Wassenberg bob
« This page (revision-36) was last changed on 03-Feb-2023 16:21 by Roland B. Wassenberg  
G’day (anonymous guest) My Prefs
© 2010-2021 AtariWiki
All content in the Wiki is licensed under Creative Commons Share Alike License, unless otherwise noted.
JSPWiki v2.8.3