HTML5 まぐろーだー
更新履歴
- 2015/03/16 文書を作成
- 2015/03/15 初版公開
これは何?
いわゆるHTML5対応のブラウザの機能だけを利用して、MAGフォーマットの画像を表示するスクリプトです。
何がうれしいの?
unlzh.jsと組み合わせて、パソコン通信時代の、改変せずに転載することのみが認められている書庫に含まれた画像をWeb上で展示したいなどの非常に微妙な用途くらいしか思いつきません。
(2015/03/17追記) Intel MacではPixelCatでもMAGを開けないらしいので、最近のMacでMAG画像を見たいけどツールがないという向きには有用かもしれません。WindowsではGVが普通に使えるのであまりありがたみがないと思いますが。
技術情報
システム要件
以下のようなWeb標準仕様をサポートしたブラウザであれば動くはずです。
またこのページのデモを動かすには以下のサポートも必要です。
具体的にはInternet Explorer 11や、FirefoxおよびChromeの最新版では動作しているようです。(2015/03/17追記) OS X 10.10のSafari 8.0.5で動作したという報告をいただきました。
実装メモ
- MAGの仕様書はマルチペイントのマニュアルに掲載されていたはずだが発掘できなかったので、MAGBIBLEをもとに実装する。
- MAGBIBLEはところどころ16色画像しか想定していないような記述があって、適宜読み替えないと256色画像を正しく表示できない。たとえば「ピクセル」は仮想VRAM上の1ワード=16ビットを指す単位なので、16色画像では4ドット、256色画像では2ドットになるのだが、ピクセルと書くべきところで4ドットと書かれていたりする。
- MAGBIBLEにはフラグデータをすべて展開すると1024×1024ドットの画像で128Kものメモリを使ってしまい、現実的ではないなどと書かれていて、時代を感じさせる(結局ラインバッファで実装しているが)。
- 今のところスクリーンモードは256色かどうかしか見ていないので、200ライン画像は正しいアスペクト比で表示できないと思われる(対応は簡単だが画像の現物が手もとに見当たらなかった)。
- パレットの切り替えには当然非対応。
- (2015/03/17追記) マルチペイントのマニュアルを発掘できたので、記述を見比べてみる。
- やはりフラグが0以外のとき「4ドット」コピーすると書かれていた場所は、「1ピクセル」に訂正されていた。
- また「鮪フォーマット解説」のサイトで指摘されていた部分セーブ時の横幅切り上げについても、256色画像のときは4ドットと追記されていた。12bppのパレットデータを24bppに拡張するときの方法も、「まぐろのすべて」と同じく17倍になっていた。
- 一方、「正誤表01.DOC」に記載されているMSX SC8のスクリーンモードの訂正はなぜか反映されていない。
Copyright© 2015 Masatoshi Kimura (emk)