forked from joncampbell123/dosbox-x
-
Notifications
You must be signed in to change notification settings - Fork 1
/
dosbox.reference.conf
1764 lines (1732 loc) · 152 KB
/
dosbox.reference.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# This is the configuration file for DOSBox 0.82.26. (Please use the latest version of DOSBox)
# Lines starting with a # are comment lines and are ignored by DOSBox.
# They are used to (briefly) document the effect of each option.
# To write out ALL options, use command 'config -all' with -wc or -writeconf options.
[log]
# logfile: file where the log messages will be saved to
# vga: Enable/Disable logging of this type.
# Possible values: true, false, debug, normal, warn, error, fatal, never.
# vgagfx: Enable/Disable logging of this type.
# Possible values: true, false, debug, normal, warn, error, fatal, never.
# vgamisc: Enable/Disable logging of this type.
# Possible values: true, false, debug, normal, warn, error, fatal, never.
# int10: Enable/Disable logging of this type.
# Possible values: true, false, debug, normal, warn, error, fatal, never.
# sblaster: Enable/Disable logging of this type.
# Possible values: true, false, debug, normal, warn, error, fatal, never.
# dma_control: Enable/Disable logging of this type.
# Possible values: true, false, debug, normal, warn, error, fatal, never.
# fpu: Enable/Disable logging of this type.
# Possible values: true, false, debug, normal, warn, error, fatal, never.
# cpu: Enable/Disable logging of this type.
# Possible values: true, false, debug, normal, warn, error, fatal, never.
# paging: Enable/Disable logging of this type.
# Possible values: true, false, debug, normal, warn, error, fatal, never.
# fcb: Enable/Disable logging of this type.
# Possible values: true, false, debug, normal, warn, error, fatal, never.
# files: Enable/Disable logging of this type.
# Possible values: true, false, debug, normal, warn, error, fatal, never.
# ioctl: Enable/Disable logging of this type.
# Possible values: true, false, debug, normal, warn, error, fatal, never.
# exec: Enable/Disable logging of this type.
# Possible values: true, false, debug, normal, warn, error, fatal, never.
# dosmisc: Enable/Disable logging of this type.
# Possible values: true, false, debug, normal, warn, error, fatal, never.
# pit: Enable/Disable logging of this type.
# Possible values: true, false, debug, normal, warn, error, fatal, never.
# keyboard: Enable/Disable logging of this type.
# Possible values: true, false, debug, normal, warn, error, fatal, never.
# pic: Enable/Disable logging of this type.
# Possible values: true, false, debug, normal, warn, error, fatal, never.
# mouse: Enable/Disable logging of this type.
# Possible values: true, false, debug, normal, warn, error, fatal, never.
# bios: Enable/Disable logging of this type.
# Possible values: true, false, debug, normal, warn, error, fatal, never.
# gui: Enable/Disable logging of this type.
# Possible values: true, false, debug, normal, warn, error, fatal, never.
# misc: Enable/Disable logging of this type.
# Possible values: true, false, debug, normal, warn, error, fatal, never.
# io: Enable/Disable logging of this type.
# Possible values: true, false, debug, normal, warn, error, fatal, never.
# pci: Enable/Disable logging of this type.
# Possible values: true, false, debug, normal, warn, error, fatal, never.
# sst: Enable/Disable logging of this type.
# Possible values: true, false, debug, normal, warn, error, fatal, never.
logfile =
vga = false
vgagfx = false
vgamisc = false
int10 = false
sblaster = false
dma_control = false
fpu = false
cpu = false
paging = false
fcb = false
files = false
ioctl = false
exec = false
dosmisc = false
pit = false
keyboard = false
pic = false
mouse = false
bios = false
gui = false
misc = false
io = false
pci = false
sst = false
[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, desktop or a 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, openglhq, ddraw.
# autolock: Mouse will automatically lock, if you click on the screen. (Press CTRL-F10 to unlock)
# autolock_feedback: Autolock status feedback type, i.e. visual, auditive, none.
# Possible values: none, beep, flash.
# sensitivity: Mouse sensitivity. The optional second parameter specifies vertical sensitivity (e.g. 100,-50).
# mouse_emulation: When is mouse emulated ?
# integration: when not locked
# locked: when locked
# always: every time
# never: at no time
# If disabled, the mouse position in DOSBox-X is exactly where the host OS reports it.
# When using a high DPI mouse, the emulation of mouse movement can noticeably reduce the
# sensitiveness of your device, i.e. the mouse is slower but more precise.
# Possible values: integration, locked, always, never.
# 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 default value.
# usescancodes: Avoid usage of symkeys, might not work on all operating systems.
# overscan: Width of overscan border (0 to 10). (works only if output=surface)
# titlebar: Change the string displayed in the DOSBox title bar.
# showmenu: Whether to show the menu bar (if supported). Default true.
fullscreen = false
fulldouble = false
fullresolution = desktop
windowresolution = original
output = surface
autolock = false
autolock_feedback = beep
sensitivity = 100
mouse_emulation = locked
waitonerror = true
priority = higher,normal
mapperfile = mapper-0.82.26.map
usescancodes = false
overscan = 0
titlebar =
showmenu = true
[dosbox]
# language: Select another language file.
# title: Additional text to place in the title bar of the window
# enable 8-bit dac: If set, allow VESA BIOS calls in IBM PC mode to set DAC width. Has no effect in PC-98 mode.
# dpi aware: Set this option (on by default) to indicate to your OS that DOSBox is DPI aware.
# If it is not set, Windows Vista/7/8/10 and higher may upscale the DOSBox window
# on higher resolution monitors which is probably not what you want.
# keyboard hook: Use keyboard hook (currently only on Windows) to catch special keys and synchronize the keyboard LEDs with the host
# weitek: If set, emulate the Weitek coprocessor. This option only has effect if cputype=386 or cputype=486.
# bochs debug port e9: If set, emulate Bochs debug port E9h. ASCII text written to this I/O port is assumed to be debug output, and logged.
# machine: The type of machine DOSBox tries to emulate.
# Possible values: hercules, cga, cga_mono, cga_rgb, cga_composite, cga_composite2, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe, amstrad, pc98, pc9801, pc9821, fm_towns, mcga, mda.
# svga lfb base: If nonzero, define the physical memory address of the linear framebuffer.
# pci vga: If set, SVGA is emulated as if a PCI device (when enable pci bus=true)
# vmemdelay: VGA Memory I/O delay in nanoseconds. Set to -1 to use default, 0 to disable.
# Default off. Enable this option (-1 or nonzero) if you are running a game or
# demo that needs slower VGA memory (like that of older ISA hardware) to work properly.
# If your game is not sensitive to VGA RAM I/O speed, then turning on this option
# will do nothing but cause a significant drop in frame rate which is probably not
# what you want. Recommended values -1, 0 to 2000.
# vmemsize: Amount of video memory in megabytes.
# The maximum resolution and color depth the svga_s3 will be able to display
# is determined by this value.
# -1: auto (vmemsizekb is ignored)
# 0: 512k (800x600 at 256 colors) if vmemsizekb=0
# 1: 1024x768 at 256 colors or 800x600 at 64k colors
# 2: 1600x1200 at 256 colors or 1024x768 at 64k colors or 640x480 at 16M colors
# 4: 1600x1200 at 64k colors or 1024x768 at 16M colors
# 8: up to 1600x1200 at 16M colors
# For build engine games, use more memory than in the list above so it can
# use triple buffering and thus won't flicker.
#
# vmemsizekb: Amount of video memory in kilobytes, in addition to vmemsize
# captures: Directory where things like wave, midi, screenshot get captured.
# skip encoding unchanged frames: Unchanged frames will not be sent to the video codec as a possible performance and bandwidth optimization.
# capture chroma format: Chroma format to use when capturing to H.264. 'auto' picks the best quality option.
# 4:4:4 Chroma is at full resolution. This provides the best quality, however not widely supported by editing software.
# 4:2:2 Chroma is at half horizontal resolution.
# 4:2:0 Chroma is at quarter resolution, which may cause minor color smearing.
# However, this chroma format is most likely to be compatible with video editing software.
# Possible values: auto, 4:4:4, 4:2:2, 4:2:0.
# capture format: Capture format to use when capturing video. The availability of the format depends on how DOSBox-X was compiled.
# default Use compiled-in default (avi-zmbv)
# avi-zmbv Use DOSBox-style AVI + ZMBV codec with PCM audio
# mpegts-h264 Use MPEG transport stream + H.264 + AAC audio. Resolution & refresh rate changes can be contained
# within one file with this choice, however not all software can support mid-stream format changes.
# Possible values: default, avi-zmbv, mpegts-h264.
# shell environment size: Size of the initial DOSBox shell environment block, in bytes. This does not affect the environment block of sub-processes spawned from the shell.
# This option has no effect unless dynamic kernel allocation is enabled.
# private area size: Set DOSBox-X private memory area size. This area contains private memory structures used by the DOS kernel.
# It is discarded when you boot into another OS. Mainline DOSBox uses 32KB. Testing shows that it is possible
# to run DOSBox with as little as 4KB. If DOSBox-X aborts with error "not enough memory for internal tables"
# then you need to increase this value.
# vga attribute controller mapping: This affects how the attribute controller maps colors, especially in 256-color mode.
# Some SVGA cards handle the attribute controller palette differently than most SVGA cards.
# auto Automatically pick the mapping based on the SVGA chipset.
# 4x4 Split into two 4-bit nibbles, map through AC, recombine. This is standard VGA behavior including clone SVGA cards.
# 4low Split into two 4-bit nibbles, remap only the low 4 bits, recombine. This is standard ET4000 behavior.
#
# NOTES:
# Demoscene executable 'COPPER.EXE' requires the '4low' behavior in order to display line-fading effects
# (including scrolling credits) correctly, else those parts of the demo show up as a blank screen.
#
# 4low behavior is default for ET4000 emulation.
# Possible values: , auto, 4x4, 4low, first16.
# a20: A20 gate emulation mode.
# The on/off/on_fake/off_fake options are intended for testing and debugging DOS development,
# or to emulate obscure hardware, or to work around potential extended memory problems with DOS programs.
# on_fake/off_fake are intended to test whether a program carries out a memory test to ensure the A20
# gate is set as intended (as HIMEM.SYS does). If it goes by the gate bit alone, it WILL crash.
# This parameter is also changeable from the builtin A20GATE command.
# fast Emulate A20 gating by remapping the first 64KB @ 1MB boundary (fast, mainline DOSBox behavior)
# mask Emulate A20 gating by masking memory I/O address (accurate)
# off Lock A20 gate off (Software/OS cannot enable A20)
# on Lock A20 gate on (Software/OS cannot disable A20)
# off_fake Lock A20 gate off but allow bit to toggle (hope your DOS game tests the HMA!)
# on_fake Lock A20 gate on but allow bit to toggle
# turn off a20 gate on boot: If enabled, A20 gate is switched off when booting a guest OS.
# Enabled by default. Recommended for MS-DOS when HIMEM.SYS is not installed in the guest OS.
# If disabled, and MS-DOS does not load HIMEM.SYS, programs and features that rely on the 1MB wraparound will fail.
# cbus bus clock: C-BUS BCLK frequency (PC-98), used to emulate I/O delay.
# WARNING: In future revisions, PCI/motherboard chipset emulation will allow the guest OS/program to alter this value at runtime.
# std10 10MHz (CPU speed multiple of 5MHz or PCI-based)
# std8 8MHz (CPU speed multiple of 4MHz)
# std5 5MHz (older PC-9801)
# <integer or float> Any integer or floating point value will be used as the clock frequency in Hz
# <integer/integer ratio> If a ratio is given (num/den), the ratio will be used as the clock frequency
# isa bus clock: ISA BCLK frequency, used to emulate I/O delay.
# WARNING: In future revisions, PCI/motherboard chipset emulation will allow the guest OS/program to alter this value at runtime.
# std8.3 8.333MHz (typical 386-class or higher)
# std8 8MHz
# std6 6MHz
# std4.77 4.77MHz (precisely 1/3 x 14.31818MHz). Bus frequency of older PC/XT systems.
# oc10 10MHz
# oc12 12MHz
# oc15 15MHz
# oc16 16MHz
# <integer or float> Any integer or floating point value will be used as the clock frequency in Hz
# <integer/integer ratio> If a ratio is given (num/den), the ratio will be used as the clock frequency
# pci bus clock: PCI bus frequency, used to emulate I/O delay.
# WARNING: In future revisions, PCI/motherboard chipset emulation will allow the guest OS/program to alter this value at runtime.
# std33.3 33.333MHz (very common setting on motherboards)
# std30 30MHz (some older mid-1990's Pentium systems)
# std25 25MHz
# <integer or float> Any integer or floating point value will be used as the clock frequency in Hz
# <integer/integer ratio> If a ratio is given (num/den), the ratio will be used as the clock frequency
# call binary on reset: If set, this is the path of a binary blob to load into the ROM BIOS area and execute immediately after CPU reset.
# It will be executed before the BIOS POST routine, only ONCE. The binary blob is expected either to IRET or to
# jump directly to F000:FFF0 to return control to the BIOS.
# This can be used for x86 assembly language experiments and automated testing against the CPU emulation.
# unhandled irq handler: Determines how unhandled IRQs are handled. This may help some errant DOS applications.
# Leave unset for default behavior (simple).
# simple Acknowledge the IRQ, and the master (if slave IRQ)
# mask_isr Acknowledge IRQs in service on master and slave and mask IRQs still in service, to deal with errant handlers (em-dosbox method)
# Possible values: , simple, cooperative_2nd.
# call binary on boot: If set, this is the path of a binary blob to load into the ROM BIOS area and execute immediately before booting the DOS system.
# This can be used for x86 assembly language experiments and automated testing against the CPU emulation.
# rom bios allocation max: Maximum size (top down from 1MB) allowed for ROM BIOS dynamic allocation in KB
# rom bios minimum size: Once ROM BIOS layout is finalized, trim total region down to a minimum amount in KB
# irq delay ns: IRQ delay in nanoseconds. Set to -1 to use default, 0 to disable.
# This is a more precise version of the irqdelay= setting.
# There are some old DOS games and demos that have race conditions with IRQs that need a nonzero value here to work properly.
# iodelay: I/O delay in nanoseconds for I/O port access. Set to -1 to use default, 0 to disable.
# A value of 1000 (1us) is recommended for ISA bus type delays. If your game
# or demo is not sensitive to I/O port and ISA bus timing, you can turn this option off
# (set to 0) to increase game performance.
# iodelay16: I/O delay for 16-bit transfers. -1 to use default, 0 to disable.
# iodelay32: I/O delay for 32-bit transfers. -1 to use default, 0 to disable.
# acpi: ACPI emulation, and what version of the specification to follow.
# WARNING: This option is very experimental at this time and should not be enabled unless you're willing to accept the consequences.
# Intended for use with ACPI-aware OSes including Linux and Windows 98/ME. This option will also slightly reduce available
# system memory to make room for the ACPI tables, just as real BIOSes do, and reserve an IRQ for ACPI functions.
# Possible values: off, 1.0, 1.0b, 2.0, 2.0a, 2.0b, 2.0c, 3.0, 3.0a, 3.0b, 4.0, 4.0a, 5.0, 5.0a, 6.0.
# acpi rsd ptr location: Where to store the Root System Description Pointer structure. You can have it stored in the ROM BIOS area, or the Extended Bios Data Area.
# Possible values: auto, bios, ebda.
# acpi sci irq: IRQ to assign as ACPI system control interrupt. set to -1 to automatically assign.
# acpi iobase: I/O port base for the ACPI device Power Management registers. Set to 0 for automatic assignment.
# acpi reserved size: Amount of memory at top to reserve for ACPI structures and tables. Set to 0 for automatic assignment.
# 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.nPrograms that use 286 protected mode like Windows 3.0 in Standard Mode may crash with more than 15MB.
# memsizekb: Amount of memory DOSBox has in kilobytes.
# This value should normally be set to 0.
# If nonzero, it is added to the memsize parameter.
# Finer grained control of total memory may be useful in
# emulating ancient DOS machines with less than 640KB of
# RAM or early 386 systems with odd extended memory sizes.
# dos mem limit: Limit DOS conventional memory to this amount. Does not affect extended memory.
# Setting this option to a value in the range 636-639 can be used to simulate modern BIOSes
# that maintain an EBDA (Extended BIOS Data Area) at the top of conventional memory.
# You may also play with this option for diagnostic purposes or to stress test DOS programs in limited memory setups.
#
# A few DOS games & demos require this option to be set:
# Majic 12 "Show": If UMBs are enabled, set this option to 639 to avoid MCB chain corruption error.
# isa memory hole at 512kb: If set, emulate an ISA memory hole at the 512KB to 640KB area (0x80000-0x9FFFF).
# reboot delay: Reboot delay. How long to pause at BIOS POST after reboot in milliseconds.
# This option is provided so that it is possible to see what the guest application
# or OS might have written to the screen before resetting the system. A value of
# -1 means to use a reasonable default.
# memalias: Memory aliasing emulation, in number of valid address bits.
# Many 386/486 class motherboards and processors prior to 1995
# suffered from memory aliasing for various technical reasons. If the software you are
# trying to run assumes aliasing, or otherwise plays cheap tricks with paging,
# enabling this option can help. Note that enabling this option can cause slight performance degredation. Set to 0 to disable.
# Recommended values when enabled:
# 24: 16MB aliasing. Common on 386SX systems (CPU had 24 external address bits)
# or 386DX and 486 systems where the CPU communicated directly with the ISA bus (A24-A31 tied off)
# 26: 64MB aliasing. Some 486s had only 26 external address bits, some motherboards tied off A26-A31
# pc-98 BIOS copyright string: If set, the PC-98 BIOS copyright string is placed at E800:0000. Enable this for software that detects PC-98 vs Epson.
# pc-98 int 1b fdc timer wait: If set, INT 1Bh floppy access will wait for the timer to count down before returning.
# This is needed for Ys II to run without crashing.
# pc-98 pic init to read isr: If set, the programmable interrupt controllers are initialized by default (if PC-98 mode)
# so that the in-service interrupt status can be read immediately. There seems to be a common
# convention in PC-98 games to program and/or assume this mode for cooperative interrupt handling.
# This option is enabled by default for best compatibility with PC-98 games.
# pc-98 fm board: In PC-98 mode, selects the FM music board to emulate.
# Possible values: auto, off, false, board14, board26k, board86, board86c.
# pc-98 fm board irq: If set, helps to determine the IRQ of the FM board. A setting of zero means to auto-determine the IRQ.
# pc-98 fm board io port: If set, helps to determine the base I/O port of the FM board. A setting of zero means to auto-determine the port number.
# pc-98 sound bios: Set Sound BIOS enabled bit in MEMSW 4 for some games that require it.
# TODO: Real emulation of PC-9801-26K/86 Sound BIOS
# pc-98 load sound bios rom file: If set, load SOUND.ROM if available and prsent that to the guest instead of trying to emulate directly.
# This is strongly recommended, and is default enabled.
# SOUND.ROM is a snapshot of the FM board BIOS taken from real PC-98 hardware.
# pc-98 buffer page flip: If set, the game's request to page flip will be delayed to vertical retrace, which can eliminate tearline artifacts.
# Note that this is NOT the behavior of actual hardware. This option is provided for the user's preference.
# pc-98 enable 256-color planar: Allow 256-color planar graphics mode if set, disable if not set.
# This is a form of memory access in 256-color mode that existed for a short
# time before later PC-9821 models removed it. This option must be enabled
# to use DOSBox-X with Windows 3.1 and it's built-in 256-color driver.
# pc-98 enable 256-color: Allow 256-color graphics mode if set, disable if not set
# pc-98 enable 16-color: Allow 16-color graphics mode if set, disable if not set
# pc-98 enable grcg: Allow GRCG graphics functions if set, disable if not set
# pc-98 enable egc: Allow EGC graphics functions if set, disable if not set
# pc-98 enable 188 user cg: Allow 188+ user-defined CG cells if set
# pc-98 start gdc at 5mhz: Start GDC at 5MHz if set, 2.5MHz if clear. May be required for some games.
# pc-98 allow scanline effect: If set, PC-98 emulation will allow the DOS application to enable the 'scanline effect'
# in 200-line graphics modes upconverted to 400-line raster display. When enabled, odd
# numbered scanlines are blanked instead of doubled
# pc-98 bus mouse: Enable PC-98 bus mouse emulation. Disabling this option does not disable INT 33h emulation.
# pc-98 video mode: Specify the preferred PC-98 video mode.
# Valid values are 15, 24, or 31 for each specific horizontal refresh rate on the platform.
# 24khz is default and best supported at this time.
# 15khz is not implemented at this time.
# 31khz is experimental at this time.
# Possible values: , 24khz, 31khz, 15khz.
# pc-98 timer master frequency: 8254 timer clock frequency (NEC PC-98). Depending on the CPU frequency the clock frequency is one of two common values.
# If your setting is neither of the below the closest appropriate value will be chosen.
# This setting affects the master clock rate that DOS applications must divide down from to program the timer
# at the correct rate, which affects timer interrupt, PC speaker, and the COM1 RS-232C serial port baud rate.
# 8MHz is treated as an alias for 4MHz and 10MHz is treated as an alias for 5MHz.
# 0: Use default (auto)
# 4: 1.996MHz (as if 4MHz or multiple thereof CPU clock)
# 5: 2.457MHz (as if 5MHz or multiple thereof CPU clock)
# pc-98 allow 4 display partition graphics: According to NEC graphics controller documentation, graphics mode is supposed to support only
# 2 display partitions. Some games rely on hardware flaws that allowed 4 partitions.
# -1: Default (choose automatically)
# 0: Disable
# 1: Enable
# pc-98 force ibm keyboard layout: Force to use a default keyboard layout like IBM US-English for PC-98 emulation.
# Will only work with apps and games using BIOS for keyboard.
# vga bios size override: VGA BIOS size override. Override the size of the VGA BIOS (normally 32KB in compatible or 12KB in non-compatible).
# video bios dont duplicate cga first half rom font: If set, save 4KB of EGA/VGA ROM space by pointing to the copy in the ROM BIOS of the first 128 chars
# video bios always offer 14-pixel high rom font: If set, video BIOS will always carry the 14-pixel ROM font. If clear, 14-pixel rom font will not be offered except for EGA/VGA emulation.
# video bios always offer 16-pixel high rom font: If set, video BIOS will always carry the 16-pixel ROM font. If clear, 16-pixel rom font will not be offered except for VGA emulation.
# video bios enable cga second half rom font: If set, and emulating CGA/PCjr/Tandy, automatically provide the second half of the 8x8 ROM font.
# This setting is ignored for EGA/VGA emulation. If not set, you will need a utility like GRAFTABL.COM to load the second half of the ROM font for graphics.
# NOTE: if you disable the 14 & 16 pixel high font AND the second half when machine=cga, you will disable video bios completely.
# forcerate: Force the VGA framerate to a specific value(ntsc, pal, or specific hz), no matter what
# sierra ramdac: Whether or not to emulate a Sierra or compatible RAMDAC at port 3C6h-3C9h.
# Some DOS games expect to access port 3C6h to enable highcolor/truecolor SVGA modes on older chipsets.
# Disable if you wish to emulate SVGA hardware that lacks a RAMDAC or (depending on the chipset) does
# not emulate a RAMDAC that is accessible through port 3C6h. This option has no effect for non-VGA video hardware.
# sierra ramdac lock 565: When emulating High Sierra highcolor RAMDAC, assume 5:6:5 at all times if set. Else,
# bit 6 of the DAC command selects between 5:5:5 and 5:6:5. Set this option for demos or
# games that got the command byte wrong (MFX Transgrassion 2) or any other demo that is
# not rendering highcolor 16bpp correctly.
# page flip debug line: VGA debugging switch. If set, an inverse line will be drawn on the exact scanline that the CRTC display offset registers were written.
# This can be used to help diagnose whether or not the DOS game is page flipping properly according to vertical retrace if the display on-screen is flickering.
# vertical retrace poll debug line: VGA debugging switch. If set, an inverse green dotted line will be drawn on the exact scanline that the CRTC status port (0x3DA) was read.
# This can be used to help diagnose whether the DOS game is propertly waiting for vertical retrace.
# cgasnow: When machine=cga, determines whether or not to emulate CGA snow in 80x25 text mode
# vga 3da undefined bits: VGA status port 3BA/3DAh only defines bits 0 and 3. This setting allows you to assign a bit pattern to the undefined bits.
# The purpose of this hack is to deal with demos that read and handle port 3DAh in ways that might crash if all are zero.
# unmask timer on int 10 setmode: If set, INT 10h will unmask IRQ 0 (timer) when setting video modes.
# unmask keyboard on int 16 read: If set, INT 16h will unmask IRQ 1 (keyboard) when asked to read keyboard input.
# It is strongly recommended that you set this option if running Windows 3.11 Windows for Workgroups in DOSBox-X.
# int16 keyboard polling undocumented cf behavior: If set, INT 16h function AH=01h will also set/clear the carry flag depending on whether input was available.
# There are some old DOS games and demos that rely on this behavior to sense keyboard input, and this behavior
# has been verified to occur on some old (early 90s) BIOSes.
# allow port 92 reset: If set (default), allow the application to reset the CPU through port 92h
# enable port 92: Emulate port 92h (PS/2 system control port A). If you want to emulate a system that pre-dates the PS/2, set to 0.
# enable 1st dma controller: Emulate 1st (AT) DMA controller (default). Set to 0 if you wish to emulate a system that lacks DMA (PCjr and some Tandy systems)
# enable 2nd dma controller: Emulate 2nd (AT) DMA controller (default). Set to 0 if you wish to emulate a PC/XT system without 16-bit DMA.
# Note: mainline DOSBox automatically disables 16-bit DMA when machine=cga or machine=hercules, while DOSBox-X does not.
# allow dma address decrement: If set, allow increment & decrement modes as specified in the 8237 datasheet.
# If clear, always increment the address (as if to emulate clone 8237 implementations that skipped the inc/dec bit).
# enable 128k capable 16-bit dma: If true, DMA controller emulation models ISA hardware that permits 16-bit DMA to span 128KB.
# If false, DMA controller emulation models PCI hardware that limits 16-bit DMA to 64KB boundaries.
# If auto, the choice is made according to other factors in hardware emulation
# Possible values: true, false, 1, 0, auto.
# enable dma extra page registers: If set, emulate the extra page registers (I/O ports 0x80, 0x84-0x86, 0x88, 0x8C-0x8E), like actual hardware.
# Note that mainline DOSBox behavior is to NOT emulate these registers.
# dma page registers write-only: Normally (on AT hardware) the DMA page registers are read/write. Set this option if you want to emulate PC/XT hardware where the page registers are write-only.
# cascade interrupt never in service: If set, PIC emulation will never mark cascade interrupt as in service. This is OFF by default. It is a hack for troublesome games.
# cascade interrupt ignore in service: If true, PIC emulation will allow slave pic interrupts even if the cascade interrupt is still "in service" (common PC-98 behavior)
# If false, PIC emulation will consider cascade in-service state when deciding which interrupt to signal (common IBM PC behavior)
# If auto, setting is chosen based on machine type and other configuration.
# Possible values: true, false, 1, 0, auto.
# enable slave pic: Enable slave PIC (IRQ 8-15). Set this to 0 if you want to emulate a PC/XT type arrangement with IRQ 0-7 and no IRQ 2 cascade.
# enable pc nmi mask: Enable PC/XT style NMI mask register (0xA0). Note that this option conflicts with the secondary PIC and will be ignored if the slave PIC is enabled.
# rom bios 8x8 CGA font: If set, or mainline compatible bios mapping, a legacy 8x8 CGA font (first 128 characters) is stored at 0xF000:0xFA6E. DOS programs that do not use INT 10h to locate fonts might require that font to be located there.
# rom bios video parameter table: If set, or mainline compatible bios mapping, DOSBox will emulate the video parameter table and assign that to INT 1Dh. If clear, table will not be provided.
# allow more than 640kb base memory: If set, and space is available, allow conventional memory to extend past 640KB.
# For example, if machine=cga, conventional memory can extend out to 0xB800 and provide up to 736KB of RAM.
# This allows you to emulate PC/XT style memory extensions.
# vesa zero buffer on get information: This setting affects VESA BIOS function INT 10h AX=4F00h. If set, the VESA BIOS will zero the
# 256-byte buffer defined by the standard at ES:DI, then fill in the structure. If clear, only
# the structure members will be filled in, and memory outside the initial 20-32 bytes will remain
# unmodified. This setting is ON by default. Some very early 1990s DOS games that support VESA
# BIOS standards may need this setting turned OFF if the programmer did not provide enough space
# for the entire 256 byte structure and the game crashes if it detects VESA BIOS extensions.
# Needed for:
# GETSADAM.EXE
# vesa lfb base scanline adjust: If non-zero, the VESA BIOS will report the linear framebuffer offset by this many scanlines.
# This does not affect the linear framebuffer's location. It only affects the linear framebuffer
# location reported by the VESA BIOS. Set to nonzero for DOS games with sloppy VESA graphics pointer management.
# MFX "Melvindale" (1996): Set this option to 2 to center the picture properly.
# vesa map non-lfb modes to 128kb region: If set, VESA BIOS SVGA modes will be set to map 128KB of video memory to A0000-BFFFF instead of
# 64KB at A0000-AFFFF. This does not affect the SVGA window size or granularity.
# Some games or demoscene productions assume that they can render into the next SVGA window/bank
# by writing to video memory beyond the current SVGA window address and will not appear correctly
# without this option.
# allow hpel effects: If set, allow the DOS demo or program to change the horizontal pel (panning) register per scanline.
# Some early DOS demos use this to create waving or sinus effects on the picture. Not very many VGA
# chipsets allow this, so far, only ATI chipsets are known to support this effect. Disabled by default.
# allow hretrace effects: If set, allow the DOS demo or program to make the picture wavy by playing with the 'start horizontalretrace' register of the CRTC during the active picture. Some early DOS demos (Copper by Surprise!productions) need this option set for some demo effects to work. Disabled by default.
# hretrace effect weight: If emulating hretrace effects, this parameter adds 'weight' to the offset to smooth it out.
# the larger the number, the more averaging is applied. This is intended to emulate the inertia
# of the electron beam in a CRT monitor
# vesa modelist cap: IF nonzero, the VESA modelist is capped so that it contains no more than the specified number of video modes.
# vesa modelist width limit: IF nonzero, VESA modes with horizontal resolution higher than the specified pixel count will not be listed.
# This is another way the modelist can be capped for DOS applications that have trouble with long modelists.
# vesa modelist height limit: IF nonzero, VESA modes with vertical resolution higher than the specified pixel count will not be listed.
# This is another way the modelist can be capped for DOS applications that have trouble with long modelists.
# vesa vbe put modelist in vesa information: If set, the VESA modelist is placed in the VESA information structure itself when the DOS application
# queries information on the VESA BIOS. Setting this option may help with some games, though it limits
# the mode list reported to the DOS application.
# vesa vbe 1.2 modes are 32bpp: If set, truecolor (16M color) VESA BIOS modes in the 0x100-0x11F range are 32bpp. If clear, they are 24bpp.
# Some DOS games and demos assume one bit depth or the other and do not enumerate VESA BIOS modes, which is why this
# option exists.
# allow low resolution vesa modes: If set, allow low resolution VESA modes (320x200x16/24/32bpp and so on). You could set this to false to simulate
# SVGA hardware with a BIOS that does not support the lowres modes for testing purposes.
# allow explicit 24bpp vesa modes: If set, additional 24bpp modes are listed in the modelist regardless whether modes 0x100-0x11F are
# configured to be 24bpp or 32bpp. Setting this option can provide the best testing and development
# environment for new retro DOS code. If clear, 24bpp will only be available in the 0x100-0x11F range
# if the "vesa vbe 1.2 modes are 32bpp" is false. Setting to false helps to emulate typical SVGA
# hardware in which either 24bpp is supported, or 32bpp is supported, but not both. Disabled by default.
# allow high definition vesa modes: If set, offer HD video modes in the VESA modelist (such as 1280x720 aka 720p or 1920x1080 aka 1080p).
# This option also offers 4:3 versions (960x720 and 1440x1080) for DOS games that cannot properly handle
# a 16:9 aspect ratio, and several other HD modes. The modes enabled by this option are still limited by the
# width and height limits and available video memory.
# This is unusual for VESA BIOSes to do and is disabled by default.
# allow unusual vesa modes: If set, unusual (uncommon) modes are added to the list. The modes reflect uncommon resolutions
# added by external drivers (UNIVBE), some VESA BIOSes, some laptop and netbook displays, and
# some added by DOSBox-X for additional fun. Disabled by default.
# allow 32bpp vesa modes: If the DOS game or demo has problems with 32bpp VESA modes, set to 'false'
# allow 24bpp vesa modes: If the DOS game or demo has problems with 24bpp VESA modes, set to 'false'
# allow 16bpp vesa modes: If the DOS game or demo has problems with 16bpp VESA modes, set to 'false'
# allow 15bpp vesa modes: If the DOS game or demo has problems with 15bpp VESA modes, set to 'false'
# allow 8bpp vesa modes: If the DOS game or demo has problems with 8bpp VESA modes, set to 'false'
# allow 4bpp vesa modes: If the DOS game or demo has problems with 4bpp VESA modes, set to 'false'.
# These modes have the same 16-color planar memory layout as standard VGA, but
# at SVGA resolution.
# allow 4bpp packed vesa modes: If the DOS game or demo has problems with 4bpp packed VESA modes, set to 'false'.
# 4bpp (16-color) packed is an unusual novelty mode only seen on specific Chips & Tech 65550
# VESA BIOSes such as the one in a Toshiba Libretto laptop. Disabled by default.
# allow tty vesa modes: If the DOS game or demo has problems with text VESA modes, set to 'false'
# double-buffered line compare: This setting affects the VGA Line Compare register. Set to false (default value) to emulate most VGA behavior
# Set to true for the value to latch once at the start of the frame.
# ignore vblank wraparound: DOSBox-X can handle active display properly if games or demos reprogram vertical blanking to end in the active picture area.
# If the wraparound handling prevents the game from displaying properly, set this to false. Out of bounds vblank values will be ignored.
#
# enable vga resize delay: If the DOS game you are running relies on certain VGA raster tricks that affect active display area, enable this option.
# This adds a delay between VGA mode changes and window updates. It also means that if you are capturing a demo or game,
# that your capture will also show a few garbled frames at any point mode changes occur, which is why this option is disabled
# by default. If you intend to run certain DOS games and demos like DoWhackaDo, enable this option.
# resize only on vga active display width increase: If set, changes to the Display End register of the CRTC do not trigger DOSBox to resize it's window
# IF the value written is less than the current value. Some demos like DoWhackaDo need this option set
# because of the way it's raster effects work. If the DOSBox window rapidly changes size during a demo
# try setting this option. Else, leave it turned off. Changes to other VGA CRTC registers will trigger
# a DOSBox mode change as normal regardless of this setting.
# enable pci bus: Enable PCI bus emulation
# vga palette update on full load: If set, all three bytes of the palette entry must be loaded before taking the color,
# which is fairly typical SVGA behavior. If not set, partial changes are allowed.
# ignore odd-even mode in non-cga modes: Some demoscene productions use VGA Mode X but accidentally enable odd/even mode.
# Setting this option can correct for that and render the demo properly.
# This option forces VGA emulation to ignore odd/even mode except in text and CGA modes.
language =
title =
enable 8-bit dac = true
dpi aware = true
keyboard hook = false
weitek = false
bochs debug port e9 = false
machine = svga_s3
svga lfb base = 0
pci vga = true
vmemdelay = 0
vmemsize = -1
vmemsizekb = 0
captures = capture
skip encoding unchanged frames = false
capture chroma format = auto
capture format = default
shell environment size = 0
private area size = 32768
vga attribute controller mapping = auto
a20 = mask
turn off a20 gate on boot = true
cbus bus clock = std10
isa bus clock = std8.3
pci bus clock = std33.3
call binary on reset =
unhandled irq handler =
call binary on boot =
rom bios allocation max = 0
rom bios minimum size = 0
irq delay ns = -1
iodelay = -1
iodelay16 = -1
iodelay32 = -1
acpi = off
acpi rsd ptr location = auto
acpi sci irq = -1
acpi iobase = 0
acpi reserved size = 0
memsize = 16
memsizekb = 0
dos mem limit = 0
isa memory hole at 512kb = false
reboot delay = -1
memalias = 0
pc-98 BIOS copyright string = false
pc-98 int 1b fdc timer wait = false
pc-98 pic init to read isr = true
pc-98 fm board = auto
pc-98 fm board irq = 0
pc-98 fm board io port = 0
pc-98 sound bios = false
pc-98 load sound bios rom file = true
pc-98 buffer page flip = false
pc-98 enable 256-color planar = true
pc-98 enable 256-color = true
pc-98 enable 16-color = true
pc-98 enable grcg = true
pc-98 enable egc = true
pc-98 enable 188 user cg = true
pc-98 start gdc at 5mhz = false
pc-98 allow scanline effect = true
pc-98 bus mouse = true
pc-98 video mode =
pc-98 timer master frequency = 0
pc-98 allow 4 display partition graphics = -1
pc-98 force ibm keyboard layout = false
vga bios size override = 0
video bios dont duplicate cga first half rom font = false
video bios always offer 14-pixel high rom font = false
video bios always offer 16-pixel high rom font = false
video bios enable cga second half rom font = true
forcerate =
sierra ramdac = true
sierra ramdac lock 565 = false
page flip debug line = false
vertical retrace poll debug line = false
cgasnow = true
vga 3da undefined bits = 4
unmask timer on int 10 setmode = false
unmask keyboard on int 16 read = true
int16 keyboard polling undocumented cf behavior = false
allow port 92 reset = true
enable port 92 = true
enable 1st dma controller = true
enable 2nd dma controller = true
allow dma address decrement = true
enable 128k capable 16-bit dma = auto
enable dma extra page registers = true
dma page registers write-only = false
cascade interrupt never in service = false
cascade interrupt ignore in service = auto
enable slave pic = true
enable pc nmi mask = true
rom bios 8x8 CGA font = true
rom bios video parameter table = true
allow more than 640kb base memory = false
vesa zero buffer on get information = true
vesa lfb base scanline adjust = 0
vesa map non-lfb modes to 128kb region = false
allow hpel effects = false
allow hretrace effects = false
hretrace effect weight = 4.00
vesa modelist cap = 0
vesa modelist width limit = 1280
vesa modelist height limit = 1024
vesa vbe put modelist in vesa information = false
vesa vbe 1.2 modes are 32bpp = true
allow low resolution vesa modes = true
allow explicit 24bpp vesa modes = false
allow high definition vesa modes = false
allow unusual vesa modes = false
allow 32bpp vesa modes = true
allow 24bpp vesa modes = true
allow 16bpp vesa modes = true
allow 15bpp vesa modes = true
allow 8bpp vesa modes = true
allow 4bpp vesa modes = true
allow 4bpp packed vesa modes = false
allow tty vesa modes = true
double-buffered line compare = false
ignore vblank wraparound = false
enable vga resize delay = false
resize only on vga active display width increase = false
enable pci bus = true
vga palette update on full load = true
ignore odd-even mode in non-cga modes = false
[render]
# frameskip: How many frames DOSBox skips before drawing one.
# alt render: If set, use a new experimental rendering engine
# aspect: Aspect ratio correction mode. Can be set to the following values:
# 'false' (default):
# 'direct3d'/opengl outputs: image is simply scaled to full window/fullscreen size, possibly resulting in disproportional image
# 'surface' output: it does no aspect ratio correction (default), resulting in disproportional images if VGA mode pixel ratio is not 4:3
# 'true':
# 'direct3d'/opengl outputs: uses output driver functions to scale / pad image with black bars, correcting output to proportional 4:3 image
# In most cases image degradation should not be noticeable (it all depends on the video adapter and how much the image is upscaled).
# Should have none to negligible impact on performance, mostly being done in hardware
# 'surface' output: inherits old DOSBox aspect ratio correction method (adjusting rendered image line count to correct output to 4:3 ratio)
# Due to source image manipulation this mode does not mix well with scalers, i.e. multiline scalers like hq2x/hq3x will work poorly
# Slightly degrades visual image quality. Has a tiny impact on performance
# When using xBRZ scaler with 'surface' output, aspect ratio correction is done by the scaler itself, so none of the above apply
# Possible values: false, true, 0, 1, yes, no, nearest, bilinear.
# char9: Allow 9-pixel wide text mode fonts.
# doublescan: If set, doublescanned output emits two scanlines for each source line, in the
# same manner as the actual VGA output (320x200 is rendered as 640x400 for example).
# If clear, doublescanned output is rendered at the native source resolution (320x200 as 320x200).
# This affects the raster PRIOR to the software or hardware scalers. Choose wisely.
#
# 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.
# To fit a scaler in the resolution used at full screen may require a border or side bars.
# To fill the screen entirely, depending on your hardware, a different scaler/fullresolution might work.
# Possible values: none, normal2x, normal3x, normal4x, normal5x, advmame2x, advmame3x, advinterp2x, advinterp3x, hq2x, hq3x, 2xsai, super2xsai, supereagle, tv2x, tv3x, rgb2x, rgb3x, scan2x, scan3x, gray, gray2x, hardware_none, hardware2x, hardware3x, hardware4x, hardware5x, xbrz, xbrz_bilinear.
# xbrz slice: Number of screen lines to process in single xBRZ scaler taskset task, affects xBRZ performance, 16 is the default
# xbrz fixed scale factor: To use fixed xBRZ scale factor (i.e. to attune performance), set it to 2-6, 0 - use automatic calculation (default)
# xbrz max scale factor: To cap maximum xBRZ scale factor used (i.e. to attune performance), set it to 2-6, 0 - use scaler allowed maximum (default)
# autofit: Best fits image to window
# - Intended for output=direct3d, fullresolution=original, aspect=true
# monochrome_pal: Specify the color of monochrome display.
# Possible values: green, amber, gray, white
# Append 'bright' for a brighter look.
# Possible values: green, amber, gray, white.
frameskip = 0
alt render = false
aspect = false
char9 = true
doublescan = true
scaler = normal2x
xbrz slice = 16
xbrz fixed scale factor = 0
xbrz max scale factor = 0
autofit = true
monochrome_pal = green
[vsync]
# vsyncmode: Synchronize vsync timing to the host display. Requires calibration within dosbox.
# Possible values: off, on, force, host.
# vsyncrate: Vsync rate used if vsync is enabled. Ignored if vsyncmode is set to host (win32).
# Possible values:.
vsyncmode = off
vsyncrate = 75
[cpu]
# core: CPU Core used in emulation. auto will switch to dynamic if available and appropriate.
# WARNING: Do not use dynamic or auto setting core with Windows 95 or other preemptive
# multitasking OSes with protected mode paging, you should use the normal core instead.
# Possible values: auto, dynamic, normal, full, simple.
# fpu: Enable FPU emulation
# segment limits: Enforce segment limits
# double fault: Emulate double fault exception
# reset on triple fault: Reset CPU on triple fault condition (failure to handle double fault)
# always report double fault: Always report (to log file) double faults if set. Else, a double fault is reported only once. Set this option for debugging purposes.
# always report triple fault: Always report (to log file) triple faults if set. Else, a triple fault is reported only once. Set this option for debugging purposes.
# enable msr: Allow RDMSR/WRMSR instructions. This option is only meaningful when cputype=pentium.
# WARNING: Leaving this option enabled while installing Windows 95/98/ME can cause crashes.
# enable cmpxchg8b: Enable Pentium CMPXCHG8B instruction. Enable this explicitly if using software that uses this instruction.
# You must enable this option to run Windows ME because portions of the kernel rely on this instruction.
# ignore undefined msr: Ignore RDMSR/WRMSR on undefined registers. Normally the CPU will fire an Invalid Opcode exception in that case.
# This option is off by default, enable if using software or drivers that assumes the presence of
# certain MSR registers without checking. If you are using certain versions of the 3Dfx glide drivers for MS-DOS
# you will need to set this to TRUE as 3Dfx appears to have coded GLIDE2.OVL to assume the presence
# of Pentium Pro/Pentium II MTRR registers.
# WARNING: Leaving this option enabled while installing Windows 95/98/ME can cause crashes.
# interruptible rep string op: if nonzero, REP string instructions (LODS/MOVS/STOS/INS/OUTS) are interruptible (by interrupts or other events).
# if zero, REP string instructions are carried out in full before processing events and interrupts.
# Set to -1 for a reasonable default setting based on cpu type and other configuration.
# A setting of 0 can improve emulation speed at the expense of emulation accuracy.
# A nonzero setting (1-8) may be needed for DOS games and demos that use the IRQ 0 interrupt to play digitized samples
# while doing VGA palette animation at the same time (use case of REP OUTS), where the non-interruptible version
# would cause an audible drop in audio pitch.
# dynamic core cache block size: dynamic core cache block size. default value is 32. change this value carefully.
# according to forum discussion, setting this to 1 can aid debugging, however doing so
# also causes problems with 32-bit protected mode DOS games and reduces the performance
# of the dynamic core.
#
# cputype: CPU Type used in emulation. auto emulates a 486 which tolerates Pentium instructions.
# Possible values: auto, 8086, 8086_prefetch, 80186, 80186_prefetch, 286, 286_prefetch, 386, 386_prefetch, 486old, 486old_prefetch, 486, 486_prefetch, pentium, pentium_mmx, ppro_slow.
# 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 keycombos.(CTRL-F11/CTRL-F12)
# cycledown: Setting it lower than 100 will be a percentage.
# use dynamic core with paging on: Allow dynamic core with 386 paging enabled. This is generally OK for DOS games and Windows 3.1.
# If the game becomes unstable, turn off this option.
# WARNING: Do NOT use this option with preemptive multitasking OSes including Windows 95 and Windows NT.
# ignore opcode 63: When debugging, do not report illegal opcode 0x63.
# Enable this option to ignore spurious errors while debugging from within Windows 3.1/9x/ME
# apmbios: Emulate Advanced Power Management BIOS calls
# apmbios pnp: If emulating ISA PnP BIOS, announce APM BIOS in PnP enumeration.
# Warning: this can cause Windows 95 OSR2 and later to enumerate the APM BIOS twice and cause problems.
# apmbios version: What version of the APM BIOS specification to emulate.
# You will need at least APM BIOS v1.1 for emulation to work with Windows 95/98/ME
# Possible values: auto, 1.0, 1.1, 1.2.
# apmbios allow realmode: Allow guest OS to connect from real mode.
# apmbios allow 16-bit protected mode: Allow guest OS to connect from 16-bit protected mode.
# apmbios allow 32-bit protected mode: Allow guest OS to connect from 32-bit protected mode.
# If you want power management in Windows 95/98/ME (beyond using the APM to shutdown the computer) you MUST enable this option.
# Windows 95/98/ME does not support the 16-bit real and protected mode APM BIOS entry points.
# Please note at this time that 32-bit APM is unstable under Windows ME
# integration device: Enable DOSBox integration I/O device. This can be used by the guest OS to match mouse pointer position, for example. EXPERIMENTAL!
# integration device pnp: List DOSBox integration I/O device as part of ISA PnP enumeration. This has no purpose yet.
# isapnpbios: Emulate ISA Plug & Play BIOS. Enable if using DOSBox to run a PnP aware DOS program or if booting Windows 9x.
# Do not disable if Windows 9x is configured around PnP devices, you will likely confuse it.
# realbig16: Allow the B (big) bit in real mode. If set, allow the DOS program to set the B bit,
# then jump to realmode with B still set (aka Huge Unreal mode). Needed for Project Angel.
core = auto
fpu = true
segment limits = true
double fault = true
reset on triple fault = true
always report double fault = false
always report triple fault = false
enable msr = true
enable cmpxchg8b = true
ignore undefined msr = false
interruptible rep string op = -1
dynamic core cache block size = 32
cputype = auto
cycles = auto
cycleup = 10
cycledown = 20
use dynamic core with paging on = true
ignore opcode 63 = true
apmbios = true
apmbios pnp = false
apmbios version = auto
apmbios allow realmode = true
apmbios allow 16-bit protected mode = true
apmbios allow 32-bit protected mode = true
integration device = false
integration device pnp = false
isapnpbios = true
realbig16 = false
[keyboard]
# aux: Enable emulation of the 8042 auxiliary port. PS/2 mouse emulation requires this to be enabled.
# You should enable this if you will be running Windows ME or any other OS that does not use the BIOS to receive mouse events.
# allow output port reset: If set (default), allow the application to reset the CPU through the keyboard controller.
# This option is required to allow Windows ME to reboot properly, whereas Windows 9x and earlier
# will reboot without this option using INT 19h
# controllertype: Type of keyboard controller (and keyboard) attached.
# auto Automatically pick according to machine type
# at AT (PS/2) type keyboard
# xt IBM PC/XT type keyboard
# pcjr IBM PCjr type keyboard (only if machine=pcjr)
# pc98 PC-98 keyboard emulation (only if machine=pc98)
# Possible values: auto, at, xt, pcjr, pc98.
# auxdevice: Type of PS/2 mouse attached to the AUX port
# Possible values: none, 2button, 3button, intellimouse, intellimouse45.
aux = true
allow output port reset = true
controllertype = auto
auxdevice = intellimouse
[pci]
# voodoo: Enable VOODOO support.
# Possible values: false, software, opengl, auto.
voodoo = auto
[mixer]
# nosound: Enable silent mode, sound is still emulated though.
# sample accurate: Enable sample accurate mixing, at the expense of some emulation performance. Enable this option for DOS games and demos that
# require such accuracy for correct Tandy/OPL output including digitized speech. This option can also help eliminate minor
# errors in Gravis Ultrasound emulation that result in random echo/attenuation effects.
# swapstereo: Swaps the left and right stereo channels.
# rate: Mixer sample rate, setting any device's rate higher than this will probably lower their sound quality.
# 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
sample accurate = false
swapstereo = false
rate = 44100
blocksize = 1024
prebuffer = 25
[midi]
# mpu401: Type of MPU-401 to emulate.
# Possible values: intelligent, uart, none.
# mpubase: The IO address of the MPU-401.
# Set to 0 to use a default I/O address.
# 300h to 330h are for use with IBM PC mode.
# C0D0h to F8D0h (in steps of 800h) are for use with NEC PC-98 mode (MPU98).
# 80D2h through 80DEh are for use with NEC PC-98 Sound Blaster 16 MPU-401 emulation.
# If not assigned (0), 330h is the default for IBM PC and E0D0h is the default for PC-98.
# Possible values: 0, 300, 310, 320, 330, 332, 334, 336, 340, 360, c0d0, c8d0, d0d0, d8d0, e0d0, e8d0, f0d0, f8d0, 80d2, 80d4, 80d6, 80d8, 80da, 80dc, 80de.
# mididevice: Device that will receive the MIDI data from MPU-401.
# Possible values: default, win32, alsa, oss, coreaudio, coremidi, mt32, synth, timidity, none.
# midiconfig: Special configuration options for the device driver. This is usually the id or part of the name of the device you want to use (find the id/name with mixer/listmidi).
# Or in the case of coreaudio or synth, you can specify a soundfont here.
# When using a Roland MT-32 rev. 0 as midi output device, some games may require a delay in order to prevent 'buffer overflow' issues.
# In that case, add 'delaysysex', for example: midiconfig=2 delaysysex
# See the README/Manual for more details.
# samplerate: Sample rate for MIDI synthesizer, if applicable.
# Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
# mpuirq: MPU-401 IRQ. -1 to automatically choose.
# mt32.reverse.stereo: Reverse stereo channels for MT-32 output
# Possible values: off, on.
# mt32.verbose: MT-32 debug logging
# Possible values: off, on.
# mt32.thread: MT-32 rendering in separate thread
# Possible values: off, on.
# mt32.dac: MT-32 DAC input emulation mode
# Nice = 0 - default
# Produces samples at double the volume, without tricks.
# Higher quality than the real devices
#
# Pure = 1
# Produces samples that exactly match the bits output from the emulated LA32.
# Nicer overdrive characteristics than the DAC hacks (it simply clips samples within range)
# Much less likely to overdrive than any other mode.
# Half the volume of any of the other modes, meaning its volume relative to the reverb
# output when mixed together directly will sound wrong. So, reverb level must be lowered.
# Perfect for developers while debugging :)
#
# GENERATION1 = 2
# Re-orders the LA32 output bits as in early generation MT-32s (according to Wikipedia).
# Bit order at DAC (where each number represents the original LA32 output bit number, and XX means the bit is always low):
# 15 13 12 11 10 09 08 07 06 05 04 03 02 01 00 XX
#
# GENERATION2 = 3
# Re-orders the LA32 output bits as in later geneerations (personally confirmed on my CM-32L - KG).
# Bit order at DAC (where each number represents the original LA32 output bit number):
# 15 13 12 11 10 09 08 07 06 05 04 03 02 01 00 14
#
# Possible values: 0, 1, 2, 3, auto.
# mt32.reverb.mode: MT-32 reverb mode
# Possible values: 0, 1, 2, 3, auto.
# mt32.reverb.time: MT-32 reverb decaying time
# Possible values: 0, 1, 2, 3, 4, 5, 6, 7.
# mt32.reverb.level: MT-32 reverb level
# Possible values: 0, 1, 2, 3, 4, 5, 6, 7.
# mt32.partials: MT-32 max partials allowed (0-256)
mpu401 = intelligent
mpubase = 0
mididevice = default
midiconfig =
samplerate = 44100
mpuirq = -1
mt32.reverse.stereo = off
mt32.verbose = off
mt32.thread = off
mt32.dac = auto
mt32.reverb.mode = auto
mt32.reverb.time = 5
mt32.reverb.level = 3
mt32.partials = 32
[sblaster]
# sbtype: Type of Soundblaster to emulate. gb is Gameblaster.
# Possible values: sb1, sb2, sbpro1, sbpro2, sb16, sb16vibra, gb, ess688, reveal_sc400, none.
# sbbase: The IO address of the soundblaster.
# 220h to 2E0h are for use with IBM PC Sound Blaster emulation.
# D2h to DEh are for use with NEC PC-98 Sound Blaster 16 emulation.
# Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, d2, d4, d6, d8, da, dc, de.
# irq: The IRQ number of the soundblaster. Set to -1 to start DOSBox with the IRQ unassigned
# Possible values: 7, 5, 3, 9, 10, 11, 12.
# mindma: Minimum DMA transfer left to increase attention across DSP blocks, in milliseconds. Set to -1 for default.
# There are some DOS games/demos that use single-cycle DSP playback in their music tracker and they micromanage
# the DMA transfer per block poorly in a way that causes popping and artifacts. Setting this option to 0 for
# such DOS applications may reduce audible popping and artifacts.
# irq hack: Specify a hack related to the Sound Blaster IRQ to avoid crashes in a handful of games and demos.
# none Emulate IRQs normally
# cs_equ_ds Do not fire IRQ unless two CPU segment registers match: CS == DS. Read Dosbox-X Wiki or source code for details.
# dma: The DMA number of the soundblaster. Set to -1 to start DOSBox with the IRQ unassigned
# Possible values: 1, 5, 0, 3, 6, 7.
# hdma: The High DMA number of the soundblaster. Set to -1 to start DOSBox with the IRQ unassigned
# Possible values: 1, 5, 0, 3, 6, 7.
# pic unmask irq: Start the DOS virtual machine with the sound blaster IRQ already unmasked at the PIC.
# Some early DOS games/demos that support Sound Blaster expect the IRQ to fire but make
# no attempt to unmask the IRQ. If audio cuts out no matter what IRQ you try, then try
# setting this option.
# Option is needed for:
# Public NMI "jump" demo (1992)
# enable speaker: Start the DOS virtual machine with the sound blaster speaker enabled.
# Sound Blaster Pro and older cards have a speaker disable/enable command.
# Normally the card boots up with the speaker disabled. If a DOS game or demo
# attempts to play without enabling the speaker, set this option to true to
# compensate. This setting has no meaning if emulating a Sound Blaster 16 card.
# enable asp: If set, emulate the presence of the Sound Blaster 16 Advanced Sound Processor/Creative Sound Processor chip.
# NOTE: This only emulates it's presence and the basic DSP commands to communicate with it. Actual ASP/CSP functions are not yet implemented.
# disable filtering: By default DOSBox-X filters Sound Blaster output to emulate lowpass filters and analog output limitations.
# Set this option to true to disable filtering. Note that doing so disables emulation of the Sound Blaster Pro
# output filter and ESS AudioDrive lowpass filter.
# dsp write buffer status must return 0x7f or 0xff: If set, force port 22Ch (DSP write buffer status) to return 0x7F or 0xFF. If not set, the port
# may return 0x7F or 0xFF depending on what type of Sound Blaster is being emulated.
# Set this option for some early DOS demos that make that assumption about port 22Ch.
# Option is needed for:
# Overload by Hysteria (1992) - Audio will crackle/saturate (8-bit overflow) except when sbtype=sb16
# pre-set sbpro stereo: Start the DOS virtual machine with the Sound Blaster Pro stereo bit set (in the mixer).
# A few demos support Sound Blaster Pro but forget to set this bit.
# Option is needed for:
# Inconexia by Iguana (1993)
# sbmixer: Allow the soundblaster mixer to modify the DOSBox mixer.
# oplmode: Type of OPL emulation. On 'auto' the mode is determined by sblaster type.
# To emulate Adlib, set sbtype=none and oplmode=opl2. To emulate a Game Blaster, set
# sbtype=none and oplmode=cms
# Possible values: auto, cms, opl2, dualopl2, opl3, opl3gold, none, hardware, hardwaregb.
# adlib force timer overflow on detect: If set, Adlib/OPL emulation will signal 'overflow' on timers after 50 I/O reads.
# This is a temporary hack to work around timing bugs noted in DOSBox-X. Certain
# games (Wolfenstein 3D) poll the Adlib status port a fixed number of times assuming
# that the poll loop takes long enough for the Adlib timer to run out. If the game
# cannot reliably detect Adlib at higher cycles counts, but can reliably detect at
# lower cycles counts, set this option.
# NOTE: Technically this decreases emulation accuracy, however it also reflects the
# fact that DOSBox-X's I/O timing code needs some work to better match the
# slowness of the ISA bus per I/O read in consideration of DOS games. So this
# option is ON by default.
# oplemu: Provider for the OPL emulation. compat might provide better quality (see oplrate as well).
# Possible values: default, compat, fast, nuked, mame.
# 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.
# hardwarebase: base address of the real hardware soundblaster:
# 210,220,230,240,250,260,280
# force dsp auto-init: Treat all single-cycle DSP commands as auto-init to keep playback going.
# This option is a workaround for DOS games or demos that use single-cycle DSP playback commands and
# have problems with missing the Sound Blaster IRQ under load. Do not enable unless you need this workaround.
# Needed for:
# - Extreme "lunatic" demo (1993)
# force goldplay: Always render Sound Blaster output sample-at-a-time. Testing option. You probably don't want to enable this.
# goldplay: Enable goldplay emulation.
# goldplay stereo: Enable workaround for goldplay stereo playback. Many DOS demos using this technique
# don't seem to know they need to double the frequency when programming the DSP time constant for Pro stereo output.
# If stereo playback seems to have artifacts consider enabling this option. For accurate emulation of Sound Blaster
# hardware, disable this option.
# dsp require interrupt acknowledge: If set, the DSP will halt DMA playback until IRQ acknowledgement occurs even in auto-init mode (SB16 behavior).
# If clear, IRQ acknowledgement will have no effect on auto-init playback (SB Pro and earlier & clone behavior)
# If set to 'auto' then behavior is determined by sbtype= setting.
# This is a setting for hardware accuracy in emulation. If audio briefly plays then stops then your DOS game
# and it's not using IRQ (but using DMA), try setting this option to 'false'
# dsp write busy delay: Amount of time in nanoseconds the DSP chip signals 'busy' after writing to the DSP (port 2xCh). Set to -1 to use card-specific defaults.
# WARNING: Setting the value too high (above 20000ns) may have detrimental effects to DOS games that use IRQ 0 and DSP command 0x10 to play audio.
# Setting the value way too high (above 1000000ns) can cause significant lag in DOS games.
# blaster environment variable: Whether or not to set the BLASTER environment variable automatically at startup
# sample rate limits: If set (default), limit DSP sample rate to what real hardware is limited to
# instant direct dac: If set, direct DAC output commands are instantaneous. This option is intended as a quick fix for
# games or demos that play direct DAC music/sound from the IRQ 0 timer who a) write the DSP command
# and data without polling the DSP to ensure it's ready or b) can get locked into the IRQ 0 handler
# waiting for DSP status when instructed to play at or beyond the DSP's maximum direct DAC sample rate.
# This fix allows broken Sound Blaster code to work and should not be enabled unless necessary.
# stereo control with sbpro only: Default on. If set, Sound Blaster Pro stereo is not available when emulating sb16 or sb16vibra.
# If clear, sb16 emulation will honor the sbpro stereo bit. Note that Creative SB16 cards do not
# honor the stereo bit, and this option allows DOSBox emulate that fact. Accuracy setting.
# dsp busy cycle rate: Sound Blaster 16 DSP chips appear to go busy periodically at some high clock rate
# whether the DSP is actually doing anything for the system or not. This is an accuracy
# option for Sound Blaster emulation. If this option is nonzero, it will be interpreted
# as the busy cycle rate in Hz. If zero, busy cycle will not be emulated. If -1, sound
# blaster emulation will automatically choose a setting based on the sbtype= setting
# dsp busy cycle always: If set, the DSP busy cycle always happens. If clear, DSP busy cycle only happens when
# audio playback is running. Default setting is to pick according to the sound card.
# dsp busy cycle duty: If emulating SB16 busy cycle, this value (0 to 100) controls the duty cycle of the busy cycle.
# If this option is set to -1, Sound Blaster emulation will choose a value automatically according
# to sbtype=. If 0, busy cycle emulation is disabled.
# io port aliasing: If set, Sound Blaster ports alias by not decoding the LSB of the I/O port.
# This option only applies when sbtype is set to sb1 or sb2 (not SBPro or SB16).
# This is a hack for the Electromotive Force 'Internal Damage' demo which apparently
# relies on this behavior for Sound Blaster output and should be enabled for accuracy in emulation.
sbtype = sb16
sbbase = 220
irq = 7
mindma = -1
irq hack = none