先日 X (Twitter) でこんなポストを頂きました。Z80関連の情報を収集していたら、内藤さん(@NAITOTokihiro)の記事がヒット😃https://t.co/JcQKSeTLpnループは速い方が嬉しいですよね😆ということで、自分も考えてみました☺️数値上はDJNZより速い12clockですけれど、メモリ ...
タグ:Z80
Z80 フレームレート固定
Z80 でフレームレートを固定にする処理の解説です。よくあるのは垂直ブランキング待ちの手法です。ただ、これだと NTSC では 1/60 固定になりますし、また、処理落ちした際は、いきなり次のブランキングまで待たされてしまいます。そこで 2ms 割り込みがある機種では次の考え ...
PC-8801 開発資料
私は凡そ7年間もPC-8801シリーズの担当だったので、ある程度はハードのことも知っているつもりです。少なくとも基本的なことは理解しているつもりですが、弄らなくなって早30年以上が経過して、少し記憶も曖昧になってきています。私が現在手元に保持している88関連の参考書 ...
Z80 自己書き換え
私は昔から Z80 でプログラムを組む際には自己書き換えという手法を好んで使ってきました。これを使い始めたきっかけは覚えていません。おそらく、当時の内藤時浩クンはこの手法を知った時に「おおおおお!?」と強い感銘を受けて魂に刻み込まれてしまったのではないかと思い ...
80mk2 割り込みを使う
NEC PC-8001 の後継機である PC-8001mkⅡは、追加機能が中途半端だった事もあり、また、ほぼ同時期に発売された PC-8801 がゲームのメインストリームに変わった事も手伝って、当時からかなり不遇の存在でした。ですが、色数が少ないとは言え、DMA を止めれば無印80より2倍ぐ ...
ALG 敵移動の考え方
ゲーム制作において、かなり悩ましい問題はこの敵の移動処理です。今回はゲームのタイプに関わらない移動処理について、そのおおまかな考え方について私の実装方法を解説していきます。なお、移動とともに繋がりの深い表示と消去については、日を改めて記事化できればと考え ...
NCHがAILZ80ASMでバイナリ化できました
追加調査と @AILight さんによる AILZ80ASM の継続的なアップデートのおかげで、ついに Newシティヒーロー(以下NCH)が、フルアセンブルできるようになりました。何をどう変更したのか、最後に履歴を残しておきます。プリプロセッサtools80 では、そのまま IF ELSE ENDIF ...
tools80のソースをAILZ80ASMにコンバートしてみた
私が以前制作した Newシティヒーローは、tools80 というアセンブラを前提にソースが作成されています。今回、このソースを AILZ80ASM でアセンブルが通るように改変してみました。一つ一つ違いについて解説していきます。 ラベルの解釈 - 大文字と小文字tools80 ではラベル ...
Z80 超高速ビット左右反転
私が作成した Newシティヒーローというゲームでは、消費メモリを削減するために様々なテクニックを駆使したのですが、その中でリアルタイムビット左右反転というのがあります。通常、ビット反転を行うためには8回のローテートが必要で、軽い処理ではありません。これをゲーム ...
PC-6001 描画ルーチンの高速化
今回は描画ルーチンの高速化について検証したいと思います。 前回までの描画方法 前回の描画では下記のルーチンを紹介しました。 GRPDraw2x12Sep1:: call VRMAddress ; HL 描画アドレス ex de, hl ; 描画を HL→DE の流れとする push de call .draw ; L 描画 pop de ...