Verified GVRAM is one word-access per pixel in ALL color modes; chose 256-color 256x192 with movem.l bursts (page 1 sacrificed as double-buffer). Measured 8 scenes from the Blu-ray source: blit costs under 8% of the 12fps cycle budget, so I/O is the bottleneck, not CPU. Naive delta+RLE reaches only 3.2:1 (365 KB/s, 470MB) -> decision to use 4x4 vector quantization (~30 KB/s). "Shot on twos" assumption failed: the transfer has zero duplicate frames, so 12fps requires explicit decimation. Documents three false measurement results and their root causes (per-frame Floyd-Steinberg dithering, temporal denoise, exact-match dedupe on noisy source). MAME Lua injection harness works and is reusable for cycle-cost measurement; the IOCS _B_READ disk benchmark is blocked returning -1. Claude-Session: https://claude.ai/code/session_01194oWYW8DQXK1SZ2DnChW6
15 lines
288 B
ArmAsm
15 lines
288 B
ArmAsm
FLAG=$18000
|
|
STAT=$18004
|
|
BUF=$20000
|
|
org $10000
|
|
start: move.l #1,FLAG.l
|
|
moveq #$46,d0
|
|
move.l #$80000000,d1
|
|
moveq #0,d2
|
|
move.l #256,d3
|
|
lea BUF,a1
|
|
trap #15
|
|
move.l d0,STAT.l
|
|
move.l #$FF,FLAG.l
|
|
stop: bra.s stop
|