« ゼビウスとパピコン【PC-6001】 | トップページ | 自作ペイントソフトで絵を描いてみた »

2011年11月26日 (土)

パピコンPC-6001とFM77AVとWindows

前記事で、PC6001(通称パピコン)のBASICプログラムをActiveBasic(Windows)に変換して実行してみました。

あやおりさんのソースです)


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

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

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

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

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

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

ダウンロード

ソース

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

Pc60012

とりあえず、自作PAINT命令もバク無く動作していそう。
もちろん、ウェイト処理をかけています。


次は、FM77AVのBASIC

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

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


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

FM77AV BASICの描画【動画】

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

もっと速かったと思っていたんだけどな~
「思い出補正」が掛かっていたようです。

|

« ゼビウスとパピコン【PC-6001】 | トップページ | 自作ペイントソフトで絵を描いてみた »

自作ソフト」カテゴリの記事

コメント

おお~
ラインのなめらかな引き具合が素晴らしい!
ペイントもちゃんと動いてますね。
当時わたしもペイントルーチンについて
考えたことがあったんですけど、結局
わからないままでした(笑

PC-6001で表示させることしか考えていなかったので
他の解像度で表示させるとちょっとおかしなところが
出てくる絵ですけど、きっちり修正しているし、
相変わらずいい仕事で頭が下がります。

投稿: あやおり | 2011年11月27日 (日) 02時17分

コメントありがとうございます。

ペイントについて今回初めて考えてみました。

ペイントは"一応"動いているレベルで、かなり強引な手法な気がします。
この考え方だと当時のパソコンでは(メモリが足りなくて)実現が困難かもしれませんね。

投稿: トモカズ | 2011年11月27日 (日) 05時15分

>FM77AVはハードウェア描画だったような記憶があります

確か「直線補完・論理演算」LSIというハードウェアを搭載していましたね。GPUの祖先みたいなもんでしょうか。
サブCPU側で制御できるのですが描画スピードは確かに速かった気がします。

投稿: S.F. | 2011年11月27日 (日) 16時47分

あ、訂正です。
>サブCPU側で制御できるのですが描画スピードは確かに速かった気がします。

メインCPUからもVRAMとかにアクセスできるようになったんでしたね。FM77AVから。

投稿: S.F. | 2011年11月27日 (日) 16時51分

S.Fさんへ

コメントをありがとうございます。
ならびに、返信が遅くなってしまって申し訳ありません。

遠い記憶なので曖昧なのですが、サブCPUの制御に関しては余り意識せずに行っていたような記憶があります。
それは、AVシリーズだったからなのでしょうね。
たしかMMRという機能を使ってVRAMにアクセスしていた・・・かな?

投稿: トモカズ | 2011年12月 5日 (月) 23時30分

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: パピコンPC-6001とFM77AVとWindows:

« ゼビウスとパピコン【PC-6001】 | トップページ | 自作ペイントソフトで絵を描いてみた »