fMSX98 の不具合とか意見とか実験

原因不明の謎な現象や、次回のパッチで直したい物とか、実験とか書いてあります。

キーボードが押されたまま離れない(AT版)

キーボード割り込みルーチン内で割り込みを許可しているので、キー入力データを取りこぼしてしまい Break データを受信できない為じゃないかなぁ(分からん)。

-uperiod で描画枚数を減らすとフェードインとかフェードアウトで一瞬パレットが乱れる

画面更新のタイミングと、パレット変更のタイミングがあってないからです。パレットはリアルタイムに書き換えてますから。

HSYNC 割り込みでパレットいじって色数増やしているソフト

HSYNC 毎にパレットのインデックスを変えてみたら、それらしく動いてますけど、ソフトに依ってはパレットが狂っちゃう場合もある(原因不明)。

パレット毎にインデックス変えるってのは、こんな感じです。

HSYNC発生(今後のパレット書き換えは PC98(PCAT)のパレットの 16〜31 番に対して操作する)
  ↓
HSYNC発生(今後のパレット書き換えは PC98(PCAT)のパレットの 32〜47 番に対して操作する)
  ↓
HSYNC発生(今後のパレット書き換えは PC98(PCAT)のパレットの 48〜63 番に対して操作する)
  ↓
VSYNC発生(今後のパレット書き換えは PC98(PCAT)のパレットの  0〜15 番に対して操作する)
  ↓
HSYNC発生(今後のパレット書き換えは PC98(PCAT)のパレットの 16〜31 番に対して操作する)
  ↓
HSYNC発生(今後のパレット書き換えは PC98(PCAT)のパレットの 32〜47 番に対して操作する)
  ↓
HSYNC発生(今後のパレット書き換えは PC98(PCAT)のパレットの 48〜63 番に対して操作する)
  ↓
VSYNC発生(今後のパレット書き換えは PC98(PCAT)のパレットの  0〜15 番に対して操作する)

この例の場合は、15回までの HSYNC 割り込みでパレットを書き換えられても対処できるはず。
 実際にテストしたプログラムはもうちょっと複雑で、変更されたパレットのインデックスだけを移動させてました。