自作DSソフトからデータを読み込む手順は以下の通りです。
1.ROMの特定アドレスを3ワード分読み出す。
※オシャレ魔女ラブandベリーでは、 以下のアドレスを読み込んでいます。
カートリッジの識別はここで行います。
左側が読み出しアドレスで、右側が応答値
0x08000059 → 0x78F9
0x08000059 → 0x78F9
0x0800FFFF → 0xFDFF
0x08000056 → 0x78F6
2. 手順1を2回繰り返す
3.SRAMの0x0A000000を読み込む。
読み出した値がカードを読み込んだときの値(初期値は0x83)
バーコードの白黒が変わるたびに、下位1bit目が変化します。
例:0x11,0x13,0x11,0x13 以下繰り返し
(一定以上の速度で読み取らせないと、反応しないようです)
ソフトウェア側で一定時間ごとに読み込ませることにより、バーコードの1/0を判別します。
オシャレ魔女ラブandベリーで使用されているバーコードは、Code39規格の様です。
4. 手順1を行う
5.16msのWait(VSyncに同期?)
6.以下1.から繰り返し
※PHI端子より、16.78MHzのクロックの送出が必要。
※バーコードリーダーの有効、無効を設定出来ます
無効の場合、バーコードを読み取ることが出来ないので注意してください。
(有効になっている場合、バーコード読み取り部から赤い光が出ます)
有効にするには
SRAMの0x0A000000に0x81を書き込みます
無効にするには
SRAMの0x0A000000に0x00を書き込みます
※読み取り時のタイミングは下記画像を参照してください。

とりあえず検証用ソフトを書きましたが、SRAM、ROMのアクセス時のWAITが分からないので不完全です。(PHIからあたりを付けていますが)
返信削除ROM、SRAMの信号波形をロジアナで録ってもらえますか?
> 1.ROMの適当なアドレスを合計3バイト分読み出す。
は合計3ワードの書き間違いかな??
修正しときました。
返信削除画像がなぜか拡大されないのが困ったもんだ。