- すべて
- 画像・動画
並べ替え:新着順
DCJ11でUNIX。V6の実験用に使えるかもしれない機能をいくつか追加した版(0726.beta)をpushしました。V1用としては従来と同じ使い方で使えます。ブートローダーはロードできましたが、V6の起動には至っていません。詳細はREADME参照。(続く) #DCJ11 #UNIXV1 #UNIXV6 #PDP11 github.com/ryomuk/TangNan… pic.twitter.com/JU4JHXYYFi
ディスクアクセス時のstretched cycleが想定通りに動作してるか確認のためCLK2, ALE_n, SCTL_n, CONT_nを観測。ちゃんとstretchしてるしタイミング的にも余裕あり。KE11(外部演算装置)の除算時もOK。 #DCJ11 #UNIXV1 pic.twitter.com/MhhY8jylaJ
目標にしていた「セルフ環境でのasciiartのコンパイルと実行」ができました。CPUはシミュレータやエミュレータではなく実物のプロセッサ(DEC DCJ11)です。最初思うように動いてくれず、古代のC言語では負数の代入をy=-12ではなくy=(-12)と書くということを知りました。 #DCJ11 #PDP11 #UNIXV1 pic.twitter.com/QTbj3xsltL
とりあえずCONT_nにジャンパ線を継げてディスクアクセス時にCPUを止めるようにしたらccが正常に動くようになった。止めるならRAMをdual portにする必要は無いのでクロックも上げられそう。右下の表示はディスクレジスタへのアクセス、終了割り込み、TTY入力割込みです。 #DCJ11 #UNIXV1 #PDP11 pic.twitter.com/q9xhKKdcaI
ディスク読み書き時にHALT&手動continueをはさんだらccでhello.cがコンパイルできた。やっぱりディスクアクセス中の割込みが原因なのかなあ。dual port RAMで誤魔化さずにちゃんとDMAっぽいプロトコルでやれってことか?ピンが足りないんだけど、使ってないIRQ用の2本で出来るかな?#DCJ11 #UNIXV1 pic.twitter.com/cEIELOE6mW
edで書いたhello.cをcc0, cc1でアセンブラコードにして、asでオブジェクトファイルを作るとこまで来たけどldが暴走するのでa.outが出来ない。さっきまでは(ソースが18ファイルある)asで止まってたので途方にくれてたんだけど、ldはファイル3つなので調べやすそうではある。#PDP11 #DCJ11 #UNIXV1 pic.twitter.com/buLsi6bwdJ
unix-v1が起動しないので継続調査中。rom.vに書かれているBootstrap Loaderのjmp 054000をhaltに書き換えて強制停止。ODTで054000近辺を確認したところ、bootloaderはSDカードからloadできている模様。 #DCJ11 #unixv1 #PDP11 pic.twitter.com/npEue2U5OA