配列範囲外チェックはどうしていますでしょうか。普通に記述すると… public int[,] array = new int[100, 100]; private bool IsArrayRange(int x, int y) { return true && x >= 0 && y >= 0 ...
ME テンプレートによる新規作成
マップエディタですが、汎用と名前を付ける予定でいるため、かなり柔軟な編集が出来るように設計しています。その中でも、最初の新規作成時で、様々な機種や環境に対応できるようにと、解像度やドット形状、はては色数まで指定できるようにしてみました。また、いちいち設定 ...
Z80 アライメントによる高速化
Z80アセンブラでは、1つの命令の置き換えだけで実行速度が明確に変化することが多いです。特に多用するのはインクリメントやデクリメントといった、アドレスを±1する命令だと思います。また、アドレス演算では ADD HL,DE のような16bitの加減算命令を用いる事も多いかと思い ...
C# ループ処理の並列化について
C# では並列化の実装が簡単に出来るようにと、便利な下記のステートメント(クラス)が用意されています。Parallel.For()Parallel.ForEach()Parallel.Invoke()なるほどぉと for や foreach で記述されている箇所を単純に置き換えると、割と高確率で例外で落ちます。これは、 ...
ME 汎用マップエディタ開発中です
実は半年ほど前から汎用マップエディタの開発に着手しています。画面サイズ、色数、配置方法等出来る範囲で全て自由に設定できる、本格的なエディターを目指しています。主な機能は以下の通り(予定)。複数レイヤー編集地形配置(BG)オブジェクト配置属性配置ワイヤー配置テ ...
はじめの一歩
ども内藤です。知ってる人は知ってる程度のゲーム業界人です。18年ぶりにブログを再開します。以前割と有効だった記事の再掲載であるとか、ツールの公開であるとか、日々の雑談であるとか(きっとこちらのほうが多い気がしますが)、なんとなく不定期に更新していきたいと思 ...
MSX2 XeGrader Trial Version Released
Have you ever wanted to try XeGrader on a classic MSX2? I recently ported my original game XeGrader to MSX2, adding another chapter to its series of ports. Development kicked off on January 1, 2025, and with help from MSX2 users, I released the demo in ab ...
【解答】指定範囲が正しく消えない
PC-6001mk2は GVRAMのトップアドレスをAtrbエリア、+$2000の位置をGrphエリアとした2プレーンで構成されています。そのため、AtrbエリアとGrphエリアをどちらも消去しないと、正しく消すことが出来ません。先程のプログラムですが、最初に Atrbエリアを消去しようとしていま ...
【解答】キャラ画像下部にゴミが入る
一見すると何やら不思議なことをしているこの処理ですが、実はコレ、ループを使わずに縦の描画ラインを可変にするテクニックです。ループ展開している途中にジャンプする事で、描画ライン数を調整してたりします。描画の高速化テクニックに有用ですので覚えておくと良いかと ...