2012年12月05日

動画再生(4)

  妄想の続き。


7)プログラムをCALLのみ

  LD (SP待避),SP
  LD SP,VRAM最終アドレス+1

  JP 画面データ#-1,-2

  CALL 画面データ#-3,-4 ; 17
  CALL 画面データ#-5,-6 ; 17

    :
    : ×0x2000回実行
    :


  No WAIT として、

  1バイト当たり8.5クロック。
  1ページ描画(16Kバイト書き込み)には 90.7ms 。
  1秒のフレーム数は、11.0 枚。


  上のプログラムが不思議な感じだと思いますが...

  CALL はPC をスタックに待避して、新しいアドレスに飛ぶ命令です。
  言い換えると、

 ・現在のレジスタ(PC)の2バイトの値をメモリに書き込む。
 ・メモリのポインタを2減算する。
 ・新しい値をレジスタ(PC)に読み込む。

  を1命令で実行します。


  通常のプログラムではPC が無茶苦茶になるので、データに依存して飛び先が変わるプログラムは使えません。

  そこで、外部RAMのエリアの64Kバイト領域すべてを外部回路に割り当てます。

  通常のメモリは、
   アドレス入力→そのアドレスに格納されているデータを出力
  
  となるところを、外部回路では
   アドレス入力→特定のデータを出力

  にすると、PC と関係なくプログラムを動かす事が出来ます。



  さすがにこれが限界っぽいです。11fps なら見られるかな?


posted by えすび at 19:06| Comment(0) | HW:動画再生 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

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


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