SA-1 Murmuration Demo — 128 dots in Lissajous sine patterns. More...
Macros | |
| #define | NBIRDS 128 |
| #define | SA1_STAR_BUF ((volatile u8*)0x3010) |
| #define | SA1_SYNC (*(volatile u8*)0x3001) |
Functions | |
| int | main (void) |
Variables | |
| static const u8 | dot_tile [] |
| static const u16 | pal [] |
SA-1 Murmuration Demo — 128 dots in Lissajous sine patterns.
The SA-1 computes 128 "bird" positions using overlapping Lissajous sine patterns at 10.74 MHz. The main CPU reads positions from I-RAM and displays them as pixel sprites. No assets — generated in code.
Each bird's position is the sum of two sine harmonics per axis, with prime-number phase multipliers creating organic flock spread: X = sin[bird*3 + frame]/2 + sin[bird*7 + frame*2]/4 + 32 Y = sin[bird*5 + frame+64]/2 + sin[bird*11 + frame*3]/4 + 16
| #define NBIRDS 128 |
| #define SA1_STAR_BUF ((volatile u8*)0x3010) |
| #define SA1_SYNC (*(volatile u8*)0x3001) |
| int main | ( | void | ) |
|
static |
2x2 pixel dot tile (4bpp, 8x8, pixels 3-4 on rows 3-4)
|
static |
Sprite palettes: 4 brightness levels for depth illusion