Production-ready patterns for Commodore Amiga development
Build a copper list to set colours and sprite pointers. The foundation of all Amiga graphics programming.
Calculate and update Amiga sprite control words from X/Y coordinates. Position sprites anywhere on screen.
Detect newly-pressed joystick directions, ignoring held inputs. Essential for grid-based movement and menu navigation.
Read Amiga joystick using the JOY1DAT register with XOR decoding for up/down directions.
Move sprites with joystick input and play area boundary clamping. Foundation for player control.
Disable AmigaOS interrupts and DMA to take full control of the hardware. Required for bare-metal game programming.
Frame-synchronised game loop that waits for vertical blank using the VPOSR register. 50Hz timing on PAL systems.