SSブログ

続・5インチフロッピー遺産 [逸話]

5インチフロッピー遺産」で紹介した花王フロッピーディスクに関する記事を「月刊アスキー」90年10月号の記事の中で見つけました。

【ASCII EXPRESS】内の「フデヨシ&カワラの どこでもいくぞ 日本パソコン百景」というコーナーで、花王栃木工場へ見学に行った事が取り上げられています。

2010-01-28 追記 ここから

新たに自社工場を建設したのかと思ってましたが、衛生用品を作っている工場の中に生産ラインがあるように書いてありました。
半導体工場のように、ファブを丸々建設するなんてリスクは取ってなかったんですね。

2010-01-28 追記 ここまで



フロッピーの製造工程は記事によると、練り上げた磁性体をロール状のフィルムに塗り一晩寝かせ、その後型抜きしたものを磨き上げ、ジャケットに封入して完成だそうです。
記事の中でも取り上げられていますが、「一晩寝かす」というパン生地のような工程が織り込まれている事は驚きです。 時間を掛ける事で、磁性体をフィルムに塗布する工程で使用するバインダー(磁性体をフィルムに定着させるための接着剤)が「落ち着く」のを待つということなのでしょうか。
また、磁性体にヘッド研磨剤を混ぜているという記述もあり、20数年前に友人と交わしたジョーク「(花王ブランドだから)ドライブに(フロッピーを)入れて回したら、泡が出るんじゃない?」も、あながち間違いではなかったか…と、変なところで納得(笑)




『フロッピー作りのどこに花王の技術が活かされているのか』という疑問に対しての答えもあったので要約しておきます。

「磁性体は磁石になりやすい性質があり、液状なら尚更『固まり』になりやすい。そのため、そのまま塗ろうとすればムラができてしまう。 花王は界面科学によって磁性体を均等に塗ることを実現している。」

「磁性体の表面に高分子量分散剤を科学的に反応/定着させ、ムラのない磁性剤をフロッピーの上に作り出している。」

前の記事のコメント欄に「花王の FD には得意分野の界面活性剤技術が…」と書いたのは、この記事を読んだ記憶が頭の片隅に刷り込まれていたのでしょうかね。 全然記憶には残ってませんでした。



倉庫番 Select 30」で 牛鳥庵。さんから頂いた『花王がどうしてフロッピーを売ったのか、それは社史からみても謎なんですが。』という疑問に対しても言及がありました。

「界面科学の応用先を探していたら、たまたまフロッピーにぶつかった」

うーん、「プロジェクト X」的なドラマチックな展開だったら面白かったんですが、偶然の産物だったんですね。

残念なのは、「DAT用テープ、光磁気ディスクの研究も進んでいる」という目標が達成されなかった事です。
まさか、工場の研究所内で今でも、ずーっと研究は進んでいて、突如「花王が Blu-ray ディスクのメディアを発売」なんてニュースが流れてくる、なんてことは無いか…(笑)

フォントへのこだわり 【問題解決済】 [逸話]

2009/11/09 追記
2009/11/21 記述の間違いを訂正

今でこそフォントを表示するのにビットマップが使えるので複数のフォントを大きさを変えて表示できますが、レトロPCではキャラクタROMに内蔵されたフォントデータをキャラクタジェネレータが読み出して表示していたので、フォントの種類も大きさも一つだけというのが当たり前でした。
中にはフォントROMを複数個持っていて切換えができる機種や、データの変更が可能なPCG(プログラマブル・キャラクタ・ジェネレータ)を装備している機種もありましたが…。




テキストV-RAMに文字を表示する時は、V-RAM領域に表示したい文字のコードを書き込めば、後はキャラクタ・ジェネレータとCRTCが仕事をしてくれるので表示に手間が掛かることはありません。
ですが、これではシステムで用意されたフォント以外のものを表示することはできません。
PCGを持たない機種で用意されているフォント以外を表示させたい場合は、あらかじめ用意しておいたフォントデータをグラフィックV-RAMに表示させる必要があります。
これは現行のOSが採用しているビットマップ方式のフォント表示と原理的には同じです。

Muse Software から発売された Apple II 用のワープロソフト「Super-Text」が、斜体やボールド体のフォントを表示するために独自のフォントを使用していた事に因んで、雑誌 ASCII に掲載されたアップル用のBASIC拡張ソフトに因んで、この手法は「Super-Text」と呼ばれていました。

2009/11/21 記述の間違いを訂正
過去の亡霊さん、間違いのご指摘ありがとうございます。



ちょっと横道にそれてしまうのですが、ネット上には情報が少ないので TL/1 に関する話を…。

TL/1 は GAME と同じく大西博氏によって作られた言語で、Algol-Pascal 系の1パスコンパイラです。
月刊ASCII 誌上で発表され、様々な機種に移植されました。
変数は全て1バイトサイズなので255以上の数値を扱うにはテクニックが要ります。
コンパイルは高速で、生成されたコードはランタイムルーチン無しで実行できます。

KCB では PC-8801 のゲームを開発するための言語として、PC-8001 用の TL/1-PC を独自拡張して PC-DOS とグラフィック機能を扱えるようにした「TL/1-88G」を使用していました。
GAME 言語も使用していましたが、その話はまた別の機会に…。

TL/1-88G StartUp (PC-8801)(1983)(KCB)
TL/1-88G - StartUp (PC-8801)(1983)(KCB)

TL/1-88G - Text sample
TL/1-88G - text sample

この(↑)画像は下で紹介する PC-8801 用キャラクタエディタのソースコードの一部です。
オリジナルの TL/1-PC と違い、BASIC の REM 文を使用しない方法でテキストが書かれています。




ゲームの中で使用されるフォントやキャラクタの制作用には、それぞれの機種用にキャラクタエディタが用意されているのですが、今回は TL/1-88G で作られた PC-8801 用のキャラクタエディタを使用してフォントを紹介します。

Font #1

Font #2

Font #3

Font #4




ASCII コードのフォント領域以外にキャラクタを定義すると、キャラクタを表示させることもできます。

Font: Wonderなんとか
とある没ゲームのフォントとキャラクタ

Font: XEVIなんとか
ゼビフォントとナムコキャラクタ




京都・寺町の電気店街を南に抜け、河原町通りと交わる辺りに一軒の画材店がありました。(今でもあるはず)
フォントのカタログやインレタを買うために、よく通ったものです。

今から思えば、高校/大学生位の年齢のがゾロゾロとやって来てインレタを物色する様子は、さぞ異様な光景だったでしょうね(笑)

Letraset - Instant Lettering: COUNTDOWN
Letraset - Instant Lettering: COUNTDOWN

KCB の中でも K 氏は特にフォントへのこだわりが強く、レトラセットの新作フォントが発売されると、キャラクタエディタを使って気に入ったフォントをデジタル化していました。

K 氏のこだわりが最も強く現れているのが「LOGIN」誌上で発表された「Zalbar 2784」。

Zalbar 2784 (MSX)(1985)(ASCII)
Zalbar 2784 (MSX)(1985)(ASCII)

「Motter Ombra」というフォントが使用されています。




当時のプラットフォーム型のゲームは、キャラクタエディタで作成したフォントとキャラクタを「Super-Text」で表示させ、TL/1 や GAME 言語でゲームのロジックを組み、表示をコントロールすることで成り立っていました。



…と、ここまで書いて肝心な事を覚えていないのに気付きました^^;

TL/1 でテキスト画面をクリアしてテキストを表示するには、

write(0:ascii(12),"Kyoto Computer Brains")

…と書けばいいのですが、
「Super-Text」でグラフィック画面にフォントで表示する場合は、

write(1:"Zalbar 2784")

…でよかったかなぁ?

PC-DOS へコマンドを送る時は、

write(9:"load,color pattern",crlf)

…と書けばOKなのは覚えているんですがね。


「TL/1 でテキストを編集して確認するか…」

「あれっ、TL/1-88G でソースコードの編集ってどうするんだっけ?(汗)」


オリジナルの TL/1-PC だと BASIC の REM 文だったので、BASIC のスクリーンエディタで編集すればいいのですが、独自拡張されているため TL/1 関係の資料が役に立たないという状況に陥ってます(苦笑)。
ソースコードを編集して確認できないので、肝心の「Super-Text」表示が曖昧な記述になってしまいました^^;

お~い、覚えてたら教えてくれ~ >元KCBメンバー


20数年の月日は無常にも記憶を奪って行きました。
ちゃんと分かり次第、きちんと書き直します…スミマセン <m(_^_)m>


2009/11/09 追記ここから


ソースコードが編集できなくて困ってた件は、単なるシステムの破損でした^^;

別のシステムで起動して、

write(1:"Zalbar 2784")

…と書けば、ちゃんとグラフィック画面に「Super-Text」で描画されました。


TL/1 super-text test
TL/1 super-text test

ソースコード中の write(1:"~") は、Super-Text へ、write(9:"~") は PC-DOS への出力となっています。
サンプルのコード中には記述がありませんが、テキスト画面への出力には write(0:"~") と書けばOKです。

2009/11/09 追記ここまで

PC-8001用DOS [逸話]

1979 年に PC-8001 が発売された当時は、ディスクドライブは内蔵型ではなく、本体価格 ¥168,000 に対して、「デュアル片面倍密ミニディスクユニット(PC-8031)」は ¥310,000 と、本体よりも 1D のドライブを2台内蔵したディスクユニットの方が高価な時代でした。

初期の PC-8001 にはメモリが 16KiB しか搭載されてなく、Disk-BASIC を起動するためには「増設メモリパック(PC-8005 ¥24,500)」の増設と「PC-8031 用 I/O ポート(PC-8033 ¥17,000)」 「Disk-BASIC(PC-8034 ¥5,000)」が必要でした。
¥ 500,000 を超える額を投資して、やっと Disk-BASIC が使えるようになったのです。




PC-8001 シリーズ用の 5″ミニディスクユニットは「インテリジェント型」です。
インテリジェント型のディスクユニットとは、 CPU が直接 FDC にアクセスしてデータを転送する「ノンインテリジェント型」に対して、CPU / ROM / RAM を内蔵しパソコン本体とハンドシェイクすることでデータを転送しているタイプを指します。
CPU は 本体である PC-8001 と同じ Z80。 ROM 容量は 2 KiB で、FDC 制御や本体とのハンドシェイク等、基本動作の為のルーチンが用意されています(今で言う ファームウェア ですね)。
RAM 容量は 16 KiB で、読み込み/書き出し用バッファ、ワークエリアとして使用されます。

ディスクの読み書きは、本体側からトラック#/セクタ#/セクタ数を指定したコマンドストリームを送るだけで済みますが、どのような OS にも対応できるよう、特定の OS 用のサポートルーチンはありません。
そのため Disk-BASIC では、本体側のメインメモリにサポートルーチンとコマンド解析ルーチンを配置する形になっています。
しかし、これは殆どの処理を本体側のメインメモリで行うことになるため、ROM BASIC 時のフリーエリアサイズが 26 KB なのに対して、20 KB (How many files(0-15)? で 0 を指定した場合)と、6 KB ほど少なくなります。




Disk-BASIC を使用することでカセットテープよりも信頼性が格段に増し、読み書きに費やされる時間が大幅に減少しました。
ひとつ面倒なことに、ディスクに対して読み書きをする場合は、まず「MOUNT」命令を実行して FAT をメモリに読み込んでおく必要があります。 また、読み書きが終わってユニットからディスクを抜く前には「REMOVE」命令で FAT をメモリからディスクに書き戻しておかなければなりません。

ディスクに書き込みを行った時に「REMOVE」を忘れて電源を切ってしまったりすると、FAT とディスクの内容との整合性が失われ、セーブしたはずのプログラムが見当たらないとか、ファイルに追加したはずのデータがなくなっていたりと、悲惨な事が起きてしまいます。
また、プログラム/データを書き込んだディスクと違うディスクに差し替えて「REMOVE」を行うと、両方のディスクのプログラム/データと FAT の整合性が失われ、二重の悲劇に見舞われます。




Disk-BASIC から CP/M に鞍替えしようとすると、PC-8001 本体にはメモリが最大 32KiB までしか搭載できないため、I/Oユニット(PC-8012 ¥84,000)と32K RAMボード(PC-8012-02 ¥43,000)を増設してメモリを増やさないといけません。
CP/M を動作させるためには、さらに ¥130,000 近い投資が必要となります。




大枚をはたいて使えるようになった Disk-BASIC の、あまりの使い勝手の悪さに、嫌気が差している人物がいました。(以降では T 氏と呼びます。)
しかし、前述のように CP/M の導入には多額の追加投資が必要となります。

「ディスクユニット内の RAM は 16 KiB もあり、読み書き用のバッファとしては丸々全部を使用していない。」
「Disk-BASIC では、サポートルーチンが本体側のメインメモリに配置されているが、ディスクユニット内のユーザーエリアとして確保されている領域にサポートルーチンを置けば本体内のフリーエリアを殆ど使用しないで DOS が作れるのではないか。」

T 氏は発売されたばかりの「マシン語活用ハンドブック(秀和システムトレーディング)」を読んでそう考え、PC-8001 用の DOS を自作しようと決意しました。




ディスクユニットには CPU/ROM/RAM が内蔵されてはいるものの、キーボードやディスプレイが接続できる訳はなく、マシン語モニタが準備されている訳でもないので、メモリ内のデータを読み出すだけでも大層な手間が掛かります。
デバッガなんてもちろん使えません。
T 氏は、ディスクユニット内の ROM に収められているファームウェアを解析するために、ROM をダンプするプログラムを作成することから始めました。




幸いなことにファームウェアには、本体側から簡単なコマンドストリームを送ることでディスクユニット内のユ-ザーエリアにプログラムをロードする機能/デバグ用のブレークポイントを設定できる機能/レジスタの内容を読取・設定する機能が、用意されていました。

作成したプログラムをユーザーエリアにロードし、ブレークポイントを設定して実行する。
ブレークポイントで停止するとレジスタの内容を読み取り、意図したとおりに実行されているかどうかを、本体側メモリにデータを転送して確認する。
本体側からひとつひとつコマンドを送り、この作業を延々と繰り返すのです。
もし、意図しない動作をして本体側から送るコマンドに反応しなくなると、リセットするしか手がなくなってしまうのですが、そうするとワークエリア等は初期化されてしまうため、エラーを突き止めるための手掛かりがなくなってしまうことになります。
なんともディスクユニット内プログラムのデバグは容易ではありません。




月日は流れ、様々な苦労の末、T 氏の DOS は完成しました。


T 氏の DOS の仕様
  • ファイル管理はセクタ単位で行い、無駄なセクタを発生させない
  • 「MOUNT」や「REMOVE」を必要としない
  • バイナリデータのセーブ/ロードが可能
  • Disk-BASIC の 6+3、CP/M の 8+3 より長い、29 文字までファイル名を命名可能
  • オートスタートにより、起動時に自動実行可能
  • フリーエリアを消費しない
  • CP/M や UNIX のように外部コマンドが作成可能



この DOS では Disk-BASIC のように「MOUNT」や「REMOVE」は必要ありませんし、CP/M のようにファイル名が 8+3 文字に制限されることもありません。
後に N80 Disk-BASIC で実装されるバイナリデータのセーブ/ロード機能も実装されていました。
ファイルのコピーやフォーマット等の機能は、外部コマンドとしてディスクサブシステム内で実行されるため、Disk-BASIC のディスクユーティリティを使用する場合のように本体のフリーエリアを消費しません。 これは、プログラムを作り、いざセーブとなった時に、ディスクの空き容量が足りなかった場合には、大変役立つ機能です。
当初は 「load」や「save」等の DOS コマンドを実行するには、BASIC モードから DOS モードに移る必要がありましたが、後には BASIC コマンドが拡張され、BASIC からも 「LOAD」や「SAVE」ができるようになりました。




開発された当時は、まだ 2D ドライブが発売されたばかりで、1D のフロッピーも多かったこともあり、この DOS の構造も起動も大変トリッキーです。
1D ドライブのシステムで起動されると 1D モードの、2D ドライブのシステムで起動されると 2D モードの、サブシステム用プログラムがディスクから読み込まれます。
また、1D ⇔ 2D 間のファイル転送を容易にするため、おもて面を使い切ってから裏面が使用されます。
Disk-BASIC のディスクのようにファイルの記録に表裏を交互に使用すると、1D のドライブでは読み出すことができませんが、この DOS ではおもて面の34トラックまでにセーブしてあるファイルならば読み出すことができます。




この DOS には、作者の T 氏の手によって専用にカスタマイズされた TL/1-PC や GAME 言語、DUAD-PC 等が動作するようになり、ゲーム制作環境が整って行きました。
音源モジュール CMU-800 が発売されると、テープ版のエディタ/演奏プログラムをカスタマイズして動作させるようなことも行われました。 大概の店頭では CMU-800 はただ飾ってあるだけのことが多かったのですが、京都・寺町電気店街の一部店舗ではこの DOS を使用して常時音楽が流されていました。

CMU-800:MIDI が登場するより前に、アムデック(現 ローランド ディージー)から発売されていた音源モジュール。




PC-8801 が発売された後も DOS は進化を続けました。
PC-8801 専用に独自にカスタマイズした TL/1(TL/1-88G) や GAME 言語等が動作するようになり、フォント/パターンエディタやグラフィックエディタ等の PC-8801 で拡張された機能にも対応して、ゲーム制作環境が整って行きました。




一時期、大阪・日本橋の電気店街にあふれかえっていた「アニメ美少女グラフィック」の店頭デモは、殆どが FM-8 / 7 用でしたが、PC-8801 用の店頭デモも少数ですが存在します。
グラフィックデータで共通のC.P.U.フォーマットを使用していたため、グラフィック画面サイズと色数が同じ PC-8801 と FM-8 / 7 との間でファイルを転送すれば、どちらでも表示が可能でした。

そういう訳で、デモ画像の中には PC-8801 用の KCB 製「グラフィックエディタ88」で描かれたモノもたくさんあります。 このグラフィックエディタも DOS 上で動作しています。

余談になりますが、この頃は、店頭デモや KCB メンバーのディスクが、DOS 自体や「アニメ美少女グラフィック」目当てに盗難に遭う事も度々ありました。 あるメンバーは、ディスクケースを丸々一個、「置引き」されてしまったそうです。




DOS で開発環境が整って以降、KCB では「メタファイト」「クラッシャージョウ・シミュレーション」「LEX ARBIT」「ZALBAR 2784」と、ログイン誌上で立て続けにゲームを発表していきます。

ちなみに、「メタファイト」と「ZALBAR 2784」は K 氏、「クラッシャージョウ・シミュレーション」は I 氏、「LEX ARBIT」は S 氏の作品です。

PC-DOS と名づけられたこの DOS の開発者の T 氏は、ゲーム作者として名を残すことはありませんでしたが、ゲーム開発の陰では PC-DOS と、そこに構築された開発ツール群が大きな役割を果たしています。

そして、一番驚くべき事実は、PC-DOS を開発した当時、T 氏はまだ高校生だったということです。

PC-DOS V3.1 起動画面
PC-DOS V3.1 起動画面

異世界のサラリーマン [逸話]

パソコンがまだマイコンと呼ばれていた頃の話である。

1970年代の終わり頃、8ビットパソコンが各社から発売され、とうとう情報化社会の到来かと巷で騒がれ始めた。
まもなくカセットテープに記録されたゲームや実用プログラムが販売されるようになるのだが、パソコンを活用しようとすると、プログラム言語をを覚えて1から組み上げるか、雑誌に掲載されているものを打ち込んで実行してみる以外に方法がなかったのである。
プログラミングに慣れてくれば、実用的なプログラム(まだアプリケーションと呼べるような段階ではない)を組み上げることも可能だが、パソコン自体の性能も速度も満足のいくものではなく、現在のように一般ユーザーが気軽に使えるほどではなかった。

しかし、パソコンメーカーは他社よりも性能の良い物を安く提供することでユーザーの支持を得ようと競争を始めていたし、街の電気店は時流に乗ろうとパソコンコーナーを新設し、電気店街ではパソコンショップが雨後の筍の様に誕生していた。


インターネットもパソコン通信もなかった時代である。
情報源となるパソコン雑誌も数誌発行されてはいたが、有用なプログラム自体が絶対的に不足していたため、パソコンを使う人達は暇を見ては店舗を訪れ、雑誌に掲載されたモノや自作のモノを交換し合っていた。
また、店舗はメーカーからもたらされる情報の収集や他のユーザーとの情報交換の場であり、プログラムを自作しようとするユーザーにとっては欠かすことのできない場所でもあったのだ。


1981年の夏、平日の午後…。
とある電気店に40代くらいのサラリーマン風の男性がやってきた。
くわえタバコのまま2Fのパソコンコーナーへやってきたその男性は、階段を上りきったところで立ち止まり、周りをきょろきょろと見回したあと、何かに驚いたかのように呆然と立っていた。

男性の正面には、当時発売されたばかりの FM-8。
その横には、ディスクユニットを従えた PC-8001。
BASIC MASTER LEVEL 3、 MZ-80B、VIC1001等々。

文字ばかりが映し出されたブラウン管と、その前に置かれたタイプライタの出来損ないのような機械が、壁際の陳列台の上にずらりと並べられている光景は、男性の目には、さぞ異様なものとして映っていたに違いない。

ふと我に返った男性はタバコを持ったままだったことに気づき、また辺りを見回し、 FM-8 へと近づいて何かをしたあと、そそくさと階段を下りていってしまった。


PC-8801 よりも早く 640×200 ドット8色のグラフィックを搭載し、ポータブルメモリの魁とも言えるバブルメモリスロットを備えた FM-8。

半透明の蓋を開けると、バブルメモリスロットはサラリーマン風の男性によって灰皿と化していたのである。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。