移転しました

移行しろとはてなからメールが来てました. 中身をみたところ残してもいいものが結構あったので公開も再開することにしました. 当サイトに役に立つものはないかもしれませんが、 geocities.co.jp の閉鎖によって大切な技術情報が失われてしまうことも考えさせ…

ゲーム基板互換の映像をFPGAからPC向け液晶モニタに映すときの仕様策定

本物のゲーム基板の映像を映す話ではありません サンプルとしてアップしている映像は静止画像データを表示しているだけでゲームは動きません 基本的な事 古いゲーム基板ではアナログRGBがでていてこれらの信号は低解像度(312x224pixelとか)です。これらの映…

IREM M72 on DE1 の紹介記事を公開しました。

11月末に完成していたのですが、動作原理などの説明資料を作る余裕が全然なかったので1か月遅れて公開となりました。 http://iremm72.wiki.fc2.com/ コーディングに関して。 説明資料に全く書いてませんが(コーディング以前の話が多すぎた)、HDL 部は基本 NS…

あと少し

uPD70116H 周辺の再設計

2月ぐらい前からすごくゆっくりやっている M72 の作り直しでようやく CPU までたどり着けて Signal Tap II で計測できたので記載する。 PLD 内部 clock と CPU とのタイミング M72 での CPU clock は 8MHz, M72 の内部も 32 MHz で動いているらしい。Video …

053260 とその周辺回路

ご厚意で 6809 互換コアを提供してくださったので、6809 を使ったゲームを動かそうということで、 DECO の DARWIN (Sound 未対応) と Overdrive (Sound だけ)を作ってみた。053260 とその周辺回路自体は以前作ったのだが、いろいろわかっておらずいろいろや…

サーカスチャーリーを動かしてみたい

単にタイトル画面の星がばーとでる演出が好きなだけだったりする。こいつは縦画面なので高解像度で出して、画面回転もかかった状態でだしてみたい。 元の解像度 width: 288 height: 264 pixel freq: 18.432 MHz / 4 line freq:16.0 kHz frame freq: 60.6060H…

デジタル大辞泉は 68000 アーキテクチャ推しなのか

最近webで辞書を使う場合が多いので、Android端末にいれてお試しでいろいろ調べてみた。気になった言葉はレジスタの説明の3番目。http://dic.yahoo.co.jp/detail?p=%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF&stype=0&dtype=0 アキュムレーター、アドレスレジス…

file system driver その3

SPI はやめて SD card mode で読み込むところまで実装できた。かなり詰まったが、いまのところ全て改善できて databus 4bit にして正常に読み取れるし、SDHC の初期化も通るようになった。FAT32 のドライバはまだ書いてないので初期化だけ。google 先生が教…

file system driver その2

fragment 関連のテストがかなり雑な状態で、メモリーカード(SDC)を SPI でつなぐところまでできた。 MBR が入っている 実機で動かして気づいたんだが、つないだメモリーカードの先頭セクタは fat のパラメータではなくてパーティションテーブルが入っていた…

file system driver の作成

メモリカードからの読み込みを目的として、 FAT からファイルを読み込みできるソースコードを書き始めている。書き込みはたぶんやらないと思う。設計方針は下記である。 OS なしで動くようにする C99 で実装するが、必要があれば C89 とかでもビルドできると…

MAME デバッガ続き

デバッガ標準装備となったバージョン以降の最新ビルドかつ Windows の SDL port を見つけたのですが、デバッガは動かないようになってました。うーん、ソースでは Windows も考慮した記述になってるので残念。仕方ないので Win32API のほうとデバッガコアの…

スプライトのY座標系統

2次元なコンピュータグラフィックの場合、縦座標は上から下に行くのが普通ですが、ほとんどのスプライト属性は逆方向の下から上へ行きます。なんでそうなるのか自分はわからなかったのですが、落ち着いて考えるとわかりました。 sprite atributte position Y…

久しぶりに 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…

elonaplus をクリアした

やきうのシーズンが終わってから息抜きに1日1.5h程度で少しずつやってたんですが、昨日、第2部をクリアしました。記憶が曖昧ですが、version 1.09 からはじめて version 1.12R でクリアです(1.13 は魔法が弱体化されて散々言われていたのでやらなかった)。du…

おみとろんをそろそろやめようかと思う

いくつかのプロジェクトで bitbucket にソースを置いていて、wiki や problem issue (bts)も使おうと最近いろいろやっている。 web デザインが妙に横長になっているし、文字は大きめで、エディタをみながら作業が出来ない。css を解析したら width:1000px み…

デバッグが進まない

規則正しくないがきまった時間に部屋にいるハメに。 眠いから寝てしまってデバッグできないし、眠くないのにPCがなくでデバッグができない。

Quartus II でのコンパイルをコマンドラインで行う

起動の遅い IDE を開き、何度もウインドウを切り換えてクリックするのは煩わしくなってきます。そこでコマンドラインでやってしまいたい。Altera さんにずばりという文書があります。いろいろ細かく書いてありましたが、これで済みました。 http://www.alter…

68SEC000 の mode pin

EC000, SEC000 には mode というデータバスを幅を切り換える端子があります。L で 8bit, H で 16bit となります。8bit mode は 68008 互換品として使う以外に需要がちょっと感じられません。Vcc を 3.3V にして、 mode には 5V をいれてみると、 3.3V の電圧…

出力に 7405 を使う

いくつか5V対応回路を作ってみましたが、制御信号などで 5V を出力する場合というのは1つの回路であまり多くありません(1,2本ぐらい)。もうちょっと出力が多い場合は 7405 を使うと便利でした。7404 は入力信号を反転するだけのゲートが6つ入ったとても基本…

MFT2012 に行ってきた

今回も楽しかったです。会場が狭くなった→通路が狭くなり、みたいブースでの滞在時間が取れなくなり11時30分ごろにいったものの休憩も含めて全て見れませんでした。 他の人も同じ様なことだと思うので次回は改善されるでしょう。(でも改善となると会場を替え…