0193ゲーム好き名無しさん (ワッチョイ 1710-tnte)
2020/09/18(金) 20:38:12.47ID:WrzaNkAC0ちなみにブロック転送命令って言うのはその命令を実行したら転送終了まで終わらないハードウェア転送。
MDのDMAと同じ機能だよ。ただ、CPUの命令として存在しているからDMAと言う言葉にはそぐわないってだけ。
6クロック毎に1バイト自動転送してくれる。
そもそも命令で1バイトの転送していたら6クロックで済まなくなるだろ。
メモリの読み取り、VRAMへの書き込み、ループ回数減算、ループ終了確認、ループへ戻る、で最低でも5命令掛かる。
6502クロックサイクルは最短で2クロックだから既にオーバーだよ。
ただ、ブロック転送を始める前に各レジスタへの書き込み処理が必要になるから
数バイトの書き換えだったらブロック転送を行わずに命令を並べて書き換える事もあるそうだ。