Mac에 Steam with Wine을 설치했습니다. 그런 다음 웜을 설치했습니다. Windows용 통합 DOSBox가 함께 제공됩니다. 불행히도 Windows에만 해당됩니다. DOSBox는 Linux 및 Mac에서도 사용할 수 있습니다. Wine의 Steam 클라이언트를 통해 작동하지만 DOSBox에서 Worms를 실행하기 위해 Wine에서 Steam을 시작하는 것은 다소 번거로운 작업입니다.
그래서 Worms를 직접 실행하기 위해 Brew를 통해 Mac용 DOSBox를 설치했습니다. ~ 안에
.wine/drive_c/Program Files (x86)/Steam/steamapps/common/Worms
하위 디렉터리에는 .BAT 및 .EXE 파일이 꽤 많이 있습니다. 다 시도해 본 것 같아요
dosbox <file>
그러나 지금까지 Worms 출시에는 성공하지 못했습니다. 어디선가 Worms가 DRM 프리라는 글을 읽은 것 같습니다. 이론적으로는 이것이 효과가 있다고 생각합니다. 그렇다면 DOSBox에서 웜을 실행하는 방법은 무엇입니까?
업데이트:
Stephen의 답변 덕분에 파일을 찾았습니다 worms.conf
. 그 달리기를 이용해서
dosbox -conf worms.conf
DOSBox를 전체 화면 모드로 시작하는 효과만 있었습니다. 그런 다음 파일을 조금 조사한 결과 다음 줄을 발견했습니다.
[autoexec]
imgmount d .\worms.CUE -t iso -fs iso
내가 바꿨어
[autoexec]
imgmount d ./worms.cue -t iso -fs iso
그러나 이것은 효과가 없었습니다. 지금은 무엇입니까?
전체 내용은 다음과 같습니다 worms.conf
.
# This is the configurationfile for DOSBox 0.74. (Please use the latest version of DOSBox)# Lines starting with a # are commentlines and are ignored by DOSBox.
# They are used to (briefly) document the effect of each option.
[sdl]
# fullscreen: Start dosbox directly in fullscreen. (Press ALT-Enter to go back)
# fulldouble: Use double buffering in fullscreen. It can reduce screen flickering, but it can also result in a slow DOSBox.
# fullresolution: What resolution to use for fullscreen: original or fixed size (e.g. 1024x768).
# Using your monitor's native resolution with aspect=true might give the best results.
# If you end up with small window on a large screen, try an output different from surface.
# windowresolution: Scale the window to this size IF the output device supports hardware scaling.
# (output=surface does not!)
# output: What video system to use for output.
# Possible values: surface, overlay, opengl, openglnb, ddraw.
# autolock: Mouse will automatically lock, if you click on the screen. (Press CTRL-F10 to unlock)
# sensitivity: Mouse sensitivity.
# waitonerror: Wait before closing the console if dosbox has an error.
# priority: Priority levels for dosbox. Second entry behind the comma is for when dosbox is not focused/minimized.
# pause is only valid for the second entry.
# Possible values: lowest, lower, normal, higher, highest, pause.
# mapperfile: File used to load/save the key/event mappings from. Resetmapper only works with the defaul value.
# usescancodes: Avoid usage of symkeys, might not work on all operating systems.
fullscreen=true
fulldouble=true
fullresolution=original
windowresolution=original
output=surface
autolock=true
sensitivity=80
waitonerror=true
priority=higher,normal
mapperfile=mapper-0.74.map
usescancodes=true
[dosbox]
# language: Select another language file.
# machine: The type of machine tries to emulate.
# Possible values: hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe.
# captures: Directory where things like wave, midi, screenshot get captured.
# memsize: Amount of memory DOSBox has in megabytes.
# This value is best left at its default to avoid problems with some games,
# though few games might require a higher value.
# There is generally no speed advantage when raising this value.
language=
machine=svga_s3
captures=capture
memsize=16
[render]
# frameskip: How many frames DOSBox skips before drawing one.
# aspect: Do aspect correction, if your output method doesn't support scaling this can slow things down!.
# scaler: Scaler used to enlarge/enhance low resolution modes.
# If 'forced' is appended, then the scaler will be used even if the result might not be desired.
# Possible values: none, normal2x, normal3x, advmame2x, advmame3x, advinterp2x, advinterp3x, hq2x, hq3x, 2xsai, super2xsai, supereagle, tv2x, tv3x, rgb2x, rgb3x, scan2x, scan3x.
frameskip=0
aspect=false
scaler=normal2x
[cpu]
# core: CPU Core used in emulation. auto will switch to dynamic if available and appropriate.
# Possible values: auto, dynamic, normal, simple.
# cputype: CPU Type used in emulation. auto is the fastest choice.
# Possible values: auto, 386, 386_slow, 486_slow, pentium_slow, 386_prefetch.
# cycles: Amount of instructions DOSBox tries to emulate each millisecond.
# Setting this value too high results in sound dropouts and lags.
# Cycles can be set in 3 ways:
# 'auto' tries to guess what a game needs.
# It usually works, but can fail for certain games.
# 'fixed #number' will set a fixed amount of cycles. This is what you usually need if 'auto' fails.
# (Example: fixed 4000).
# 'max' will allocate as much cycles as your computer is able to handle.
#
# Possible values: auto, fixed, max.
# cycleup: Amount of cycles to decrease/increase with keycombo.(CTRL-F11/CTRL-F12)
# cycledown: Setting it lower than 100 will be a percentage.
core=auto
cputype=auto
cycles=auto
cycleup=10
cycledown=20
[mixer]
# nosound: Enable silent mode, sound is still emulated though.
# rate: Mixer sample rate, setting any device's rate higher than this will probably lower their sound quality.
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
# blocksize: Mixer block size, larger blocks might help sound stuttering but sound will also be more lagged.
# Possible values: 1024, 2048, 4096, 8192, 512, 256.
# prebuffer: How many milliseconds of data to keep on top of the blocksize.
nosound=false
rate=44100
blocksize=1024
prebuffer=20
[midi]
# mpu401: Type of MPU-401 to emulate.
# Possible values: intelligent, uart, none.
# mididevice: Device that will receive the MIDI data from MPU-401.
# Possible values: default, win32, alsa, oss, coreaudio, coremidi, none.
# midiconfig: Special configuration options for the device driver. This is usually the id of the device you want to use.
# See the README/Manual for more details.
mpu401=intelligent
mididevice=default
midiconfig=
[sblaster]
# sbtype: Type of Soundblaster to emulate. gb is Gameblaster.
# Possible values: sb1, sb2, sbpro1, sbpro2, sb16, gb, none.
# sbbase: The IO address of the soundblaster.
# Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, 300.
# irq: The IRQ number of the soundblaster.
# Possible values: 7, 5, 3, 9, 10, 11, 12.
# dma: The DMA number of the soundblaster.
# Possible values: 1, 5, 0, 3, 6, 7.
# hdma: The High DMA number of the soundblaster.
# Possible values: 1, 5, 0, 3, 6, 7.
# sbmixer: Allow the soundblaster mixer to modify the DOSBox mixer.
# oplmode: Type of OPL emulation. On 'auto' the mode is determined by sblaster type. All OPL modes are Adlib-compatible, except for 'cms'.
# Possible values: auto, cms, opl2, dualopl2, opl3, none.
# oplemu: Provider for the OPL emulation. compat might provide better quality (see oplrate as well).
# Possible values: default, compat, fast.
# oplrate: Sample rate of OPL music emulation. Use 49716 for highest quality (set the mixer rate accordingly).
# Possible values: 44100, 49716, 48000, 32000, 22050, 16000, 11025, 8000.
sbtype=sb16
sbbase=220
irq=7
dma=1
hdma=5
sbmixer=true
oplmode=auto
oplemu=default
oplrate=44100
[gus]
# gus: Enable the Gravis Ultrasound emulation.
# gusrate: Sample rate of Ultrasound emulation.
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
# gusbase: The IO base address of the Gravis Ultrasound.
# Possible values: 240, 220, 260, 280, 2a0, 2c0, 2e0, 300.
# gusirq: The IRQ number of the Gravis Ultrasound.
# Possible values: 5, 3, 7, 9, 10, 11, 12.
# gusdma: The DMA channel of the Gravis Ultrasound.
# Possible values: 3, 0, 1, 5, 6, 7.
# ultradir: Path to Ultrasound directory. In this directory
# there should be a MIDI directory that contains
# the patch files for GUS playback. Patch sets used
# with Timidity should work fine.
gus=false
gusrate=44100
gusbase=240
gusirq=5
gusdma=3
ultradir=C:\ULTRASND
[speaker]
# pcspeaker: Enable PC-Speaker emulation.
# pcrate: Sample rate of the PC-Speaker sound generation.
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
# tandy: Enable Tandy Sound System emulation. For 'auto', emulation is present only if machine is set to 'tandy'.
# Possible values: auto, on, off.
# tandyrate: Sample rate of the Tandy 3-Voice generation.
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
# disney: Enable Disney Sound Source emulation. (Covox Voice Master and Speech Thing compatible).
pcspeaker=true
pcrate=44100
tandy=auto
tandyrate=44100
disney=true
[joystick]
# joysticktype: Type of joystick to emulate: auto (default), none,
# 2axis (supports two joysticks),
# 4axis (supports one joystick, first joystick used),
# 4axis_2 (supports one joystick, second joystick used),
# fcs (Thrustmaster), ch (CH Flightstick).
# none disables joystick emulation.
# auto chooses emulation depending on real joystick(s).
# (Remember to reset dosbox's mapperfile if you saved it earlier)
# Possible values: auto, 2axis, 4axis, 4axis_2, fcs, ch, none.
# timed: enable timed intervals for axis. Experiment with this option, if your joystick drifts (away).
# autofire: continuously fires as long as you keep the button pressed.
# swap34: swap the 3rd and the 4th axis. can be useful for certain joysticks.
# buttonwrap: enable button wrapping at the number of emulated buttons.
joysticktype=auto
timed=true
autofire=false
swap34=false
buttonwrap=false
[serial]
# serial1: set type of device connected to com port.
# Can be disabled, dummy, modem, nullmodem, directserial.
# Additional parameters must be in the same line in the form of
# parameter:value. Parameter for all types is irq (optional).
# for directserial: realport (required), rxdelay (optional).
# (realport:COM1 realport:ttyS0).
# for modem: listenport (optional).
# for nullmodem: server, rxdelay, txdelay, telnet, usedtr,
# transparent, port, inhsocket (all optional).
# Example: serial1=modem listenport:5000
# Possible values: dummy, disabled, modem, nullmodem, directserial.
# serial2: see serial1
# Possible values: dummy, disabled, modem, nullmodem, directserial.
# serial3: see serial1
# Possible values: dummy, disabled, modem, nullmodem, directserial.
# serial4: see serial1
# Possible values: dummy, disabled, modem, nullmodem, directserial.
serial1=dummy
serial2=dummy
serial3=disabled
serial4=disabled
[dos]
# xms: Enable XMS support.
# ems: Enable EMS support.
# umb: Enable UMB support.
# keyboardlayout: Language code of the keyboard layout (or none).
xms=true
ems=true
umb=true
keyboardlayout=auto
[ipx]
# ipx: Enable ipx over UDP/IP emulation.
ipx=false
[autoexec]
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.
imgmount d .\worms.CUE -t iso -fs iso
Worms 디렉토리의 내용은 다음과 같습니다.
-rw-r--r-- 1 501 20 2960937 Feb 17 20:30 02.ogg
-rw-r--r-- 1 501 20 4648429 Feb 17 20:30 03.ogg
-rw-r--r-- 1 501 20 4451976 Feb 17 20:31 04.ogg
-rw-r--r-- 1 501 20 4331940 Feb 17 20:32 05.ogg
-rw-r--r-- 1 501 20 4254838 Feb 17 20:32 06.ogg
-rw-r--r-- 1 501 20 4170134 Feb 17 20:31 07.ogg
-rw-r--r-- 1 501 20 4079885 Feb 17 20:34 08.ogg
-rw-r--r-- 1 501 20 4156349 Feb 17 20:35 09.ogg
-rw-r--r-- 1 501 20 4358277 Feb 17 20:33 10.ogg
-rw-r--r-- 1 501 20 4433647 Feb 17 20:33 11.ogg
-rw-r--r-- 1 501 20 5359742 Feb 17 20:35 12.ogg
-rw-r--r-- 1 501 20 4530887 Feb 17 20:36 13.ogg
-rw-r--r-- 1 501 20 822162 Feb 17 20:32 14.ogg
-rw-r--r-- 1 501 20 268685 Feb 17 20:30 15.ogg
-rw-r--r-- 1 501 20 294289 Feb 17 20:30 16.ogg
-rw-r--r-- 1 501 20 207515 Feb 17 20:30 17.ogg
-rw-r--r-- 1 501 20 6153385 Feb 17 20:36 18.ogg
drwxr-xr-x 14 501 20 448 Jun 4 12:41 DOSBox
drwxr-xr-x 4 501 20 128 Feb 17 20:39 DriveC
drwxr-xr-x 13 501 20 416 Feb 17 20:39 WormsCD
-rw-r--r-- 1 501 20 81 Feb 17 20:31 runworms.bat
-rw-r--r-- 1 501 20 7 Jun 4 12:39 steam_appid.txt
-rw-r--r-- 1 501 20 134903664 Feb 17 20:39 worms.bin
-rw-r--r-- 1 501 20 10993 Jun 4 12:01 worms.conf
-rw-r--r-- 1 501 20 1092 Feb 17 20:37 worms.cue
내용은 다음과 같습니다 runworms.bat
.
.\dosbox\dosbox .\drivec\goworms.bat -conf .\worms.conf -fullscreen -exit
exit
그리고 DriveC/goworms.bat:
cd worms
call worms.bat
이제 DriveC/WORMS/WORMS.BAT:
@cls
@C:\Worms\bin\black.exe
SET dos4g=quiet
SET wormscfg=C:\Worms\worms.cfg
SET wormscd=D:
@C:\Worms\bin\wrms
관심을 가질 만한 또 다른 파일이 있습니다: DriveC/WORMS/ORIG_WORMS.BAT:
@cls
@echo PREPARING TO PLAY WORMS Copyright 1995/96 Team17 Software Ltd.
@echo.
@choice /C:NS /N /T:N,3 "Press S to skip intro and quick-load the game..."
@if errorlevel 2 goto skip
@if errorlevel 1 goto intro
:intro
@cls
@C:\Worms\bin\black.exe
SET dos4g=quiet
SET wormscfg=C:\Worms\worms.cfg
SET wormscd=D:
@D:\fmv\play D:\fmv\logo2.avi
@D:\fmv\play D:\fmv\logo1.avi
@D:\fmv\play D:\fmv\cinadd.avi
@D:\fmv\play D:\fmv\armup.avi
@C:\Worms\bin\black.exe
@C:\Worms\bin\wrms
@goto end
:skip
@cls
@C:\Worms\bin\black.exe
SET dos4g=quiet
SET wormscfg=C:\Worms\worms.cfg
SET wormscd=D:
@C:\Worms\bin\wrms
:end
DriveC/WORMS/BIN/ 디렉터리의 내용은 다음과 같습니다.
-rwxr-xr-x 1 501 20 20604 Feb 17 20:33 BLACK.EXE
-rwxr-xr-x 1 501 20 15824 Feb 17 20:36 MODESET.EXE
-rwxr-xr-x 1 501 20 493309 Feb 17 20:35 WRMS.EXE
답변1
제공된 DOSBox를 사용하지 않고 DOSBox를 사용하는 Steam(또는 GOG 또는 ...) 게임을 실행하는 일반적인 방법은 사용되는 구성 파일을 찾아 다음과 같이 DOSBox를 시작하는 것입니다.
cd ..../common/Worms
dosbox -conf fullscreen.conf
( fullscreen.conf
적절하게 교체).
이렇게 하면 CD 이미지와 디렉터리 마운트, 그래픽 옵션 설정 등 모든 것이 올바르게 설정됩니다.
이 특별한 경우에는 runworms.bat
완전한 레시피를 제공합니다. Linux 또는 macOS에 적합:
dosbox DriveC/goworms.bat -conf worms.conf -fullscreen -exit