1 |
/* |
2 |
* prefs_items.cpp - Common preferences items |
3 |
* |
4 |
* Basilisk II (C) 1997-2008 Christian Bauer |
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 |
// Except for "disk", "floppy", "cdrom", "scsiX", "screen", "rom" and "ether", |
29 |
// these are guaranteed to be in the prefs. |
30 |
prefs_desc common_prefs_items[] = { |
31 |
{"disk", TYPE_STRING, true, "device/file name of Mac volume"}, |
32 |
{"floppy", TYPE_STRING, true, "device/file name of Mac floppy drive"}, |
33 |
{"cdrom", TYPE_STRING, true, "device/file names of Mac CD-ROM drive"}, |
34 |
{"extfs", TYPE_STRING, false, "root path of ExtFS"}, |
35 |
{"scsi0", TYPE_STRING, false, "SCSI target for Mac SCSI ID 0"}, |
36 |
{"scsi1", TYPE_STRING, false, "SCSI target for Mac SCSI ID 1"}, |
37 |
{"scsi2", TYPE_STRING, false, "SCSI target for Mac SCSI ID 2"}, |
38 |
{"scsi3", TYPE_STRING, false, "SCSI target for Mac SCSI ID 3"}, |
39 |
{"scsi4", TYPE_STRING, false, "SCSI target for Mac SCSI ID 4"}, |
40 |
{"scsi5", TYPE_STRING, false, "SCSI target for Mac SCSI ID 5"}, |
41 |
{"scsi6", TYPE_STRING, false, "SCSI target for Mac SCSI ID 6"}, |
42 |
{"screen", TYPE_STRING, false, "video mode"}, |
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 |
{"ether", TYPE_STRING, false, "device name of Mac ethernet adapter"}, |
46 |
{"etherconfig", TYPE_STRING, false,"path of network config script"}, |
47 |
{"udptunnel", TYPE_BOOLEAN, false, "tunnel all network packets over UDP"}, |
48 |
{"udpport", TYPE_INT32, false, "IP port number for tunneling"}, |
49 |
{"rom", TYPE_STRING, false, "path of ROM file"}, |
50 |
{"bootdrive", TYPE_INT32, false, "boot drive number"}, |
51 |
{"bootdriver", TYPE_INT32, false, "boot driver number"}, |
52 |
{"ramsize", TYPE_INT32, false, "size of Mac RAM in bytes"}, |
53 |
{"frameskip", TYPE_INT32, false, "number of frames to skip in refreshed video modes"}, |
54 |
{"modelid", TYPE_INT32, false, "Mac Model ID (Gestalt Model ID minus 6)"}, |
55 |
{"cpu", TYPE_INT32, false, "CPU type (0 = 68000, 1 = 68010 etc.)"}, |
56 |
{"fpu", TYPE_BOOLEAN, false, "enable FPU emulation"}, |
57 |
{"nocdrom", TYPE_BOOLEAN, false, "don't install CD-ROM driver"}, |
58 |
{"nosound", TYPE_BOOLEAN, false, "don't enable sound output"}, |
59 |
{"noclipconversion", TYPE_BOOLEAN, false, "don't convert clipboard contents"}, |
60 |
{"nogui", TYPE_BOOLEAN, false, "disable GUI"}, |
61 |
{"jit", TYPE_BOOLEAN, false, "enable JIT compiler"}, |
62 |
{"jitfpu", TYPE_BOOLEAN, false, "enable JIT compilation of FPU instructions"}, |
63 |
{"jitdebug", TYPE_BOOLEAN, false, "enable JIT debugger (requires mon builtin)"}, |
64 |
{"jitcachesize", TYPE_INT32, false, "translation cache size in KB"}, |
65 |
{"jitlazyflush", TYPE_BOOLEAN, false, "enable lazy invalidation of translation cache"}, |
66 |
{"jitinline", TYPE_BOOLEAN, false, "enable translation through constant jumps"}, |
67 |
{"jitblacklist", TYPE_STRING, false, "blacklist opcodes from translation"}, |
68 |
{"keyboardtype", TYPE_INT32, false, "hardware keyboard type"}, |
69 |
{NULL, TYPE_END, false, NULL} // End of list |
70 |
}; |
71 |
|
72 |
|
73 |
/* |
74 |
* Set default values for preferences items |
75 |
*/ |
76 |
|
77 |
void AddPrefsDefaults(void) |
78 |
{ |
79 |
SysAddSerialPrefs(); |
80 |
PrefsAddBool("udptunnel", false); |
81 |
PrefsAddInt32("udpport", 6066); |
82 |
PrefsAddInt32("bootdriver", 0); |
83 |
PrefsAddInt32("bootdrive", 0); |
84 |
PrefsAddInt32("ramsize", 8 * 1024 * 1024); |
85 |
PrefsAddInt32("frameskip", 6); |
86 |
PrefsAddInt32("modelid", 5); // Mac IIci |
87 |
PrefsAddInt32("cpu", 3); // 68030 |
88 |
PrefsAddBool("fpu", false); |
89 |
PrefsAddBool("nocdrom", false); |
90 |
PrefsAddBool("nosound", false); |
91 |
PrefsAddBool("noclipconversion", false); |
92 |
PrefsAddBool("nogui", false); |
93 |
|
94 |
#if USE_JIT |
95 |
// JIT compiler specific options |
96 |
PrefsAddBool("jit", true); |
97 |
PrefsAddBool("jitfpu", true); |
98 |
PrefsAddBool("jitdebug", false); |
99 |
PrefsAddInt32("jitcachesize", 8192); |
100 |
PrefsAddBool("jitlazyflush", true); |
101 |
PrefsAddBool("jitinline", true); |
102 |
#else |
103 |
PrefsAddBool("jit", false); |
104 |
#endif |
105 |
|
106 |
PrefsAddInt32("keyboardtype", 5); |
107 |
} |