eX1turbo 2011/04/13 - 模擬器

Table of Contents

http://homepage3.nifty.com/takeda-toshiya/x1twin/index.html

2011/4/13
昨日更新してから3時間程しか経っていませんが(苦笑)


影の伝説で、背景が崩れる問題を修正しました。
Z80DMAで、転送元・転送先のアドレスの増減値の実装を修正しています。

MAME/MESSdevのKaleさんから、BLOGの方でご指摘いただきました。有難うございます。
(最近MAME/MESSの方でも同じ修正をされたそうです)



--------------------------------------------------------------------------------

2011/4/12

以前から少しずつ作業していましたが、X1turboを正式にサポートしました。
X1turboなので、PC-Engine部分は含まれていません。

Z80DMAはMAMEの実装をベースにさせて頂きました。
漢字ROM/PCGの操作関係は、KMさんのX1EMUの実装を参考にさせて頂きました。
また、8x16のANKフォントのパッチ用データを、Xmilleniumから持ってきています。
どうもありがとうございます。


Z80DMAは、主に2HDのディスクの内容を、FDCからRAMに転送するのに使用されています

しかしYs3では、VRAMからVRAMにデータを転送するのにもDMAを使用しているようです。
このとき、FDCからDRQが送信されませんが、READYをActiveLowからActiveHighにするこ
とで、
READYがHighのままDMA転送をしていました。
このことに中々気付かなくて、数日ほど行き詰ってました(苦笑)

なお、X1turboでは、画面の水平周期が15.98KHz/24.86KHzに切り替わるようになってい
ます。
しかし現在の実装では、タイミング関係の値は#defineで宣言しており、動的に変更で
きません。
そのため、現状では15.98KHzのときのタイミングで動作するようになっています。
(X1用ソフトを動かすときに、PCGの設定は15.98KHzのタイミング依存になりますので

他機種にも同じような問題がありますし、将来的には何とかしたいですね。

また、eX1twinでCAPS LOCKキーが反応しなくなっていた不具合を修正しました。
これは先日行った、Xanaduのためのキー入力の修正の副作用です。
仮想マシン側でキーリピートを管理するため、Win32側からキーコードが送信されてき
たとき、
リピートされたキーは無視するようになっています。
しかし、CAPS LOCKについては、最初に押された時点から既にリピート扱いになってい
たようで、
CAPS LOCKの入力を完全に無視してしまう結果となっていました。

その他、ディスクを抜いたときに、ディスクの内容に変更が加えられなかった場合は、
ディスクイメージにデータを書き戻さないようにしました。
これはコモンソース側の修正ですので、全てのエミュレータで同様の仕様になっていま
す。


--

All Comments