==========
2025-10-14
==========

Highlights of this release:
---------------------------
* Restored source code for a Polish 128XT/192XT OS.
* Added a bit of information about the CRASS cross assembler.

Changes in source files:
------------------------
* New sources from disassembly of a Polish 128XT/192XT OS ROM:
  * orig-src/xl-rev-2-pol.asm

Changes in README:
------------------
* Moved 400/800 Rev. A and Rev. B ROM chip part numbers to appropriate sections. Changed sections:
  * "1979-06: NTSC OS Rev. A ready"
  * "1979-11: Atari 400 and 800 ship with OS Rev. A"
  * "1981-09: OS Rev. B ready"
  * "1981-11: NTSC OS Rev. B ships"
* Clarified a paragraph about XL Rev. 2 OS being installed in 600XL computers. Changed sections:
  * "1983-03-11: XL OS Rev. 1 ready"
  * "1983-05-10: XL OS Rev. 2 ready"
* New section with XEGS shipping date:
  * "1987-10: Atari XEGS ships with Rev. 4 OS"
* New section about the Polish 128XT and 192XT computers:
  * "1988-04?: Polish 128XT and 192XT with custom OS"
* Reworded a paragraph about Swedish ROM checksum. Changed section:
  * "1984: Swedish 600XL with custom OS"
* Added information about the CRASS assembler, based on an archived Atari memo. Changed sections:
  * "1. Introduction"
  * "1983-11?: Migration to CAMAC"

==========
2025-10-07
==========

Highlights of this release:
---------------------------
* Added a new variant of 400/800 OS Rev. A source code from the February 1981 OS Manual.
* Added new source code of XL Rev. 3 Ver. 4 from 21 June 1984, retrieved from Atari backup tapes.
* Restored source code for a Swedish 600 XL OS.
* Fully analysed the Arabic XE OS revisions and added source code comments.
* Further expanded the OS history in README.

Changes in source files:
------------------------
* New XL Rev. 3 Ver. 4 source files:
  * orig-src/xl-rev-3-ver-4/OS.ASM
    Retrieved from an Atari backup tape, in Boston Systems Office syntax.
  * orig-src/xl-rev-3-ver-4/OS.ASM.BU
    Retrieved from an Atari backup tape, in Boston Systems Office syntax.
  * orig-src/xl-rev-3-ver-4.asm
    Based on the file retrieved from Atari backup, convereted back to CAMAC syntax.
  The new source contains full, untruncated sources of the Relocating Loader and the Peripheral Handler Loading Facility, so it allows to fix the gaps and typos in other files:
  * asm-lst/xl-rev-2.lst
  * orig-src/xe-rev-3.asm
  * orig-src/xe-rev-4.asm
  * orig-src/xe-rev-59-1987.asm
  * orig-src/xe-rev-59-1988.asm
  * orig-src/xl-rev-1.asm
  * orig-src/xl-rev-10.asm
  * orig-src/xl-rev-11.asm
  * orig-src/xl-rev-2-1983.asm
  * orig-src/xl-rev-2-1984.asm
  * orig-src/xl-rev-3-1984-03-23.asm
  * orig-src/xl-rev-3-1984-03-27.asm
  * orig-src/xl-rev-3-ver-4.asm
* New 400/800 Rev. A source file, from the February 1981 editon of the OS Source Listing:
  * asm-lst/800-rev-a-1981-02.lst
  * orig-src/800-rev-a-1981-02.asm
  As a consequence, old Rev. A sources were renamed:
  * asm-lst/800-rev-a-1981.lst -> 800-rev-a-1981-08.lst
  * orig-src/800-rev-a-1981.asm -> 800-rev-a-1981-08.asm
  * orig-src/800-rev-a-1981-palflg.asm -> 800-rev-a-1981-08-palflg.asm
* EQUATES files renamed to NEQATL, based on information from the August 1980 edition of the OS User Manual. See README section "1979-11-13: Source listing printed":
  * orig-src/800-rev-a-1979/EQUATES.SRC -> NEQATL.SRC
  * orig-src/sweet-16/EQUATES.ASM -> NEQATL.ASM
  * orig-src/xl-rev-10/EQUATES.ASM -> NEQATL.ASM
* Analysed all the changes introduced in both Arabic XE OS revisions:
  * orig-src/xl-rev-59-1987.asm
  * orig-src/xl-rev-59-1988.asm
* Added more comments to the changes introduced in XE OS Rev. 3 and 4:
  * orig-src/xl-rev-3.asm
  * orig-src/xl-rev-4.asm
* New sources from disassembly of a Swedish 600XL OS ROM:
  * orig-src/xl-rev-1-swe.asm

See "2. Contents of this archive".

Changes in README:
------------------
* Incorporated details of internal Atari development practices from the August 1980 edition of the OS User Manual, including usage of Boston Systems Office's crossassembler. Based on the new information, EQUATES files in orig-src/800-rev-a-1979/, orig-src/sweet-16/ and orig-src/xl-rev-10/ were renamed to NEQATL. Changed sections:
  * "1. Introduction"
  * "1979-11-13: Source listing printed"
* Section "1978-10: OS development restarted": Added references to Scott Stilphen's interview with Larry Kaplan.
* Section "1980-11: Migration to Microtec": Added a reference that confirms that the Nov. 1980 OS manual was released publicly.
* Incorporated the February 1981 version of the OS Rev. A source listing. Changed sections:
  * "1981-02: Further Microtec changes, Rev. A source listing"
  * "1981-08: Rev. A source listing re-released"
* Section "1981-09: OS Rev. B ready": Described a bugfix in the SYIRQA routine.
* Section "1981-10-28: Z800 OS specified": Fixed the specification's date.
* Section "1982-01-25: International character set defined": Added Stewart as the definition's author
* Incorporated the creation dates of various Sweet-16 specifications. New sections:
  * "1982-03-24: International Character Set specification ready"
  * "1982-03-29: Relocating Loader specification ready"
  * "1982-08-31: Handler Loader specification ready"
  * "1982-12-01: Self Test specification ready"
* Section "1982-04-01: Peripheral Handler and Relocating Loader ready": explained that the date of 1 April is uncertain.
* Section "1982-06-01: Fine scrolling DLI implemented": explained that the date of 1 June is uncertain.
* Explain the misuse of .XREF and .XREFB more clearly. Changed or new sections:
  * "1982-10-26: XL OS Rev. 10 ready"
  * "1983-11?: Migration to CAMAC"
* Incorporated the cancellation date of the 1400XL. Changed or new sections:
  * "1983-06-05: Atari 600XL, 800XL, 1400XL and 1450XLD at the Summer CES"
  * "1983-12-06: Atari 1400XL cancelled"
* Incorporated dates of Kassar's departure and Morgan's arrival. New sections:
  * "1983-07-07: Kassar steps down"
  * "1983-09-06: Morgan takes over"
* Rewrote the whole 1450XLD Rev. 3 story. Changed or new sections:
  * "1983-02-22: PBI changes"
  * "1984-03-23: Bug fixes"
  * "1984-03-23: XL OS Rev. 3 binary"
  * "1984-03-27: Voice synthesizer IRQ bug fix"
  * "1984-04-16: XL OS Rev. 3 binary"
  * "1984-05-15: Internal PBI device support added"
  * "1984-05-15?: XL OS Rev. 3, Ver. 2 ready"
  * "1984-06-08: Reset routine added, PDVS initialization moved"
  * "1984-06-08: XL OS Rev. 3, Ver. 3 ready"
  * "1984-06-21: Device number 0 fix"
  * "1984-06-21: XL OS Rev. 3, Ver. 4 binary and sources"
* Section "1984-07-12: Peripheral Handler Loading Facility and Relocating Loader removed": Fixed typos in names of removed routines.
* Section "1984-07-19: XL OS Rev. 4, Ver. 0 sources": Describe differences since the previous revision more thoroughly.
* Expanded the descriptions of both Arabic XE OS revisions. Changed sections:
  * "1987-07-21: Arabic XE OS Rev. 59 ready"
  * "1988-09-22: Arabic XE OS Rev. 59 improved"
* New section about the Swedish variant of the 600XL:
  * "1984: Swedish 600XL produced"
* Other minor changes in sections:
  * "1981-09-06: FPP split from BASIC"
  * "1985-03-01: XE OS Rev. 3 ready"


==========
2025-04-14
==========

This release adds a new source code of XL OS Rev. 4 Ver.0 from 19 July 1984, and incorporates information found in R. Scott Scheiman's "Atari Home Computer Operating System Usage Guidelines".

Changes in source files:
------------------------
* orig-src/xl-rev-4-ver-0.asm renamed to xl-rev-4-ver-0-1984-07-24.asm
* orig-src/xl-rev-4-ver-0-1984-07-19.asm - new source code
* The new 19 July 1984 version contains minor changes in comments, that "trickled down" to all earlier XL OS sources. Files changed:
  * orig-src/xl-rev-1.asm
  * orig-src/xl-rev-10.asm
  * orig-src/xl-rev-11.asm
  * orig-src/xl-rev-2-1983.asm
  * orig-src/xl-rev-3-1984-03-23.asm
  * orig-src/xl-rev-3-1984-03-27.asm
  * orig-src/xl-rev-3-ver-4.asm
* Renamed a few labels based on source code snippets found in "Atari Home Computer Operating System Usage Guidelines": PCS to COLD, DISKIV to DINITV, and TSTDAT to CMCMD. Files changed:
  * orig-src/sweet-16/INTHV.ASM
  * orig-src/sweet-16/JVEC.ASM
  * orig-src/sweet-16/MONITP.ASM
  * orig-src/xl-rev-10/DATBAS.ASM
  * orig-src/xl-rev-10/INTHV.ASM
  * orig-src/xl-rev-10/JVEC.ASM
  * orig-src/xl-rev-10/MONITP.ASM

Changes in README:
------------------

* Expanded paragraphs about OS bugs, based on R. Scott Scheiman's "Atari Home Computer Operating System Usage Guidelines". Changes in sections:
  * "1979-11-13: Source listing printed"
  * "1981-09: OS Rev. B ready"
  * "1981-10-20: Z800 OS specified"
  * "1982-03-26 - 1982-04-01: Sweet-16 OS WIP source listings"
  * "1982-12-23: XL OS Rev. 11 ready"
  * "1983-03-11: XL OS Rev. 1 ready"
  * "1983-05-10: XL OS Rev. 2 ready"
* Described the newly-discovered source code of XL OS Rev. 4 Ver. 0 from 19 July 1984. Changes in sections:
  * "1984-07-13: SIO fast mode implemented, Help Text Viewer started"
  * "1984-07-17: Help Text Viewer updated"
  * "1984-07-19: XL OS Rev. 4, Ver. 0 sources"
  * "1984-07-24: Help Text Viewer and SIO fast mode updated"
  * "1984-07-24: XL OS Rev. 4, Ver. 0 sources"
* Section "1984-09-06: XL OS Rev. 5, Ver. 0 binary": explained that the Rev. 5 ver.0 (early) ROM found by van Mersbergen had the checksum bytes unset.
* Section "5. Acknowledgements": credited Duthcman2000 for the Rev. 4 Ver.0 source code.


==========
2025-02-11
==========

This release contains only changes in the README.

Changes in README:
------------------

* Many, many fixes of spelling, grammatical errors, and broken internal hypertext links. Big thanks to Karl Heller for spell-checking.
* Sections from "1979-04: OS 255 manufactured" to "1979-06: NTSC OS Rev. A ready" expanded to describe the functional differences in tape operation between the April and June 1979 revisions.
* Section "1981-08: PAL computers shipped" expaned slightly.
* Section "1981-09: OS Rev. B ready" made more concise in the rationale behind PAL Rev. B not existing.
* Section "1984-07-17: Help Text Viewer completed" rewritten a bit for clarity.
* Section "1988-09-22: Arabic XE OS Rev. 59 improved" expanded with a description of canges in the character set.


==========
2025-02-07
==========

Major overhaul.

* README.html completely rewritten, contains detailed history of the OS and analysis of changes in all revisions.
* asm-lst/ contains digitized copies of printed source listings, preserving all assembler output and formatting.
* Included the 1982 source listings from the Sweet-16 development, provided by Kevin Savetz.
* Included the 1984 source file of XL OS Revision 4, Version 0, provided by Ken van Mersbergen. It served as a basis for filling the gaps in sources of other XL/XE revisions.
* Included the 1984 ROM binary of XL OS Revision 5, Version 0, provided by Ken van Mersbergen.
* Added analysis of the Help Text Viewer as found in XL Rev. 4/5, with a BASIC program that generates an example help text file.
* XL OS Rev. 10 sources are provided in two versions: Microtec syntax, to allow comparison with earlier Rev. A, B and Sweet-16 sources; and CAMAC syntax, to allow comparison with later XL/XE sources.
* XL OS Rev. 2 sources are provided in two versions: how they could have looked in 1983, and how they looked after editing for the 1984 XL Addendum manual.
* Fixed typos across all sources. Thanks to Kevin Chase for help.


==========
2018-09-23
==========

This release incorporates the source code of the Floating Point Package from "The Atari BASIC Source Book"

Changes in source files:
------------------------
* original/800a-preliminary/CIOL.SRC, original/800a-equates.asm, original/800a.asm, original/800b.asm and derived files
  Fixed spelling of ZTEMP4. Thank you Kevin Chase!

* original/800a-preliminary/SIOL.SRC, original/800a.asm, original/800b.asm and derived files
  Minor fix in spacing.

* original/800-fpp.asm, restored/800-fpp.asm, cc65-src/800-fpp.s, cc65-src/800-fpp.inc
  Replaced the previous, artificially-created source code of the Floating Point Package with the version printed in from "The Atari BASIC Source Book". Used for building 400/800 rev. A and B.

* restored/a0r10.asm, restored/a1r11.asm and derived files
  Removed unused equates related to PBI, which should only appear in later OS revisions. Thank you Karl Heller!

* restored/bb1r59-1987.asm, restored/bb1r59-1988.asm and derived files
  The two files have been renamed from bb1r59.asm and bb1r59a.asm, respectively.

* restored/bb2r3-1984-03-23.asm, restored/bb2r3-1984-03-27.asm and derived files
  Fixed the comment that erroneously claimed that the message shown on Keyboard Test is "Copyright1981Atari"; it's "1984".

* ca65-src/microtec.inc, ca65-src/camac.inc
  Enabled the "force_range" and "missing_char_term" features, which allows the edited OS source listings in ca65-src/ to be more similar to the original files.

* ca65-src/setchecksum-800.c, ca65-src/setchecksum-xl.c
  Fixed errors in source code comments. Thank you Karl Heller!

Changes in README:
------------------

The document has been re-edited in many places, to improve language and precision of the text. Footnotes to bibliography have been added in many places of the text, where they were previously missing.

* Section 2. History of the Atari OS
  The section, which was previously split into two subsections "2.1. 400/800 OS" and "2.2. XL OS", has been reorganized into 5 sections:
  2.1. Atari 400/800
  2.2. Atari 1200XL
  2.3. Atari 600XL and 800XL
  2.4. Atari 1450XLD and other prototypes
  2.5. Atari 65XE, 130XE and XEGS

* Section 2.1. Atari 400/800
  Added Kathleen O'Brien to the Floating Point Package credits. Added more detail to description of Paul Krasno's involvement.

* Section 2.2.1. AA000000 Rev. 10 (1982-10-26)
  Added an information about EPROMS in early production 1200XLs.

* Section 2.2.2. AA000001 Rev. 11 (1982-12-23)
  Added detail to the description of differences since the previous OS revision.

* Sections 2.3.1. BB000000 Rev. 1 (1983-03-11)
           2.3.2. BB000001 Rev. 2 (1983-05-10)
  Added information about a 600XL unit that contains rev. 2 OS.

* Section 2.4. Atari 1450XLD and other prototypes
  Added the fact about some 1400/1450 prototypes containing standard rev. 2. OS.

* Section 2.4.1. BB000002 Rev. 3 (1984-03-23)
  Added information about the original source of this ROM image.

* Sections 2.4.1. BB000002 Rev. 3 (1984-03-23)
           2.4.7. CC000001 Rev. 4 (1984-09-06)
  Fixed the erroneous information about the text typed in Keyboard Text being "Copyright1981Atari" in some prototype XL OSes. It was in fact "Copyright1984Atari" from the start.

* Section 2.4.5. BB000002 Rev. 3 (1984-06-21)
  Added information about the original source of this ROM image.

* Section 2.5.1. BB000001 Rev. 3 (1985-03-01)
  Mentioned why this OS revision was more popular in Europe than in the United States.

* Section 2.5.2. BB000001 Rev. 4 (1987-05-07)
  Described in detail differences between the Missile Command game embedded in the OS ROM and the original cartridge release of the game.

* Section 2.5.4. BB000001 Rev. 59 (1988)
  Added this OS revision's release year, taken from the text printed on the OS EPROM.
  Removed information about the OS ROM hosted at Kevin Savetz's webpage being broken - he fixed it.

* Section 3.1. original/
  Added description of the new file, restored/800-fpp.asm.


==========
2017-05-13
==========

This release incorporates the new ROM dump from a 1400XL/1450XLD mainboard, provided by Karl Heller.[HELLER] It is the BB000002 Rev. 3 (1984-03-27). The file bb2r3.asm, which was created from a ROM dump (1450R3V0.ROM) found on the Internet, was previously thought to be Rev. 3. The new dump revealed that bb2r3.asm is in fact an earlier version of Rev. 3.

Changes in source files:
------------------------
* restored/bb2r3-1984-03-27.asm
  Added new source listing, based on a new ROM dump by Karl Heller.

* restored/bb2r3-1984-03-23.asm
  This file was renamed from restored/bb2r3.asm and slightly updated.

Changes in README:
------------------

* Sections 2.2.5. BB000002 Rev. 3 (1984-03-23)
           2.2.6. BB000002 Rev. 3 (1984-03-27)
  The original section 2.2.5 was split into two sections, incorporating the description of the new ROM dump by Karl Heller.

* Section 3. Contents of this archive
  Added a section about the sources of Karl Heller's ROM dump, with other minor changes.


==========
2017-05-05
==========

Changes in source files:
------------------------

The sources in orig-src/ were split into two directories: original/ and restored/. original/ contains verbatim copies of source listings published by Atari. restored/ contains reconstructions/restorations of the source files: fixes printing errors in published source listings, and adds listings for OS revisions which did not have their listings published.

* original/800a-preliminary
  New file, created from the source listings included in the "Atari Confidential Preliminary" documents.[MONIT][CIO]

* Deleted shoot-equates.asm
  This listing became unnecessary, since a full source listing with non-truncated lines was uncovered - see original/800a-preliminary.

Changes in README:
------------------

* Section 2.1.2. Rev. A (1979-06)
  Added information about the "Atari Confidential Preliminary" source listings. Removed information about the "Shoot" equates.

* Section 3. Contents of this archive
  Rewritten the whole section, to describe splitting the source listings into two new directories: original/ and restored/.


==========
2017-02-19
==========

Changes in README:
------------------

* Section 1. Introduction
  Updated link to CC65.

* Section 3.1. orig-src/
  Added new source listing, shoot-equates.asm, to the list.

Changes in source files:
------------------------

* shoot-equates.asm
  New file, created from the equates published in Compute!.[PALEVC]

* 800a-equates.asm, 800a.asm, 800b.asm
  Fixed several typos, to match the printed source listings.
  Completed a few truncated lines using the new shoot-equates.asm listing as reference.

* aa0r10.asm, aa1r11.asm, bb0r1.asm, bb1r2.asm, bb1r3.asm, bb1r4.asm, bb1r59.asm, bb1r59a.asm, bb2r3.asm, bb2r3v4.asm
  Typo fix in comments.


==========
2015-08-15
==========

Changes in README:
------------------

* Updated description of orig-src/800a.s - now it's formatted as in [OSSRCA].

Changes in source files:
------------------------

* 800a.asm
  Fixed formatting to match printed source code in [OSSRCA], full scans of which were kindly provided by sup8pdct.

* 800a.asm, 800b.asm
  Many typo fixes in comments, stemming from a readthrough of [OSSRCA] and [OSSRCB].


==========
2015-07-03
==========

Changes in README:
------------------

* Converted the README to HTML format.

* Section 2. History of the Atari OS
  Added Wilkinson to FPP credits, referenced by [WLKNSN].

* Section 2.1.3. Rev. B (1981-09)
  New facts about Rev. B PAL chips not being found in late-production machines.

* Section 2.2. XL OS
  Added description of the new OS' design considerations, referenced by [S16OS].

* Section 2.2.1. AA000000 Rev. 10 (1982-10-26)
  Removed Nordin from credits - added by mistake.
  Clarified the information about the function of the common NTSC/PAL binary.

* Sections 2.2.13. BB000001 Rev. 59 (1987-07-21)
           2.2.14. BB000001 Rev. 59 - enhanced (1987-07-21)
           3.1.14. orig-src/bb1r59a.asm
  Incorporated the fact that the alternate Rev. 59 was found in a production machine.

Changes in source files:
------------------------

* aa0r10.asm, aa1r11.asm, bb0r1.asm, bb1r2.asm, bb1r3.asm, bb1r4.asm, bb1r59.asm, bb1r59a.asm, bb2r3.asm, bb2r3v4.asm:
  Fixed two typos, to match the printed source listings.

* bb1r3.asm, bb1r4.asm, bb1r59.asm, bb1r59a.asm:
  Added the TXEBL label in the Self Test - it's definition is based on other table length labels such as TMNTL, TSKPL, TNFRL etc.

Other changes:
--------------

* Updated the Makefile to make it compatible with the newest versions of ca65 (tested on ca65 V2.15 - Git 74074a2).

* Improved readability of the sources of setchecksum-800 and setchecksum-xl. Comments have been added to explain how the OS checksums are computed and where used.


==========
2012-12-31
==========

Changes in README:
------------------

* Moved all references to a separate section.

* Added Ruckdeschel and Krasno to OS credits, referenced by [WLKNSN].

* Added Rev. B details, referenced by [MOORE].

* Added description of an early equates file from [OSMAN].

* Added facts about 400/800 OS Rev. A sources being published on paper.

Changes in source files:
------------------------

* 800a-equates.asm: 
  New file, contains the equates from [OSMAN].

* 800a.asm:
  Incorporated changes based on photos of [OSSRCA] kindly provided by sup8pdct.

* 800b.asm:
  Restored parts of lines that are available in the equate file in [OSMAN] but were truncated in [OSSRCB].
  Proofreading of [OSSRCB] - typo and formatting fixes.


==========
2012-12-09
==========

Changes in README:
------------------

* Added dates for 400/800 OSes.

* Added new information from the "All About Cassette Tapes" document regarding OS 255.

* Added information about 1200XL OSes from the 1200XL Field Service Manual.

* Typo fixes.

Changes in source files:
------------------------

* 800a.asm, 800b.asm
  Fixed one OCR error.

* aa0r10.asm, aa1r11.asm, bb0r1.asm, bb1r2.asm, bb1r3.asm, bb1r4.asm, bb1r59.asm, bb1r59a.asm, bb2r3.asm, bb2r3v4.asm
  Minor formatting fix.

* bb1r3.asm, bb1r4.asm, bb1r59.asm, bb1r59a.asm
  Added labels and comments for SETV and TNDO.

* bb1r59a.asm
  Applied consistent formatting to new (ie. post-bb1r59) parts of the source code.

Other changes:
--------------

* Renamed files in ca65-src/ in accordance with the standards of CC65 projects: *.asm to *.s, *.lnk to *.cfg.

* Makefile now supports automatic dependencies when building objects.


==========
2012-08-05
==========

Initial release.
