インターフェース考

昔話

  • 昔はPCと電子工作の作品をどうやって接続していたのだろう?(遠い目)

TK-80時代

  • 自分はインテル嫌いな性格*1 *2のため、ナショセミのSC/MPを使っていた。
  • COMBO-CHIPのRAM 128バイトが全宇宙くらいの広さだった。*3 *4
  • 1バイトを書き込むためにはスライドスイッチ8個をビットパターンに合わせた後、WriteEnableスイッチを上げ下げしていた。何故か全部スライドスイッチ。@20円(当時秋月は信越という名前だった!??かな)。
  • これ即ち、(PC==電子工作)の等式が成り立つ以外の何者でもなかったが、残念ながらPCという名称ではなく、ワンボード・マイコンと呼ばれていた。
  • 命令語は種類が少なかったので16進の命令語で全部覚えていたし、相対アドレス(しか、ない)も暗算出来ていた。なんと頭の悪いガキだったのだか。
  • アセンブラ使わないのかよ。バカじゃねえの?>いや、そんな高級言語、なかったんですけど・・・*5 *6

PC8801の頃

  • 拡張基板のスロットがあった。
  • そこに8255を載せて、Z80からOUT命令でポートを制御していた。
  • X1、X68K、MZでも同様だ。
    • まだX1とMZ用の新品ユニバーサル拡張基板を持っている。

この時代はPCと電子工作の垣根はなく、必要とあらばメインボードを改造したりグラボ(PCGとかもね)を作ったりしていた。

  • 自分はMZ2000に共有RAMポートを付けて自作X68000*7 *8ボードと通信できるような仕組みを作っていた。
  • 自作X68000のほうはDRAMが128kBだけ乗っている単純なやつなのでキーボード、モニタ、FDDがない。
  • そこで、共有RAM(1kB程度のやつ)を介してデータハンドシェイクを行うことでMZ2000のリソースを借りてCP/M−68KというOSを動かしていた。

ファミコン、PC−E

  • 売られているゲームカセットを改造して自作ROM(これもモニターROMで、起動時画像を入れたりして楽しんだ)を載せたり、後ろの拡張バスにつなぐROM/RAMボードを作って遊んでいた。(これは少数派だろうけれど)
  • 現代のNDSハックに比べるとはるかに幼稚で簡単なものだった。

互換機になってからは?

  • 一通りパラレルポート遊びとISAボードに8255を載せてXXXというのは、やった。
  • 互換機の走りの時代だったため、全て台湾製輸入パーツで構成していた。
  • 電源が粗悪品だったため、グランドラインそのものにノイズが載る載る・・・困っていた。

で、今は?

  • ご存知のように、パラレルとシリアルが風前の灯火で消滅。
  • ISAバスが無くなって久しい。今はVL−BUSだっけ?(ボケてみる)
  • PCI-EXPRESS?それどうやってインターフェースするの?もう自作ッカーには無理無理。
  • 選択肢はもう残っていない。
    • PCI基板を起こすのは大変だし。
    • シリパラは消滅。
    • PS/2も消滅。
    • 残っている外部端子はUSBかiLink(これも少数派)

あれ?USBしか残ってないんじゃあ?





*1 これも誤解を招きそうだ。実はintel社が嫌いだったのではなく、i8080チップの電源系統が+5Vのほかに+12V、−5Vを要求していて、それらを同時にONしないといけないという作りが嫌いだったのだ。i8080の命令セットに関してはM6800に比べ美しくないという定評こそあるものの、当時としては実用的な部類だ。
*2 M6800の命令セットアーキテクチャの欠点はインデクスレジスタが1本しかなかったことだ。せめて3本くらい用意されていれば・・・。それに対してMCS6502はゼロページ内のペアバイトをポインタとして使えたり、ABS、X形式のメモリー参照が出来ることで非常にコード効率が良かった。Xは8ビットだがかえってそのほうが効率的なくらいだった。
*3 おまけに、電源を切ると全宇宙が消滅していた。電源は、単三電池4本だ
*4 128バイトって、バカにするなよー。i1101という1024ビットDRAMをインテルが世界初に世に出したときは、もう一生分の仕事を終えたと述懐したほどの偉業だったのだから。それ以前のメモリーといえば磁気コアという1ミリ径くらいのビーズみたいな磁石が1ビットだったんだから。
*5 あったとしても処理系が128バイトに入らないよ〜
*6 あーそうそう、ミニコン等でクロスアセンブルね。まあ高校にはミニコンすらなかったし、コンピュータというとアナログコンピュータ(OPアンプの奴ね)を指す時代だったし電卓ではなくて計算尺が幅を利かせていたし、自分も(四則だけの)電卓ではLogとSin,Cosを求めることは不可能だから計算尺は安泰だと考えていた時代だった。そのまえにどうやってミニコンの出力(紙テープ???)をスライドスイッチに移すんだろー
*7 M68000の間違いじゃないかって?いや、実はMotorola(だったとおもう。不確か)のM68000のプロトがX68000だった。SHARPのパソコンとはまったく無関係だ。え?何でX68000を持っていたか?それは謎だ
*8 あとでよく思い出したらXC68000だ