2017年10月31日から2017年10月27日までの日記を表示中

2017年10月31日 (火)

飲み

平日なのに飲みでした。そして飲み会だと帰りが早い・・・。お疲れ様でした。

RetroN 5ハック

ddでSDカードの先頭のデータ書き換えるのも何か微妙な感じだったので、/dev/block/mmcblk0 をリネームしてダミーのテキストファイルに差し替えるという方式に変更してみました。こっちでも問題なく騙せるようですw

そして今日はRetroN 5向けにsqlite3をクロスビルドしてみました。

% tar zxvf sqlite-autoconf-3210000.tar.gz
% cd sqlite-autoconf-3210000
% ./configure --host=arm-linux-gnueabi --enable-static
% make AM_LDFLAGS=-all-static
% arm-linux-gnueabi-strip sqlite3
% arm-linux-gnueabi-objdump -p sqlite3

ちゃんとstaticバイナリになって、RetroN 5で動くようです。よしよし。

2017年10月30日 (月)

RetroN 5ハック

Linaroのtoolchain(gcc-linaro-4.9.4-2017.01)を使って、RetroN 5とかで動くバイナリが作れることを確認。さっそく、ファイルやディレクトリの監視をするためのintofiy-toolsをビルドしてみました。

% PATH=~/gcc-linaro-4.9.4/bin:$PATH
% tar zvxf inotify-tools-3.14.tar.gz
% cd inotify-tools-3.14
% LDFLAGS=-static ./configure --host=arm-linux-gnueabi --enable-static 

そのままmakeすると、isdirと_niceassertが多重定義と言われるので、こんな感じの変更を加えてstatic関数化 (´・ω・`)

--- libinotifytools/src/inotifytools.c.org      2017-11-16 19:10:14.630551165 +0900
+++ libinotifytools/src/inotifytools.c  2017-11-16 19:11:54.683737511 +0900
@@ -150,7 +150,7 @@
 static char* timefmt = 0;
 static regex_t* regex = 0;

-int isdir( char const * path );
+static int isdir( char const * path );
 void record_stats( struct inotify_event const * event );
 int onestr_to_event(char const * event);

@@ -193,7 +193,7 @@
  *
  * @param  mesg  A human-readable error message shown if assertion fails.
  */
-void _niceassert( long cond, int line, char const * file, char const * condstr,
+static void _niceassert( long cond, int line, char const * file, char const * condstr,
                   char const * mesg ) {
        if ( cond ) return;

@@ -1594,7 +1594,7 @@
 /**
  * @internal
  */
-int isdir( char const * path ) {
+static int isdir( char const * path ) {
        static struct stat64 my_stat;

        if ( -1 == lstat64( path, &my_stat ) ) {

あとはstaticになるようにmakeするだけ。

% make AM_LDFLAGS=-all-static

stripして、ダイナミックリンクしてないか確認。

% arm-linux-gnueabi-strip src/inotifywait
% arm-linux-gnueabi-objdump -p src/inotifywait

無事RetroN 5で動くinotifywaitのバイナリができました。これを使うことで、ROMがダンプされたのを契機に、何らかの処理を開始することができます。

ついでに、アプリが使っているデータベースも見てみました。こちらは、普通にsqlite3で読めるやつですね。最初のフィールドが CRC32みたいですな。ダンプした結果を検索すればいいですね・・・って、cksumだとCRC32にならないんだっけ。

マークIII

先日注文した、MarkIII/SMS-J to Megadrive/Genesis cartridge adapterが届きました。マークIIIとかのカートリッジをメガドラ上で動かすための変換アダプタです。手元に、海外のマスターシステムのカートリッジをメガドラ向けに変換するアダプタは3種類くらいあるんですが、国内のがなかったもんで・・・

MarkIII/SMS-J to Megadrive/Genesis cartridge adapter

さっそくRetroN 5で使ってみます。剥き出しだから色々不安w

RetroN 5で使ってみる

無事認識されました

認識された

動いた

もちろん、レトロフリークでも大丈夫。

レトロフリークで使ってみる

認識された

動いた

何となくイースも動かしてみます。最近存在を知った気がするんですが、まさかうちにあったとは・・・。

イース動かしてみる

おー、すげえ。

マークIII版イース

ああっ、化けてる(´・ω・`)。どうやらメガドライブ+メガアダプタでも起こる症状みたいですね。忠実にメガドライブをエミュレーションしているということか。

画面化け発生

2017年10月29日 (日)

何もしていない

日曜だけど特に何もせず。

2017年10月28日 (土)

RetroN 5ハック

無線LANも繋がるかなと思って、USB接続のWi-Fiアダプタを接続してみましたが、こちらは認識されませんでした。ドライバのモジュール作って入れないとだめかな。

あと、SDカードを物理的に抜き差しせずに、コマンドラインから抜き差しイベントを発生させる手順。忘れてまたググりそうなのでメモ。

### /sys/bus/mmc/devices/の下にあるファイルを確認
% ls /sys/bus/mmc/devices/
mmc0:0002

### mmc0:0002を/sys/bus/mmc/drivers/mmcblk/unbindに書き込むと排出
% echo mmc0:0002 > /sys/bus/mmc/drivers/mmcblk/unbind

### mmc0:0002を/sys/bus/mmc/drivers/mmcblk/bindに書き込むと挿入
% echo mmc0:0002 > /sys/bus/mmc/drivers/mmcblk/bind

マリオオデッセイ

時々Bボタンが反応しなくなるのは何でだろう・・・(´・ω・`)。あ、もしかして、本体から離れて遊びすぎなのか・・・?

ARM開発環境

RetroN 5で動くバイナリを色々コンパイルしたいと思い、クロスコンパイル環境を用意しようと思ったんですが、ふとRaspberry Pi上にLinux環境構築して、その上で -static つけて普通にコンパイルしちゃえば、わざわざクロスコンパイルとかしないで動くものできちゃうんじゃね? ということを思いつき、Raspberry Pi上にRaspbianを改めてインストール。早速バイナリをコンパイルしてみましたが、実機上では動作せず。

# ./test
FATAL: kernel too old
Aborted

やっぱりクロスコンパイルするかー。というわけで、Fedora環境でARMのクロス開発環境のパッケージを導入してみたんですが、こちらも出来上がったバイナリは実機上で動かず。

# ./test
Killed

どっちも、RetroN 5とかに対して、新し過ぎる感じなんですかね・・・。

変換アダプタとか

RetroN 5とかでさらに遊ぶ用に、ちょっと機材を買い足し。前の日寝る前に思いついて注文して、それが翌日日中に届くこのスピード感、日本のAmazonならではですねw

変換名人とか

2017年10月27日 (金)

ジーコサッカー

Twitterで見かけたジーコーサッカーの記事、画像を見てもしやと思って調べてみたら・・・

ジーコサッカーについて書かれた台湾の記事

やっぱりSudden Impactだ、これw。 ついてる値札は日本語だけど、海外のお店で撮った写真ということを認識してるんだろうかw

Sudden Impactで撮った写真じゃん

RetroN 5ハック

何かFWアップデートしても元に戻るし、「FACTORY TEST MODE」って表示されてるし、色々変な感じですね・・・。あー、起動後もSDカードの先頭の方チェックして、「RETRON5___BOOTSD」って書いてあったら何かしてるのかもしや。試しに、起動中、一時的にここをddで無理やり別の文字列に書き換えるようにしてみたら、FACTORY TEST MODEって出なくなりました。これだと、/dataの下の掃除もないっぽい。これが正解か?

2017年10月31日から2017年10月27日までの日記を表示中

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2017年10月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ