プログラミング指南 - Code Knowledge

ゲーム制作に関するプログラミング等を主に書き溜めていきます。ただ、どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。 2022年6月21日よりカテゴリをプログラミングからオヤジの日記に移動しました。最近とんとプログラムの話をしていないので💦 ※ livedoor Blogの機能をまだよく分かっていないので変わるかも(汗

タグ:アセンブラ

追加調査と @AILight さんによる AILZ80ASM の継続的なアップデートのおかげで、ついに Newシティヒーロー(以下NCH)が、フルアセンブルできるようになりました。何をどう変更したのか、最後に履歴を残しておきます。プリプロセッサtools80 では、そのまま IF ELSE ENDIF ...

私が以前制作した Newシティヒーローは、tools80 というアセンブラを前提にソースが作成されています。今回、このソースを AILZ80ASM でアセンブルが通るように改変してみました。一つ一つ違いについて解説していきます。 ラベルの解釈 - 大文字と小文字tools80 ではラベル ...

私が作成した Newシティヒーローというゲームでは、消費メモリを削減するために様々なテクニックを駆使したのですが、その中でリアルタイムビット左右反転というのがあります。通常、ビット反転を行うためには8回のローテートが必要で、軽い処理ではありません。これをゲーム ...

今回は描画ルーチンの高速化について検証したいと思います。 前回までの描画方法 前回の描画では下記のルーチンを紹介しました。 GRPDraw2x12Sep1:: call VRMAddress ; HL 描画アドレス ex de, hl ; 描画を HL→DE の流れとする push de call .draw ; L 描画 pop de ...

screen 3 の画面に画像を表示するプログラム例を提示します。その前に、今回のサンプル提示で画像コンバーターをバージョンアップしましたので、そちらをお受け取りください。今回のバージョンアップで、画像も混合と分離が選択できるようにしました。ダウンロードは以下から ...

ゲームなんかで良くある、テケテケテケとゆっくり1文字ずつ表示されるアレを、Z80 で作成するにはどうすれば良いのかを記事化しました。基本は前回のプログラムから改変していきます。 ワークエリアを用意する1文字ずつゆっくり表示される処理に変更するには、1文字表示した ...

以前、Z80 数値の加算と減算で、数値の扱いを BCDで扱うと便利だと説明しました。今回はそのBCD表記から、どのように画面に表示するか、基本的な考え方は Z80 マシンであれば共通ですが、今回は PC-6001 を例に説明していきます。 数値を表示する表示は数値が格納されている ...

効率の良い開発を行うには、まず開発環境を揃えるという話をハードとソフトの両面で、以前説明をしました。今回はもう一歩推し進めて、開発効率を上げる工夫にをします。最初にサンプルファイルを提示します。debug.zipPC6001VW4 がインストールされているPCにて、このファイ ...

マシン語で起動したら、機種判定の後、次に処理すべきはシステムの初期化です。メモリは望んでいない状態かもしれません。割り込みはそのジャンプ先がROMになっているので、そのまま迂闊にVRAMを弄ろうとRAMに切り替えると、その刹那に暴走します。そのため、最小限の初期化 ...

ゲームを作っていると、そのゲームプログラム側から機種判定をしたい事が多々あります。全ての機種で問題なく動作するのは、無印 PC-6001 向けに作成された 16KB で動作するプログラムです。それ以外のプログラムでは、動く機種と動かない機種があります。昔は動かないのはユ ...

↑このページのトップヘ