エミュレータで起動しないという話が出ていたので、解析してみました。
どうやら、コピープロテクトみたいです? 普通は使わない、35トラックまで使っているようです。。
マニュアルによると、0−34トラックしかないのですが、35トラックを読み込みに行き、フラグをチェックするようです。
LD A,053H ;AB 3E 53 >S Z0005: LD (0E6F7H),A ;AD 32 F7 E6 2.. LD HL,0E900H ;B0 21 00 E9 !..読み込みアドレス LD BC,02201H ;B3 01 01 22 .."track=34 sector=1 LD A,0CH ;B6 3E 0C >. sectors=12 OR A ;B8 B7 . CALL Z0003 ;B9 CD C8 0A ... disk read LD HL,0D256H ;BC 21 56 D2 !V.読み込みアドレス INC B ;BF 04 . track++ 35 になる LD A,01H ;C0 3E 01 >. sectors=1 OR A ;C2 B7 . CALL Z0003 ;C3 CD C8 0A ... disk read ; ディスクから読み込んだ内容をチェックして、違っていたら、リセットへ LD A,(0D257H) ;C6 3A 57 D2 :W. CP 0CBH ;C9 FE CB .. JP NZ,Z0006 ;CB C2 CF 04 ... リセットへ
PC6001VWで起動して、チェックルーチンを、NOPで消したら、普通に起動しました。
しかし、ファンクションキーが表示されてないのと、入力しても、変換できないですが。。??
ちなみに、手作業で回避する場合は、
- PC6001VWを起動して、66のワープロをマウントして、リセットする
- 何度もディスクを読むが、気にせずに、monitor mode にする
- break 0xCB と打ち込んで、gコマンドで再開する
- ブレークポイントで止まる。
- TABキーで、ダンプリスト欄に移る
- 00CBhから3バイト C2,CF,04となっているところを、00,00,00に打ち替える。
- TABキーで、コマンド欄に戻り、Gコマンドで、再開する
ちょっと、ややこしいですが、これで、一応回避できました。。
ちなみに、40トラックまで読み込んであるディスクイメージもあるみたいですね。。
その場合は、こんなことをしなくても、普通に起動するようです。。
[追記]
コピープロテクトと言うよりは、単に、35トラック以降にアクセス出来るか、みているだけなのかもしれない。。というはなしもあるようですね。。
漢字変換するときに、ディスクにアクセスに行くようです。。
ということは、35トラックがないと、まともにうごかないぞと。。
なので、35トラックを吸い出すか、作らないと行けなくなりました。。
むーん。
具体的には、トラックの先頭アドレスを書き込み、トラックのデータを、そのアドレスのところに、作成して書き込みます。。
手作業では、出来ないので、PGをかいてやることになるとおもいますが、めんどくさいですね。。(汗)
手作業でもできんことはないけど。。。アドレスと、打ち込む内容さえ間違わなければ。。