ソースコード少し読んでみた。
まずはinitから.
https://computerarcheology.com/Arcade/SpaceInvaders/Code.html#init
RAMの初期値をROMからコピーしていて、その下にトーチカの初期化があったので元に戻らずそのまま読んだ。
DrawShieldPl1 https://computerarcheology.com/Arcade/SpaceInvaders/Code.html#DrawShieldPl1
$2142からがPlayer 1のトーチカのバッファになっているらしい。
$1D20から44バイトがトーチカのパターンで、4機分繰り返してコピーしている。(176バイト)
2バイトで1列になっていて、22列で表現されている。
Player 2用は$2242からと512バイトずらして配置している様だ。
address | player | number |
---|---|---|
$2142 | 1 | 1 |
$216E | 1 | 2 |
$219A | 1 | 3 |
$21C6 | 1 | 4 |
$2242 | 2 | 1 |
$226E | 2 | 2 |
$229A | 2 | 3 |
$22C6 | 2 | 4 |
これをどうVRAMに転送するかはまた後の楽しみに。