Brooke Vibber :blobcatcoffee: on Nostr: There's a gorgeous annotated disassembly of the Atari 400/800 launch version of Star ...
There's a gorgeous annotated disassembly of the Atari 400/800 launch version of Star Raiders, a space combat game that was _pretty baller_ in 1979 but supported a max of 49 in-game objects :D
3d coordinates are stored as 16-bit mantissa plus a sign bit, relative to the ship. When you maneuver the ship with the joystick, every object is rotated by a fixed angle offset of 0.89 degrees per frame, whose sin of approximately 1/64 can be implemented as a bit-shift
*genius*
https://github.com/lwiest/StarRaiders/blob/master/StarRaiders.source.asm.txt#L9097
3d coordinates are stored as 16-bit mantissa plus a sign bit, relative to the ship. When you maneuver the ship with the joystick, every object is rotated by a fixed angle offset of 0.89 degrees per frame, whose sin of approximately 1/64 can be implemented as a bit-shift
*genius*
https://github.com/lwiest/StarRaiders/blob/master/StarRaiders.source.asm.txt#L9097