M5Stack : MAG画像ファイルローダー

インターネットが一般に広まる前の草の根BBSでは、MAGという形式の画像フォーマットが広く使われていました。

MAGフォーマットhttps://ja.wikipedia.org/wiki/MAG%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88

640×400の画像が多かったのですが、これを半分に縮小すればM5Stackでも表示できるのでは…?

FSW倉庫に保存されていた「まぐろーだー仕様書」を見ながら、実装してみました。


ということで、仕様書を見てたのですが…、なかなか理解が進まず…。ここは、実装されているソースを参考にしたほうが良いですね!

検索したところ、HTML5で実装されている方が!

HTML5 まぐろーだー
https://emk.name/2015/03/magjs.html

ブラウザにドラッグ&ドロップで表示できるのもお手軽ですごいです。

こちらのソースを参考に(ロジック自体はほぼそのまま使わせていただきました…!)M5Stackで動作するように実装してみました。

表示できた!640×400ピクセルの、右上320×240だけを表示しています。

2×2ドットを色平均取るようにして、320×200に縮小表示してみます。

さらに、SDカードの /mag/ ディレクトリの下のファイルを順次表示するようにしました。

これはすごい。平成初期にトリップできます。

一番の難点は、MAGデータの収集かもしれないですね。ネット上でもなかなか見つからない…。

僕は当時に収集したデータを、FD→MO→DVD-RAM→HDとバックアップ媒体を変えつつ、保守してきていたのでした。


MAG読み込みを行うときは、640×400全体のデータをメモリ上で展開する必要があるため、4MBのPSRAMを搭載した M5Stack FIREを用いる必要があります。M5Stack BasicやM5Stack Grayでは動作できません。
らびやんさんが PSRAM なしでも動作するよう、改善してくれました!動作速度もUPしててすごい!

プログラムはこちらです。MAGデータは、SDカードの /mag/ ディレクトリに保存してください。表示順は今のところ制御してないので、ディレクトリに入れた順?になるかと思います。

shikarunochi / M5StackGraphicLoader
https://github.com/shikarunochi/M5StackGraphicLoader/tree/master/MAGLoader