diff --git a/Purei.xcodeproj/jpd001.mode1v3 b/Purei.xcodeproj/jpd001.mode1v3
index 0c93bb37..31ade729 100644
--- a/Purei.xcodeproj/jpd001.mode1v3
+++ b/Purei.xcodeproj/jpd001.mode1v3
@@ -197,48 +197,7 @@
Notifications
OpenEditors
-
-
- Content
-
- PBXProjectModuleGUID
- 7E47E3120D6DE90C003F7AC1
- PBXProjectModuleLabel
- Lesson34Controller.h
- PBXSplitModuleInNavigatorKey
-
- Split0
-
- PBXProjectModuleGUID
- 7E47E3130D6DE90C003F7AC1
- PBXProjectModuleLabel
- Lesson34Controller.h
- _historyCapacity
- 0
- bookmark
- 7E47E3510D6DEB38003F7AC1
- history
-
- 7E47E3140D6DE90C003F7AC1
-
-
- SplitCount
- 1
-
- StatusBarVisibility
-
-
- Geometry
-
- Frame
- {{0, 20}, {1129, 580}}
- PBXModuleWindowStatusBarHidden2
-
- RubberWindowFrame
- 15 152 1129 621 0 0 1280 778
-
-
-
+
PerspectiveWidths
-1
@@ -308,19 +267,20 @@
PBXSmartGroupTreeModuleOutlineStateExpansionKey
29B97314FDCFA39411CA2CEA
- 080E96DDFE201D6D7F000001
+ 7E8987060D08B4480077F9ED
1C37FAAC04509CD000000102
1CC0EA4004350EF90041110B
PBXSmartGroupTreeModuleOutlineStateSelectionKey
- 11
+ 20
+ 10
0
PBXSmartGroupTreeModuleOutlineStateVisibleRectKey
- {{0, 228}, {186, 571}}
+ {{0, 2121}, {186, 571}}
PBXTopSmartGroupGIDs
@@ -357,7 +317,7 @@
PBXProjectModuleGUID
1CE0B20306471E060097A5F4
PBXProjectModuleLabel
- MainWindow.mm
+ CodeGen_MD.cpp
PBXSplitModuleInNavigatorKey
Split0
@@ -365,15 +325,14 @@
PBXProjectModuleGUID
1CE0B20406471E060097A5F4
PBXProjectModuleLabel
- MainWindow.mm
+ CodeGen_MD.cpp
_historyCapacity
0
bookmark
- 7E47E3500D6DEB38003F7AC1
+ 7E224E2D0D77A8A6000FAD0C
history
7EE1BCFD0D4D895300B502BD
- 7EE362DF0D60753D00C21032
7E9178490D64F5C00025E2C0
7E91784A0D64F5C00025E2C0
7E19A9A30D6C8A2D00B0C6A6
@@ -392,7 +351,11 @@
7E47E32E0D6DEAF2003F7AC1
7E47E32F0D6DEAF2003F7AC1
7E47E34C0D6DEB38003F7AC1
- 7E47E34D0D6DEB38003F7AC1
+ 7E224DFF0D77A2B9000FAD0C
+ 7E224E110D77A6D4000FAD0C
+ 7E224E120D77A6D4000FAD0C
+ 7E224E2B0D77A8A6000FAD0C
+ 7E224E270D77A807000FAD0C
prevStack
@@ -411,44 +374,18 @@
7E19A9C80D6C8BC900B0C6A6
7ED0A4F40D6D28A1008D30EA
7E47E3040D6DE90C003F7AC1
- 7E47E3050D6DE90C003F7AC1
- 7E47E3060D6DE90C003F7AC1
- 7E47E3070D6DE90C003F7AC1
- 7E47E3080D6DE90C003F7AC1
7E47E3090D6DE90C003F7AC1
- 7E47E30A0D6DE90C003F7AC1
- 7E47E30B0D6DE90C003F7AC1
7E47E30C0D6DE90C003F7AC1
- 7E47E30D0D6DE90C003F7AC1
- 7E47E30E0D6DE90C003F7AC1
- 7E47E30F0D6DE90C003F7AC1
- 7E47E3100D6DE90C003F7AC1
- 7E47E31A0D6DE93C003F7AC1
- 7E47E3320D6DEAF2003F7AC1
7E47E3330D6DEAF2003F7AC1
- 7E47E3340D6DEAF2003F7AC1
- 7E47E3350D6DEAF2003F7AC1
- 7E47E3360D6DEAF2003F7AC1
7E47E3370D6DEAF2003F7AC1
- 7E47E3380D6DEAF2003F7AC1
- 7E47E3390D6DEAF2003F7AC1
- 7E47E33A0D6DEAF2003F7AC1
- 7E47E33B0D6DEAF2003F7AC1
- 7E47E33C0D6DEAF2003F7AC1
- 7E47E33D0D6DEAF2003F7AC1
7E47E33E0D6DEAF2003F7AC1
- 7E47E33F0D6DEAF2003F7AC1
7E47E3400D6DEAF2003F7AC1
- 7E47E3410D6DEAF2003F7AC1
- 7E47E3420D6DEAF2003F7AC1
- 7E47E3430D6DEAF2003F7AC1
- 7E47E3440D6DEAF2003F7AC1
- 7E47E3450D6DEAF2003F7AC1
- 7E47E3460D6DEAF2003F7AC1
- 7E47E3470D6DEAF2003F7AC1
- 7E47E3480D6DEAF2003F7AC1
- 7E47E34E0D6DEB38003F7AC1
- 7E47E34F0D6DEB38003F7AC1
+ 7E224E000D77A2B9000FAD0C
+ 7E224E140D77A6D4000FAD0C
+ 7E224E150D77A6D4000FAD0C
+ 7E224E160D77A6D4000FAD0C
+ 7E224E280D77A807000FAD0C
+ 7E224E2C0D77A8A6000FAD0C
SplitCount
@@ -506,9 +443,9 @@
TableOfContents
- 7E47E2EE0D6DDDEB003F7AC1
+ 7E224E020D77A2B9000FAD0C
1CE0B1FE06471DED0097A5F4
- 7E47E2EF0D6DDDEB003F7AC1
+ 7E224E030D77A2B9000FAD0C
1CE0B20306471E060097A5F4
1CE0B20506471E060097A5F4
@@ -642,13 +579,12 @@
5
WindowOrderList
- 7E47E31E0D6DE93C003F7AC1
- 7E47E31F0D6DE93C003F7AC1
- 7E47E3200D6DE93C003F7AC1
- 1C78EAAD065D492600B07095
+ 7E224E190D77A6D4000FAD0C
+ 7E224E1A0D77A6D4000FAD0C
+ 7E224E1B0D77A6D4000FAD0C
7E8986E20D08A40C0077F9ED
+ 1C78EAAD065D492600B07095
1CD10A99069EF8BA00B06720
- 7E47E3120D6DE90C003F7AC1
/Users/jpd001/Projects/Purei/Purei.xcodeproj
WindowString
@@ -668,12 +604,14 @@
Dock
+ BecomeActive
+
ContentConfiguration
PBXProjectModuleGUID
1CD0528F0623707200166675
PBXProjectModuleLabel
-
+ CodeGen_MD.cpp
StatusBarVisibility
@@ -729,7 +667,7 @@
TableOfContents
7E8986E20D08A40C0077F9ED
- 7E47E3180D6DE90C003F7AC1
+ 7E224DF80D77A2B7000FAD0C
1CD0528F0623707200166675
XCMainBuildResultsModuleGUID
@@ -849,13 +787,13 @@
TableOfContents
1CD10A99069EF8BA00B06720
- 7E47E2F00D6DDDEB003F7AC1
+ 7E224DF90D77A2B7000FAD0C
1C162984064C10D400B95A72
- 7E47E2F10D6DDDEB003F7AC1
- 7E47E2F20D6DDDEB003F7AC1
- 7E47E2F30D6DDDEB003F7AC1
- 7E47E2F40D6DDDEB003F7AC1
- 7E47E2F50D6DDDEB003F7AC1
+ 7E224DFA0D77A2B7000FAD0C
+ 7E224DFB0D77A2B7000FAD0C
+ 7E224DFC0D77A2B7000FAD0C
+ 7E224DFD0D77A2B7000FAD0C
+ 7E224DFE0D77A2B7000FAD0C
ToolbarConfiguration
xcode.toolbar.config.debugV3
@@ -982,6 +920,8 @@
Dock
+ BecomeActive
+
ContentConfiguration
PBXProjectModuleGUID
@@ -1017,7 +957,7 @@
TableOfContents
1C78EAAD065D492600B07095
- 7E47E31D0D6DE93C003F7AC1
+ 7E224E180D77A6D4000FAD0C
1C78EAAC065D492600B07095
ToolbarConfiguration
@@ -1027,7 +967,7 @@
WindowToolGUID
1C78EAAD065D492600B07095
WindowToolIsVisible
-
+
Identifier
diff --git a/Purei.xcodeproj/jpd001.pbxuser b/Purei.xcodeproj/jpd001.pbxuser
index 7b0ec0f2..6d8c8f50 100644
--- a/Purei.xcodeproj/jpd001.pbxuser
+++ b/Purei.xcodeproj/jpd001.pbxuser
@@ -89,11 +89,10 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 225303857;
- PBXWorkspaceStateSaveDate = 225303857;
+ PBXPerProjectTemplateStateSaveDate = 225943925;
+ PBXWorkspaceStateSaveDate = 225943925;
};
perUserProjectItems = {
- 7E19A9A20D6C8A2D00B0C6A6 = 7E19A9A20D6C8A2D00B0C6A6 /* PBXTextBookmark */;
7E19A9A30D6C8A2D00B0C6A6 = 7E19A9A30D6C8A2D00B0C6A6 /* PBXTextBookmark */;
7E19A9A40D6C8A2D00B0C6A6 = 7E19A9A40D6C8A2D00B0C6A6 /* PBXTextBookmark */;
7E19A9A50D6C8A2D00B0C6A6 = 7E19A9A50D6C8A2D00B0C6A6 /* PBXTextBookmark */;
@@ -103,89 +102,67 @@
7E19A9C10D6C8B6F00B0C6A6 = 7E19A9C10D6C8B6F00B0C6A6 /* PBXTextBookmark */;
7E19A9C70D6C8BC900B0C6A6 = 7E19A9C70D6C8BC900B0C6A6 /* PBXTextBookmark */;
7E19A9C80D6C8BC900B0C6A6 = 7E19A9C80D6C8BC900B0C6A6 /* PBXTextBookmark */;
- 7E47E2ED0D6DDDEB003F7AC1 /* PBXTextBookmark */ = 7E47E2ED0D6DDDEB003F7AC1 /* PBXTextBookmark */;
- 7E47E2FD0D6DE90C003F7AC1 /* PBXTextBookmark */ = 7E47E2FD0D6DE90C003F7AC1 /* PBXTextBookmark */;
- 7E47E2FE0D6DE90C003F7AC1 /* PBXTextBookmark */ = 7E47E2FE0D6DE90C003F7AC1 /* PBXTextBookmark */;
- 7E47E2FF0D6DE90C003F7AC1 /* PBXTextBookmark */ = 7E47E2FF0D6DE90C003F7AC1 /* PBXTextBookmark */;
- 7E47E3000D6DE90C003F7AC1 /* PBXTextBookmark */ = 7E47E3000D6DE90C003F7AC1 /* PBXTextBookmark */;
- 7E47E3010D6DE90C003F7AC1 /* PBXTextBookmark */ = 7E47E3010D6DE90C003F7AC1 /* PBXTextBookmark */;
- 7E47E3020D6DE90C003F7AC1 /* PBXTextBookmark */ = 7E47E3020D6DE90C003F7AC1 /* PBXTextBookmark */;
- 7E47E3030D6DE90C003F7AC1 /* PBXTextBookmark */ = 7E47E3030D6DE90C003F7AC1 /* PBXTextBookmark */;
- 7E47E3040D6DE90C003F7AC1 /* PBXTextBookmark */ = 7E47E3040D6DE90C003F7AC1 /* PBXTextBookmark */;
- 7E47E3050D6DE90C003F7AC1 /* PBXTextBookmark */ = 7E47E3050D6DE90C003F7AC1 /* PBXTextBookmark */;
- 7E47E3060D6DE90C003F7AC1 /* PBXTextBookmark */ = 7E47E3060D6DE90C003F7AC1 /* PBXTextBookmark */;
- 7E47E3070D6DE90C003F7AC1 /* PBXTextBookmark */ = 7E47E3070D6DE90C003F7AC1 /* PBXTextBookmark */;
- 7E47E3080D6DE90C003F7AC1 /* PBXTextBookmark */ = 7E47E3080D6DE90C003F7AC1 /* PBXTextBookmark */;
- 7E47E3090D6DE90C003F7AC1 /* PBXTextBookmark */ = 7E47E3090D6DE90C003F7AC1 /* PBXTextBookmark */;
- 7E47E30A0D6DE90C003F7AC1 /* PBXTextBookmark */ = 7E47E30A0D6DE90C003F7AC1 /* PBXTextBookmark */;
- 7E47E30B0D6DE90C003F7AC1 /* PBXTextBookmark */ = 7E47E30B0D6DE90C003F7AC1 /* PBXTextBookmark */;
- 7E47E30C0D6DE90C003F7AC1 /* PBXTextBookmark */ = 7E47E30C0D6DE90C003F7AC1 /* PBXTextBookmark */;
- 7E47E30D0D6DE90C003F7AC1 /* PBXTextBookmark */ = 7E47E30D0D6DE90C003F7AC1 /* PBXTextBookmark */;
- 7E47E30E0D6DE90C003F7AC1 /* PBXTextBookmark */ = 7E47E30E0D6DE90C003F7AC1 /* PBXTextBookmark */;
- 7E47E30F0D6DE90C003F7AC1 /* PBXTextBookmark */ = 7E47E30F0D6DE90C003F7AC1 /* PBXTextBookmark */;
- 7E47E3100D6DE90C003F7AC1 /* PBXTextBookmark */ = 7E47E3100D6DE90C003F7AC1 /* PBXTextBookmark */;
- 7E47E3110D6DE90C003F7AC1 /* PBXTextBookmark */ = 7E47E3110D6DE90C003F7AC1 /* PBXTextBookmark */;
- 7E47E3140D6DE90C003F7AC1 /* PBXTextBookmark */ = 7E47E3140D6DE90C003F7AC1 /* PBXTextBookmark */;
- 7E47E3160D6DE90C003F7AC1 /* PBXTextBookmark */ = 7E47E3160D6DE90C003F7AC1 /* PBXTextBookmark */;
- 7E47E3190D6DE93C003F7AC1 /* PBXTextBookmark */ = 7E47E3190D6DE93C003F7AC1 /* PBXTextBookmark */;
- 7E47E31A0D6DE93C003F7AC1 /* PBXTextBookmark */ = 7E47E31A0D6DE93C003F7AC1 /* PBXTextBookmark */;
- 7E47E31B0D6DE93C003F7AC1 /* PBXTextBookmark */ = 7E47E31B0D6DE93C003F7AC1 /* PBXTextBookmark */;
- 7E47E31C0D6DE93C003F7AC1 /* PBXTextBookmark */ = 7E47E31C0D6DE93C003F7AC1 /* PBXTextBookmark */;
- 7E47E3290D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E3290D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E32A0D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E32A0D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E32B0D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E32B0D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E32C0D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E32C0D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E32D0D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E32D0D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E32E0D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E32E0D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E32F0D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E32F0D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E3300D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E3300D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E3310D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E3310D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E3320D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E3320D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E3330D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E3330D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E3340D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E3340D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E3350D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E3350D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E3360D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E3360D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E3370D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E3370D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E3380D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E3380D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E3390D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E3390D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E33A0D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E33A0D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E33B0D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E33B0D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E33C0D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E33C0D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E33D0D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E33D0D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E33E0D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E33E0D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E33F0D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E33F0D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E3400D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E3400D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E3410D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E3410D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E3420D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E3420D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E3430D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E3430D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E3440D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E3440D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E3450D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E3450D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E3460D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E3460D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E3470D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E3470D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E3480D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E3480D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E3490D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E3490D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E34A0D6DEAF2003F7AC1 /* PBXTextBookmark */ = 7E47E34A0D6DEAF2003F7AC1 /* PBXTextBookmark */;
- 7E47E34C0D6DEB38003F7AC1 /* PBXTextBookmark */ = 7E47E34C0D6DEB38003F7AC1 /* PBXTextBookmark */;
- 7E47E34D0D6DEB38003F7AC1 /* PBXTextBookmark */ = 7E47E34D0D6DEB38003F7AC1 /* PBXTextBookmark */;
- 7E47E34E0D6DEB38003F7AC1 /* PBXTextBookmark */ = 7E47E34E0D6DEB38003F7AC1 /* PBXTextBookmark */;
- 7E47E34F0D6DEB38003F7AC1 /* PBXTextBookmark */ = 7E47E34F0D6DEB38003F7AC1 /* PBXTextBookmark */;
- 7E47E3500D6DEB38003F7AC1 /* PBXTextBookmark */ = 7E47E3500D6DEB38003F7AC1 /* PBXTextBookmark */;
- 7E47E3510D6DEB38003F7AC1 /* PBXTextBookmark */ = 7E47E3510D6DEB38003F7AC1 /* PBXTextBookmark */;
- 7E9178480D64F5C00025E2C0 = 7E9178480D64F5C00025E2C0 /* PBXTextBookmark */;
+ 7E224DF60D77A2B7000FAD0C /* PBXTextBookmark */ = 7E224DF60D77A2B7000FAD0C /* PBXTextBookmark */;
+ 7E224DF70D77A2B7000FAD0C /* PBXTextBookmark */ = 7E224DF70D77A2B7000FAD0C /* PBXTextBookmark */;
+ 7E224DFF0D77A2B9000FAD0C /* PBXTextBookmark */ = 7E224DFF0D77A2B9000FAD0C /* PBXTextBookmark */;
+ 7E224E000D77A2B9000FAD0C /* PBXTextBookmark */ = 7E224E000D77A2B9000FAD0C /* PBXTextBookmark */;
+ 7E224E010D77A2B9000FAD0C /* PBXTextBookmark */ = 7E224E010D77A2B9000FAD0C /* PBXTextBookmark */;
+ 7E224E050D77A335000FAD0C /* PBXTextBookmark */ = 7E224E050D77A335000FAD0C /* PBXTextBookmark */;
+ 7E224E060D77A335000FAD0C /* PBXTextBookmark */ = 7E224E060D77A335000FAD0C /* PBXTextBookmark */;
+ 7E224E070D77A335000FAD0C /* PBXTextBookmark */ = 7E224E070D77A335000FAD0C /* PBXTextBookmark */;
+ 7E224E080D77A335000FAD0C /* PBXTextBookmark */ = 7E224E080D77A335000FAD0C /* PBXTextBookmark */;
+ 7E224E090D77A335000FAD0C /* PBXTextBookmark */ = 7E224E090D77A335000FAD0C /* PBXTextBookmark */;
+ 7E224E0A0D77A335000FAD0C /* PBXTextBookmark */ = 7E224E0A0D77A335000FAD0C /* PBXTextBookmark */;
+ 7E224E0B0D77A335000FAD0C /* PBXTextBookmark */ = 7E224E0B0D77A335000FAD0C /* PBXTextBookmark */;
+ 7E224E100D77A6D4000FAD0C /* PBXTextBookmark */ = 7E224E100D77A6D4000FAD0C /* PBXTextBookmark */;
+ 7E224E110D77A6D4000FAD0C /* PBXTextBookmark */ = 7E224E110D77A6D4000FAD0C /* PBXTextBookmark */;
+ 7E224E120D77A6D4000FAD0C /* PBXTextBookmark */ = 7E224E120D77A6D4000FAD0C /* PBXTextBookmark */;
+ 7E224E130D77A6D4000FAD0C /* PBXTextBookmark */ = 7E224E130D77A6D4000FAD0C /* PBXTextBookmark */;
+ 7E224E140D77A6D4000FAD0C /* PBXTextBookmark */ = 7E224E140D77A6D4000FAD0C /* PBXTextBookmark */;
+ 7E224E150D77A6D4000FAD0C /* PBXTextBookmark */ = 7E224E150D77A6D4000FAD0C /* PBXTextBookmark */;
+ 7E224E160D77A6D4000FAD0C /* PBXTextBookmark */ = 7E224E160D77A6D4000FAD0C /* PBXTextBookmark */;
+ 7E224E170D77A6D4000FAD0C /* PBXTextBookmark */ = 7E224E170D77A6D4000FAD0C /* PBXTextBookmark */;
+ 7E224E1F0D77A79E000FAD0C /* PBXTextBookmark */ = 7E224E1F0D77A79E000FAD0C /* PBXTextBookmark */;
+ 7E224E200D77A79E000FAD0C /* PBXTextBookmark */ = 7E224E200D77A79E000FAD0C /* PBXTextBookmark */;
+ 7E224E210D77A79E000FAD0C /* PBXTextBookmark */ = 7E224E210D77A79E000FAD0C /* PBXTextBookmark */;
+ 7E224E220D77A79E000FAD0C /* PBXTextBookmark */ = 7E224E220D77A79E000FAD0C /* PBXTextBookmark */;
+ 7E224E250D77A7CE000FAD0C /* PBXTextBookmark */ = 7E224E250D77A7CE000FAD0C /* PBXTextBookmark */;
+ 7E224E270D77A807000FAD0C /* PBXTextBookmark */ = 7E224E270D77A807000FAD0C /* PBXTextBookmark */;
+ 7E224E280D77A807000FAD0C /* PBXTextBookmark */ = 7E224E280D77A807000FAD0C /* PBXTextBookmark */;
+ 7E224E290D77A807000FAD0C /* PBXTextBookmark */ = 7E224E290D77A807000FAD0C /* PBXTextBookmark */;
+ 7E224E2B0D77A8A6000FAD0C /* PBXTextBookmark */ = 7E224E2B0D77A8A6000FAD0C /* PBXTextBookmark */;
+ 7E224E2C0D77A8A6000FAD0C /* PBXTextBookmark */ = 7E224E2C0D77A8A6000FAD0C /* PBXTextBookmark */;
+ 7E224E2D0D77A8A6000FAD0C /* PBXTextBookmark */ = 7E224E2D0D77A8A6000FAD0C /* PBXTextBookmark */;
+ 7E47E2FD0D6DE90C003F7AC1 = 7E47E2FD0D6DE90C003F7AC1 /* PBXTextBookmark */;
+ 7E47E3040D6DE90C003F7AC1 = 7E47E3040D6DE90C003F7AC1 /* PBXTextBookmark */;
+ 7E47E3090D6DE90C003F7AC1 = 7E47E3090D6DE90C003F7AC1 /* PBXTextBookmark */;
+ 7E47E30C0D6DE90C003F7AC1 = 7E47E30C0D6DE90C003F7AC1 /* PBXTextBookmark */;
+ 7E47E3190D6DE93C003F7AC1 = 7E47E3190D6DE93C003F7AC1 /* PBXTextBookmark */;
+ 7E47E3290D6DEAF2003F7AC1 = 7E47E3290D6DEAF2003F7AC1 /* PBXTextBookmark */;
+ 7E47E32A0D6DEAF2003F7AC1 = 7E47E32A0D6DEAF2003F7AC1 /* PBXTextBookmark */;
+ 7E47E32B0D6DEAF2003F7AC1 = 7E47E32B0D6DEAF2003F7AC1 /* PBXTextBookmark */;
+ 7E47E32C0D6DEAF2003F7AC1 = 7E47E32C0D6DEAF2003F7AC1 /* PBXTextBookmark */;
+ 7E47E32D0D6DEAF2003F7AC1 = 7E47E32D0D6DEAF2003F7AC1 /* PBXTextBookmark */;
+ 7E47E32E0D6DEAF2003F7AC1 = 7E47E32E0D6DEAF2003F7AC1 /* PBXTextBookmark */;
+ 7E47E32F0D6DEAF2003F7AC1 = 7E47E32F0D6DEAF2003F7AC1 /* PBXTextBookmark */;
+ 7E47E3330D6DEAF2003F7AC1 = 7E47E3330D6DEAF2003F7AC1 /* PBXTextBookmark */;
+ 7E47E3370D6DEAF2003F7AC1 = 7E47E3370D6DEAF2003F7AC1 /* PBXTextBookmark */;
+ 7E47E33E0D6DEAF2003F7AC1 = 7E47E33E0D6DEAF2003F7AC1 /* PBXTextBookmark */;
+ 7E47E3400D6DEAF2003F7AC1 = 7E47E3400D6DEAF2003F7AC1 /* PBXTextBookmark */;
+ 7E47E34C0D6DEB38003F7AC1 = 7E47E34C0D6DEB38003F7AC1 /* PBXTextBookmark */;
7E9178490D64F5C00025E2C0 = 7E9178490D64F5C00025E2C0 /* PBXTextBookmark */;
7E91784A0D64F5C00025E2C0 = 7E91784A0D64F5C00025E2C0 /* PBXTextBookmark */;
- 7E91784B0D64F5C00025E2C0 = 7E91784B0D64F5C00025E2C0 /* PBXTextBookmark */;
7E91784C0D64F5C00025E2C0 = 7E91784C0D64F5C00025E2C0 /* PBXTextBookmark */;
7E91784D0D64F5C00025E2C0 = 7E91784D0D64F5C00025E2C0 /* PBXTextBookmark */;
7E91784E0D64F5C00025E2C0 = 7E91784E0D64F5C00025E2C0 /* PBXTextBookmark */;
7E91784F0D64F5C00025E2C0 = 7E91784F0D64F5C00025E2C0 /* PBXTextBookmark */;
+ 7EAC23570D6EF82700A3624F = 7EAC23570D6EF82700A3624F /* PBXTextBookmark */;
+ 7EAC23580D6EF82700A3624F = 7EAC23580D6EF82700A3624F /* PBXTextBookmark */;
+ 7EC6220C0D709231008B28C1 = 7EC6220C0D709231008B28C1 /* PBXTextBookmark */;
+ 7EC6220F0D709231008B28C1 = 7EC6220F0D709231008B28C1 /* PBXTextBookmark */;
7ED0A4F00D6D28A1008D30EA = 7ED0A4F00D6D28A1008D30EA /* PBXTextBookmark */;
7ED0A4F10D6D28A1008D30EA = 7ED0A4F10D6D28A1008D30EA /* PBXTextBookmark */;
- 7ED0A4F20D6D28A1008D30EA = 7ED0A4F20D6D28A1008D30EA /* PBXBookmark */;
- 7ED0A4F30D6D28A1008D30EA = 7ED0A4F30D6D28A1008D30EA /* PBXTextBookmark */;
7ED0A4F40D6D28A1008D30EA = 7ED0A4F40D6D28A1008D30EA /* PBXTextBookmark */;
- 7ED0A4F50D6D28A1008D30EA = 7ED0A4F50D6D28A1008D30EA /* PBXTextBookmark */;
- 7EE1BCB00D4D522900B502BD = 7EE1BCB00D4D522900B502BD /* PBXTextBookmark */;
7EE1BCB30D4D522900B502BD = 7EE1BCB30D4D522900B502BD /* PBXTextBookmark */;
7EE1BCB80D4D522900B502BD = 7EE1BCB80D4D522900B502BD /* PBXTextBookmark */;
7EE1BCB90D4D522900B502BD = 7EE1BCB90D4D522900B502BD /* PBXTextBookmark */;
@@ -205,16 +182,6 @@
sepNavWindowFrame = "{{15, 96}, {1129, 677}}";
};
};
- 7E19A9A20D6C8A2D00B0C6A6 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E947B2F0D0A063200A2AE15 /* ApplicationDelegate.mm */;
- name = "ApplicationDelegate.mm: 12";
- rLen = 0;
- rLoc = 258;
- rType = 0;
- vrLen = 879;
- vrLoc = 150;
- };
7E19A9A30D6C8A2D00B0C6A6 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 7E19A9970D6C887D00B0C6A6 /* patches.xml */;
@@ -312,15 +279,313 @@
vrLen = 1774;
vrLoc = 13141;
};
- 7E47E2ED0D6DDDEB003F7AC1 /* PBXTextBookmark */ = {
+ 7E224DF60D77A2B7000FAD0C /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 7E8987B60D08BD090077F9ED /* CodeGen.cpp */;
- name = "CodeGen.cpp: 1691";
+ comments = "error: 'SIZE_MAX' was not declared in this scope";
+ fRef = 7E89883E0D08BD090077F9ED /* VUShared.cpp */;
+ rLen = 1;
+ rLoc = 0;
+ rType = 1;
+ };
+ 7E224DF70D77A2B7000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E89883E0D08BD090077F9ED /* VUShared.cpp */;
+ name = "VUShared.cpp: 3";
rLen = 0;
- rLoc = 39729;
+ rLoc = 64;
rType = 0;
- vrLen = 703;
- vrLoc = 39127;
+ vrLen = 509;
+ vrLoc = 0;
+ };
+ 7E224DFF0D77A2B9000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E47E3220D6DEA15003F7AC1 /* MainWindow.mm */;
+ name = "MainWindow.mm: 13";
+ rLen = 0;
+ rLoc = 138;
+ rType = 0;
+ vrLen = 145;
+ vrLoc = 0;
+ };
+ 7E224E000D77A2B9000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E47E3220D6DEA15003F7AC1 /* MainWindow.mm */;
+ name = "MainWindow.mm: 13";
+ rLen = 0;
+ rLoc = 138;
+ rType = 0;
+ vrLen = 145;
+ vrLoc = 0;
+ };
+ 7E224E010D77A2B9000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E89883E0D08BD090077F9ED /* VUShared.cpp */;
+ name = "VUShared.cpp: 81";
+ rLen = 66;
+ rLoc = 1716;
+ rType = 0;
+ vrLen = 968;
+ vrLoc = 1362;
+ };
+ 7E224E050D77A335000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E9E4F850D4531BE003321D8 /* CodeGen_MD.cpp */;
+ name = "CodeGen_MD.cpp: 7";
+ rLen = 0;
+ rLoc = 62;
+ rType = 0;
+ vrLen = 450;
+ vrLoc = 0;
+ };
+ 7E224E060D77A335000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E89883E0D08BD090077F9ED /* VUShared.cpp */;
+ name = "VUShared.cpp: 6";
+ rLen = 0;
+ rLoc = 119;
+ rType = 0;
+ vrLen = 509;
+ vrLoc = 0;
+ };
+ 7E224E070D77A335000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E89883E0D08BD090077F9ED /* VUShared.cpp */;
+ name = "VUShared.cpp: 3";
+ rLen = 0;
+ rLoc = 64;
+ rType = 0;
+ vrLen = 509;
+ vrLoc = 0;
+ };
+ 7E224E080D77A335000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E9E4F850D4531BE003321D8 /* CodeGen_MD.cpp */;
+ name = "CodeGen_MD.cpp: 74";
+ rLen = 36;
+ rLoc = 2004;
+ rType = 0;
+ vrLen = 538;
+ vrLoc = 0;
+ };
+ 7E224E090D77A335000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E89883E0D08BD090077F9ED /* VUShared.cpp */;
+ name = "VUShared.cpp: 6";
+ rLen = 0;
+ rLoc = 119;
+ rType = 0;
+ vrLen = 509;
+ vrLoc = 0;
+ };
+ 7E224E0A0D77A335000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E9E4F850D4531BE003321D8 /* CodeGen_MD.cpp */;
+ name = "CodeGen_MD.cpp: 7";
+ rLen = 0;
+ rLoc = 62;
+ rType = 0;
+ vrLen = 450;
+ vrLoc = 0;
+ };
+ 7E224E0B0D77A335000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E89883E0D08BD090077F9ED /* VUShared.cpp */;
+ name = "VUShared.cpp: 10";
+ rLen = 0;
+ rLoc = 119;
+ rType = 0;
+ vrLen = 501;
+ vrLoc = 0;
+ };
+ 7E224E100D77A6D4000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E89883E0D08BD090077F9ED /* VUShared.cpp */;
+ name = "VUShared.cpp: 82";
+ rLen = 66;
+ rLoc = 1716;
+ rType = 0;
+ vrLen = 968;
+ vrLoc = 1363;
+ };
+ 7E224E110D77A6D4000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7EE1BC870D4D4F8F00B502BD /* PH_HidMacOSX.cpp */;
+ name = "PH_HidMacOSX.cpp: 38";
+ rLen = 0;
+ rLoc = 1147;
+ rType = 0;
+ vrLen = 830;
+ vrLoc = 745;
+ };
+ 7E224E120D77A6D4000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E8988100D08BD090077F9ED /* MIPS.h */;
+ name = "MIPS.h: 39";
+ rLen = 0;
+ rLoc = 607;
+ rType = 0;
+ vrLen = 487;
+ vrLoc = 17;
+ };
+ 7E224E130D77A6D4000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E9E4F850D4531BE003321D8 /* CodeGen_MD.cpp */;
+ name = "CodeGen_MD.cpp: 8";
+ rLen = 0;
+ rLoc = 62;
+ rType = 0;
+ vrLen = 683;
+ vrLoc = 0;
+ };
+ 7E224E140D77A6D4000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E89883E0D08BD090077F9ED /* VUShared.cpp */;
+ name = "VUShared.cpp: 82";
+ rLen = 66;
+ rLoc = 1716;
+ rType = 0;
+ vrLen = 968;
+ vrLoc = 1363;
+ };
+ 7E224E150D77A6D4000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7EE1BC870D4D4F8F00B502BD /* PH_HidMacOSX.cpp */;
+ name = "PH_HidMacOSX.cpp: 38";
+ rLen = 0;
+ rLoc = 1147;
+ rType = 0;
+ vrLen = 830;
+ vrLoc = 745;
+ };
+ 7E224E160D77A6D4000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E8988100D08BD090077F9ED /* MIPS.h */;
+ name = "MIPS.h: 39";
+ rLen = 0;
+ rLoc = 607;
+ rType = 0;
+ vrLen = 487;
+ vrLoc = 17;
+ };
+ 7E224E170D77A6D4000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E9E4F850D4531BE003321D8 /* CodeGen_MD.cpp */;
+ name = "CodeGen_MD.cpp: 7";
+ rLen = 0;
+ rLoc = 55;
+ rType = 0;
+ vrLen = 629;
+ vrLoc = 0;
+ };
+ 7E224E1F0D77A79E000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E89883E0D08BD090077F9ED /* VUShared.cpp */;
+ name = "VUShared.cpp: 10";
+ rLen = 0;
+ rLoc = 119;
+ rType = 0;
+ vrLen = 501;
+ vrLoc = 0;
+ };
+ 7E224E200D77A79E000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E9E4F850D4531BE003321D8 /* CodeGen_MD.cpp */;
+ name = "CodeGen_MD.cpp: 3";
+ rLen = 0;
+ rLoc = 55;
+ rType = 0;
+ vrLen = 451;
+ vrLoc = 0;
+ };
+ 7E224E210D77A79E000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E89883E0D08BD090077F9ED /* VUShared.cpp */;
+ name = "VUShared.cpp: 10";
+ rLen = 0;
+ rLoc = 119;
+ rType = 0;
+ vrLen = 501;
+ vrLoc = 0;
+ };
+ 7E224E220D77A79E000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E9E4F850D4531BE003321D8 /* CodeGen_MD.cpp */;
+ name = "CodeGen_MD.cpp: 1";
+ rLen = 0;
+ rLoc = 0;
+ rType = 0;
+ vrLen = 458;
+ vrLoc = 0;
+ };
+ 7E224E250D77A7CE000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E9E4F850D4531BE003321D8 /* CodeGen_MD.cpp */;
+ name = "CodeGen_MD.cpp: 3";
+ rLen = 0;
+ rLoc = 55;
+ rType = 0;
+ vrLen = 745;
+ vrLoc = 0;
+ };
+ 7E224E270D77A807000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E9E4F850D4531BE003321D8 /* CodeGen_MD.cpp */;
+ name = "CodeGen_MD.cpp: 3";
+ rLen = 0;
+ rLoc = 55;
+ rType = 0;
+ vrLen = 745;
+ vrLoc = 0;
+ };
+ 7E224E280D77A807000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E9E4F850D4531BE003321D8 /* CodeGen_MD.cpp */;
+ name = "CodeGen_MD.cpp: 3";
+ rLen = 0;
+ rLoc = 55;
+ rType = 0;
+ vrLen = 745;
+ vrLoc = 0;
+ };
+ 7E224E290D77A807000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E89883E0D08BD090077F9ED /* VUShared.cpp */;
+ name = "VUShared.cpp: 20";
+ rLen = 0;
+ rLoc = 441;
+ rType = 0;
+ vrLen = 669;
+ vrLoc = 0;
+ };
+ 7E224E2B0D77A8A6000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E89883E0D08BD090077F9ED /* VUShared.cpp */;
+ name = "VUShared.cpp: 20";
+ rLen = 0;
+ rLoc = 441;
+ rType = 0;
+ vrLen = 669;
+ vrLoc = 0;
+ };
+ 7E224E2C0D77A8A6000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E89883E0D08BD090077F9ED /* VUShared.cpp */;
+ name = "VUShared.cpp: 20";
+ rLen = 0;
+ rLoc = 441;
+ rType = 0;
+ vrLen = 669;
+ vrLoc = 0;
+ };
+ 7E224E2D0D77A8A6000FAD0C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E9E4F850D4531BE003321D8 /* CodeGen_MD.cpp */;
+ name = "CodeGen_MD.cpp: 1";
+ rLen = 0;
+ rLoc = 0;
+ rType = 0;
+ vrLen = 727;
+ vrLoc = 0;
};
7E47E2FD0D6DE90C003F7AC1 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
@@ -332,66 +597,6 @@
vrLen = 703;
vrLoc = 39127;
};
- 7E47E2FE0D6DE90C003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E91DBE20D18662400557AC7 /* DebuggerWindow.h */;
- name = "DebuggerWindow.h: 7";
- rLen = 0;
- rLoc = 127;
- rType = 0;
- vrLen = 205;
- vrLoc = 0;
- };
- 7E47E2FF0D6DE90C003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E8BEF640D17542300CBEDE8 /* DisAsmView.h */;
- name = "DisAsmView.h: 17";
- rLen = 0;
- rLoc = 318;
- rType = 0;
- vrLen = 765;
- vrLoc = 24;
- };
- 7E47E3000D6DE90C003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E8BEF650D17542300CBEDE8 /* DisAsmView.mm */;
- name = "DisAsmView.mm: 188";
- rLen = 0;
- rLoc = 5042;
- rType = 0;
- vrLen = 548;
- vrLoc = 4440;
- };
- 7E47E3010D6DE90C003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E91DBE30D18662400557AC7 /* DebuggerWindow.mm */;
- name = "DebuggerWindow.mm: 9";
- rLen = 0;
- rLoc = 177;
- rType = 0;
- vrLen = 211;
- vrLoc = 0;
- };
- 7E47E3020D6DE90C003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E947B2E0D0A063200A2AE15 /* ApplicationDelegate.h */;
- name = "ApplicationDelegate.h: 19";
- rLen = 0;
- rLoc = 515;
- rType = 0;
- vrLen = 554;
- vrLoc = 0;
- };
- 7E47E3030D6DE90C003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E947B2F0D0A063200A2AE15 /* ApplicationDelegate.mm */;
- name = "ApplicationDelegate.mm: 16";
- rLen = 0;
- rLoc = 449;
- rType = 0;
- vrLen = 879;
- vrLoc = 150;
- };
7E47E3040D6DE90C003F7AC1 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 7E8987B60D08BD090077F9ED /* CodeGen.cpp */;
@@ -402,46 +607,6 @@
vrLen = 703;
vrLoc = 39127;
};
- 7E47E3050D6DE90C003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E947B2F0D0A063200A2AE15 /* ApplicationDelegate.mm */;
- name = "ApplicationDelegate.mm: 16";
- rLen = 0;
- rLoc = 449;
- rType = 0;
- vrLen = 879;
- vrLoc = 150;
- };
- 7E47E3060D6DE90C003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E947B2E0D0A063200A2AE15 /* ApplicationDelegate.h */;
- name = "ApplicationDelegate.h: 10";
- rLen = 0;
- rLoc = 219;
- rType = 0;
- vrLen = 521;
- vrLoc = 0;
- };
- 7E47E3070D6DE90C003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E947B2F0D0A063200A2AE15 /* ApplicationDelegate.mm */;
- name = "ApplicationDelegate.mm: 16";
- rLen = 0;
- rLoc = 449;
- rType = 0;
- vrLen = 879;
- vrLoc = 150;
- };
- 7E47E3080D6DE90C003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E91DBE30D18662400557AC7 /* DebuggerWindow.mm */;
- name = "DebuggerWindow.mm: 1";
- rLen = 0;
- rLoc = 26;
- rType = 0;
- vrLen = 211;
- vrLoc = 0;
- };
7E47E3090D6DE90C003F7AC1 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 7E91DBE20D18662400557AC7 /* DebuggerWindow.h */;
@@ -452,26 +617,6 @@
vrLen = 205;
vrLoc = 0;
};
- 7E47E30A0D6DE90C003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E91DBE30D18662400557AC7 /* DebuggerWindow.mm */;
- name = "DebuggerWindow.mm: 9";
- rLen = 0;
- rLoc = 177;
- rType = 0;
- vrLen = 211;
- vrLoc = 0;
- };
- 7E47E30B0D6DE90C003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E8BEF650D17542300CBEDE8 /* DisAsmView.mm */;
- name = "DisAsmView.mm: 49";
- rLen = 0;
- rLoc = 957;
- rType = 0;
- vrLen = 548;
- vrLoc = 4440;
- };
7E47E30C0D6DE90C003F7AC1 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 7E8BEF640D17542300CBEDE8 /* DisAsmView.h */;
@@ -482,91 +627,6 @@
vrLen = 765;
vrLoc = 24;
};
- 7E47E30D0D6DE90C003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E8BEF650D17542300CBEDE8 /* DisAsmView.mm */;
- name = "DisAsmView.mm: 188";
- rLen = 0;
- rLoc = 5042;
- rType = 0;
- vrLen = 548;
- vrLoc = 4440;
- };
- 7E47E30E0D6DE90C003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E91DBE30D18662400557AC7 /* DebuggerWindow.mm */;
- name = "DebuggerWindow.mm: 9";
- rLen = 0;
- rLoc = 177;
- rType = 0;
- vrLen = 211;
- vrLoc = 0;
- };
- 7E47E30F0D6DE90C003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E947B2F0D0A063200A2AE15 /* ApplicationDelegate.mm */;
- name = "ApplicationDelegate.mm: 16";
- rLen = 0;
- rLoc = 449;
- rType = 0;
- vrLen = 879;
- vrLoc = 150;
- };
- 7E47E3100D6DE90C003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E947B2E0D0A063200A2AE15 /* ApplicationDelegate.h */;
- name = "ApplicationDelegate.h: 19";
- rLen = 0;
- rLoc = 515;
- rType = 0;
- vrLen = 554;
- vrLoc = 0;
- };
- 7E47E3110D6DE90C003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E947B2F0D0A063200A2AE15 /* ApplicationDelegate.mm */;
- name = "ApplicationDelegate.mm: 117";
- rLen = 0;
- rLoc = 2513;
- rType = 0;
- vrLen = 635;
- vrLoc = 1933;
- };
- 7E47E3140D6DE90C003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E47E3150D6DE90C003F7AC1 /* Lesson34Controller.h */;
- rLen = 0;
- rLoc = 2147483647;
- rType = 0;
- };
- 7E47E3150D6DE90C003F7AC1 /* Lesson34Controller.h */ = {
- isa = PBXFileReference;
- lastKnownFileType = sourcecode.c.h;
- name = Lesson34Controller.h;
- path = /Users/jpd001/Downloads/Lesson34_OSXCocoa/Lesson34Controller.h;
- sourceTree = "";
- };
- 7E47E3160D6DE90C003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E47E3170D6DE90C003F7AC1 /* Lesson34Controller.h */;
- name = "Lesson34Controller.h: 26";
- rLen = 0;
- rLoc = 580;
- rType = 0;
- vrLen = 587;
- vrLoc = 0;
- };
- 7E47E3170D6DE90C003F7AC1 /* Lesson34Controller.h */ = {
- isa = PBXFileReference;
- name = Lesson34Controller.h;
- path = /Users/jpd001/Downloads/Lesson34_OSXCocoa/Lesson34Controller.h;
- sourceTree = "";
- uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1070, 549}}";
- sepNavSelRange = "{580, 0}";
- sepNavVisRange = "{0, 587}";
- };
- };
7E47E3190D6DE93C003F7AC1 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 7E947B2F0D0A063200A2AE15 /* ApplicationDelegate.mm */;
@@ -577,36 +637,6 @@
vrLen = 649;
vrLoc = 1870;
};
- 7E47E31A0D6DE93C003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E947B2F0D0A063200A2AE15 /* ApplicationDelegate.mm */;
- name = "ApplicationDelegate.mm: 113";
- rLen = 0;
- rLoc = 2513;
- rType = 0;
- vrLen = 649;
- vrLoc = 1870;
- };
- 7E47E31B0D6DE93C003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E947B2E0D0A063200A2AE15 /* ApplicationDelegate.h */;
- name = "ApplicationDelegate.h: 19";
- rLen = 0;
- rLoc = 515;
- rType = 0;
- vrLen = 521;
- vrLoc = 0;
- };
- 7E47E31C0D6DE93C003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E47E3170D6DE90C003F7AC1 /* Lesson34Controller.h */;
- name = "Lesson34Controller.h: 26";
- rLen = 0;
- rLoc = 580;
- rType = 0;
- vrLen = 587;
- vrLoc = 0;
- };
7E47E3210D6DEA15003F7AC1 /* MainWindow.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1011, 425}}";
@@ -617,7 +647,7 @@
7E47E3220D6DEA15003F7AC1 /* MainWindow.mm */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1011, 425}}";
- sepNavSelRange = "{145, 0}";
+ sepNavSelRange = "{138, 0}";
sepNavVisRange = "{0, 145}";
};
};
@@ -691,36 +721,6 @@
vrLen = 205;
vrLoc = 0;
};
- 7E47E3300D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E47E3210D6DEA15003F7AC1 /* MainWindow.h */;
- name = "MainWindow.h: 19";
- rLen = 0;
- rLoc = 129;
- rType = 0;
- vrLen = 283;
- vrLoc = 0;
- };
- 7E47E3310D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E47E3220D6DEA15003F7AC1 /* MainWindow.mm */;
- name = "MainWindow.mm: 14";
- rLen = 0;
- rLoc = 60;
- rType = 0;
- vrLen = 214;
- vrLoc = 0;
- };
- 7E47E3320D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E947B2E0D0A063200A2AE15 /* ApplicationDelegate.h */;
- name = "ApplicationDelegate.h: 21";
- rLen = 0;
- rLoc = 521;
- rType = 0;
- vrLen = 521;
- vrLoc = 0;
- };
7E47E3330D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 7E47E3210D6DEA15003F7AC1 /* MainWindow.h */;
@@ -731,36 +731,6 @@
vrLen = 218;
vrLoc = 0;
};
- 7E47E3340D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E91DBE30D18662400557AC7 /* DebuggerWindow.mm */;
- name = "DebuggerWindow.mm: 9";
- rLen = 0;
- rLoc = 177;
- rType = 0;
- vrLen = 211;
- vrLoc = 0;
- };
- 7E47E3350D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E91DBE20D18662400557AC7 /* DebuggerWindow.h */;
- name = "DebuggerWindow.h: 7";
- rLen = 0;
- rLoc = 127;
- rType = 0;
- vrLen = 205;
- vrLoc = 0;
- };
- 7E47E3360D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E91DBE30D18662400557AC7 /* DebuggerWindow.mm */;
- name = "DebuggerWindow.mm: 9";
- rLen = 0;
- rLoc = 177;
- rType = 0;
- vrLen = 211;
- vrLoc = 0;
- };
7E47E3370D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 7E91AB690D1B32EA00B20FB7 /* RegView.h */;
@@ -771,66 +741,6 @@
vrLen = 221;
vrLoc = 0;
};
- 7E47E3380D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E8BEF640D17542300CBEDE8 /* DisAsmView.h */;
- name = "DisAsmView.h: 17";
- rLen = 0;
- rLoc = 318;
- rType = 0;
- vrLen = 760;
- vrLoc = 24;
- };
- 7E47E3390D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E8BEF650D17542300CBEDE8 /* DisAsmView.mm */;
- name = "DisAsmView.mm: 159";
- rLen = 0;
- rLoc = 4626;
- rType = 0;
- vrLen = 519;
- vrLoc = 0;
- };
- 7E47E33A0D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E8BEF640D17542300CBEDE8 /* DisAsmView.h */;
- name = "DisAsmView.h: 17";
- rLen = 30;
- rLoc = 301;
- rType = 0;
- vrLen = 784;
- vrLoc = 0;
- };
- 7E47E33B0D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E47E3210D6DEA15003F7AC1 /* MainWindow.h */;
- name = "MainWindow.h: 18";
- rLen = 0;
- rLoc = 129;
- rType = 0;
- vrLen = 249;
- vrLoc = 0;
- };
- 7E47E33C0D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E8BEF640D17542300CBEDE8 /* DisAsmView.h */;
- name = "DisAsmView.h: 24";
- rLen = 34;
- rLoc = 547;
- rType = 0;
- vrLen = 724;
- vrLoc = 65;
- };
- 7E47E33D0D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E47E3210D6DEA15003F7AC1 /* MainWindow.h */;
- name = "MainWindow.h: 19";
- rLen = 0;
- rLoc = 129;
- rType = 0;
- vrLen = 283;
- vrLoc = 0;
- };
7E47E33E0D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 7E947B160D09F8F100A2AE15 /* Globals.h */;
@@ -841,16 +751,6 @@
vrLen = 105;
vrLoc = 0;
};
- 7E47E33F0D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E47E3210D6DEA15003F7AC1 /* MainWindow.h */;
- name = "MainWindow.h: 19";
- rLen = 0;
- rLoc = 129;
- rType = 0;
- vrLen = 283;
- vrLoc = 0;
- };
7E47E3400D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 7E47E3220D6DEA15003F7AC1 /* MainWindow.mm */;
@@ -858,107 +758,7 @@
rLen = 0;
rLoc = 0;
rType = 0;
- vrLen = 206;
- vrLoc = 0;
- };
- 7E47E3410D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E47E3210D6DEA15003F7AC1 /* MainWindow.h */;
- name = "MainWindow.h: 19";
- rLen = 0;
- rLoc = 129;
- rType = 0;
- vrLen = 283;
- vrLoc = 0;
- };
- 7E47E3420D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E47E3220D6DEA15003F7AC1 /* MainWindow.mm */;
- name = "MainWindow.mm: 14";
- rLen = 0;
- rLoc = 60;
- rType = 0;
- vrLen = 214;
- vrLoc = 0;
- };
- 7E47E3430D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E47E3210D6DEA15003F7AC1 /* MainWindow.h */;
- name = "MainWindow.h: 19";
- rLen = 0;
- rLoc = 129;
- rType = 0;
- vrLen = 283;
- vrLoc = 0;
- };
- 7E47E3440D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E47E3220D6DEA15003F7AC1 /* MainWindow.mm */;
- name = "MainWindow.mm: 14";
- rLen = 0;
- rLoc = 60;
- rType = 0;
- vrLen = 214;
- vrLoc = 0;
- };
- 7E47E3450D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E947B2E0D0A063200A2AE15 /* ApplicationDelegate.h */;
- name = "ApplicationDelegate.h: 21";
- rLen = 0;
- rLoc = 521;
- rType = 0;
- vrLen = 521;
- vrLoc = 0;
- };
- 7E47E3460D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E8BEF640D17542300CBEDE8 /* DisAsmView.h */;
- name = "DisAsmView.h: 24";
- rLen = 34;
- rLoc = 547;
- rType = 0;
- vrLen = 745;
- vrLoc = 44;
- };
- 7E47E3470D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E91DBE20D18662400557AC7 /* DebuggerWindow.h */;
- name = "DebuggerWindow.h: 7";
- rLen = 0;
- rLoc = 127;
- rType = 0;
- vrLen = 205;
- vrLoc = 0;
- };
- 7E47E3480D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E47E3210D6DEA15003F7AC1 /* MainWindow.h */;
- name = "MainWindow.h: 19";
- rLen = 0;
- rLoc = 129;
- rType = 0;
- vrLen = 283;
- vrLoc = 0;
- };
- 7E47E3490D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E47E3220D6DEA15003F7AC1 /* MainWindow.mm */;
- name = "MainWindow.mm: 24";
- rLen = 0;
- rLoc = 145;
- rType = 0;
- vrLen = 293;
- vrLoc = 0;
- };
- 7E47E34A0D6DEAF2003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E47E3170D6DE90C003F7AC1 /* Lesson34Controller.h */;
- name = "Lesson34Controller.h: 26";
- rLen = 0;
- rLoc = 580;
- rType = 0;
- vrLen = 587;
+ vrLen = 145;
vrLoc = 0;
};
7E47E34C0D6DEB38003F7AC1 /* PBXTextBookmark */ = {
@@ -971,56 +771,6 @@
vrLen = 135;
vrLoc = 0;
};
- 7E47E34D0D6DEB38003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E47E3220D6DEA15003F7AC1 /* MainWindow.mm */;
- name = "MainWindow.mm: 1";
- rLen = 0;
- rLoc = 0;
- rType = 0;
- vrLen = 145;
- vrLoc = 0;
- };
- 7E47E34E0D6DEB38003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E47E3220D6DEA15003F7AC1 /* MainWindow.mm */;
- name = "MainWindow.mm: 1";
- rLen = 0;
- rLoc = 0;
- rType = 0;
- vrLen = 145;
- vrLoc = 0;
- };
- 7E47E34F0D6DEB38003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E47E3210D6DEA15003F7AC1 /* MainWindow.h */;
- name = "MainWindow.h: 2";
- rLen = 0;
- rLoc = 24;
- rType = 0;
- vrLen = 135;
- vrLoc = 0;
- };
- 7E47E3500D6DEB38003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E47E3220D6DEA15003F7AC1 /* MainWindow.mm */;
- name = "MainWindow.mm: 16";
- rLen = 0;
- rLoc = 145;
- rType = 0;
- vrLen = 145;
- vrLoc = 0;
- };
- 7E47E3510D6DEB38003F7AC1 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E47E3170D6DE90C003F7AC1 /* Lesson34Controller.h */;
- name = "Lesson34Controller.h: 26";
- rLen = 0;
- rLoc = 580;
- rType = 0;
- vrLen = 587;
- vrLoc = 0;
- };
7E8986CE0D08A3CF0077F9ED /* Purei */ = {
isa = PBXExecutable;
activeArgIndices = (
@@ -1370,9 +1120,9 @@
};
7E8988100D08BD090077F9ED /* MIPS.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1011, 1834}}";
- sepNavSelRange = "{382, 0}";
- sepNavVisRange = "{238, 421}";
+ sepNavIntBoundsRect = "{{0, 0}, {1011, 1890}}";
+ sepNavSelRange = "{607, 0}";
+ sepNavVisRange = "{17, 487}";
sepNavWindowFrame = "{{15, 96}, {1129, 677}}";
};
};
@@ -1603,9 +1353,9 @@
};
7E89883E0D08BD090077F9ED /* VUShared.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1219, 10696}}";
- sepNavSelRange = "{701, 82}";
- sepNavVisRange = "{491, 468}";
+ sepNavIntBoundsRect = "{{0, 0}, {1011, 9996}}";
+ sepNavSelRange = "{441, 0}";
+ sepNavVisRange = "{0, 669}";
};
};
7E89883F0D08BD090077F9ED /* VUShared.h */ = {
@@ -1730,16 +1480,6 @@
sepNavVisRange = "{0, 395}";
};
};
- 7E9178480D64F5C00025E2C0 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E947B2E0D0A063200A2AE15 /* ApplicationDelegate.h */;
- name = "ApplicationDelegate.h: 10";
- rLen = 0;
- rLoc = 219;
- rType = 0;
- vrLen = 521;
- vrLoc = 0;
- };
7E9178490D64F5C00025E2C0 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 7E8987B30D08BD090077F9ED /* BasicBlock.h */;
@@ -1760,16 +1500,6 @@
vrLen = 55;
vrLoc = 0;
};
- 7E91784B0D64F5C00025E2C0 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E91DBE30D18662400557AC7 /* DebuggerWindow.mm */;
- name = "DebuggerWindow.mm: 1";
- rLen = 0;
- rLoc = 26;
- rType = 0;
- vrLen = 211;
- vrLoc = 0;
- };
7E91784C0D64F5C00025E2C0 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 7E947B2E0D0A063200A2AE15 /* ApplicationDelegate.h */;
@@ -1907,6 +1637,13 @@
sepNavWindowFrame = "{{15, 96}, {1129, 677}}";
};
};
+ 7E9E4F850D4531BE003321D8 /* CodeGen_MD.cpp */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1011, 7224}}";
+ sepNavSelRange = "{0, 0}";
+ sepNavVisRange = "{0, 727}";
+ };
+ };
7E9E4F860D4531BE003321D8 /* INTC.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1011, 1330}}";
@@ -1956,6 +1693,39 @@
sepNavVisRange = "{0, 318}";
};
};
+ 7EAC23570D6EF82700A3624F /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E47E3220D6DEA15003F7AC1 /* MainWindow.mm */;
+ name = "MainWindow.mm: 16";
+ rLen = 0;
+ rLoc = 145;
+ rType = 0;
+ vrLen = 145;
+ vrLoc = 0;
+ };
+ 7EAC23580D6EF82700A3624F /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7EAC23590D6EF82700A3624F /* Lesson34Controller.h */;
+ name = "Lesson34Controller.h: 26";
+ rLen = 0;
+ rLoc = 580;
+ rType = 0;
+ vrLen = 587;
+ vrLoc = 0;
+ };
+ 7EAC23590D6EF82700A3624F /* Lesson34Controller.h */ = {
+ isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
+ name = Lesson34Controller.h;
+ path = /Users/jpd001/Downloads/Lesson34_OSXCocoa/Lesson34Controller.h;
+ sourceTree = "";
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1070, 549}}";
+ sepNavSelRange = "{580, 0}";
+ sepNavVisRange = "{0, 587}";
+ sepNavWindowFrame = "{{15, 96}, {1129, 677}}";
+ };
+ };
7EAD8BE30D4846DE002CC1C1 /* Posix_VolumeStream.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1219, 462}}";
@@ -1995,7 +1765,7 @@
hitCount = 0;
ignoreCount = 0;
lineNumber = 7;
- modificationTime = 225307406.912675;
+ modificationTime = 225945192.612399;
state = 1;
};
7EB6F45D0D1B033700A53B0B /* ObjCCall.h */ = {
@@ -2006,6 +1776,33 @@
sepNavWindowFrame = "{{15, 96}, {1129, 677}}";
};
};
+ 7EC6220C0D709231008B28C1 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7E47E3220D6DEA15003F7AC1 /* MainWindow.mm */;
+ name = "MainWindow.mm: 16";
+ rLen = 0;
+ rLoc = 145;
+ rType = 0;
+ vrLen = 145;
+ vrLoc = 0;
+ };
+ 7EC6220F0D709231008B28C1 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 7EC622100D709231008B28C1 /* Lesson34Controller.h */;
+ name = "Lesson34Controller.h: 26";
+ rLen = 0;
+ rLoc = 580;
+ rType = 0;
+ vrLen = 587;
+ vrLoc = 0;
+ };
+ 7EC622100D709231008B28C1 /* Lesson34Controller.h */ = {
+ isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
+ name = Lesson34Controller.h;
+ path = /Users/jpd001/Downloads/Lesson34_OSXCocoa/Lesson34Controller.h;
+ sourceTree = "";
+ };
7ED0A4F00D6D28A1008D30EA /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 7E89882F0D08BD090077F9ED /* PS2OS.cpp */;
@@ -2026,20 +1823,6 @@
vrLen = 441;
vrLoc = 0;
};
- 7ED0A4F20D6D28A1008D30EA /* PBXBookmark */ = {
- isa = PBXBookmark;
- fRef = 7E8987B60D08BD090077F9ED /* CodeGen.cpp */;
- };
- 7ED0A4F30D6D28A1008D30EA /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E89882F0D08BD090077F9ED /* PS2OS.cpp */;
- name = "PS2OS.cpp: 477";
- rLen = 0;
- rLoc = 10483;
- rType = 0;
- vrLen = 671;
- vrLoc = 10297;
- };
7ED0A4F40D6D28A1008D30EA /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 7E8987B50D08BD090077F9ED /* CacheBlock.h */;
@@ -2050,16 +1833,6 @@
vrLen = 441;
vrLoc = 0;
};
- 7ED0A4F50D6D28A1008D30EA /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E8987B60D08BD090077F9ED /* CodeGen.cpp */;
- name = "CodeGen.cpp: 1691";
- rLen = 0;
- rLoc = 39729;
- rType = 0;
- vrLen = 703;
- vrLoc = 39127;
- };
7EE1BC860D4D4F8F00B502BD /* PH_HidMacOSX.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1011, 434}}";
@@ -2069,21 +1842,11 @@
};
7EE1BC870D4D4F8F00B502BD /* PH_HidMacOSX.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1011, 2184}}";
+ sepNavIntBoundsRect = "{{0, 0}, {1011, 2170}}";
sepNavSelRange = "{1147, 0}";
- sepNavVisRange = "{745, 831}";
+ sepNavVisRange = "{745, 830}";
};
};
- 7EE1BCB00D4D522900B502BD /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 7E8BEF650D17542300CBEDE8 /* DisAsmView.mm */;
- name = "DisAsmView.mm: 56";
- rLen = 0;
- rLoc = 1132;
- rType = 0;
- vrLen = 817;
- vrLoc = 610;
- };
7EE1BCB30D4D522900B502BD /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 7EE1BC870D4D4F8F00B502BD /* PH_HidMacOSX.cpp */;
@@ -2172,7 +1935,7 @@
ignoreCount = 0;
lineNumber = 17;
location = Purei;
- modificationTime = 225307406.912658;
+ modificationTime = 225945192.612384;
state = 1;
};
7EEF338C0D0B8F63005FE2D8 /* GSH_OpenGLMacOSX.h */ = {
diff --git a/Purei.xcodeproj/project.pbxproj b/Purei.xcodeproj/project.pbxproj
index 1a20d79f..f7733937 100644
--- a/Purei.xcodeproj/project.pbxproj
+++ b/Purei.xcodeproj/project.pbxproj
@@ -986,6 +986,7 @@
isa = XCBuildConfiguration;
buildSettings = {
GCC_PREPROCESSOR_DEFINITIONS = (
+ __STDC_LIMIT_MACROS,
DEBUGGER_INCLUDED,
MACOSX,
_DEBUG,
@@ -1011,7 +1012,10 @@
i386,
ppc,
);
- GCC_PREPROCESSOR_DEFINITIONS = MACOSX;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ __STDC_LIMIT_MACROS,
+ MACOSX,
+ );
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
diff --git a/Source/CodeGen_MD.cpp b/Source/CodeGen_MD.cpp
index 1b64851d..537b45aa 100644
--- a/Source/CodeGen_MD.cpp
+++ b/Source/CodeGen_MD.cpp
@@ -1,44 +1,44 @@
-#include "CodeGen.h"
-#include "CodeGen_StackPatterns.h"
-
-using namespace std;
-
-bool CCodeGen::Register128HasNextUse(XMMREGISTER registerId)
-{
- unsigned int nCount = m_Shadow.GetCount();
-
- for(unsigned int i = 0; i < nCount; i += 2)
- {
- if(m_Shadow.GetAt(i) == REGISTER128)
- {
- if(m_Shadow.GetAt(i + 1) == registerId) return true;
- }
- }
-
- return false;
-}
-
-void CCodeGen::CopyRegister128(XMMREGISTER destination, XMMREGISTER source)
-{
- m_Assembler.MovapsVo(CX86Assembler::MakeXmmRegisterAddress(destination),
- source);
-}
-
-void CCodeGen::LoadRelative128InRegister(XMMREGISTER registerId, uint32 offset)
-{
- m_Assembler.MovapsVo(registerId,
- CX86Assembler::MakeIndRegOffAddress(g_nBaseRegister, offset));
-}
-
-void CCodeGen::MD_PushRel(size_t offset)
-{
- m_Shadow.Push(static_cast(offset));
- m_Shadow.Push(RELATIVE128);
-}
-
-void CCodeGen::MD_PushRelExpand(size_t offset)
-{
- //Need to convert to a register
+#include "CodeGen.h"
+#include "CodeGen_StackPatterns.h"
+
+using namespace std;
+
+bool CCodeGen::Register128HasNextUse(XMMREGISTER registerId)
+{
+ unsigned int nCount = m_Shadow.GetCount();
+
+ for(unsigned int i = 0; i < nCount; i += 2)
+ {
+ if(m_Shadow.GetAt(i) == REGISTER128)
+ {
+ if(m_Shadow.GetAt(i + 1) == registerId) return true;
+ }
+ }
+
+ return false;
+}
+
+void CCodeGen::CopyRegister128(XMMREGISTER destination, XMMREGISTER source)
+{
+ m_Assembler.MovapsVo(CX86Assembler::MakeXmmRegisterAddress(destination),
+ source);
+}
+
+void CCodeGen::LoadRelative128InRegister(XMMREGISTER registerId, uint32 offset)
+{
+ m_Assembler.MovapsVo(registerId,
+ CX86Assembler::MakeIndRegOffAddress(g_nBaseRegister, offset));
+}
+
+void CCodeGen::MD_PushRel(size_t offset)
+{
+ m_Shadow.Push(static_cast(offset));
+ m_Shadow.Push(RELATIVE128);
+}
+
+void CCodeGen::MD_PushRelExpand(size_t offset)
+{
+ //Need to convert to a register
XMMREGISTER valueRegister = AllocateXmmRegister();
m_Assembler.MovssEd(valueRegister,
@@ -47,29 +47,29 @@ void CCodeGen::MD_PushRelExpand(size_t offset)
CX86Assembler::MakeXmmRegisterAddress(valueRegister), 0x00);
MD_PushReg(valueRegister);
-}
-
-void CCodeGen::MD_PullRel(size_t offset)
-{
- if(FitsPattern())
- {
- XMMREGISTER valueRegister = static_cast(GetPattern());
- m_Assembler.MovdquVo(CX86Assembler::MakeIndRegOffAddress(g_nBaseRegister, static_cast(offset)),
- valueRegister);
- FreeXmmRegister(valueRegister);
- }
- else
- {
- throw exception();
- }
-}
-
-void CCodeGen::MD_PullRel(size_t offset0, size_t offset1, size_t offset2, size_t offset3)
-{
- if(FitsPattern())
- {
- XMMREGISTER valueRegister = static_cast(GetPattern());
-
+}
+
+void CCodeGen::MD_PullRel(size_t offset)
+{
+ if(FitsPattern())
+ {
+ XMMREGISTER valueRegister = static_cast(GetPattern());
+ m_Assembler.MovdquVo(CX86Assembler::MakeIndRegOffAddress(g_nBaseRegister, static_cast(offset)),
+ valueRegister);
+ FreeXmmRegister(valueRegister);
+ }
+ else
+ {
+ throw exception();
+ }
+}
+
+void CCodeGen::MD_PullRel(size_t offset0, size_t offset1, size_t offset2, size_t offset3)
+{
+ if(FitsPattern())
+ {
+ XMMREGISTER valueRegister = static_cast(GetPattern());
+
if(
offset0 != SIZE_MAX &&
offset1 != SIZE_MAX &&
@@ -80,7 +80,7 @@ void CCodeGen::MD_PullRel(size_t offset0, size_t offset1, size_t offset2, size_t
//All elements are non-null
if((offset1 == offset0 + 4) && (offset2 == offset1 + 4) && (offset3 == offset2 + 4))
{
- m_Assembler.MovapsVo(CX86Assembler::MakeIndRegOffAddress(g_nBaseRegister, static_cast(offset0)),
+ m_Assembler.MovapsVo(CX86Assembler::MakeIndRegOffAddress(g_nBaseRegister, static_cast(offset0)),
valueRegister);
}
}
@@ -107,390 +107,390 @@ void CCodeGen::MD_PullRel(size_t offset0, size_t offset1, size_t offset2, size_t
m_Assembler.MovssEd(CX86Assembler::MakeIndRegOffAddress(g_nBaseRegister, static_cast(offset[i])),
valueRegister);
}
- }
+ }
}
FreeXmmRegister(valueRegister);
- }
- else
- {
- throw exception();
- }
-}
-
-void CCodeGen::MD_PushReg(XMMREGISTER registerId)
-{
- m_Shadow.Push(registerId);
- m_Shadow.Push(REGISTER128);
-}
-
-void CCodeGen::MD_GenericPackedShift(const PackedShiftFunction& instruction, uint8 amount)
-{
- if(FitsPattern())
- {
- SingleRelative128::PatternValue op(GetPattern());
- XMMREGISTER resultRegister = AllocateXmmRegister();
- LoadRelative128InRegister(resultRegister, op);
- instruction(resultRegister, amount);
- MD_PushReg(resultRegister);
- }
- else
- {
- throw exception();
- }
-}
-
-void CCodeGen::MD_GenericTwoOperand(const MdTwoOperandFunction& instruction)
-{
- if(FitsPattern())
- {
- RelativeRelative128::PatternValue ops(GetPattern());
- XMMREGISTER resultRegister = AllocateXmmRegister();
- LoadRelative128InRegister(resultRegister, ops.first);
- instruction(resultRegister,
- CX86Assembler::MakeIndRegOffAddress(g_nBaseRegister, ops.second));
- MD_PushReg(resultRegister);
- }
- else if(FitsPattern())
- {
- RelativeRegister128::PatternValue ops(GetPattern());
- XMMREGISTER resultRegister = AllocateXmmRegister();
- {
- XMMREGISTER valueRegister = static_cast(ops.second);
- LoadRelative128InRegister(resultRegister, ops.first);
- instruction(resultRegister,
- CX86Assembler::MakeXmmRegisterAddress(valueRegister));
- if(!Register128HasNextUse(valueRegister))
- {
- FreeXmmRegister(valueRegister);
- }
- }
- MD_PushReg(resultRegister);
- }
- else
- {
- throw exception();
- }
-}
-
-void CCodeGen::MD_GenericTwoOperandReversed(const MdTwoOperandFunction& instruction)
-{
- if(FitsPattern())
- {
- RelativeRelative128::PatternValue ops(GetPattern());
- XMMREGISTER resultRegister = AllocateXmmRegister();
- LoadRelative128InRegister(resultRegister, ops.second);
- instruction(resultRegister,
- CX86Assembler::MakeIndRegOffAddress(g_nBaseRegister, ops.first));
- MD_PushReg(resultRegister);
- }
- else
- {
- throw exception();
- }
-}
-
-void CCodeGen::MD_AddH()
-{
- MD_GenericTwoOperand(bind(&CX86Assembler::PaddwVo, m_Assembler, _1, _2));
-}
-
-void CCodeGen::MD_AddWUS()
-{
- if(FitsPattern())
- {
- RelativeRelative128::PatternValue ops(GetPattern());
- unsigned int tempRegister = AllocateRegister();
- XMMREGISTER resultRegister = AllocateXmmRegister();
- for(int i = 3; i >= 0; i--)
- {
- CX86Assembler::LABEL overflowLabel = m_Assembler.CreateLabel();
- CX86Assembler::LABEL doneLabel = m_Assembler.CreateLabel();
- m_Assembler.MovEd(m_nRegisterLookupEx[tempRegister],
- CX86Assembler::MakeIndRegOffAddress(g_nBaseRegister, ops.first + (i * 4)));
- m_Assembler.AddEd(m_nRegisterLookupEx[tempRegister],
- CX86Assembler::MakeIndRegOffAddress(g_nBaseRegister, ops.second + (i * 4)));
- m_Assembler.JcJb(overflowLabel);
- m_Assembler.PushEd(CX86Assembler::MakeRegisterAddress(m_nRegisterLookupEx[tempRegister]));
- m_Assembler.JmpJb(doneLabel);
- m_Assembler.MarkLabel(overflowLabel);
- m_Assembler.PushId(0xFFFFFFFF);
- m_Assembler.MarkLabel(doneLabel);
- }
- FreeRegister(tempRegister);
- m_Assembler.ResolveLabelReferences();
- m_Assembler.MovdquVo(resultRegister,
- CX86Assembler::MakeIndRegAddress(CX86Assembler::rSP));
- m_Assembler.AddId(CX86Assembler::MakeRegisterAddress(CX86Assembler::rSP),
- 0x10);
- MD_PushReg(resultRegister);
- }
- else
- {
- throw exception();
- }
-}
-
-void CCodeGen::MD_AddS()
-{
- MD_GenericTwoOperand(bind(&CX86Assembler::AddpsVo, m_Assembler, _1, _2));
-}
-
-void CCodeGen::MD_And()
-{
- MD_GenericTwoOperand(bind(&CX86Assembler::PandVo, m_Assembler, _1, _2));
-}
-
-void CCodeGen::MD_CmpGtH()
-{
- MD_GenericTwoOperand(bind(&CX86Assembler::PcmpgtwVo, m_Assembler, _1, _2));
-}
-
-void CCodeGen::MD_IsNegative()
-{
- if(FitsPattern())
- {
- XMMREGISTER valueRegister = static_cast(GetPattern());
- XMMREGISTER resultRegister;
- if(Register128HasNextUse(valueRegister))
- {
- resultRegister = AllocateXmmRegister();
- CopyRegister128(resultRegister, valueRegister);
- }
- else
- {
- resultRegister = valueRegister;
- }
- XMMREGISTER maskRegister = AllocateXmmRegister();
- m_Assembler.PcmpeqdVo(maskRegister,
- CX86Assembler::MakeXmmRegisterAddress(maskRegister));
- m_Assembler.PslldVo(maskRegister, 31);
- m_Assembler.PandVo(resultRegister,
- CX86Assembler::MakeXmmRegisterAddress(maskRegister));
- FreeXmmRegister(maskRegister);
- MD_PushReg(resultRegister);
- }
- else
- {
- throw exception();
- }
-}
-
-void CCodeGen::MD_IsZero()
-{
- if(FitsPattern())
- {
- XMMREGISTER valueRegister = static_cast(GetPattern());
- XMMREGISTER resultRegister;
- if(Register128HasNextUse(valueRegister))
- {
- resultRegister = AllocateXmmRegister();
- CopyRegister128(resultRegister, valueRegister);
- }
- else
- {
- resultRegister = valueRegister;
- }
- XMMREGISTER zeroRegister = AllocateXmmRegister();
- m_Assembler.PandnVo(zeroRegister,
- CX86Assembler::MakeXmmRegisterAddress(zeroRegister));
- m_Assembler.PcmpeqdVo(resultRegister,
- CX86Assembler::MakeXmmRegisterAddress(zeroRegister));
- FreeXmmRegister(zeroRegister);
- MD_PushReg(resultRegister);
- }
- else
- {
- throw exception();
- }
-}
-
-void CCodeGen::MD_MaxH()
-{
- MD_GenericTwoOperand(bind(&CX86Assembler::PmaxswVo, m_Assembler, _1, _2));
-}
-
-void CCodeGen::MD_MinH()
-{
- MD_GenericTwoOperand(bind(&CX86Assembler::PminswVo, m_Assembler, _1, _2));
-}
-
-void CCodeGen::MD_MulS()
-{
- MD_GenericTwoOperand(bind(&CX86Assembler::MulpsVo, m_Assembler, _1, _2));
-}
-
-void CCodeGen::MD_Not()
-{
- if(FitsPattern())
- {
- XMMREGISTER resultRegister(static_cast(GetPattern()));
- assert(!Register128HasNextUse(resultRegister));
- XMMREGISTER tempRegister = AllocateXmmRegister();
- m_Assembler.PcmpeqdVo(tempRegister,
- CX86Assembler::MakeXmmRegisterAddress(tempRegister));
- m_Assembler.PxorVo(resultRegister,
- CX86Assembler::MakeXmmRegisterAddress(tempRegister));
- MD_PushReg(resultRegister);
- }
- else
- {
- throw exception();
- }
-}
-
-void CCodeGen::MD_Or()
-{
- MD_GenericTwoOperand(bind(&CX86Assembler::PorVo, m_Assembler, _1, _2));
-}
-
-void CCodeGen::MD_PackHB()
-{
- if(FitsPattern())
- {
- RelativeRelative128::PatternValue ops(GetPattern());
- XMMREGISTER resultRegister = AllocateXmmRegister();
- XMMREGISTER tempRegister = AllocateXmmRegister();
- XMMREGISTER maskRegister = AllocateXmmRegister();
- LoadRelative128InRegister(resultRegister, ops.second);
- LoadRelative128InRegister(tempRegister, ops.first);
-
- //Generate mask (0x00FF x8)
- m_Assembler.PcmpeqdVo(maskRegister,
- CX86Assembler::MakeXmmRegisterAddress(maskRegister));
- m_Assembler.PsrlwVo(maskRegister, 0x08);
-
- //Mask both operands
- m_Assembler.PandVo(resultRegister,
- CX86Assembler::MakeXmmRegisterAddress(maskRegister));
- m_Assembler.PandVo(tempRegister,
- CX86Assembler::MakeXmmRegisterAddress(maskRegister));
-
- //Pack
- m_Assembler.Packuswb(resultRegister,
- CX86Assembler::MakeXmmRegisterAddress(tempRegister));
-
- FreeXmmRegister(maskRegister);
- FreeXmmRegister(tempRegister);
-
- MD_PushReg(resultRegister);
- }
- else
- {
- throw exception();
- }
-}
-
-void CCodeGen::MD_SllH(uint8 amount)
-{
- MD_GenericPackedShift(bind(&CX86Assembler::PsllwVo, &m_Assembler, _1, _2), amount);
-}
-
-void CCodeGen::MD_SraH(uint8 amount)
-{
- MD_GenericPackedShift(bind(&CX86Assembler::PsrawVo, &m_Assembler, _1, _2), amount);
-}
-
-void CCodeGen::MD_SrlH(uint8 amount)
-{
- MD_GenericPackedShift(bind(&CX86Assembler::PsrlwVo, &m_Assembler, _1, _2), amount);
-}
-
-void CCodeGen::MD_Srl256()
-{
- if(m_Shadow.Pull() != RELATIVE) assert(0);
- uint32 shiftAmount = m_Shadow.Pull();
- if(m_Shadow.Pull() != RELATIVE128) assert(0);
- uint32 operand2 = m_Shadow.Pull();
- if(m_Shadow.Pull() != RELATIVE128) assert(0);
- uint32 operand1 = m_Shadow.Pull();
-
- assert(m_nRegisterAllocated[1] == false); //eCX
- assert(m_nRegisterAllocated[4] == false); //eSI
- assert(m_nRegisterAllocated[5] == false); //eDI
-
- XMMREGISTER resultRegister = AllocateXmmRegister();
-
- //Copy both registers on the stack
- //-----------------------------
- m_Assembler.SubId(CX86Assembler::MakeRegisterAddress(CX86Assembler::rSP), 0x30);
- m_Assembler.MovGd(CX86Assembler::MakeRegisterAddress(CX86Assembler::rDI), CX86Assembler::rSP);
- m_Assembler.LeaGd(CX86Assembler::rSI, CX86Assembler::MakeIndRegOffAddress(g_nBaseRegister, operand2));
- m_Assembler.MovId(CX86Assembler::rCX, 0x10);
- m_Assembler.RepMovsb();
- m_Assembler.LeaGd(CX86Assembler::rSI, CX86Assembler::MakeIndRegOffAddress(g_nBaseRegister, operand1));
- m_Assembler.MovId(CX86Assembler::rCX, 0x10);
- m_Assembler.RepMovsb();
-
- //Setup SA
- //-----------------------------
- m_Assembler.MovEd(CX86Assembler::rAX, CX86Assembler::MakeIndRegOffAddress(g_nBaseRegister, shiftAmount));
- m_Assembler.AndId(CX86Assembler::MakeRegisterAddress(CX86Assembler::rAX), 0x7F);
- m_Assembler.ShrEd(CX86Assembler::MakeRegisterAddress(CX86Assembler::rAX), 0x03);
-
- //Setup ESI
- //-----------------------------
- m_Assembler.LeaGd(CX86Assembler::rSI,
- CX86Assembler::MakeBaseIndexScaleAddress(CX86Assembler::rSP, CX86Assembler::rAX, 1));
-
- //Setup ECX
- //-----------------------------
- m_Assembler.MovId(CX86Assembler::rCX, 0x10);
-
- //Generate result
- //-----------------------------
- m_Assembler.RepMovsb();
-
- //Load result and free Stack
- //-----------------------------
- m_Assembler.MovdquVo(resultRegister,
- CX86Assembler::MakeIndRegOffAddress(CX86Assembler::rSP, 0x20));
- m_Assembler.AddId(CX86Assembler::MakeRegisterAddress(CX86Assembler::rSP), 0x30);
-
- MD_PushReg(resultRegister);
-}
-
-void CCodeGen::MD_SubB()
-{
- MD_GenericTwoOperand(bind(&CX86Assembler::PsubbVo, m_Assembler, _1, _2));
-}
-
-void CCodeGen::MD_SubW()
-{
- MD_GenericTwoOperand(bind(&CX86Assembler::PsubdVo, m_Assembler, _1, _2));
-}
-
-void CCodeGen::MD_SubS()
-{
- MD_GenericTwoOperand(bind(&CX86Assembler::SubpsVo, m_Assembler, _1, _2));
-}
-
-void CCodeGen::MD_UnpackLowerBH()
-{
- MD_GenericTwoOperandReversed(bind(&CX86Assembler::PunpcklbwVo, m_Assembler, _1, _2));
-}
-
-void CCodeGen::MD_UnpackLowerHW()
-{
- MD_GenericTwoOperandReversed(bind(&CX86Assembler::PunpcklwdVo, m_Assembler, _1, _2));
-}
-
-void CCodeGen::MD_UnpackLowerWD()
-{
- MD_GenericTwoOperandReversed(bind(&CX86Assembler::PunpckldqVo, m_Assembler, _1, _2));
-}
-
-void CCodeGen::MD_UnpackUpperBH()
-{
- MD_GenericTwoOperandReversed(bind(&CX86Assembler::PunpckhbwVo, m_Assembler, _1, _2));
-}
-
-void CCodeGen::MD_UnpackUpperWD()
-{
- MD_GenericTwoOperandReversed(bind(&CX86Assembler::PunpckhdqVo, m_Assembler, _1, _2));
-}
-
-void CCodeGen::MD_Xor()
-{
- MD_GenericTwoOperand(bind(&CX86Assembler::PxorVo, m_Assembler, _1, _2));
-}
+ }
+ else
+ {
+ throw exception();
+ }
+}
+
+void CCodeGen::MD_PushReg(XMMREGISTER registerId)
+{
+ m_Shadow.Push(registerId);
+ m_Shadow.Push(REGISTER128);
+}
+
+void CCodeGen::MD_GenericPackedShift(const PackedShiftFunction& instruction, uint8 amount)
+{
+ if(FitsPattern())
+ {
+ SingleRelative128::PatternValue op(GetPattern());
+ XMMREGISTER resultRegister = AllocateXmmRegister();
+ LoadRelative128InRegister(resultRegister, op);
+ instruction(resultRegister, amount);
+ MD_PushReg(resultRegister);
+ }
+ else
+ {
+ throw exception();
+ }
+}
+
+void CCodeGen::MD_GenericTwoOperand(const MdTwoOperandFunction& instruction)
+{
+ if(FitsPattern())
+ {
+ RelativeRelative128::PatternValue ops(GetPattern());
+ XMMREGISTER resultRegister = AllocateXmmRegister();
+ LoadRelative128InRegister(resultRegister, ops.first);
+ instruction(resultRegister,
+ CX86Assembler::MakeIndRegOffAddress(g_nBaseRegister, ops.second));
+ MD_PushReg(resultRegister);
+ }
+ else if(FitsPattern())
+ {
+ RelativeRegister128::PatternValue ops(GetPattern());
+ XMMREGISTER resultRegister = AllocateXmmRegister();
+ {
+ XMMREGISTER valueRegister = static_cast(ops.second);
+ LoadRelative128InRegister(resultRegister, ops.first);
+ instruction(resultRegister,
+ CX86Assembler::MakeXmmRegisterAddress(valueRegister));
+ if(!Register128HasNextUse(valueRegister))
+ {
+ FreeXmmRegister(valueRegister);
+ }
+ }
+ MD_PushReg(resultRegister);
+ }
+ else
+ {
+ throw exception();
+ }
+}
+
+void CCodeGen::MD_GenericTwoOperandReversed(const MdTwoOperandFunction& instruction)
+{
+ if(FitsPattern())
+ {
+ RelativeRelative128::PatternValue ops(GetPattern());
+ XMMREGISTER resultRegister = AllocateXmmRegister();
+ LoadRelative128InRegister(resultRegister, ops.second);
+ instruction(resultRegister,
+ CX86Assembler::MakeIndRegOffAddress(g_nBaseRegister, ops.first));
+ MD_PushReg(resultRegister);
+ }
+ else
+ {
+ throw exception();
+ }
+}
+
+void CCodeGen::MD_AddH()
+{
+ MD_GenericTwoOperand(bind(&CX86Assembler::PaddwVo, m_Assembler, _1, _2));
+}
+
+void CCodeGen::MD_AddWUS()
+{
+ if(FitsPattern())
+ {
+ RelativeRelative128::PatternValue ops(GetPattern());
+ unsigned int tempRegister = AllocateRegister();
+ XMMREGISTER resultRegister = AllocateXmmRegister();
+ for(int i = 3; i >= 0; i--)
+ {
+ CX86Assembler::LABEL overflowLabel = m_Assembler.CreateLabel();
+ CX86Assembler::LABEL doneLabel = m_Assembler.CreateLabel();
+ m_Assembler.MovEd(m_nRegisterLookupEx[tempRegister],
+ CX86Assembler::MakeIndRegOffAddress(g_nBaseRegister, ops.first + (i * 4)));
+ m_Assembler.AddEd(m_nRegisterLookupEx[tempRegister],
+ CX86Assembler::MakeIndRegOffAddress(g_nBaseRegister, ops.second + (i * 4)));
+ m_Assembler.JcJb(overflowLabel);
+ m_Assembler.PushEd(CX86Assembler::MakeRegisterAddress(m_nRegisterLookupEx[tempRegister]));
+ m_Assembler.JmpJb(doneLabel);
+ m_Assembler.MarkLabel(overflowLabel);
+ m_Assembler.PushId(0xFFFFFFFF);
+ m_Assembler.MarkLabel(doneLabel);
+ }
+ FreeRegister(tempRegister);
+ m_Assembler.ResolveLabelReferences();
+ m_Assembler.MovdquVo(resultRegister,
+ CX86Assembler::MakeIndRegAddress(CX86Assembler::rSP));
+ m_Assembler.AddId(CX86Assembler::MakeRegisterAddress(CX86Assembler::rSP),
+ 0x10);
+ MD_PushReg(resultRegister);
+ }
+ else
+ {
+ throw exception();
+ }
+}
+
+void CCodeGen::MD_AddS()
+{
+ MD_GenericTwoOperand(bind(&CX86Assembler::AddpsVo, m_Assembler, _1, _2));
+}
+
+void CCodeGen::MD_And()
+{
+ MD_GenericTwoOperand(bind(&CX86Assembler::PandVo, m_Assembler, _1, _2));
+}
+
+void CCodeGen::MD_CmpGtH()
+{
+ MD_GenericTwoOperand(bind(&CX86Assembler::PcmpgtwVo, m_Assembler, _1, _2));
+}
+
+void CCodeGen::MD_IsNegative()
+{
+ if(FitsPattern())
+ {
+ XMMREGISTER valueRegister = static_cast(GetPattern());
+ XMMREGISTER resultRegister;
+ if(Register128HasNextUse(valueRegister))
+ {
+ resultRegister = AllocateXmmRegister();
+ CopyRegister128(resultRegister, valueRegister);
+ }
+ else
+ {
+ resultRegister = valueRegister;
+ }
+ XMMREGISTER maskRegister = AllocateXmmRegister();
+ m_Assembler.PcmpeqdVo(maskRegister,
+ CX86Assembler::MakeXmmRegisterAddress(maskRegister));
+ m_Assembler.PslldVo(maskRegister, 31);
+ m_Assembler.PandVo(resultRegister,
+ CX86Assembler::MakeXmmRegisterAddress(maskRegister));
+ FreeXmmRegister(maskRegister);
+ MD_PushReg(resultRegister);
+ }
+ else
+ {
+ throw exception();
+ }
+}
+
+void CCodeGen::MD_IsZero()
+{
+ if(FitsPattern())
+ {
+ XMMREGISTER valueRegister = static_cast(GetPattern());
+ XMMREGISTER resultRegister;
+ if(Register128HasNextUse(valueRegister))
+ {
+ resultRegister = AllocateXmmRegister();
+ CopyRegister128(resultRegister, valueRegister);
+ }
+ else
+ {
+ resultRegister = valueRegister;
+ }
+ XMMREGISTER zeroRegister = AllocateXmmRegister();
+ m_Assembler.PandnVo(zeroRegister,
+ CX86Assembler::MakeXmmRegisterAddress(zeroRegister));
+ m_Assembler.PcmpeqdVo(resultRegister,
+ CX86Assembler::MakeXmmRegisterAddress(zeroRegister));
+ FreeXmmRegister(zeroRegister);
+ MD_PushReg(resultRegister);
+ }
+ else
+ {
+ throw exception();
+ }
+}
+
+void CCodeGen::MD_MaxH()
+{
+ MD_GenericTwoOperand(bind(&CX86Assembler::PmaxswVo, m_Assembler, _1, _2));
+}
+
+void CCodeGen::MD_MinH()
+{
+ MD_GenericTwoOperand(bind(&CX86Assembler::PminswVo, m_Assembler, _1, _2));
+}
+
+void CCodeGen::MD_MulS()
+{
+ MD_GenericTwoOperand(bind(&CX86Assembler::MulpsVo, m_Assembler, _1, _2));
+}
+
+void CCodeGen::MD_Not()
+{
+ if(FitsPattern())
+ {
+ XMMREGISTER resultRegister(static_cast(GetPattern()));
+ assert(!Register128HasNextUse(resultRegister));
+ XMMREGISTER tempRegister = AllocateXmmRegister();
+ m_Assembler.PcmpeqdVo(tempRegister,
+ CX86Assembler::MakeXmmRegisterAddress(tempRegister));
+ m_Assembler.PxorVo(resultRegister,
+ CX86Assembler::MakeXmmRegisterAddress(tempRegister));
+ MD_PushReg(resultRegister);
+ }
+ else
+ {
+ throw exception();
+ }
+}
+
+void CCodeGen::MD_Or()
+{
+ MD_GenericTwoOperand(bind(&CX86Assembler::PorVo, m_Assembler, _1, _2));
+}
+
+void CCodeGen::MD_PackHB()
+{
+ if(FitsPattern())
+ {
+ RelativeRelative128::PatternValue ops(GetPattern());
+ XMMREGISTER resultRegister = AllocateXmmRegister();
+ XMMREGISTER tempRegister = AllocateXmmRegister();
+ XMMREGISTER maskRegister = AllocateXmmRegister();
+ LoadRelative128InRegister(resultRegister, ops.second);
+ LoadRelative128InRegister(tempRegister, ops.first);
+
+ //Generate mask (0x00FF x8)
+ m_Assembler.PcmpeqdVo(maskRegister,
+ CX86Assembler::MakeXmmRegisterAddress(maskRegister));
+ m_Assembler.PsrlwVo(maskRegister, 0x08);
+
+ //Mask both operands
+ m_Assembler.PandVo(resultRegister,
+ CX86Assembler::MakeXmmRegisterAddress(maskRegister));
+ m_Assembler.PandVo(tempRegister,
+ CX86Assembler::MakeXmmRegisterAddress(maskRegister));
+
+ //Pack
+ m_Assembler.Packuswb(resultRegister,
+ CX86Assembler::MakeXmmRegisterAddress(tempRegister));
+
+ FreeXmmRegister(maskRegister);
+ FreeXmmRegister(tempRegister);
+
+ MD_PushReg(resultRegister);
+ }
+ else
+ {
+ throw exception();
+ }
+}
+
+void CCodeGen::MD_SllH(uint8 amount)
+{
+ MD_GenericPackedShift(bind(&CX86Assembler::PsllwVo, &m_Assembler, _1, _2), amount);
+}
+
+void CCodeGen::MD_SraH(uint8 amount)
+{
+ MD_GenericPackedShift(bind(&CX86Assembler::PsrawVo, &m_Assembler, _1, _2), amount);
+}
+
+void CCodeGen::MD_SrlH(uint8 amount)
+{
+ MD_GenericPackedShift(bind(&CX86Assembler::PsrlwVo, &m_Assembler, _1, _2), amount);
+}
+
+void CCodeGen::MD_Srl256()
+{
+ if(m_Shadow.Pull() != RELATIVE) assert(0);
+ uint32 shiftAmount = m_Shadow.Pull();
+ if(m_Shadow.Pull() != RELATIVE128) assert(0);
+ uint32 operand2 = m_Shadow.Pull();
+ if(m_Shadow.Pull() != RELATIVE128) assert(0);
+ uint32 operand1 = m_Shadow.Pull();
+
+ assert(m_nRegisterAllocated[1] == false); //eCX
+ assert(m_nRegisterAllocated[4] == false); //eSI
+ assert(m_nRegisterAllocated[5] == false); //eDI
+
+ XMMREGISTER resultRegister = AllocateXmmRegister();
+
+ //Copy both registers on the stack
+ //-----------------------------
+ m_Assembler.SubId(CX86Assembler::MakeRegisterAddress(CX86Assembler::rSP), 0x30);
+ m_Assembler.MovGd(CX86Assembler::MakeRegisterAddress(CX86Assembler::rDI), CX86Assembler::rSP);
+ m_Assembler.LeaGd(CX86Assembler::rSI, CX86Assembler::MakeIndRegOffAddress(g_nBaseRegister, operand2));
+ m_Assembler.MovId(CX86Assembler::rCX, 0x10);
+ m_Assembler.RepMovsb();
+ m_Assembler.LeaGd(CX86Assembler::rSI, CX86Assembler::MakeIndRegOffAddress(g_nBaseRegister, operand1));
+ m_Assembler.MovId(CX86Assembler::rCX, 0x10);
+ m_Assembler.RepMovsb();
+
+ //Setup SA
+ //-----------------------------
+ m_Assembler.MovEd(CX86Assembler::rAX, CX86Assembler::MakeIndRegOffAddress(g_nBaseRegister, shiftAmount));
+ m_Assembler.AndId(CX86Assembler::MakeRegisterAddress(CX86Assembler::rAX), 0x7F);
+ m_Assembler.ShrEd(CX86Assembler::MakeRegisterAddress(CX86Assembler::rAX), 0x03);
+
+ //Setup ESI
+ //-----------------------------
+ m_Assembler.LeaGd(CX86Assembler::rSI,
+ CX86Assembler::MakeBaseIndexScaleAddress(CX86Assembler::rSP, CX86Assembler::rAX, 1));
+
+ //Setup ECX
+ //-----------------------------
+ m_Assembler.MovId(CX86Assembler::rCX, 0x10);
+
+ //Generate result
+ //-----------------------------
+ m_Assembler.RepMovsb();
+
+ //Load result and free Stack
+ //-----------------------------
+ m_Assembler.MovdquVo(resultRegister,
+ CX86Assembler::MakeIndRegOffAddress(CX86Assembler::rSP, 0x20));
+ m_Assembler.AddId(CX86Assembler::MakeRegisterAddress(CX86Assembler::rSP), 0x30);
+
+ MD_PushReg(resultRegister);
+}
+
+void CCodeGen::MD_SubB()
+{
+ MD_GenericTwoOperand(bind(&CX86Assembler::PsubbVo, m_Assembler, _1, _2));
+}
+
+void CCodeGen::MD_SubW()
+{
+ MD_GenericTwoOperand(bind(&CX86Assembler::PsubdVo, m_Assembler, _1, _2));
+}
+
+void CCodeGen::MD_SubS()
+{
+ MD_GenericTwoOperand(bind(&CX86Assembler::SubpsVo, m_Assembler, _1, _2));
+}
+
+void CCodeGen::MD_UnpackLowerBH()
+{
+ MD_GenericTwoOperandReversed(bind(&CX86Assembler::PunpcklbwVo, m_Assembler, _1, _2));
+}
+
+void CCodeGen::MD_UnpackLowerHW()
+{
+ MD_GenericTwoOperandReversed(bind(&CX86Assembler::PunpcklwdVo, m_Assembler, _1, _2));
+}
+
+void CCodeGen::MD_UnpackLowerWD()
+{
+ MD_GenericTwoOperandReversed(bind(&CX86Assembler::PunpckldqVo, m_Assembler, _1, _2));
+}
+
+void CCodeGen::MD_UnpackUpperBH()
+{
+ MD_GenericTwoOperandReversed(bind(&CX86Assembler::PunpckhbwVo, m_Assembler, _1, _2));
+}
+
+void CCodeGen::MD_UnpackUpperWD()
+{
+ MD_GenericTwoOperandReversed(bind(&CX86Assembler::PunpckhdqVo, m_Assembler, _1, _2));
+}
+
+void CCodeGen::MD_Xor()
+{
+ MD_GenericTwoOperand(bind(&CX86Assembler::PxorVo, m_Assembler, _1, _2));
+}
diff --git a/Source/MIPS.h b/Source/MIPS.h
index 969d20cf..514cd0c8 100644
--- a/Source/MIPS.h
+++ b/Source/MIPS.h
@@ -41,6 +41,8 @@ __attribute__((aligned(16)))
//COP2
#ifdef WIN32
__declspec(align(16))
+#else
+__attribute__((aligned(16)))
#endif
uint128 nCOP2[32];