2011-01-01から1年間の記事一覧

ビデオ回路とサウンド回路の合成その4

m68000 から 053260 に送る sound command はデータバスの接続が間違っていたので直した。 ある程度音は鳴るような気がしたが、やはり割り込みがあやしい... いろいろやってみたが詰まってしまったので、 Z80 のデータシートを確認。INT の後に M1 と IORQ …

ビデオ回路とサウンド回路の合成その3

ソフトで確認したところ、割り込みはちゃんとかかっていた。 サウンド側へ送る 8bit のデータの通信がしっかり出来ていないところまでわかった。 ここまでわかったのでハードウェアシミュレーションをすればゴールはあとちょっとだ。

boot

書き直したら、論理構成を替えることなくちゃんと動き出した。サウンド付だと ROM を切り換えると、制御権がサウンド方面に行ってしまうので、不定のデータを取り込み、プログラムが暴走して、ROM image を破壊したと考えると不具合の辻褄が合う。 trap1: le…

ビデオ回路とサウンド回路の合成その2

シミュレートを見る限り、割り込みを取りこぼすことはなさそう なぜかソフトの挙動があやしい。Video 単体と違う動作をするような。 手入力では音の割り込みは受け付けるので Z80 とその周辺は動いている 48MHz を 12MHz に替えたところに ROM と RAM を切り…

ビデオ回路とサウンド回路の合成

共有 ROM の切り換え回路を追加した。 68000 > (PCM+Z80) のやつ。その前段に PCM > Z80 の切り換えがあるんで 2 段切り換え。 これで道具は揃ったので後は合成するだけだが、両方ともトップモジュールに書いているので、ビデオ専用、サウンド専用のモジュー…

一部の PCM の再生がおかしくなる件

なんとなく、特定の PCM 音だけ(下記)変ということに気づいた。というわけでその音をシミュレータにかけてみる。 K053260: Start = 06fdeb, End = 070aac, rate = 0f40, PPCM = yes ROM のポインタがなぜか減っている(060200)ので変わり目を見ると 0x6ffff …

ビデオ部とサウンド部の組み合わせ

現状ということで、まだ増える可能性はあるが、そろそろ。 video sound / EP2C20F484 LE 6048 6315 / 18,752 RAM 65,884 19,584 / 239,616 PLL 1 1 / 4 sound 回路の方がロジック使用量が多いのはちょっとびっくり。PLL 関連の詳細も書いておく。 video.pll#…

論理合成が安定しない件

成功率が1/6ぐらいになってきて待ち時間がひどくなってきたが、タイミング解析で critical warning がでないからわからん。 諦め気味に、1つ古めの Quartus II が残ってたので論理合成した。結果は同じだが、 critial warning もでて悪い配線もわかった。や…

sound 周り

Liner PCM をシミュレートしてなかったので符号演算付近が怪しいのではないか → シミュレートも問題なく、実機も問題ない 共有 ROM の切り替えでデータを取りこぼしたのではないか → 別件で修正したところ、まだ直らないので可能性はかなり低い 複数の PCM c…

sound 周り

プチプチの原因 Audio DAC にデータを渡す方法はシリアル。データを流しはじめるときに stream data をラッチしてから渡したら直った。1bit ずつ渡してるときに値が更新されたらちゃんと再生できないなんてあたりまえじゃないか。なんで五右衛門のときは問題…

追加部品

X multiply を動く日を夢みて、 upd70116 を載せることにする*1。都合良く Address, Data は同じ pin で切り換えだし、3.3V でも動くらしい。ハードウェアモードを見ると 2 mode あってよくわからんが、 small ということにしておく。 共有端子: 17pin AD[15…

拡張ボードに載せる部品

RAM 今後の拡張を考えるともう1つ SRAM が欲しい (D)PCM stream ROM の容量が 512K Byte あるので、それの2倍以上のサイズがあれば PCM stream ROM と Z80 program ROM が一緒に入る というわけで SRAM を探したところ、非同期ではんだ付けできる SOP 系で、…

DPCM / PCM decoder

decoder と書いたが言葉の意味が正しいか分からぬ。パンクショット基板を FPGA 評価ボードにつめこむやつは、今年1月に作ったまま開発が停止していたのだが、個人的事情が改善しつつあるので再開。やはりこれぐらいの気温でないとやる気がしない。 初日はな…

textviewer

nkf32.dll を gcc で作ったところから。 SetNkfOption("-w16L0 -Lu") とする。 file を binary で開いて unsigned char のバッファに read させる wchar_t のバッファを取得する NkfConvertSafe() を呼び出して各種引数を渡して、utf16 le bom なしを wchar_…

nkf

現状では UTF8 の文字列しか読めないので nkf を組み込むことにした。(qkc は unicode 対応が全くないのでアウト)nkf32.dll は最新バージョンはソースのみの配布で、 dll のビルド手順は Visual C++ のみの対応らしい。Mingw でのやり方を調べたところ、こん…

textviewer

背景画像が出せるテキストビューアも必然的に欲しくなるんだが、bitmap にしてしまうとドラッグしてコピーのあたりも自分で作ることになって面倒。既存の text control に paint event をくっつけたら、どうだろう。気になったので透過画像*1を draw してみ…

file viwer

ファイル一覧の透過は mask を渡すコードをこんな感じにして、 SetMask を1度だけにするといいらしい。wxMask は毎回作らないとダメ。なにこれ。 void Draw(wxDC *d) { //2度 setmask すると半透明透過になるが、 mask 設定は必要らしい?? wxMask mask(*m_la…

VHDL

VHDL の勉強をさせてもらって、非常に恵まれた環境だと思っているんだが、VHDL のよさがわからない。なんでまだこんなものが生き残っているのだろうか... 型が厳格なのはいいが、どうでもいい型なんて捨ててくれ 型が厳格なのはいいが、プリプロセッサが頑固…

涼しい

昨日まであれほどでなかったやる気がみるみるでてくるのがおそろしい! 湿度が低いと北海道を思い出す。北海道で開発をやったらペースがあがるんだろうなー。

window size など

各クラスの bitmap のサイズをてきとーに振っていたので text layer クラスから background layer クラスに渡す様に修正。実験的に使ってて、いらなくなった未使用変数などを削除。ぱっとみ片付いたと思いきや... 再度描写すると透過色のピンクがなぜか半透…

重ね合わせ関連

wxFrame + sizer + wxPanel で wxFrame の OnPaint で背景描画、 wxPanel の OnPaint でテキスト描画にすれば wxPanel を複数にした場合に背景を別けず描画できるかもと思ったが、そんなにうまくはいかなかった。 Zcode の管理はしっかりしてるらしい。

透過関連

wxDC.Drawbitmap 経由でのやり方のサンプルソースが見つかったのでそれを元に作った wxDC.Bilt 経由の Mask の使い方は不明 wxMemoryDC.SelectObject で選択した bitmap は .SelectObject で別の object を選択し直すか wxMemoryDC を削除すれば、選択した b…

他のファイラを見てみる

作ったところで自分の欲しいファイラが出来ていたらかっこわるいとか、取材も兼ねてみてみた。大まかに explorer 拡張派, キーボード派の2派があり、マウスの存在を否定したい人は後者に回る。キーボード派にはさらに細かく FD派, あふ派, その他派がある。.…

next

ROM の文字列修正 libusb もみておく filer の優先度がさがった。次の土日までにやっておきたい。

filer

悩んだ結果、下記のソースを使いまわすのが一番よかった。 http://wiki.wxwidgets.org/Drawing_on_a_panel_with_a_DCwxformbuilder 経由ではうまくいかなかった。 wxForm からの onPaint は発動するが、発動しまくるので CPU リソースを食う wxForm.sizer に…

伊豆半島にいく

試合後レンタカーで伊豆半島に行く。東名高速道路のSAには中日ファンだらけ。土曜なのに1試合で名古屋に戻るなんてもったいないというか、ご苦労様というか...その後一般道で伊豆半島を目指すものの、激しい山道で気持ち悪くなる上、よーやく見えたぞ!と思っ…

レンダリングコントローラに命令を送る方式

データバスが 18 本あって、 WR, RD, CS がついている方式。初期化時に命令を送ることによって細かい設定が可能で、データバスが 1/8/16 bit でも動いてしまう。更新の必要があるときだけ画像を送ればよい。コントローラの資料を見る限り、HSync, VSync を操…

RGB を直接送り込む方式

液晶のデータシートを見ると R,G,B が [7:0] まで計24bit, HSync, VSync, dotclock などがあって動かすことが出来るようだ。この方式は低解像度のゲーム機器を写せそうな気がする。そこでこれが良さそうなので調べてみた。(ただしデータシートの記述が怪しそ…

携帯機器液晶に映す計画 (ひとまず終わり)

データシートをみてうなっていただけなので、本当に使えるかは動かさないとわかりません。信用しないこと。携帯機器液晶は 240x320 で TFT な液晶が aitendo などに売ってるやつ。これを FPGA 上に再現させたゲーム機の映像を映せるか検討したもの。

携帯機器液晶に映す計画

昨日もいろいろ調べてて、直接RGB信号を送り込むほうの計算は済んだけど、レンダリングコントローラがついてるほうの計算が済んでない。トランジスタ技術が 2011.02 が都合良くあって助かった。続きは後日。