Atari 800XL - Maverick-Shark/retroGuru GitHub Wiki

Core Atari 800XL

NOTE: Some parts have been cloned from MiSTer Manual, Wiki MiSTer and MiSTer MkDocs

The Atari computers started with 8K/16K of memory, but 48K quickly became a standard. With the release of the XL line of computers Atari allowed the 10K that the OS originally occupied and the unused 4K of address space in the 400/800 to be banked out and replaced with RAM giving access to almost a full 64K (2K was used for hardware registers). Later attempts to add even more memory meant bank switching from 3rd parties which translated to a lack of a standard. This core also supports several of the more popular methods for bank switching, but for most software 64K should do.

Modo Atari 800XL

  • En System del menú OSD
       CPU Speed:                  1x
       Turbo:                     Off
       Machine:                 XL/XE
       XL/XE Memory:             128K
       400/800 Memory:            48K            // or 52K
       Dual Pokey:                Yes            // Stereo Yes/No
  • En Video del menú OSD
       Custom hi-res modes:       Off

Modo Atari 400

  • En System del menú OSD
       CPU Speed:                  1x
       Turbo:                     Off
       Machine:               400/800
       XL/XE Memory:              64K
       400/800 Memory:            48K
       Dual Pokey:                 No            // Stereo Yes/No
  • En Video del menú OSD
       Custom hi-res modes:       Off

Games & Demos

  • En Disk 1 (*.xex), probad las siguientes demos descargadas de Pouet con la ampliación de 1MB (en OSD, XL/XE Memory: 1088K)
        Arsantica 3 [arsantica3.atr]
        BoogieN [boogieN.xex]
        BabyJag [BabyJag.xex]
        Beep'Em All 6 [BeepEmAll_IV.atr]
        [cdrug.xex]
        [fornever.xex]
        [gene.xex]
        Get Stupid and Dance!Now [DanceNow.xex]
        Dotty Beats [DottyBeats.xex]            // Dual Pokey: Off
        Flight Over Unknown Land [flight.xex]
        ABBUC Magazin Intro 155 [intro155.xex]
        [Numen.atr]
        Offshoot
        [RGBA.xex]
        [theshrine.xex]
        30th Of Zelax
        nyd24invite 
  • Atari64.xex - ROM Cart del c64 para Atari800XL
  • Microsoft Basic 2.rom - ROM Cart con el Microsoft Basic II
  • NOTA: Las ROM Cart no som ROMs del sistema, se cargan desde el Cart del OSD!!!
  • ROMs - Pigwa.net FTP
  • Juegos recomendados:
       Bruce Lee [Bruce Lee (Repro).car]
       Manic Miner [manicminer.xex]
       Pole Position (ATARI) [Pole Position (ATARI).car]
       SCRAM (building a Nuclear Plant)
       Scramble
       Skool Daze [skooldaze.xex]
       Yoomp! [Yoomp!_v1.1_PAL.atr]                  // Stereo ON (Enable Dual Pokey on OSD)

Disks

  • A800: After mounting the disk, press F10 to boot.
  • Some games don't like the Basic ROM. Keep F8(Option) pressed while pressing F10 to skip the Basic.

Special/console keys:

  • F5 - Help
  • F6 - Start
  • F7 - Select
  • F8 - Option
  • F9 - Reset
  • F10 - Cold start (clear base 64KB RAM and reset)
  • F11 - Select drive 1 and cold start
	Use joystick to make selection in menu
		Left - up several lines
		Right - down several lines
		Up - up 1 line
		Down - down 1 line
		Fire - select
	Remember many titles require holding 'option'
	Select "DIR .." to go up a directory
	Select "DIR xxx" to go down a directory
  • F12 - System settings menu

Keyboard Mapping

  • On the right side of the Atari XL keyboard (above) are 5 keys: Help, Start, Select Option and Reset. Help appears with the XL line of computers and was never really used outside of the built in diagnostics on those computers. These keys can be accessed via a PC keyboard as follows:
        F5 = Help
        F6 = Start
        F7 = Select
        F8 = Option (hold down on boot when in XL/XE mode to disable BASIC ROM)
        F9 = Reset (Warm Start)
        F10 = Cold Start (aka power cycle)
        F11 = Select and disk image for drive 1 and reboot (load selected disk)
        Shift+Control+N/H = Disable/Enable high speed SIO (aka speed up disk I/O)

ROM OSs

  • In the OSD you can select between OS A, OS B, XL OS and the XL OS without BASIC. OS A was an early OS that was quickly replaced by OS B for the Atari 400/800. When the XL line of computer came out this OS was replaced with the XL OS. The XL computers also had a built in BASIC ROM (see What’s the deal with BASIC) which could be disabled by holding down the Option key upon booting OR you can choose XL OS without BASIC to disable it.
  • Note: In the OSD one can select between OS A, OS B and the XL OS. Usually you’ll want the XL OS, but there may be some older games that used undocumented OS calls that require OS B (or OS A although that’s quite rare). There was a translator disk for XL/XE computers to address this issue, but no need for that with MiSTer.

Startup

  • When initially running this core you’ll end up in one of three places. At a BASIC ‘READY’ prompt if you have the BASIC ROM inserted, in the Self Diagnostic tool (on an XL/XE without BASIC) or in MEMO PAD mode (on a 400/800 [use the OS B instead of an XL OS ROM]). The initial gurgle sound is the computer looking for a disk to boot from and failing to find one. You could also hold down the Start key at bootup to try and load from cassette, but cassettes are not supported in this core.

DOS

  • There are several Disk Operating Systems for the Atari 8-bit computers, but Atari’s DOS 2.5 was probably the most popular. It was a menu driven DOS and unlike several other computers from this era you would not run machine language programs from Atari BASIC. Instead you would need to type DOS from Atari BASIC’s READY prompt to return to the DOS menu (which would take time to load from the disk) and then you would choose the Run Cartridge option from DOS to return to BASIC. From BASIC you would benefit from DOS providing file system support and could, of course, load and save BASIC programs via the LOAD/SAVE commands specifying which disk drive to load from/save to.
  • e.g.
        LOAD “D1:MYFILE.BAS”
        SAVE “D1:MYFILE.BAS”
  • where D1 meant disk drive #1 (the only one in a single drive system).
  • You could, of course, run DOS without BASIC (or any cartridge) and in many cases (where machine language programs would occupy the memory use by ROM cartridges) would have to.

Load .ATR/.ATX (supports .ZIP files):

  • Insert bootable disk image via OSD (.ATR files are sector based disk images, .ATX files are a sophisticated format meant to include copy protection to yield the most authentic experience possible).
  • Press and hold F8 (the Option key to disable BASIC on XL OS unless BASIC is required) while pressing F10 (Cold start) to simulate turning the computer on with the Option button being held down (optionally you can also choose XL without BASIC from the OSD, but as an old Atari owner holding down Option feels more authentic.
  • NOTE: If the disk image isn’t bootable (most should be as there were many tiny menu programs available) then you might need to load DOS and run the program from there. .EXE was the most common file extension for machine language programs, but .COM would also be used.

.XEX files

  • .XEX files are renamed Atari 8-bit .EXE machine language program files, but to disambiguate between a PC .EXE file and an Atari 8-bit .EXE file they were renamed (get it, the opposite of EXE is XEX… kind of). This core will load and run them just like an Atari DOS would by selected them from the OSD.

Load .CAR/.ROM/.BIN ROM cartridge image

Select a cartridge image via the OSD and the core will automatically reboot. .ROM and .BIN files are just raw dumps of the cartridge data, but .CAR files have a header to provide additional info about the cartridge. The Atari 8-bit computers natively support 16K cartridges so anything bigger than that will require some sort of bank switching method. Sometimes this core will not support a particular cartridge format and it will tell you. Other times it won’t immediately know what to do and will prompt for more info as to how to use the cartridge.

What’s the deal with BASIC?

  • On the original Atari 400/800 the BASIC programming language was a separate cartridge so if you needed BASIC you inserted the cartridge. The idea behind this was that perhaps you’d rather program in PILOT or Assembler so there are cartridges with those languages on as well. The Atari XL series changed that and built the standard BASIC cartridge into the computer’s ROM however BASIC occupies some memory and if another program needs that memory then you’d be out of luck so the decision to insert/remove the built-in BASIC cartridge remained and that selection is made by holding down the Option key while powering on the computer.