Duke 1 Demo Format
The "player input" for the Duke Nukem demos is stored in MY_DEMO.DN? (main demo) and USERDEMO.DN? (user demo).
The demo files are exactly 17,002 bytes in size and start with a UINT16LE value, giving the number of bytes used for player input. Even though this leaves 17,000 bytes usable for player input, the game cannot use more than 16,986 bytes.
The player input for each cycle is stored as a sequence of six byte values, one byte per key, indicating which keys were pressed. If the byte value is not 0, the key was held down during that game cycle. The keys are Up, Down, Left, Right, Fire and Jump, in that order.
How long is each cycle?
This file format was reverse engineered by K1n9_Duk3. If you find this information helpful in a project you're working on, please give credit where credit is due. (A link back to this wiki would be nice too!)