2013年3月29日増補 CPLDP-8

CPLDP-8

ソフトウェア 使い方編

omiokone


8K BASICを例にPCからCPLDP-8へのプログラムのロードと実行方法を解説する。必要なソフトは配布パッケージに収録されている。


PCとの接続

両端に9pin D-subメスのついた2-3 4-6 7-8ピンがクロス接続のシリアルケーブル(Windowsインターリンク用と称して売られている)でPCのCOMポート(COM1などどれでもよい)に接続する。クロスケーブルには接続の異なるものもあるので、入手の際よく確認する。

BASICのロード

端末ソフトterminを起動(同梱のマニュアル参照)し、CPLDP-8をリセットしておく。terminの[Send]-[Raw File]メニューでbasic.ssbを選んで転送する。転送中はCPLDP-8のrbusyランプが点燈する。5秒ほどで転送が終わるとterminにREADY.が表示されてBASICの入力待ちになる。PRINT 1+2[Enter]と入力し下の表示が出れば成功。
READY.

PRINT 1+2
 3


PDP-8にロードされる紙テープには以下の形式がある。いずれもロード後、手動でスタートアドレスをセットして再起動するが、コンソールを持たないCPLDP-8では自動起動するよう改造する。

RIM(Read In Mode)

RIMフォーマットは下の例のように各ワードにアドレス情報のついた4バイト単位で構成される。
データ(2進)解説
01111110アドレス上位76(8進)(下6itが有効)
MSBの次のビットが1は、これがアドレス上位であることを示す。
00101100アドレス下位54(8進)(下6itが有効)
00011010データ(ワード)上位32(8進)(下6itが有効)
00001000データ(ワード)下位10(8進)(下6itが有効)
(注)MSBが1のデータは無視される(紙テープの端のリーダー部分に使用)。
CPLDP-8では最後にアドレス7777(8進)に書き込まれたデータをスタートアドレスとして起動するようブートローダを組んである。例としてスタートアドレスが0200(8進)の場合、7F 3F 02 00 (16進)の4バイトをバイナリエディタで付加すればよい。配布パッケージではこの形式のものに .ris (Read In and Start)の拡張子がついている。

binary

RIMは1ワードごとにアドレス情報がつくので効率が悪く、また複数フィールド(4Kワード超)のロードができない。binary形式では連続領域は最初のアドレスのみ指定すればよい。すなわち アドレス、ワード、ワード・・・ となる。また32Kワード中のどの4Kワードかを示すフィールド指定がある。
データ(2進)フィールド値データ(2進)フィールド値
110000000111000004
110010001111010005
110100002111100006
110110003111110007
(注)フィールド指定省略時のデフォルトは0
PDP-8では通常RIMローダを手動でメモリに書き込み、RIM形式のバイナリローダを読み込んで、これを使って目的のバイナリテープを読み込む。CPLDP-8ではブートローダから起動できるバイナリローダをパッケージの\soft\utilityに収録してある。これは目的のバイナリ読み込み後、最後に指定されたフィールドとアドレスから自動で実行開始するよう改造してある。またバイナリローダと目的のバイナリを一体化してブートローダに送るだけで起動まで行うようにしたファイルには .ssb (Self Start Binary)の拡張子がついている。


付録 model33テレタイプとPCのキー対応表

テレタイプのキーコード(16進)PCのキー
LINE FEED0ACtrl J
RETURN0DENTER
ALT MODE1BESC
5E^
5F_ (下線)
RUBOUT7FDEL
REPT 押下げた状態で文字キーを押すと、その文字を連続して打つオートリピート。
BREAK 送信ラインをスペース(0)の連続状態にする。通信用でPDP-8では使わない。
HERE IS 内蔵ドラムに設定した20文字を自動送出する。通信でIDを送るのが主な用途。

キー刻印はPDP-8付属のもの。販売された国や時期、OEM先により異なる。33型は活字ホイールが交換可能で、中古品ではキー刻印と印字が異なることもある。
文字は8bitで送信され、PDP-8用はマークパリティ(MSBが常に1)に内部設定されているので、実際のコードは80を加えたもの。

紙テープをパンチする時に打ち間違えると、パンチャのbackspaceボタンを押してテープを1字分戻し、RUBOUTで全ビットに孔をあけた。全さん孔文字は読み飛ばす規則なので、これで1文字抹消になる。FOCALのオンライン文字入力ではRUBOUTで1文字取り消しだが、これはソフトの処理なので他のソフトでは異なる。バックスペース"キー"は33型には存在しない。印字を1文字戻す機能はなく、コード08はCTRL Hで送信できるが受信しても何も起こらない。

CASIO A-55V
カシオA-55Vとの接続。