Keywords: GB GAMEBOY ゲームボーイ 吸い出し PIC PIC16C74 シリアル RS232 マジコン MAGICOM ROM DUMP

GBシリアルリーダー



[ENGLISH]
Copyright(C)1998 かしま
ec2-18-116-40-53.us-east-2.compute.amazonaws.com , 125452nd 1999/03/15 UPDATED

NOTICE

  • プログラム済みPIC(20MHz版) 3,500円(送料込、代金振込)
  • ファームウェアバージョンアップ 1,980円(送料込、代金振込)
    チップの在庫はあります。 メールでお申し込みください。

    キット・完成品の配布は終了しました。


  • 現在の状況




    ファームウェアバージョンについて

    希望者には最新ファームを載んだマイコンを販売します。 すでに本体を持っている場合は 1,980円(送料込み)でご案内します。
    リーダをエミュのためだけにお使いの方は特にバージョンアップする必要はありません。 吸い出しマニアの方だけどうぞ(笑)

  • Ver1.0
    情報エリアが状態により消滅するカートリッジは読み出し不能である。

  • Ver1.0a
    情報エリアが消滅するタイプのカートリッジが読み出し可能になった。ただし、Unknown ROM type なカートリッジは DL xxxx xxxxコマンドが使用不能なため、面倒だが、DMコマンドでダンプする。
    ダンプ出力をバイナリに変換するプログラム dmp2bin.zip

    チェック機構が甘いので入力ファイルは純粋にダンプの出力となるようにエディタで整形してから実行すること。 1行フェーズがずれるとそこから最後まで全部ズレます ;(^^)
    0110  00 0C 00 0D 00 08 11 1F 88 89 00 0E DC CC 6E E6  ..............n.
    0120  DD DD D9 99 BB BB 67 63 6E 0E EC CC DD DC 99 9F  ......gcn.......
    0130  BB B9 33 3E 43 47 42 57 41 52 49 4F 4C 41 4E 44  ..3>CGBWARIOLAND
          ^---------------------------------------------^
                      この領域が変換されます
    

  • Ver1.0b
    IRコマンドが増えただけで 1.0aに同じ。

  • Ver1.0c
    Unknown ROM typeの DL xxxx xxxx読み出しを可能にした。

  • Ver1.1
    MBC5、MBC1+8,16M-ROM対応


  • サポート掲示板 かしまの掲示板
    1. はじめに
    2.  GBエミュレータには PC互換機用のほかに、Mac用や UNIX用もあります。 これらのエミュレータで遊ぶには ROMイメージが必要ですが、入手するにはインターネットで探すか、PC互換機専用のカートリッジリーダーで吸い上げる以外方法はありません。

      そこで、インターフェースにシリアル転送を使えば多くの環境で吸い上げが実現できると思い、GBシリアルリーダーを製作しました。

    3. 回路構成
    4.  回路は、40ピンのPICマイコンと 232Cインターフェース回路、電源回路の非常に簡単な構成です。

      回路図

       ただ、PICのバグ(仕様?)には参りました。 あまりハイスピードなシリアル転送速度を設定すると文字化けするという仕様なのです。 当初、CLK信号へ 1.078MHzを出力するために、16.545MHzの水晶を使う予定だったのですが、その仕様から 14.7456MHz に変更、CLK出力は 900KHzとなってしまいました。 といっても、 CLK出力は今のところ使っていません。

    5. 製作
    6.  まず製作で問題になるのはGBコネクターの入手でしょう。 実は1個だけならばGBの補修部品として手に入れることができます。

       GBコネクターのピッチは1.5mmと特殊であるので、専用基板を自作するか、直接配線を半田付けするかしなければなりません。 私は、アドレス・データ配線が面倒なのと、最近感光基板製作環境が整ったという事もあるので、基板を自作してみました。

      基板アートワーク

    7. 使用方法
    8.  機器の性質としては外付けモデムと等価であるので、モデムケーブルを使ってパソコンと接続してください。 また、ACアダプタは、N天堂純正のファミコン・スーファミ・バーチャルボーイ用ACアダプタが使えます。

       転送には汎用通信ソフトを使います。 通信速度 115200bps 8ビット 1ストップビット ノンパリティー RS/CSハードウェアフロー制御に設定してシリアルリーダーにアクセスしてください。

       リーダーとの通信が確立すると、コマンドプロンプト gbr> がでます。リーダー上の LEDは、カートリッジの /RESET信号と連動していて、消灯している時はカートリッジがバックアップモードになり、抜き差ししてもバックアップ内容が破壊されにくくなるようになっています。カートリッジを抜く前には ESCキーを押して LEDを消灯させてください。

       コマンドプロンプトでは次のコマンドを使うことができます。

        [ESC]		カートリッジを抜き差しできる状態にする。
      
      
        h		ヘルプの表示
      
      
        i		カートリッジ情報の表示
      
      
        ir		カートリッジ情報の更新(Ver1.0b以降)
      
      
        br, bs 	ROM/SRAMバンクレジスタの変更
      
          ROM/SRAM各バンクレジスタの値を変更します。
      
          [例]
            gbr> br 1e	... ROMバンクを 0x1eに変更
            gbr> bs a		... SRAMバンクを 0x0aに変更
      
      
        us, ds	バックアップSRAMのアップ・ダウンロード
      
            バックアップSRAMのアップ・ダウンロードを行ないます。
          8KB SRAMの時、転送時間は 2秒弱です。 実行中 ESCキーで中断できます。
      
      
        dl		ROMのダウンロード
      
            ROMデータのダウンロードを行ないます。 512KBタイプの時、
          転送時間は約 64秒です。 実行中 ESCキーで中断できます。
      
          [例]
            gbr> dl 1000 1fff		... 0x1000 から 0x1fffまでを
      				    uuencode形式でダウンロード
            gbr> dl			... ROMの全てをダウンロード
      
      
        rd	メモリーリード
      
            メモリーをよみだします。
      
          [例]
            gbr> rd a000		... 0xa000番地の値を読みだす
            55
      
      
        wd	メモリーライト
      
            メモリーへ書込みます。
      
          [例]
            gbr> wd 0 a		... 0x0000番地へ 0x0aを書込む
      
      
        dm	ダンプメモリー
      
            メモリーの内容をダンプします。 実行中 ESCキーで中断できます。
      
          [例]
            gbr> dm			... 最後にダンプした番地から 128バイト
      				    分ダンプする
            gbr> dm 4000		... 0x4000番地から 128バイトダンプ
            gbr> dm 4000 4fff		... 0x4000 から 0x4fffまでをダンプ
      
      
        cs, cr チェックサムの計算
      
            メモリーのチェックサムを計算します。 数値はデータの和です。
          i コマンドで表示される数値と比較する場合はカッコ内の数値と
          比べてください。
      
          [例]
            gbr> cr			... ROM内容のチェックサムを計算
            gbr> cs			... SRAM内容のチェックサムを計算
            gbr> cr 4000 4fff		... 0x4000から0x4fffまでのメモリの
      				    チェックサムを計算
      
      
      ファイルのアップ・ダウンロードには uuencode/decode形式を使います。  アップロードのためのファイル変換には、下記の uuencode_gb.exe(Win32) 又は uuenc_gb.exe(16bit/MSDOS)をお使いください。 ダウンロードしたファイルの変換には WinZIP6.2を推薦します。

      uuenc_gb.exe(16bit/MSDOS)とuuencode_gb.exe(Win32)

    9. プログラムリスト
    10. 参考文献
      • PIC16/17 Microcontroller Data Book/Microchip Technology Inc. 1996/1997
      • Errata Sheet for Rev. A PIC16C74 Silicon/Microchip Technology Inc. 1996

    11. 参考データ
      1. GBのメモリーアクセスタイミング
      2.  SRAMにどうしてもアクセスできなかったのでメモリーアクセスタイミングをロジアナで調べました。

         CLK信号には 1.078MHzが出力されており、アクセスはこれに同期して行われます。 RD信号は常にローレベルにあり、メモリー書き込みの時だけハイレベルになります。 最初 MREQ信号は何者かと思っていましたが、どうやらアドレスバス的性質があるようです。 MREQは SRAMをアクセスするときにローレベルになります。

      3. MBC1, MBC2搭載カートリッジ回路図
      4. MBC1回路図
        MBC2回路図


    通信画面

    512Kのダウンロード時間は約64秒です。


    E-mail [注意]不適正な題名は即座ゴミ箱、名前を名乗らぬ者への返事はしない事があります。フリー系メールからは自動的に拒絶する場合があります。
    -- LINK FREE --
     
    HOME LAST