このページの本文へ

遠藤諭のプログラミング+日記 第84回

SF映画で穴だらけのテープを読んでいるアレをやりたい

やっぱりカッコいい!! うちのパソコンに「紙テープ装置」がやってきた!

2020年10月04日 18時00分更新

文● 遠藤諭(角川アスキー総合研究所)

  • この記事をはてなブックマークに追加
  • 本文印刷

8単位紙テープに出力した各種8ドッドフォントたち

 コンピューターのプログラムやデータの記録メディアとして「紙テープ」(情報交換用紙テープ)が、かつて使われていたのをご存じだろうか? 1980年頃までは、割と普通に見かけたので「知ってる!」という人も少なくないはず。幅1インチ(約2.5センチ)のテープに1列8個のパンチ穴を連続して記録するものだった。

 これを、紙テープ装置にかけてやるとビーーッと読み込んだり、ガジガジガジとパンチ出力できるのが、なんとも端切れよく気持ちよかった。直径2ミリほどの穴1個が1ビット、1列8個の穴で1バイトという目に見えて、音や手応えもあるのもうれしい。デジタルの語源である「指を折って数える」に近いデータの形ですからね。

 しかも、そのパンチ穴のパターンというのが、暗号のようでもマガマガしい生き物の文様のようでもある感じだ(冒頭の写真ではいちばん上の2本だけがちゃんとしたデータの出力でそれ以下は後述する花文字)。それを、それを延々と吐き出すコンピューターは謎のサイバー生物のように妄想したくなる。よく1960年代あたりのSF映画でこの紙テープの出力を手にとった科学者が「フムフム」とやるシーンがあったけど、アレも、本当にカッコよかった。

 こんなふうに紙テープに憧れてしまうのは、私自身が、紙テープよりほんの少しだけあとの世代だったかもしれない(私より2、3年上の世代は仕事や授業などで使ったという人が多い)。もっとも、アスキーに入社する少し前、1970年代に電電公社(現NTT)が威信をかけて開発した電子交換機「D10」を使うことがあった。これは80欄のパンチカードというやつも使えたのだが、コンソールに紙テープ鑽孔機がくっついていた。それで、パンチ出力しまくっていよいよ紙テープが好きになってしまったのだ(なぜそんな歴史的な機械を使うことになったかについてはあらためて)。

 というなことなのだが、コロナ禍で自宅にいる時間が増えている間にどうしてもこの紙テープ装置を自分のパソコンにつないでみたくなったのである。

 コンピューターのふだんは目に見えないデータを、ビーーッとガジガジガジと手ごたえや機械の振動や音も一緒に読めたり出力してみたい。リモートワークで会社へに行くのが1週間に1度というような何もかもが実体を失うような危うさが、私をそんな気分に駆り立てた。

 そこで、ネットオークションをチェックしはじめたのだが、なかなかお目当ての紙テープ装置の出品がない。工作機械の制御(NC)に使われる工場に設置されるような鉄の塊みたいな機械だったり、「テープの送りは確認しました」とだけあり動作保証がない。どこを調べまくっても技術資料さえみつからない。ちなみに新品でPCにつながる紙テープ装置を調べてみると、78万円というお値段というのがあった。

 それでも、待てば海路のなんとやらというのか、6月になって「NPR-8000」というNECのFC-9801(工業用PC-9801)と色を合わせたような紙テープ装置を手ごろなお値段で入手することができた。

ようやく入手できた紙テープ装置(読取り/鑽孔機)「NPR-8000」。キレイにしてあげれてなくてすいません。

こんな感じで紙テープのロール(270メートル)をセット。左側がテープを鑽孔する部分(肝心のパンチする孔あけ機構は見えないが)

ここは紙テープの読み取りヘッドの部分

本体側面には紙をパンチして出てきた孔の紙屑が正規分布で溜まっていく。使った紙テープの色で縞模様ができている。よく見るとどれも正確な小さな円形なのがカワイイ。

フロントのパネル部分。たぶんNC関係の人は見て分かるのかもしれないが私にはサッパリ。

 このNPR-8000という紙テープ装置、やはり使用説明書はなくメーカー名さえ分からない(株式会社アマダ製とあとで分かるのだが製造年はいまだ分からず)。同じモデルを入手した人のネット記事があってPCに繋いだけどウンともスンとも言わなかったと書いてある。私もPCとはRS-232C(D-SUB 25ピン)をUSBに変換して接続してターミナルソフトから文字を打ったのだが、やはりウンともスンとも言わない状態なのだった。

 しかし、ここで気が付いたのはサッパリ意味がわからないフロントパネルにある「コピー」と記されたボタン。紙テープ装置にはオフラインでもテープをコピーする機能があったのだ。そこで、手持ちの古い紙テープをセットして「コピー」キーを押してみると、なんと軽快にテープをコピーしはじめたではないか!! ちなみに、使った古い紙テープというのは、2016年に日本科学未来館で開催した『GAME ON~ゲームってなんでおもしろい~』で展示したもの。

『GAME ON』で中央通路の展示コーナー(内部名称アクリル博物館)の記録メディアの歴史展示。いちばん手前が紙テープ、その上が主に大型コンピューターで使われたパンチカード、その向うが1/2インチのオープンリールの磁気テープ。

 コピーができても、それでは使い古された紙テープしか出力できないと思われるかもしれない。しかし、その心配は無用。紙テープを実際に使われていた方はご存じのとおり、プログラムをオフラインで修正するための手動パンチの道具があったのだ。私は、コクヨ製(左)とロシア製(右)の2つを所有、テープを適切に切ってつなぐ穴だらけの専用粘着テープはないもののとりあえずオリジナルのテープを作ることはできる。

この日のために用意していたかのような紙テープ修正器。DYMOのようにダイヤル式で1バイトずつパンチできる機械も世の中にはあるのだが、お持ちの方がいたらぜひお知らせいただきたい(要するに欲しい)。

 こうやって手で1ビットずつポチポチとやって、目標の1つだった「花文字」をパンチしてみた。花文字というのは、通常は1バイトずつのデータを2進化して1列ずつパンチしていくのに対して穴のパターン自体が文字になっているもの(冒頭写真で上の2本以外はすべて花文字)。紙テープは、データだけだとラベルのないフロッピーディスクみたいな感じで中身がわからない。そこで、テープの先頭に花文字でファイル名を打ち出しておけばすぐに中身がわかるというわけだ。

 念のため書いておくと、私は「花文字」と呼んでいたけど、もともと花文字とはプリンタ用紙にちょうどマスゲームみたいに文字を並べてそれが全体として文字になっているようなものを呼んでいた。プリンタ用紙の束も1ページ目にデカデカと花文字で印刷されていれば遠くからみてもすぐに中身がわかるしくみ。

 こうやって作った花文字の紙テープをセロテープでループ状にして、コピーキーを押せば、延々と同じパターンをパンチアウトしてくれる。

紙テープ装置にループ状にしたコピー元テープをセットしたところ。

 次の動画がそのようす。

 なんというか産業革命的というか、生産的というか、いかにも命令どおりに一定のことを繰り返す機械的な楽しさがある。

 しかし、これでは私のパソコンと紙テープ装置をつないで自由にデータを入出力するという本来の目的が達せられたわけではない。紙テープ装置をPCにつないでもウンともスンとも言わない以上、ここに大きな壁がたちはだかったままである。

 これには、株式会社オブシープで元祖テクノ手芸部のよしだともふみ氏が、次のようなアイデアをだしてくれた。つまり、コピー機能は動いているんだから、テープの読み取りヘッドにLED列を自作してセットしてやる。テープを読み込んだとき穴があいているかどうかは光が通ったかどうかで見ているらしいので、Raspberry Piでその自作LED列を制御して紙テープが通ったかのように見せかけるというわけだ。コピーボタンだけ配線を引っ張りだして動かすタイミングを調整してやればいい。

 要するに、紙テープ装置のコピー機能は、いわゆるコピー機がスキャンするのをドット8個しかやらないような状態であるわけだ。その読み取り部分が8ドットしかないならそこを捏造してやれば、NPR-8000くんは紙テープを読んでいる気分でテープをコピーしてくれるに違いない。

紙テープ装置のコピー機能を使ってPCからのデータ出力をパンチするしくみ。

 さすが、Raspberry Pi万能主義時代というか、Maker的ハックの世界とういか、無手勝流というか。最初は、紙テープ装置を完全に分解して、穴をあける8個のパンチ機構の1つ1つのソレノイドを制御してやる方法を検討していたのだが、それは大げさな作業になる。私としてもラッキーにも手に入れることができた愛すべきNPR-8000を分解するのは気が引けていた。

 ということで、よしだともふみ氏とタッグを組み(私は電子工作がまるでダメなので)第二フェーズともいうべき紙テープ装置のコンピューターとの接続の計画を進めようとなったのだった。

 紙テープは1ビット、1バイトが目に見えるわけだから記録密度はベラボーに低い。なんとか動きそうなプランが出てきたところでちょっと計算してみると次のような感じであることが分かった。データの量ごとの記録するのに必要な紙テープの長さである。

1バイト:約4ミリメートル
10バイト:約4センチメートル
100バイト:約40センチメートル
1キロバイト:約4メートル
 ※正確には1キロバイト(kbyte)は1024バイトですが。
1メガバイト:約4000メートル
1ギガバイト:約400万メートル

 案外たくさん記録できるような気もするが、やっぱりいまどきの記憶装置とは桁違いに記録できるデータ量は少ない。

 私のスマホにはいま64ギガバイトのマイクロSDカードが入っているが、これを紙テープに出力すると赤道の長さは4000万メートルなので、地球を6回ほど回って先がだいぶヒラヒラしているような状態になる。

 ちなみに、未使用の紙テープは270メートルくらいなので1本の紙テープで67.5キロバイトほど入る計算になる。これは、意外に頼もしい数字でパンチ出力にかかる時間を気にしなければ、私の野望である「いま実際に使っているデータを紙テープで読み書きする」こともある程度できそうである。

 はたして、このあと紙テープ装置をPCにつなぐプロジェクトはどんなことになるのか? このあとの意外な展開とこれのために書いたプログラムについては次回紹介させてもらうことにする。現状どこまで行けているのか? 次の写真と動画でちらりと紹介しておくことにする。なお、バックアップでもう1台ほどNPR-8000または同類の紙テープ装置(鑽孔機)があるとうれしいので、もし譲っていただけそうな機械をお持ちの方はお知らせいただきたい。

キーボードから自由に入力した文字列をさまざまなフォントで出力。漢字は恵梨沙フォント(許諾済み)、英字は『Arcade Game Typography: The Art of Pixel Type』(Toshi Omigari著)を参考にさせていただいた(真ん中のテープがいわゆるアタリフォント)。もちろん本来の使い方であるデータの入出力もできている。

 

遠藤諭(えんどうさとし)

 株式会社角川アスキー総合研究所 主席研究員。プログラマを経て1985年に株式会社アスキー入社。月刊アスキー編集長などを経て、2013年より現職。角川アスキー総研では、スマートフォンとネットの時代の人々のライフスタイルに関して、調査・コンサルティングを行っている。「AMSCLS」(LHAで全面的に使われている)や「親指ぴゅん」(親指シフトキーボードエミュレーター)などフリーソフトウェアの作者でもある。趣味は、カレーと錯視と文具作り。2018、2019年に日本基礎心理学会の「錯視・錯聴コンテスト」で2年連続入賞。著書に、『計算機屋かく戦えり』(アスキー)、『頭のいい人が変えた10の世界 NHK ITホワイトボックス』(共著、講談社)など。

Twitter:@hortense667
Facebook:https://www.facebook.com/satoshi.endo.773

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン