アカウント名:
パスワード:
あれは、6809を2つでメインと入出力でやってた。
FM7/8で6809二個にしたのは、ビデオ回路の関係と、アドレス領域の問題から。
6809はダイナミックデバイスなんで、命令実行中のDMAは16クロックに一回CPUがバス権を強制的に取り戻す仕様。だから、VRAMリフレッシュ中はCPUを完全に停止させる必要が有った(HALT信号はCPUが現命令を完了するまでバスを開放しない)。VRAMアクセスフラグを有効にすると平均CPU速度が1/3に低下。これじゃ、メインには使えないよね。
ベーシックマスターレベル3は、VRAMをページモードで二回連続読み出しする事でCPUの空きサイクルを利用したけど、これはクロックが1MHzだから出来た話で、1.5MHzのサイクルスチールに耐えられるDRAMは当時無かった。(サイクルタイムが250nsになったのは256kbitからかな?)あと、ページモードで読んだデータを保持するラッチも良いのが無かったね。
しかも、UMAなレベル3は、16KBものVRAM領域のせいでディスクBASICのフリーエリアが7KBなんて情け無い状態になってたから、VRAMをメインCPUから追い出す事を選んだんだろう。ちなみに、FM7/8は、キーボードスキャンに4bitマイコンを使ってたりする。多分端末で実績のある方法なんだろう。画面内での一括更新も富士通端末の標準機能なんで、グラフィック端末にメインCPUをくっつけたのがFM8の実態かも知れない。
FM7/8系のぬるぬるしたキー入力の感じはやっぱ石カマしてたかー
# シューティングの発射がスペースじゃなくBreakキーだったりしたなあ(ほわわ~ん
キー入力周りに別CPUを使ってる8bitパソコンは、PC-6001(8049)とか、X1(8048)とか、結構いろいろありましたけど、だからといって特に問題はなかったですね。FM7/8のキー入力の問題は「キー入力をサブCPUが処理している」点ではなく、「キーアップ情報をメインCPUに返していない」(メインCPUからキーアップを検知できない)点でしょう。だから、2/4/6/8で移動操作のあと、5を押して止める、というUIになってしまうという…
だから、2/4/6/8で移動操作のあと、5を押して止める、というUIになってしまうという…
これが嫌で当時FM系でプログラミングするのは避けてたなあww MZ系、PC60,88,98系、そしてJR系に手を出したところでオシマイ _(:3 」∠)_
YAMAUCHIとか豆腐に指を突っ込む感触のキーボードとか懐かしいおもひで
PC-8001は画面表示のためのDMA止めたら倍ぐらいの速さになってたような。
MZ-80K/CはVRAMアクセスしてもちらつかないタイミングをソフトウェアでチェックしてたので、CPUの速度低下は無かった。V-SYNC無視して書き込むと画面がチラチラと…。
MZ-80B以降とかX1にはそんな問題は無かった。
PC-8001でのCRTCへのDMAは、確か30%程度しか喰ってなかった筈。でも、ソフトウェアタイマを使うには十分弊害で、結果、カセットI/Fはハードウェア復号のUART経由だったし、フロッピーはインテリジェント方式を使う以外の選択肢が無かった。(御陰で後にFDアクセスを並列化出来たのだが)
DMAで劇遅になったのはPC-6001。表示期間中全部CPUを停止してたから、1/3位の速度になってた。同じCRTCを使ったタンディCoCoは、当然の様にサイクルスチールで速度低下は無し。ま、その為のCPU変更だし、専用アドレスジェネレータ込みのDRAMコントローラを作って貰ってたりしてたが。実は、サイクルタイムをチョイ無視すれば、ウェイトを足すだけでZ-80でもサイクルスチール出来たんだけど、これを採用した機種は無かったかな?
ちなみに、FM7/8ではVRAMアクセスフラグをOFFにしても、画面リフレッシュが優先されるんで、チラつかない代わりに画面データがドンドン消える素敵仕様だったりする。
Z-80はスタティックデバイスだから、水平表示期間丸ごとウェイトを掛けても正常に動作するんだよね。DRAMリフレッシュは、4MHz駆動だと倍以上過剰だから、半分止めても問題無いし。でも、表示期間中にVRAMアクセスするとCPUがガッツリ止まるから、帰線期間中にバーストで書き込むと表示をぐっと高速化出来た。当時のゲーム高速化のコツだったね。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
人生unstable -- あるハッカー
FM7 (スコア:2)
あれは、6809を2つでメインと入出力でやってた。
Re:FM7 (スコア:2)
FM7/8で6809二個にしたのは、ビデオ回路の関係と、アドレス領域の問題から。
6809はダイナミックデバイスなんで、命令実行中のDMAは16クロックに一回CPUがバス権を強制的に取り戻す仕様。だから、VRAMリフレッシュ中はCPUを完全に停止させる必要が有った(HALT信号はCPUが現命令を完了するまでバスを開放しない)。VRAMアクセスフラグを有効にすると平均CPU速度が1/3に低下。これじゃ、メインには使えないよね。
ベーシックマスターレベル3は、VRAMをページモードで二回連続読み出しする事でCPUの空きサイクルを利用したけど、これはクロックが1MHzだから出来た話で、1.5MHzのサイクルスチールに耐えられるDRAMは当時無かった。(サイクルタイムが250nsになったのは256kbitからかな?)あと、ページモードで読んだデータを保持するラッチも良いのが無かったね。
しかも、UMAなレベル3は、16KBものVRAM領域のせいでディスクBASICのフリーエリアが7KBなんて情け無い状態になってたから、VRAMをメインCPUから追い出す事を選んだんだろう。
ちなみに、FM7/8は、キーボードスキャンに4bitマイコンを使ってたりする。多分端末で実績のある方法なんだろう。画面内での一括更新も富士通端末の標準機能なんで、グラフィック端末にメインCPUをくっつけたのがFM8の実態かも知れない。
-- Buy It When You Found It --
Re:FM7 (スコア:1)
FM7/8系のぬるぬるしたキー入力の感じはやっぱ石カマしてたかー
# シューティングの発射がスペースじゃなくBreakキーだったりしたなあ(ほわわ~ん
Re:FM7 (スコア:1)
キー入力周りに別CPUを使ってる8bitパソコンは、PC-6001(8049)とか、X1(8048)とか、結構いろいろありましたけど、だからといって特に問題はなかったですね。
FM7/8のキー入力の問題は「キー入力をサブCPUが処理している」点ではなく、「キーアップ情報をメインCPUに返していない」(メインCPUからキーアップを検知できない)点でしょう。
だから、2/4/6/8で移動操作のあと、5を押して止める、というUIになってしまうという…
Re:FM7 (スコア:1)
だから、2/4/6/8で移動操作のあと、5を押して止める、というUIになってしまうという…
これが嫌で当時FM系でプログラミングするのは避けてたなあww MZ系、PC60,88,98系、
そしてJR系に手を出したところでオシマイ _(:3 」∠)_
Re: (スコア:0)
YAMAUCHIとか
豆腐に指を突っ込む感触のキーボードとか
懐かしいおもひで
Re: (スコア:0)
PC-8001は画面表示のためのDMA止めたら倍ぐらいの速さになってたような。
MZ-80K/CはVRAMアクセスしてもちらつかないタイミングをソフトウェアでチェックしてたので、
CPUの速度低下は無かった。
V-SYNC無視して書き込むと画面がチラチラと…。
MZ-80B以降とかX1にはそんな問題は無かった。
Re:FM7 (スコア:1)
PC-8001でのCRTCへのDMAは、確か30%程度しか喰ってなかった筈。
でも、ソフトウェアタイマを使うには十分弊害で、結果、カセットI/Fはハードウェア復号のUART経由だったし、フロッピーはインテリジェント方式を使う以外の選択肢が無かった。(御陰で後にFDアクセスを並列化出来たのだが)
DMAで劇遅になったのはPC-6001。表示期間中全部CPUを停止してたから、1/3位の速度になってた。同じCRTCを使ったタンディCoCoは、当然の様にサイクルスチールで速度低下は無し。ま、その為のCPU変更だし、専用アドレスジェネレータ込みのDRAMコントローラを作って貰ってたりしてたが。
実は、サイクルタイムをチョイ無視すれば、ウェイトを足すだけでZ-80でもサイクルスチール出来たんだけど、これを採用した機種は無かったかな?
ちなみに、FM7/8ではVRAMアクセスフラグをOFFにしても、画面リフレッシュが優先されるんで、チラつかない代わりに画面データがドンドン消える素敵仕様だったりする。
Z-80はスタティックデバイスだから、水平表示期間丸ごとウェイトを掛けても正常に動作するんだよね。DRAMリフレッシュは、4MHz駆動だと倍以上過剰だから、半分止めても問題無いし。
でも、表示期間中にVRAMアクセスするとCPUがガッツリ止まるから、帰線期間中にバーストで書き込むと表示をぐっと高速化出来た。当時のゲーム高速化のコツだったね。
-- Buy It When You Found It --