2018年2月20日火曜日

SwissMicros DM42のOFF Imageとして『NieR:Automata』の2Bさんを表示する

SwissMicros DM42 (HP-42SのemulatorであるFree42で動くRPN calculator)は、originalのHP-42Sよりも表示領域が拡張されていて、電源をoffにすると画像が表示されるようになっている。

好きな画像を適当に加工すれば表示できるので試してみた。


図1 2Bさん@DM42

図2 並べてみた

DM42へのOFF image (OFFの時に表示される画像)の書き込み方


cf. https://www.swissmicros.com/dm42/doc/dm42_user_manual/#off_images

DM42をUSB cableでPCに接続し、□SETUP → 1. File → 3. Activate  USB Diskを選択するとDM42の記憶領域をUSB mass storage (USBメモリ)として読み書きできる。領域のfilesystemはいわゆるVFAT (FAT32)なので、Linuxでmountする時には:

% sudo mount -t vfat -o rw,uid=1000,gid=1000 /dev/sdb /mnt/dm42

のようにする。ちなみに、-t vfatでfilesystemにVFATを指定、-o以降に渡してあるのは:

* rw → 読み書きモード
* uid=1000 → fileの所有者を1000 (たぶん一番最初に作った一般ユーザアカウントのid)にする
* gid=1000 → fileの所有groupを1000 (同上)にする

※VFATにはfileの所有者/所有groupの概念がなく、uidやgidを明示的に指定しないと所有者がrootになる。mvやcpを発行するのに一々sudoをつけるのが面倒なので指定

以上の設定で/dev/sdb (著者の環境ではこれがDM42の記憶領域)を/mnt/dm42にmountする。

この時、/mnt/dm42/以下に見えるOFFIMG directoryに適切なimage file (大きさ400×240, 色深度1bit, BMP)を放り込むと、電源off時ランダムで表示されるようになる。

書き込み終わったらPC側でumount後、/sys/block/sdb/device/deleteに1を与えて安全に取り外せる。

% sudo umount /mnt/dm42
% echo 1 | sudo tee -a /sys/block/sdb/device/delete


大きさ400×240で色深度1bitなBMP画像の作り方


cf. [白黒(1ビット)画像の作り方](http://yay.cla.kobe-u.ac.jp/~jm/edu/2015/media/errorta/)

GIMPを使った。InkscapeやPhotoshopでも勿論できるが、ここでは解説しない。

* 画像を取り込むか描く
* Image → Mode → Grayscaleを選択してGrayscaleにする
* Colors → Brightness-Contrast...を選択し明るさとコントラストを調整する
* Image → Scale Image...で大きさを調整する
* Image → Canvas Size...で横400×縦240に設定
* Move toolで表示する部分を調整する
* Image → Mode → Indexed... → Colormap → Use black and white (1-bit) paletteを選択
* Dithering → 適切なcolor ditheringを選び Convert


最後に


2018-02-12にDM42のfirmware v.3.3がreleaseされた。詳細については以下linkを参照されたい。

cf. [Index of /dm42/firmware](https://www.swissmicros.com/dm42/firmware/)


人類に栄光あれ。

0 件のコメント:

コメントを投稿