Eighteen Thousand Marios
Hackaday this week: a home-built retro console that loads its games from CD-Rs, one burned disc per cartridge, with printed labels and jewel cases. It made me wonder how much of a disc an old cartridge actually uses. For Super Mario Bros., the answer is the first two turns of a spiral 5.7 km long.
The disc is drawn to scale. Data is written along one spiral from the inside out, starting 25 mm from the centre and ending at 58 mm. The strip on the right unrolls the first few turns, one row per turn, so that a game too small to see on the disc still shows.
The arithmetic
An 80-minute CD-R holds 737,280,000 bytes: 360,000 sectors of 2,048 bytes. Super Mario Bros. was written for 32 KiB of program and 8 KiB of graphics, 40,960 bytes, which is exactly 20 sectors. 360,000 ÷ 20 = 18,000 copies, with nothing left over.
Wikipedia gives the length of the spiral as the program area divided by the track pitch: 86.05 cm² ÷ 1.6 µm = 5.38 km for a 74-minute disc. At the 1.5 µm pitch of an 80-minute disc that becomes 5.74 km, and at 1.2 m/s it plays for 80 minutes, which checks out. The data comes to about 128.5 bytes per millimetre of spiral, so Mario takes 32 cm. The first turn, at a radius of 25 mm, is 157 mm round, so Mario fills just over two turns.
What stands on what
| Item | Source |
|---|---|
| 737,280,000 bytes; 80 minutes | Wikipedia, CD-R |
| Program area 86.05 cm²; 1.6 µm and 1.5 µm pitch; 1.2 m/s; 5.38 km | Wikipedia, Compact disc |
| Super Mario Bros.: 256 kbit of program, 64 kbit of graphics | Wikipedia, Super Mario Bros., citing Iwata Asks |
| Combat, 2 KB; the Atari 2600's 4 KB limit | Wikipedia, Atari 2600 |
| N64 cartridges, 4 to 64 MB | Wikipedia, Nintendo 64 |
| Radii 25–58 mm, bytes per millimetre, turns | My arithmetic. The radii are the pair that gives the 86.05 cm² program area. |
| The console | Hackaday, "DIY Game Console Does It With Optical Discs", 30 September 2026 |