Introduction
The 5200 has no header block at the start of the ROM. What it has is the last 24 bytes, which are always at $BFE8-$BFFF because the top of the
cartridge is at $BFFF. The console’s BIOS reads them when it starts. The layout below was read from two sources on this machine: the comments of the
build tool of this site’s 5200 emulator (title 20, year 2, run vector 2) and the AltirraOS 5200 BIOS, which was disassembled with this site’s own
decoder to see what it does with them.
| Address | Offset from the end | Size | Field |
|---|---|---|---|
| $BFE8-$BFFB | −24 | 20 | Title |
| $BFFC-$BFFD | −4 | 2 | Year or flag bytes |
| $BFFE-$BFFF | −2 | 2 | Start address, little-endian |
Title
Twenty bytes in the Atari internal (screen) character set, in which $00 is a space, $10-$19 are the digits and $21-$3A are the capital letters:
ASCII minus $20 for the first 64 characters. emudemo.a52 holds 21 34 21 32 29 00 15 12 10 10 00 00 25 2d 35 00 24 25 2d 2f, which reads “ATARI 5200 EMU DEMO”.
AltirraOS copies exactly these 20 bytes to the fifth line of its start-up screen (a loop from 19 down to 0 reading $BFE8,X), where the real BIOS shows the cartridge’s title.
Codes of $40 and above are graphics characters, which the explorer shows as dots.
The bytes at $BFFC-$BFFD
The author of this site’s 5200 emulator calls these two bytes the year: emudemo.a52 has $12 $16, the screen codes for “26”. What AltirraOS does with them is read
$BFFD only: if it is $FF the BIOS jumps through the start address at once, skipping the title screen and its delay; otherwise it shows the title,
waits (until the BIOS’s own frame counter reaches $78, about two seconds) and then jumps. train1_5200.bin has $FF $FF there and starts at once.
Whether the original Atari BIOS gives the other bits of these bytes a meaning is not known here.
Start address
Two bytes, low first, at $BFFE-$BFFF. After its start-up work the BIOS ends with JMP ($BFFE), so the program begins at this address (AltirraOS: $FD3D and $FDBF are
that instruction). The start address is also the best clue to which repeat of a small cartridge the code was written for, and the explorer uses it for that: it shows the image at the repeat of the
$4000-$BFFF window that contains the address. For the sample files it is $5000 in emudemo.a52 and charset.a52 and $96BE in train1_5200.bin.
Not described
Known, not yet covered
- Viewer: the BIOS’s other start-up tests of the cartridge are not shown.
Unknown
- Reference: the meaning, in the original Atari BIOS, of the bytes at
$BFFC-$BFFDand of the title’s graphics characters. AltirraOS is a replacement BIOS and may differ.