海外Q&Aサイトの「今まで書いた中で一番面白いコードは?」という質問から、回答をご紹介。


■回答者
1980年頃、ラジオシャック(※アメリカの家電チェーン)のカラーコンピュータが出た時、チェスとチェッカーのカートリッジのコードを書いた。仕事はモトローラの開発プラットフォーム上で、生産用基盤の実際のカスタムチップのワイヤラッピングされた巨大なプロトタイプを使って行った。

参考:
「タンディは、コモドールやアップルと並び、1977年にキットの代わりに半完成品のマイクロコンピュータを発売したことによりパーソナルコンピュータ革命を始めた会社のひとつである。タンディは、TRS-80 (1977年) やTRS-80 Color Computer (通称"CoCo"。1980年)などの家庭用コンピュータを世に出すことでその革命の担い手となった。IBM PCの普及前でPC専門店が少なくラジオシャックで販売されていた当時に人気があった。」
タンディ・コーポレーション - Wikipedia

コードの初めの方に、自分の名前入りの著作権のメッセージを入れて、プログラムのロード中に表示されるようにした。そしてこのメッセージを表示するソースコードの行の脇のコメントには:「このメッセージを変更するとプログラムは不正な動作をするようになる」。

コードは出荷され、数十万本のカートリッジに焼かれた。全ては順調だった。

main-qimg-6a9781aad68b35ce27e47996fe6b6fca-c

ラジオシャックのエンジニアリング部門のバイスプレジデントから電話があったのはその数年後だ。彼らはプログラムに変更を加えるために数バイトが必要だったが、カートリッジの限られたメモリには1バイトも残されていなかった。著作権のメッセージを変更して数バイトを節約すればよかったのだが、それによってゲームが正しく動かなくなるのではないかと恐れていた。エンジニアのチームはプログラムのどこでこのメッセージをチェックしているのか理解しようと1週間頑張って、見つけられなかったらしい。実際にゲームをプレイしてみても、変更による不具合は見つけられなかった。助けてもらえないだろうか? 著作権のメッセージを短くしたら気に障るだろうか?

彼らはもっと早く電話するべきだった。警告のメッセージとは裏腹に、そのメッセージの変更をチェックするコードなど存在しなかったのだ。

ただのセキュリティシアター(※見せかけのセキュリティ)だったんだ。

例のメッセージへのポインタを探してあのアセンブリ言語を全部舐めて行ったのを想像して、にやにやさせられたよ。


↑コメント1
あのカートリッジを書いたって?!?! あんたが!!

よく覚えてるよ!!! 大学を転校して近所のラジオシャックでアシスタントマネージャーをやっていたんだ。その仕事はそれほど長く続けなかったけど、店でデモに使ってたからあのカートリッジは覚えてる。

てことは同年代だな笑・・・


↑コメント2
笑った。僕も当時、「猛犬注意」の標識(犬なしの)を作ったよ。


↑コメント3
OS-9の動くCoCo! マイクロウェアで長年働いてたんだ。OS-9にはイースターエッグもいくつか隠されてたな!

参考:
「TRS-80 Color Computer (CoCo) はMC6809を使った、明確にホーム市場を志向したマシンである。コモドール64や Apple II、Atari 8ビット・コンピュータと直接競合した。OSとしてはOS-9が動作した。」
TRS-80 - Wikipedia



翻訳元:Quora



関連記事:
外国人「ソースコードのコメントで今までに見た最高傑作は?」
外国人「暇な学生だけどゲームばっかやっててダメだと思うのでプログラミングの勉強をしたい」




ARMで学ぶ アセンブリ言語入門



スポンサーリンク