LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: dragon76

关于dosemu的一个问题

[复制链接]
 楼主| 发表于 2002-9-20 16:39:58 | 显示全部楼层

感谢 cnyg

目前还未收到。
但我还是想知道,为什么在安装 UCDOS7.0时系统提示
general protection at 0x6407:f
SIGSEGV protected insn......exiting
我觉得对于DOS下的中文平台来说UCDOS绝对称得上是一个精典。
发表于 2002-9-23 08:24:30 | 显示全部楼层
(放两天假,现在才回复)
好像是显示模式的问题(可能DOSEMU模拟的显卡他不能识别),
如果一定要运行UCDOS,那只好用VMWARE(恐龙,速度很慢).
 楼主| 发表于 2002-9-23 10:21:11 | 显示全部楼层

cnyg

很奇怪,你的邮件到现在还未收到!?
发表于 2002-9-23 11:08:30 | 显示全部楼层
不知怎么搞的,发不出去,

我搞了一个链接,请尽快下载,明天我将会把它删除.

http://www.mzzx.gov.cn/msdos.zip
 楼主| 发表于 2002-9-25 11:23:18 | 显示全部楼层
我已经安装了msdos,但现在的问题是,启动后光标停在窗口左边中间
无法启动PDOS,
我把dosemu.conf文件贴上,还烦请cnyg兄解惑
##############################################################################
# This file is /etc/dosemu.conf, included by /var/lib/dosemu/global.conf
#
# Linux DOSEMU configuration  for parser versions >= 3 (dosemu-0.97.0.1)
#
# ./doc/README.txt (chapter 2.) contains a description of the syntax
# and the usage of dosemu.conf.
#
#
# Access rights are defined in
#
#      /etc/dosemu.users
#
##############################################################################



# Notes for editing this section:
#
#   In    $_xxx = (n)    n is a numerical or boolean value
#                  =     =
#   In    $_zzz = "s"    s is a string
#
# Please edit only beteen the brakets and quotes and keep the rest intact.
#        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^

$_debug = "-a"                # same format as -D commandline option
                        # (but without the -D in front)
$_features= ""                # list of temporary hacks, see release notes in
                        # the file ChangeLog. e.g "0:1 2:0", which means
                        # to set feature_0 to 1 and feature_2 to 0.
$_mapping= ""                # prefered mapping driver, one of:
                        # auto, mapself, mapfile, mapshm
$_timint = (on)                # emulate INT08 type timer interrupts
$_mathco = (on)                # or off
$_cpu = "80586"                # CPU showing to DOS, valid values:  "80[345]86"
                        # or "emulated" for non-native CPU (386 in this case)

$_rdtsc = (on)                # if possible use Pentium cycle counter
$_cpuspeed = (0)        # 0 = calibrated by dosemu, else given (e.g.166.666)
$_pci = (on)

$_xms = (10240)                # in Kbyte
$_ems = (10240)                # in Kbyte
$_ems_frame = (0xe000)
$_dpmi = (off)                # in Kbyte
$_dosmem = (640)        # in Kbyte, < 640
$_hardware_ram = ""        # list of segment values/ranges such as
                        # "0xc8000 range 0xcc000,0xcffff"

$_secure ="ngd"                # secure for: n (normal users), g (guest), d (dexe)
                        # empty string: depending on 'restricted'
                        # "0": always insecure (not recommended)
$_odd_hosts = ""        # black list such as "lucifer.hell.com billy.the.cat"
$_diskless_hosts=""        # black list such as "hacker1 newbee gateway1"

$_emusys = ""                # empty or 3 char., config.sys   -> config.XXX
$_emubat = ""                # empty or 3 char., autoexec.bat -> autoexec.XXX
$_emuini = ""                # empty or 3 char., system.ini   -> system.XXX

$_hogthreshold = (1)        # 0 == all CPU power to DOSEMU
$_irqpassing = ""        # list of IRQ number (2-15) to pass to DOS such as
                        # "3 8 10"
$_speaker = ""                # or "native" or "emulated"


$_term_char_set = ""        # Global code page and character set selection.
                        # "" == automatic, else: ibm, latin, latin1, latin2

$_term_color = (on)        # terminal with color support
$_term_updfreq = (4)        # time between refreshs (units: 20 == 1 second)
$_escchar = (30)        # 30 == Ctrl-^, special-sequence prefix

$_rawkeyboard = (0)        # bypass normal keyboard input, maybe dangerous
$_layout = "auto"        # 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)
$_keybint = (on)        # emulate PCish keyboard interrupt


$_X_updfreq = (5)        # time between refreshs (units: 20 == 1 second)
$_X_title = "DOS in a BOX"        # Title in the top bar of the window
$_X_icon_name = "xdos"        # Text for icon, when minimized
$_X_keycode = (auto)         # on == translate keybord via dosemu keytables
                        # or 'off' or 'auto'
$_X_blinkrate = (8)        # blink rate for the cursor
$_X_font = "/usr/X11R6/lib/X11/fonts/misc/"                # basename from /usr/X11R6/lib/X11/fonts/misc/*
                        # (without extension) e.g. "vga"
$_X_mitshm = (on)        # Use shared memory extensions
$_X_sharecmap = (off)        # share the colormap with other applications
$_X_fixed_aspect = (on)        # Set fixed aspect for resize the graphics window
$_X_aspect_43 = (on)        # Always use an aspect ratio of 4:3 for graphics
$_X_lin_filt = (off)        # Use linear filtering for >15 bpp interpolation
$_X_bilin_filt = (off)        # Use bi-linear filtering for >15 bpp interpolation
$_X_mode13fact = (2)        # initial size factor for video mode 0x13 (320x200)
$_X_winsize = ""        # "x,y" of initial windows size (defaults to float)
$_X_gamma = (1.0)        # gamma correction
$_X_vgaemu_memsize = (1024) # size (in Kbytes) of the frame buffer for emulated vga
$_X_lfb = (on)        # use linear frame buffer in VESA modes
$_X_pm_interface = (on)        # use protected mode interface for VESA modes
$_X_mgrab_key = ""        # KeySym name to activate mouse grab, empty == off
$_X_vesamode = ""        # "xres,yres ... xres,yres"
                        # List of vesamodes to add. The list has to contain
                        # SPACE separated "xres,yres" pairs



$_video = "vga"                # one of: plainvga, vga, ega, mda, mga, cga
$_console = "nvidia"                # use 'console' video
$_graphics = (0)        # use the cards BIOS to set graphics
$_videoportaccess = (1)        # allow videoportaccess when 'graphics' enabled
$_vbios_seg = (0)        # set the address of your VBIOS (e.g. 0xc000, 0xe000)
$_vbios_size = (0)        # set the size of your BIOS (e.g. 0x10000, 0x8000).
                        # 0 for $_vbios_seg/$_vbios_size means autodetection
                        # (NOTE: DOSEMU must run full feature for this)
$_vmemsize = (1024)        # size of regen buffer
$_chipset = ""                # one of: plainvga, trident, et4000, diamond, avance
                        # cirrus, matrox, wdvga, paradise, ati, s3, sis
$_dualmon = (0)                # if you have one vga _plus_ one hgc (2 monitors)


$_vbootfloppy = ""        # if you want to boot from a virtual floppy:
                        # file name of the floppy image under /var/lib/dosemu
                        # e.g. "floppyimage" disables $_hdimage
                        #      "floppyimage +hd" does _not_ disable $_hdimage
$_floppy_a ="threeinch:/dev/fd0"        # or "fiveinch" or "atapi" or empty, if not existing
                        # optionally the device may be appended such as
                        # "threeinch:/dev/fd0"
$_floppy_b = "fiveinch:/dev/fd1"                # dito for B:

#$_hdimage = "hdimage.first" # list of hdimages under /var/lib/dosemu
$_hdimage = "msdos" # list of hdimages under /var/lib/dosemu
#$_hdimage_d = "dos"
                        # assigned in this order such as
                        # "hdimage_c hdimage_d hdimage_e"
                        # If the name begins with '/dev/', then partion
                        # access is done instead of virtual hdimage such as
                        # "/dev/hda1" or "/dev/hda1:ro" for readonly
                        # Currently mounted devices and swap are refused.
                        # Hdimages and devices may be mixed such as
                        # "hdimage_c /dev/hda1 /dev/hda3:ro"
                        # Note: 'wholedisk' is _not_ supported.
#$_hdimage_r = $_hdimage        # hdimages for 'restricted access (if different)

$_aspi = ""                # list of generic SCSI devices to make available
                        # for the builtin aspi driver (format of an entry
                        # is 'device:type:mappedtarget' such as
                        # "sg2:WORM sg3:Sequential-Access:6 sg4:CD-ROM" or
                        # "sg2:4 sg3:1:6 sg4:5" (which are equal)

$_com1 = ""                # e.g. "/dev/mouse" or "/dev/cua0"
$_com2 = ""                # e.g. "/dev/modem" or "/dev/cua1"
$_com3 = ""                # dito                 "/dev/cua2"
$_com4 = ""                # dito                 "/dev/cua3"
$_ttylocks = ""                # Lock directory (e.g. "/var/lock")
                        # default ("") is /usr/spool/uucp

$_mouse = ""                # one of: microsoft, mousesystems, logitech, mmseries
                        # mouseman, hitachi, busmouse, ps2, imps2
$_mouse_dev = ""        # one of: com1, com2, com3, com4 or /dev/mouse
$_mouse_flags = ""        # list of none or one or more of:
                        # "emulate3buttons cleardtr"
$_mouse_baud = (0)        # baudrate, 0 == don't set

$_printer = "lp0"        # list of (/etc/printcap) printer names to appear as
                        # LPT1, LPT2, LPT3 (not all are needed, empty for none)
$_printer_timeout = (20)# idle time in seconds before spooling out

$_ports = ""                # list of portnumbers such as "0x1ce 0x1cf 0x238"
                        # or "0x1ce range 0x280,0x29f 310"
                        # or "range 0x1a0,(0x1a0+15)"

$_ipxsupport = (off)        # or on
$_novell_hack = (off)
$_vnet = (off)                # 'on' for packet-multi (used by dosnet)

$_sound = (off)                # sound support on/off
$_sb_base = (0x220)
$_sb_irq = (5)
$_sb_dma = (1)
$_sb_dsp = "/dev/dsp"
$_sb_mixer = "/dev/mixer"
$_mpu_base = "0x330"

下面是我的系统配置:
主板:硕泰克75KAV
CPU:AMD毒龙750
内存:HY512M
显卡:硕泰克NLIDIA TNT2 Model64 ,显存32M
声卡:板载AC97
发表于 2002-9-25 15:09:00 | 显示全部楼层
我查看了一下你的配置文件,我发现你的DOSEMU是1.1.1的,我建你先把其升级到1.1.3(在1.1.1下面读软驱会出错,还有一些小BUG),如下的配置文件是基于1.1.3的,给你做个参考

##############################################################################
# This file is /etc/dosemu.conf, included by <DOSEMU_LIB_DIR>/global.conf
#
# Linux DOSEMU configuration  for parser versions >= 3 (dosemu-0.97.0.1)
#
# ./doc/README.txt (chapter 2.) contains a description of the syntax
# and the usage of dosemu.conf.
#
#
# Access rights are defined in
#
#      /etc/dosemu.users
#
##############################################################################



# Notes for editing this section:
#
#   In    $_xxx = (n)    n is a numerical or boolean value
#                  =     =
#   In    $_zzz = "s"    s is a string
#
# Please edit only beteen the brakets and quotes and keep the rest intact.
#        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^

$_debug = "-a"                # same format as -D commandline option
                        # (but without the -D in front)
$_features= ""                # list of temporary hacks, see release notes in
                        # the file ChangeLog. e.g "0:1 2:0", which means
                        # to set feature_0 to 1 and feature_2 to 0.
$_mapping= ""                # prefered mapping driver, one of:
                        # auto, mapself, mapfile, mapshm
$_timint = (on)                # emulate INT08 type timer interrupts
$_mathco = (on)                # or off
$_cpu = "80386"                # CPU showing to DOS, valid values:  "80[345]86"
                        # or "emulated" for non-native CPU (386 in this case)
                        # 其实模拟成386机就可以了,在我的机器上模拟成586会出错

$_rdtsc = (on)                # if possible use Pentium cycle counter
$_cpuspeed = (0)        # 0 = calibrated by dosemu, else given (e.g.166.666)
$_pci = (off)

$_xms = (2048)                # in Kbyte  你的DOS要那么多内存干吗?
$_ems = (4096)                # in Kbyte  你的DOS要那么多内存干吗?
$_ems_frame = (0xe000)
$_dpmi = (off)                # in Kbyte
$_dosmem = (640)        # in Kbyte, < 640
$_hardware_ram = ""        # list of segment values/ranges such as
                        # "0xc8000 range 0xcc000,0xcffff"

$_secure ="ngd"                # secure for: n (normal users), g (guest), d (dexe)
                        # empty string: depending on 'restricted'
                        # "0": always insecure (not recommended)
$_odd_hosts = ""        # black list such as "lucifer.hell.com billy.the.cat"
$_diskless_hosts=""        # black list such as "hacker1 newbee gateway1"

$_emusys = ""                # empty or 3 char., config.sys   -> config.XXX
$_emubat = ""                # empty or 3 char., autoexec.bat -> autoexec.XXX
$_emuini = ""                # empty or 3 char., system.ini   -> system.XXX

$_hogthreshold = (1)        # 0 == all CPU power to DOSEMU
$_irqpassing = ""        # list of IRQ number (2-15) to pass to DOS such as
                        # "3 8 10"
$_speaker = ""                # or "native" or "emulated"


$_term_char_set = ""        # Global code page and character set selection.
                        # "" == automatic, else: ibm, latin, latin1, latin2

                        # Character set used externally of dosemu
$_external_char_set = ""
                        # "" == use $_term_char_set one of else:
                        # "cp437", "cp737", "cp775", "cp850", "cp852", "cp857",
                        # "cp860", "cp861", "cp862", "cp863", "cp864", "cp865",
                        # "cp866", "cp869", "cp874",
                        # "iso8859-1", "iso8859-2", "iso8859-3", "iso8859-4",
                        # "iso8859-5", "iso8859-6", "iso8859-7", "iso8859-8",
                        # "iso8859_9", "iso8859-14", "iso8859-15"

                        # Character set used by dos programs
$_internal_char_set = ""
                        # "" == use $_term_char_set one of else:
                        # "cp437", "cp737", "cp775", "cp850", "cp852", "cp857",
                        # "cp860", "cp861", "cp862", "cp863", "cp864", "cp865",
                        # "cp866", "cp869", "cp874"

$_term_color = (on)        # terminal with color support
$_term_updfreq = (4)        # time between refreshs (units: 20 == 1 second)
$_escchar = (30)        # 30 == Ctrl-^, special-sequence prefix

$_rawkeyboard = (0)        # bypass normal keyboard input, maybe dangerous
$_layout = "auto"        # 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)
$_keybint = (on)        # emulate PCish keyboard interrupt


$_X_updfreq = (5)        # time between refreshs (units: 20 == 1 second)
$_X_title = "DOS in a BOX"        # Title in the top bar of the window
$_X_icon_name = "xdos"        # Text for icon, when minimized
$_X_keycode = (auto)         # on == translate keybord via dosemu keytables
                        # or 'off' or 'auto'
$_X_blinkrate = (8)        # blink rate for the cursor
$_X_font = ""                # basename from /usr/X11R6/lib/X11/fonts/misc/*
                        # (without extension) e.g. "vga"
$_X_mitshm = (on)        # Use shared memory extensions
$_X_sharecmap = (off)        # share the colormap with other applications
$_X_fixed_aspect = (on)        # Set fixed aspect for resize the graphics window
$_X_aspect_43 = (on)        # Always use an aspect ratio of 4:3 for graphics
$_X_lin_filt = (off)        # Use linear filtering for >15 bpp interpolation
$_X_bilin_filt = (off)        # Use bi-linear filtering for >15 bpp interpolation
$_X_mode13fact = (2)        # initial size factor for video mode 0x13 (320x200)
$_X_winsize = ""        # "x,y" of initial windows size (defaults to float)
$_X_gamma = (1.0)        # gamma correction
$_X_vgaemu_memsize = (1024) # size (in Kbytes) of the frame buffer for emulated vga
$_X_lfb = (on)        # use linear frame buffer in VESA modes
$_X_pm_interface = (on)        # use protected mode interface for VESA modes
$_X_mgrab_key = "Home"        # KeySym name to activate mouse grab, empty == off
$_X_vesamode = ""        # "xres,yres ... xres,yres"
                        # List of vesamodes to add. The list has to contain
                        # SPACE separated "xres,yres" pairs



$_video = "vga"                # one of: plainvga, vga, ega, mda, mga, cga
$_console = (0)                # use 'console' video
$_graphics = (0)        # use the cards BIOS to set graphics
$_videoportaccess = (1)        # allow videoportaccess when 'graphics' enabled
$_vbios_seg = (0)        # set the address of your VBIOS (e.g. 0xc000, 0xe000)
$_vbios_size = (0)        # set the size of your BIOS (e.g. 0x10000, 0x8000).
                        # 0 for $_vbios_seg/$_vbios_size means autodetection
                        # (NOTE: DOSEMU must run full feature for this)
$_vmemsize = (1024)        # size of regen buffer
$_chipset = ""                # one of: plainvga, trident, et4000, diamond, avance
                        # cirrus, matrox, wdvga, paradise, ati, s3, sis
$_dualmon = (0)                # if you have one vga _plus_ one hgc (2 monitors)


$_vbootfloppy = ""        # if you want to boot from a virtual floppy:
                        # file name of the floppy image under DOSEMU_LIB_DIR
                        # e.g. "floppyimage" disables $_hdimage
                        #      "floppyimage +hd" does _not_ disable $_hdimage
$_floppy_a ="threeinch"        # or "fiveinch" or "atapi" or empty, if not existing
                        # optionally the device may be appended such as
                        # "threeinch:/dev/fd0"
$_floppy_b = ""                # dito for B:

$_hdimage = "msdos"        # list of hdimages under DOSEMU_LIB_DIR
                        # assigned in this order such as
                        # "hdimage_c hdimage_d hdimage_e"
                        # If the name begins with '/dev/', then partion
                        # access is done instead of virtual hdimage such as
                        # "/dev/hda1" or "/dev/hda1:ro" for readonly
                        # Currently mounted devices and swap are refused.
                        # Hdimages and devices may be mixed such as
                        # "hdimage_c /dev/hda1 /dev/hda3:ro"
                        # Note: 'wholedisk' is _not_ supported.
                        # 你的磁盘影像名
$_hdimage_r = $_hdimage        # hdimages for 'restricted access (if different)

$_aspi = ""                # list of generic SCSI devices to make available
                        # for the builtin aspi driver (format of an entry
                        # is 'device:type:mappedtarget' such as
                        # "sg2:WORM sg3:Sequential-Access:6 sg4:CD-ROM" or
                        # "sg2:4 sg3:1:6 sg4:5" (which are equal)

$_com1 = ""                # e.g. "/dev/mouse" or "/dev/ttyS0"
$_com2 = ""                # e.g. "/dev/modem" or "/dev/ttyS1"
$_com3 = ""                # dito                 "/dev/ttyS2"
$_com4 = ""                # dito                 "/dev/ttyS3"
                        # Note: all "/dev/ttyXX" may be suffixed by the IRQ
                        # used (instead of the default one), such as
                        # "/dev/ttyS2 irq 5" or "/dev/ttyS3 irq 9"

$_ttylocks = ""                # Lock directory (e.g. "/var/lock")
                        # default ("") is /usr/spool/uucp

$_mouse = ""                # one of: microsoft, mousesystems, logitech, mmseries
                        # mouseman, hitachi, busmouse, ps2, imps2
$_mouse_dev = ""        # one of: com1, com2, com3, com4 or /dev/mouse
$_mouse_flags = ""        # list of none or one or more of:
                        # "emulate3buttons cleardtr"
$_mouse_baud = (0)        # baudrate, 0 == don't set

$_printer = "lp"        # list of (/etc/printcap) printer names to appear as
                        # LPT1, LPT2, LPT3 (not all are needed, empty for none)
$_printer_timeout = (20)# idle time in seconds before spooling out

$_ports = ""                # list of portnumbers such as "0x1ce 0x1cf 0x238"
                        # or "0x1ce range 0x280,0x29f 310"
                        # or "range 0x1a0,(0x1a0+15)"

$_ipxsupport = (off)        # or on
$_novell_hack = (off)
$_vnet = (off)                # 'on' for packet-multi (used by dosnet)

$_sound = (off)                # sound support on/off
$_sb_base = (0x220)
$_sb_irq = (5)
$_sb_dma = (1)
$_sb_dsp = "/dev/dsp"
$_sb_mixer = "/dev/mixer"
$_mpu_base = "0x330"
 楼主| 发表于 2002-9-25 22:48:37 | 显示全部楼层
我安装了1.1.3版本后,可以运行你的msdos了。很不错,谢谢!!
另外我想问一下,就是在现在的基础上,该如何把一个目录虚拟成一个磁盘,如D:盘。这样的话我就可以用自己的软件了。
 楼主| 发表于 2002-9-26 10:02:39 | 显示全部楼层

关于安装foxpro2.5的错误

我试着通过软盘安装了foxpro2.5安装前半部份还算顺利。到了系统设置也就是要启动fox程序时,就出错了
具体代码如下:
phar Lap err 35:The 386 chip is currently executing
in virual 8086 mode under the control of another program
you must turn off this other program in order to use 386|Dos-Extender to run in protected mode.
还请帮忙分析一下原因
发表于 2002-9-26 11:14:58 | 显示全部楼层
它好象不支持模拟两个磁盘(硬盘),看其说明文件好像支持光驱,但是我不知道怎么用?
我安装软件是用软盘影像安装(可以用 WinImage制作,在 Linux 下面可用 Wine 运行WinImage),这样就不用使用软盘了(/etc/dosemu.conf 文件的 $_vbootfloppy =  或 $_floppy_a = 软盘影像名),我以前也安装过FoxPro,但是我是在 DOS ( Windows 的  MSDOS)下面安装好后把其拷到 DOSEMU 。(安装好后要把UCODS下面的一个叫什么FOX????的文件覆盖掉 FoxPro 目录下面的文件,要不然你运行汉字系统后 FoxPro 会出现怪字符,不知 PDOS 支持不支持 UCDOS 的东东,你可以试试)
发表于 2004-1-2 17:36:19 | 显示全部楼层
刚才装了一个dosemu-freedos(debian apt方式装),进入后即发现不能够更改文件(包括创建和删除),是什么原因呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表