今回は自分がハマったバグをご紹介。題してZ80バグ取りクイズです😁まず、大前提としてアセンブラはAILZ80ASMを使用しています。動作環境はPC-6001mk2の戦士カートリッジです。GVRAMと全く同じアドレスにExtRAMが割り当てられており、読み込みは ExtRAM、書き込みは INRAM と ...
タグ:デバッグ
プログラムのテスト
プログラムの動作確認する際は、正しいサンプルデータの用意が不可欠です。データが間違っている状態では、プログラムが正しいかどうかが分かりません。例えば、色が8x8サイズ内に4色までっていう制限があるのに、5色使ってるデータがあったりすると、落ちるならまだ分かりや ...
VS2022 重い処理の改善
マップエディタの機能拡張で、連続貼り付けに対応したところ、この処理が存外に重たかったので、その調査と改善を行いました。どこが重くて、どのように調査して、どう対応していったのか、実際の対応手順を元に追い込み方について説明したいと思います。最初の状態少し長い ...
C言語002 VS2022 デバッガの使い方
VS2022 は大変強力なデバッガを搭載しています。全てを説明するには無理がありますが、これから C言語を学ぶ上で、この使い方を知っておくとラクが出来る機能に関して、説明しておきます。--いきなりここに飛んで来ちゃった人は、よろしければ下記からご覧ください。C言語基 ...
PC-6001 クロス開発環境
効率の良い開発を行うには、まず開発環境を揃えるという話をハードとソフトの両面で、以前説明をしました。今回はもう一歩推し進めて、開発効率を上げる工夫にをします。最初にサンプルファイルを提示します。debug.zipPC6001VW4 がインストールされているPCにて、このファイ ...
ゲーム制作のデバッグ
デバッグ報告は、伝える側が正しい報告をしないと、現場が混乱します。如何に必要な情報のみを簡潔に報告するのが肝要となります。ここでは、どのようにデバッグを行い、どう報告して、最後にどう決着するのかまでを解説します。バグを見つけるバグ。名前だけは有名になり、 ...
【解答】指定範囲が正しく消えない
PC-6001mk2は GVRAMのトップアドレスをAtrbエリア、+$2000の位置をGrphエリアとした2プレーンで構成されています。そのため、AtrbエリアとGrphエリアをどちらも消去しないと、正しく消すことが出来ません。先程のプログラムですが、最初に Atrbエリアを消去しようとしていま ...
【解答】キャラ画像下部にゴミが入る
一見すると何やら不思議なことをしているこの処理ですが、実はコレ、ループを使わずに縦の描画ラインを可変にするテクニックです。ループ展開している途中にジャンプする事で、描画ライン数を調整してたりします。描画の高速化テクニックに有用ですので覚えておくと良いかと ...