• Atari 8-Bit Computers: Frequently Asked Questions (16/28)

    From Michael Current@21:1/5 to Marc G. Frank on Sun Oct 21 18:01:34 2018
    [continued from previous message]

    If running an XL OS version as determined above, the Revision number of the XL OS is available at memory location $FFF7. In Atari BASIC, PEEK(65527) for the XL OS Revision number. XL OS Revisions shipped:
    XL OS (Dec.) Hex Rev. Date Shipped in
    Rev.A (10) $0A 1982-10-26 1200XL (most)
    Rev.B (11) $0B 1982-12-23 1200XL (rare--via service centers only?)
    Rev.1 (1) $01 1983-03-11 600XL(all)/800XL(early)
    Rev.2 (2) $02 1983-05-10 800XL(most)/65XE(most)/130XE(most)
    Rev.3 (3) $03 1985-03-01 65XE(later)/130XE(later)/800XE(all)
    Rev.4 (4) $04 1987-05-07 XE System Console (all)
    Rev.3B (59) $3B 1987-07-21 Arabic Atari 65XE Najm (all)

    OS MANUALS FROM ATARI (FPP coverage included)
    - Operating System User's Manual
    - Author: Harry B. Stewart, NEOTERIC for Atari
    - (c)1980 edition
    - GREEN title page (printings with line-printed title page include
    printing date imprint; printing with Atari logo on title page lacks
    printing date)
    - 215 numbered pages
    - Table of contents lacks page numbers
    - Contents of pages numbered 191 and 192 are reversed
    - The last two sections are:
    pp. 177-199 Appendix K. OS Database Variable Functional Descriptions
    pp. 200-215 Appendix L. Equate File (400/800 OS Rev.A source excerpt)
    - Included in earlier printings of C016555 Atari Personal Computer
    System Operating System User's Manual and Hardware Manual (official
    nickname: "Technical User's Notes"), including printings dated:
    November 1980 (orange cover page), August 1981 (cover page??)
    - (c)1980 Rev. 0.2 edition
    - GREEN title page (line-printed)
    - 261 numbered pages
    - Identical to the earlier (c)1980 edition through page number 191
    - Confusingly, this includes the portion of the superceded version
    of Appendix K from the earlier edition on pages numbered 177-191
    - Pages marked 192 through 261 marked: "C016555 - Rev. 0.2"
    - Pages 192-197: Appendix K. Device Characteristics
    (content not included in the earlier edition)
    - Pages 198-261: Appendix L. OS Database Variable Functional
    Descriptions
    (complete revision of the Appendix K. from the earlier edition)
    - The Appendix L. Equate File content from the earlier edition is not
    included.
    - Included in January 1982 printing of C016555 Atari Personal Computer
    System Operating System User's Manual and Hardware Manual (official
    nickname: "Technical User's Notes") (yellow cover page)
    - (c)1982 edition
    - GRAY title page (with Atari logo)
    - 273 numbered pages
    - Completely revised table of contents, including page numbers
    - Completely revised layout; content is heavily revised in some places
    - Includes Index (pages 271-273)
    - Included in C016555 Rev. A (1982) Technical Reference Notes
    - De Re Atari: A Guide to Effective Programming
    - C060070, (c)1981 edition (early version for registered developers)
    https://archive.org/details/DeReAtari_early_version
    - APX-90008, (c)1982 edition (common version sold via APX)
    http://www.atariarchives.org/dere/
    - Also published in German and French language editions
    - Operating System Manual: Supplement to Atari 400/800 Technical Reference
    Notes C024515 (ii+38 pages covers changes from the 400/800 OS to the XL OS)
    - REV. A with green cover: "Atari 1200XL: Atari Home Computer System"
    - White cover: "Atari XL Addendum: Atari Home Computer System"

    OS SOURCE CODE PUBLISHED BY ATARI
    (excluding the FPP; see "What is Atari BASIC" FAQ section for FPP source code)
    - Operating System Source Listing CA016557 with binder
    - Should exist. February 1981?
    - Complete 400/800 OS Rev.A source code
    - Operating System Source Listing C017893, August 1981, (c)1981
    - Complete 400/800 OS Rev.A source code
    - Operating System Source Listing, (c)1982, 129 numbered+24 un-numbered pages
    - BLUE title page (with Atari logo)
    - Complete 400/800 OS Rev.B source code (numbered pages)
    - Cross Reference section (un-numbered pages)
    - Included in C016555 Rev. A (1982) Technical Reference Notes
    - According to Mapping the Atari, Revised Ed. by Ian Chadwick, page 212, or
    http://www.atariarchives.org/mapping/appendix12.php :
    "Atari did produce a listed source code for the XL OS, although for some
    reason it was never published for public sale as it was intended...It is
    an excellent 500+ page resource document."

    OS DEVELOPER CREDITS AT ATARI
    (see "What is Atari BASIC" FAQ section for FPP credits)

    400/800 OS
    Rev.A
    David Crane - Design/programming -
    graphic assistance routines (line draw, area fill)
    (also wrote: APX Outlaw/Howitzer)
    Alan Miller - Design/programming
    (also wrote: Basketball)
    Larry Kaplan - Design/programming
    (also wrote: Video Easel, Super Breakout)
    Harry B. Stewart - Design (as Neoteric consultant to Atari)
    (also wrote: APX Extended WSFN, Atari PILOT)
    Gary Palmer - Worked on the I/O portion (as consultant to Atari)
    Ian Shepard - Developed the disk drive functions
    R. Scott Scheiman - ATASCII

    Rev.B
    Michael P. Mahar - Fix several problems
    R. Scott Scheiman - Fix several problems

    XL OS
    Rev.A
    Harry B. Stewart - External Reference Specification
    (Neoteric consultant to Atari)
    Lane Winner - ?
    R. Scott Scheiman - Handler Loader
    Y. M. (Amy) Chen - Relocating Loader; International Character Set
    Mike W. Colburn - Self Test
    Richard K. (Hud) Nordin - ?

    Rev.B
    R. Scott Scheiman - Fix several problems

    Rev.1
    R. Scott Scheiman - Support for PBI and on-board BASIC
    Richard K. (Hud) Nordin - Support for PBI and on-board BASIC
    Y. M. (Amy) Chen - Support for PBI and on-board BASIC

    Rev.2
    R. Scott Scheiman - Fix several problems

    Rev.3
    ? - Self Test updated; Fix one problem

    Rev.4
    ? - Support for detachable keyboard and on-board game

    Rev.3B
    ? - Arabic character set and right-to-left text entry

    Source code and further details for all known shipped and prototype versions
    of the Atari OS, based on disassembled ROM images combined with published source listings, was (amazingly) published by Tomasz Krasuski at http://www.atariage.com/forums/topic/201133-os-source-code-all-revisions/

    ------------------------------

    Subject: 7.1.2) What modified versions of the Atari OS were released?

    This should be a complete list of modified versions of the Atari operating system ROM chips, or extensions to the OS released on ROM chips, released commercially by third-parties for the Atari.

    Replacement personality boards for the 800, as well as 400/800 OS "translator" programs distributed as software, are listed in separate sections of this FAQ list.

    Countless public domain modifications to the Atari OS have been produced as well. These are generally not listed here.

    For the 400/800
    ---------------
    Fastchip (or: Fast Chip), by Charles W. Marslett for Newell Industries, 1981
    - Faster replacement for the Floating Point Package (FPP) ROM chip
    (Analog #8p93)
    - Source code available:
    http://www.wordmark.org/mydos.html (Revision C, 30 November 1981)

    Supermon!, by CDY Consulting (David Young), 1982?
    - Resident machine language monitor
    - Installs into the 4KiB byte block of memory at $C000.
    - Shipped with earliest Ramrod units by Newell Industries
    - For later released versions see: Omnimon! (1983?)

    Omnimon!, by CDY Consulting (David Young), 1983?
    - Resident machine language monitor
    - For earliest released version see: Supermon! (1982?)
    - Installs into the 4KiB byte block of memory at $C000.
    - Standard Version (4KiB): Has a HELP command (not present in other versions)
    - Shipped with Omnimon! piggyback board by The Peripheral Connection
    (Bill Williams)
    - Shipped with Newell Industries Ramrod personality board (800)
    - Advanced Version A (4KiB): Adds several utilities, plus support for
    Happy 810 Enhancement and Bit 3 Full-View 80
    - Ramdisk Version R (4KiB): Most features of Advanced Version A, including
    Happy 810 Enhancement and Bit 3 Full-View 80 support, plus Axlon RAMdisk
    support
    - Banked Version L (4KiB): Same as RAMdisk Version R with additional disk I/O
    facilities, but without debugging commands of Standard Version
    - Banked Version U (4KiB): Add-on for Banked Version L adds the Standard
    Version debugging commands plus a mini-assembler and a relocate command.
    - 8K Omnimon! (complete Omnimon! feature set) (1984)
    - Comes in a special 8KiB chip with hardware toggle switch to select
    between lower 4KiB (Version L) and upper 4KiB (Version U). Characters
    on the screen are inverted to prompt user to flip the switch when needed.
    - 4KiB Versions A/R/L/U were discontinued at the release of 8K Omnimon!;
    the standard (4KiB) Omnimon! remained available alongside 8K Omnimon!.

    OSN (O.S.'N'), by Wes Newell for Newell Industries, 1983
    - Complete replacement 400/800 operating system
    - Shipped with Newell Ramrod 800 personality board (except "Ramrod 3")
    - OSN supplied on 2 4KiB chips or on one 8KiB chip.
    - Provides all graphics modes, including modes 12-15 that are not in the
    standard 400/800 OS
    - Cassette interface is programmable to any baud rate
    - Keyboard delay and repeat functions have been modified to allow for
    faster typing and cursor movement.
    - Cartridges can be disregarded on power up.

    Omniview (Omniview 400/800), by CDY Consulting, 1984
    - Adds 80 column E: and S: OS device drivers, using 3-bit wide characters
    in ANTIC mode F (BASIC GR. 8). Software can also be optimized to write
    to the Omniview screen output routines.
    - Axlon RAMdisk handler (up to 1MiB) included. (same as Omnimon! handler)
    - Installs into the 4KiB byte block of memory at $C000.
    - Two versions: Omniview standard (4KiB) or 8K Omniview.
    - 8K Omniview consists of Omniview standard (4KiB) version + CDY Omnimon!
    standard (4KiB) version in an 8KiB bankable ROM.
    - On a CDY Omnimon! board, the Omniview chip replaces the Omnimon! chip
    - On Newell Ramrod board, the Omniview chip either replaces the Supermon!/
    Omnimon! chip, or it can be installed alongside the Supermon!/Omnimon! chip
    through the use of a hardware toggle switch.
    - Many units supplied with SpeedScript 80 (earlier name) / OmniWriter (later
    name), OmniTerm (modified VT-10-Squared), and patch instructions for Bit 3
    Full-View 80 supporting versions of LJK Letter Perfect and LJK Data Perfect. - Sold separately by CDY: Patched AtariWriter Plus (130XE version), OmniCom
    (commercial versions for Omniview)

    ROMDOS / RDOS, by Wordmark Systems
    - Equivalent to MYDOS 3.0 (described elsewhere in this FAQ list)
    - Installs into the 4KiB byte block of memory at $C000.
    - For Newell Ramrod personality board or CDY Omnimon! board

    OMNIDOS, by CDY Consulting / Wordmark Systems
    - Wordmark ROMDOS/RDOS (4KiB) and CDY Omniview standard (4KiB) on one 8KiB
    chip
    - Installs into the 4KiB byte block of memory at $C000.
    - For Newell Ramrod personality board or CDY Omnimon! board

    Impossible!, by Computer Software Services (CSS), 1984
    - 4K Static RAM-Pac board plugs in place of the C012499 OS ROM chip
    - Adds 4KiB RAM at $C000, hardware switch selectable
    - Shipped with disk containing copying software

    Ultimon, by Computer Support, 1986
    - Machine code monitor/disassembler, mini-DOS, disk sector editor

    80 Column Pack, by Computer Support, 1986
    - 80 column text mode using a Graphics 8 screen

    Superchip / Super-Chip, by Computer Support, 1986
    - Fast floating point math routines ?????

    For the 800 only
    ----------------
    Super800, by Super Products, for 800
    - Piggyback board for CX801 personality board
    - Run the 400/800 OS or the XL OS
    - Includes Supermon, by Super Products
    - 2 hardware switches: XL emulation on/off, Supermon on/off
    - Includes 16KiB RAM
    - Can use Super Products SuperRAM as Axlon or XL/XE compatible RAM

    For the 600XL/800XL/65XE/130XE/800XE (not 1200XL/XEgs unless specified) ------------------------------------
    XL Fix ROM, by Computer Software Services (CSS), 1984
    - 400/800 OS translator
    - Access to 4KiB RAM at $C000
    - Available for 1200XL or for 600XL/800XL
    - Board includes socket for standard XL OS ROM chip, and includes switch
    for selecting XL OS or 400/800 OS.

    XL Boss, by Allen Macroware, 1984
    - 400/800 OS translator in ROM
    - Access to 4KiB RAM at $C000
    - OS ROM chip for 800XL/600XL, or chip with adapter for 1200XL
    - Beginning 1985 shipped with dual operating system board
    - Shipped with (disk):
    MacroMon XL (machine language monitor), MacroDOS (miniature DOS)

    OmnimonXL, by CDY Consulting, 1984
    - Single OS ROM chip includes:
    - OSNXL (OSN XL/XE) operating system
    - Fastchip XL floating point routines
    - OmnimonXL (Omnimon XL) resident machine language monitor
    - Compatible with the 400/800 OS, but has a programmable cassette baud rate,
    increased keyboard speed, and all the graphic modes of the XL/XE's
    - Shipped with Newell Industries Ramrod XL (Ramrod XL/XE)(except "Ramrod XL2")
    (Ramrod XL board plugs in place of the OS ROM chip; has 3 XL/XE ROM sockets
    and hardware OS select switch)

    OmniviewXL, by CDY Consulting, 1984
    - Single OS ROM chip includes:
    - OSNXL (OSN XL/XE) operating system
    - Fastchip XL floating point routines
    - OmniviewXL (Omniview XL/XE)
    - Compatible with the 400/800 OS, but has a programmable cassette baud rate,
    increased keyboard speed, and all the graphic modes of the XL/XE's
    - Adds 80 column E: and S: OS device drivers, using 3-bit wide characters
    in ANTIC mode F (BASIC GR. 8). Software can also be optimized to write
    to the Omniview screen output routines. Compatible with Omniview 400/800.
    - Built-in ATRMON terminal emulator for use with the ATR8000
    - Later versions (Omniview XL/XE) include 64KiB RAMdisk handler for 130XE
    - Supplied with SpeedScript 80 (earlier name) / OmniWriter (later name),
    OmniTerm (modified VT-10-Squared), and patch instructions for Bit 3 Full-
    View 80 supporting versions of LJK Letter Perfect and LJK Data Perfect.
    - Sold separately by CDY: Patched AtariWriter Plus (130XE version), OmniCom
    (commercial versions for Omniview)

    Bibomon, by Erwin Reuss for Compy-Shop, 1984
    - Later known as: "4K-Bibomon"
    - XL OS with added machine language monitor
    - Includes piggyback socket for standard XL OS chip and hardware switch

    512K RAM BetriebsSystem Chip, by Irata Verlag, 1985?
    - XL OS with added RAMdisk support for the company's 512K RAM 800XL RAMFloppy

    High Chip XL, by Irata Verlag, 1985
    - XL OS with added buffered fast write with verify SIO for use with the
    company's High Speed Board 1050 (Happy 1050 Enhancement clone)

    High Chip XE mit RAMDisk, by Irata Verlag, 1985?
    - High Chip XL with added RAMdisk for the 130XE

    OldRunner Chip, by Irata Verlag, 1985?
    - 400/800 OS translator in ROM

    Supermon, by Will Visser for Super Products, 1985
    - 400/800 OS translator, with enhancements
    - Disassembler; DOS functions; 4 color screendump
    - Also included with Super Products Super800

    XOS/80 Column Pack!, by Computer Support, 1985
    - 600XL/800XL and 130XE separate versions
    - XL OS modified to be highly compatible with the 400/800 OS, plus 820 baud
    cassette saves
    - 80 column text mode using a Graphics 8 screen

    XOS/Ultimon!, by Computer Support, 1985
    - 600XL/800XL and 130XE separate versions
    - XL OS modified to be highly compatible with the 400/800 OS, plus 820 baud
    cassette saves
    - Machine code monitor/disassembler, mini-DOS, disk sector editor http://ultimon.com/

    XOS/Fix, by Computer Support, 1985
    - 400/800 OS translator in ROM

    Superchip / Super-Chip, by Computer Support, 1986
    - 600XL/800XL and 130XE separate versions
    - XL OS with fast floating point math routines ?????

    Ultra Speed OS, by Computer Software Services (CSS), 1986
    - Universal support for high speed read/write with upgraded disk drives
    including Klone/Happy, Duplicator, and US Doubler
    - Numerous other OS enhancements
    - Chip shipped with piggyback socket and switch for hardware toggle between
    Ultra Speed OS and standard Atari XL OS

    Omniview 256, by CDY Consulting, 1986
    - Omniview XL/XE (see OmniviewXL above) with added 192KiB RAMdisk
    - Marketed for use with 800XL with Newell Industries 256KXL upgrade

    16K-Bibomon, by Erwin Reuss for Compy-Shop, 1986
    - Add on board includes:
    - Bibomon 16K machine language monitor ROM
    (occupies 4KiB address space at $C000)
    - Oldrunner 400/800 OS ROM chip
    - Socket for standard XL OS ROM chip
    - Hardware clock
    - Centronics compatible printer port
    - Hardcopy Routine: Epson FX-80 and Okidata Microline compatible
    - mini-DOS: DOS 2.5 and OSS DOS XL compatible, plus Speedy 1050 high speed
    - Hardware switches used to select between XL OS / Oldrunner, between
    BASIC On / BASIC Off under Oldrunner, and between Bibomon or
    International character set under Oldrunner

    Qmeg-OS, by Stefan Dorndorf, 1987
    - "Quarter-Mega OS" - intended for machines with minimum 256KiB RAM
    - Highly compatible with standard XL OS
    - Removed: PBI/ECI support, Self Test, International character set
    - Adds monitor OS, mini DOS, machine language monitor with disassembler
    - 130XE-type RAMdisks, configured as two standard single density disks,
    two enhanced density disks, or one standard double density disk
    - Universal high speed SIO support for Happy 1050, Speedy 1050, 1050 Turbo
    - P2: and P3: Epson printer drivers
    - Internal Centronics parallel printer interface support (at $D6xx)
    - Must be attached directly to PIA

    Expander, by Syngery Concepts, 1987
    - XL OS with added Executive Program for managing up to four RAMdisks of up to
    512KiB; boot from any RAMdisk or any floppy disk drive; built-in mini-DOS

    Ultra Speed Plus! Operating System Package, CSS, 1988
    - Module replaces OS ROM chip, with several lines soldered to points on
    the motherboard as well. Three operating systems, switch-selectable:
    - Standard Atari XL OS
    - XL-Fix Plus
    - 400/800 OS translator, with enhancements
    - Mach-Ten binary file loader, with Mach Menu writer
    - Ultra Speed Plus (US+)
    - Universal support for high speed read/write with upgraded disk drives
    including Super Archiver, Happy, US Doubler, Duplicator, Klone, Density
    Doubler, and XF551
    - RAMdisk handler can emulate single or double density floppy disks, and
    supports 128KiB to 2MiB XE-type upgrades. Can boot from RAMdisk.
    - Fastchip floating point routines
    - Comprehensive memory test routine pinpoints defective RAM chips

    Turbo-OS, by DataQue Software (Chuck Steinman), 1989
    - Shipped with DataQue Software Turbo-816 65C816 board (both 600XL/800XL/65XE/
    130XE and 1200XL versions)
    - Compatible with software that uses the published, legal entry points into
    the Atari XL OS and legal RAM locations
    - Recommended to install both the Atari XL OS and the Turbo-OS ROMs, and a
    toggle switch used to select which is active ("Dual Prom" Option).

    TurBoss, by Integrated Logic Systems (ILS), 1990
    - Enhances the screen display list speed in Graphics Mode 0
    - Charles Marslett's high speed math routine (Fastchip)
    - D.E.Mon real-time monitor built in
    - Chip contains standard Atari XL OS as well, hardware switch selectable http://www.realdos.net/prodturboss.html

    25K Bibomon, by Klaus Peters / Elektronik und Software, 1992
    - Add-on board is marked: Supermon V1.1
    - Single chip includes two operating systems: Old OS (Oldrunner?) and XL OS
    - Board also includes Bibomon machine language monitor and optional
    Bibo-Assembler
    - Board includes socket for second XL/XE OS chip
    - Firmware allows software control of combinations of OS (Old OS / XL OS /
    Optional OS), with choices of international character set, Bibomon with
    Bibomon DOS, Bibo-Assembler, and internal BASIC enabled
    - Universal Speedy 1050 high speed support

    APE Warp+ OS, by Atarimax (Steven J. Tucker), 1996
    - Universal high speed SIO (3x), US Doubler emulation, other enhancements
    - Shipped 1996-2005 as part of APE Warp+ Quad OS Upgrade Module, containing
    APE Warp+ OS, standard XL OS, a public domain Atari 800 compatible OS,
    and standard XL OS with Reverse BASIC
    - Includes chip and 2 toggle switches
    - Beginning 2005 shipped as part of APE Warp+ 32-in-1 OS Upgrade Module
    - Module replaces OS ROM chip, with 3 other connections necessary
    - OS Selection Menu in ROM

    QMEG+OS 4.04, by Stefan Dorndorf, 1997
    - "Quarter-Mega Plus OS" - intended for machines with minimum 256KiB RAM
    - Can be installed in 64KiB or 128KiB computers (no RAMdisks supported)
    - Highly compatible with standard XL OS
    - Removed: Self Test, International character set, full cassette support
    - Adds monitor OS, mini DOS, machine language monitor with disassembler and
    disk sector editor, Freezer
    - Full support for large Bibo-DOS, Turbo-DOS, and MYDOS floppy disks, and
    MYDOS subdirectories
    - RAMdisk for 130XE, Atari magazine 256KiB, Copy-Shop 256KiB, and Newell 1MiB;
    RAMdisks configured as two standard single density disks, two enhanced
    density disks, or one standard double density disk
    - Universal high speed SIO support for Happy 1050, Speedy 1050, 1050 Turbo,
    XF551. Drive types automatically detected.

    MyBIOS ROM versions, by Sijmen Schouten (Mr. Atari), 2002-
    - ROM versions are a complete replacement OS for the computer
    - "The most compatible Atari XL/XE + 400/800 Operating system known"
    - For all types of MyIDE interface
    - 'E' version for external MyIDE; 'I' version for internal MyIDE http://www.mr-atari.com/myidehome.htm

    65C816 XL OS (DracOS), by Konrad M. Kokoszkiewicz, 2004-
    Top project goals:
    - Make possible to use the 65C816 native mode on Atari XL/XE computers without
    problems and with interrupts enabled.
    - Make the memory mapped at extra addresses ($010000-$FFFFFF) accessible and
    usable for programs.
    - Provide some more extra services related to the 65C816 such as new interrupt
    vectors, basic memory management routines etc.
    - Develop new system of entry points: current mechanism of making ROM calls is
    difficult to use, when the code resides above the address $FFFF. http://drac030.krap.pl/en-specyfikacja.php

    ------------------------------

    Subject: 7.1.3) What is the ATASCII (Atari ASCII) encoding standard?

    ASCII is an acronym for the American Standard Code for Information
    Interchange. Pronounced ask-ee, ASCII is a character and control code
    encoding standard used by computers, telecommunications equipment, and other devices. There are 128 valid codes in ASCII, including 95 printable
    characters (including the "space" character) and 33 control codes.

    The 8-bit Atari computers use a modified version of ASCII called Atari ASCII, or ATASCII. The ATASCII character set, contained in Operating System (OS)
    ROM, includes 256 printable characters. Each character is a matrix of 8 x 8 pixels.

    The XL OS contains both the standard ATASCII character set (as found in the 400/800 OS) and an alternate International Character Set, where 29 ATASCII standard "graphics characters" are replaced primarily with characters with European accent marks.

    ATASCII printable characters are a functional superset of ASCII, with a few exceptions: ATASCII lacks the left curly bracket, right curly bracket, tilde, and grave accent printable ASCII characters. The similarity between ATASCII and ASCII character coding facilitates exchange of text between the Atari and other computers or devices also using character encodings based on ASCII.

    16 of the ATASCII character codes also have control code functions when processed by the E: Screen Editor device of the Atari OS. ATASCII control codes are quite different from ASCII control codes. The most important functional difference between ATASCII and other variations of ASCII is how a "newline" (line ending, end of line (EOL), line break) is coded. The Atari's ATASCII uniquely uses the single decimal character code 155 to indicate a newline. Thus, when exchanging text files between the Atari and other computing devices a "text conversion" is necessary in order for newlines to be recognized as expected both before and after transmission.

    The Wikipedia article on ATASCII provides links to several ATASCII/ASCII character tables, and a list of the ATASCII control codes. https://en.wikipedia.org/wiki/ATASCII

    ------------------------------

    Subject: 7.1.4) How is the Input/Output subsystem of the Atari OS organized?

    Derived primarily from the Operating System User's Manual and De Re Atari.

    The Input/Output (I/O) subsystem of the Atari Operating System (OS) comprises
    a collection of software utilities/routines, offered at three different levels of abstraction (CIO, Device Handlers, SIO), that allow for user communication with local system and peripheral devices. Communications between adjacent levels of the I/O subsystem are carried via one of the three types of I/O system control blocks (IOCB, ZIOCB, DCB).

    Presented in order from the highest level to the lowest level:

    USER PROGRAM

    INPUT/OUTPUT CONTROL BLOCK (IOCB)
    Carries communications between a user program and Central I/O (CIO)
    - 8 IOCBs (#0-#7) are provided by the OS.
    - Each IOCB can be assigned to control any device/file.
    - IOCB #0 is assigned by the OS to the E: Screen Editor at power-up and
    system reset.
    - Software programming environments may reserve other IOCBs for internal
    use. For example, Atari BASIC uses IOCB #6 to interact with the S:
    device when using graphics modes other than zero, and uses IOCB #7 for
    I/O with the printer, disk drive, and cassette. (Patchett/Sherer,
    Master Memory Map, http://www.atariarchives.org/mmm/iocbs.php)

    CENTRAL I/O (CIO) utility/routine
    Intended for user program access to system and peripheral devices. A device consists of one or more "files" where each file consists of a sequential collection of data bytes. Files are optionally organized into "records" which are delineated by the End Of Line character/byte ($9B). 8 basic functions provided by CIO: OPEN, CLOSE, GET CHARACTERS, PUT CHARACTERS, GET RECORD,
    PUT RECORD, GET STATUS, Special (handler-specific)
    Additional CIO features:
    - Device independence
    - Single entry point for all devices (and for all operations)
    - Device-independent calling sequence
    - Uniform rules for data transfers, regardless of actual device storage
    block sizes
    - Data access methods
    - Byte-aligned. Any number of bytes can be read or written, and the
    next operation will continue where the prior one left off.
    - Record-aligned. A single record of bytes can be read or written, and
    the next operation will continue at the beginning of the next record.
    - Multiple device/file concurrency
    - Up to 8 device/files can be accessed concurrently, each operating
    independently of the others.
    - Unified error handling
    - Device expansion: while the OS supplies several device handlers in ROM,
    CIO also supports the loading of additional CIO-compatible device
    handlers into RAM.

    ZERO-PAGE I/O CONTROL BLOCK (ZIOCB)
    Carries communications between higher-level CIO and lower-level device handlers. There is a single ZIOCB only.

    DEVICE HANDLERS
    Device-specific communication. Handlers provided by the Atari OS:
    - K: Keyboard Handler (read only)
    - S: Display Handler (read/write)
    Offers the special CIO commands DRAW and FILL.
    - E: Screen Editor (read/write)
    - Uses the K: Keyboard Handler and the S: Display Handler to provide
    "line-at-a-time" input with interactive editing functions, as well as
    formatted output.
    - C: Cassette Handler (read/write)
    - P: Printer (write only)
    - 400/800 OS: Supports a single printer device; any
    device number is ignored. All powered printers attached via SIO or
    the 850 parallel port respond to all print commands.
    - XL OS: Supports 8 different printer devices: P1:-P8:
    P: (no device number) is interpreted to mean: P1:
    Printer devices are associated with specific models of Atari printers as follows:
    P1: All printers attached via SIO or the 850 parallel port
    P2: 850 Interface Module parallel port (e.g., Atari 825)
    P3: 1025 Printer
    P4: 1020 Color Plotter
    P5: 1027 Printer
    P6: 1029 Printer
    P7: XMM801 Printer
    P8: XDM121 Printer
    Tomasz Krasuski contributes (May 2011):
    This feature is buggy in XL OS Rev.A/Rev.B/Rev.1. Behavior was
    fixed to reliable operation as of XL OS Rev.2.
    - Diskette Handler, Resident
    - Not a full device handler; not CIO-compatible
    - Except for Atari DOS I, normally only used to load a full File
    Management System from disk
    Nonresident Handlers can be added to the system environment in several ways:
    - Loaded from diskette or cassette
    - Loaded from the ROM of an SIO device (850 interface, 1030 modem). May be
    loaded at system startup without disk drive ("bootstrap without disk
    drive"), may be loaded as part of a Disk Boot ("bootstrap with disk
    drive"), or may be loaded afterward.
    - XL OS Rev.1+: Loaded from a New Device attached via PBI or Cartridge+ECI

    DEVICE CONTROL BLOCK (DCB)
    Carries communications between higher-level device handlers and lower-level Serial I/O (SIO). There is a single DCB only.
    - Also used by the OS-resident Diskette Handler

    SERIAL I/O (SIO) utility/routine
    Low-level communication with serial bus peripherals
    - Control of all Serial bus I/O, conforming to the bus protocol
    - Bus operation retries on errors
    - Return of unified error statuses on error conditions
    - Used by the OS-resident P: handler
    - Not used by the OS-resident K: S: and E: handlers (non-SIO devices)
    - While the OS-resident C: handler uses the SIO bus hardware, it does not use
    the SIO utility/routine.

    Any lower level (lower than CIO) access to a device by a user program involves the direct reading and writing of the hardware registers associated with the device.

    ------------------------------

    Subject: 7.1.5) What is attract mode?

    From the Atari Operating System User's Manual (1982) p. 215:

    Attract mode is a mechanism that protects the television screen from having
    patterns "burned into" the phosphors due to a fixed display being left on
    the screen for extended periods of time. When the computer is left
    unattended for more than 9 minutes, the color intensities are limited to 50
    percent of maximum and the hues are continually varied every 8.3 seconds.
    Pressing any keyboard data key will be sufficient to remove the attract mode
    for 9 more minutes.

    Laurent Delsarte contributes:

    To launch the attract mode from BASIC, use a "POKE 77,128"
    To disable the attract mode from BASIC, use a "POKE 77,0"

    ------------------------------

    Subject: 7.1.6) What is the Atari cassette utilization/filesystem?

    (Section sources include: De Re Atari, OS Users Manual, XL Addendum)

    The following are characteristics of the cassette utilization/filesystem
    as implemented by the Atari Operating System.

    - Mark = 5327Hz (audible sound frequency)
    - Space = 3995Hz (audible sound frequency)
    - Bit = space(0) or mark(1)
    - Byte = 10 bits:
    - 1 start bit (space)
    - 8 data bits
    - 1 stop bit (mark)
    - Record = 6-132 bytes, as follows:
    - Speed measurement byte, first of two. Marker character = $55 (hex)
    - Speed measurement byte, second of two. Marker character = $55 (hex)
    - Control byte. One of three values:
    1) $FC = Record is a full data record.

    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)