ソースコード少し読んでみた。
まずは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に転送するかはまた後の楽しみに。