たいにゃん氏によるPC98のテキスト外字でマウスカーソル表示を実装したお話
たいにゃん氏(@bugnekotinyan)による、PC-9801用ゲームソフトのマウスカーソルの表示の実装にテキスト画面の外字を利用したお話のツイートをまとめました。
たいにゃん
@bugnekotinyan
Tinyan ゲームとかつくったり、ARであそんだり プログラミングのお仕事ならお受けできますにゃ。主にC++WindowsかC++UE4 GitHub: github.com/tinyan
たいにゃん
@bugnekotinyan
解説読んだ感じだと横8縦16単位のいどうみたいだ。 自分はスムーズに動かすため、横方向には1dotごとのパターンを全部登録して、縦はテキストのハードスクロールを使っていました(テキスト画面がマウスカーソル専用なので問題はおきない)
2014-11-15 21:27:20
たいにゃん
@bugnekotinyan
外字マウスカーソル、検索してもでてこないので他にないのかもと思ったけど、自分のもでてこないので、やっぱりいくつかかくれていそうだ
2014-11-15 21:35:25
たいにゃん
@bugnekotinyan
まーなんでそんなアクロバティックなことしてたかというと、手を抜きたかったからで、ゲームはグラフィックRAMで、マウスカーソルはテキストRAMにすれば、お互い影響なくなるので、気にしないでプログラムできたからなのです。楽をするためにはどんな苦労でもするのだ
2014-11-15 21:41:54
たいにゃん
@bugnekotinyan
実際マウスは基本割り込みで動作するので、グラフィック画面にマウスを書く場合には、 割り込みを止める>マウスを消す(マウスの位置の画像を復元)>ゲーム画面の書き換えを行う>マウスを表示する>割り込みを元に戻す。という処理になりますが、このゲーム書き換えの処理が重いと
2014-11-15 21:43:55
たいにゃん
@bugnekotinyan
VSYNCに間に合わず、まうすのないフレームが表示されてしまい、マウスがちらちらする。という現象が発生するのです。テキストの場合は書き換えが10数バイトですむので、ほとんどかちあうことはないのです。
2014-11-15 21:47:15
たいにゃん
@bugnekotinyan
こんなかんじでもう、マウスの書き換えはVSYNCでやるようになってだいぶよくなりましたが @snapwith pic.twitter.com/KKB2NiSqlh
2014-11-15 21:51:07
拡大