NP2kai/x11
2019-04-21 12:58:14 +09:00
..
contrib/udev replace libretro-common 68 2019-03-21 20:48:05 +09:00
debug replace libretro-common 68 2019-03-21 20:48:05 +09:00
ext replace libretro-common 68 2019-03-21 20:48:05 +09:00
gtk2 Multiple x100 2019-04-21 12:58:14 +09:00
misc replace libretro-common 68 2019-03-21 20:48:05 +09:00
resources replace libretro-common 68 2019-03-21 20:48:05 +09:00
autogen.sh first commit 2017-06-21 18:17:35 +09:00
cmmidi.c replace libretro-common 68 2019-03-21 20:48:05 +09:00
cmmidi.h replace libretro-common 68 2019-03-21 20:48:05 +09:00
cmpara.h replace libretro-common 68 2019-03-21 20:48:05 +09:00
cmserial.c replace libretro-common 68 2019-03-21 20:48:05 +09:00
cmserial.h replace libretro-common 68 2019-03-21 20:48:05 +09:00
commng.c replace libretro-common 68 2019-03-21 20:48:05 +09:00
commng.h replace libretro-common 68 2019-03-21 20:48:05 +09:00
compiler.h replace libretro-common 68 2019-03-21 20:48:05 +09:00
configure.ac replace libretro-common 68 2019-03-21 20:48:05 +09:00
dosio.c replace libretro-common 68 2019-03-21 20:48:05 +09:00
dosio.h replace libretro-common 68 2019-03-21 20:48:05 +09:00
drawmng.c replace libretro-common 68 2019-03-21 20:48:05 +09:00
drawmng.h replace libretro-common 68 2019-03-21 20:48:05 +09:00
fontmng.c replace libretro-common 68 2019-03-21 20:48:05 +09:00
fontmng.h replace libretro-common 68 2019-03-21 20:48:05 +09:00
ini.c replace libretro-common 68 2019-03-21 20:48:05 +09:00
ini.h replace libretro-common 68 2019-03-21 20:48:05 +09:00
joymng.c replace libretro-common 68 2019-03-21 20:48:05 +09:00
joymng.h replace libretro-common 68 2019-03-21 20:48:05 +09:00
kbdmng.c replace libretro-common 68 2019-03-21 20:48:05 +09:00
kbdmng.h replace libretro-common 68 2019-03-21 20:48:05 +09:00
kdispwin.c replace libretro-common 68 2019-03-21 20:48:05 +09:00
kdispwin.h replace libretro-common 68 2019-03-21 20:48:05 +09:00
main.c replace libretro-common 68 2019-03-21 20:48:05 +09:00
Makefile.am NP2 thread 2019-04-21 10:37:23 +09:00
mousemng.h replace libretro-common 68 2019-03-21 20:48:05 +09:00
np2.c replace libretro-common 68 2019-03-21 20:48:05 +09:00
np2.h replace libretro-common 68 2019-03-21 20:48:05 +09:00
oemtext.c replace libretro-common 68 2019-03-21 20:48:05 +09:00
oemtext.h replace libretro-common 68 2019-03-21 20:48:05 +09:00
README.ja replace libretro-common 68 2019-03-21 20:48:05 +09:00
scrnmng.h replace libretro-common 68 2019-03-21 20:48:05 +09:00
skbdwin.c replace libretro-common 68 2019-03-21 20:48:05 +09:00
skbdwin.h replace libretro-common 68 2019-03-21 20:48:05 +09:00
soundmng.c replace libretro-common 68 2019-03-21 20:48:05 +09:00
soundmng.h replace libretro-common 68 2019-03-21 20:48:05 +09:00
sysmng.c replace libretro-common 68 2019-03-21 20:48:05 +09:00
sysmng.h replace libretro-common 68 2019-03-21 20:48:05 +09:00
taskmng.c replace libretro-common 68 2019-03-21 20:48:05 +09:00
taskmng.h replace libretro-common 68 2019-03-21 20:48:05 +09:00
timemng.c replace libretro-common 68 2019-03-21 20:48:05 +09:00
timemng.h replace libretro-common 68 2019-03-21 20:48:05 +09:00
toolkit.h replace libretro-common 68 2019-03-21 20:48:05 +09:00
toolwin.h replace libretro-common 68 2019-03-21 20:48:05 +09:00
trace.c replace libretro-common 68 2019-03-21 20:48:05 +09:00
trace.h replace libretro-common 68 2019-03-21 20:48:05 +09:00
xnp2.jman1 replace libretro-common 68 2019-03-21 20:48:05 +09:00
xnp2.man1 replace libretro-common 68 2019-03-21 20:48:05 +09:00
xnp21.jman1 replace libretro-common 68 2019-03-21 20:48:05 +09:00
xnp21.man1 replace libretro-common 68 2019-03-21 20:48:05 +09:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Xnp2kai - ねこープロジェクトII for X Window System


1. はじめに

  ねこープロジェクトII はぷにゅ氏により作成された Windows 上で動作する
  i286 CPU を塔載した PC-9801 シリーズのエミュレータです。

  Xnp2kai はねこープロジェクトII を UNIX 系 OS で動作する様に移植したものです。


2. 動作環境

  X Window System が動作する UNIX 系 OS で動作します。


3. 必要なソフトウェア

  3.1. コンパイル時に必要なソフトウェア

    ・gcc
    ・GTK+ 2.6 以降

    以下は動作には必須ではありませんが、音を鳴らす場合等に必要になります。

    ・SDL (サウンド・ジョイスティックを使用する場合に必要です。)
      バージョンは 1.2.x もしくは 2.0.x に対応しています。
    ・SDL_mixer (フロッピーのシーク音等の PCM を再生する場合に必要です。)
    ・libusb 1.0 (C86BOX を使って FM 音源を再生する場合に必要です。)
    ・XFree86-VidModeExtension (画面解像度を変更するフルスクリーン機能を使用する場合に必要)

  3.2. 実行時に必要なソフトウェア

    画面解像度を変更しないフルスクリーン機能を使用する場合には、使用している
    ウィンドウマネージャが NETWM 規格に準拠している必要があります。

    NETWM 規格については以下の URL を参照してください。

      http://freedesktop.org/wiki/Standards/wm-spec


4. インストール

  Xnp2 のインストールはコマンドラインから以下の様に行います。

    $ ./configure
    $ make
    $ su
    # make install

  ※configure で指定できるオプションについては ./configure --help を実行して
    表示されるヘルプを参照してください。


5. 実行

  5.1. 実行方法

    プログラムの実行はコマンドラインから以下の様に行います。

      $ xnp2kai

    また、起動時にフロッピーディスクドライブにディスクイメージを挿入したい場合、
    以下の様にディスクイメージを引数に指定してください。

      例: FDD1 に system.d88、FDD2 に data.d88 を挿入して起動

        $ xnp2kai system.d88 data.d88

  5.2. 初期設定

   1) CPU クロックの設定
     メニューから [Emulate -> Configure...] を選択し、設定ダイアログを
     表示します。
     CPU クロックの既定値は PC-9801VX 相当の 10MHz になっています。
     処理落ちが発生してしまう様でしたら、クロックの設定を変更してクロック値を
     下げてください。

   2) サウンドの設定 (サウンド使用時のみ)
      CPU クロックの設定と同じダイアログで設定できます。
      サンプリングレートは処理速度に余裕があれば 44KHz に設定してください。
      サウンドバッファは処理が追い付く最低の値を設定してください。
      環境にもよりますが、速いマシンであれば 50100 ms、通常で 200ms 位が
      目安です。

   3) 設定の反映
     1)  2) を行った後、[Emulate -> Reset] で設定の反映を行います。
     サウンド使用時に起動音が鳴らない場合には、プログラムを一旦終了してから
     再度起動し直してください。

  5.3. 操作方法

    5.3.1. マウス
      3 ボタンマウスを使用している場合、中ボタンのクリックで X <-> PC-9801 間の
      マウス操作の切替を行います。

    5.3.2. キーボード
      キーボードは日本語 106 キーボードを使用する事を想定しています。
      ただし、PC-9801 キーボードとはキーボードレイアウトが異なる為、
      一部のキーを入れ換えてあります。入れ換えられているキーについては
      以下の表を参照してください。

      +-------------------------+----------------------------+
      |         PC-9801         |            106             |
      +-------------------------+----------------------------+
      | GRPH                    | Alt                        |
      | HELP                    | End, F12(*)                |
      | CAPS                    | ScrollLock                 |
      | NFER                    | 無変換                     |
      | XFER                    | 変換/前候補/全候補         |
      | STOP                    | Pause/Break, F12(*)        |
      | COPY                    | PrintScreen/SysRq, F12(*)  |
      | カナ                    | カタカナ/ひらがな/ローマ字 |
      | テンキーの = [イコール] | F12(*)                     |
      | テンキーの , [カンマ]   | F12(*)                     |
      +-------------------------+----------------------------+
      (*) F12 キーのキー割り当てはメニューから変更できます。

      日本語 106 配列では無いキーボードでは入力できないキーがありますが、
      その場合にはソフトウェアキーボードから入力してください。
      ソフトウェアキーボードはメニューから Other -> Software Keyboard で
      表示されます。使い終ったソフトウェアキーボードは表示すると同じ手順を
      再度行う事で表示されなくなります。


6. ディスクイメージ

  Xnp2 では、直接 FDD からデータの読み書きは行なわずにディスクイメージより
  データの読み書きを行います。また、ハードディスクもフロッピーディスクと
  同様にディスクイメージよりデータを読み書きを行います。

  6.1. フロッピーディスクイメージ

    Xnp2 ではベタ形式および D88 形式のフォーマットが利用できます。

    6.1.1. フロッピーディスクイメージの使用方法

      フロッピーディスクイメージを使用するには、メニューから
      [FDD -> Drive[12] -> Open...] を選択すると表示されるファイル選択
      ダイアログで使用するディスクイメージを選択してください。

    6.1.2. フロッピーディスクからイメージ作成

      (注) イメージを作成する際にはフロッピーディスクを書き込み禁止に
           してください。

      UNIX 上では dd を使用してフロッピーディスクからベタ形式のディスク
      イメージを作成する事が可能です。ただし 1.25MB のディスクを扱うには
      フロッピーディスクドライブと OS が 1.25MB フォーマットに対応して
      いる事が必要です。

      以下の様なコマンドでフロッピーデバイスからファイルに書き出す事で
      ディスクイメージが作成できます。
      (フロッピーデバイスのパスは各 OS で違うので、使用している OS の
       デバイスパスに置き換えてください。)

        dd if=/dev/rfd0d of=diskimg.xdf

      MS-DOS や Windows でのディスクイメージの作成方法については、
      以下の章で示されているヘルプを参照してください。

    6.1.3. 新規フロッピーディスクイメージ作成

      Xnp2 の機能を使用すると D88 形式のディスクイメージを作成できます。

      1) [Emulate -> New Disk...] を選択すると、ファイル選択ダイアログが表示
         されます。

      2) ディスクイメージを作成するディレクトリとディスクイメージファイル名を
         設定し、「OK」ボタンを押します。

      3) 新規フロッピーディスクイメージダイアログが表示されるので、作成する
         ディスクイメージの種別とラベルを設定します。

  6.2. ハードディスクイメージ

    Xnp2 では THD 形式(T98)、NHD 形式(T98-Next)、HDI 形式(Anex86) の
    SASI ハードディスクイメージが利用できます。

    6.2.1. ハードディスクイメージの使用方法

      ハードディスクイメージを使用するには、メニューから
      [HardDisk -> SASI[12] -> Open...] を選択すると表示されるファイル選択
      ダイアログで使用するディスクイメージを選択してください。
      選択したハードディスクイメージ使用するには [Emulate -> Reset] を実行
      してください。

    6.2.2. 新規ハードディスクイメージ作成

      Xnp2 の機能を使用すると THD 形式のディスクイメージを作成できます。

      1) [Emulate -> New Disk...] を選択すると、ファイル選択ダイアログが表示
         されます。

      2) ファイル選択ダイアログの [他のフォルダ] をクリックし、ダイアログを
         拡張します。

      3) 作成するディスク形式、ディスクイメージを作成するディレクトリと
         ディスクイメージファイル名を設定し、「OK」ボタンを押します。

      4) 新規ハードディスクイメージダイアログが表示されるので、作成する
         ディスクイメージの容量を設定します。


7. コマンドラインオプション

    --config-file <filename>
      起動時に読み込む設定ファイルを指定します。また、このオプションが指定
      されるとホームディレクトリとして、設定ファイルの存在するディレクトリ
      を使用します。非指定時には $(HOME)/.config/xnp2kai/np2rc を使用します。

    --timidity-config <filename>
      Xnp2 に内蔵されている TiMidity 互換のソフトウェア MIDI 音源で使用する
      音源設定ファイルを指定します。非指定時は $(HOME)/.config/xnp2kai/timidity.cfg を
      使用します。


8. USB 接続 FM 音源

  8.1. サポート機器

    Xnp2 では USB 接続 FM 音源をサポートしています。
    現在サポートしている機器は以下となります。

    ・SPFM Light (http://www.pyonpyon.jp/~gasshi/fm/spfmlight.html)
      RE:birth モジュール RE1-YM2608 との組み合わせで動作確認済み

    ・C86BOX (http://c86box.com/)
      PC-9801-86 との組み合わせで動作確認済み

  8.2. 使用方法

    これらの機器を使用するためには Xnp2 を root ユーザで実行する、もしくは
    機器にアクセスするためのデバイスファイルをユーザから読み書きできる権限を
    付与する必要があります。
    Xnp2 を root ユーザで実行するのはお勧めしておりませんので、以下の方法で
    通常のユーザからアクセスできるようにしてください。

    8.2.1. Linux

      お使いの OS が Linux で udev を使用している場合、/etc/udev/rurles.d に
      以下の内容を記載したファイルを作成する事により、機器を接続した際に
      機器にアクセスするためのデバイスファイルが自動的に一般ユーザから
      読み書きできる設定が行われるようになります。

      ファイル名: /etc/udev/rules.d/70-external-fm-sound.rules
      ----- ここから
      ACTION!="add", GOTO="external_fm_sound_end"
      SUBSYSTEM=="tty", IMPORT{parent}="ID_VENDOR_ID", IMPORT{parent}="ID_MODEL_ID"
      # C86BOX
      SUBSYSTEM=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="27d8", MODE="0666"
      # SPFM Light (a.k.a. FTDI FT232RL)
      SUBSYSTEM=="tty", KERNEL=="ttyUSB*", ENV{ID_VENDOR_ID}=="0403", ENV{ID_MODEL_ID}=="6001", MODE="0666"
      LABEL="external_fm_sound_end"
      ----- ここまで

    8.2.2. NetBSD

      8.2.2.1. ログイン時設定

        /etc/ttyaction に以下の内容を追加する事により、ログイン時にデバイス
        ファイルの権限が自動的にログインユーザ、もしくは一般ユーザから
        アクセスできるようになります。

        ----- ここから
        ttyE0   *       chown ${USER}:wheel /dev/ugen[0-9]*.* /dev/usb /dev/usb[0-9]*
        ttyE0   *       chmod go-rw /dev/ttyU*
        ttyE0   login   chmod go+rw /dev/ttyU*
        console *       chown ${USER}:wheel /dev/ugen[0-9]*.* /dev/usb /dev/usb[0-9]*
        console *       chmod go-rw /dev/ttyU*
        console login   chmod go+rw /dev/ttyU*
        ----- ここまで

      8.2.2.2. chmod 実行

        root ユーザで必要なデバイスファイルの権限を設定します。
        ただし MAKEDEV すると元のアクセス権限に戻ってしまいます。

        # chmod go+rw /dev/ugen* /dev/ttyU*

    8.2.3. その他 OS

      お使いの OS のマニュアルや Web ページを参考にしてください。


9. 備考

  ・man page がインストールされていれば man xnp2 でマニュアルが表示されます。

  ・このマニュアルや man page に書かれている以上の情報が欲しい場合は、
    以下の URL にあるヘルプを参照すると見つかるかもしれません。

      Xnp2 help URL: http://www.nonakap.org/np2/html/help/ja/


10. 問題点

  ・解像度変更をするフルスクリーン機能を使用している際に、元の画面解像度が
    640x480以外の場合に仮想画面がスクロールしてしまう。

  ・NetBSD では SPFM Light が使用できない。
    SPFM Light との通信に使用する uftdi(4) が 1.5Mbps の通信速度に対応して
    いないため。


11. 免責事項・著作権

  11.1. 免責事項

    Xnp2 は無保証です。Xnp2 の使用によって得られたいかなる利益・損害に対しても
    作者は責任を負いません。

  11.2. 著作権

    本ソフトウェアの著作権、その他の知的財産権は、日本法に準拠する為、
    ねこさん開発ちーむが所有しています。

    ねこープロジェクトのソースコードは修正 BSD ライセンスです。Xnp2 固有部分の
    ソースコードも修正 BSD ライセンスとします。再配布時の著作権表示の義務は
    ありません。


12. 連絡先

  本ソフトウェアの配布元は http://www.nonakap.org/np2/ です。

  本ソフトウェアに関する問い合わせは
   NONAKA Kimihiro (埜中公博) / nonakap@gmail.com
  まで電子メールにてお願いします。