85DATA HOMEへ
MYCAR情報掲示板BLOGプロフィール

HOME → 情報 → 懐かしのパソコンネタ

■ レトロパソコンのお絵かきプログラム

2011.11.27

ブログ(ゼビウスとパピコン【PC-6001】パピコンPC-6001とFM77AVとWindows)に書きましたが、それのまとめです。

1.PC-6001のお絵かきプログラムをWindowsで動作させる

いつも閲覧する「あやおり工房日曜深夜」さんのブログから知った情報ですが、「PC-6001(通称パピコン)」が30周年なんですって

その記事にある、N60-BASICで作られた"お絵かきプログラム"をActiveBasicに置き換えてみました。
ActiveBasicにはN88-BASICモードがあるので、ほとんど手を入れずに動作します。
(・・と言ってもN88との互換性はかなり低いです)

当時のBASICだと描画するまでに相当の時間がかかりましたが、やはり今回のプログラムでは、一瞬で描画が終わりました。
(想定通りです)

「あまりにも瞬間描画でつまらない」

しかし、ウェイト処理を入れてもPAINTやLINEを実行するとWindowsAPIにて処理を移してしまっているので、「あっと言う間」に描画が終了してしまいます。

「レトロパソコンみたく描画が見えるように出来ないかな?」

ActiveBasicで用意されているPAINTやLINEを使用せず、それらを作ってしまいましょうか。

「しかし、どうやって作るんだっけ?」
LINEはすぐ思いつく。PAINTって結構、面倒ですよね。
兎に角、最適なPAINTルーチンで無くても良いのでまずは作ってみました。
(今回は、速いプログラムでは無く、遅いプログラムにする訳なので・・・・・)

当時のPAINTは遅かったのですが、8ビットですからね。
結構頑張っていたんだろうな。

・・・で、出来たのが、コレ

ダウンロード

ソース

うーん、ずいぶん強引かつ汚いソースです。特にPAINT処理。
2時間で作ったモノなので勘弁して下さい。←単に能力が無いだけの言い訳

2.FM77AVのBASICによる描画

このBASICの描画命令は当時、かなり速いものでした。
(確か、FM77AVはハードウェア描画だったような記憶があります)

それで、作ったらどうなるのか・・・・興味がわいてきました。


で、作ってみました(と言うかあやおりさんのソースを変換したにすぎません)

FM77AV BASICの描画【動画】

上記はエミュレータで実行していますが、実機の速度もこの程度なのでしょう。
当時は、「スゴク速い(驚速)」と思っていましたが、「普通」ですね。

「もっと速かったと思っていたんだけどな〜」

3.FM77AVの機械語による描画


・・・と言う訳で、機械語による描画はどの位のスピードなのかを見てみましょう。

これは、FM77AVの描画ルーチンを機械語より呼び出しているものです。
元となっているのは、自作テトリスの背景描画なのです。

自作テトリスでは、描画が完了してから、一気に見せる方法をとっています。(描画工程は見せない)

これが、どの程度のスピードなのかを見てみました。(見えるようにしました)

FM77AV 機械語での描画速度【動画】


やはり、描画ルーチン自体は同じものでも、機械語は流石に速いですね。

・・・・・でも、もっと速かった気がしていました。

「思い出補正」が掛かっていたようです。