T805
シリアルコントローラへのアクセスはしているのに正常動作しない・・となると2枚目のトラブルと似通っているともいえます。バスバッファ間とデータバス接続を1本づつ導通当たってみるしかありません。 で基板裏返してみたら・・・ ひょぇー まさかの事実が…
3枚目のT805ボードに残り部品を実装して完成させました。トランスピュータ本体IMST805、シリアルコントローラSCN2681はそのまま挿入、CPLD:EPM7064にはロジックを書き込み、ROM4個は既に動作確認されている2枚目のボードから取り急ぎ借りてきています。 …
T805ボード3枚目もプリント基板への実装品は完了。一部ICも挿入したところです、トランスピュータが刺さるPGAソケットは改造品で1行1列が空いていることがわかります それ以外はいつもの通りの部品ですが、RESETボタンの色はその時の気分でいろいろ変わっ…
ebayに注文していた32pinPLCCソケットが到着しました。今回注文から18日かかりましたが最初の1週間で成田の通関まで来たところで追跡が途絶えてしまい心配しましたが何とか無事。 以前別の業者に注文した時、表面実装タイプのものが来てしまったことがあり…
トランスピュータボードの部品実装はここまで進みました 御本尊のIMST805が刺さる10×10PGAソケットは11×11ソケットを改造。1行1列分のコンタクトを抜いて再配置圧入しています。ピンを抜いた辺は切り落としてもいいのですが周囲部品に干渉しなかったのでその…
3枚目のトランスピュータボードはチップCR類の実装がすべて終わってICソケット類を付け始めたのですがここで32ピンPLCCソケットの在庫切れに気付き一時中断です ところでこの基板はRS232Cレベルコンバータのフットプリントの選択をしくっていて、前2枚はむ…
トランスピュータボードは既知のパタンミスを修正、先ずパスコンの積層セラ0.1uFを20個はんだ付けしたところでいつものように電源端子から見た容量を測定してみました。0.1uF×20個=2000nFのところ実測約1900nFとなったのでパスコンの取付はうまくいったよう…
新基板手配中に別プロジェクトをリブートするシリーズでTLCS-900が一部欠品で挫折したので、これも少し放置していたトランスピュータボードをちょっと再開することにしました。メインのIMST805をはじめ周辺部品も手持ちでいけそうです。生基板は潤沢にあるの…
リンクの下位に伝達していくたびにヘッダを取り除く方式はTCP/IPのプロトコルスタックと同様ですがいざコーディングしようとするといろいろ問題があります ・階層の数だけローダを付加するので深い階層に送るペイロードほどサイズ大きくなる ・階層によりロ…
リンクの上位側にあるトランスピュータが下位のトランスピュータにプログラムを送信してブートさせることができましたが、さらに下位のリンクがある場合、最初に送信するプログラムにローダを含めて入れ子構造にしておかなければなりません こうなると上位側…
もうひとつPRGDLLというサブルーチンを作っておきました。これはリンク先のボードへバイナリコードを指定バイト分POKEコマンドを使って転送します。 これらを組み立てたブート処理の流れです。まず別途アセンブルしておいたアプリケーションプログラム:LED…
リンク先のボードをブートするコードはこうなります。 まず制御コード1バイト:BOOT_CMDの内容はジャンプコード(J 0x00000000)の長さ8バイトを示す0x08を送り、その後ジャンプコードの実体が続きます では実際に動作させるユーザアプリケーションの方はとい…
リンク先ボードのメモリに読み書きができたので今度はそのボード上でプログラムの実行を指示する必要があります。 リセット後最初に受け取る制御コードが0x00のときはPOKE、0x01のときはPEEKでしたが1より大きい(2以上)ときは続くコードを制御コードの数だけ…
ボード間でメモリ読み書きの動作テストをしてみます これはTransputer1ボード上で動作するプログラムでPEEK/POKE処理をサブルーチン化してあります。Transputer2のメモリを読むためには対象アドレスをスタックにプッシュした後PEEKルーチンを呼ぶとAレジスタ…
トランスピュータは自身でROMブートせずにリンクからプログラムを注入して起動するブートストラップの機能があります。そのためROMが無い構成(オンチップRAMだけで済めば外付けRAMも無し)も可能でその機能も確認しておきました まずブートストラップを機能…
ハードウェアの準備ができたのでトランスピュータ最大の特徴であるリンク動作の確認をしてみました。2枚のボードにロードするプログラムは以下のようなものです。 トランスピュータ1(上段)にはbuff領域(0x00001000)から16バイトのデータをLINK0ポートか…
2枚作ってしばらく放置していたトランスピュータIMST805ボード、やっと再開します。まず2枚をスペーサでスタックし双方のLINK0チャネルをクロスケーブルで接続しました 電源もパラでつなぎますが、それぞれのボードのモニタ制御用のRS232Cポートは最初だけ…
前段に入るバッファ74HC245はフットプリントも合っているしちゃんと付いていそうなのでUART:SCN2681のデータバスD1(18ピン)に注目してみます。 バッファからのパタン引き回しはこんな感じ。 PLCCソケットの裏のハンダ状態ですが・・スルーホールにちゃん…
電源ONで起動するモニタですがそのオープニングメッセージが微妙に文字化けしています。 本来 *** Transputer IMST805 micro monitor Ver00.05 *** となる文字列が ((( Tpalqputep IMQT805 miapm mmlitmp Tep00,05 ((( になってるわけで例えば先頭の”*”が”…
ここまで来ればあとは速いです。手持ちの部品をさくさく挿していきました CPLDのロジックやROMのファームも1枚目で動作実績があるのでそのままプログラムしてあります。ただ久々にやってみるとROMに焼き込むコードのロケーションに迷ったりするので自分用の…
2枚目トランスピュータボードへのICソケットやコネクタなどスルーホール部品の取り付けも完了しました。Q3とU9はCOM2ポートから外部リセットをかけるための回路ですが今回使わないので未実装としておきます 左側が今回作成のボードですが右側の完成済ボード…
並行して進めていたプロジェクトのうち2枚目のトランスピュータボード作成のほうはやっと表面実装部品の取り付けが終わりました 表面は何も付いてないのと見た目変わらないので裏面を見るとこんな感じです このうち左端にあるRS232CレベルコンバータMAX202…
仕掛かり中の案件はいろいろあるのですがしばらく放置していたトランスピュータT805ボードの2枚目にやっと着手しました パスコン0.1uFを10個ほど付けたところで集中力途切れ今日はここまで。 前回と全く同じ実装をする予定ですが、トランスピュータ自体は外…
マンデルブロ集合の実行テストはCPUボードにプログラムをロード実行させ、生成された画像データを吸い上げ、表示する自作の汎用ツールを使っています。結構前にやっつけの作りっぱなしだったので今回少しメンテしました ・ボードとのセッションが垂れ流しだ…
公式ルールでマンデルブロ集合描画を実行しました。開始座標SX,SY、描画幅WIDTHと打切り回数NMAX=8192はソースに埋め込んであります 256×256メッシュで実行時間は約40分でした さて他のCPUボードとの比較ですが・・・ 20MHz80386+80387と倍速386+387の間くら…
このボードもNS32032と同じステップを踏んで高精細モードでやってみます。ボードに実行を指令、計算されたピクセルデータを吸い上げて表示する自作汎用ツールが使えるようにボード側プログラムのI/Fも変更しました 256×256メッシュで計算時間は53秒。 打切り…
実数演算を含むプログラムも動きそうなのでいつものマンデルブロ集合描画をやってみます。 先ずオペランドに即値が置けないので使いそうな1,2,3,4・・・といった定数をデータ定義しておきます。また変数も領域確保のため初期値0で同様に定義します 複素数c=a…
ソースファイル中に含まれる浮動小数点数値を変換するプリプロセッサを作りました。入力テキストファイルを行単位で出力ファイルにコピーしますが行の中に新たに定義した「DOUBLE」(またはREAL8)か「FLOAT」(またはREAL4)の文字列が含まれていたら後続す…
現状のボードで確認できることとして内蔵のFPUの動作を見ておきます。やることはNS320C32ボードでやった例題と全く同じ、実数同士の足し算です。まずマニュアルを読んでトランスピュータでの浮動小数点数値の扱いで判ったことですが ・機能は単精度倍精度の…
最後に残っていた外付けSRAM:HM62256(256kbit)×4個を装着。ボードのハードウェアはこれでほぼ完成です。リンク接続用のコネクタの実装がまだですがこれは自己折返しかもう一枚ボードを作って実験するときでよいでしょう ROMからブートするモニタも原始モニタ…