ルギア君の戯言

雑多な記事。

ARM-EABI

この間の LinuxBSDロスコンパイラの延長として NintendoDSGameboy Advance への開発ができる ARM-EABI へのクロスコンパイラもついでにビルドしてみた。


ビルドの手順は BSD の場合と変わらない。
ただし、C++ を使いたい場合は、一度

--enable-languages=c --disable-libssp

で GCC をビルドインストールしたあと、devkitpro のページから newlib をとってきてビルドインストール(ターゲットを間違えないこと)し、

--enable-languages=c,c++ --with-newlib

で GCC をビルドインストールしなおすとうまくいく。


ARM-EABI は Devkitpro にならって設定したターゲットだが、ARM-AOUT にしとけばバイナリエディタでちょっと弄れば DSLinux が採用する FLAT フォーマットになるみたいなのでそっちにしとけば良かったかな(ぁ
(NDS や GBA ターゲットの場合は binary 形式にするので、どちらであっても関係ない)
それか自分でリンカースクリプトを書いておいて、そこから弄る方法もあるか


GBA の方はブートケーブルを通じて PC 側にメッセージをおくれるので簡単にデバッグできるのだが、DS のほうは カメレオンUSB が必要なのでちょっと敷居が高いかな(ブートケーブルに比べ値段が高い)・・・まあ、でも DS だし、しょうがないよな


僕はカメレオンUSBは持ってないので、あくまで僕の推測なのだが、

  1. 自作ゲームから PC にメッセージをおくれるということは、VRAM の中身を送ってもよい
  2. ワザポンのサーチツールで VRAM をサーチできるかもしれない
    • ということは、この機能を使うことで DS のスナップ(動画も?)をとれるかもしれない

→完璧 (何が
ただ、サーチツールも転送ソフトもソースコードが不明。