1 |
/* |
2 |
* prefs_items.cpp - Common preferences items |
3 |
* |
4 |
* SheepShaver (C) 1997-2008 Christian Bauer and Marc Hellwig |
5 |
* |
6 |
* This program is free software; you can redistribute it and/or modify |
7 |
* it under the terms of the GNU General Public License as published by |
8 |
* the Free Software Foundation; either version 2 of the License, or |
9 |
* (at your option) any later version. |
10 |
* |
11 |
* This program is distributed in the hope that it will be useful, |
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 |
* GNU General Public License for more details. |
15 |
* |
16 |
* You should have received a copy of the GNU General Public License |
17 |
* along with this program; if not, write to the Free Software |
18 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
19 |
*/ |
20 |
|
21 |
#include "sysdeps.h" |
22 |
|
23 |
#include "sys.h" |
24 |
#include "prefs.h" |
25 |
|
26 |
|
27 |
// Common preferences items (those which exist on all platforms) |
28 |
prefs_desc common_prefs_items[] = { |
29 |
{"disk", TYPE_STRING, true, "device/file name of Mac volume"}, |
30 |
{"floppy", TYPE_STRING, true, "device/file name of Mac floppy drive"}, |
31 |
{"cdrom", TYPE_STRING, true, "device/file names of Mac CD-ROM drive"}, |
32 |
{"extfs", TYPE_STRING, false, "root path of ExtFS"}, |
33 |
{"scsi0", TYPE_STRING, false, "SCSI target for Mac SCSI ID 0"}, |
34 |
{"scsi1", TYPE_STRING, false, "SCSI target for Mac SCSI ID 1"}, |
35 |
{"scsi2", TYPE_STRING, false, "SCSI target for Mac SCSI ID 2"}, |
36 |
{"scsi3", TYPE_STRING, false, "SCSI target for Mac SCSI ID 3"}, |
37 |
{"scsi4", TYPE_STRING, false, "SCSI target for Mac SCSI ID 4"}, |
38 |
{"scsi5", TYPE_STRING, false, "SCSI target for Mac SCSI ID 5"}, |
39 |
{"scsi6", TYPE_STRING, false, "SCSI target for Mac SCSI ID 6"}, |
40 |
{"screen", TYPE_STRING, false, "video mode"}, |
41 |
{"windowmodes", TYPE_INT32, false, "bitmap of allowed window video modes"}, |
42 |
{"screenmodes", TYPE_INT32, false, "bitmap of allowed fullscreen video modes"}, |
43 |
{"seriala", TYPE_STRING, false, "device name of Mac serial port A"}, |
44 |
{"serialb", TYPE_STRING, false, "device name of Mac serial port B"}, |
45 |
{"rom", TYPE_STRING, false, "path of ROM file"}, |
46 |
{"bootdrive", TYPE_INT32, false, "boot drive number"}, |
47 |
{"bootdriver", TYPE_INT32, false, "boot driver number"}, |
48 |
{"ramsize", TYPE_INT32, false, "size of Mac RAM in bytes"}, |
49 |
{"frameskip", TYPE_INT32, false, "number of frames to skip in refreshed video modes"}, |
50 |
{"gfxaccel", TYPE_BOOLEAN, false, "turn on QuickDraw acceleration"}, |
51 |
{"nocdrom", TYPE_BOOLEAN, false, "don't install CD-ROM driver"}, |
52 |
{"nonet", TYPE_BOOLEAN, false, "don't use Ethernet"}, |
53 |
{"nosound", TYPE_BOOLEAN, false, "don't enable sound output"}, |
54 |
{"nogui", TYPE_BOOLEAN, false, "disable GUI"}, |
55 |
{"noclipconversion", TYPE_BOOLEAN, false, "don't convert clipboard contents"}, |
56 |
{"ignoresegv", TYPE_BOOLEAN, false, "ignore illegal memory accesses"}, |
57 |
{"ignoreillegal", TYPE_BOOLEAN, false, "ignore illegal instructions"}, |
58 |
{"jit", TYPE_BOOLEAN, false, "enable JIT compiler"}, |
59 |
{"jit68k", TYPE_BOOLEAN, false, "enable 68k DR emulator"}, |
60 |
{"keyboardtype", TYPE_INT32, false, "hardware keyboard type"}, |
61 |
{NULL, TYPE_END, false, NULL} // End of list |
62 |
}; |
63 |
|
64 |
/* |
65 |
* Set default values for preferences items |
66 |
*/ |
67 |
|
68 |
void AddPrefsDefaults(void) |
69 |
{ |
70 |
#ifndef PREFS_EDITOR |
71 |
SysAddSerialPrefs(); |
72 |
#endif |
73 |
PrefsAddInt32("bootdriver", 0); |
74 |
PrefsAddInt32("bootdrive", 0); |
75 |
PrefsAddInt32("ramsize", 16 * 1024 * 1024); |
76 |
PrefsAddInt32("frameskip", 8); |
77 |
PrefsAddBool("gfxaccel", true); |
78 |
PrefsAddBool("nocdrom", false); |
79 |
PrefsAddBool("nonet", false); |
80 |
PrefsAddBool("nosound", false); |
81 |
PrefsAddBool("nogui", false); |
82 |
PrefsAddBool("noclipconversion", false); |
83 |
PrefsAddBool("ignoresegv", false); |
84 |
PrefsAddBool("ignoreillegal", false); |
85 |
|
86 |
#if USE_JIT |
87 |
// JIT compiler specific options |
88 |
PrefsAddBool("jit", true); |
89 |
#else |
90 |
PrefsAddBool("jit", false); |
91 |
#endif |
92 |
PrefsAddBool("jit68k", false); |
93 |
|
94 |
PrefsAddInt32("keyboardtype", 5); |
95 |
} |