Basic XE#

OSS, 1984

Background#

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/BasicXE.png

BASIC XE source code#

BASIC_XE_4.2-1_master_with_DOS_2.0D.atr(info) ; please use with OSS MAC/65; Yotta-thanks to all who help us here
BASIC_XE_4.2-2_slave_with_DOS_2.0D.atr(info) ; please use with OSS MAC/65; Yotta-thanks to all who help us here
BASIC_XE_4.2-3_fp_with_DOS_2.5.atr(info) ; please use with OSS MAC/65; Yotta-thanks to all who help us here

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

CAR-Image#

Basic XE 4.1.car(info)
Basic_XE_4.2.car(info) ; '034M'-version created by a good soul from AtariAge ; thank you so much good soul! :-)))

ROM-Images#

BASIC XE 4.1.rom(info)
OSS Basic XE 7.2 (universal).rom(info) Should work with SpartaDOS

BIN-Image#

Basic_XE_v4.2_(1986-02-09)(Lawrow,_Stephen_D.)(US)(034M).bin(info) ; '034M'-version created by a good soul from AtariAge ; thank you so much good soul! :-)))
Basic_XE_v4.2_(1986-02-09)(Lawrow,_Stephen_D.)(US)(043M).bin(info) ; just runs in Altirra with OSS '043M' ; thank you so much Tomasz 'Kr0tki' Krasuski for building the 1st runtime, we owe you so much. :-)))
Basic_XE_v4.2_(1986-02-09)(OSS)(US)(M091).bin(info) ; 'M091'-version created by Tomasz 'Kr0tki' Krasuski; thank you so much Tomasz 'Kr0tki' Krasuski for building the runtime, we owe you so much. :-)))

ATR-Image#

BASIC XE Extension Disk.atr(info)
Some example programs(info) ; thanks to Charlie Chaplin from AtariAge. :-)

Manual#

XEP80 driver for BASIC XE#

xep80bxe.arc(info) ; this is the driver for the XEP80 to work with OSS BASIC XE (.COM file)
XEP80_BASIC_XE.atr(info) ; same as above on an atr-image

Info#

Picture#

OSS BASIC XE 4.2 - startscreen

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
rom
BASIC XE 4.1.rom 16.4 kB 1 24-Feb-2014 22:18 Roland B. Wassenberg BASIC XE 4.1
atr
BASIC XE Extension Disk.atr 92.2 kB 1 24-Feb-2014 22:17 Roland B. Wassenberg BASIC XE Extension Disk
atr
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
atr
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
atr
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
jpg
BASIC_XE_4.2.jpg 23.4 kB 1 13-Sep-2016 00:16 Roland B. Wassenberg BASIC_XE_4.2.jpg
zip
BXL_BXE_programs.zip 308.4 kB 1 23-Jul-2016 15:05 Roland B. Wassenberg BXL_BXE_programs
car
Basic XE 4.1.car 16.4 kB 1 24-Feb-2014 22:17 Roland B. Wassenberg Basic XE 4.1
png
BasicXE.png 124.4 kB 1 03-Jan-2011 21:48 Carsten Strotmann
car
Basic_XE_4.2.car 16.4 kB 1 12-Sep-2016 23:52 Roland B. Wassenberg Basic_XE_4.2.car
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)(034M).bin
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
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
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)
bin
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
rom
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)
pdf
OSS-Basic XE Reference Manual.... 44,661.1 kB 1 23-Apr-2014 02:39 Roland B. Wassenberg OSS-Basic XE Reference Manual
pdf
Optimized_Systems_Software_Sof... 351.2 kB 1 19-Oct-2017 22:55 Roland B. Wassenberg Optimized_Systems_Software_Software_License_Agreement.pdf
atr
XEP80_BASIC_XE.atr 92.2 kB 1 05-Jul-2015 15:46 Roland B. Wassenberg XEP80_BASIC_XE
arc
xep80bxe.arc 2.0 kB 1 22-Jun-2015 14:00 Roland B. Wassenberg xep80bxe.arc
« This page (revision-32) was last changed on 07-May-2018 21:39 by Maury Markowitz