2012.5.21
前へ
次へ
ホームページトップへ戻る

復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります

[第126回]


●BS(Back Space)についてわかったこと

昨日は終日苦闘しておりましたので、HPを更新することができませんでした。

前回は、[BS]がうまく働かなかったのはCP/Mのせいではなくて、Windows側のプログラム(ZB3.EXE)のせいだということがわかりました、ということを書きました。
いずれそのうち直しましょう、などと考えて後回しにしていたりしたものですから、そのように考えていたことをすっかり忘れてしまって、やらなくてもよい余計な無駄作業をしてしまったりすることになってしまったのでありました。
やっぱりしなくてはならないことは、覚えているうちにやってしまっておくに限ります。

ですので。
Windows側のプログラムを直してしまいました。
今までシステム用にリザーブしてあったコード08HをCP/M用に解放しましたところ、CP/M互換DOSで、[第124回]のような面倒なプログラムを書かなくても、すんなりと[BS]が働いてくれるようになりました。

そういうことになりますと。
CP/M2.2も、[BS]がうまく働かないからということで、いじくっていたところを元に戻したら、うまく動くようになってくれるのではないか、と期待したくなってしまいます。

そこで、CP/M2.2ソースプログラムもそこのところを直してしまいました。
あ。
申し訳ありませんが、皆様は直さないでください。
このように直しても、Windows側のプログラム(ZB3.EXE)がもとのままでは、正しく動きません(そのことについては後のところで説明をいたします)。

CP/M2.2ソースプログラムで直すところは2箇所です。
1箇所はCP/M2.2の本体プログラムでもう1箇所はBIOSです。



[第20回]で修正したところを元に戻します。
1523行です。

こちらはBIOSです。



3866行を直します。
上でも書きましたようにこのように直しただけでは、正しく動いてくれません。
Windows側のプログラム(ZB3.EXE)も直さなくてはなりません。
現在ND80ZVに附属しておりますZB3.EXEはバージョンでいいますとZB3M.EXEです。
それを直してZB3N.EXEにしました。
しかしこれはまだ皆様にお渡しすることはできません。
いずれRAMディスクのシステムを作りますときに、どうせそれに合わせて直さなければなりませんから、そのときまでは私の評価用としてのみ使います。
そういうことですので、ここは悪しからずご了承願います。

さて。
CP/Mソースプログラムをそのように修正しまして、Windows側のZB3.EXEも直して、ND80ZVに修正したCP/Mをインストールして、[BS]の機能を試してみましたところ。
おお、動く、動く。
期待した通りに動いてくれました。

ところが、いろいろ試しておりますうちに。
あれえ?
意外なことに気が付いてしまいました。

[BS]のキーコードは08Hで、このコードは[Ctrl]+[H]のコードでもあります。
[BS}キーは押す度にカーソルが1文字戻ってそこに表示されていた文字を1文字消去します。
それは皆様ご存知の動作です。
[BS]キーの代わりに[Ctrl]+[H]を入力しても、同じ動作になります(メモ帳などで試してみてください)。
ところが。

などと気をもたせたままで、今回はタイムアウトです。
本日は時間がなくなってしまいましたので、この続きは次回にすることにいたします。

ワンボードマイコンでCP/Mを![第126回]
2012.5.21upload

前へ
次へ
ホームページトップへ戻る