ハートに16連射。(2)


元ネタがあるからには、
よりオリジナルに近いものを作りたいというのが人情(?)な訳で。
以下を実装するのがとりあえずの課題(昨日のソース手直しとはまた別で。)。


・フォントを ATARI(NAMCO) 風のフォントに変更
 見た目をそれっぽくする。
 先日の MSX 風フォントを使ったサンプル作って
 既に学習は済ませてるのでこれは難なく済みそう。


・画面スクロール処理(ローテート)
 Aボタンを押した回数により画面スクロール。
 1回押される毎に2ドット左に、画面全体がスクロールされる。
 表示文字が左端を越えた先は右端よりローテートされる。


・効果音(ファミコンPSG)再生の再現(NDS PSG による)
 オリジナルの ASM ソースを見るとサウンドチャンネル1($4000-$4003)の矩形波のみを使用して
 SEを再生していることが分かる。
 これを NDS に読み替えて、実機と同じ音を再現する。


バッ活 PART5 ASM ソースより引用。サウンドデータのセットと再生の箇所。

;サウンド使用許可
	LDA	#1	; #%00000001
	STA	$4015
;サウンドデータセット − 「ブッ」といった音が鳴る
	LDA	#1	; #%00000001
	STA	$4000
	LDA	#$BB	; #%10111011
	STA	$4001
	LDA	#3	; #%00000011
	STA	$4002
	LDA	#7	; #%00000111
	STA	$4003;Aボタンを押した時の音を出す − 「ビュー」といった音が鳴る
	LDA	#1	; #%00000001
	STA	$4003;8秒たった時の音を出す − 「キーンッ」といった音が鳴る
	LDA	#3	; #%00000011
	STA	$4000
	LDA	#$B	; #%00001011
	STA	$4001
	LDA	#$40	; #%01000000
	STA	$4002
	LDA	#$30	; #%00110000
	STA	$4003


6502アセンブラ書いてたときも音は全く未着手だったから
サウンド関連だけは家でちゃんと作業しなくては…。