------------------------------------------------------------------------------ Qvision 製 WINnote98 / SOUNDnote98 を WindowsSoundSystem として使う仮想86ドライバ for x486 or VEM486 Version 1.3 by KEY ------------------------------------------------------------------------------ ●機能概要 Qvision 製の WINnote98 / SOUNDnote98 は、98noteおよびその互換機 用の PCM音源 + FM音源 + SCSI-I/F + Windows用アクセラレータ[WINnoteのみ] という製品です。 この製品の機能はなかなか素晴らしいものなのですが、DOSから使用で きるのはSCSIとFM音源部のみで、PCM部とアクセラレータ部はWindows上 でないと利用できないという、ちょっと悲しい状態でした。 そこで! このWINnote/SOUNDnote98のPCM音源部を、DOSからも使える ようにするのがこのドライバです。 PCM音源部に使用されているのは、CanBeやX-MATEに搭載されているWSS と同じCS4231というチップですが、WSSとは実装されているI/Oポートや 割り込み、DMAの割り当て方法などが異なります。 そこで仮想86モードの保護機能を利用し、DOSからWSSと同じように見 せるようにしよう、というわけです。 これによって、WSSを利用するDOS用のソフトやゲームが、WINnote98や SOUNDnote98で利用できます。 ●前バージョン(ver1.2)との差異 ・初期化時にLine-Inをthrough出力するようにした。 ・ウェイトを若干増やした。 詳しい理由は後述しますが、高速CPU対策です。 ・(VEM486版のみ)VEM486の確認方法を xnferchg 1.04 に準拠した。 ・Win95暫定対策用実行ファイルを付属。 ●動作が確認できたソフト <ソフト名 / バージョン / 作者名(敬称略)> <状態> WSSPLAY.COM WSSREC.COM / ver.1.9 / こうの たけし /d3 オプションは使用できません。 MACSDRV.COM / ver.1.01 / S.Iwaki(MIRO) こうの たけし 問題なし。 MASL.EXE / ver.1.4 / KUNI-soft/AOI☆/TDU応情研 -XW オプションでPCM音源を利用するようになります。 FPD.COM / ver.2.50 / 藤井秀樹(MKR) デフォルトではDMA3を使うので、/N0オプションにて DMA0を使用するように指定する必要があります。 再生中、ごくまれに止まってしまうことがありますすが、 しばらく待っていると(2〜3分(^^;)回復するようです。 AVSDRV.EXE / ver.4.10 Rev 1.00 / NEC Corporation 1986 組み込み・解放時に激しいノイズが鳴りますが、問題なく使用 できるみたいです。DOS6のディスクの中にはAVSDRVCS.SY_とい うファイル名で格納されているファイルで、WSS搭載マシンでは 標準でインストールされます(AVSDRV86.SY_とは排他的にイン ストールされるようです)。EXPAND.EXEにて解凍して得られる ファイルは実行ファイル兼デバイスドライバなので、.EXEにリ ネームすればこのファイルが得られます。 ●動作環境 ○WINnote98/SOUNDnote98を装備した98NOTEシリーズ、及びその互換機。 WINnote98/SOUNDnote98が装備できる機種は以下の通り。 NEC PC-9801 NS,NS/E,NS/T,NC,NA,NA/C,NS/R,NS/A,NX/C,NS/L PC-9821 Ne,Ns,Np(Ns,Npは拡張バス変換コネクタが必要) EPSON PC-386NOTE AR,AU PC-486NOTE AS,AU ○仮想86マネージャ 現在、以下の2つの仮想86マネージャに対応しています。 x486 Copyright (C) Ichikawa Soft Laboratory VEM486 Copyright (C) K.Ogino ○MS-DOS version 上に書いた仮想86メモリマネージャが動くバージョンのDOSが必要です。 x486 3.3 以降 VEM486 5.0 以降 ○開発環境 PC-9821Ne(iDX4-100/11.6M) + WINnote98 + MS-DOS 6.2 + MS-DOS 7.0 + x486 Release 7 + VEM486 version 1.29L ●使用法 x486編 XINST.EXE 及び XDEINST.EXE にパスが通っていて、 QVWSS.V86 がカレントにあるものとします。 コマンドラインより、 > xinst qvwss と打ち込みます。 インストールしました(ドライバID = ??) と表示されれば成功です。 EMBメモリが不足しています と言われたときは、EMB(XMS)が不足しているので、ラムディスクやディ スクキャッシュの大きさを少し削ってから、もう一度やり直して下さい。 XMSを使用するプログラムがあるときは、それを終了させたり、使用する XMSの大きさを減らして下さい。 組み込みを解除するには、組み込み時のメッセージのIDが n とすると、 コマンドラインから、 > XDEINST n と打ち込みます。IDが間違っていなければ、 デインストールしました と表示され、組み込みは解除されます。 VEM486編 QVWSS.EXE を実行させて下さい。EMSを1ページ使用します。 WINnote/SOUNDnote Virtual WSS Driver for VEM486 〜 組み込みました と表示されれば成功です。 EMSに空きページが無いときには組み込みは中止されます。 その場合はEMSの空きページを確保してから実行し直して下さい。 もう一度実行すると、組み込みが解除されます。 ●共通注意事項(少し難しい話ですが、必ず読んで下さい!) 最初に述べたとおり、WSSとWINnote/SOUNDnoteでは割り込みやDMAの割 り振りが異なります。I/Oポートはどうにでもなりますが、割り込みや DMA はアプリケーション側で制御が直接行われるため、エミュレートす るのは難しく、このドライバではそこまでサポートしていません。従っ て、共有できる範囲内でしか設定ができないということになります。 以下に使用する資源の一覧を示します。 INT DMA WSS 0/1/41/5 0/1/3 WINnote98 0/1/2/3 0/3 これより、共有できる設定としては、INT0/INT1とDMA0/DMA3だけです。 しかし割り込みに関しては、INT1 をSCSIインターフェイスで使用して しまうので、必然的に INT0 しか利用できないということになります。 (SCSIが未接続の場合にはINT1も利用できるかもしれませんが、未対応 です) DMAチャネルは、DMA0 と DMA3 が共有できますが、DMA3 に設定しよう とするとSCSIインターフェイス側に不都合を起こすようで、設定する方 法がどうにもわかりません(はっきり言って謎〜)。 DMA3に設定する方法が今の所わからないので、プログラム側でDMA3にし ようとしてもDMA0に設定してしまいます(現時点での仕様です)。従っ てその場合には音が鳴りません。注意して下さい。デフォルトでDMA3を 使うようなプログラムである場合は、オプションでDMA0を使用するよう に指定して下さい。 そんなわけで、使用できるのはINT0,DMA0で固定ということになります。 このドライバでは拡張サウンド機能のIDとして、PC-9821Npと同じIDを 返しています。こうすることでWSSを使用するプログラム側でDMA1を使用 しません。(98noteはDMA1をIDE-HDD用として使用するためです) また、Npは割り込み番号の初期化がされていないので、割り込みを設定 する際に必ずソフトウェアディップスイッチを参照します。そこで、ド ライバが組み込まれている間は、その内容を変化させ、強制的にINT0を 使用させるようにしています。 基本的には、このドライバを組み込む事でNp互換のWSSになると考えて 下さい。 WSSにはI/Oアドレスを再配置する機能がありますが、このドライバでは サポートしていません。重複して困るような場合がある時はドライバを 解除してください。 ●Windows95用デバイスドライバについて  WINnote98/SOUNDnote98用のWindows95デバイスドライバがQvisionから 有償で配布されましたが、このドライバはCPUを高速なものに載せ変えて いる場合だと、初期化できずに組み込まれないという症状が頻繁に発生 します。おそらく初期化ルーチン内でのウェイトが足らないためだと思 われます。いろいろ試してみた結果、このアーカイブに付属の INITHMY をDOS-BOX内で実行してから、「コントロールパネル」から「システム」をダブルクリック するか、または「マイコンピュータ」を右クリックして「プロパティ」を選択して、 デバイスマネージャ > Winnote98/Soundnote98 SOUND > プロパティ > ドライバ > ドライバの変更 > OK > OK とすると、正常に組み込まれる時があります。  しかし、やはりうまく行かない場合が多く、詳しい原因究明と対策を 今も行っている最中です。もしかしたらQvision側でも対策をしているか もしれません(が、あんまり期待できない(--メ)。 ●転載条件など SOUNDnote98で使用して動作が確認できたら、必ず連絡して下さい。 それ以外は特に連絡の必要はありません。 Nifty-ServeへはNegiKamo氏により代理アップしていただく予定です。 このソフトはフリーソフトウェアです。このアーカイヴに含まれる全て のファイルの著作権は私(KEY)が保有します。 それなりに危険性を含みますが、当然ながら無保証です。各自の責任に おいて使用して下さい。 株式会社 キュービジョン とは一切関係ありませんので、連絡などをな さらぬようお願いします。特に、WINnote98の解析資料に関しては、私 個人が勝手に解析した物なので、これに関する問い合わせは、著作者で ある私までお願いします。 ●感謝 いつも使用させて頂いている以下のフリーソフトウェアの作者に感謝し ます。(順不同・敬称略) LHA version 2.55b Copyright (c) H.Yoshizaki(吉崎栄泰), 1988-92 LHE SuperFast LZH Extract Utility ver. 1.32 by TEA WD ver 1.13 Copyright (C) 1994 Muckey / Windy MIEL(98) 2.57 (C)1989-95 By A.Idei & Y.Shimizu 30n行環境 [ TT.com Ver1.51 ] Copyright (C) by 「早紀」 VEM486 Version 1.29L Copyright (C) 1995 K.Ogino ySTEALTH ver0.92c (C)Copyright 1994,95 Mzaki HISTORY.COM (Ver 4.48x) (C) 1986,87,88 by T.Oka VTZ v1.05B Copyright(C) 1993 ZOBplus Hayami VEM486版の不具合の修正にあたり、いろいろとご指導頂いた K.Ogino氏、S-bug氏、INET氏、Mzaki氏、 Nifty-Serveへの代理アップを引き受けて下さった NegiKamo氏、 どうもありがとうございます。 ●開発環境詳細 Hardwear: PC-9821Ne [ CPU iDX4-100 / RAM 11.6M / HDD 500M ] + PCM-98n + WINnote98 + LMO-450H + ECD-500 Softwear: Turbo Assembler Version 3.2 (c) 1988,1992 Borland International Turbo Link Version 3.0 (c) 1987,1990 Borland International MAKE Version 3.6 (c) 1992 Borland International VZ Editor Version 1.60 Copyright (C) 1989-93 by c.mos x486 Copyright (C) Ichikawa Soft Laboratory 1994. ●参考資料 このプログラムの作成に当たって、以下の文献・資料を参考にさせて頂 きました。(順不問・敬称略) TheBASIC 1994.12 技術評論社 PC-9821シリーズの新PCM音源 CS4231をDOSから使う 河野 健 著 X386.MAC / 他 Copyright (C) Ichikawa Soft Laboratory VEMBIBLE.TXT VEM486 ファンクション BIBLE Release 1.04 Copyright (C) 1996 K.Ogino XNFERCHG.ASM / XNFERCHG.INC / XNFERCHG.DOC XFER <-> NFER Changer for VEM486 version 1.04 Copyright (C) 1996 K.Ogino ●開発履歴 version 1.0 1995/12/18 ・公開 version 1.1 1995/12/21 ・SCSI-I/F部が反応しなくなっておかしくなる不都合を回避。 ・組み込み時に接続を調べるようにした。 version 1.2 1996/01/24 ・Windows Sound System ID (port 0f43h) もフックするようにした。 ・初期化時にFM音源の音をthrough出力するようにした。 ・初期化時のノイズを軽減した。 ・VEM486版の不具合を直した。 version 1.3 1996/08/06 ・ウェイトを増やす。(高速CPU対策) ・Line-Inもthrough出力するようにした。 ・xnferchg ver1.04 に準拠する。(VEM486版) ・Win95暫定対策用実行ファイルを付属。 ●作者連絡先 まんぼうの赤ちゃん NEK00028 zob station BBS ZOB16362 The Keyboard Dancers TKD-0059 Mapletown Network MAP5605@mapletown.or.jp KEY