kty画像ローダー

 インターネット黎明のころ、パソコン通信のBBSへの書き込みした方からその当時どんな雰囲気だったかを聞きます

q&a(189/456) 93/09/28 00:33 sunでX動いてるんですか
2rep 470B

確かsunでは標準のGUIにXは無かったはずだからXをインストールしてくれるくらい偉いrootがいるんならその人に直接聞く方がはやいと思います。
うろ覚えで答えますと、

・xv     gif、,jpeg、pic(?)、etc.
・xgload maki、mag、kty、etc.

の2つくらいしか私は知りません。ソースはそこらへんのftpサイトを漁れば見つかるでしょう。

1993/11 BBSの書き込み より

 ktyファイルとよばれる、640x200ピクセルで8色の画像フォーマットが当時あったようです。デジタル8色で8ビットパソコンの画像に特化することで圧縮率をたかめているそう。

 JPEGって今ググったところ、libjpegの最初の実装が公開されたのが 1991 年なんですね。えーそうなん。もっと前からあるもんだと思ってました。意外と最近なんですね(老人なんで時間の感覚が)。当時「自然画に向いた画像フォーマットがあります」って話だったんですが、自然画って表現が既に時代がかってますね。PC-9801 用の JPEG ローダとかもあったんですが、とにかく表示がめっちゃ遅い!それだけ JPEG が重いデータフォーマットってこともあるんですが、フルカラーから 16 色に減色処理をしながらってのも遅かった原因かもしれません。と書いたところで思い出したけど、当時のJEPG ローダはフレームバッファを2枚交互に表示して色数を増やしてたような気がする。疑似中間色だったか。なら16 色よりは多いのか。ビット数からすると 64 色だけど、64 色フルにはでないよね。ちなみに減色処理アルゴリズムとしては誤差分散法とかディザー法とかあったんですがご存じですかね(誰に聞いている)。
 そういえば当時 PC-9801 向けにもカノープスなどのサードパーティーからフルカラーフレームバッファが発売されてました。欲しかったけど、ただ CG を閲覧するためだけに高価なボードを買うのは流石に躊躇されたので買いませんでしたけども。

 maki, magは当時仲間内で画像ローダーの開発競争をやっていました。如何に速く表示できるか。当然フルアセンブラで書くわけですが、ただアセンブラで書いただけでそんなに速くなるわけでもない。コアな部分って数十行程度で頭の中に納まりますので、当時は四六時中高速化のことばっかり考えていました。一つ思いついては試し、また一つ思いついては試しということを繰り返して、コンマ何秒の高速化をひたすら繰り返していました。「頭文字D」で拓海父が「思いついたことがあったら夜中でも飛び起きて峠に行って試してみた」って言ってましたけど、そんな感じです。そうやってコンマ数秒を削ることを毎日続けてた。って、別に特別な事でもなんでもなくて、当時のプログラマはみんなそんな感じでしたけどね。

 kty はこれはもう思い入れがありすぎてここには書ききれないので別途同人誌の原稿に書いてるんですけど、それもなんかうまくまとまらない。熱量がありすぎても書けないものですね。
 なんで思い入れがあるかっていうと、kitty って同人DOSの Magical-DOS で標準対応されてたんですね。Magical-DOS というのは N88-BASIC を拡張して特にディスク周りをめっちゃ強化した同人ソフトがあったんですよ。同人ソフトなのでアマチュアの人が開発してたんですけどね。そしてその Magical-DOS の開発者ってのが大学の先輩だったんですよ。kitty のコア開発者が目の前にいるわけですから、そりゃ熱も入るってもんなんですが、だからって私が kitty に対して何が出来たってわけでもなく、ただ単に周りで騒いでただけなんですけどね。
 ちなみに Magical-DOS のコンセプトを元に X1 用に開発された X-DOS というのがあるのですが、これも大学の別の先輩の作でした。更に更に、同じコンセプトで FM-7 用に開発された DOS もあったのですが、これは身内にしか配られず、一般には公開されていなかったと思います。

 ftp サイトってソフトウェアやデータを配布するところなんですが、個人的にはあんまり使ったことはありませんでした。Ring Server Project とかは多少利用しましたが、この書き込みから数年後のことですからねぇ。個人的に主に利用していたのは fj.sources に投稿されたものを利用する方法。ええ、要するに当時の私の環境はインターネットに常時接続してなくて、UUCP 接続だったんですよ。
 常時接続だったとしても、当時は回線が 64Kbps とかだったので、誰かがダウンロードを始めると他の人はしばらくネットが出来なくて迷惑とかそんな時代でしたけれども。なので実際にはテープ回覧とかでソフトウェアが配布されてたりもした。ftp サイトからメール添付で送ってもらう ftp-mail というのもあったけど、これも結局は回線を消費するのであんまり使えなかった記憶。数年後に、雑誌の付録に CD-ROM が付くようになったのは画期的でしたね。
 ちなみに fj.sources というのは fj という巨大掲示板(いろいろ違うけど、大ざばっぱにはそんな感じ)にあった、ソースコード投稿の板のことです。ここでみんな自作のツールとかをソースコードの形で投稿してたんですね。ソースコードそのままだと冗長なので、tar.Z で固めて(tar.gz ではなかった!)、uuencode (説明めんどいのでぐぐって)して投稿されていました。
 fj.sources で思い出しましたけど、当時 mnews というニュースリーダーがバイナリで投稿されて物議をかもしました。作者の意向としては、SunOS など一部で C コンパイラを標準で搭載しなくなる動きがあったため、ソースからコンパイル出来ない環境が増えていくだろうからということでした。しかし、これに対して fj のお偉方が怒った怒った。結局 mnews の作者が折れてソースコードも後に投稿されていました。
 そうやってバイナリ流通は叩かれてたんですが、Linux が人気になって rpm でバイナリパッケージをインストールするのが当たり前になるのって、この頃からわずか数年後なんですよね。結局ソースコードは公開しつつ、流通はバイナリでという形に落ち着きましたね。

BBS書き込みした方による現在のコメント

 KTYフォーマットはPC-8801などの8ビットパソコンのころ、MAKIフォーマットはPC-9801などの16ビットパソコンのころによく使われていた画像フォーマットのようです。BBS書き込みされたころは、これらの画像フォーマットで圧縮された画像があるような雰囲気なのですが、現在は検索してもなかなか見付かりません。検索エンジンの画像検索や、ウェブブラウザ、SNSで標準対応しているような画像フォーマットでないと淘汰されがちのようで、当時の画像がどういったものだったかは、パソコンの名称を動画サイトで検索して、パソコン向けゲームを動画撮影されたものをみるのがわかりやすいようです。使用可能な色数が少ない中、色々な工夫で描かれていたようです。

用語

・KTY
 NECのパソコン PC-8801上で動くMagical-DOSで対応している、640 x 200ピクセル、デジタル8色の画像フォーマットおよびその拡張子。PC-8801のグラフィック表示でのドットは縦長で、横に2ドットならべてほぼ正方形となる。640 x 400ドットの場合の拡張子はKT4。画像フォーマットはkittyとよばれる事も。横4ドット縦2ドットの画像を基本として、同じ画像が縦および横に連続する長方形を同じ画像で塗りつぶすことで画像圧縮している。デジタル8色で画像を作成する場合に、単色ではなく複数色の色を交互に並べて見掛けの色が多くみえるようにしつつ、閉空間をそのパターンで塗りつぶすような描き方の画像が多くあるため、比較的高圧縮。圧縮画像を展開する時の描画の様子が独特な事から、画像読み込みが印象的。動画は展開時の様子がわかりやすいように、実際の半分の速度に設定している。
 KTY: 640 pixel x 200 pixel 3bit (8色)  KT4の場合、200pixelが400pixel

・MAKI、MAG
 PC-9801 で普及したWoody-Rinn (森林林檎)により仕様書が作成、公開された画像フォーマット。
 MAKI: 640 pixel x 200 / 400 pixel 4bit (16色)
 MAG: 640 pixel x 400 pixel 4 / 8bit (16色 / 256色) 解像度は任意

・PIC
 X68000 で普及した画像フォーマット。色変化点の連結に基づいて画像圧縮するフォーマット。画像展開の描画時に色変化点が先に描画され、稲妻が走るような表示になる。
 PIC: 512 pixel x 512 pixel 3 ~ 16bit ( 8色~65536色) 解像度・色数は任意

・Sun
 ワークステーションメーカー、及びワークステーションの製品名。初期はマイクロプロセッサに68000、その後SPARCを搭載した、UNIX ワークステーションを発売している。

・X
 UNIX 環境で代表的なウィンドウシステム。正式名称は X Window System。Windows や macOS では OS とウィンドウシステムは一体化しているが、当時の UNIX ではウィンドウシステムは単なるユーザアプリケーション。そのため様々なウィンドウシステムが使用可能で、Sun 標準は SunView という独自のウィンドウシステムを搭載。当時 X の方が人気で、X をインストールして使っているところも多い。

・root
 UNIX におけるシステム管理者アカウント。もしくは root でログインする権限を持った管理者。管理者のため、該当システムにおけるツール等についても多くの知識を持っていることが多い。

・xgload
  X Window上で動作するKTY、MAKI、MAGフォーマットなど、多数の画像フォーマットに対応した画像表示アプリケーション。X Windowを動かすプロセッサは多種あるため、ソースコードで提供されておりダウンロード後にユーザーがmakeして実行ファイルを作成し、アプリケーションを使用する。
 参照:https://www.vector.co.jp/soft/dl/unix/art/se004440.html

・UUCP接続
 Unix to Unix Copy Protocolの略で、データ転送を行う通信プロトコルの一種。ファイルやメッセージをまとめて通信し、通信している時間を短くつつデータ転送する仕組み。通信料金が従量制のころ、比較的料金の安い夜間に必要なだけ通信する等の用途で使用。バケツリレーのように、データを大学や企業、組織を順番に接続して通信するため、UUCP対応のプロバイダ等が最寄りに見付からない場合は、対応している組織に繋げてもらう必要がある。メールなどの通信量が多くなるとリレーする組織の通信量も伴って多くなるため、管理者が注意を促したり等もあったよう。現在は定額で使い放題の有線ネットワークを誰もが手軽に利用できるため、ほとんど使われていない。

・fj.sources
 ネットニュース上でソースをやり取りしているカテゴリ。UUCP接続時にネットニュースを配信してもらったり、ネットニュースサービスを提供しているプロバイダ経由で読み書きを行うため、繋がりがないと読み書きできないこともあった。現在はGoogleグループでネットニュースを閲覧できる。
 参照:https://groups.google.com/g/fj.sources

 インターネット黎明のころの草の根BBSももりこみつつ、いろんなエピソードをつめこんだ「ちょっと偏ったインターネット老人会へようこそ」を同人誌として頒布します。
参加予定イベント
 11月20日 第七回技術書同人誌博覧会

同人サークル BLACK FTZやってます twitter @black_ftz

この記事が気に入ったらサポートをしてみませんか?