eX1turbo 2011/04/13 - 模擬器

By Emma
at 2011-04-13T19:50
at 2011-04-13T19:50
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の入力を完全に無視してしまう結果となっていました。
その他、ディスクを抜いたときに、ディスクの内容に変更が加えられなかった場合は、
ディスクイメージにデータを書き戻さないようにしました。
これはコモンソース側の修正ですので、全てのエミュレータで同様の仕様になっていま
す。
--
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の入力を完全に無視してしまう結果となっていました。
その他、ディスクを抜いたときに、ディスクの内容に変更が加えられなかった場合は、
ディスクイメージにデータを書き戻さないようにしました。
これはコモンソース側の修正ですので、全てのエミュレータで同様の仕様になっていま
す。
--
Tags:
模擬器
All Comments
Related Posts
FB Alpha Shuffle v2.0.0 Test

By Isla
at 2011-04-12T19:30
at 2011-04-12T19:30
Altirra 1.9 Test 34

By Carolina Franco
at 2011-04-12T19:23
at 2011-04-12T19:23
一個類似神奇寶貝的老GB遊戲

By Hamiltion
at 2011-04-12T14:39
at 2011-04-12T14:39
XM7 v1.2L6.0/v2.9L40D/v2.9L40D-V2/v3.4L40D/v3.4JL40Dβ

By Gilbert
at 2011-04-12T12:49
at 2011-04-12T12:49
(PS for Android) psx4droid 3.0.4

By Hardy
at 2011-04-12T12:19
at 2011-04-12T12:19