Assembly sprite animator
A keypad-driven animator using ASCII sprite files.
x86 assembly, VGA mode 12h, BIOS int 10h
Author’s notes
Amir Husain · software I wrote
Five sets of sprites, each drawn as three frames facing right and three facing left. The left-facing frames are separate files rather than a mirrored copy, because flipping a sprite in software costs cycles that a program drawing every pixel through the BIOS does not have.
The format is as plain as it could be. Each sprite is eighty pixels across and twenty-five down, stored as two thousand ASCII digits, one per pixel. The draw loop reads a character, subtracts thirty hex to turn it into a colour index, and writes that single pixel through interrupt 10h before moving on. Two thousand BIOS calls per frame.
It is driven from the numeric keypad: eight and two move up and down, four and six move left and right and swap which way the sprite faces, and five quits.
Reading the demonstration
The figure changes position and direction using the keypad. Additional clips show the horse, helicopter, aircraft, and sign sprite sets.
About this recording and recovery
The recording and description are retained with the software. Where the recorded environment is identified, it is named beneath the recording. No additional repair history is asserted here.
Archive record
- Author
- Amir Husain
- Date
- c. 1995
- Environment
- x86 assembly, VGA mode 12h, BIOS int 10h
- Reference
- ATX-SW-SPRITE-ANIMATOR
The software archive preserves dates, implementation notes, and surviving source material. Contact the museum to explore the program’s documentation.