2012年01月15日

mk2のバスリクエストについて

  mk2 になってから、加速モードでのCMT のロードを待たせる時間が長くなっています。


  具体的には、1バイトのデータを読み出すのに、

  P6 :3.93ms
  mk2:2.62ms

  と、1.5倍の時間待たせています。


  mk2 のBASIC のプログラムの方がドンくさいんだと思っていたら、どうもそうではなかったようです。


  mk2 のCRTC のBUSRQ を調べた結果、MODE2 とMODE5 でかなり違います。

  CRTC は水平ライン262本分で1周しますが、その内、MODE2 では192回BUSRQがLになり、MODE5 では200回BUSRQがLになります。
  これは縦192ドット/200ドットに相当する数字です(当然ですが)。

  また、その1ライン中(456クロック)にLになる区間が、MODE2 では304クロック、MODE5 では368クロックです。
  これは、横の256ドット/320ドットに少しだけ大きい数字です(Z80がすぐに止まらないので余裕を持たせています)。


  で、BUSRQ がLの期間はCPUが止まっているとして計算すると...

  MODE2:48.85%
  MODE5:61.60%

  の期間、BUSRQ で止まっている計算になります。


  mk2 止まりすぎですね(−−;


  で、CMT のロードの話ですが、CPUが速く動けば待たせる時間が少なく済むので、ロード時間も短くなります。

  CMT ロードの時には、CRTKILL をすれば取りあえず速くなります。


  が、画面を全く消さなくても間引けばいいのでした。


  通常の6001だと間引いても画面が乱れますが、FPGA版はVGAモニタへの画面表示のために、2P-RAMで乗せ換えをしているために間引いても問題ないんですね。


  修正が完了したら、またアップします。

posted by えすび at 21:28| Comment(2) | P6解析:画面周り | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
はじめまして、JOTと申します。
初代機が動いた!と思っていたらmk2もリリース!しかも完成度高い!
と驚きの連続です。
CMTロードの高速化にも期待しております。

さて、私もDE0を購入し、PC-6001Fを楽しませて頂いてましたが、
mk2対応版を実行しようとした際に、ROMデータファイルに
読み取り専用属性が付いていたため起動できず、見事にハマりました(^^;
ROMデータファイルの属性は「20H」(アーカイブビットのみON)じゃないとNGなんですね。

添付ドキュメントに
「ROMデータファイルの属性は『アーカイブのみON』にすること」
の旨を記載いただくと、私みたくハマる人が減るかもしれません(^^;;
Posted by JOT at 2012年01月17日 01:39
  JOTさん、コメントありがとうございます。

  昔のFarmでは、20H のみにしていたんですが、修正した後では、リードオンリー属性は、OKにしたと思ったんだけどなー。

  何かの機会に修正しておきます。


  「このソフトが無事動いた」という報告は歓迎です。
  「このソフトが動かない」という報告も歓迎ですので、よろしくお願いします。
Posted by えすび at 2012年01月17日 08:43
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

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


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

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