File: PORTING

package info (click to toggle)
dosbox 0.74-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 6,380 kB
  • ctags: 13,236
  • sloc: cpp: 110,003; sh: 3,808; ansic: 1,267; makefile: 136
file content (50 lines) | stat: -rw-r--r-- 2,419 bytes parent folder | download | duplicates (8)
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
Some notes about porting DOSBox to systems with certain restrictions,
like handheld devices.

General:
  - depending on where you start off with the port, assure that the
    config.h entries are correct/exhausting, like GCC_ATTRIBUTE is
    required (struct packing) but is undefined if you base the port
    on msvc sources which have a special config.h

If memory is a constraint:
  - in paging.h out-comment the USE_FULL_TLB define to enable special
    TLB linking code that uses less memory
    drawback: none (the code is not heavily tested though)
    gain: reduces memory requirements about ~15mb
  - in render.h lower the scaler integration:
      #define RENDER_USE_ADVANCED_SCALERS 1
    or
      #define RENDER_USE_ADVANCED_SCALERS 0
    drawback: complex scalers and the scaler cache are disabled,
              be sure to test if this affects speed!
              with define RENDER_USE_ADVANCED_SCALERS==0 most simple
              scalers are disabled as well, some graphics modes won't
              work due to reduced cache sizes
    gain: ~2mb with RENDER_USE_ADVANCED_SCALERS==1
          ~5mb with RENDER_USE_ADVANCED_SCALERS==0
  - in dos_system.h reduce the drive cache entries:
      #define MAX_OPENDIRS 256
    drawback: some apps might not work with large directory trees
    gain: ~1mb per mounted drive
  - remove the GUS emulation (gus.cpp, especially GUSRam[1024*1024] )
    drawback: no gravis ultrasound
    gain: reduces memory requirements about 1mb
  - reduce the size of the emulated graphics memory:
    see the memory sizing in SVGA_Setup_*, especially the defaults
    in vga_s3.cpp's SVGA_Setup_S3Trio
    drawback: some graphics modes won't work then
    gain: reduces memory requirements
    TODO: fully check this, introduce hard limits

If speed is a constraint:
  - see if the simple core is faster, possibly remove the normal core
    set the simple core as default
    drawback: one game is known to not work with the simple core;
              the simple core does only work for games which don't use paging
              (when paging is requested the normal core is used automatically)
    gain: the simple core should be somewhat faster
    TODO: add possibility to easily remove the normal core, use fullcore fallback
  - raise the default frameskip value
    drawback: minor graphics smoothness loss for some games (video playback)
    gain: reduces graphics load