先日頒布を開始した60mk2のXeGraderですが、エミュでの動作も確認済みであるため、もしかすると申込数が増えるかもと思いまして、SetSerialer なるツールを開発しました。このツールはアセンブルされたバイナリファイルに対して、以下の追加処理を行います。シリアル番号埋め ...
タグ:Z80
Z80 バグ取りクイズ
今回は自分がハマったバグをご紹介。題してZ80バグ取りクイズです😁まず、大前提としてアセンブラはAILZ80ASMを使用しています。動作環境はPC-6001mk2の戦士カートリッジです。GVRAMと全く同じアドレスにExtRAMが割り当てられており、読み込みは ExtRAM、書き込みは INRAM と ...
PSGで演奏を奏でる
PC-6001mk2/6601/SR 対応の XeGrader 制作中ですが、前回の PC-8001mk2/SR の BEEP とは異なり、立派な音楽再生用の PSG チップを搭載しています。まともに音を鳴らしまくると、処理負荷が大きいので今回はとにかく動作が軽いドライバを目指して再設計しました。また、PC-800 ...
XeGrader 高速化のヒミツ①
PC-8001mk2版のXeGraderをリリースして10日が経過しました。リリース直後はバグ修正に追われましたが、現在は無事落ち着いたようで特にバグの報告もなく、元気に皆さんの環境で動作しているようです。皆様からの評価としてはだいたい2つで「面白い」「速い」となっていて、ゲ ...
Z80 を C# で再現する - 実行
このページは前回と前々回の内容の理解を前提とした、まとめページとなります。そのため、直接こちらに飛んできた場合は、先に準備と実装のページを読んでいただくと助かります。準備 実装 前回までの実装で Z80 のニーモニックのままで、展開処理を実行できる前準備が整いま ...
Z80 を C# で再現する - 実装
このページでは、Z80 の動作を C# でシミュレートするための技法について解説しています。いきなりこちらに飛んできた場合は、先に準備編を読んでから先にお進み頂ければ、理解がしやすいと思います。準備 Acc アキュムレーターZ80 で計算を行う際は、この Acc に値を入れて ...
Z80 を C# で再現する - 準備
Exomizer は圧縮率で ZIP をも凌ぐ大変優れたソリューションです。欠点としては解凍速度が遅いことですが、絶対的な圧縮が欲しい時は、これの選択が唯一無二とまで思っています。例えば、データロードの時間を短くする時も、Exomizer を使って圧縮すれば、その後数秒の展開時 ...
エンドロール/ラインコピー
バッファに新しい行の文字列画像が出来たら、後はそれを画面にコピーするだけです。ただ、そのコピーの前に現在表示済みの画像も1ラインコピーして上げる処理が必要です。コピー元がバッファか画面上かの違いだけで、やってることは同じです。そのため、ここを如何に高速に処 ...
エンドロール/新しい行の表示
画面下部に新しい文字を表示するには、ダブルバッファに文字を描画していく事は、前回のプログラムの流れで説明しました。 今回は如何に処理の負担を分散しながら新しい行を作成していくかについて説明します。バッファをクリアする文字数が多いと、当然描画には時間がかかり ...
エンドロール/プログラムの流れ
メッセージデータの形式が決まれば、次は実際の処理の流れです。スクロールは、1ドット単位で行われます。そのため、画面下部で文字を描いているのが見えるのは、あまりエレガントとは言えません。また、スクロール中は、その追加文字列の表示を壊すわけにもいかずで、意外と ...