2013-02-01から1ヶ月間の記事一覧

久しぶりに M72

これより優先度の高い開発プロジェクトがある気がしますが、他がつまったり、機材が出せないなどの理由で久しぶりにこれをやってみました。 外部 CPU PLD 内部は 64MHz で動き、外部の CPU は PLL も外付けして 8MHz だったのですが、非同期になり setup / h…

005849 sprite

Mr.五右衛門のやつ。この基板は 005849 以外にたいした IC が載ってないので、sprite と tile を両方担当している気がする。たぶん。 VRAM CPU(Z80) から見える RAM は 0x100 word x8bit を2つ持つらしい。この2つのRAMうち1つをレジスタに登録しておいて、…

M72 sprite

この記事もそのうちこっそり消えるかもしれません。 attribute RAM CPU から見える RAM は 0x200 word x 16 bit。4 word 毎に記載し、0x80 個の attribute を持つことが出来る。sprite renderer に描画処理用の RAM を別に持ち、転送開始レジスタ (main CPU …

wikipedia - ORゲート

http://ja.wikipedia.org/wiki/OR%E3%82%B2%E3%83%BC%E3%83%88OR ゲートの IC として 4071 のピン配置が貼られている。いまさら OR ゲートを単体で使う場面も少ないこのご時世に一般的だった 7432 ではなく 4071 の図を使っている。さらに 4071 と 7432 のピ…

StarRuby のパレット機能を使ったその2

051960 の sprite attribute を取り込んで、パレット付き1枚png (512x512 pixel)から(16x16 pixel)チップを切り出してサイズに応じて並べ替えるときに判明したのだが、複数チップを1つの texture に描くので、パレット情報が失われてしまう。ということで、…

051960 のスプライト情報

まずかったらこの項目はそのうち消えます。 VRAM - sprite attribute VRAM CPU から見える RAM は基板に載ってる databus width 8bit の SRAM で、68000 から使う場合は 16bit のように見えるが、LDS,UDS で A0 を生成して切り換えているので、おそらく byte…

StarRuby のパレット機能を使った

特に難しくなく、リファレンスにあるとおりです。change_pallete で Textcure が再生成されるわけでそれなりのコストがかかる気もするし、そもそもパレットなんて4bitぐらいなので同じ Textcure を 16 通り持つというのもそんなに悪くない気がした。 libpng …

パレット付き PNG ファイルを作る方法

StarRuby は読み込み専用で動的に作ることが出来ないらしい.... キャラクタROMのデータをパレット付きに変換するというのはあまりないみたい実例みたいで、それを満たすようなライブラリはなかった。というわけで libpng を使った C プログラムを書く。(stru…

051960 の zoomed sprite

FPGA で動いているパンクショットはズームを使ってないのですが、 051960 は多くのゲームに使われていてズームを使っていると、結構残念な表示になっています。 StarRuby でシミュレーション表示してみようかなと思う → MAME のソースコードを読んでみる → …

StarRuby と DxRuby をためしてみた

ゲーム機の VRAM に関する属性情報なども全て表示したくなったので作ってみました。言語は最初は C# を選んだものの、コーディングが面倒とか、キャラクタの動的生成が異様に遅い上に、ラスタライズが気に入らないのでボツ。C で自分で作ろうかと思ったら、R…