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];