What is the SAP file format?
.sap (Slight Atari Player music file) is an audio file format used on Atari 8-bit systems. Rather than storing sampled audio, a .sap file contains data for synthesizing sound in real time - a 6502 player program plus music data that drives the Atari POKEY chip via emulation. The only way to hear a .sap track is through a POKEY-emulating player such as ASAP (Another Slight Atari Player); standard media players require a plugin. SAP files were widely used in games as soundtracks and across the Atari demo scene.
Internally, a .sap file opens with an ASCII text header of tag lines - AUTHOR, NAME, DATE, TYPE, SONGS, and others - terminated by two 0xFF bytes, after which binary 6502 player code follows. The TYPE field selects the player model: B (BASIC call), C (compiled), D (digital), S (SoftSynth), or R (raw POKEY register dump).
The Atari 400 and 800, which debuted in 1979, used the POKEY chip as their audio output. The format was created by Adam Bienias in the late 1990s alongside the ASMA (Atari SAP Music Archive), still actively maintained today. Like .SID for the Commodore 64 or .NSF for the NES, .sap is a respected chiptune standard rather than a mere artifact of the past.
Security & safety
RISK: LOWA SAP file contains 6502 player code, but it only ever runs inside an Atari-8-bit emulator's sandbox (POKEY/CPU emulation), not as native Windows/macOS code, so it cannot harm your PC in normal use. The only real caution is downloading the player software from the official ASAP SourceForge/GitHub pages rather than random 'codec' sites, which often bundle adware. ASMA tunes are community-preserved retro music; respect the original composers' credits.
Format details
in a nutshell- SAP ERP transport / report file - Various .sap files appear in SAP ERP/GUI contexts (e.g. SAP Logon shortcut/landscape data) - unrelated to Atari music.
- IES Hyperbanner Java animation - An old web banner-animation format (the name carried in this DB entry); long obsolete and unrelated to the audio format.
Programs that open SAP files
asapconv/the player on the .sap file. Technical details
deep spec| Magic bytes | ASCII `SAP` followed by `CR LF` (hex `53 41 50 0D 0A`) at byte offset 0 |
| Header structure | Human-readable ASCII tag block; each line ends with `CR LF`; block terminated by `0xFF 0xFF` separator before binary data |
| Player type (TYPE field) | `B` (BASIC call), `C` (compiled), `D` (digital), `S` (SoftSynth), `R` (raw POKEY register dump) |
| Encoding | Hybrid - ASCII text header followed by binary 6502 machine code and music data |
| Byte order | Little-endian, matching the 6502 CPU architecture |
| Audio generation | Real-time POKEY chip emulation at NTSC ~1.79 MHz or PAL ~1.77 MHz base clock; rendered to PCM typically at 44.1 kHz |
| Compression | None; files are typically 1 KB-64 KB (chiptune data is inherently compact) |
| MIME type | `audio/x-sap` |
| Multi-song support | `SONGS` tag declares the sub-tune count; `INIT` and `PLAYER` tags specify the 6502 addresses used per sub-tune |
| Metadata tags | `AUTHOR`, `NAME`, `DATE`, `TYPE`, `SONGS`, `FASTPLAY`, `INIT`, `PLAYER`, `MUSIC` embedded in the ASCII header |
| Developer | Adam Bienias; associated with the ASMA (Atari SAP Music Archive) chiptune preservation project |
| Platform origin | Atari 8-bit computers (400, 800, XL/XE series) using the POKEY sound chip |
| Playback requirement | Requires a 6502 + POKEY emulating player such as ASAP; standard media players cannot open `.sap` without a dedicated plugin |
| Format category | Stores 6502 player code and register data, not sampled audio - analogous to `.sid` (C64), `.nsf` (NES), `.spc` (SNES) |
| Released | Late 1990s, alongside the ASMA (Atari SAP Music Archive) |
| Latest version | SAP format with multiple TYPE players (B, C, D, S, R); ASMA collection actively maintained |
| Open standard | Yes · royalty-free |
| Specification | asap.sourceforge.net |
SAP conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about SAP files.