diff --git a/reactos/boot/bootdata/CMakeLists.txt b/reactos/boot/bootdata/CMakeLists.txt index c2386f0d2e0..9346f8d8554 100644 --- a/reactos/boot/bootdata/CMakeLists.txt +++ b/reactos/boot/bootdata/CMakeLists.txt @@ -72,9 +72,6 @@ add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/icon.ico DESTINATION root NO_CAB NO add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/readme.txt DESTINATION root NO_CAB NOT_IN_HYBRIDCD FOR all hybridcd) add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/readme.txt DESTINATION reactos FOR all) -#system.ini -add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/system.ini DESTINATION reactos FOR all) - #freeldr.ini add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/bootcd.ini DESTINATION root NO_CAB NOT_IN_HYBRIDCD NAME_ON_CD freeldr.ini FOR bootcd regtest) add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/livecd.ini DESTINATION root NOT_IN_HYBRIDCD NAME_ON_CD freeldr.ini FOR livecd) diff --git a/reactos/subsystems/mvdm/CMakeLists.txt b/reactos/subsystems/mvdm/CMakeLists.txt index 4c01e9467f7..b130ca8552f 100644 --- a/reactos/subsystems/mvdm/CMakeLists.txt +++ b/reactos/subsystems/mvdm/CMakeLists.txt @@ -1,4 +1,5 @@ +add_subdirectory(config) #add_subdirectory(dos) add_subdirectory(ntvdm) add_subdirectory(vdmdbg) diff --git a/reactos/subsystems/mvdm/README.txt b/reactos/subsystems/mvdm/README.txt index f43f5cf1cc9..8f805a4cb3b 100644 --- a/reactos/subsystems/mvdm/README.txt +++ b/reactos/subsystems/mvdm/README.txt @@ -1,7 +1,8 @@ Multiple Virtual DOS Machines - Directory description ===================================================== -- dos : All 16-bit DOS files (kernel, drivers, apps...) are placed here -- ntvdm : NT Virtual DOS Machine -- vdmdbg : Virtual DOS Machine debug helper DLL (from Wine) -- wow16 : All Win16 thunk files are placed here +- config : Miscellaneous configuration files. +- dos : All 16-bit DOS files (kernel, drivers, apps...) are placed here. +- ntvdm : NT Virtual DOS Machine. +- vdmdbg : Virtual DOS Machine debug helper DLL (from Wine). +- wow16 : All Win16 thunk files are placed here. diff --git a/reactos/subsystems/mvdm/config/AUTOEXEC.NT b/reactos/subsystems/mvdm/config/AUTOEXEC.NT new file mode 100644 index 00000000000..58633c79d76 --- /dev/null +++ b/reactos/subsystems/mvdm/config/AUTOEXEC.NT @@ -0,0 +1,30 @@ +@ECHO OFF +REM Virtual DOS Machine (VDM) Default Environment Configuration + +REM NOTE: NTVDM does not use AUTOEXEC.BAT as the default +REM environment settings file when running a DOS application. If you +REM wish to change the default settings for DOS programs, make changes +REM to this file instead. + +REM Sound Blaster Settings +REM ====================== +REM A = The I/O address of the Sound Blaster. +REM * Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, 300. +REM I = The IRQ number of the Sound Blaster. +REM * Possible values: 7, 5, 3, 9, 10, 11, 12. +REM D = The DMA number of the Sound Blaster. +REM * Possible values: 1, 5, 0, 3, 6, 7. +REM H = The High DMA number of the Sound Blaster. +REM * Possible values: 1, 5, 0, 3, 6, 7. +REM T = Type of Sound Blaster Card +REM * 1 - SB 1.5 +REM * 2 - SB Pro I +REM * 3 - SB 2.0 +REM * 4 - SB Pro II +REM * 6 - SB 16/AWE 32/32/64 +REM +REM NOTE: To disable Sound Blaster support, simply place an invalid +REM I/O Port Address (e.g. SET BLASTER=A0). However, if SET BLASTER is +REM not specified in this file, then the default values (A220 I7 D1 H5 T6) +REM will be used instead. +SET BLASTER=A220 I7 D1 H5 T6 diff --git a/reactos/subsystems/mvdm/config/CMakeLists.txt b/reactos/subsystems/mvdm/config/CMakeLists.txt new file mode 100644 index 00000000000..9d5f5bcf702 --- /dev/null +++ b/reactos/subsystems/mvdm/config/CMakeLists.txt @@ -0,0 +1,17 @@ + +# NTVDM Default Configuration Files + +list(APPEND NTVDM_CONFIG_FILES + AUTOEXEC.NT + CONFIG.NT) + +foreach(item ${NTVDM_CONFIG_FILES}) + add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/${item}" DESTINATION reactos/system32 FOR all) + add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/${item}" DESTINATION reactos/repair FOR all) +endforeach(item) + +# system.ini +add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/system.ini DESTINATION reactos FOR all) + +# win.ini +add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/win.ini DESTINATION reactos FOR all) diff --git a/reactos/subsystems/mvdm/config/CONFIG.NT b/reactos/subsystems/mvdm/config/CONFIG.NT new file mode 100644 index 00000000000..479a9e19e0f --- /dev/null +++ b/reactos/subsystems/mvdm/config/CONFIG.NT @@ -0,0 +1,65 @@ +REM Virtual DOS Machine (VDM) Default Startup File + +REM NOTE: NTVDM does not use CONFIG.BAT as the default +REM environment settings file when running a DOS application. To +REM change the default settings for the VDM, change this file +REM instead. However, if a DOS Shortcut (PIF) is used, then +REM the settings found in the PIF file will be used instead. + +REM Echo Output Option +REM ================== +REM When starting up a DOS application, by default, no output +REM text is shown to the user as the application starts +REM up. To display information from both CONFIG.NT and +REM AUTOEXEC.NT, use the option, 'echoconfig'. +REM echoconfig + +REM Command Prompt Option +REM ===================== +REM If the user returns to the Command Prompt either from a TSR, +REM or while running a DOS application, by default, VDM runs +REM COMMAND.COM. To run cmd.exe instead, use the option, 'ntcmdprompt'. +REM However, if COMMAND.COM cannot be found, VDM will use this option +REM regardless if it's disabled or not. +ntcmdprompt + +REM DOS-Only Mode +REM ============= +REM By default, any DOS application can run another application, +REM regardless if it's DOS-based or not. To prevent DOS applications +REM from running non-DOS applications, and therefore possibly preventing +REM disruption of the TSR, use the option 'dosonly'. +REM dosonly + +REM Expanded Memory Manager (EMM) +REM ============================= +REM Syntax = EMM [A=AltRegSets] [B=BaseSegment] [RAM] +REM +REM A = Alternative Mapping Register (AltRegSets) +REM * Determines the Alternative Mapping Register Sets supported by the system. +REM The supported values goes from 1 to 255. +REM * The default value is 8. +REM B = Base Segment +REM * The default value is 0x4000. +REM Random Access Memory (RAM) +REM * If used, then only allocate 64kb address space from the Upper Memory +REM Block (UMB) for EMM page frames, while allowing the rest (if any) to be +REM used by NTVDM for loadhigh and devicehigh commands. +REM * By default, all available and possible UMB will be used for page frames. +REM +REM The size of a program's EMM is determined by it's given PIF file. But +REM if no PIF file is provided, the default settings will be used (_default.pif). +REM But if the size of the given PIF file is zero, then the EMM will be disabled +REM and the options below will be ignored. +REM EMM A=8 B=0x4000 64 + +REM Disable PC Speaker Audio +REM ======================== +REM Disables the playback of PC Speaker Audio. +REM disablepcspeaker + +REM Misc. Configuration Options +REM =========================== +REM dos=high, umb +REM device=%SystemRoot%\System32\himem.sys +REM files=40 diff --git a/reactos/boot/bootdata/system.ini b/reactos/subsystems/mvdm/config/system.ini similarity index 88% rename from reactos/boot/bootdata/system.ini rename to reactos/subsystems/mvdm/config/system.ini index 26af8d3a549..0e7efa9193c 100644 --- a/reactos/boot/bootdata/system.ini +++ b/reactos/subsystems/mvdm/config/system.ini @@ -1,20 +1,21 @@ -[driver32] -msacm.imaadpcm=imaadp32.acm -msacm.msadpcm=msadp32.acm -msacm.msg711=msg711.acm -msacm.msgsm610=msgsm32.acm -msacm.winemp3=winemp3.acm -vidc.mrle=msrle32.dll -vidc.msvc=msvidc32.dll -vidc.cvid=iccvid.dll - -[mci] -MPEGVideo=mciqtz32.dll -MPEGVideo2=mciqtz32.dll -AVIVideo=mciavi32.dll -CDAudio=mcicda.dll -Sequencer=mciseq.dll -vcr=mcivisca.drv -WaveAudio=mciwave.dll - -[386enh] +; For 16-bit compatibility +[driver32] +msacm.imaadpcm=imaadp32.acm +msacm.msadpcm=msadp32.acm +msacm.msg711=msg711.acm +msacm.msgsm610=msgsm32.acm +msacm.winemp3=winemp3.acm +vidc.mrle=msrle32.dll +vidc.msvc=msvidc32.dll +vidc.cvid=iccvid.dll + +[mci] +MPEGVideo=mciqtz32.dll +MPEGVideo2=mciqtz32.dll +AVIVideo=mciavi32.dll +CDAudio=mcicda.dll +Sequencer=mciseq.dll +vcr=mcivisca.drv +WaveAudio=mciwave.dll + +[386enh] diff --git a/reactos/subsystems/mvdm/config/win.ini b/reactos/subsystems/mvdm/config/win.ini new file mode 100644 index 00000000000..ec3847b0a73 --- /dev/null +++ b/reactos/subsystems/mvdm/config/win.ini @@ -0,0 +1,8 @@ +; For 16-bit compatibility +[fonts] +[extensions] +[mci extensions] +[files] +[Mail] +MAPI=1 +[MCI Extensions.BAK]