たいにゃん氏によるPC98のテキスト外字でマウスカーソル表示を実装したお話

たいにゃん氏(@bugnekotinyan)による、PC-9801用ゲームソフトのマウスカーソルの表示の実装にテキスト画面の外字を利用したお話のツイートをまとめました。
3
たいにゃん @bugnekotinyan

Tinyan ゲームとかつくったり、ARであそんだり プログラミングのお仕事ならお受けできますにゃ。主にC++WindowsかC++UE4 GitHub: github.com/tinyan


たいにゃん @bugnekotinyan

PC-9801のテキスト外字でマウス実装したのはあまりいなさそうだな。もしかしたら1番かもしれぬ

2014-11-15 21:19:27
たいにゃん @bugnekotinyan

あ、はい。マウスカーソルですにゃ @hasegaw

2014-11-15 21:21:40
たいにゃん @bugnekotinyan

9801 外字 マウスカーソルで検索したら、アマランス3がでてきたな。

2014-11-15 21:23:55
たいにゃん @bugnekotinyan

解説読んだ感じだと横8縦16単位のいどうみたいだ。 自分はスムーズに動かすため、横方向には1dotごとのパターンを全部登録して、縦はテキストのハードスクロールを使っていました(テキスト画面がマウスカーソル専用なので問題はおきない)

2014-11-15 21:27:20
たいにゃん @bugnekotinyan

外字はあまり多数登録できなかった気がするけど、マウスカーソル分ぐらいならなんとか入った記憶

2014-11-15 21:29:14
たいにゃん @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
岩崎啓眞@スマホゲーム屋+α @snapwith

@bugnekotinyan 昔はマウスカーソルがティアリングする現象もありましたねwww

2014-11-15 21:47:43
たいにゃん @bugnekotinyan

こんなかんじでもう、マウスの書き換えはVSYNCでやるようになってだいぶよくなりましたが @snapwith pic.twitter.com/KKB2NiSqlh

2014-11-15 21:51:07
拡大