├── .gitignore
├── Intel
├── Info.plist
├── VoodooTSCSync.cpp
└── VoodooTSCSync.h
├── License.md
├── README.md
├── VoodooTSCSync.xcodeproj
├── cosmo1t.mode1v3
├── cosmo1t.pbxuser
├── project.pbxproj
├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcuserdata
│ │ └── cmorton.xcuserdatad
│ │ └── UserInterfaceState.xcuserstate
└── xcuserdata
│ └── cmorton.xcuserdatad
│ └── xcschemes
│ ├── VoodooTSCSync.xcscheme
│ └── xcschememanagement.plist
├── makefile
└── print_version.sh
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | build/
3 | Distribute/
4 | VoodooTSCSync.xcodeproj/project.xcworkspace/
5 | VoodooTSCSync.xcodeproj/xcuserdata/
6 |
--------------------------------------------------------------------------------
/Intel/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Source Code
6 | https://github.com/RehabMan/VoodooTSCSync
7 | CFBundleGetInfoString
8 | ${MODULE_VERSION}, Copyright © 2009 Cosmo1t, 2018 RehabMan. GPLv2.
9 | CFBundleDevelopmentRegion
10 | English
11 | CFBundleExecutable
12 | ${EXECUTABLE_NAME}
13 | CFBundleIdentifier
14 | ${MODULE_NAME}
15 | CFBundleInfoDictionaryVersion
16 | 6.0
17 | CFBundleName
18 | ${PRODUCT_NAME}
19 | CFBundlePackageType
20 | KEXT
21 | CFBundleSignature
22 | ????
23 | CFBundleVersion
24 | ${MODULE_VERSION}
25 | CFBundleShortVersionString
26 | ${MODULE_VERSION}
27 | IOKitPersonalities
28 |
29 | VoodooTSCSync
30 |
31 | CFBundleIdentifier
32 | ${MODULE_NAME}
33 | IOClass
34 | ${PRODUCT_NAME}
35 | IOMatchCategory
36 | ${PRODUCT_NAME}
37 | IOProviderClass
38 | AppleACPICPU
39 |
40 |
41 | OSBundleLibraries
42 |
43 | com.apple.kpi.iokit
44 | 7.0
45 | com.apple.kpi.libkern
46 | 8.0d0
47 | com.apple.kpi.unsupported
48 | 8.0b1
49 |
50 | OSBundleRequired
51 | Root
52 |
53 |
54 |
--------------------------------------------------------------------------------
/Intel/VoodooTSCSync.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include "VoodooTSCSync.h"
3 |
4 | OSDefineMetaClassAndStructors(VoodooTSCSync, IOService)
5 |
6 | //stamp the tsc
7 | extern "C" void stamp_tsc(void *tscp)
8 | {
9 | wrmsr64(MSR_IA32_TSC, *reinterpret_cast(tscp));
10 | }
11 |
12 | IOService* VoodooTSCSync::probe(IOService* provider, SInt32* score)
13 | {
14 | if (!super::probe(provider, score)) return NULL;
15 | if (!provider) return NULL;
16 |
17 | // only attach to last CPU
18 | uint16_t threadCount = rdmsr64(MSR_CORE_THREAD_COUNT);
19 | OSNumber* cpuNumber = OSDynamicCast(OSNumber, provider->getProperty("IOCPUNumber"));
20 | if (!cpuNumber || cpuNumber->unsigned16BitValue() != threadCount-1)
21 | return NULL;
22 |
23 | return this;
24 | }
25 |
26 | static IOPMPowerState powerStates[2] =
27 | {
28 | { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
29 | { 1, kIOPMPowerOn, kIOPMPowerOn, kIOPMPowerOn, 0, 0, 0, 0, 0, 0, 0, 0 }
30 | };
31 |
32 | IOReturn VoodooTSCSync::setPowerState(unsigned long powerStateOrdinal, IOService *whatDevice )
33 | {
34 | if (powerStateOrdinal)
35 | this->doTSC();
36 |
37 | return IOPMAckImplied;
38 | }
39 |
40 | void VoodooTSCSync::stop(IOService *provider)
41 | {
42 | PMstop();
43 | super::stop(provider);
44 | }
45 |
46 | bool VoodooTSCSync::start(IOService *provider)
47 | {
48 | if (!super::start(provider)) { return false; }
49 |
50 | // announce version
51 | extern kmod_info_t kmod_info;
52 | IOLog("VoodooTSCSync: Version %s starting on OS X Darwin %d.%d.\n", kmod_info.version, version_major, version_minor);
53 |
54 | // place version/build info in ioreg properties RM,Build and RM,Version
55 | char buf[128];
56 | snprintf(buf, sizeof(buf), "%s %s", kmod_info.name, kmod_info.version);
57 | setProperty("RM,Version", buf);
58 | #ifdef DEBUG
59 | setProperty("RM,Build", "Debug-" LOGNAME);
60 | #else
61 | setProperty("RM,Build", "Release-" LOGNAME);
62 | #endif
63 |
64 | PMinit();
65 | registerPowerDriver(this, powerStates, 2);
66 | provider->joinPMtree(this);
67 | return true;
68 | }
69 |
70 | // Update MSR on all processors.
71 | void VoodooTSCSync::doTSC()
72 | {
73 | uint64_t tsc = rdtsc64();
74 | IOLog("VoodooTSCSync: current tsc from rdtsc64() is %lld. Rendezvouing..\n", tsc);
75 |
76 | // call the kernel function that will call this "action" on all cores/processors
77 | mp_rendezvous_no_intrs(stamp_tsc, &tsc);
78 | }
79 |
--------------------------------------------------------------------------------
/Intel/VoodooTSCSync.h:
--------------------------------------------------------------------------------
1 | /* Do what you want with this.
2 | This work originates from the ideas of Turbo and the
3 | frustrations of cosmo1t the dell owner.
4 | *
5 | */
6 |
7 | #include
8 | #include
9 | #include
10 |
11 | //reg define
12 | #define MSR_IA32_TSC 0x00000010
13 |
14 | //extern function defined in mp.c from xnu
15 | extern "C" void mp_rendezvous_no_intrs(void (*action_func)(void*), void *arg);
16 |
17 | class VoodooTSCSync : public IOService
18 | {
19 | typedef IOService super;
20 | OSDeclareDefaultStructors(VoodooTSCSync)
21 |
22 | private:
23 | void doTSC(void);
24 |
25 | public:
26 | virtual IOService* probe(IOService* provider, SInt32* score);
27 | virtual bool start(IOService* provider);
28 | virtual void stop(IOService* provider);
29 | virtual IOReturn setPowerState(unsigned long powerStateOrdinal, IOService* whatDevice);
30 | };
31 |
--------------------------------------------------------------------------------
/License.md:
--------------------------------------------------------------------------------
1 | ## The GNU General Public License (GPL-2.0)
2 | ## Version 2, June 1991
3 | Copyright (C) 1989, 1991 Free Software Foundation, Inc.
4 | 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
5 |
6 | Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
7 |
8 | ### Preamble
9 |
10 | The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.
11 |
12 | When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
13 |
14 | To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
15 |
16 | For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
17 |
18 | We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
19 |
20 | Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
21 |
22 | Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
23 | The precise terms and conditions for copying, distribution and modification follow.
24 |
25 | ### TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
26 |
27 | 0\. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
28 |
29 | Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
30 |
31 | 1\. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
32 |
33 | You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
34 |
35 | 2\. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
36 |
37 | a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
38 |
39 | b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
40 |
41 | c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
42 |
43 | These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
44 |
45 | Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
46 |
47 | In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
48 |
49 | 3\. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
50 |
51 | a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
52 |
53 | b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
54 |
55 | c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
56 |
57 | The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
58 |
59 | If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
60 |
61 | 4\. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
62 |
63 | 5\. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
64 |
65 | 6\. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
66 |
67 | 7\. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
68 |
69 | If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
70 |
71 | It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
72 |
73 | This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
74 |
75 | 8\. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
76 |
77 | 9\. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
78 |
79 | Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
80 |
81 | 10\. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
82 |
83 | ### NO WARRANTY
84 | 11\. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
85 |
86 | 12\. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
87 | END OF TERMS AND CONDITIONS
88 |
89 | ### How to Apply These Terms to Your New Programs
90 |
91 | If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
92 |
93 | To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
94 |
95 | One line to give the program's name and a brief idea of what it does.
96 |
97 |
Copyright (C)
98 |
99 | This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
100 |
101 | This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
102 |
103 | You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
104 | Also add information on how to contact you by electronic and paper mail.
105 | If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
106 |
107 | Gnomovision version 69, Copyright (C) year name of author
108 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type \`show w'. This is free software, and you are welcome to redistribute it under certain conditions; type \`show c' for details.
109 |
110 | The hypothetical commands \`show w' and \`show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than \`show w' and \`show c'; they could even be mouse-clicks or menu items--whatever suits your program.
111 |
112 | You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
113 |
114 | Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker.
115 |
116 | signature of Ty Coon, 1 April 1989
Ty Coon, President of Vice
117 |
118 | This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.
119 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # VoodooTSCSync
2 |
3 | Fork of VoodooTSCSync by RehabMan
4 |
5 | A kernel extension which will synchronize the TSC on any Intel CPUs.
6 |
7 | This version automatically attaches to the last CPU automatically.
8 | Different from previous versions, no need to modify the Info.plist, just install and use.
9 |
10 | Credit: Cosmosis Jones (origin version for Intel)
11 | fumoboy007 (modified version for AMD)
12 | RehabMan version forked from denskop @github
13 |
14 | ### Downloads:
15 |
16 | Downloads are available on Bitbucket:
17 |
18 | https://bitbucket.org/RehabMan/VoodooTSCSync/downloads/
19 |
20 | ### Change Log:
21 |
22 | 2018-10-19 v1.5.0
23 |
24 | - fork from denskop version
25 |
26 | - automatically attach only to last CPU object
27 |
28 | - add version info in ioreg, announce loading in kernel logs
29 |
30 | - remove AMD version
31 |
32 | - misc source code/kernel log cleanup
33 |
--------------------------------------------------------------------------------
/VoodooTSCSync.xcodeproj/cosmo1t.mode1v3:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ActivePerspectiveName
6 | Project
7 | AllowedModules
8 |
9 |
10 | BundleLoadPath
11 |
12 | MaxInstances
13 | n
14 | Module
15 | PBXSmartGroupTreeModule
16 | Name
17 | Groups and Files Outline View
18 |
19 |
20 | BundleLoadPath
21 |
22 | MaxInstances
23 | n
24 | Module
25 | PBXNavigatorGroup
26 | Name
27 | Editor
28 |
29 |
30 | BundleLoadPath
31 |
32 | MaxInstances
33 | n
34 | Module
35 | XCTaskListModule
36 | Name
37 | Task List
38 |
39 |
40 | BundleLoadPath
41 |
42 | MaxInstances
43 | n
44 | Module
45 | XCDetailModule
46 | Name
47 | File and Smart Group Detail Viewer
48 |
49 |
50 | BundleLoadPath
51 |
52 | MaxInstances
53 | 1
54 | Module
55 | PBXBuildResultsModule
56 | Name
57 | Detailed Build Results Viewer
58 |
59 |
60 | BundleLoadPath
61 |
62 | MaxInstances
63 | 1
64 | Module
65 | PBXProjectFindModule
66 | Name
67 | Project Batch Find Tool
68 |
69 |
70 | BundleLoadPath
71 |
72 | MaxInstances
73 | n
74 | Module
75 | XCProjectFormatConflictsModule
76 | Name
77 | Project Format Conflicts List
78 |
79 |
80 | BundleLoadPath
81 |
82 | MaxInstances
83 | n
84 | Module
85 | PBXBookmarksModule
86 | Name
87 | Bookmarks Tool
88 |
89 |
90 | BundleLoadPath
91 |
92 | MaxInstances
93 | n
94 | Module
95 | PBXClassBrowserModule
96 | Name
97 | Class Browser
98 |
99 |
100 | BundleLoadPath
101 |
102 | MaxInstances
103 | n
104 | Module
105 | PBXCVSModule
106 | Name
107 | Source Code Control Tool
108 |
109 |
110 | BundleLoadPath
111 |
112 | MaxInstances
113 | n
114 | Module
115 | PBXDebugBreakpointsModule
116 | Name
117 | Debug Breakpoints Tool
118 |
119 |
120 | BundleLoadPath
121 |
122 | MaxInstances
123 | n
124 | Module
125 | XCDockableInspector
126 | Name
127 | Inspector
128 |
129 |
130 | BundleLoadPath
131 |
132 | MaxInstances
133 | n
134 | Module
135 | PBXOpenQuicklyModule
136 | Name
137 | Open Quickly Tool
138 |
139 |
140 | BundleLoadPath
141 |
142 | MaxInstances
143 | 1
144 | Module
145 | PBXDebugSessionModule
146 | Name
147 | Debugger
148 |
149 |
150 | BundleLoadPath
151 |
152 | MaxInstances
153 | 1
154 | Module
155 | PBXDebugCLIModule
156 | Name
157 | Debug Console
158 |
159 |
160 | BundleLoadPath
161 |
162 | MaxInstances
163 | n
164 | Module
165 | XCSnapshotModule
166 | Name
167 | Snapshots Tool
168 |
169 |
170 | BundlePath
171 | /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources
172 | Description
173 | DefaultDescriptionKey
174 | DockingSystemVisible
175 |
176 | Extension
177 | mode1v3
178 | FavBarConfig
179 |
180 | PBXProjectModuleGUID
181 | 9F25543D1063ED6100BF13B3
182 | XCBarModuleItemNames
183 |
184 | XCBarModuleItems
185 |
186 |
187 | FirstTimeWindowDisplayed
188 |
189 | Identifier
190 | com.apple.perspectives.project.mode1v3
191 | MajorVersion
192 | 33
193 | MinorVersion
194 | 0
195 | Name
196 | Default
197 | Notifications
198 |
199 | OpenEditors
200 |
201 |
202 | Content
203 |
204 | PBXProjectModuleGUID
205 | 9FAED46D1068018000C9FE5C
206 | PBXProjectModuleLabel
207 | VoodooTSCSync.cpp
208 | PBXSplitModuleInNavigatorKey
209 |
210 | Split0
211 |
212 | PBXProjectModuleGUID
213 | 9FAED46E1068018000C9FE5C
214 | PBXProjectModuleLabel
215 | VoodooTSCSync.cpp
216 | _historyCapacity
217 | 0
218 | bookmark
219 | 9FC7439610681B12000B3040
220 | history
221 |
222 | 9FAED46F1068018000C9FE5C
223 |
224 |
225 | SplitCount
226 | 1
227 |
228 | StatusBarVisibility
229 |
230 |
231 | Geometry
232 |
233 | Frame
234 | {{0, 20}, {1048, 733}}
235 | PBXModuleWindowStatusBarHidden2
236 |
237 | RubberWindowFrame
238 | 1703 170 1048 774 1280 -26 1680 1050
239 |
240 |
241 |
242 | PerspectiveWidths
243 |
244 | -1
245 | -1
246 |
247 | Perspectives
248 |
249 |
250 | ChosenToolbarItems
251 |
252 | active-combo-popup
253 | action
254 | NSToolbarFlexibleSpaceItem
255 | debugger-enable-breakpoints
256 | build-and-go
257 | com.apple.ide.PBXToolbarStopButton
258 | get-info
259 | NSToolbarFlexibleSpaceItem
260 | com.apple.pbx.toolbar.searchfield
261 |
262 | ControllerClassBaseName
263 |
264 | IconName
265 | WindowOfProjectWithEditor
266 | Identifier
267 | perspective.project
268 | IsVertical
269 |
270 | Layout
271 |
272 |
273 | BecomeActive
274 |
275 | ContentConfiguration
276 |
277 | PBXBottomSmartGroupGIDs
278 |
279 | 1C37FBAC04509CD000000102
280 | 1C37FAAC04509CD000000102
281 | 1C37FABC05509CD000000102
282 | 1C37FABC05539CD112110102
283 | E2644B35053B69B200211256
284 | 1C37FABC04509CD000100104
285 | 1CC0EA4004350EF90044410B
286 | 1CC0EA4004350EF90041110B
287 |
288 | PBXProjectModuleGUID
289 | 1CE0B1FE06471DED0097A5F4
290 | PBXProjectModuleLabel
291 | Files
292 | PBXProjectStructureProvided
293 | yes
294 | PBXSmartGroupTreeModuleColumnData
295 |
296 | PBXSmartGroupTreeModuleColumnWidthsKey
297 |
298 | 186
299 |
300 | PBXSmartGroupTreeModuleColumnsKey_v4
301 |
302 | MainColumn
303 |
304 |
305 | PBXSmartGroupTreeModuleOutlineStateKey_v7
306 |
307 | PBXSmartGroupTreeModuleOutlineStateExpansionKey
308 |
309 | 089C166AFE841209C02AAC07
310 | 1C37FBAC04509CD000000102
311 | 1C37FABC05509CD000000102
312 |
313 | PBXSmartGroupTreeModuleOutlineStateSelectionKey
314 |
315 |
316 | 0
317 |
318 |
319 | PBXSmartGroupTreeModuleOutlineStateVisibleRectKey
320 | {{0, 0}, {186, 936}}
321 |
322 | PBXTopSmartGroupGIDs
323 |
324 | XCIncludePerspectivesSwitch
325 |
326 | XCSharingToken
327 | com.apple.Xcode.GFSharingToken
328 |
329 | GeometryConfiguration
330 |
331 | Frame
332 | {{0, 0}, {203, 954}}
333 | GroupTreeTableConfiguration
334 |
335 | MainColumn
336 | 186
337 |
338 | RubberWindowFrame
339 | 1280 29 1680 995 1280 -26 1680 1050
340 |
341 | Module
342 | PBXSmartGroupTreeModule
343 | Proportion
344 | 203pt
345 |
346 |
347 | Dock
348 |
349 |
350 | ContentConfiguration
351 |
352 | PBXProjectModuleGUID
353 | 1CE0B20306471E060097A5F4
354 | PBXProjectModuleLabel
355 | VoodooTSCSync.h
356 | PBXSplitModuleInNavigatorKey
357 |
358 | Split0
359 |
360 | PBXProjectModuleGUID
361 | 1CE0B20406471E060097A5F4
362 | PBXProjectModuleLabel
363 | VoodooTSCSync.h
364 | _historyCapacity
365 | 0
366 | bookmark
367 | 9FC7439310681B12000B3040
368 | history
369 |
370 | 9F2558531063F8B800BF13B3
371 | 9F22E78E1066963A0015212D
372 | 9F22E78F1066963A0015212D
373 | 9FC7439110681B12000B3040
374 | 9FC7439210681B12000B3040
375 |
376 |
377 | SplitCount
378 | 1
379 |
380 | StatusBarVisibility
381 |
382 |
383 | GeometryConfiguration
384 |
385 | Frame
386 | {{0, 0}, {1472, 751}}
387 | RubberWindowFrame
388 | 1280 29 1680 995 1280 -26 1680 1050
389 |
390 | Module
391 | PBXNavigatorGroup
392 | Proportion
393 | 751pt
394 |
395 |
396 | ContentConfiguration
397 |
398 | PBXProjectModuleGUID
399 | 1CE0B20506471E060097A5F4
400 | PBXProjectModuleLabel
401 | Detail
402 |
403 | GeometryConfiguration
404 |
405 | Frame
406 | {{0, 756}, {1472, 198}}
407 | RubberWindowFrame
408 | 1280 29 1680 995 1280 -26 1680 1050
409 |
410 | Module
411 | XCDetailModule
412 | Proportion
413 | 198pt
414 |
415 |
416 | Proportion
417 | 1472pt
418 |
419 |
420 | Name
421 | Project
422 | ServiceClasses
423 |
424 | XCModuleDock
425 | PBXSmartGroupTreeModule
426 | XCModuleDock
427 | PBXNavigatorGroup
428 | XCDetailModule
429 |
430 | TableOfContents
431 |
432 | 9FC7439410681B12000B3040
433 | 1CE0B1FE06471DED0097A5F4
434 | 9FC7439510681B12000B3040
435 | 1CE0B20306471E060097A5F4
436 | 1CE0B20506471E060097A5F4
437 |
438 | ToolbarConfigUserDefaultsMinorVersion
439 | 2
440 | ToolbarConfiguration
441 | xcode.toolbar.config.defaultV3
442 |
443 |
444 | ControllerClassBaseName
445 |
446 | IconName
447 | WindowOfProject
448 | Identifier
449 | perspective.morph
450 | IsVertical
451 | 0
452 | Layout
453 |
454 |
455 | BecomeActive
456 | 1
457 | ContentConfiguration
458 |
459 | PBXBottomSmartGroupGIDs
460 |
461 | 1C37FBAC04509CD000000102
462 | 1C37FAAC04509CD000000102
463 | 1C08E77C0454961000C914BD
464 | 1C37FABC05509CD000000102
465 | 1C37FABC05539CD112110102
466 | E2644B35053B69B200211256
467 | 1C37FABC04509CD000100104
468 | 1CC0EA4004350EF90044410B
469 | 1CC0EA4004350EF90041110B
470 |
471 | PBXProjectModuleGUID
472 | 11E0B1FE06471DED0097A5F4
473 | PBXProjectModuleLabel
474 | Files
475 | PBXProjectStructureProvided
476 | yes
477 | PBXSmartGroupTreeModuleColumnData
478 |
479 | PBXSmartGroupTreeModuleColumnWidthsKey
480 |
481 | 186
482 |
483 | PBXSmartGroupTreeModuleColumnsKey_v4
484 |
485 | MainColumn
486 |
487 |
488 | PBXSmartGroupTreeModuleOutlineStateKey_v7
489 |
490 | PBXSmartGroupTreeModuleOutlineStateExpansionKey
491 |
492 | 29B97314FDCFA39411CA2CEA
493 | 1C37FABC05509CD000000102
494 |
495 | PBXSmartGroupTreeModuleOutlineStateSelectionKey
496 |
497 |
498 | 0
499 |
500 |
501 | PBXSmartGroupTreeModuleOutlineStateVisibleRectKey
502 | {{0, 0}, {186, 337}}
503 |
504 | PBXTopSmartGroupGIDs
505 |
506 | XCIncludePerspectivesSwitch
507 | 1
508 | XCSharingToken
509 | com.apple.Xcode.GFSharingToken
510 |
511 | GeometryConfiguration
512 |
513 | Frame
514 | {{0, 0}, {203, 355}}
515 | GroupTreeTableConfiguration
516 |
517 | MainColumn
518 | 186
519 |
520 | RubberWindowFrame
521 | 373 269 690 397 0 0 1440 878
522 |
523 | Module
524 | PBXSmartGroupTreeModule
525 | Proportion
526 | 100%
527 |
528 |
529 | Name
530 | Morph
531 | PreferredWidth
532 | 300
533 | ServiceClasses
534 |
535 | XCModuleDock
536 | PBXSmartGroupTreeModule
537 |
538 | TableOfContents
539 |
540 | 11E0B1FE06471DED0097A5F4
541 |
542 | ToolbarConfiguration
543 | xcode.toolbar.config.default.shortV3
544 |
545 |
546 | PerspectivesBarVisible
547 |
548 | ShelfIsVisible
549 |
550 | SourceDescription
551 | file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec'
552 | StatusbarIsVisible
553 |
554 | TimeStamp
555 | 0.0
556 | ToolbarConfigUserDefaultsMinorVersion
557 | 2
558 | ToolbarDisplayMode
559 | 1
560 | ToolbarIsVisible
561 |
562 | ToolbarSizeMode
563 | 1
564 | Type
565 | Perspectives
566 | UpdateMessage
567 | The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'?
568 | WindowJustification
569 | 5
570 | WindowOrderList
571 |
572 | 9F25543E1063ED6200BF13B3
573 | 9FAED46D1068018000C9FE5C
574 | /Users/cosmo1t/src_apps/os_x/voodoo/VoodooTSCSync/VoodooTSCSync.xcodeproj
575 |
576 | WindowString
577 | 1280 29 1680 995 1280 -26 1680 1050
578 | WindowToolsV3
579 |
580 |
581 | FirstTimeWindowDisplayed
582 |
583 | Identifier
584 | windowTool.build
585 | IsVertical
586 |
587 | Layout
588 |
589 |
590 | Dock
591 |
592 |
593 | ContentConfiguration
594 |
595 | PBXProjectModuleGUID
596 | 1CD0528F0623707200166675
597 | PBXProjectModuleLabel
598 |
599 | StatusBarVisibility
600 |
601 |
602 | GeometryConfiguration
603 |
604 | Frame
605 | {{0, 0}, {1196, 379}}
606 | RubberWindowFrame
607 | 1427 297 1196 661 1280 -26 1680 1050
608 |
609 | Module
610 | PBXNavigatorGroup
611 | Proportion
612 | 379pt
613 |
614 |
615 | ContentConfiguration
616 |
617 | PBXProjectModuleGUID
618 | XCMainBuildResultsModuleGUID
619 | PBXProjectModuleLabel
620 | Build Results
621 | XCBuildResultsTrigger_Collapse
622 | 1021
623 | XCBuildResultsTrigger_Open
624 | 1011
625 |
626 | GeometryConfiguration
627 |
628 | Frame
629 | {{0, 384}, {1196, 236}}
630 | RubberWindowFrame
631 | 1427 297 1196 661 1280 -26 1680 1050
632 |
633 | Module
634 | PBXBuildResultsModule
635 | Proportion
636 | 236pt
637 |
638 |
639 | Proportion
640 | 620pt
641 |
642 |
643 | Name
644 | Build Results
645 | ServiceClasses
646 |
647 | PBXBuildResultsModule
648 |
649 | StatusbarIsVisible
650 |
651 | TableOfContents
652 |
653 | 9F25543E1063ED6200BF13B3
654 | 9FC7439710681B12000B3040
655 | 1CD0528F0623707200166675
656 | XCMainBuildResultsModuleGUID
657 |
658 | ToolbarConfiguration
659 | xcode.toolbar.config.buildV3
660 | WindowContentMinSize
661 | 486 300
662 | WindowString
663 | 1427 297 1196 661 1280 -26 1680 1050
664 | WindowToolGUID
665 | 9F25543E1063ED6200BF13B3
666 | WindowToolIsVisible
667 |
668 |
669 |
670 | Identifier
671 | windowTool.debugger
672 | Layout
673 |
674 |
675 | Dock
676 |
677 |
678 | ContentConfiguration
679 |
680 | Debugger
681 |
682 | HorizontalSplitView
683 |
684 | _collapsingFrameDimension
685 | 0.0
686 | _indexOfCollapsedView
687 | 0
688 | _percentageOfCollapsedView
689 | 0.0
690 | isCollapsed
691 | yes
692 | sizes
693 |
694 | {{0, 0}, {317, 164}}
695 | {{317, 0}, {377, 164}}
696 |
697 |
698 | VerticalSplitView
699 |
700 | _collapsingFrameDimension
701 | 0.0
702 | _indexOfCollapsedView
703 | 0
704 | _percentageOfCollapsedView
705 | 0.0
706 | isCollapsed
707 | yes
708 | sizes
709 |
710 | {{0, 0}, {694, 164}}
711 | {{0, 164}, {694, 216}}
712 |
713 |
714 |
715 | LauncherConfigVersion
716 | 8
717 | PBXProjectModuleGUID
718 | 1C162984064C10D400B95A72
719 | PBXProjectModuleLabel
720 | Debug - GLUTExamples (Underwater)
721 |
722 | GeometryConfiguration
723 |
724 | DebugConsoleDrawerSize
725 | {100, 120}
726 | DebugConsoleVisible
727 | None
728 | DebugConsoleWindowFrame
729 | {{200, 200}, {500, 300}}
730 | DebugSTDIOWindowFrame
731 | {{200, 200}, {500, 300}}
732 | Frame
733 | {{0, 0}, {694, 380}}
734 | RubberWindowFrame
735 | 321 238 694 422 0 0 1440 878
736 |
737 | Module
738 | PBXDebugSessionModule
739 | Proportion
740 | 100%
741 |
742 |
743 | Proportion
744 | 100%
745 |
746 |
747 | Name
748 | Debugger
749 | ServiceClasses
750 |
751 | PBXDebugSessionModule
752 |
753 | StatusbarIsVisible
754 | 1
755 | TableOfContents
756 |
757 | 1CD10A99069EF8BA00B06720
758 | 1C0AD2AB069F1E9B00FABCE6
759 | 1C162984064C10D400B95A72
760 | 1C0AD2AC069F1E9B00FABCE6
761 |
762 | ToolbarConfiguration
763 | xcode.toolbar.config.debugV3
764 | WindowString
765 | 321 238 694 422 0 0 1440 878
766 | WindowToolGUID
767 | 1CD10A99069EF8BA00B06720
768 | WindowToolIsVisible
769 | 0
770 |
771 |
772 | Identifier
773 | windowTool.find
774 | Layout
775 |
776 |
777 | Dock
778 |
779 |
780 | Dock
781 |
782 |
783 | ContentConfiguration
784 |
785 | PBXProjectModuleGUID
786 | 1CDD528C0622207200134675
787 | PBXProjectModuleLabel
788 | <No Editor>
789 | PBXSplitModuleInNavigatorKey
790 |
791 | Split0
792 |
793 | PBXProjectModuleGUID
794 | 1CD0528D0623707200166675
795 |
796 | SplitCount
797 | 1
798 |
799 | StatusBarVisibility
800 | 1
801 |
802 | GeometryConfiguration
803 |
804 | Frame
805 | {{0, 0}, {781, 167}}
806 | RubberWindowFrame
807 | 62 385 781 470 0 0 1440 878
808 |
809 | Module
810 | PBXNavigatorGroup
811 | Proportion
812 | 781pt
813 |
814 |
815 | Proportion
816 | 50%
817 |
818 |
819 | BecomeActive
820 | 1
821 | ContentConfiguration
822 |
823 | PBXProjectModuleGUID
824 | 1CD0528E0623707200166675
825 | PBXProjectModuleLabel
826 | Project Find
827 |
828 | GeometryConfiguration
829 |
830 | Frame
831 | {{8, 0}, {773, 254}}
832 | RubberWindowFrame
833 | 62 385 781 470 0 0 1440 878
834 |
835 | Module
836 | PBXProjectFindModule
837 | Proportion
838 | 50%
839 |
840 |
841 | Proportion
842 | 428pt
843 |
844 |
845 | Name
846 | Project Find
847 | ServiceClasses
848 |
849 | PBXProjectFindModule
850 |
851 | StatusbarIsVisible
852 | 1
853 | TableOfContents
854 |
855 | 1C530D57069F1CE1000CFCEE
856 | 1C530D58069F1CE1000CFCEE
857 | 1C530D59069F1CE1000CFCEE
858 | 1CDD528C0622207200134675
859 | 1C530D5A069F1CE1000CFCEE
860 | 1CE0B1FE06471DED0097A5F4
861 | 1CD0528E0623707200166675
862 |
863 | WindowString
864 | 62 385 781 470 0 0 1440 878
865 | WindowToolGUID
866 | 1C530D57069F1CE1000CFCEE
867 | WindowToolIsVisible
868 | 0
869 |
870 |
871 | Identifier
872 | MENUSEPARATOR
873 |
874 |
875 | Identifier
876 | windowTool.debuggerConsole
877 | Layout
878 |
879 |
880 | Dock
881 |
882 |
883 | BecomeActive
884 | 1
885 | ContentConfiguration
886 |
887 | PBXProjectModuleGUID
888 | 1C78EAAC065D492600B07095
889 | PBXProjectModuleLabel
890 | Debugger Console
891 |
892 | GeometryConfiguration
893 |
894 | Frame
895 | {{0, 0}, {650, 250}}
896 | RubberWindowFrame
897 | 516 632 650 250 0 0 1680 1027
898 |
899 | Module
900 | PBXDebugCLIModule
901 | Proportion
902 | 209pt
903 |
904 |
905 | Proportion
906 | 209pt
907 |
908 |
909 | Name
910 | Debugger Console
911 | ServiceClasses
912 |
913 | PBXDebugCLIModule
914 |
915 | StatusbarIsVisible
916 | 1
917 | TableOfContents
918 |
919 | 1C78EAAD065D492600B07095
920 | 1C78EAAE065D492600B07095
921 | 1C78EAAC065D492600B07095
922 |
923 | ToolbarConfiguration
924 | xcode.toolbar.config.consoleV3
925 | WindowString
926 | 650 41 650 250 0 0 1280 1002
927 | WindowToolGUID
928 | 1C78EAAD065D492600B07095
929 | WindowToolIsVisible
930 | 0
931 |
932 |
933 | Identifier
934 | windowTool.snapshots
935 | Layout
936 |
937 |
938 | Dock
939 |
940 |
941 | Module
942 | XCSnapshotModule
943 | Proportion
944 | 100%
945 |
946 |
947 | Proportion
948 | 100%
949 |
950 |
951 | Name
952 | Snapshots
953 | ServiceClasses
954 |
955 | XCSnapshotModule
956 |
957 | StatusbarIsVisible
958 | Yes
959 | ToolbarConfiguration
960 | xcode.toolbar.config.snapshots
961 | WindowString
962 | 315 824 300 550 0 0 1440 878
963 | WindowToolIsVisible
964 | Yes
965 |
966 |
967 | Identifier
968 | windowTool.scm
969 | Layout
970 |
971 |
972 | Dock
973 |
974 |
975 | ContentConfiguration
976 |
977 | PBXProjectModuleGUID
978 | 1C78EAB2065D492600B07095
979 | PBXProjectModuleLabel
980 | <No Editor>
981 | PBXSplitModuleInNavigatorKey
982 |
983 | Split0
984 |
985 | PBXProjectModuleGUID
986 | 1C78EAB3065D492600B07095
987 |
988 | SplitCount
989 | 1
990 |
991 | StatusBarVisibility
992 | 1
993 |
994 | GeometryConfiguration
995 |
996 | Frame
997 | {{0, 0}, {452, 0}}
998 | RubberWindowFrame
999 | 743 379 452 308 0 0 1280 1002
1000 |
1001 | Module
1002 | PBXNavigatorGroup
1003 | Proportion
1004 | 0pt
1005 |
1006 |
1007 | BecomeActive
1008 | 1
1009 | ContentConfiguration
1010 |
1011 | PBXProjectModuleGUID
1012 | 1CD052920623707200166675
1013 | PBXProjectModuleLabel
1014 | SCM
1015 |
1016 | GeometryConfiguration
1017 |
1018 | ConsoleFrame
1019 | {{0, 259}, {452, 0}}
1020 | Frame
1021 | {{0, 7}, {452, 259}}
1022 | RubberWindowFrame
1023 | 743 379 452 308 0 0 1280 1002
1024 | TableConfiguration
1025 |
1026 | Status
1027 | 30
1028 | FileName
1029 | 199
1030 | Path
1031 | 197.0950012207031
1032 |
1033 | TableFrame
1034 | {{0, 0}, {452, 250}}
1035 |
1036 | Module
1037 | PBXCVSModule
1038 | Proportion
1039 | 262pt
1040 |
1041 |
1042 | Proportion
1043 | 266pt
1044 |
1045 |
1046 | Name
1047 | SCM
1048 | ServiceClasses
1049 |
1050 | PBXCVSModule
1051 |
1052 | StatusbarIsVisible
1053 | 1
1054 | TableOfContents
1055 |
1056 | 1C78EAB4065D492600B07095
1057 | 1C78EAB5065D492600B07095
1058 | 1C78EAB2065D492600B07095
1059 | 1CD052920623707200166675
1060 |
1061 | ToolbarConfiguration
1062 | xcode.toolbar.config.scm
1063 | WindowString
1064 | 743 379 452 308 0 0 1280 1002
1065 |
1066 |
1067 | Identifier
1068 | windowTool.breakpoints
1069 | IsVertical
1070 | 0
1071 | Layout
1072 |
1073 |
1074 | Dock
1075 |
1076 |
1077 | BecomeActive
1078 | 1
1079 | ContentConfiguration
1080 |
1081 | PBXBottomSmartGroupGIDs
1082 |
1083 | 1C77FABC04509CD000000102
1084 |
1085 | PBXProjectModuleGUID
1086 | 1CE0B1FE06471DED0097A5F4
1087 | PBXProjectModuleLabel
1088 | Files
1089 | PBXProjectStructureProvided
1090 | no
1091 | PBXSmartGroupTreeModuleColumnData
1092 |
1093 | PBXSmartGroupTreeModuleColumnWidthsKey
1094 |
1095 | 168
1096 |
1097 | PBXSmartGroupTreeModuleColumnsKey_v4
1098 |
1099 | MainColumn
1100 |
1101 |
1102 | PBXSmartGroupTreeModuleOutlineStateKey_v7
1103 |
1104 | PBXSmartGroupTreeModuleOutlineStateExpansionKey
1105 |
1106 | 1C77FABC04509CD000000102
1107 |
1108 | PBXSmartGroupTreeModuleOutlineStateSelectionKey
1109 |
1110 |
1111 | 0
1112 |
1113 |
1114 | PBXSmartGroupTreeModuleOutlineStateVisibleRectKey
1115 | {{0, 0}, {168, 350}}
1116 |
1117 | PBXTopSmartGroupGIDs
1118 |
1119 | XCIncludePerspectivesSwitch
1120 | 0
1121 |
1122 | GeometryConfiguration
1123 |
1124 | Frame
1125 | {{0, 0}, {185, 368}}
1126 | GroupTreeTableConfiguration
1127 |
1128 | MainColumn
1129 | 168
1130 |
1131 | RubberWindowFrame
1132 | 315 424 744 409 0 0 1440 878
1133 |
1134 | Module
1135 | PBXSmartGroupTreeModule
1136 | Proportion
1137 | 185pt
1138 |
1139 |
1140 | ContentConfiguration
1141 |
1142 | PBXProjectModuleGUID
1143 | 1CA1AED706398EBD00589147
1144 | PBXProjectModuleLabel
1145 | Detail
1146 |
1147 | GeometryConfiguration
1148 |
1149 | Frame
1150 | {{190, 0}, {554, 368}}
1151 | RubberWindowFrame
1152 | 315 424 744 409 0 0 1440 878
1153 |
1154 | Module
1155 | XCDetailModule
1156 | Proportion
1157 | 554pt
1158 |
1159 |
1160 | Proportion
1161 | 368pt
1162 |
1163 |
1164 | MajorVersion
1165 | 3
1166 | MinorVersion
1167 | 0
1168 | Name
1169 | Breakpoints
1170 | ServiceClasses
1171 |
1172 | PBXSmartGroupTreeModule
1173 | XCDetailModule
1174 |
1175 | StatusbarIsVisible
1176 | 1
1177 | TableOfContents
1178 |
1179 | 1CDDB66807F98D9800BB5817
1180 | 1CDDB66907F98D9800BB5817
1181 | 1CE0B1FE06471DED0097A5F4
1182 | 1CA1AED706398EBD00589147
1183 |
1184 | ToolbarConfiguration
1185 | xcode.toolbar.config.breakpointsV3
1186 | WindowString
1187 | 315 424 744 409 0 0 1440 878
1188 | WindowToolGUID
1189 | 1CDDB66807F98D9800BB5817
1190 | WindowToolIsVisible
1191 | 1
1192 |
1193 |
1194 | Identifier
1195 | windowTool.debugAnimator
1196 | Layout
1197 |
1198 |
1199 | Dock
1200 |
1201 |
1202 | Module
1203 | PBXNavigatorGroup
1204 | Proportion
1205 | 100%
1206 |
1207 |
1208 | Proportion
1209 | 100%
1210 |
1211 |
1212 | Name
1213 | Debug Visualizer
1214 | ServiceClasses
1215 |
1216 | PBXNavigatorGroup
1217 |
1218 | StatusbarIsVisible
1219 | 1
1220 | ToolbarConfiguration
1221 | xcode.toolbar.config.debugAnimatorV3
1222 | WindowString
1223 | 100 100 700 500 0 0 1280 1002
1224 |
1225 |
1226 | Identifier
1227 | windowTool.bookmarks
1228 | Layout
1229 |
1230 |
1231 | Dock
1232 |
1233 |
1234 | Module
1235 | PBXBookmarksModule
1236 | Proportion
1237 | 100%
1238 |
1239 |
1240 | Proportion
1241 | 100%
1242 |
1243 |
1244 | Name
1245 | Bookmarks
1246 | ServiceClasses
1247 |
1248 | PBXBookmarksModule
1249 |
1250 | StatusbarIsVisible
1251 | 0
1252 | WindowString
1253 | 538 42 401 187 0 0 1280 1002
1254 |
1255 |
1256 | Identifier
1257 | windowTool.projectFormatConflicts
1258 | Layout
1259 |
1260 |
1261 | Dock
1262 |
1263 |
1264 | Module
1265 | XCProjectFormatConflictsModule
1266 | Proportion
1267 | 100%
1268 |
1269 |
1270 | Proportion
1271 | 100%
1272 |
1273 |
1274 | Name
1275 | Project Format Conflicts
1276 | ServiceClasses
1277 |
1278 | XCProjectFormatConflictsModule
1279 |
1280 | StatusbarIsVisible
1281 | 0
1282 | WindowContentMinSize
1283 | 450 300
1284 | WindowString
1285 | 50 850 472 307 0 0 1440 877
1286 |
1287 |
1288 | Identifier
1289 | windowTool.classBrowser
1290 | Layout
1291 |
1292 |
1293 | Dock
1294 |
1295 |
1296 | BecomeActive
1297 | 1
1298 | ContentConfiguration
1299 |
1300 | OptionsSetName
1301 | Hierarchy, all classes
1302 | PBXProjectModuleGUID
1303 | 1CA6456E063B45B4001379D8
1304 | PBXProjectModuleLabel
1305 | Class Browser - NSObject
1306 |
1307 | GeometryConfiguration
1308 |
1309 | ClassesFrame
1310 | {{0, 0}, {374, 96}}
1311 | ClassesTreeTableConfiguration
1312 |
1313 | PBXClassNameColumnIdentifier
1314 | 208
1315 | PBXClassBookColumnIdentifier
1316 | 22
1317 |
1318 | Frame
1319 | {{0, 0}, {630, 331}}
1320 | MembersFrame
1321 | {{0, 105}, {374, 395}}
1322 | MembersTreeTableConfiguration
1323 |
1324 | PBXMemberTypeIconColumnIdentifier
1325 | 22
1326 | PBXMemberNameColumnIdentifier
1327 | 216
1328 | PBXMemberTypeColumnIdentifier
1329 | 97
1330 | PBXMemberBookColumnIdentifier
1331 | 22
1332 |
1333 | PBXModuleWindowStatusBarHidden2
1334 | 1
1335 | RubberWindowFrame
1336 | 385 179 630 352 0 0 1440 878
1337 |
1338 | Module
1339 | PBXClassBrowserModule
1340 | Proportion
1341 | 332pt
1342 |
1343 |
1344 | Proportion
1345 | 332pt
1346 |
1347 |
1348 | Name
1349 | Class Browser
1350 | ServiceClasses
1351 |
1352 | PBXClassBrowserModule
1353 |
1354 | StatusbarIsVisible
1355 | 0
1356 | TableOfContents
1357 |
1358 | 1C0AD2AF069F1E9B00FABCE6
1359 | 1C0AD2B0069F1E9B00FABCE6
1360 | 1CA6456E063B45B4001379D8
1361 |
1362 | ToolbarConfiguration
1363 | xcode.toolbar.config.classbrowser
1364 | WindowString
1365 | 385 179 630 352 0 0 1440 878
1366 | WindowToolGUID
1367 | 1C0AD2AF069F1E9B00FABCE6
1368 | WindowToolIsVisible
1369 | 0
1370 |
1371 |
1372 | Identifier
1373 | windowTool.refactoring
1374 | IncludeInToolsMenu
1375 | 0
1376 | Layout
1377 |
1378 |
1379 | Dock
1380 |
1381 |
1382 | BecomeActive
1383 | 1
1384 | GeometryConfiguration
1385 |
1386 | Frame
1387 | {0, 0}, {500, 335}
1388 | RubberWindowFrame
1389 | {0, 0}, {500, 335}
1390 |
1391 | Module
1392 | XCRefactoringModule
1393 | Proportion
1394 | 100%
1395 |
1396 |
1397 | Proportion
1398 | 100%
1399 |
1400 |
1401 | Name
1402 | Refactoring
1403 | ServiceClasses
1404 |
1405 | XCRefactoringModule
1406 |
1407 | WindowString
1408 | 200 200 500 356 0 0 1920 1200
1409 |
1410 |
1411 |
1412 |
1413 |
--------------------------------------------------------------------------------
/VoodooTSCSync.xcodeproj/cosmo1t.pbxuser:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | 089C1669FE841209C02AAC07 /* Project object */ = {
4 | activeBuildConfigurationName = Release;
5 | activeTarget = 32D94FC30562CBF700B6AF17 /* VoodooTSCSync */;
6 | codeSenseManager = 9F2554411063ED6200BF13B3 /* Code sense */;
7 | perUserDictionary = {
8 | PBXConfiguration.PBXFileTableDataSource3.PBXBookmarksDataSource = {
9 | PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
10 | PBXFileTableDataSourceColumnSortingKey = PBXBookmarksDataSource_NameID;
11 | PBXFileTableDataSourceColumnWidthsKey = (
12 | 200,
13 | 200,
14 | 1029,
15 | );
16 | PBXFileTableDataSourceColumnsKey = (
17 | PBXBookmarksDataSource_LocationID,
18 | PBXBookmarksDataSource_NameID,
19 | PBXBookmarksDataSource_CommentsID,
20 | );
21 | };
22 | PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
23 | PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
24 | PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
25 | PBXFileTableDataSourceColumnWidthsKey = (
26 | 20,
27 | 1233,
28 | 20,
29 | 48,
30 | 43,
31 | 43,
32 | 20,
33 | );
34 | PBXFileTableDataSourceColumnsKey = (
35 | PBXFileDataSource_FiletypeID,
36 | PBXFileDataSource_Filename_ColumnID,
37 | PBXFileDataSource_Built_ColumnID,
38 | PBXFileDataSource_ObjectSize_ColumnID,
39 | PBXFileDataSource_Errors_ColumnID,
40 | PBXFileDataSource_Warnings_ColumnID,
41 | PBXFileDataSource_Target_ColumnID,
42 | );
43 | };
44 | PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = {
45 | PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
46 | PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
47 | PBXFileTableDataSourceColumnWidthsKey = (
48 | 20,
49 | 1193,
50 | 60,
51 | 20,
52 | 48.16259765625,
53 | 43,
54 | 43,
55 | );
56 | PBXFileTableDataSourceColumnsKey = (
57 | PBXFileDataSource_FiletypeID,
58 | PBXFileDataSource_Filename_ColumnID,
59 | PBXTargetDataSource_PrimaryAttribute,
60 | PBXFileDataSource_Built_ColumnID,
61 | PBXFileDataSource_ObjectSize_ColumnID,
62 | PBXFileDataSource_Errors_ColumnID,
63 | PBXFileDataSource_Warnings_ColumnID,
64 | );
65 | };
66 | PBXPerProjectTemplateStateSaveDate = 275256140;
67 | PBXWorkspaceStateSaveDate = 275256140;
68 | };
69 | perUserProjectItems = {
70 | 9F22E78E1066963A0015212D /* PBXTextBookmark */ = 9F22E78E1066963A0015212D /* PBXTextBookmark */;
71 | 9F22E78F1066963A0015212D /* PBXTextBookmark */ = 9F22E78F1066963A0015212D /* PBXTextBookmark */;
72 | 9F2558531063F8B800BF13B3 /* PBXTextBookmark */ = 9F2558531063F8B800BF13B3 /* PBXTextBookmark */;
73 | 9FAED46F1068018000C9FE5C /* PBXTextBookmark */ = 9FAED46F1068018000C9FE5C /* PBXTextBookmark */;
74 | 9FC7439110681B12000B3040 /* PBXTextBookmark */ = 9FC7439110681B12000B3040 /* PBXTextBookmark */;
75 | 9FC7439210681B12000B3040 /* PBXTextBookmark */ = 9FC7439210681B12000B3040 /* PBXTextBookmark */;
76 | 9FC7439310681B12000B3040 /* PBXTextBookmark */ = 9FC7439310681B12000B3040 /* PBXTextBookmark */;
77 | 9FC7439610681B12000B3040 /* PBXTextBookmark */ = 9FC7439610681B12000B3040 /* PBXTextBookmark */;
78 | };
79 | sourceControlManager = 9F2554401063ED6200BF13B3 /* Source Control */;
80 | userBuildSettings = {
81 | };
82 | };
83 | 089C167EFE841241C02AAC07 /* English */ = {
84 | uiCtxt = {
85 | sepNavIntBoundsRect = "{{0, 0}, {1411, 727}}";
86 | sepNavSelRange = "{0, 0}";
87 | sepNavVisRange = "{0, 45}";
88 | };
89 | };
90 | 1A224C3EFF42367911CA2CB7 /* VoodooTSCSync.h */ = {
91 | uiCtxt = {
92 | sepNavIntBoundsRect = "{{0, 0}, {1411, 719}}";
93 | sepNavSelRange = "{694, 0}";
94 | sepNavVisRange = "{0, 992}";
95 | sepNavWindowFrame = "{{2012, 241}, {750, 558}}";
96 | };
97 | };
98 | 1A224C3FFF42367911CA2CB7 /* VoodooTSCSync.cpp */ = {
99 | uiCtxt = {
100 | sepNavIntBoundsRect = "{{0, 0}, {989, 728}}";
101 | sepNavSelRange = "{706, 0}";
102 | sepNavVisRange = "{0, 1129}";
103 | sepNavWindowFrame = "{{1703, 114}, {1048, 830}}";
104 | };
105 | };
106 | 32D94FC30562CBF700B6AF17 /* VoodooTSCSync */ = {
107 | activeExec = 0;
108 | };
109 | 32D94FCF0562CBF700B6AF17 /* Info.plist */ = {
110 | uiCtxt = {
111 | sepNavIntBoundsRect = "{{0, 0}, {1431, 826}}";
112 | sepNavSelRange = "{1694, 0}";
113 | sepNavVisRect = "{{0, 99}, {1431, 727}}";
114 | sepNavWindowFrame = "{{148, 98}, {1048, 830}}";
115 | };
116 | };
117 | 9F22E78E1066963A0015212D /* PBXTextBookmark */ = {
118 | isa = PBXTextBookmark;
119 | fRef = 1A224C3FFF42367911CA2CB7 /* VoodooTSCSync.cpp */;
120 | name = "VoodooTSCSync.cpp: 58";
121 | rLen = 0;
122 | rLoc = 1131;
123 | rType = 0;
124 | vrLen = 1132;
125 | vrLoc = 0;
126 | };
127 | 9F22E78F1066963A0015212D /* PBXTextBookmark */ = {
128 | isa = PBXTextBookmark;
129 | fRef = 089C167EFE841241C02AAC07 /* English */;
130 | name = "InfoPlist.strings: 1";
131 | rLen = 0;
132 | rLoc = 0;
133 | rType = 0;
134 | vrLen = 45;
135 | vrLoc = 0;
136 | };
137 | 9F2554401063ED6200BF13B3 /* Source Control */ = {
138 | isa = PBXSourceControlManager;
139 | fallbackIsa = XCSourceControlManager;
140 | isSCMEnabled = 0;
141 | scmConfiguration = {
142 | repositoryNamesForRoots = {
143 | "" = "";
144 | };
145 | };
146 | };
147 | 9F2554411063ED6200BF13B3 /* Code sense */ = {
148 | isa = PBXCodeSenseManager;
149 | indexTemplatePath = "";
150 | };
151 | 9F25584D1063F7E800BF13B3 /* proc_reg.h */ = {
152 | isa = PBXFileReference;
153 | lastKnownFileType = sourcecode.c.h;
154 | name = proc_reg.h;
155 | path = /System/Library/Frameworks/Kernel.framework/Headers/i386/proc_reg.h;
156 | sourceTree = "";
157 | };
158 | 9F2558531063F8B800BF13B3 /* PBXTextBookmark */ = {
159 | isa = PBXTextBookmark;
160 | fRef = 9F25584D1063F7E800BF13B3 /* proc_reg.h */;
161 | name = "proc_reg.h: 1";
162 | rLen = 0;
163 | rLoc = 0;
164 | rType = 0;
165 | vrLen = 1463;
166 | vrLoc = 13317;
167 | };
168 | 9FAED46F1068018000C9FE5C /* PBXTextBookmark */ = {
169 | isa = PBXTextBookmark;
170 | fRef = 1A224C3FFF42367911CA2CB7 /* VoodooTSCSync.cpp */;
171 | name = "VoodooTSCSync.cpp: 14";
172 | rLen = 0;
173 | rLoc = 306;
174 | rType = 0;
175 | vrLen = 1060;
176 | vrLoc = 0;
177 | };
178 | 9FC7439110681B12000B3040 /* PBXTextBookmark */ = {
179 | isa = PBXTextBookmark;
180 | fRef = 32D94FCF0562CBF700B6AF17 /* Info.plist */;
181 | name = "Info.plist: 38";
182 | rLen = 0;
183 | rLoc = 1249;
184 | rType = 0;
185 | vrLen = 1430;
186 | vrLoc = 209;
187 | };
188 | 9FC7439210681B12000B3040 /* PBXTextBookmark */ = {
189 | isa = PBXTextBookmark;
190 | fRef = 1A224C3EFF42367911CA2CB7 /* VoodooTSCSync.h */;
191 | name = "VoodooTSCSync.h: 40";
192 | rLen = 0;
193 | rLoc = 989;
194 | rType = 0;
195 | vrLen = 754;
196 | vrLoc = 0;
197 | };
198 | 9FC7439310681B12000B3040 /* PBXTextBookmark */ = {
199 | isa = PBXTextBookmark;
200 | fRef = 1A224C3EFF42367911CA2CB7 /* VoodooTSCSync.h */;
201 | name = "VoodooTSCSync.h: 29";
202 | rLen = 0;
203 | rLoc = 694;
204 | rType = 0;
205 | vrLen = 992;
206 | vrLoc = 0;
207 | };
208 | 9FC7439610681B12000B3040 /* PBXTextBookmark */ = {
209 | isa = PBXTextBookmark;
210 | fRef = 1A224C3FFF42367911CA2CB7 /* VoodooTSCSync.cpp */;
211 | name = "VoodooTSCSync.cpp: 37";
212 | rLen = 0;
213 | rLoc = 706;
214 | rType = 0;
215 | vrLen = 1129;
216 | vrLoc = 0;
217 | };
218 | }
219 |
--------------------------------------------------------------------------------
/VoodooTSCSync.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | C1571F4720AF477D005FA482 /* VoodooTSCSync.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C1571F4420AF477D005FA482 /* VoodooTSCSync.cpp */; };
11 | C1571F4920AF477D005FA482 /* VoodooTSCSync.h in Headers */ = {isa = PBXBuildFile; fileRef = C1571F4620AF477D005FA482 /* VoodooTSCSync.h */; };
12 | /* End PBXBuildFile section */
13 |
14 | /* Begin PBXFileReference section */
15 | 32D94FD00562CBF700B6AF17 /* VoodooTSCSync.kext */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = VoodooTSCSync.kext; sourceTree = BUILT_PRODUCTS_DIR; };
16 | C1571F4420AF477D005FA482 /* VoodooTSCSync.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VoodooTSCSync.cpp; path = Intel/VoodooTSCSync.cpp; sourceTree = ""; };
17 | C1571F4620AF477D005FA482 /* VoodooTSCSync.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VoodooTSCSync.h; path = Intel/VoodooTSCSync.h; sourceTree = ""; };
18 | ED5E32662179747300E5EA50 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Intel/Info.plist; sourceTree = ""; };
19 | EDBBF044217A76DC0033FEDC /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; };
20 | EDBBF046217A76EE0033FEDC /* makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = makefile; sourceTree = ""; };
21 | /* End PBXFileReference section */
22 |
23 | /* Begin PBXFrameworksBuildPhase section */
24 | 32D94FCB0562CBF700B6AF17 /* Frameworks */ = {
25 | isa = PBXFrameworksBuildPhase;
26 | buildActionMask = 2147483647;
27 | files = (
28 | );
29 | runOnlyForDeploymentPostprocessing = 0;
30 | };
31 | /* End PBXFrameworksBuildPhase section */
32 |
33 | /* Begin PBXGroup section */
34 | 089C166AFE841209C02AAC07 /* VoodooTSCSync */ = {
35 | isa = PBXGroup;
36 | children = (
37 | EDBBF044217A76DC0033FEDC /* README.md */,
38 | EDBBF046217A76EE0033FEDC /* makefile */,
39 | 247142CAFF3F8F9811CA285C /* Intel */,
40 | 19C28FB6FE9D52B211CA2CBB /* Products */,
41 | );
42 | name = VoodooTSCSync;
43 | sourceTree = "";
44 | };
45 | 19C28FB6FE9D52B211CA2CBB /* Products */ = {
46 | isa = PBXGroup;
47 | children = (
48 | 32D94FD00562CBF700B6AF17 /* VoodooTSCSync.kext */,
49 | );
50 | name = Products;
51 | sourceTree = "";
52 | };
53 | 247142CAFF3F8F9811CA285C /* Intel */ = {
54 | isa = PBXGroup;
55 | children = (
56 | C1571F4420AF477D005FA482 /* VoodooTSCSync.cpp */,
57 | C1571F4620AF477D005FA482 /* VoodooTSCSync.h */,
58 | ED5E32662179747300E5EA50 /* Info.plist */,
59 | );
60 | name = Intel;
61 | sourceTree = "";
62 | };
63 | /* End PBXGroup section */
64 |
65 | /* Begin PBXHeadersBuildPhase section */
66 | 32D94FC50562CBF700B6AF17 /* Headers */ = {
67 | isa = PBXHeadersBuildPhase;
68 | buildActionMask = 2147483647;
69 | files = (
70 | C1571F4920AF477D005FA482 /* VoodooTSCSync.h in Headers */,
71 | );
72 | runOnlyForDeploymentPostprocessing = 0;
73 | };
74 | /* End PBXHeadersBuildPhase section */
75 |
76 | /* Begin PBXNativeTarget section */
77 | 32D94FC30562CBF700B6AF17 /* VoodooTSCSync */ = {
78 | isa = PBXNativeTarget;
79 | buildConfigurationList = 1DEB91D908733DB10010E9CD /* Build configuration list for PBXNativeTarget "VoodooTSCSync" */;
80 | buildPhases = (
81 | 32D94FC50562CBF700B6AF17 /* Headers */,
82 | 32D94FC70562CBF700B6AF17 /* Resources */,
83 | 32D94FC90562CBF700B6AF17 /* Sources */,
84 | 32D94FCB0562CBF700B6AF17 /* Frameworks */,
85 | 32D94FCC0562CBF700B6AF17 /* Rez */,
86 | );
87 | buildRules = (
88 | );
89 | dependencies = (
90 | );
91 | name = VoodooTSCSync;
92 | productInstallPath = "$(SYSTEM_LIBRARY_DIR)/Extensions";
93 | productName = VoodooTSCSync;
94 | productReference = 32D94FD00562CBF700B6AF17 /* VoodooTSCSync.kext */;
95 | productType = "com.apple.product-type.kernel-extension.iokit";
96 | };
97 | /* End PBXNativeTarget section */
98 |
99 | /* Begin PBXProject section */
100 | 089C1669FE841209C02AAC07 /* Project object */ = {
101 | isa = PBXProject;
102 | attributes = {
103 | LastUpgradeCheck = 0930;
104 | };
105 | buildConfigurationList = 1DEB91DD08733DB10010E9CD /* Build configuration list for PBXProject "VoodooTSCSync" */;
106 | compatibilityVersion = "Xcode 3.2";
107 | developmentRegion = en;
108 | hasScannedForEncodings = 1;
109 | knownRegions = (
110 | en,
111 | );
112 | mainGroup = 089C166AFE841209C02AAC07 /* VoodooTSCSync */;
113 | projectDirPath = "";
114 | projectRoot = "";
115 | targets = (
116 | 32D94FC30562CBF700B6AF17 /* VoodooTSCSync */,
117 | );
118 | };
119 | /* End PBXProject section */
120 |
121 | /* Begin PBXResourcesBuildPhase section */
122 | 32D94FC70562CBF700B6AF17 /* Resources */ = {
123 | isa = PBXResourcesBuildPhase;
124 | buildActionMask = 2147483647;
125 | files = (
126 | );
127 | runOnlyForDeploymentPostprocessing = 0;
128 | };
129 | /* End PBXResourcesBuildPhase section */
130 |
131 | /* Begin PBXRezBuildPhase section */
132 | 32D94FCC0562CBF700B6AF17 /* Rez */ = {
133 | isa = PBXRezBuildPhase;
134 | buildActionMask = 2147483647;
135 | files = (
136 | );
137 | runOnlyForDeploymentPostprocessing = 0;
138 | };
139 | /* End PBXRezBuildPhase section */
140 |
141 | /* Begin PBXSourcesBuildPhase section */
142 | 32D94FC90562CBF700B6AF17 /* Sources */ = {
143 | isa = PBXSourcesBuildPhase;
144 | buildActionMask = 2147483647;
145 | files = (
146 | C1571F4720AF477D005FA482 /* VoodooTSCSync.cpp in Sources */,
147 | );
148 | runOnlyForDeploymentPostprocessing = 0;
149 | };
150 | /* End PBXSourcesBuildPhase section */
151 |
152 | /* Begin XCBuildConfiguration section */
153 | 1DEB91DA08733DB10010E9CD /* Debug */ = {
154 | isa = XCBuildConfiguration;
155 | buildSettings = {
156 | ALWAYS_SEARCH_USER_PATHS = NO;
157 | CLANG_ENABLE_OBJC_WEAK = YES;
158 | COPY_PHASE_STRIP = NO;
159 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
160 | GCC_DYNAMIC_NO_PIC = NO;
161 | GCC_MODEL_TUNING = G5;
162 | GCC_OPTIMIZATION_LEVEL = 0;
163 | INFOPLIST_FILE = Intel/Info.plist;
164 | MACOSX_DEPLOYMENT_TARGET = 10.6;
165 | PRODUCT_BUNDLE_IDENTIFIER = "org.voodoo.driver.${PRODUCT_NAME:rfc1034Identifier}";
166 | PRODUCT_NAME = VoodooTSCSync;
167 | WRAPPER_EXTENSION = kext;
168 | };
169 | name = Debug;
170 | };
171 | 1DEB91DB08733DB10010E9CD /* Release */ = {
172 | isa = XCBuildConfiguration;
173 | buildSettings = {
174 | ALWAYS_SEARCH_USER_PATHS = NO;
175 | CLANG_ENABLE_OBJC_WEAK = YES;
176 | COPY_PHASE_STRIP = NO;
177 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
178 | GCC_MODEL_TUNING = G5;
179 | INFOPLIST_FILE = Intel/Info.plist;
180 | MACOSX_DEPLOYMENT_TARGET = 10.6;
181 | PRODUCT_BUNDLE_IDENTIFIER = "org.voodoo.driver.${PRODUCT_NAME:rfc1034Identifier}";
182 | PRODUCT_NAME = VoodooTSCSync;
183 | WRAPPER_EXTENSION = kext;
184 | };
185 | name = Release;
186 | };
187 | 1DEB91DE08733DB10010E9CD /* Debug */ = {
188 | isa = XCBuildConfiguration;
189 | buildSettings = {
190 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
191 | CLANG_WARN_BOOL_CONVERSION = YES;
192 | CLANG_WARN_COMMA = YES;
193 | CLANG_WARN_CONSTANT_CONVERSION = YES;
194 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
195 | CLANG_WARN_EMPTY_BODY = YES;
196 | CLANG_WARN_ENUM_CONVERSION = YES;
197 | CLANG_WARN_INFINITE_RECURSION = YES;
198 | CLANG_WARN_INT_CONVERSION = YES;
199 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
200 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
201 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
202 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
203 | CLANG_WARN_STRICT_PROTOTYPES = YES;
204 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
205 | CLANG_WARN_UNREACHABLE_CODE = YES;
206 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
207 | ENABLE_STRICT_OBJC_MSGSEND = YES;
208 | ENABLE_TESTABILITY = YES;
209 | GCC_C_LANGUAGE_STANDARD = gnu99;
210 | GCC_NO_COMMON_BLOCKS = YES;
211 | GCC_OPTIMIZATION_LEVEL = 0;
212 | GCC_PREPROCESSOR_DEFINITIONS = (
213 | "DEBUG=1",
214 | "LOGNAME=\\\"${LOGNAME}\\\"",
215 | );
216 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
217 | GCC_WARN_ABOUT_RETURN_TYPE = YES;
218 | GCC_WARN_UNDECLARED_SELECTOR = YES;
219 | GCC_WARN_UNINITIALIZED_AUTOS = YES;
220 | GCC_WARN_UNUSED_FUNCTION = YES;
221 | GCC_WARN_UNUSED_VARIABLE = YES;
222 | MACOSX_DEPLOYMENT_TARGET = 10.6;
223 | MODULE_NAME = org.rehabman.driver.VoodooTSCSync;
224 | MODULE_VERSION = 1.5.0;
225 | ONLY_ACTIVE_ARCH = YES;
226 | PREBINDING = NO;
227 | SDKROOT = macosx;
228 | VALID_ARCHS = "i386 x86_64";
229 | };
230 | name = Debug;
231 | };
232 | 1DEB91DF08733DB10010E9CD /* Release */ = {
233 | isa = XCBuildConfiguration;
234 | buildSettings = {
235 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
236 | CLANG_WARN_BOOL_CONVERSION = YES;
237 | CLANG_WARN_COMMA = YES;
238 | CLANG_WARN_CONSTANT_CONVERSION = YES;
239 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
240 | CLANG_WARN_EMPTY_BODY = YES;
241 | CLANG_WARN_ENUM_CONVERSION = YES;
242 | CLANG_WARN_INFINITE_RECURSION = YES;
243 | CLANG_WARN_INT_CONVERSION = YES;
244 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
245 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
246 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
247 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
248 | CLANG_WARN_STRICT_PROTOTYPES = YES;
249 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
250 | CLANG_WARN_UNREACHABLE_CODE = YES;
251 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
252 | ENABLE_STRICT_OBJC_MSGSEND = YES;
253 | GCC_C_LANGUAGE_STANDARD = gnu99;
254 | GCC_NO_COMMON_BLOCKS = YES;
255 | GCC_PREPROCESSOR_DEFINITIONS = "LOGNAME=\\\"${LOGNAME}\\\"";
256 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
257 | GCC_WARN_ABOUT_RETURN_TYPE = YES;
258 | GCC_WARN_UNDECLARED_SELECTOR = YES;
259 | GCC_WARN_UNINITIALIZED_AUTOS = YES;
260 | GCC_WARN_UNUSED_FUNCTION = YES;
261 | GCC_WARN_UNUSED_VARIABLE = YES;
262 | MACOSX_DEPLOYMENT_TARGET = 10.6;
263 | MODULE_NAME = org.rehabman.driver.VoodooTSCSync;
264 | MODULE_VERSION = 1.5.0;
265 | ONLY_ACTIVE_ARCH = NO;
266 | PREBINDING = NO;
267 | SDKROOT = macosx;
268 | VALID_ARCHS = "i386 x86_64";
269 | };
270 | name = Release;
271 | };
272 | /* End XCBuildConfiguration section */
273 |
274 | /* Begin XCConfigurationList section */
275 | 1DEB91D908733DB10010E9CD /* Build configuration list for PBXNativeTarget "VoodooTSCSync" */ = {
276 | isa = XCConfigurationList;
277 | buildConfigurations = (
278 | 1DEB91DA08733DB10010E9CD /* Debug */,
279 | 1DEB91DB08733DB10010E9CD /* Release */,
280 | );
281 | defaultConfigurationIsVisible = 0;
282 | defaultConfigurationName = Release;
283 | };
284 | 1DEB91DD08733DB10010E9CD /* Build configuration list for PBXProject "VoodooTSCSync" */ = {
285 | isa = XCConfigurationList;
286 | buildConfigurations = (
287 | 1DEB91DE08733DB10010E9CD /* Debug */,
288 | 1DEB91DF08733DB10010E9CD /* Release */,
289 | );
290 | defaultConfigurationIsVisible = 0;
291 | defaultConfigurationName = Release;
292 | };
293 | /* End XCConfigurationList section */
294 | };
295 | rootObject = 089C1669FE841209C02AAC07 /* Project object */;
296 | }
297 |
--------------------------------------------------------------------------------
/VoodooTSCSync.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/VoodooTSCSync.xcodeproj/project.xcworkspace/xcuserdata/cmorton.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RehabMan/VoodooTSCSync/9e6c5e6a9b640b6f02f80fee4934ec56b57ec054/VoodooTSCSync.xcodeproj/project.xcworkspace/xcuserdata/cmorton.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/VoodooTSCSync.xcodeproj/xcuserdata/cmorton.xcuserdatad/xcschemes/VoodooTSCSync.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
14 |
20 |
21 |
22 |
23 |
24 |
29 |
30 |
31 |
32 |
41 |
42 |
43 |
44 |
50 |
51 |
53 |
54 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/VoodooTSCSync.xcodeproj/xcuserdata/cmorton.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | VoodooTSCSync.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | 32D94FC30562CBF700B6AF17
16 |
17 | primary
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/makefile:
--------------------------------------------------------------------------------
1 | KEXT=VoodooTSCSync.kext
2 | DIST=RehabMan-VoodooTSCSync
3 | BUILDDIR=./build
4 |
5 | VERSION_ERA=$(shell ./print_version.sh)
6 | ifeq "$(VERSION_ERA)" "10.10-"
7 | INSTDIR=/System/Library/Extensions
8 | else
9 | INSTDIR=/Library/Extensions
10 | endif
11 |
12 | .PHONY: all
13 | all: $(ALL)
14 | xcodebuild build $(OPTIONS) -configuration Debug
15 | xcodebuild build $(OPTIONS) -configuration Release
16 |
17 | .PHONY: clean
18 | clean:
19 | rm -f $(ALL)
20 | xcodebuild clean $(OPTIONS) -configuration Debug
21 | xcodebuild clean $(OPTIONS) -configuration Release
22 |
23 | .PHONY: update_kernelcache
24 | update_kernelcache:
25 | sudo touch /System/Library/Extensions
26 | sudo kextcache -update-volume /
27 |
28 | .PHONY: install_debug
29 | install_debug:
30 | sudo rm -Rf $(INSTDIR)/$(KEXT)
31 | sudo cp -R $(BUILDDIR)/Debug/$(KEXT) $(INSTDIR)
32 | if [ "`which tag`" != "" ]; then sudo tag -a Purple $(INSTDIR)/$(KEXT); fi
33 | make update_kernelcache
34 |
35 | .PHONY: install
36 | install:
37 | sudo rm -Rf $(INSTDIR)/$(KEXT)
38 | sudo cp -R $(BUILDDIR)/Release/$(KEXT) $(INSTDIR)
39 | if [ "`which tag`" != "" ]; then sudo tag -a Blue $(INSTDIR)/$(KEXT); fi
40 | make update_kernelcache
41 |
42 | .PHONY: distribute
43 | distribute:
44 | if [ -e ./Distribute ]; then rm -r ./Distribute; fi
45 | mkdir ./Distribute
46 | cp -R $(BUILDDIR)/Debug ./Distribute
47 | cp -R $(BUILDDIR)/Release ./Distribute
48 | cp README.md ./Distribute
49 | cp License.md ./Distribute
50 | find ./Distribute -path *.DS_Store -delete
51 | find ./Distribute -path *.dSYM -exec echo rm -r {} \; >/tmp/org.voodoo.rm.dsym.sh
52 | chmod +x /tmp/org.voodoo.rm.dsym.sh
53 | /tmp/org.voodoo.rm.dsym.sh
54 | rm /tmp/org.voodoo.rm.dsym.sh
55 | ditto -c -k --sequesterRsrc --zlibCompressionLevel 9 ./Distribute ./Archive.zip
56 | mv ./Archive.zip ./Distribute/`date +$(DIST)-%Y-%m%d.zip`
57 |
58 |
--------------------------------------------------------------------------------
/print_version.sh:
--------------------------------------------------------------------------------
1 | #set -x
2 |
3 | # extract minor version (eg. 10.9 vs. 10.10 vs. 10.11)
4 | MINOR_VER=$([[ "$(sw_vers -productVersion)" =~ [0-9]+\.([0-9]+) ]] && echo ${BASH_REMATCH[1]})
5 | if [[ $MINOR_VER -ge 11 ]]; then
6 | echo 10.11+
7 | else
8 | echo 10.10-
9 | fi
10 |
--------------------------------------------------------------------------------