mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 12:22:33 -05:00
208 lines
7.8 KiB
YAML
208 lines
7.8 KiB
YAML
emulator: Atari800
|
|
type: standalone + libretro
|
|
core_classification: official_port
|
|
source: "https://github.com/libretro/libretro-atari800"
|
|
upstream: "https://github.com/atari800/atari800"
|
|
profiled_date: "2026-03-23"
|
|
core_version: "3.1.0"
|
|
display_name: "Atari - 400/800/600XL/800XL/130XE/5200 (Atari800)"
|
|
cores: [atari800]
|
|
systems: [atari-400-800, atari-5200, xegs]
|
|
|
|
# Atari800 emulates the Atari 8-bit family (400/800/XL/XE) and the 5200 console.
|
|
# All BIOS files are optional -- the core ships built-in Altirra OS replacements
|
|
# (altirraos_800, altirraos_xl, altirra_5200_os, altirra_basic) compiled into the
|
|
# binary. If real ROM files are found in the system directory they take priority.
|
|
#
|
|
# ROM discovery (sysrom.c SYSROM_FindInDir):
|
|
# 1. Scan system directory for files of valid size (0x800, 0x2000, 0x2800, 0x4000)
|
|
# 2. Match by CRC32 against known ROM revisions
|
|
# 3. If no CRC match, try case-insensitive filename match (MatchByName)
|
|
# 4. Results stored in .atari800.cfg (generated on first run)
|
|
#
|
|
# The core generates .atari800.cfg in the frontend home directory on first boot.
|
|
# Core option "atari800_system" selects the emulated machine type:
|
|
# 400/800, 800XL (64KB), 130XE (128KB), Modern XL/XE(320KB), Modern XL/XE(576KB),
|
|
# Modern XL/XE(1088KB), 5200
|
|
|
|
files:
|
|
# -- Atari 5200 BIOS --
|
|
# Original 5200 OS ($F800-$FFFF, 2 KB). Matched by CRC32: 0x4248d3e3 (orig)
|
|
# or 0xc2ba2613 (rev A). Altirra 5200 OS used as fallback.
|
|
# Filename match (case-insensitive): atari5200.rom, atar5200.rom, 5200.rom,
|
|
# 5200.bin, atari_5200.rom
|
|
|
|
- name: "5200.rom"
|
|
path: "5200.rom"
|
|
required: false
|
|
hle_fallback: true
|
|
size: 2048
|
|
md5: 281f20ea4320404ec820fb7ec0693b38
|
|
aliases: [atari5200.rom, atar5200.rom, 5200.bin, atari_5200.rom]
|
|
validation: [crc32]
|
|
note: >
|
|
Atari 5200 BIOS (original). Mapped at $F800-$FFFF.
|
|
Altirra 5200 OS is used when this file is absent.
|
|
source_ref: "atari800/src/sysrom.c:101-102,255"
|
|
|
|
# -- Atari BASIC ROM --
|
|
# Atari BASIC interpreter (8 KB). Three known revisions:
|
|
# Rev A: CRC32 0x4bec4de2, Rev B: CRC32 0xf0202fb3, Rev C: CRC32 0x7d684184
|
|
# Auto-select prefers Rev C > B > A > custom > Altirra BASIC.
|
|
# Filename match: ataribasic.rom, ataribas.rom, basic.rom, atari_basic.rom
|
|
# Core option "atari800_opt2" enables BASIC (needed for some 400/800 software).
|
|
|
|
- name: "ATARIBAS.ROM"
|
|
path: "ATARIBAS.ROM"
|
|
required: false
|
|
hle_fallback: true
|
|
size: 8192
|
|
md5: 0bac0c6a50104045d902df4503a4c30b
|
|
aliases: [ataribasic.rom, basic.rom, atari_basic.rom]
|
|
validation: [crc32]
|
|
note: >
|
|
Atari BASIC Rev C. Required for 400/800 software that needs BASIC.
|
|
Altirra BASIC is used as fallback. Enable via core option atari800_opt2.
|
|
source_ref: "atari800/src/sysrom.c:103-105,257"
|
|
|
|
# -- Atari 400/800 OS A --
|
|
# Original Atari 400/800 OS (10 KB). Two known CRC32 values:
|
|
# NTSC: 0xc1b3bb02, PAL: 0x72b3fed4
|
|
# Filename match: atariosa.rom, atari_osa.rom, atari_os_a.rom
|
|
|
|
- name: "ATARIOSA.ROM"
|
|
path: "ATARIOSA.ROM"
|
|
required: false
|
|
hle_fallback: true
|
|
size: 10240
|
|
md5: eb1f32f5d9f382db1bbfb8d7f9cb343a
|
|
aliases: [atari_osa.rom, atari_os_a.rom]
|
|
validation: [crc32]
|
|
note: >
|
|
Atari 400/800 OS Rev A. Altirra OS 800 is used as fallback.
|
|
Auto-select order: OS B NTSC, OS A NTSC, OS A PAL, custom, Altirra.
|
|
source_ref: "atari800/src/sysrom.c:87-88,250"
|
|
|
|
# -- Atari 400/800 OS B --
|
|
# OS revision B (10 KB), NTSC: CRC32 0x0e86d61d
|
|
# Filename match: atariosb.rom, atari_osb.rom, atari_os_b.rom
|
|
|
|
- name: "ATARIOSB.ROM"
|
|
path: "ATARIOSB.ROM"
|
|
required: false
|
|
hle_fallback: true
|
|
size: 10240
|
|
md5: 4177f386a3bac989a981d3fe3388cb6c
|
|
crc32: 0e86d61d
|
|
aliases: [atari_osb.rom, atari_os_b.rom]
|
|
validation: [crc32]
|
|
note: >
|
|
Atari 400/800 OS Rev B (NTSC). CRC32 0x0e86d61d matches sysrom.c
|
|
SYSROM_B_NTSC. Preferred over Rev A for 400/800 mode.
|
|
Note: .info lists md5 a3e8d617c95d08031fe1b20d541434b2 which is a
|
|
different dump (crc32 3e28a1fe) -- both in repo, the CRC32-matched
|
|
version is the one sysrom.c auto-detects.
|
|
source_ref: "atari800/src/sysrom.c:89,251"
|
|
|
|
# -- Atari XL/XE OS --
|
|
# XL/XE OS (16 KB). Many revisions known by CRC32 in sysrom.c:
|
|
# BB01R2 (800XL stock): 0x1f9cd270
|
|
# CC01R4: 0x0e000b99
|
|
# BB01R4: 0x1eaf4002
|
|
# Auto-select prefers BB01R2 for 800XL, BB01R3 for XE, BB01R4 for XEGS.
|
|
# Filename match: atarixlxe.rom, atarixl.rom, atari_xlxe.rom, atari_xl_xe.rom
|
|
|
|
- name: "ATARIXL.ROM"
|
|
path: "ATARIXL.ROM"
|
|
required: false
|
|
hle_fallback: true
|
|
size: 16384
|
|
md5: 06daac977823773a3eea3422fd26a703
|
|
aliases: [atarixlxe.rom, atari_xlxe.rom, atari_xl_xe.rom]
|
|
validation: [crc32]
|
|
note: >
|
|
Atari XL/XE OS. Used for 800XL, 130XE, and XEGS modes.
|
|
Altirra XL OS is used as fallback.
|
|
source_ref: "atari800/src/sysrom.c:90-99,253"
|
|
|
|
# -- Atari XL/XE/XEGS OS v4 (BB01R4) --
|
|
# XEGS-specific OS revision BB01R4 (16 KB), CRC32: 0x1eaf4002
|
|
# Preferred for XEGS machine mode. Same filename matching as ATARIXL above.
|
|
|
|
- name: "BB01R4_OS.ROM"
|
|
path: "BB01R4_OS.ROM"
|
|
required: false
|
|
hle_fallback: true
|
|
size: 16384
|
|
md5: b7a2a04677d34f069eeb643d5238bf86
|
|
validation: [crc32]
|
|
note: >
|
|
Atari XEGS OS Rev 4 (BB01R4). Preferred OS for XEGS machine mode.
|
|
source_ref: "atari800/src/sysrom.c:98"
|
|
|
|
# -- XEGS Missile Command built-in game --
|
|
# The XEGS had Missile Command in ROM (8 KB), CRC32: 0xbdca01fb
|
|
# No filename auto-match -- must be set via config or detected by CRC.
|
|
|
|
- name: "XEGAME.ROM"
|
|
path: "XEGAME.ROM"
|
|
required: false
|
|
size: 8192
|
|
md5: d7eb37aec6960cba36bc500e0e5d00bc
|
|
validation: [crc32]
|
|
note: >
|
|
XEGS built-in Missile Command ROM. Only used in XEGS machine mode.
|
|
No built-in replacement exists for this ROM.
|
|
source_ref: "atari800/src/sysrom.c:106"
|
|
|
|
# Known ROM revisions from sysrom.c (CRC32 identifiers):
|
|
#
|
|
# 400/800 OS:
|
|
# SYSROM_A_NTSC 0xc1b3bb02 10 KB OS Rev A (NTSC)
|
|
# SYSROM_A_PAL 0x72b3fed4 10 KB OS Rev A (PAL)
|
|
# SYSROM_B_NTSC 0x0e86d61d 10 KB OS Rev B (NTSC)
|
|
#
|
|
# XL/XE OS (all 16 KB):
|
|
# SYSROM_AA00R10 0xc5c11546 1200XL first rev
|
|
# SYSROM_AA01R11 0x1a1d7b1b 1200XL second rev
|
|
# SYSROM_BB00R1 0x643bcc98 600XL stock
|
|
# SYSROM_BB01R2 0x1f9cd270 800XL stock
|
|
# SYSROM_BB02R3 0x0d477aa1 XL/XE rev 3a
|
|
# SYSROM_BB02R3V4 0xd425a9cf XL/XE rev 3b
|
|
# SYSROM_CC01R4 0x0e000b99 XL/XE rev 5
|
|
# SYSROM_BB01R3 0x29f133f7 XE stock
|
|
# SYSROM_BB01R4 0x1eaf4002 XEGS stock
|
|
# SYSROM_BB01R59 0x45f47988 XL/XE rev 59
|
|
# SYSROM_BB01R59A 0xf0a236d3 XL/XE rev 59a
|
|
#
|
|
# 5200 OS (2 KB):
|
|
# SYSROM_5200 0x4248d3e3 Original
|
|
# SYSROM_5200A 0xc2ba2613 Rev A
|
|
#
|
|
# BASIC (8 KB):
|
|
# SYSROM_BASIC_A 0x4bec4de2 Rev A
|
|
# SYSROM_BASIC_B 0xf0202fb3 Rev B
|
|
# SYSROM_BASIC_C 0x7d684184 Rev C
|
|
#
|
|
# XEGAME (8 KB):
|
|
# SYSROM_XEGAME 0xbdca01fb Missile Command
|
|
#
|
|
# Built-in Altirra replacements (no file needed):
|
|
# altirraos_800 10 KB 400/800 OS replacement
|
|
# altirraos_xl 16 KB XL/XE OS replacement
|
|
# altirra_5200_os 2 KB 5200 OS replacement
|
|
# altirra_basic 8 KB BASIC replacement
|
|
|
|
notes:
|
|
altirra_note: >
|
|
The Altirra OS/BASIC replacements are open-source alternatives compiled
|
|
directly into the core binary (roms/ directory in source). They provide
|
|
good compatibility for most software but real ROMs give better accuracy.
|
|
cfg_note: >
|
|
On first boot the core creates .atari800.cfg in the frontend home directory.
|
|
It scans the system directory for ROM files by CRC32 first, then by filename.
|
|
The core option atari800_opt1 controls whether this legacy config is loaded.
|
|
machine_selection: >
|
|
Core option atari800_system selects the emulated machine. Each machine type
|
|
has its own preferred OS ROM auto-select order defined in sysrom.c.
|