1 |
cebix |
1.1 |
/* |
2 |
|
|
* prefs_items.cpp - Common preferences items |
3 |
|
|
* |
4 |
gbeauche |
1.13 |
* Basilisk II (C) 1997-2005 Christian Bauer |
5 |
cebix |
1.1 |
* |
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 |
cebix |
1.2 |
#include "sysdeps.h" |
22 |
|
|
|
23 |
|
|
#include "sys.h" |
24 |
cebix |
1.1 |
#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 |
cebix |
1.3 |
// these are guaranteed to be in the prefs. |
30 |
cebix |
1.1 |
prefs_desc common_prefs_items[] = { |
31 |
cebix |
1.5 |
{"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 |
gbeauche |
1.12 |
{"etherconfig", TYPE_STRING, false,"path of network config script"}, |
47 |
cebix |
1.6 |
{"udptunnel", TYPE_BOOLEAN, false, "tunnel all network packets over UDP"}, |
48 |
|
|
{"udpport", TYPE_INT32, false, "IP port number for tunneling"}, |
49 |
cebix |
1.5 |
{"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 |
gbeauche |
1.8 |
{"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 |
gbeauche |
1.14 |
{"jitinline", TYPE_BOOLEAN, false, "enable translation through constant jumps"}, |
67 |
gbeauche |
1.10 |
{"jitblacklist", TYPE_STRING, false, "blacklist opcodes from translation"}, |
68 |
nigel |
1.9 |
{"keyboardtype", TYPE_INT32, false, "hardware keyboard type"}, |
69 |
cebix |
1.5 |
{NULL, TYPE_END, false, NULL} // End of list |
70 |
cebix |
1.1 |
}; |
71 |
|
|
|
72 |
|
|
|
73 |
|
|
/* |
74 |
|
|
* Set default values for preferences items |
75 |
|
|
*/ |
76 |
|
|
|
77 |
|
|
void AddPrefsDefaults(void) |
78 |
|
|
{ |
79 |
|
|
SysAddSerialPrefs(); |
80 |
cebix |
1.6 |
PrefsAddBool("udptunnel", false); |
81 |
|
|
PrefsAddInt32("udpport", 6066); |
82 |
cebix |
1.3 |
PrefsAddInt32("bootdriver", 0); |
83 |
|
|
PrefsAddInt32("bootdrive", 0); |
84 |
cebix |
1.1 |
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 |
gbeauche |
1.8 |
|
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 |
|
|
PrefsAddInt32("jitlazyflush", true); |
101 |
gbeauche |
1.14 |
PrefsAddBool("jitinline", true); |
102 |
gbeauche |
1.8 |
#else |
103 |
|
|
PrefsAddBool("jit", false); |
104 |
|
|
#endif |
105 |
nigel |
1.9 |
|
106 |
|
|
PrefsAddInt32("keyboardtype", 5); |
107 |
cebix |
1.1 |
} |