今回は、登録できるキャラクタ数が少なく、再定義も時間が掛かり、垂直ブランキング期間以外に再定義するとノイズが発生するという、使いこなしが難しい PCG8100 のリアルタイム再定義の技術開発についてのお話です。 PCG8100 というハードウェアPCG-8100は、最大で128個のキ ...
April 2022
PC-8001 NCHスタッフアサイン
実際のプログラミングで最初に着手したのはサウンドドライバでした。これは昔、サウンドを最後に組み込んだところ、ある程度ゲームが出来た後でサウンドを組み込んだら、CPUパワーを一気に20%近くも持っていかれて、ゲームが全体にもっさりして大変な目にあっという反省から ...
PC-8001 Newシティヒーローメイキング
私のブログで読みたい事と言えば、そりゃあメイキングだよなあと思い立ち、しばらくは私の最新作である Newシティヒーローの話をしてみたいと思います。ただ、最初から記事を作ると手間がハンパないので、数年前に #80mk2 会で行った技術プレゼン資料を基に、一般向けに記 ...
Z80 超高速ビット左右反転
私が作成した Newシティヒーローというゲームでは、消費メモリを削減するために様々なテクニックを駆使したのですが、その中でリアルタイムビット左右反転というのがあります。通常、ビット反転を行うためには8回のローテートが必要で、軽い処理ではありません。これをゲーム ...
PC-6001 描画ルーチンの高速化
今回は描画ルーチンの高速化について検証したいと思います。 前回までの描画方法 前回の描画では下記のルーチンを紹介しました。 GRPDraw2x12Sep1:: call VRMAddress ; HL 描画アドレス ex de, hl ; 描画を HL→DE の流れとする push de call .draw ; L 描画 pop de ...
PC-6001 画像の表示
screen 3 の画面に画像を表示するプログラム例を提示します。その前に、今回のサンプル提示で画像コンバーターをバージョンアップしましたので、そちらをお受け取りください。今回のバージョンアップで、画像も混合と分離が選択できるようにしました。ダウンロードは以下から ...
C# 文字列の幅と高さを正確に取得する(続
前々回に C# 文字列の幅と高さを正確に取得するという記事を書きましたが、その後の調査で正しくない事が分かりました。間違っている部分の訂正記事を慌てて投下いたします💦まず、以前の記事では暫定的なサイズを以下のように作成していました。 var rc = gp.GetBounds( ...
Z80 メッセージ表示
ゲームなんかで良くある、テケテケテケとゆっくり1文字ずつ表示されるアレを、Z80 で作成するにはどうすれば良いのかを記事化しました。基本は前回のプログラムから改変していきます。 ワークエリアを用意する1文字ずつゆっくり表示される処理に変更するには、1文字表示した ...
C# 文字列の幅と高さを正確に取得する
※ 2022/04/18 追記本記事内容にミスが見つかりましたので、修正記事を作成しました。下記記事を参照するようにお願いします。C# 文字列の幅と高さを正確に取得する(続現在制作を進めているマップエディタのテキスト編集で、文字列のトリミングを正確に取得する必要が出てき ...
Z80 サブテキスト表示
※ムービーの再生速度は20倍にしています。前回、BCD数値を文字列として表示する方法について説明しました。今回はサブテキスト表示について解説します。このサブテキストとは、例えばゲーム等で主人公名などを画面に表示する際に使用する機能です。主人公名などは RAM のワ ...