CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

最小プログラム

CPUとROMだけの環境ですがまずは最小のプログラムを動かしてバスの挙動を見てみます。いつものことですが
 
       JMP $    からですね
 
コードにするにはハンドアセンブルでも容易だし、TLCS90で使ったアセンブラASでも対応しているようですがWindows上で動作するアセンブラを見つけました。
日本ではTMS99XXはメジャーではありませんが米国では1980年代にテキサスインスツルメンツ社製のTI-99/4というホームコンピュータが結構ヒットしたようで今も熱心なマニアのフォーラムがあるようです。エミュレータも作られていて、それに付属しているアセンブラを使ってみました。
 
イメージ 1
 
TMS9995は0000番地から割込みベクタが並んでして、その先頭がリセットベクタです。CPUはコールドスタート時に0000番地の1ワードをWP(ワークスペースポインタ)へ0002番地の1ワードをPC(プログラムカウンタ)へセットしてその番地へジャンプします
結果、コードはこのような具合になりました。
 
イメージ 2
 
 
これをROMに焼き付けて実行させてみました。
アドレスバスは80Hと81H、データバスは10HとFFHを繰り返し出力しているはずですがロジアナをプローブするのも面倒なのでデータバスのLSB(D7) ・・ch1とROMの/OE ・・ch2 の状態です
 
イメージ 3
 
たしかに2バイトのフェッチを繰り返しているのでたぶん正常でしょう。