PC-98エミュを語ろう19
■ このスレッドは過去ログ倉庫に格納されています
! NEC PC-98シリーズは過去のものとなりましたが、 その膨大な遺産を活用できるPC-98エミュレータは非常に便利な存在です。 そんなPC-98エミュレータについて語りましょう。 ■Windows用PC-98エミュレータ Anex86 ttp://homepage2.nifty.com/ans/ T98-Next ttp://www.geocities.jp/t98next/ Neko Project II ttp://www.yui.ne.jp/np2/ ttp://retropc.net/yui/ ■前スレ PC-98エミュを語ろう18 http://egg.5ch.net/test/read.cgi/software/1535866422/ >>66 ここにあるアリスソフト(256色)〜のAINIT.COM使えば ttp://pc88emu.php.xdomain.jp/pc98game.html 規制に巻きこまれているっぽいので代行をお願いしました。 >>72 ,73 ainit.comをバッチファイルに組み込む事で、不具合に対処しました。 ありがとうございました。 132名無し~3.EXE2019/11/08(金) 04:19:21.95ID:QJIKcQBy ■RED WOODチップセット 対象 PC-9821Np・Ns・Ne2・Nd・Es・Ld・Lt・Nf・Nm,PC-9801NL/A チップ RED WOOD 解説 o RED WOODはPICO|POWER社のパワーマネジメントコントローラである。 o PC-9821NfではGOLDEN GATEチップセットが、同じくPICO|POWER社のRED WOOD チップセットと共に使用されている。 o RED WOODチップセットは、GOLDEN GATEチップセットと同じI/O 0900h,0906h を使用する。これらのI/Oアドレスに対するアクセスは、ワードアクセスの 時RED WOODチップセットへ、バイトアクセスの時GOLDEN GATEチップセット へ行われる。したがってRED WOODチップセットへのアクセスは必ずワード アクセスである必要がある。 o RED WOODとは、英語で「アメリカスギ」という意味である。 https://www.webtech.co.jp/company/doc/undocumented_mem/io_rwood.txt 0200h |R/W|Shadow RAM Read Enable Control Register 0201h |R/W|Shadow RAM Write Enable Control Register | |bit 15〜13: Reserved | |bit 12〜0: LMEMRDEN12〜0 | | 1= Enable | | 0= Disable | |* 指定した各範囲のシャドウRAMの読み書きを | | 許可/禁止する。 134名無し~3.EXE2019/11/08(金) 04:24:02.09ID:QJIKcQBy ** Shadow RAM Write Enable Control Register (SRAMWRENCR) - Index 0x201 ** ** Loc Size Name Function ** ----- ---- ---- --------------------------------- ** <0> 1 LMEMWREN0 Local Memory C0000H-C3FFFH Write Enable ** <1> 1 LMEMWREN1 Local Memory C4000H-C7FFFH Write Enable ** <2> 1 LMEMWREN2 Local Memory C8000H-CBFFFH Write Enable ** <3> 1 LMEMWREN3 Local Memory CC000H-CFFFFH Write Enable ** <4> 1 LMEMWREN4 Local Memory D0000H-D3FFFH Write Enable ** <5> 1 LMEMWREN5 Local Memory D4000H-D7FFFH Write Enable ** <6> 1 LMEMWREN6 Local Memory D8000H-DBFFFH Write Enable ** <7> 1 LMEMWREN7 Local Memory DC000H-DFFFFH Write Enable ** <8> 1 LMEMWREN8 Local Memory E0000H-E3FFFH Write Enable ** <9> 1 LMEMWREN9 Local Memory E4000H-E7FFFH Write Enable ** <10> 1 LMEMWREN10 Local Memory E8000H-EBFFFH Write Enable ** <11> 1 LMEMWREN11 Local Memory EC000H-EFFFFH Write Enable ** <12> 1 LMEMWREN12 Local Memory F0000H-FFFFFH Write Enable 133名無し~3.EXE2019/11/08(金) 04:23:24.79ID:QJIKcQBy * Shadow RAM Read Enable Control Register (SRAMRDENCR) - Index 0x200 ** ** Loc Size Name Function ** ----- ---- ---- --------------------------------- ** <0> 1 LMEMRDEN0 Local Memory C0000H-C3FFFH Read Enable ** <1> 1 LMEMRDEN1 Local Memory C4000H-C7FFFH Read Enable ** <2> 1 LMEMRDEN2 Local Memory C8000H-CBFFFH Read Enable ** <3> 1 LMEMRDEN3 Local Memory CC000H-CFFFFH Read Enable ** <4> 1 LMEMRDEN4 Local Memory D0000H-D3FFFH Read Enable ** <5> 1 LMEMRDEN5 Local Memory D4000H-D7FFFH Read Enable ** <6> 1 LMEMRDEN6 Local Memory D8000H-DBFFFH Read Enable ** <7> 1 LMEMRDEN7 Local Memory DC000H-DFFFFH Read Enable ** <8> 1 LMEMRDEN8 Local Memory E0000H-E3FFFH Read Enable ** <9> 1 LMEMRDEN9 Local Memory E4000H-E7FFFH Read Enable ** <10> 1 LMEMRDEN10 Local Memory E8000H-EBFFFH Read Enable ** <11> 1 LMEMRDEN11 Local Memory EC000H-EFFFFH Read Enable ** <12> 1 LMEMRDEN12 Local Memory F0000H-FFFFFH Read Enable キタ―――(゚∀゚)―――― !! Sound Blaster 16 for PC-98 Windows2000用ドライバ <\ <\ \> \> ◇ /> ◇ // // // (゚∀゚) // // /\ </ < ◇ \ <\/> \ <\\ > </> |_」 | | </> <  ̄ </\\ \> Stas'M @x86corez · 2月26日 Some further progress on ReactOS PC-98 port by genedisean: - implemented a basic HAL for PC-98 - got successful PCI device enumeration - now working on IDE controller at C-bus (support in UniATA) reactOSはPC-98の16色画面で起動成功すれば感動 キタ―――(゚∀゚)―――― !! Sound Blaster 16 for PC-98 Windows2000用ドライバ MPU-401も対応!! <\ <\ \> \> ◇ /> ◇ // // // (゚∀゚) // // /\ </ < ◇ \ <\/> \ <\\ > </> |_」 | | </> <  ̄ </\\ \> Sound Blaster 16 for PC-98 NT3.51やNT4.0でもドライバパッチ当てれば動くかな? キタ―――(゚∀゚)―――― !! Neko Project 21/W ver0.86 rev71β7 SB16のNTドライバは sndblst.sysとsndblst.dllでたぶんsndblst.sysの方を弄ればいけるかも。 sndblst.dllでI/Oポートしているから弄る必要がある。 https://i.imgur.com/G9hPqWb.jpg Windows NTのドライバ改造して動くか試行錯誤の結果。まだ動かない NT3.51とNT4.0のドライバ覗いてみると追加コードを入れるスペースが全然ない。 今のところIOポート関係のあたりだけ改造してみたけど、ドライバ組み込めなかった ついでにウンドウアクセラレータWGN-AのNTドライバを解析してみたけど、 不明なポート使っていないか調べてみたが良く分からなかった。 キタ―――(゚∀゚)―――― !! Neko Project 21/W ver0.86 rev71 WindowsNT4.0で強制EGA(640x400 16色)表示できるようにNEC_NH.DLLを改造することに 成功した。しかしWindows2000でやってみるとブルースクリーンになってしまった。 でもブルースクリーンになる原因をだいぶ絞れてきた。 >>95 https://i.imgur.com/tG2rKN2.jpg リソース設定してみたけど動かないですねぇ。 ブルースクリーン画面とかで256色表示なのでその辺の仕様が悪さをしているかも NP21/WのIDEをPIO mode3ぐらいまで高速できないかな? キタ―――(゚∀゚)―――― !! IDE-CF2 >>97 IOReaDY信号がいるから改造が面倒かも PC-98版Windows3.1のスタンダードモードでMS-DOSプロンプトが使えないかと重い 解析を試みたのですが、 WIN.COMがDSWAP.EXEとWSWAP.EXEをロードしないのが原因と分かっていますが、 簡単にはいきませんでした。結構複雑なコードでした。 DSWAP.EXEを呼んでいる箇所が分かったのと、基本ルーチンはの大部分は NEC/MS版に残っているようなので、ええかげんにEPSON版のコードを 挿入したところ、DSWAP.EXEを読み込もうとする所までいけましたが、前処理が 必要のようでロードできませんでした。その前処理の部分がNEC/MS版とEPSON版 で結構違っていたので難航しそうです。 黄色い青梗菜 カニ 雨と傘 虹 @N0O51JWQHWorZIC · 1月22日 NP21/W、K6-2+のV166ではエラー落ちして動かなかったけど(PenIII以降対応?) 同梱されていたNPII/Wはなんか動いた 9821に9801動作ってできるんだな D @drachen6jp · 2017年11月19日 118用ドライバでのOPLはうちでは動いてるのでnp21/wで鳴らないのは知ってましたが どの部分だったか忘れました えっと…たしかどこかの返り値だけの問題のはずなんですが… necpcm.drvは色々バージョンありそうっすね… うひょ〜 https://i.imgur.com/TtLVluQ.jpg W32DASMという強力な逆アセンブラを発見しました。 Win32アプリ(PE)はもちろんWin16アプリ(NE)や仮想デバイスドライバVXD(LE)も 解析できます。あとWindows3.1でもWin32s(v1.30c)を入れていれば作動するようです。 更にW32Dasm v8.93は日本語化パッチも存在するようです。 (但しWin3.1+Win32sで日本語化する際はdsm893j.zipのパッチではなくdsmjonly.zipの パッチを使用して下さい。dsm893j.zipを使うとエラーが出て落ちます) あとW32DasmはWindowsXP以降のデータ実行防止(DEP)が有効だと 作動しません。W32Dasmをデータ実行防止(DEP)から除外すれば作動します。 np2fmgen 719K 20/02/29 19:08 にて、 ポリスノーツが口パクできるようになってるぞ、うひひひひひょー 86PCM (AVSDRV) 設定 、AVSDRV.SYS (43.632 48,048 両方でOK) 別ゲーでも 声がスキップ (カット) されずに再生されてた、絶頂 86PCM (Specific) 設定 エロゲのタイリングを綺麗なグラデーションに置き換えるフィルタまだですか? >>104 そもそも起動時のbeepを含めseek以外の音が一切出力されないや。 んー、np21wとかでは問題なく出てるんだけどなぁ >>108 原因判明しました。 .iniが存在しない場合に自動作成されるけど、200215版以降はマスターボリュームが0で作成されるためでした。 GUI上ではこれを変更できないっぽいので、iniのM_Volumeを100に書き換えれば問題なしでした。 口パクできるけど声が遅れて出力される・・・ 改善する方法ある? >>109 タイトルバー上でホイールスクロールでボリューム変えられないかな >>109 >>112 気づくのに 10分くらい かかったぞ タイリングを擬似グラデーション化するフィルタtoon2x.rpiがあるな ぼやけるからあまり好きではない np21x16+toon2x.rpi https://i.imgur.com/uJ5JLS5.png >>115 修正 キタ━━━(゚∀゚)━━━ヨ !!!!!!!!!! np2fmgenはEPSONモデルでもRAMの拡張できるようにしてほしいな 21/wの作者の方ここ見てるのかな? ちょっと要望あるんだけどtwitterだと微妙に長くて書きにくい・・・ >>110 Buffer 1000msにしたら かなり遅れてた、500msでも遅れてる。 100msでも再現しますか >>120 0が理想ですがノイズがひどいのでバランのいい80にしました〜 >>102 場所特定しました。I/Oポート148Ehのビット2が立っていないと駄目なようです。 NP21/WではI/Oポート148EhでINすると00h[00000000b]、(init118を使用すると05h[00000101b]) で、ビット2が立っていないのでWin3.1の118OPLドライバが認識しません。 なのでドライバを次のように改造すると鳴るようになります。 NECOPL.DRV A8 02 74 14 ↓ A8 02 EB 14 VNECOPLD.386 A8 02 75 31 ↓ A8 02 90 90 ただPCM(CS423X)と同様にOPLの音もブツブツしますね。 >>122 >ただPCM(CS423X)と同様にOPLの音もブツブツしますね。 ホスト側PCのサウンドボードが古すぎるのが原因だったわ(ES1730www)。Web動画再生でも音が ブツブツになってたから ポリスノーツの口パクで喜んだ後、なんとなく試してみた。 np2fmgen_20/03/31(118設定+AVSDRV41CS.SYS 29,168) 口パクはしないけど、普通に声が聞けてる (口パク無:MATE-X実機と同じ) np21w-0.86-rev72(118 or Mate-X +AVSDRV41CS.SYS 29,168) 声にもノイズがのるんだけど、最初のOP画面で特徴的な?ノイズがのってる。 np21w-0.86-rev36でも 似たような感じでノイズがのってる (全く同じではなさそう)。 口パクにはつながらない報告でした、すまなんだ。 >>122 NP21/Wで改造ドライバでWindows3.1を立ち上げたあとDOSに戻って、 148EhでINすると05h[00000101b]でした。 init118と同じ挙動ですね。 NP21/WのPC-9801-86 + 118(B460)設定でWindows3.1 で118音源のPCMとFM音源を鳴らす方法 NECOPL.DRV C7 06 86 03 60 A4 ↓ C7 06 86 03 60 B4 VNECOPLD.386 (3箇所) 66 C7 47 0B 60 A4 ↓ 66 C7 47 0B 60 B4 VPCMD.386 66 BA 60 A4 ↓ 66 BA 60 B4 参考スレ PC-98エミュを語ろう18 http://egg.5ch.net/test/read.cgi/software/1535866422/14 そういえばNP/2の118のMIDIポートの設定ってMPU-98Uの 設定と共有されているよな。S-MPUは分離されているのに。 118とMPU-98Uで設定を分離すれば、 S-MPUと合わせて4ポートMIDI使えるのではないかと Sound Blaster 16 for PC-98のMIDI設定もMPU-98Uと共有されているかも。 まだ試してないけど。分離して設定できるようにすれば5ポートも MIDI使えるやんけ。内臓FM音源も使えば8ポートか wavestarもあるやんけ。 73+86+118+SB16+WaveStarだと同時発音数が凄そうだな NP21/W上のWindows3.1で86音源と118音源のFM音源を同時に使用した動画を上げてみました 【PC-98】Windows3.1で86音源と118音源のFM音源を同時にならして見た(OPNA・OPL3) https://www.nicovideo.jp/watch/sm36618328 NP21/WでNT4.0でウンドウアクセラレータWSN-A2F/A4Fの作動を調査してみました。 そのときはWin3.1やその他の機能の実装を確かめていたのでWSN-A2F/A4FのWinNTでの 作動を碌に調査しておりませんでした。 rev25〜rev29ならGUI画面が乱れずに映るようようになりました。 しかし文字が表示されないのとマウスカーソルか白枠になります。 rev30〜rev44はマウスカーソスの白枠が表示されなくなりました。(マウスカーソル位置が確認できない) rev45ではGUI画面が真っ黒で何も見えなくなりました。 気になる変更点はこの辺ですね。 0.86 rev44 -> 0.86 rev45 ・CL-GD5446のGraphics Double Bufferに対応 0.86 rev29 -> 0.86 rev30 ・FreeBSD4.11のX Window SystemでXe10内蔵ウィンドウアクセラレータが使えなくなっていた不具合を修正 NT3.51は後で調査。 >>129 銀河英雄伝説4がSB16のMIDI使えるけど 鳴らないな NP21/WでNT3.51でウンドウアクセラレータWSN-A2F/A4Fの作動を調査してみました。 GUI画面 rev25〜rev28 画面一面が白 rev30〜rev44 画面一面が黒 画面一面が白か黒で操作不能。 rev73beta3。早速修正ありがとうございます。感謝 NT4.0 WSN-A2F/A4F使用時 65536色とTrue colorの時は操作上問題ない程度で表示できました。 但したまにパレットがバグって色がおかしくなります。 256色は激しくバグっていて使い物にならない状況です。 NT3.51 WSN-A2F/A4F使用時 65536色とTrue colorの時はとりあえずデスクトップ画面は表示されましたが、 縦スクロールがバグります。横スクロールは問題なし。X軸がおかしいのかも。 256色は激しくバグっていて使い物にならない状況です。 ちょっと間違えてたので訂正 NT4.0 WSN-A2F/A4F使用時 65536色とTrue colorの時は操作上問題ない程度で表示できました。 但したまにパレットがバグって色がおかしくなります。 256色バグった表示ですが一応デスクトップ画像が表示されますが、 フォントが表示されません。 NT3.51 WSN-A2F/A4F使用時 65536色とTrue colorの時はとりあえずデスクトップ画面は表示されましたが、 縦スクロールがバグります。横スクロールは問題なし。X軸がおかしいのかも。 256色は激しくバグっていて使い物にならない状況です。 参考にバグっている256色モードのスクリーンショットです。 NT3.51 WSN-A2F/A4F 256色 https://i.imgur.com/KTnYZYV.jpg NT4.0 WSN-A2F/A4F 256色 https://i.imgur.com/1mf5uCz.jpg 118音源系まとめ PC-98エミュを語ろう17 https://egg.5ch.net/test/read.cgi/software/1500009461/995-998 >if(sound118 == 0xff) return (0x05);//bit0 MIDI割り込みあり bit1:Cb Na7 bit2:Mate-X bit3:A-Mate Ce2 > FF ステータス取得(IN) > b7〜b3:不明 > b2〜b0:MIDI割り込み設定可能かどうか > xx0 設定不可 > xx1 設定可 ジャンパスイッチについて詳しいやつ NEC PC-9801-118 http://jive.pekori.to/xt/database/118.htm FF ステータス取得(IN) b7〜b4:不明 b3〜b1:使用本体 001 Cb Na7 (パソコン本体1) 010 Mate-X (パソコン本体3) 100 A-Mate Ce2 (パソコン本体2,4,5) b0:MIDI割り込み設定可能かどうか 0 設定不可 1 設定可 良くわからんけどNP21/WでWin3.1のNECOPNドライバは パソコン本体2,4,5として認識しているけど、 ドライバにパッチを当てて強制的にパソコン本体1モードの 処理をさせることでドライバが作動しOPNが鳴るという感じかな。 確かまだ試してないけどエミュはOPL3SA.DRVが動くように実装してあるみたいなので、 パソコン本体1モードならNECOPN.DRVが動くのも納得 Windows2000でNT4.0のドライバ入れてWSN-A2F/A4Fが動くという噂があったので試してみました。 意外とすんなり動きました。256色とHigh color(16bit)とTrue color(32bit)が選択できました。 256色はNT4.0と同様にフォントが表示されません。High color(16bit)とTrue color(32bit)は一応操作可能な程度に 表示されるようですが多少バグります。 https://i.imgur.com/7TpBF7q.jpg 表示バグについてはディスプレイの設定でハードウェアアクセラレータを無効にすれば正常に表示されます。(256色でも!) 描画速度はかなり速いようです。Windows2000で使えるCバスcirrusでは最速ではないかと。 (もしI・OのGA-NBのNT4ドライバがあればこちらが最速だろうけど。) >>137 >>144 NT4.0でも縦スクロールの挙動が多少おかしいです。 >>132 乙です!こっちでもそれっぽい環境ができました。 チャンネルマップについては 全然わかってないっす。 てんしょうき(win3.1-FD版) OPとか 聞いてみるでー >>132 86+118+SB16 の3共存ができ?ました。 86+118を確認した後、+SB16もできたので 他の方々も簡単にできます。 SB16_OPL3は 118_OPL3と比べ、オシャレで低音量な感じです。 SB16のオプションチップはないのですが、 実機環境でも確認してみます、聴いた感じとか。 (手元の実機SB16は追加チップ無) NP21/W rev46でWindows2000でNT4.0のWSN-A2F/A4Fドライバで256色モード(ハードウェアアクセラレータ無効) で表示できることを確認しました。 この辺が効いているのかな。 0.86 rev46 -> 0.86 rev47 ・Win9xでWSN-A2F/A4Fがある程度使用可能になりました ・一応1024x768 16M色や1280x1024 64k色が使えます(DirectX 5ドライバが必要) ・WGN-A2/A4と誤認識される場合がありますがドライバはWSN-A2FまたはA4Fを使用してください ・DirectXを使うアプリケーションの画面描画がおかしい場合があります ・DirectXのフルスクリーンはまともに使えません ・一旦フルスクリーンにしてウィンドウ表示に戻すと何故か出力切り替えリレーが98グラフィック側になります ・WABリレースイッチをF12に割り当てて手動切り替えすれば一応復帰できますが・・・ ・WSN-A2F/A4FのE-BANKモード以外の挙動を改善しました ・Win3.1で仮ドライバを使わずにそのままセットアップが出来るようになりました ・MELCO WAB/WSNとI-O DATA GA-98NBをDouble Bufferに対応させました WindowsNTのPC-98FM音源ドライバはSYNTH.SYSとSYNTH.DLLのようですね。 118音源で使っても86互換でOPNAしか鳴らないようです。 ファイルバージョンのとこ見ると Synthesizer kernel driver for Ad Lib and OPL3 Synthesizer driver for Ad Lib and OPL3 って書いてありました。Ad Lib、OPL3のドライバをOPNA用に改造したんでしょうな。 SYNTH2.SYS(A460→B460パッチ適用)とSYNTH2.DLL(リネームのみ)を用意して 86音源+118音源でOPNAx2で鳴らせるかなと思いoemsetup.infで組み込んで見ましたが、 OPNAx1でしか鳴りませんでした。良く考えてみると同じIOポート叩くから無理だなと 分かりました。 HDBENCH(v2.61)でNP21/WのWSN/A4FのNT4ドライバ性能計ってみました。 256色モードで計測 NT4.0は計測時256色モードの設定 Win2000は計測時はハードウェアアクセラレータを有効 NT4.0 WSN/A4F https://i.imgur.com/WRdQZtd.jpg NT4.0 PCI CL-GD5446 https://i.imgur.com/E7BHWcz.jpg Windows2000 WSN/A4F https://i.imgur.com/e09GYj2.jpg NT4.0のパッチの補完を行っています お一つでもお持ちでしたらよろしくおねがいいたします IE-KB839645-WindowsNT4sp6-x86-JPN.EXE WindowsNT4Server-KB823182-NEC98-JPN.EXE WindowsNT4Server-KB830352-NEC98-JPN.EXE WindowsNT4Server-KB830352-x86-JPN.EXE WindowsNT4Server-KB828028-NEC98-JPN.EXE WindowsNT4Server-KB839645-NEC98-JPN.EXE WindowsNT4Server-KB839645-x86-JPN.EXE WindowsNT4Workstation-KB823182-NEC98-JPN.EXE WindowsNT4Workstation-KB828028-NEC98-JPN.EXE SL9821にて、三国志4-実FDでの起動ができた ヽ(´ー`)ノ だけっす。 詳細は省略します、T98-next+実FDD+正規ゲームディスクの場合 OP後の「ゲームディスクを第1ドライブへ入れろ」から進まんかった。 SL9821+USB-FDD だと そこから進んだー やったぜ。 でも すぐにハング?しちゃった。 SL9821の場合、OP前の設定画面から ほぼ真っ黒だった。 OPが始まっても 音だけで真っ黒のまま(KOEIロゴはでてくる)。 あと、USB-FDD_2台という環境だと、うまく動いてくれないようだ。 (2台目FDDへアクセスしようとしたときに止まる?っぽぃ) 9821初代実機でも試してみたが、 普通にOPも見られて 普通にプレイできた、なつかしか。 WAB-S WSN-AxF解析中 ポート一覧 40E0h _ATT_ADDRESS_PORT 40E0h _ATT_DATA_WRITE_PORT 41E0h _ATT_DATA_READ_PORT 42E0h _MISC_OUTPUT_REG_WRITE_PORT 43E0h _INPUT_STATUS_0_PORT 44E0h _SEQ_ADDRESS_PORT 46E0h _DAC_PIXEL_MASK_PORT 46E0h _HIDDEN_DAC_REG_PORT 47E0h _DAC_STATE_PORT 48E0h _DAC_ADDRESS_WRITE_PORT 49E0h _DAC_DATA_REG_PORT 4AE0h _FEAT_CTRL_READ_PORT 4CE0h _MISC_OUTPUT_REG_READ_PORT 4EE0h _GRAPH_ADDRESS_PORT 4FE0h _GRAPH_DATA_PORT 54E0h _CRTC_ADDRESS_PORT_COLOR 55E0h _CRTC_DATA_PORT_COLOR 5AE0h _FEAT_CTRL_WRITE_PORT_COLOR 5AE0h _INPUT_STATUS_1_COLOR 5AE0h _ATT_INITIALIZE_PORT_COLOR 46E8h _ADAPTER_SLEEP_PORT 40E1h _CF_REG_PORT 42E1h _XMEM_REG_PORT 51E1h _SGC2_STAT_PORT 57E1h _WAP_SW_PORT 5BE1h _MUTE_PORT 0000h _dWAB_PORT 40E0h _VgaAccessRange https://github.com/whatisaphone/tower-pc/blob/master/docs/video/vgadoc4b/CIRRUS.TXT 46E8h (R/W): Adapter Sleep Address Register (5424-29) 46E8h(R / W):アダプタースリープアドレスレジスタ(5424-29) ビット3 ビデオサブシステムイネーブル。 セットするとチップが有効になり、クリアすると チップは無効になっており、このレジスタ、102hと BIOS、他のすべてのレジスタ、およびビデオメモリは応答しません。 ビット4 セットアップ。 設定すると、チップはセットアップモードになり、このレジスタと 102hはアクセスできますが、他のレジスタおよびディスプレイメモリはアクセスできません このビットがクリアされた場合、チップは通常モードです。 注:これは3C3hと同じレジスタです。 レジスタは3C3hでマップされ、 46E8hまたはバスとチップタイプに応じて無効。 5420および5422 常に46E8hでマッピングします。 5424-29は3C3h(マザーボード システムCF [3] = 0)または46E8h(CF [3] = 1)のビット3に応じて 電源投入時にMD [16-31]からサンプリングされる構成レジスタ。 マイクロチャネルシステムはこのレジスタを無効にします Laboratory for PC-9821 http://darudarudan.syuriken.jp/kai/pc9821.htm#GD54xx GD5428/5430/5440を使う Cirrus Logic の低速と言われたグラフィックチップ GD5440 を使用します。 (ただし、ビデオ・アクセラレーションは ViRGE を超える性能を持つ。) 世代の遅れたチップをいつまでも使い続けたNECは何を考えているのやら。 対応機種は BX4,Bp,Bs,Be,Bf,Cb2以降,Cx2以降,Xe10,Xa7e,V7以降等。 (EPSON PC-486/586 で GD5428/GD5429 を搭載した機種も仮対応。) また拡張ボード PC-9801-96,GA_98NB,WAB,WSN_A も動作可能なハズ。 解像度は 640x480 および 800x600 に対応、(1024x768は調整中) 色深度は256色およびハイカラー(16bit)に対応しています。 低解像度の周波数の調整が甘いかも知れない。 (水平同期が 31.4KHz になってるのを 31.5KHz にすべきか。) gd54xx.lzh 2012/04/01 gd54xx.lzhのgd54xx.cより g_alpine.portoff = i; g_alpine.reg40E1 = 0x40E1 + i; g_alpine.reg3C0 = 0x40E0 + i; g_alpine.reg3C1 = 0x41E0 + i; g_alpine.reg3C2 = 0x42E0 + i; g_alpine.reg3C3 = 0x43E0 + i; g_alpine.reg3C4 = 0x44E0 + i; g_alpine.reg3C5 = 0x45E0 + i; g_alpine.reg3C6 = 0x46E0 + i; g_alpine.reg3C7 = 0x47E0 + i; g_alpine.reg3C8 = 0x48E0 + i; g_alpine.reg3C9 = 0x49E0 + i; g_alpine.reg3CA = 0x4AE0 + i; g_alpine.reg3CC = 0x4CE0 + i; g_alpine.reg3CE = 0x4EE0 + i; g_alpine.reg3CF = 0x4FE0 + i; g_alpine.reg3D4 = 0x54E0 + i; g_alpine.reg3D5 = 0x55E0 + i; g_alpine.reg3DA = 0x5AE0 + i; g_alpine.reg102 = 0x42E0 + i; g_alpine.reg46E8 = 0x46E8; outportb( g_alpine.reg46E8 , 0x18 ); outportb( g_alpine.reg102 , 0x01 ); outportb( g_alpine.reg46E8 , 0x08 ); outportb( g_alpine.reg3C2 , 0xEF ); outportb( g_alpine.reg3D4 , 0x27 ); NT4.0のドライバも同じような処理をしているコードがありました。 WSN-A用のコードはこっちでした。 g_alpine.portoff = i; g_alpine.reg40E1 = 0x40E1 + i; g_alpine.reg3C0 = 0x40E0 + i; g_alpine.reg3C1 = 0x41E0 + i; g_alpine.reg3C2 = 0x42E0 + i; g_alpine.reg3C3 = 0x43E0 + i; g_alpine.reg3C4 = 0x44E0 + i; g_alpine.reg3C5 = 0x45E0 + i; g_alpine.reg3C6 = 0x46E0 + i; g_alpine.reg3C7 = 0x47E0 + i; g_alpine.reg3C8 = 0x48E0 + i; g_alpine.reg3C9 = 0x49E0 + i; g_alpine.reg3CA = 0x4AE0 + i; g_alpine.reg3CC = 0x4CE0 + i; g_alpine.reg3CE = 0x4EE0 + i; g_alpine.reg3CF = 0x4FE0 + i; g_alpine.reg3D4 = 0x54E0 + i; g_alpine.reg3D5 = 0x55E0 + i; g_alpine.reg3DA = 0x5AE0 + i; g_alpine.reg102 = 0x42E0 + i; g_alpine.reg46E8 = 0x46E8; outportb( 0x42E1+i , 0x08 ); if( inportb( 0x51E1+i ) == 0xC2 ) { outportb( 0x57E1+i , inportb( 0x57E1+i ) & 0x7F ); } outportb( g_alpine.reg46E8 , 0x18 ); outportb( g_alpine.reg102 , 0x01 ); outportb( g_alpine.reg46E8 , 0x08 ); outportb( g_alpine.reg3C2 , 0xEF ); outportb( g_alpine.reg3D4 , 0x27 ); NT4.0のドライバも同じような処理をしているコードがありました。 NT4.0のドライバの機種判定がうまくいっていないので 1024x768のTrue color(32bit)が出ないようです。 ドライバ自体は対応しているようです。そこでドライバを適当にパッチしてみたら 表示できました。(たぶんNT4.0でもいけます。) https://i.imgur.com/0kZrycH.jpg 具体的には WGSNA.SYS アドレス0x4144 7538 → 9090 (PEチェックサムの修正も忘れずに) このパッチだとHigh color(16bit)とTrue color(32bit)は1024x768の解像度でしか 正常に表示できないです。640x480と800x600の表示が乱れます 判定正常化するには次のポートが関係している? 0x51E1 -> 初期値は0xC2? 0x57E1 -> 初期値は0x7F? >>158 なぜかNP21/W rev73β3だと作動が不安定なときがあります。 とりあえずNP21/W rev47で動かしました。 NT4.0 1024x768 Truecolor https://i.imgur.com/bfJVnsf.jpg NT3.51でも同様なドライバ改造でいけました。 WAB.SYS アドレス0x19A6 751D → 9090 (PEチェックサムの修正も忘れずに) NT3.51 1024x768 Truecolor https://i.imgur.com/aC6x86Q.jpg >>148 rev47の間違いでした。 NP21/W rev47でWindows2000でNT4.0のWSN-A2F/A4Fドライバで256色モード(ハードウェアアクセラレータ無効) で表示できることを確認しました。 rev48以降は黒画面になってしまいました。 インチキ改造ドライバで32bitカラー高解像度が表示できたのは NP21/W rev47だけです。 一度改造ドライバ入れて、元のドライバに戻してもレジストリに設定が記録されるようで 32bitカラー高解像度で表示されるようです。rev73β3では改造ドライバ使用時やその設定 が残っている状態だと黒画面でデスクトップが表示されないようです。 >>133 >>135 微妙に間違えていました。 NT4.0 rev25〜rev28ならGUI画面が乱れずに映るようようになりました。 しかし文字が表示されないのとマウスカーソルか白枠になります。 rev29〜rev44はマウスカーソスの白枠が表示されなくなりました。(マウスカーソル位置が確認できない) rev45ではGUI画面が真っ黒で何も見えなくなりました。 NT3.51 GUI画面 rev25〜rev28 画面一面が白 rev29〜rev44 画面一面が黒 画面一面が白か黒で操作不能。 rev73β3の動かなかったのrenderのDirectxの設定弄っていたうえに、NP21/W 起動中に解像度・色数変更していたのが原因だったわ。 NT3.51、NT4.0、Win2000でドライバ改造による32bitカラー高解像度表示も、 普通のドライバによる表示もできました。 rev73β3ではWSN-Aの640x480と800x600解像度でHigh ColorとFull Colorで 画像が乱れる問題は解消しています。 rev47の場合はWSN-AのHigh ColorとFull Colorは1024x768の解像度でしか 正しく表示されません、(しかし改造ドライバを使わないと1024x768のHigh ColorとFull Colorは 使えないというヲチ) いままで何か勘違いしていたようだ。 1024x768の画面はドライバ改造しなくても87Hz インターレースwを選べば普通に表示できる ことが分かりましたorz NT3.51でHDBENCH動かしてみたら驚きの結果に。 NT3.51は画面モード変更に再起動が必要なので65536色で計測 DirectXは無いのでバグって128という数値が出ています。 WSN-A4F https://i.imgur.com/BTF13fc.jpg GA-98NBIV https://i.imgur.com/MeKS6Sf.jpg CL-GD5446 PCI https://i.imgur.com/weNbp1K.png GA-98NBIVがCL-GD5446 PCIよりも速いという結果に!! I-O DATAのドライバはチューニングが凄いという噂は本当なんですね DOSBOX-X 0.82.8でPC-98のマウスが動くようになったけど、 DOSBOX-X 0.82.9で動かなくなったと思い込んでいたのですが、 Ctrl+F10押して手動でマウスをロックすれば使えるようです。 PEGCについての情報 /人'A`;人\ 2020年4月2日(木) 19:13 修正 >packed pixel ご存じでないとは思いませんが,室蘭プログラミングクラブの資料に情報があります. https://web.archive.org/web/20051120081716/http ://www2.muroran-it.ac.jp/circle/mpc/program/pc98dos/256mode.html >プログラマーズバイブルといったタイトルの書籍 MATEの"グラフィック256色表示" 関連はpp.429−440(但しpp.434-435はH98)にあります.お持ちでないとは思いませんが,一応当該ページをデジカメで撮影しました(480x640ピクセルgif画像10枚). 256色2画面(物理的に可能かどうか知りまへんが)を扱えるDOS版N88BASIC(86)が出て欲しかったですなぁ・・・・・しかしMATEの頃はもうユーザー自身がプログラムを作る時代ではなかったでしょうし・・・ MSD.EXE(マイクロソフト診断ツール)のVモード 256colorsって表示初めてみたわ https://i.imgur.com/MZL70SP.jpg DOSBOX-XのPC-98モードでWindows95 OSR2を起動させてHDBENCH動かしてみたらめちゃ 速かった。CPUは350MHz程度の性能がありますね https://i.imgur.com/WZYsZ8t.jpg Stas'M @x86corez · 4月4日 #ReactOS bootvid driver for #PC98! Palette is wrong, but stylish :) thanks to #NP21W #PC9821 emulator by @simk98l https://pbs.twimg.com/media/EUtTXbZXYA4EMon?format=png& ;name=small Makoto Kamada @kamadox · 2019年3月25日 返信先: @gorry5 さん, @TransAmGTA92 さん, @shinsan68k さん CL-GD5434 のマニュアル類は一般に販売されていませんでしたが、TS-6BGA のプログラミングに役立つ技術資料やサンプルプログラムは添付 FD に収録されています。BITBLT 関係は 1996 8/1 版から。1996 6/1 版の人は新しい版をダウンロードすることができました。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.4 2024/05/19 Walang Kapalit ★ | Donguri System Team 5ちゃんねる