* Doc.16 mbed、Arudinoによるブートケーブル [#f47b6ea0]
#freeze
* Doc.16 ブートケーブル [#f47b6ea0]

** mbed [#q0a1bf87]
#ref(clip_1.png,nolink)
mbed.orgに偶然見つけたコードを丸パクリ、実行してみました。~

*** 用意するもの [#b7d88aca]
- mbed LPC1768
- ゲームボーイアドバンス専用通信ケーブル(AGB-005)
- ブレッドボード
- ブレッドボード用のケーブル(オス-オス)
- ニッパ
- 半田ごて
- 絶縁テープ
- テスター

通信ケーブルについてはAGB-005以外でも問題ないです。~
ポイントはGBAのシリアルポートに刺さるコネクタ部品と、~
そこから伸びている4本の線がmbedとspi通信できれば大丈夫です。~
配線は以下のとおり。~

 mbed(LPC1768)   gba serial port(color)
 
 p1-0V           6-GND (blue)
 p5-mosi         3-SI  (orange)
 p6-miso         2-SO  (red)
 p7-sck          5-SC  (green)

#ref(clip_2.png,nolink)

左がGBA本体、右がケーブルプラグの拡大写真となっています。~

ちなみにspi通信が16bit単位であり、モード3でないとダメっぽいです。~
raspberry pi は無理ということが確定しました。残念です。~

[[Dev'rs GBA Dev FAQs:http://www.devrs.com/gba/files/gbadevfaqs.php#PCGCable]]
 Can you modify a GBA link cable to connect to a COM serial port to support multiboot?
 
 There are many reasons you can't easily do this.
 The first reason is that a standard serial COM port uses 1/8/1 format
 but GBA multiplayer / multiboot link mode uses 1/16/1 format. (format = Start bit/Data Bits/Stop Bit)

*** 参考サイト [#qcccdf39]
- http://developer.mbed.org/users/kek/code/gba_multiboot/
- https://sites.google.com/site/kenselectronicsprojects/gameboy-analog-meter
** Raspberry pi [#l4a9b287]
mbedのコードを流用して作りました。~
セーブデータのバックアップ、リストアにも対応しています。~
https://github.com/akkera102/gba_01_multiboot

** Arudino [#l0964ca5]
Arudinoでも動作報告を頂きました(thanks kos-さん!)。~
アーカイブORGからの発掘でしたので検索に引っかからず?~
ロストテクノロジー消失寸前だったかもしれないです。~
インターネットアーカイブからの発掘でしたので検索に引っかからず?~
ロストテクノロジー寸前だったかもしれないです。~

簡単な流れは以下のとおりとなっています。~
ソースコードはArudinoと、Linux PC用の2つがあります。~

 GBA --- Arudino --- Raspberry pi(or Linux PC)
 GBA --- Arudino --- Linux PC(or Raspberry pi)

- SPI通信(GBA〜Arudino)
- UART通信(Arudino〜Raspi)
- Raspiからgbaファイルを転送
- UART通信(Arudino〜Linux PC)
- Linux PCからgbaファイルを転送

ソースコードはArudinoと、Linux PC用の2つがあります。~


** 履歴 [#c4d9ece6]
- 2017/09/13
- 2014/12/25
- 2014/11/10