LINUX.ORG.RU
ФорумGames

Пара вопросов по dosemu


0

0

У меня стоит dosemu-1.0.2 и freedos (брал там же где dosemu). Брал бинарники и того, и того. Теперь, собственно, вопросы:

1. Нет музыки в играх (MIDI). Звук есть, а музыки нет. Порт (330) в dosemu.conf прописан (в винде работает именно он). В играх настраиваю музыку, порт, но ничего не звучит. Что делать? Аудио - SB Live! 5.1 Player, дрова - alsa.

2. Некоторые игрухи тормозят. Пример - Daggerfall. Очень обидно, т.к. под виндой он подглючивает из-за скорости проца. Здесь же тормозит так, что играть невозможно. Чего тут можно предпринять? Может чего в настройках dosemu можно сделать? Вот, кстати, кусок моего конфига с установками памяти - может я где не прав?

$_xms = (32768) # in Kbyte

$_ems = (4096) # in Kbyte

$_ems_frame = (0xe000)

$_dpmi = (0x8000) # in Kbyte

$_dosmem = (640) # in Kbyte, < 640

$_hardware_ram = ""

И вообще, где поподробнее почитать о настройках?

anonymous

Вопрос "где подробнее почитать" возможно снимается. Скачал себе обширный README со странички dosemu на sourceforge, буду читать. Сразу увидел и про MIDI: что за демон там упоминается? Он входит в комплект dosemu или нет? Если нет - то где его можно достать, если да - то надо брать исходники dosemu? В пакете бинарников, который так уговаривают брать разработчики, его вроде нет. Да и куцо в README написано про это дело, нельзя ли услышать/прочитать поподробнее?

anonymous
()

Слушай а как ты туда винду поставил, скоко не пытался ничего не получилось :(

anonymous
()

Какая винда?!? Я ее упомянул, потому как и под ней Даггер запускаю.

Блин, вроде понастраивал малость - Даггер нормально запустился, без тормозов, без виндовых глюков, да вот не задача, походил чуток, нажал ESC - и все подвисло. Грузанул еще раз - и снова по ESC зависон. Но это появилось не сразу с новыми настройками - т.е. после того, как он нормально забегал я по ESC входил в опции, правил там.. все здорово работало. А теперь вообще финиш - при попытке запустить Даггер xdosemu вылетает моментально. Мгновенно, я бы сказал.

Ниже мой конфиг, может чего подскажете...

$_debug = "-a+c" # 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= "auto" # 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 = (8192) # in Kbyte

$_ems = (8192) # in Kbyte

$_ems_frame = (0xe000)

$_dpmi = (0x8000) # in Kbyte

$_dosmem = (640) # in Kbyte, < 640

$_hardware_ram = "" # list of segment values/ranges such as # "0xc8000 range 0xcc000,0xcffff"

$_secure ="0" # 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

$_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 = (4) # 0 == all CPU power to DOSEMU

$_irqpassing = "" # list of IRQ number (2-15) to pass to DOS such as # "3 8 10"

$_speaker = "native" # 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 = (1) # 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 = (on) # 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 = (8192) # 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 = (1) # use 'console' video

$_graphics = (1) # use the cards BIOS to set graphics

$_videoportaccess = (1) # allow videoportaccess when 'graphics' enabled

$_vbios_seg = (0xc000) # set the address of your VBIOS (e.g. 0xe000)

$_vbios_size = (0x10000)# set the size of your BIOS (e.g. 0x8000)

$_vmemsize = (8192) # size of regen buffer

$_chipset = "plainvga" # 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 = ""

$_floppy_a ="threeinch" # or "fiveinch" or "atapi" or empty, if not

$_floppy_b = "" # dito for B:

$_hdimage = "freedos" # list of hdimages under DOSEMU_LIB_DIR

$_hdimage_r = $_hdimage # hdimages for 'restricted access (if different)

$_aspi = "" # list of generic SCSI devices to make

$_com1 = "/dev/tts/0" # e.g. "/dev/mouse" or "/dev/ttyS0"

$_com2 = "/dev/tts/1" # e.g. "/dev/modem" or "/dev/ttyS1"

$_com3 = "" # dito "/dev/ttyS2"

$_com4 = "" # dito "/dev/ttyS3"

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

$_mouse = "microsoft" # one of: microsoft, mousesystems, logitech, mmseries # mouseman, hitachi, busmouse, ps2, imps2

$_mouse_dev = "/dev/mouse" # 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"

$_ipxsupport = (off) # or on

$_novell_hack = (off)

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

$_sound = (on) # sound support on/off

$_sb_base = (0x220)

$_sb_irq = (5)

$_sb_dma = (1)

$_sb_dsp = "/dev/dsp"

$_sb_mixer = "/dev/mixer"

$_mpu_base = "0x330"

anonymous
()

А могло быть так, что какой-то из файлов игрушки в результате зависона повредился? Я попробовал "начать с чистого листа" - под другим пользователем, заново распаковал dosemu, взял исходный конфиг, взял Даггер с виндового раздела, запустил - работает, но тормозит. Поставил $_hogthreshold = (0) (т.е. все ресурсы - для dosemu) - перестало тормозить. Но мыша глючит, ничего ею не сделать. Перенес этот конфиг себе - Даггер вылетает по-прежнему. Т.е. вроде и не в конфиге дело.

Подскажите насчет мышки! Во-первых, dosemu заявляет:

ERROR: DOSEMU: Need to be suid root to create Lock Files! Serial port on /dev/ttyS0 not configured!

Во-вторых, под тем пользователем, где сейчас Даггер идет, пользоваться мышой невозможно - при нажатии левой кнопки курсор улетает в левый верхний угол dosemu-окошка.

В-третьих, как сделать, чтобы мышка была заперта в окошке dosemu (а то постоянно вылетает при игре за его пределы). Или как на полный экран в X-ах запустить? Framebuffer'а у меня не настроены, так что поиметь графику в консоли не получиться (или я не прав?).

anonymous
()

Вот еще дополнение: в меню Даггера (когда он запускается под вторым польозователем) у мышки не работает левая кнопка, но ее функции выполняет правая. Странно. И по ESC все намертво виснет. В чем может быть фишка?!? И как можно получить расширенные логи, а то ./xdosemu -o log дает лишь сообщения во время загрузки эмулятора, понять, чего-же таки глючит нереально.

anonymous
()

попробуй поставь dosemu 1.1.5

anonymous
()

фиксация мыши ctrl+alt+pg_Up вроде

anonymous
()

Поставил dosemu-1.1.5. Более-менее разобрался в части проблем. Понял как избавиться от тормозов. Но Даггер виснет по нажатию ESC через некоторое время после начала игры по-прежнему. При этом загрузка CPU подскакивает до 100%. Далее, в GNOME наблюдается двойной мышиный курсор: один от dosemu, другой от Даггера. Мышка не фиксируется. Ctrl+Alt+PgDown - это прибить dosemu. В настройках есть опция mouse grab (там надо клавишу вроде указать - стоит по-умолчанию Home) - если это фиксация, то она не работает.

Кроме этих еще два общих вопроса, 1. Как все-таки поиметь MIDI? Использовать демон midid, который теперь у меня есть? Для этого обязательно создавать отдельный файл-устройство (у меня вообще-то devfs)?

2. Что нужно, чтобы поиметь графику в dosemu в консоли? Т.е. чего почитать, чего вкомпилить в ядро и т.д. Есть подозрение, что надо рыть по поводу framebuffer'ов - так ли это?

anonymous
()

> В настройках есть опция mouse grab (там надо клавишу вроде указать -
> стоит по-умолчанию Home) - если это фиксация, то она не работает.
ctrl+alt+Home (в параметре mouse grab указывается клавиша для
комбинации ctrl+alt+<>).

anonymous
()

Спасибо, теперь мыша фиксируется.

Но все же, что насчет зависонов?!? Неужто никто Даггер не запускал или не наблюдал похожих симптомов? В только что запущенном сеансе dosemu Даггер нормально запускается, некоторое время после этого работает выход в меню по ESC, стоит побродить в игре - по ESC все виснет. Ни сохраниться, ни загрузиться. Меня разок прибили, так и загрузка сохраненки перестала работать. Но там сам Даггер выдал ошибку:

Daggerfall has encountered an internal error at 1003. The error reported was: Failed internal check 1c. Exiting...

И вышел корректно, dosemu при этом выжил.

Неужто ни у кого никаких мыслей нет по этому поводу...

P.S. Попробовал еще dosbox - ОТСТОЙ! Нет DPMI, тормозит не по-детски, зато идеальный звук и музыка... Ларри буду через него гонять.

anonymous
()

если есть alsa то демон не нужен, dosemu всё midi в .dosemu/run/dosemu-midi сваливает, это надо пихнуть на звуковуху

сперва заводим loopback-midi девайс (можно даже несколько)

в modules.conf

alias snd-card-1 snd-virmidi

alias sound-slot-1 snd-card-1

options snd-virmidi id=loop1 midi_devs=1 enable=1

теперь по адресу /dev/midi1 у нас будет loopback midi device, в него dosemu все и будет пихать

cd .dosemu/run/

ln -sf /dev/midi1 dosemu-midi

после этого юзаем aconnect - думаю там ничего непонятного, нужно всего лишь соединить Virtual raw midi 1-0 с синтезатором на вашей карте

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.