2007年03月01日

CPU 6

釜房一号さんよりご連絡あり

BASICよりプルダウンメニュー機能を使うと
メニューを引き出したところでハング。
マウスは動く。

menu.PNG

見てみるとIPが進まなくなっている。
V30固有命令で未実装のものを実行しようとしているのかと
思いきや、
止まっているのは
test ds:[bp+30],01
一般的な命令。なぜ?


posted by Shinra at 23:20| Comment(5) | TrackBack(0) | EMU | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
どうも、言い出しっぺです。
現象を探ると、引っ張り出したメニュー上をマウスを
滑らした時、本当は項目が白黒反転するはずなのに、
その手前でハングアップしているようですね。

デバッグツール、私もみてみましたが、
traceout.txtを見てみると
cpu: int 0x33 e000:ccb2 rom0=08 AX=0003 BX=0008 CX=0000 DX=0000 SI=137e DI=00a2 BP=01dc SP=01d8 DS=c860 ES=c860 SS=9fe0

cpu: int 0xb8 e000:ac36 rom0=07 AX=0004 BX=1179 CX=0000 DX=0000 SI=138a DI=00a2 BP=3e28 SP=01fa DS=2b58 ES=2b58 SS=9fe0

これの繰り返しを延々と続けています。

Int 33h(マウスBIOS)と、Int B8h(何? テクマニには載っていない)とを交互に呼び合って停止しているという状態と見受けました。(いいのかな、この結果の解釈で?)

V30命令のせいではないと見ましたがいかが…?
Posted by 釜房一号 at 2007年03月02日 12:30
> 滑らした時、本当は項目が白黒反転するはずなのに、
> その手前でハングアップしているようですね。

なるほど。

> これの繰り返しを延々と続けています。

ただ、ハングアップするとこの繰り返しも止まる(出力されなくなる)ので、int 33とint b8の呼び出しの無限ループにはまっているわけではありません。

調べたところ、止まっているのはtest ds:[bp+30],01ではなくて、別のところでした。未実装のV30固有命令でした。
Posted by Shinra at 2007年03月04日 00:38
お返事ありがとうございます。
出張にいっていて、こちらからのお返事がおそくなりました。

>ただ、ハングアップするとこの繰り返しも止まる(出力されなくなる)ので、
>int 33とint b8の呼び出しの無限ループにはまっているわけではありませ
>ん。

よく考えるとそういうことですよね。
私の早とちりでした。

int B8 ってメニュー用のBIOSなのでしょうか。

いずれにせよ、原因がわかってなによりです。

Posted by 釜房一号 at 2007年03月06日 09:52
>int B8 ってメニュー用のBIOSなのでしょうか。

そのようです。

http://www.pc88.gr.jp/inside88va/wiki/index.php?%B3%E4%A4%EA%B9%FE%A4%DF%A5%D9%A5%AF%A5%BF

↑PC-VANで上がっていた情報をまとめています。
Posted by Shinra at 2007年03月06日 23:36
ご紹介のページは
Inside PC-88VA というのですね。

うかつにも気がついておりませんでした。

大変参考になります。
ありがとうございました。
Posted by 釜房一号 at 2007年03月09日 19:39
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。