Last Updated 14, Jul 2000.
This page is written in Japanese(ISO-2022-JP).
[ Linux Room | Dosemu/V | xhime | Linux Links ]
[ xdos-1.0.0 | 0.99.13 ] [ dosemu-1.0.0 | 0.9913 | 0.679 | 0.601 ]

Dosemu/V :-)

dosemu とは、 Linux 上で動作する DOSエミュレータです。 ここでは、Windows 95/98 (= MS-DOS 7) を用いて、 Linux コンソール上で dosemu を日本語化する方法について説明します。 X Window System上での xdos 日本語化については、こちらを参照してください。

この日本語化した dosemu (以後``日本語 dosemu''と呼ぶことにします)上で、私は VZ(エディタ), FILMTN(ファイル管理ツール), MJL(グラフィックローダ) 等を動かし、 MSIME で漢字変換しています(^^;


dosemu-1.0.0 日本語化

日本語化は、Linux 2.0.36 上の dosemu-1.0.0 を対象として説明します。

なお dosemu から見て、ドライブ名と各ファイルシステムは、 次のように設定するように仮定して説明します。

	C: dosemu filesystem                (/var/lib/dosemu/hdimage)
	D: Windows 9X filesystem  /dev/hda1 (\windows に Windows 95/98 install)
	E: Linux filesystem       /dev/hda2 (/)

(参考までに、しょうちゃんの /etc/dosemu.confを見てみる)

以下に``日本語dosemu''の設定方法を説明します。

  1. 最初に dosemu-1.0.0 をインストールして、 dosemu が動作することを確認しておきます。
    以下は、Plamo 1.4.4 の例です。
    (1) ソースアーカイブ dosemu-1.0.0.tgz を使う場合
    www.dosemu.orgもしくは ミラーサイト等から dosemu-1.0.0.tgz を取得して、 適当な作業ディレクトリに展開します。
    (もし必要であれば、make する前に dosemu 1.0.0 日本語化パッチを 当ててください。dosemu 1.0.1 では当てなくても、 xdosがかなり実用的に使えるようになりました)
    次に展開した dosemu-1.0.0 にカレントディレクトリを移動して、 make を実行します。
    うまくコンパイルができたら、 root ユーザになって make install でインストールします。 なお、install 前には、mkfontdir にパスが通っているか?(which mkfontdir) 確かめた方が良いです。通ってない時は bash の場合: export PATH=$PATH:/usr/X11R6/bin でパスを設定しておきます。
    % tar zxvf /tmp/dosemu-1.0.0.tgz
    % cd dosemu-1.0.0
    % make
    You choose not to run ./default-configure, doing it now
    ./default-configure
    . ./base-configure  --enable-force-slang --enable-monoton-timing --enable-new-intcode --enable-aspi 
    creating cache ./config.cache
    checking host system type... i686-unknown-linux
    	      ...
    	      ...
    	      ...
    creating ./config.status
    creating Makefile.conf
    creating src/include/config.h
    
    Configure finished. Do 'make' to compile Dosemu.
    
    Now resuming make
    make[1]: Entering directory `/home/naka/dosemu-1.0.0j'
    make[2]: Entering directory `/home/naka/dosemu-1.0.0j/src'
    
    Starting DOSEMU VERSION.0 compile...
    
    -> IMPORTANT!
        - Please read 'QuickStart' file before compiling DOSEMU!
        - Location and format of DOSEMU files have changed since 0.50pl1!
    
    -> REQUIREMENTS for DOSEMU:
        - gcc 2.7.2
        - libc 5.4.7
        - Linux >= 2.0.28, 2.1.x >= 2.1.15
        - 16 megabytes total memory+swap
    
    ====> Press Enter to continue, or hit Ctrl-C to abort <====
    	      
    make[3]: Entering directory `/home/naka/dosemu-1.0.0j/src/tools'
    gcc -O2 tools86.c -o tools86
    make[3]: Leaving directory `/home/naka/dosemu-1.0.0j/src/tools'
    make[3]: Entering directory `/home/naka/dosemu-1.0.0j/src/commands'
    gcc -E -D__AS86__ --traditional -I../include exitemu.S  > exitemu.s
    	      ...
    	      ...
    	      ...
        -Wl,-b,a.out-i386-linux base/bios/bios.o env/video/vesabios.o \
        -Wl,-b,elf32-i386 \
        -Wl,-rpath,/usr/X11R6/lib -L/usr/X11R6/lib -lXext -lX11 -lXmu -larch_linux_slang-elf -lm -lc 
    lib/libbase_misc.a(disks.o): In function `read_sectors':
    disks.o(.text+0x415): the `llseek' function may be dangerous; use `lseek64' instead.
    
    ---------------------------------DONE compiling-------------------------------
    
     Now you must install DOSEMU. Make sure you are root and:
     make install
    
    
    make[2]: Leaving directory `/home/naka/dosemu-1.0.0j/src'
    make[1]: Leaving directory `/home/naka/dosemu-1.0.0j'
    % su
    Password: 
    bash# which mkfontdir
    which: no mkfontdir in (/usr/local/sbin:/usr/local/bin:/sbin:/usr/sbin:/bin:/usr/bin)
    bash# export PATH=$PATH:/usr/X11R6/bin
    bash# which mkfontdir
    /usr/X11R6/bin/mkfontdir
    bash# make install
    make[1]: Entering directory `/home/naka/dosemu-1.0.0j/src'
    
    -> Main DOSEMU files installation done. Installing the Xwindows PC-8 font...
    make -C ../man install
    make[2]: Entering directory `/home/naka/dosemu-1.0.0j/man'
    make[2]: Leaving directory `/home/naka/dosemu-1.0.0j/man'
    
    ---------------------------------DONE Installing-------------------------------
    
      - You need to configure DOSEMU. Read './doc/README.txt' and update your
      - configuration by copying/editing dosemu.conf from './etc' to '/etc'
      - After configuring DOSEMU, you can type 'dos' to run DOSEMU.
      - Use 'dosexec' instead of 'dos' to cause DOSEMU execute a DEXE.
      - Use 'xdos' instead of 'dos' to cause DOSEMU to open its own Xwindow.
      - Type 'xset fp rehash' before running 'xdos' for the first time ever.
      - To make your backspace and delete key work properly in 'xdos', type:
                    xmodmap -e "keycode 107 = 0xffff"
                    xmodmap -e "keycode 22 = 0xff08"
                    xmodmap -e "key 108 = 0xff0d"  [Return = 0xff0d]
    
      - Try ./commands/emumouse.exe -r if your INTERNAL mouse won't work
      - Try ./commands/unix.exe to run a Unix command under DOSEMU
    
    make[1]: Leaving directory `/home/naka/dosemu-1.0.0j/src'
    
    (2) インストールした dosemu-1.0.0 をテストします。
    ./first_test で FreeDos による動作確認のテストを行ないます。
    % su
    bash# cp ./etc/dosemu.users.easy /etc/dosemu.users
    bash# ./first_test
    
    Allocation completed: top at 0x12c8:0x0400
    CONFIG.SYS not found
    KERNEL: Boot drive = C
    
    DOS-C compatibility 3.31
    (C) Copyright 1995, 1996, 1997, 1998
    Pasquale J. Villani
    All Rights Reserved
    
    DOS-C version 1.0 Beta 2 [FreeDOS Release] (Build 1937).
    
    DOS-C is free software; you can redistribute it and/or modify it under the
    terms of the GNU General Public License as published by the Free Software
    Foundation; either version 2, or (at your option) any later version.
    
    For technical information and description of the DOS-C operating system
    consult "FreeDOS Kernel" by Pat Villani, published by Miller
    Freeman Publishing, Lawrence KS, USA (ISBN 0-87930-436-7).
    
    Running dosemu-1.0.0.0 compatibility, DosC patch 1
    Process 0 starting: command.com
    
    "Welcome to dosemu 1.0!"
    C:\>
    
    dosemu が立ちあがることを確認したら、 c:\exitemu で終了します。

    (3) dosemu のグループを作成しておきます。
    /etc/group に dosemu グループ(例では group id=20) を追加して root と自分のユーザ(例では naka)を追加しておきます。 dosemu グループは hdimage のアクセスパーミッションを 設定するために使用します。 以下の例は、Plamo 1.4.4 の場合なので、 ディストリビューションによって group id 等は違っていることがあります。
    ...
    mail::12:mail
    news::13:news
    uucp::14:uucp
    man::15:man
    dosemu::20:root,naka
    users::100:games
    nogroup::-2:
    
  2. Windows 95 をブートして、Windows 95 起動フロッピディスクを作ります。
    [Windows のヘルプ]->[起動ディスクを作るには [アプリケーションの追加と削除のプロパティ]->[起動ディスク]->[ディスクの作成]
  3. その Windows 95 起動フロッピディスク内の config.sys の JKEYB.SYS を REM文にして外します。 外さないと dosemu のバージョンによっては ハングアップします(^^;
    もし HIMEM.SYS があれば、 HIMEM.SYS も REM文にして外します。
    Windows 95 起動フロッピディスクの config.sys:
    DEVICE=BILING.SYS
    DEVICE=JFONT.SYS /MSG=OFF
    DEVICE=JDISP.SYS /HS=LC
    rem DEVICE=JKEYB.SYS
    rem DEVICE=HIMEM.SYS
    
  4. Linux をブートして、/etc/dosemu.conf と /etc/dosemu.users を 各マシンの環境にあわせて修正します。
    例:
    bash# vi /etc/dosemu.conf 
    
    ビデオカードに応じて、/etc/dosemu.conf 内で video 機能が有効になるように 設定しておく必要があります。
    例: Trident Cyber 9385
    $_video = "vga"         # one of: plainvga, vga, ega, mda, mga, cga
    $_console = (1)         # use 'console' video
    $_graphics = (1)        # use the cards BIOS to set graphics
    $_vmemsize = (2048)	# size of regen buffer
    $_chipset = "trident"	# one of: plainvga, trident, et4000, diamond, avance
    
    例: nVIDIA GeForce DDR などエントリに無いものは plainvga で
    $_video = "vga"         # one of: plainvga, vga, ega, mda, mga, cga
    $_console = (1)         # use 'console' video
    $_graphics = (1)        # use the cards BIOS to set graphics
    $_vmemsize = (1024)	# size of regen buffer
    $_chipset = "plainvga"	# one of: plainvga, trident, et4000, diamond, avance
    
    Linux コンソール上で[ALT]+[半角/全角]による漢字キーを有効にするため、 raw keyboard に設定します。 コメントに「たぶん危険」と書いてあるので気になるが^^;
    $_rawkeyboard = (1)     # bypass normal keyboard input, maybe dangerous
    
    Linux コンソール上で日本語 106キー配列を使う場合、 auto でもいいのですが、jp106 と指定した方が調子が良いように思えます。
    $_layout = "jp106"      # one of: finnish(-latin1), de(-latin1), be, it, us
                            # uk, dk(-latin1), keyb-no, no-latin1, dvorak, po
                            # sg(-latin1), fr(-latin1), sf(-latin1), es(-latin1)
                            # sw, hu(-latin2), hu-cwi, keyb-user
                            # hr-cp852, hr-latin2, cz-qwerty, cz-qwertz.
                            # Or 'auto' (which tries to generate the table from
                            # the current Linux console settings)
    
    xdos 上で "\" キーを X Window System 上で入力できるように、 「dosemu のキーテーブルを経由して変換しない」に設定。
    $_X_keycode = (off) 	# on == translate keybord via dosemu keytables
    			# or 'off' or 'auto'
    

    (参考までに、しょうちゃんの /etc/dosemu.confを見てみる)

  5. hdimage を作成します。 dosemu-1.0.0 を make したディレクトリ に移動して、 root ユーザになってから、./setup-hdimage を実行します。 Windows 95 のパーティションがマウントされているなら、umount しておきます。 実行すると /var/lib/dosemu/hdimage.first が生成されるので、 これをコピーして /var/lib/dosemu/hdimage を作ります。 以下は実行例です。
    % su
    bash# df
    Filesystem         1024-blocks  Used Available Capacity Mounted on
    /dev/hda2             365471  330722    15245     96%   /
    /dev/hda1             122688   64024    58664     52%   /dos
    bash# umount /dos
    bash# df
    Filesystem         1024-blocks  Used Available Capacity Mounted on
    /dev/hda2             365471  330722    15245     96%   /
    bash# ./setup-hdimage
    checking you partitions, wait...
    ...done
    I've seen the following bootable DOS partitions:
    
         /dev/hda1
    
    If none of them are valid, you can continue any way using a bootable
    floppy as input. Which one do you want to use as input?
    Type in the full device name or ENTER to cancel
    
    /dev/hda1
    
    A normal MSDOS system has command.com as shell.
    If you have a different one, please enter the name,
    else just type ENTER
    
    
    
    We now try to generate a bootable hdimage into /var/lib/dosemu/hdimage.first
    and are calling ./dexe/mkdexe for this.
    
    You will be prompted to edit the configuration files
    (config.sys, autoexec.bat e.t.c).
    
    Enter the name of your favorite editor, if you type just ENTER, the
    editor given via the EDITOR enviroment variable will be used.
    
    mule ←(改行コードを変更せず、そのまま扱えるエディタが良い)
    Starting ...
    System type is WIN95. sysfiles: io.sys, msdos.sys, windows/command.com
    1+0 records in
    1+0 records out
    Copying io.sys
    Copying msdos.sys
    Copying command.com
    Copying aspi.sys
    Copying autoexec.bat
           ...
           ...
           ...
    Copying xmode.exe
    ------------ MSDOS.SYS の編集
    
    WIN9X の MSDOS.SYS は以下のように修正すること。
    修正しない場合は、起動時にセーフモードのメニューが出てしまうので、注意
    ↓↓↓↓↓↓↓↓ 
    [Options]
    Logo=0
    BootGUI=0
    
    ;FORMAT
    ↑↑↑↑↑↑↑↑
    
    ------------ config.sys はそのまま
    ------------ autoexec.bat はそのまま
     ... done
    bash# ls -l /var/lib/dosemu/hdimage.first 
    -rwxrwxr-x   1 root     dosemu    1253376 Jun 17 19:36 /var/lib/dosemu/hdimage.first
    bash# cp -p /var/lib/dosemu/hdimage.first /var/lib/dosemu/hdimage
    
  6. Windows 9X 起動フロッピディスクを入れて、 Linux 上のコンソール(X Window System ではダメ)から、 dosemu を dos -A コマンドで起動します。
    % su
    bash# dos -A
    
    これでフロッピベースによる``日本語dosemu''が Linux コンソール上で 動くと思います。 なお、dosemu の終了は c:\exitemu もしくは、c: でドライブC に移ってから exitemu を入力します。

  7. 続いて、dosemu 上で sys コマンドにより、 Windows 95 起動フロッピディスクから、 システムファイル (io.sys, msdos.sys, command.com, drvspace.bin) を dosemu filesystem に転送します。

    A:> sys c:
    
    ※ hdimage を作る時に転送済のはずですが念のため

  8. dosemu filesystem 内の config.sys に、 biling.sys, jfont.sys, jdisp.sys, ansi.sys を追加します。 かな漢字変換FEP として MSIME を使用するために、 kkcfunc.sys, msimek.sys, msime.sys を追加します。 MSIME のオプション等は、各自設定してください。 私の場合は、MSIME のキーバインドを ATOK 互換にするため /UFc:\dos.old\msime.cfg を指定しています。
    jkeyb.sys を 有効にしても106キー配列にすることができないので外します。 その代りに dosemu.conf の $_layout = "jp106" を設定すれば 106キー配列に設定できます。
    jfont.sys, jdisp.sys による xdos では/HS=LC を削除しないと、うまく表示されないようです。
    config.sys の例:
    rem this sets up the redirector to look at the Linux root directory.
    rem this is probably not a good idea once you have dosemu installed
    device=c:\emufs.sys /
    device=c:\ems.sys
    
    FILES=30
    STACKS=9,256
    DOS=HIGH,UMB
    
    devicehigh=d:\windows\setver.exe
    devicehigh=d:\windows\biling.sys
    
    REM MS-DOS/V 日本語表示ドライバ
    devicehigh=d:\windows\jfont.sys /MSG=OFF
    devicehigh=d:\windows\jdisp.sys /HS=LC
    REM xdos 日本語表示ドライバ
    REM devicehigh=c:\emudisp.sys
    
    REM devicehigh=d:\windows\jkeyb.sys /106 d:\windows\jkeybrd.sys
    
    REM Windows 95 の場合
    devicehigh=d:\windows\ansi.sys
    REM Windows 98 の場合
    REM devicehigh=d:\windows\command\ansi.sys
    
    devicehigh=d:\windows\kkcfunc.sys
    
    REM MS IME用の設定です.
    devicehigh=d:\windows\command\msimek.sys /A1
    devicehigh=d:\windows\command\msime.sys /D*d:\windows\command\msimer.dic
     /Dd:\windows\command\msime.dic /C1 /N /A1
    
  9. dosemu filesystem 内の autoexec.bat に nlsfunc.exe と JP を追加して日本語モードにします。 dos コマンドのパスも追加しておきます。
    autoexec.bat の例:
    @echo off
    echo "Welcome to dosemu 1.0!"
    PROMPT $p$g
    PATH d:\windows\command;d:\uty;c:\
    
    set temp=d:\tmp
    set path=%PATH%;d:\air
    set air=d:\air
    set tmp=d:\windows\dos
    set tz=jst-9
    
    LH d:\windows\nlsfunc.exe d:\windows\country.sys
    JP
    

このような設定を行なって dosemu を dos コマンドで起動すると、 ``日本語dosemu''のプロンプトを見ることができるでしょう。
なお、もし Windows 95/98 起動画面(青空に田が出ている絵)が表示されるのであれば 以下のように起動ドライブにある msdos.sys で Logo=0 を設定してください。

msdos.sys の例:
[Options]
Logo=0
BootGUI=0

;FORMAT

コンソールの dosemu を終了すると画面が消える?

それから、exitemu で dosemu を終了したとき、 画面が消えてしまうマシン(winbook pro 100C)もあるようです。 そのような時には、us コマンドで英語モードにしてから exitemu コマンドで終了すると良いようです。

X11 上で dosemu を日本語化

上記の設定(jfont.sys,jdisp.sys)で、 X11 上においても日本語dosemu (xdos) が一応動きますが、 非常に遅く動作も少し変なので、あまり実用的ではありません。 遅い原因は、日本語フォントを``X11 でエミュレーションされた VGA ウィンドウ''上に ちまちま と描画しているためですが、 まだ VGA 16色モードのエミュレーションが良くないようです。

2000.7.14追記
新しくリリースされた 1.0.1 では、VGA16色モードが改善されたため xdos用のパッチを当てなくても、かなり使えるレベルになりました。 時々表示がおかしくなることはありますが、とりあえず使ってみた感じではいけそうな感じです :-)
今後は xdosで高速表示したい方やコピー&ペーストを使いたい方 のみ以下のパッチを当てれば良いと思います。

そこで日本語フォント展開を X11 自体で行なうように変更して、 dosemu 1.0.0 をX環境上で日本語化するパッチ があります、1.0.0 でトライしたい方は試してみてください。 これを使えば xdos を実用的な速度で日本語化できます。

dosemu 関連リンク ...


[ Linux Room | Dosemu/V | xhime | Linux Links ]
[ xdos-1.0.0 | 0.99.13 ] [ dosemu-1.0.0 | 0.9913 | 0.679 | 0.601 ]

[Shochan's Shoujo Manga Room] Copyright (C) 2000 Shochan Nakayama / shochan@tcp-ip.or.jp