ひとしれずひっそり

主にソフトに関することをメモしていきます。過程をそのまま書いていたりするので間違いが含まれます。鵜呑みしない様に。

Space Invaders(2) - DrawShield

ソースコード少し読んでみた。

まずは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に転送するかはまた後の楽しみに。