連日行っている
PC-88版アシュラの塔・改良作業。
オールBASIC で書かれたプログラムは
グラフィック表示がとにかく遅い!
バージョンアップするなら
スピードアップも実現させねば♪
ということで久々に始めたのが
マシン語プログラムの作成!
そんな昨日夜までの進行状況を
簡単にミニ日記でまとめました。
自作マシン語プログラムでスピードアップ

PC-8801 の N88-BASIC で作った
グラフィック表示のプログラムは
とにかく遅かった😅
アシュラの塔のマップパーツは
16×8 ドットのパターン。
1フロアのサイズは 20×20 なので
表示するパーツは全部で 400個!
さすがに時間がかかります。
オールBASIC の描画プログラムを
V2モード 8MHz で試した結果
1フロアのマップを描くのに
約11秒もかかりました。
昔このプログラムを開発した
初代 PC-8801 は V1モード 4MHz
なのでさらに遅いです💦

こんな遅さだとフロア移動する度に
待たされることになるので
マシン語を使って高速表示させる
プログラムを作成することに♪
今まで BASIC の PUT@ 命令で
キャラクタ表示していたところを
自作マシン語処理で置き換えると
タイムが 7秒も縮まって約 4秒に!
でもまだまだ納得いかないので
マシン語プログラムを追加更新!

BASIC で書いたマップ描画処理を
ほぼそのままの内容で
全てマシン語に変えてみました。
その効果は大きかった~!
1秒かからずにパパッと描画完了☆
4MHz でも 1秒で描き終わるくらい
高速化することができました😆
慣れないマシン語プログラムを
頑張って作って良かったです~♪
処理を高速化できる場所は
まだまだたくさんあるので、
更新作業はもうしばらく続きそう。
続報は Twitter と当ブログの記事で
お知らせするのでお楽しみに!
それではまた
明日の記事でお会いしましょう☆
ポチッと応援してもらえたら嬉しいな♪
コメント