dosbox-wii/docs/PORTING

49 lines
2.3 KiB
Plaintext
Raw Normal View History

2009-05-03 00:37:32 +02:00
Some notes about porting DOSBox to systems with certain restrictions,
like handheld devices.
If memory is a constraint:
- in paging.h reduce the size of the TLB:
#define TLB_SIZE (64*1024)
the 64 gives access to the first 256mb of linear memory
drawback: some protected mode games won't work then
gain: reduces memory requirements about ~15mb
TODO: limit vmemory access to the size of the TLB,
otherwise games which use >256mb vaddresses will crash badly
- 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 whith 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
- in vga.h reduce the size of the emulated graphics memory:
#define VGA_MEMORY (1*1024*1024)
drawback: some graphics modes won't work then
[EDIT: many modes won't work due to pixel caches]
gain: reduces memory requirements about 1mb
TODO: get this to actually work;
remove the respective svga modes, adapt some svga registers
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