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
jpg
ATARI BASIC-Handbuch für Selb... 187.1 kB 1 19-Mar-2019 08:06 Roland B. Wassenberg ATARI BASIC-Handbuch für Selbststudium und Praxis-BOB ALBRECHT, Le Roy Finkel,
jpg
ATARI BASIC-Handbuch für Selb... 176.6 kB 1 19-Mar-2019 07:40 Roland B. Wassenberg ATARI BASIC-Handbuch für Selbststudium und Praxis-BOB ALBRECHT, Le Roy Finkel,
pdf
ATARI BASIC-Handbuch für Selbs... 44,779.2 kB 1 23-Apr-2014 02:52 Roland B. Wassenberg ATARI BASIC-Handbuch für Selbststudium und Praxis-BOB ALBRECHT, Le Roy Finkel, J
pdf
ATARI Basic Leitfaden.pdf 5,181.8 kB 1 23-Apr-2014 03:54 Roland B. Wassenberg ATARI Basic Leitfaden
jpg
ATARI_BASIC-Handbuch_fuer_Selb... 187.1 kB 1 19-Mar-2019 09:44 Roland B. Wassenberg ATARI_BASIC-Handbuch_fuer_Selbststudium_und_Praxis-BOB_ALBRECHT,_Le_Roy_Finkel,_
pdf
An_Invitation_to_Programming_1... 896.7 kB 1 22-Sep-2013 00:07 Roland B. Wassenberg An_Invitation_to_Programming_1-Screen_Version.pdf
jpg
An_Invitation_to_Programming_1... 327.0 kB 1 22-Sep-2013 00:08 Roland B. Wassenberg An_Invitation_to_Programming_1.jpg
jpg
An_Invitation_to_Programming_2... 246.9 kB 1 22-Sep-2013 00:08 Roland B. Wassenberg An_Invitation_to_Programming_2.jpg
jpg
An_Invitation_to_Programming_3... 251.1 kB 1 22-Sep-2013 00:09 Roland B. Wassenberg An_Invitation_to_Programming_3.jpg
jpg
Atari BASIC Quick Reference Gu... 95.9 kB 1 19-Mar-2019 09:44 Roland B. Wassenberg Atari BASIC Quick Reference Guide-Gilbert Held.jpg
pdf
Atari BASIC Quick Reference Gu... 10,374.7 kB 1 17-Mar-2014 04:11 Roland B. Wassenberg Atari BASIC Quick Reference Guide-Gilbert Held.pdf
rom
Atari Basic Rev. A.rom 8.2 kB 1 24-Feb-2014 21:46 Roland B. Wassenberg Atari Basic Rev. A.rom
rom
Atari Basic Rev. B.rom 8.2 kB 1 24-Feb-2014 21:46 Roland B. Wassenberg Atari Basic Rev. B.rom
rom
Atari Basic Rev. C.rom 8.2 kB 1 24-Feb-2014 21:46 Roland B. Wassenberg Atari Basic Rev. C.rom
pdf
Atari_BASIC_Source_Book_2006.p... 255.5 kB 1 19-Mar-2019 08:18 Roland B. Wassenberg Atari_BASIC_Source_Book_2006.pdf
jpg
Atari_Basic-Box.jpg 255.1 kB 2 19-Mar-2019 08:10 Roland B. Wassenberg Atari_Basic-Box.jpg
jpg
Atari_Basic-Referenz-Karten.jp... 39.4 kB 2 19-Mar-2019 08:10 Roland B. Wassenberg Atari_Basic-Referenz-Karten.jpg
jpg
Atari_Basic-Richard_Haskell.jp... 256.0 kB 2 19-Mar-2019 09:44 Roland B. Wassenberg Atari_Basic-Richard_Haskell.jpg
jpg
Atari_Basic-XL-Edition.jpg 191.7 kB 1 19-Mar-2019 08:11 Roland B. Wassenberg Atari_Basic-XL-Edition.jpg
jpg
Atari_Basic_1979.jpg 230.1 kB 1 19-Mar-2019 08:06 Roland B. Wassenberg Atari_Basic_1979.jpg
jpg
Atari_Basic_Keywords.jpg 329.7 kB 1 19-Mar-2019 08:07 Roland B. Wassenberg Atari_Basic_Keywords.jpg
jpg
Atari_Basic_Reference_Guide_XL... 459.9 kB 1 19-Mar-2019 08:08 Roland B. Wassenberg Atari_Basic_Reference_Guide_XL.jpg
pdf
Atari_Basic_Reference_Manual-P... 4,162.4 kB 1 17-Apr-2019 16:43 Roland B. Wassenberg Atari_Basic_Reference_Manual-Product_Update-C061038_Rev._A-©_1982_Atari,_Inc.pdf
jpg
Atari_Basic_Reference_Manual_8... 1,613.2 kB 1 19-Mar-2019 08:09 Roland B. Wassenberg Atari_Basic_Reference_Manual_800.jpg
jpg
Atari_Basic_Reference_Manual_8... 438.6 kB 2 19-Mar-2019 08:09 Roland B. Wassenberg Atari_Basic_Reference_Manual_800_.jpg
jpg
Atari_Basic_Reference_Manual_X... 120.0 kB 2 19-Mar-2019 08:09 Roland B. Wassenberg Atari_Basic_Reference_Manual_XE.jpg
pdf
Atari_Basic_Referenz-Karten.pd... 3,139.2 kB 1 19-Mar-2019 07:43 Roland B. Wassenberg Atari_Basic_Referenz-Karten.pdf
jpg
Atari_Basic_Referenz-Karten3.j... 295.8 kB 1 19-Mar-2019 08:10 Roland B. Wassenberg Atari_Basic_Referenz-Karten3.jpg
car
Atari_Basic_Rev._A.car 8.2 kB 1 14-Jun-2018 21:40 Roland B. Wassenberg Atari_Basic_Rev._A.car
car
Atari_Basic_Rev._B.car 8.2 kB 1 14-Jun-2018 21:41 Roland B. Wassenberg Atari_Basic_Rev._B.car
car
Atari_Basic_Rev._C.car 8.2 kB 1 14-Jun-2018 21:41 Roland B. Wassenberg Atari_Basic_Rev._C.car
car
Basic Rev. C.car 8.2 kB 1 24-Feb-2014 21:44 Roland B. Wassenberg Basic Rev. C.car
jpg
Cart_800er.jpg 13.7 kB 2 19-Mar-2019 08:11 Roland B. Wassenberg Cart_800er.jpg
jpg
Cart_XE.jpg 15.3 kB 2 19-Mar-2019 08:11 Roland B. Wassenberg Cart_XE.jpg
rom
Monkey Wrench II (OS-B, right,... 16.4 kB 1 15-Jun-2018 01:00 Roland B. Wassenberg Monkey Wrench II (OS-B, right, v1) with BASIC Rev. C.rom
rom
Monkey Wrench II (OS-B, right,... 16.4 kB 1 15-Jun-2018 01:00 Roland B. Wassenberg Monkey Wrench II (OS-B, right, v2) with BASIC Rev. C.rom
rom
Monkey Wrench II [OS-B, Right]... 16.4 kB 1 15-Jun-2018 00:56 Roland B. Wassenberg Monkey Wrench II [OS-B, Right](v1) with BASIC Rev. C.rom
rom
Monkey Wrench II [OS-B, Right]... 16.4 kB 1 15-Jun-2018 00:57 Roland B. Wassenberg Monkey Wrench II [OS-B, Right](v2) with BASIC Rev. C
pdf
Monkey_Wrench_II_-_Manual.pdf 2,480.0 kB 1 14-Jun-2018 21:24 Roland B. Wassenberg Monkey_Wrench_II_-_Manual.pdf
car
Monkey_Wrench_II_OS-B_right_v1... 8.2 kB 1 14-Jun-2018 21:41 Roland B. Wassenberg Monkey_Wrench_II_OS-B_right_v1.car
rom
Monkey_Wrench_II_OS-B_right_v1... 8.2 kB 1 14-Jun-2018 21:43 Roland B. Wassenberg Monkey_Wrench_II_OS-B_right_v1.rom
car
Monkey_Wrench_II_OS-B_right_v2... 8.2 kB 1 14-Jun-2018 21:41 Roland B. Wassenberg Monkey_Wrench_II_OS-B_right_v2.car
rom
Monkey_Wrench_II_OS-B_right_v2... 8.2 kB 1 14-Jun-2018 21:44 Roland B. Wassenberg Monkey_Wrench_II_OS-B_right_v2.rom
rtf
Monkey_Wrench_II_XL_-_Notes.rt... 1.2 kB 1 14-Jun-2018 21:44 Roland B. Wassenberg Monkey_Wrench_II_XL_-_Notes.rtf
car
Monkey_Wrench_II_XL_with_BASIC... 16.4 kB 1 14-Jun-2018 21:41 Roland B. Wassenberg Monkey_Wrench_II_XL_with_BASIC_(Rev._C).car
rom
Monkey_Wrench_II_XL_with_BASIC... 16.4 kB 1 14-Jun-2018 21:44 Roland B. Wassenberg Monkey_Wrench_II_XL_with_BASIC_(Rev._C).rom
car
Monkey_Wrench_with_BASIC_(Rev.... 16.4 kB 1 14-Jun-2018 21:42 Roland B. Wassenberg Monkey_Wrench_with_BASIC_(Rev._C).car
rom
Monkey_Wrench_with_BASIC_(Rev.... 16.4 kB 1 14-Jun-2018 21:44 Roland B. Wassenberg Monkey_Wrench_with_BASIC_(Rev._C).rom
atr
Programm-Kassette.ATR 133.1 kB 2 24-Feb-2023 13:41 Andreas Tartz Atari 800XL Programmdiskette
atr
Programm_Kassette.ATR 133.1 kB 1 24-Feb-2023 13:52 Andreas Tartz Atari 800XL Programmdiskette
atr
Programm_Kassette.atr 133.1 kB 1 24-Feb-2023 14:04 Andreas Tartz Atari 800XL Programmdiskette
txt
REV.B TO REV.C CONVERTER.txt 3.2 kB 1 17-Mar-2014 04:14 Roland B. Wassenberg REV.B TO REV.C CONVERTER.txt
atr
RevB2C.atr 92.2 kB 1 17-Mar-2014 04:14 Roland B. Wassenberg RevB2C.atr
car
The Monkey Wrench II.car 8.2 kB 1 24-Feb-2014 21:53 Roland B. Wassenberg The Monkey Wrench II.car
car
The Monkey Wrench.car 8.2 kB 1 24-Feb-2014 21:53 Roland B. Wassenberg The Monkey Wrench.car
jpg
The_Atari_BASIC_Source_Book-Bi... 136.3 kB 2 19-Mar-2019 09:00 Roland B. Wassenberg The_Atari_BASIC_Source_Book-Bill_Wilkinson-Kathleen_O_Brien-Paul_Laughton.jpg
pdf
oss-quick-reference-card-basic... 3,423.3 kB 1 07-May-2019 21:48 Roland B. Wassenberg oss-quick-reference-card-basic-a-plus.pdf

This page (revision-114) was last changed on 24-Feb-2023 15:10 by Andreas Tartz  

This page was created on 08-Mar-2010 21:15 by Carsten Strotmann

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 6 changed one line
Atari originally licensed the 6502-assembler code for Microsoft BASIC. This came in two versions, one that was about 7900 bytes that used a 32-bit (6-digit) floating point number format, and another that was closer to 9000 that included an expanded floating point format with a 40-bit (9-digit) numbers. The vast majority of 8-bit machines used the larger 9k/40-bit version, and then further expanded it with additional functions for basic input/output. For instance, the BASIC, character set and I/O in the early PET machines was supplied in a total of 16k of ROM.
Atari originally licensed the 6502-assembler code for Microsoft BASIC. This came in two versions, one that was about 7900 bytes that used a 32-bit (6-digit) floating-point number format, and another that was closer to 9000 that included an expanded floating-point format with a 40-bit (9-digit) numbers. The vast majority of 8-bit machines used the larger 9k/40-bit version, and then further expanded it with additional functions for basic input/output. For instance, the BASIC, character set and I/O in the early PET machines was supplied in a total of 16k of ROM.
At line 8 changed one line
When the project was still a games console, Atari had selected an 8k cartridge format because that was an easy size to supply in a single ROM. So the Atari programmers started with the smaller 8k version of the MS code and struggled to cut it down enough to fit in a cart. That was hard enough of its own, but they really wanted to add additional instructions to take advantage of the Atari's graphics and sound. Eventually, some time in the summer of 1978, they gave up and went looking for a 3rd party to do it for them.
The Atari machines were originally designed as games consoles that would replace the Atari VCS, and like those machines, software would be supplied on ROM cartridges. ROM was still relatively expensive at the time, so they expanded it from the 4k of the VCS to the luxurious size of 8k. When the project moved to a computer, a BASIC interpreter was required and Atari naturally licensed MS's code. Atari programmers started with the smaller 7900 bytes version and struggled to cut fit it in the pre-selected 8k cartridge format. That was hard enough of its own, but they really wanted to add additional instructions to take advantage of the Atari's graphics and sound. Eventually, sometime in the summer of 1978, they gave up and went looking for a 3rd party to do it for them.
At line 12 changed one line
By the time SMI was hired, Atari was in something of a rush to get a working BASIC. They were planning to show the machines in January 1979, using the working MS version, but then sell the machines later that year with the SMI version instead. The original contract required SMI to make its final delivery in April 1979, but it contained bonus clauses if they finished early. They did: a working version was delivered in October 1978, so Atari to that to CES instead. To SMI's surprise, they learned that Atari had begun burning that version to ROM for sale, even though it had several known bugs. SMI offered an updated version with various fixes, but Atari didn't bother using it, and instead shipped the buggy version for years.
By the time SMI was hired, Atari was in something of a rush to get a working BASIC. They were planning to show the machines in January 1979, using the working MS version, but then sell the machines later that year with the SMI version instead. The original contract required SMI to make its final delivery in April 1979, but it contained bonus clauses if they finished early. They did: a working version was delivered in October 1978, so Atari to that to CES instead. To SMI's surprise, they learned that Atari had begun burning that version to ROM for sale, even though it had several known bugs. SMI offered an updated version with various fixes, but Atari didn't bother using it, and instead shipped the buggy version for several years.
At line 14 changed one line
In order to fit the code into a 8k ROM, two major pieces of code were moved out of the BASIC into the OS ROM. The first was a set of graphics routines to set up the screen, draw lines, and similar. The second was the floating point math system, based on a new implementation of the 6-byte binary-coded-decimal (BCD) format. Both libraries were notoriously slow. Generally, Atari BASIC was among the slowest BASICs of its era, both due to the OS code and two problems involving loops.
In order to fit the code into a 8k ROM, two major pieces of code were moved out of the BASIC into the OS ROM. The first was a set of graphics routines to set up the screen, draw lines, and similar tasks. The second was the floating-point math system, based on a new implementation of the 6-byte binary-coded-decimal (BCD) format SMI had designed for the Z80-based Cromemco machines. Both libraries were notoriously slow. Generally, Atari BASIC was among the slowest BASICs of its era, both due to the OS code and two problems involving loops.
At line 16 changed one line
The performance issues led to a profusion of 3rd party BASICs, some of which continue to be developed to this day. By replacing the math libraries and fixing these two loop issues, speed improves on the order of 3 to 5 times in most programs, and this is a common feature of 3rd party BASICs like [TURBO-BASIC XL|TURBO-BASIC XL] and [Altirra Basic]. For even higher performance, [FastBasic] uses a p-code system that can be quickly interpreted.
The performance issues led to a profusion of 3rd party BASICs, some of which continue to be developed to this day. By replacing the math libraries and fixing these two loop issues, speed improves on the order of 3 to 5 times in most programs, and this is a common feature of 3rd party BASICs like [Turbo-BASIC XL] and [Altirra Basic]. For even higher performance, [FastBasic] uses a p-code system that can be quickly interpreted.
At line 22 changed one line
Atari BASIC has some key differences with the more common MS-derived BASICs found on most contemporary machines. This included the 6-byte vs. 9-byte math, but also included numerous syntax changes as well. Generally, one can describe Atari BASIC's design philosophy as "modeless" and "orthogonal".
Atari BASIC has some key differences with the more common MS-derived BASICs found on most contemporary machines. Generally, one can describe Atari BASIC's design philosophy as "modeless" and "orthogonal".
At line 24 changed one line
Most BASICs of the era had the concept of "immediate mode" and "program mode", and some commands could only be used in one more or the other. A good example in MS BASIC is the {{LIST}} command, which could only be used in immediate mode, at the "command line". Atari BASIC removed this limitation, one could write a program containing {{10 LIST}}.
Most BASICs of the era had the concept of "immediate mode" and "program mode", and some commands could only be used in one mode or the other. A good example in MS BASIC is the {{LIST}} command, which could only be used in immediate mode, at the "command line". Atari BASIC removed this limitation, one could write a program consisting of {{10 LIST}}.
At line 28 changed one line
The most noticable difference between Atari BASIC and MS-derived versions is the string handling. Atari BASIC used a greatly simplified system of character-arrays instead of the dynamic strings in MS. This meant that all strings had to be predefined using {{DIM}}, and their length could not be changed during run-time. There are a number of advantages to this approach, notably speed, but memory handling is more difficult and conversion of standard programs from MS listings is more difficult.
The most noticeable difference between Atari BASIC and MS-derived versions is the string handling. Atari BASIC used a greatly simplified system of character-arrays instead of the dynamic strings in MS. This meant that all strings had to be predefined using {{DIM}}, and their length could not be changed during run-time. There are a number of advantages to this approach, notably speed and lower memory usage, but this means conversion of standard programs from MS listings may be difficult.
At line 34 changed one line
* {{PRINT USING}}, which formatted output
* {{PRINT USING}}, which formatted output (rarely supported on small machines)
At line 36 added one line
* {{INKEY$}}, which read the keyboard without pausing (unlike {{INPUT}})
At line 38 changed one line
Most 3rd party BASICs add many of these features, and more.
Most 3rd party BASICs for the Atari added many of these features, and more.
At line 41 changed one line
To allow BASIC programmers access to the advanced features of the system, Atari BASIC added commands for defining the GRAPHICS, changing COLORs, MOVEing and drawing a LINETO, playing SOUND, and others.
To allow BASIC programmers access to the advanced features of the system, Atari BASIC added commands for defining the GRAPHICS, changing COLORs, MOVEing and drawing a DRAWTO, playing SOUND, and others.
Version Date Modified Size Author Changes ... Change note
114 24-Feb-2023 15:10 18.621 kB Andreas Tartz to previous
113 24-Feb-2023 14:11 18.547 kB Andreas Tartz to previous | to last
112 24-Feb-2023 14:09 18.547 kB Andreas Tartz to previous | to last
111 24-Feb-2023 14:06 18.337 kB Andreas Tartz to previous | to last
110 24-Feb-2023 13:57 18.337 kB Andreas Tartz to previous | to last
109 24-Feb-2023 13:53 18.337 kB Andreas Tartz to previous | to last
108 24-Feb-2023 13:38 18.337 kB Andreas Tartz to previous | to last
107 03-Feb-2023 16:21 18.093 kB Maury Markowitz to previous | to last
106 13-Dec-2021 17:05 17.904 kB Maury Markowitz to previous | to last
105 16-Sep-2021 15:46 17.934 kB Maury Markowitz to previous | to last
104 16-Sep-2021 15:30 17.934 kB Maury Markowitz to previous | to last general cleanup
103 29-Jul-2020 23:57 17.769 kB Peter Dell to previous | to last TURBO-BASIC XL ==> Turbo-BASIC XL
102 23-May-2020 07:03 17.754 kB Roland B. Wassenberg to previous | to last
101 01-May-2020 04:03 17.632 kB Roland B. Wassenberg to previous | to last
« This page (revision-114) was last changed on 24-Feb-2023 15:10 by Andreas Tartz  
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