2023年9月10日の日記の1番目の記事へのコメント

基板

昨日、CPS-B-21のピン上げ改造を試した結果、やはり起動時キー書き込みの実施において、61番ピンと62番ピンのピン上げは回避したいという思いが強まりました。しかし、そのためにはCPUリセット解除前にデータバス側に出てくる信号を抑制しなければなりません。というわけで、CPS-A-01がどういう経緯でメモリアクセスを引き起こすのかについてちょっと調べてみました。

ひとまずCPS-A-01の解析ドキュメントにヒントがないか探してみたところ、こちらのドキュメントにCPS-A-01によるバスアクセスに関する記述がありました。 ドキュメントによると、CPS1では、CPU以外でバスを利用するデバイスはCPS-A-01だけらしく、また、普通に68000のバスプロトコル (使いたい人が要求 (Bus Request (BR)) を出した後、CPUが許可 (Bus Grant (BG)) を出して、使う人が使っている間 Bus Grant Ack (BGACK) を上げておく) に従っているようです。

ただ、CPS-A-01のピンアサインを見るとBRとBGACKはあるのにBGがありません。しかもBGACKは出力ではなく入力のようです。つまり、CPS-A-01がBRを出してCPUがBGを出したら、CPS-A-01以外の誰かがBGACKを出して、それをCPUとCPS-A-01の双方が受け取るようになっているということなんですかね。

この辺の信号がどう作られているのかを調べて、キー書き込み中にBGACKが出ないように何らかの方法で抑え込んでやれば、CPS-A-01がバスにデータを流すこともなくなるのでは・・・と思って回路を追ったりロジアナで観察したりしてみたんですが、どうも68000はRESETやHALTが有効になっている間も普通にBGを出す一方、BGACKも周辺の汎用ロジックで組まれた回路によってBGが出た一定サイクル後に勝手に出るような作りになっているように見えます。というわけでこの作戦はボツに。残念。

他に手はないかと、改めて先程の解析ドキュメントを見てみたところ、「CPS-A-01は特定の動作状態に入った場合に外部メモリにアクセスをする」といったことが書かれていました。そしてIDLE状態にいる限りは外にアクセスをしないようです。ということは、CPUが起動するよりも前に、何らかの理由で勝手にIDLE以外の状態に遷移してしまうということなのかな?この状態遷移の要因を排除できれば安全にキー書き込みができるかもしれません。次はこれか・・・。

お名前:  メールアドレス(省略可):
メールアドレスも表示されます
ここに名前その他を書いてはいけません: ここにメールアドレスその他を書いてはいけません:

2023年9月10日の日記の1番目の記事へのコメント

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2023年9月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ