ninvadersの初期状態で実行したときの動作

  • UARTのボーレートを変更
    デフォルトの画面サイズで50FPSを出すとき,全画面が更新されると仮定して(実際は差分なのでもう少し小さい)

なので,115200bpsでは遅すぎる.なので1000000bpsに変更して実験を行った
・エイリアンはぬるぬる動くようになった
・入力は依然として受け付けない

  • 画面表示処理の軽量化
    フレーム更新ごとにrefreshScreen()関数を呼んでいたのを,画面更新処理が必要な時のみ呼ぶように変更
    refreshScreen()関数の中にあるredrawwin()関数を,初回のみ実行するように変更

    画面全体を毎フレーム更新するのではなく,差分のみを更新するように変更した

・問題なくninvadersをプレイすることができるようになった
redrawwin()関数を初回のみ実行(全画面更新ではなく差分更新)にしたので,ごくたまに画面にノイズが混じることがある

GitHub - issaimaru/ninvaders: NCurses based invaders game for RISC-V CPU

GitHub - issaimaru/ninvaders: NCurses based invaders game for RISC-V CPU

NCurses based invaders game for RISC-V CPU. Contribute to issaimaru/ninvaders development by creating an account on GitHub.

github.com