ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/prefs_items.cpp
Revision: 1.14
Committed: 2005-06-06T19:22:56Z (19 years, 5 months ago) by gbeauche
Branch: MAIN
Changes since 1.13: +2 -0 lines
Log Message:
Really make translation through constant jumps functional. This can be
disabled with the new prefs item "jitinline". Some rapid Speedometer 4
benchmarks showed only a 4% improvement.

File Contents

# User Rev Content
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 }