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

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

マシン語を使って画面に文字やグラフィックを表示する基本的な処理を解説します。 画面はどこにある?PC-8001 の VRAM は、標準では 0xF300 から存在しています。80x25 キャラクタの表示ですが、1ライン毎に 40バイトのアトリビュートエリアが付帯していますので、1行の長さ ...

Z80 アセンブラを始めるにあたり最初に理解しておくアーキテクチャを説明します。 メモリ空間8ビットコンピュータの場合は、メモリ空間は 16ビットとなります。0x0000 - 0xFFFF が有効範囲ですが、殆どの場合は、そのどこかに BASIC ROMが存在しているため自由に使用できま ...

アセンブラを始める際に必要な前情報で、意外と説明されていないのが、この数の表現です。また、これを調べようとネット検索すると、なんか少し難しい説明がよくヒットします。そもそも数字の概念はどうやって決まっているのでしょうか。 10進数私たちが日頃普通に使ってい ...

ジャンプ命令と言えばだいたいは JP や JR だと思いますが、実は他にもジャンプテクニックがあります。※ 2022/04/07 19:00 補足ジャンプと書いてあるのでしまったので混乱された方がおられたようです。実際には続く数バイトをスキップですね。分かりづらい記述で失礼しまし ...

複数のオブジェクトを扱う場合の識別子として、自分でIDを付けることはよくあると思います。一意の数値を生成する方法をネットで検索すると、大抵は GUIDを生成して使用しろみたいな記述が見つかります。{46D50EED-E7F2-4428-8DFC-BD89733FEEA1} みたいな文字列がよくある形 ...

2021/12/09 追記その後の使用で下記指摘事項は全て解消しました。詳細はこちらをご覧ください。 本当はまだ更新するつもりはなかったのですが、某事情により私の個人開発環境を Visual Studio 2019 Community から Visual Studio 2022 Community(以下VS2022と略す)に更新 ...

前回のハードウェア編からの続きとなります。PC-8001の開発は実機では行わず、Windows上で行います。所謂クロス開発環境です。大凡以下のような手順で行います。※ 最初の英字は主なファイル拡張子です。z80 テキストエディタでZ80のプログラムを記述する。bin アセンブルす ...

PC-6001の開発環境整備はこちらで紹介しています。レトロPCである NEC PC-8001で新たにプログラム開発をする場合は、いろいろ準備が必要です。私が開発の際に揃えた機材やソフトウェアなどを紹介してみます。なお、最初に言っておきますが全て自己責任です。映らない、動かな ...

二次元配列の格納状態を予想できる人なら分るかと思いますが、二重ループの記述の仕方で実行速度が全然変わってしまいます。X軸の走査をループ内側に入れた場合は…     Random r = new Random();    var test = new int[10000, 10000];    for (int y = 0; y < tes ...

配列範囲外チェックはどうしていますでしょうか。普通に記述すると…     public int[,] array = new int[100, 100];    private bool IsArrayRange(int x, int y)    {        return true            && x >= 0            && y >= 0   ...

マップエディタですが、汎用と名前を付ける予定でいるため、かなり柔軟な編集が出来るように設計しています。その中でも、最初の新規作成時で、様々な機種や環境に対応できるようにと、解像度やドット形状、はては色数まで指定できるようにしてみました。また、いちいち設定 ...

Z80アセンブラでは、1つの命令の置き換えだけで実行速度が明確に変化することが多いです。特に多用するのはインクリメントやデクリメントといった、アドレスを±1する命令だと思います。また、アドレス演算では ADD HL,DE のような16bitの加減算命令を用いる事も多いかと思い ...

↑このページのトップヘ