Basic XE#

OSS, 1984


Basic XE is the ultimate development of the original Atari BASIC code, after its development was taken over by Optimized Systems Software (OSS).

OSS released Basic XL in 1984, adding many new features as well as the FAST command. FAST cached line numbers that were the target of jumps (GOTO and FOR/NEXT loops), addressing one of the two major reasons for the notoriously slow performance of Atari BASIC. The main addition to Basic XE, compared to Basic XL, was a solution to the other big problem in Atari BASIC, the low-performance math code.

In Atari BASIC, all numbers are stored in a 6-byte binary-coded-decimal form. This includes line numbers and array indexes. Every time one of these is encountered, the system sends it into the operating system's BCD library, which had extremely poor performance. Basic XE replaced this library with its own, running at over twice the performance of the original code. This had spin-off effects throughout the average program, not only speeding up actual mathematical functions, but also internal functions like looking up line numbers.

With that exception, the changes between Basic XE and Basic XL are minor, mostly related to handling the increased RAM capabilities of the XE series. However, Basic XE it did not include the AUTORUN runtime library found in Basic XL, meaning that programs that used Basic XE's new functionality could not run on machines that did not have a Basic XE cartridge. However, programs that used only the Basic XL extensions could be written in Basic XE and then linked to the XL's AUTORUN runtime library.

The release of Turbo-BASIC XL at roughly the same time as Basic XE meant that Basic XE was largely forgotten in the market. TURBO-BASIC had all the features of Basic XE and many more, and also shipped with a compiler that not only made stand-alone programs but ran them dozens of times faster as well.

BASIC XE source code#

To enable building BASIC XE 4.2 for M091 cartridges, a change has to be made in the D1:MASTER2 file: in line 290, change the value of _27128 to 1. Then follow the normal assembly steps. It results in an object file that loads the four banks to the $3000-$6FFF area in the "1M09" order. Retrieving the bank data in a correct order results in an M091 ROM image.

Thank you so much Tomasz 'Kr0tki' Krasuski for the info in building the runtime, we owe you so much. :-)))






XEP80 driver for BASIC XE#



OSS BASIC XE 4.2 - startscreen

OSS BASIC XE 4.2 - 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
BASIC XE 4.1.rom 16.4 kB 1 24-Feb-2014 22:18 Roland B. Wassenberg BASIC XE 4.1
BASIC XE Extension Disk.atr 92.2 kB 1 24-Feb-2014 22:17 Roland B. Wassenberg BASIC XE Extension Disk
BASIC_XE_4.2-1_master_with_DOS... 184.0 kB 1 12-Sep-2016 19:34 Roland B. Wassenberg BASIC_XE_4.2-1_master_with_DOS_2.0D
BASIC_XE_4.2-2_slave_with_DOS_... 184.0 kB 1 12-Sep-2016 19:35 Roland B. Wassenberg BASIC_XE_4.2-2_slave_with_DOS_2.0D
BASIC_XE_4.2-3_fp_with_DOS_2.5... 133.1 kB 1 12-Sep-2016 19:35 Roland B. Wassenberg BASIC_XE_4.2-3_fp_with_DOS_2.5
BASIC_XE_4.2.jpg 23.4 kB 1 13-Sep-2016 00:16 Roland B. Wassenberg BASIC_XE_4.2.jpg
BASIC_XE_4.2_Extension_Disk_wi... 92.2 kB 1 05-Aug-2022 19:47 Roland B. Wassenberg BASIC_XE_4.2_Extension_Disk_with_DOS_XL_v2.30p.atr
zip 308.4 kB 1 23-Jul-2016 15:05 Roland B. Wassenberg BXL_BXE_programs
Basic XE 16.4 kB 1 24-Feb-2014 22:17 Roland B. Wassenberg Basic XE 4.1
Basic XE Detokenizer Ver. 1.11... 65.6 kB 1 01-Apr-2020 01:05 Roland B. Wassenberg Basic XE Detokenizer Ver. 1.11 (4-6-89) by Psycho.atr
BasicXE.png 124.4 kB 1 03-Jan-2011 21:48 Carsten Strotmann
car 16.4 kB 1 12-Sep-2016 23:52 Roland B. Wassenberg
Basic_XE_v4.2_(1986-02-09)(Law... 16.4 kB 1 14-Sep-2016 10:19 Roland B. Wassenberg Basic_XE_v4.2_(1986-02-09)(Lawrow,_Stephen_D.)(US)(034M).bin
Basic_XE_v4.2_(1986-02-09)(Law... 16.4 kB 1 14-Sep-2016 10:19 Roland B. Wassenberg Basic_XE_v4.2_(1986-02-09)(Lawrow,_Stephen_D.)(US)(043M).bin
Basic_XE_v4.2_(1986-02-09)(OSS... 16.4 kB 1 22-Feb-2017 20:32 Roland B. Wassenberg Basic_XE_v4.2_(1986-02-09)(OSS)(US)(M091).bin
Basic_XE_v4.2_(1986-02-09)(OSS... 16.4 kB 1 12-Sep-2016 19:25 Roland B. Wassenberg Basic_XE_v4.2_(1986-02-09)(OSS)(US)
Basic_XE_v4.2_(1986-02-09)(OSS... 16.4 kB 1 12-Sep-2016 23:52 Roland B. Wassenberg Basic_XE_v4.2_(1986-02-09)(OSS)(US)L.bin
OSS Basic XE 7.2 (universal).r... 16.4 kB 1 24-Feb-2014 22:18 Roland B. Wassenberg OSS Basic XE 7.2 (universal)
OSS-Basic XE Reference Manual.... 44,661.1 kB 1 23-Apr-2014 02:39 Roland B. Wassenberg OSS-Basic XE Reference Manual
Optimized_Systems_Software_Sof... 351.2 kB 1 19-Oct-2017 22:55 Roland B. Wassenberg Optimized_Systems_Software_Software_License_Agreement.pdf
XEP80_BASIC_XE.atr 92.2 kB 1 05-Jul-2015 15:46 Roland B. Wassenberg XEP80_BASIC_XE
xep80bxe.arc 2.0 kB 1 22-Jun-2015 14:00 Roland B. Wassenberg xep80bxe.arc
« This page (revision-41) 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