今度はSignetics 2650Aを動かしてみました。
例によってEMILY Boardで動かすことにしました。
CPUの他にシリアル通信用の2651 Programmable Communication Interface(PCI)も搭載します。
まずは動作に最低限必要なデバイスのみを載せて試してみることにします。

CPUは唯一持っている2650Aを載せます。資料によると改良版の2650Bというのもあるようなのですが入手は難しそうです。
クロックは上限の1.25MHzを恒例のSG-8002DCから供給します。
GAL16V8Bはリセットの極性反転・アドレスと制御信号のデコーダを兼ねています。
Name        pld2650;
Partno      GAL16V8B;
Date        2021/11/25;
Revision    0;
Designer    asano;
Company     Electrelic;
Assembly    E_2650;
Location    pld2650;
Device      G16V8;
/* Input */
Pin 1 = !RESIN;
Pin 2 = MIO;    /* 0:I/O, 1:Mem */
Pin 3 = RW;     /* 0:Read, 1:Write */
Pin 4 = OPREQ;
Pin 5 = A12;
Pin 6 = A13;    /* 0:Non-Extended, 1:Extended */
Pin 7 = A14;    /**/
/* Output */
Pin 12 = RESET;
Pin 13 = !MRD;
Pin 14 = !MWR;
Pin 15 = !MEM0CS;
Pin 16 = !MEM1CS;
Pin 17 = !IOCS;
/*  */
RESET = RESIN;
MRD = OPREQ & MIO & !RW;
MWR = OPREQ & MIO &  RW;
MEM0CS = !A12 & !A13 & !A14;    /* 0000H - 0FFFH */
MEM1CS =  A12 & !A13 & !A14;    /* 1000H - 1FFFH */
IOCS = OPREQ & !MIO &  A13;     /* Extended I/O */空きソケットは以下の通りです。
- 28ピンは2651です。
 これ配線してて見覚えのあるピン配置だと思ったら、8251 USARTそっくりなんですね。
- 右側の8ピンはシリアルクロック用のSG-8002DCです。
 2651内蔵のボーレートジェネレータを利用するには5.0688MHzが必要で、これを4分周してCPUクロックにすることも考えたのですが、74393などのカウンタより発振器のほうが小さいこと、若干オーバクロックになること、などを考えて独立させました。
- 左の8ピンはEMILY Boardの設定・プログラム保存用の24C64です。
左端のコネクタにはTTL-232R-5Vを2本接続できるようになっています。片方はもちろん2651ですが、もう一方は2650AのFLAG, SENSEに接続されていて気が向いたらソフトウェアUARTを試せるようにしています。
後から配線しようとするとやりにくいところもあるので2651周りの配線も一緒に済ませています。
この状態で次のような無限ループを実行してみました。
0000 : 1F 00 00    LOOP:   BTCA,UN LOOP以前作ったバス状態をLED表示するボードを見ているとアドレスの下位2ビットとデータの下位5ビットが点灯(正確には点滅しているはず)しています。
これはアドレスH'0000'~H"0002'を繰り返しアクセスしていること、データとしてH'00', H'1F'をリードしていることと矛盾しません。
ループをH'0100'~H'0102'に移動させるとアドレスのビット8も点灯します。
これでCPUが生きているらしいことが確認できました。このCPUは中古品でしかも一つしか持っていないのでまずは一安心です。
まだ2650の命令セットがよくわかっていないのでマニュアルを調べつつ、メモリへの書き込みをまずは確かめるつもりです。メモリの読み書きができればEMILY BoardのUART機能なども使えるのでモニタの移植に進めます。

コメントを追加