進展がありません。GBA分解写真

昨日の続きをしたのですが、原因がわかりません。ロジアナのトリガ条件をいろいろ変えてやっているのですが、うまくいきません。
明日は、初心に戻ってある作業を行う予定です。

ところでゲームボーイアドバンスの分解写真が公開されているのを見つけました。
ARM7TDMIのコアとZ80のコアを使用した自社ASICだということを知っていましたが、156ピンのLQFPのICだとは知りませんでした。てっきりBGAのASICだと思っていたんですよね、簡単にハックされないように。
Nintendo DSもすでに個人で開発できる環境がそろっていたりするので、任天堂ってなんてオープンな会社なんだろうと思ってしまいます。

PICNICをデバッグ中です。

GBA + Xport + PICNICでデバッグ中です。しかしどうもうまくいきません。
なのでDigiViewのロジアナを使って波形を確認しました。

合計16本を使いました。左となりに見えるのがDigiView本体です。
観測した波形がこちら。

ホスト側からタイミング的に問題なく波形が出力されているのがわかります。しかし、RTL8019からIOCHRDYがローに下がらないし、期待したデータも出力されない状況です。
その後、配線の確認をしたり、RTL8019が破壊されていないかPICで動作確認したのですが、問題が見当たりません。電源が非同期に立ち上がっているのですが、リセットをかけているので問題ないはずです。
参りました。。。

GBA + Xport + RTL8019AS デバッグ開始

RTL8019ASの制御プログラムを少しずつ書いています。動作確認しながらやっているのですが、まったく進んでいません。。。
それにしてもGPIOで制御しているので少々手がかかります。



7行程度必要になります。CPUバス直結タイプのI/Fってなんて簡単なんだろうと感じます。

GBA中継基板作成完了、PC壊れました、Interface 6月号

仕事を終えた後、本屋に行き、Interface 6月号の内容を確認しました。今月号の特集は、FPGA関連で実践例としてシリアルコントローラが紹介されていました。Xportに機会を作りぜひ実装したいです。

帰宅後、中継基板作成の続きをしました。

これでRTL8019と232CドライバをXport経由で制御できる準備ができました。

・・・基板を作成している時ついでにデスクトップPCにSP2をインストールしていたのですがなぜか突然PCが再起動を繰り返し始めてしまいました。セーフモードでも動作しないので手に負えない状態です。原因を究明中です。Windows起動コンソールから修正するしかないのかな?

LCD制御関数のライブラリ化

Xportには、すでにテキスト関連、パラレルポート関連など各種ライブラリがgbalib.aでそろっています。このライブラリとスタートアップルーチン、そしてユーザプログラムをビルドしてひとつのバイナリファイルとして生成するのです。昨日作成したLCD制御プログラムは、すべてユーザプログラムにLCD制御ルーチンを実装していたのですが、今日は、それをモジュール化し、gbalib.aに実装することにしました。
ライブラリのソースファイルが保存されているsrc/gbalibディレクトリに新しくlcd.cxxとlcd.hを作成しました。合計6つの関数を作成しました。

void lcd_cmd8(unsigned char cmd); // command for 8bit mode
void lcd_cmd4(unsigned char cmd); // command for 4bit mode
void lcd_data4(unsigned char dat); // data for 4bit mode
void lcd_init(); // initilaize for LCD
void lcd_line2(); // move line2
void lcd_home(); // move home position

これでLCD制御関数のモジュール化を終了します。

タイマ、LCD制御 on GBA

名古屋の出張帰りにタイマプログラムとLCD制御プログラムをコーディングしてました。いつも長時間かかっている新幹線の乗車時間も短く感じました。それから自宅に帰って早速テストすると、タイマプログラムは一発で動作しました。ありがとうございます>西田さん

それからLCD制御プログラムをデバッグしました。思ったより時間がかかりましたが、うまく制御できるようになりました。API関数として使用できるようにソースを整理するつもりです。