ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/SheepShaver/src/prefs_items.cpp
Revision: 1.11
Committed: 2009-07-20T18:50:28Z (15 years, 3 months ago) by asvitkine
Branch: MAIN
CVS Tags: HEAD
Changes since 1.10: +3 -1 lines
Log Message:
add prefs option to ignore illegal instructions (ignoreillegal)

File Contents

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