SL9821

はじめに

ダウンロード

使い方

前準備

設定

FAQ

実行画面

技術的なはなし

このページでは、SL9821の設定する内容を記述します。設定画面が表示されていないときはUIウインドウの左下のconfigボタンをクリックします。

1 System設定

ここでは、CPUのクロック設定とメモリサイズの設定、およびコプロセッサの有無を設定します。

CPUクロック
CPUの動作クロックを5MHzから500MHzの範囲で設定します。実際の動作クロックはホストコンピュータの性能に依存します。(実際にはどんなに速いPCでも100MHzはいかないと思います)。また、エミュレータ内部の動作状況により設定値を超える速度で動作することがあります。そのようになる理由については別途説明します。
拡張メモリサイズ
メモリサイズは1.6MBから14.6MBまでの範囲を1MB単位、または15.6MBから255.6MBまでの範囲を16MB単位で設定します。どちらの範囲で設定するかはチェックボックスで選択します。なお14.6MBを超えるメモリを設定した場合、14.6MBを超えるメモリ領域についてはエミュレータが独自に認識させているものなので起動直後に行われる自己診断プログラムでメモリチェックが14.6MBまでしか行われないのは正常な動作になります。
コプロセッサを使用する
コプロセッサを使用するか否かを選択します。通常はチェックしておいて問題ないと思います。

2 Display設定

エミュレータ画面のサイズおよび手動でリサイズしたときの挙動についての設定を行います。

スケーリング
エミュレータ画面のサイズはウインドウの境界をドラッグすることで変更可能ですが、整数倍にしないとモアレが目立つ場合があります。
そのため、0.5倍単位でエミュレータ画面をスケーリングを指定したい場合、プルダウンメニューからスケーリングを選択します。
ただし、ホストコンピュータの解像度を超えるサイズにはなりません。
400ライン表示時もVGA領域を表示する
PC-9821には従来の400ラインモードに加え、480ラインモードがあります。通常モードが切り替わるとエミュレータ画面の横サイズを基準に縦サイズをリサイズしますが、チェックボックスをチェックすることで常時縦サイズが480ラインとして画面表示を行います。
ウインドウサイズを表示サイズに合わせる
エミュレータ画面はウインドウをリサイズしたときそのウインドウの内側に収まるサイズで表示します。アスペクト比が合わずに表示されない部分は何も表示されず黒塗りになりますが、このチェックボックスをチェックすることでリサイズ終了後そのような余白がないサイズに再度ウインドウをリサイズします

3 HDD設定

ハードディスクイメージの選択および新規ハードディスクイメージの作成を行います。

IDEハードディスクイメージファイル
ハードディスクイメージはプルダウンメニューから選択するか、右のブラウザボタンをクリックしてファイルを選択します。
ハードディスクを取り外す場合は右端のボタンをクリックします。
新規ハードディスクイメージの作成
ハードディスクイメージは容量を指定してあらかじめファイルを用意しておく必要があります。サイズとファイル名を指定して作成をクリックことで新規作成できます。
バージョン0.1.xでは用意していたマウントボタンは、0.2.x以降ではレイアウトの関係上削除しました。新規作成したイメージを即時マウントする場合はテキストのコピー&ペーストを使用してください。
新規作成されたハードディスクはアンフォーマット状態なので、フロッピーディスクで立ち上げたMS-DOSのFORMATコマンドでフォーマットする必要があります
なお、ハードディスクの容量はIDE BIOSの内部の動作に合わせて、21MBから40MBを設定した場合は40MB、41MBから81MBを設定した場合81MB、82MBから120MBを設定した場合は120MBに自動的に切り上げて作成するようにしています。容量を設定する際には注意してください。

4 FDD設定

エミュレータ上のフロッピーディスクに、ホストに接続されたフロッピーディスクドライブを使用するかイメージファイルを使用するかの選択、およびイメージファイルの場合どのイメージファイルを使用するかの選択を行います。

ドライブ/イメージ選択
ラジオボタンでエミュレータ上のフロッピーディスクドライブをホストのフロッピーディスクドライブに割り当てるか、イメージファイルにするかを選択します。ドライブを選択する場合は、割り当てたいドライブのホストコンピュータ上のドライブレター、イメージファイルの場合はイメージファイルのファイル名を選択します。
フロッピーディスクイメージファイル
フロッピーディスクイメージをテキストで入力するか、右のブラウザボタンをクリックしファイルを選択します。メディアのイジェクトはブラウザボタンの上にあるボタンで行います。

なお、フロッピーディスクにイメージファイルを選択している場合、UIウインドウのフロッピーディスクアイコンでフロッピーディスクの選択、イジェクトができます。
アイコンのダブルクリックでファイルの選択画面が表示されます。
エクスプローラからアイコンにイメージファイルをドロップするとメディアをセットしたことになります。
メディアがセットされた状態でアイコンをドラッグし、アイコンの外でドロップするとメディアをイジェクトしたことになります。

5 CD-ROM設定

エミュレータ上のCD-ROMドライブに、ホストに接続されたCD-ROMドライブを使用するかイメージファイルを使用するかの選択、およびイメージファイルの場合どのイメージファイルを使用するかの選択、CD-ROMドライブを認識させるにあたりOSでチェックされるVendorIDおよびProductIDの設定を行います。

ドライブ/イメージ選択
ラジオボタンでエミュレータ上のCD-ROMドライブをホストのCD-ROMドライブに割り当てるか、イメージファイルにするかを選択します。ドライブを選択する場合は、割り当てたいドライブのホストコンピュータ上のドライブレター、イメージファイルの場合はイメージファイルのファイル名を選択します。
CD-ROMイメージファイル
CD-ROMイメージをテキストで入力するか、右のブラウザボタンをクリックしファイルを選択します。メディアのイジェクトはブラウザボタンの上にあるボタンで行います。CD-ROMイメージはISOファイルが使用できます。
CD-ROMドライブデバイス情報
PC-9821でCD-ROMドライブを使用するためにはNECCD.SYSというデバイスドライバを使用し、デバイスドライバでは接続ドライブの確認にCD-ROMドライブが情報として返すVendorIDとProductIDを使用します。エミュレータでは情報の要求が来た際ここに設定された値を返します。そのためここには実機が返すID情報と同じ値を入力しておく必要があります。この情報はPC-9821上で実行するツール、MKROMIMG.EXEを実行した際、プログラムの一番最後に画面上に出力します。

CD-ROMにイメージファイルを選択している場合、フロッピーディスク同様UIウインドウのCD-ROMアイコンでディスクの選択、イジェクトができます。

6 Sound設定

サウンド再生時に使用するサンプリングレート、再生用バッファサイズ、各サウンド要因別の音量調整を行います。

サンプリングレート
サンプリングレートを44100Hzと48000Hzのいずれかから選択します。この設定が適用されるのは、ビープ、SSG、FM音源です。なお、PCMの再生サンプリングレートはエミュレータ上での設定に依存、リズム音源は44100Hz固定になります。
バッファ
サウンドの再生はバッファアンダーフローによる音切れを抑制するため、ある程度まとまったサイズのバッファを用意する必要があります。
設定範囲は30msから150msです。基本的には環境依存ですが、ホストコンピュータがマルチコアの場合、50ms程度のバッファがあれば十分だと思います。シングルコアでは100ms以上の値を設定しても音切れが解消されない場合があります。
音量
音源ごとに基準音量の設定を行います。値はエミュレータ上で算出された音量に対し設定値の100分の1が乗算されます。

7 Keyboard設定

ホストコンピュータのキーとエミュレータ上のキーとの関係をカスタマイズします。
エミュレータ特有のキーとしてMENUキーとCOMBOキーを用意しています。デフォルトではそれぞれF12、F11キーに割り当てられています。
いずれのキーも他のキーと組み合わせて押下したとき、組み合わせていないときと異なるキーの押下情報をエミュレータに渡すことができます。たとえばF1キーを単独で押した場合はエミュレータ上でf・1が押されたものとし、COMBO+F1の組み合わせでキーが押された場合はvf・1が押されたものとする、といったことが可能です。
そのほかにMENUキーは単独で押された場合、UIウインドウをカレントウインドウにする機能も持ちます。これは後述のマウスイベントを完全にエミュレータに受け渡すモードからマウス操作をホストコンピュータへ戻すために使用します。

MENU/COMBOチェックボックス
MENUキーまたはCOMBOキーと組み合わせたときのキー割り当てを行う場合は該当のチェックボックスをチェックします。
ホストキー
左側のテーブルはホストのキーになります。カスタマイズしたいキーを選択すると、右側のエミュレータキーテーブルは現在設定中の値に変更されます
エミュレータキー
右側のテーブルはエミュレータ上のキーになります。左側でカスタマイズしたいキーを選択後に割り当てたいエミュレータ上のキーを選択します。
リセット
すべてのキーカスタマイズを削除し、デフォルトに戻します。

8 Mouse設定

エミュレータへマウスイベント(カーソルの移動、ボタンの押下)の渡し方を選択します。
マウスイベントをエミュレータウインドウ上にマウスがあるときのみ渡すモードと、エミュレータウインドウにすべてのマウスイベントを渡すモードがあります。いずれのモードもエミュレータウインドウがトップウインドウの時のみマウスイベントを渡すことになりますが、後者のモードの場合、マウスイベントとキーイベントのすべてがエミュレータ側に渡るため、ホストコンピュータに制御を戻す場合はキーボードの設定で割り当てたMENUキーを押す必要があります。

9 Joystick設定

FM音源チップが持つ汎用IOポートにジョイスティックが接続されているかどうかの状況の設定、接続されている場合のホストコンピュータに接続したゲームパッドの割り当て、およびボタンに割り当てるエミュレータ上でのボタンまたはキーのカスタマイズを行います。

ゲームポートを使用する
エミュレータの汎用IOポートをジョイスティックが接続されている状態にします。ここをチェックしないとエミュレータはジョイスティックを検出しません。
ゲームパッドの選択
DirectInputで検出したゲームパッドのうち、エミュレータで使用するゲームパッドを選択します。
キーカスタマイズ
ゲームパッドのボタンについてはキーボードのキーカスタマイズ同様カスタマイズが可能です。割り当てるキーはジョイスティックのボタンだけでなくキーボードのキーも割り当て可能です。

10 RS-232C設定

RS-232Cの制御をホストコンピュータにどのように渡すかを選択します。RS-232Cの機能については全般的に完成度が低いです。

使用しない
使用しません。エミュレータ上ではRS-232Cポートに何も接続されていないイメージです。
COMポート
ホストコンピュータのCOMポートに制御を渡します。
ターミナル
下のテキストフィールドに受信したデータを出力します(16進コード)。テスト的な実装なので通常使用では意味がありません。

11 DipSW設定

PC-9821ではHELPキーを押しながら電源をONすることでソフトウェアディップスイッチ設定画面を立ち上げることができます。
ここではエミュレータで変更できた方がよい設定について設定画面を立ち上げることなく変更可能にしているものです。
設定できるページはPAGE 2とPAGE 4の一部のみになります。
補足として、SCSIの割り込みレベルの0、1、2はそれぞれIRQ3、IRQ5、IRQ6に割り当てられます。