<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -138,6 +138,11 @@ void com_triton_forcedeth::setBufSize() {
 	UInt32 mtu;
 	
 	mtu = interface-&gt;getMaxTransferUnit();
+	
+	if(mtu &gt; NV_PKTLIMIT_2) {
+		mtu = NV_PKTLIMIT_2;
+	}
+	
 	if( mtu &lt;= kIOEthernetMaxPacketSize )
 		rxBufSz = kIOEthernetMaxPacketSize + NV_RX_HEADERS;
 	else
@@ -720,11 +725,6 @@ void com_triton_forcedeth::txDone() {
 }
 
 void com_triton_forcedeth::updateMulticast(UInt32 pff, UInt32 addrA, UInt32 addrB, UInt32 maskA, UInt32 maskB) {
-	if(locked) {
-		IOLog(&quot;updateMulticast mutex violation&quot;);
-	} else {
-		locked = true;
-	}
 
 	addrA |= NVREG_MCASTADDRA_FORCE;
 	pff |= NVREG_PFF_ALWAYS;
@@ -737,7 +737,5 @@ void com_triton_forcedeth::updateMulticast(UInt32 pff, UInt32 addrA, UInt32 addr
 	writeRegister(NvRegPacketFilterFlags, pff);
 	startRx();
 	
-	locked = false;
-	
 	//IOLockUnlock(lock);
 }</diff>
      <filename>forcedeth-helper.cpp</filename>
    </modified>
    <modified>
      <diff>@@ -47,11 +47,16 @@ OSDefineMetaClassAndStructors(com_triton_forcedeth, IOEthernetController)
 void com_triton_forcedeth::nicIRQ() {
 	int i;
 	UInt32 events;
+	uint32_t sec;
+	uint32_t usec;
+	UInt64 curTime;
 	
-	if(locked) {
-		IOLog(&quot;nicIRQ mutex violation&quot;);
-	} else {
-		locked = true;
+	clock_get_system_microtime(&amp;sec, &amp;usec);
+	curTime = (sec * 1000000UL) + usec;
+	
+	if(needLinkTimer &amp;&amp; (curTime &gt;= linkTimeout)) {
+		linkChange();
+		linkTimeout = curTime + LINK_TIMEOUT;
 	}
 	
 	for( i = 0; ; i++ ) {
@@ -75,6 +80,7 @@ void com_triton_forcedeth::nicIRQ() {
 			//IOLockUnlock(lock);
 		}
 		
+		
 		if( events &amp; NVREG_IRQ_TX_ERR ) {
 			IOLog(&quot;forcedeth: Received irq with events 0x%x. Probably TX fail.\n&quot;, events);
 		}
@@ -94,8 +100,6 @@ void com_triton_forcedeth::nicIRQ() {
 			break;
 		}
 	}
-	
-	locked = false;
 }
 void com_triton_forcedeth::doNicPoll() {
 	interrupt-&gt;disable();
@@ -114,18 +118,11 @@ UInt32 com_triton_forcedeth::outputPacket(mbuf_t buf, void *param) {
 	unsigned int nr;
 	IOPhysicalSegment vector[TX_LIMIT_STOP];
 	
-	if(locked) {
-		IOLog(&quot;outputPacket mutex violation&quot;);
-	} else {
-		locked = true;
-	}
-	
 	//IOLockLock(lock);
 
 	if( (nextTx - nicTx) &gt; TX_LIMIT_STOP ) {
 		//IOLockUnlock(lock);
 		IOLog(&quot;forcedeth: NIC ring full, stalling.\n&quot;);
-		locked = false;
 		return kIOReturnOutputStall;
 	}
 
@@ -137,7 +134,6 @@ UInt32 com_triton_forcedeth::outputPacket(mbuf_t buf, void *param) {
 	if( (segments = txMbufCursor-&gt;getPhysicalSegmentsWithCoalesce(buf, &amp;vector[0], maxSegments)) == 0 ) {
 		//IOLockUnlock(lock);
 		IOLog(&quot;forcedeth: NIC ring full, stalling.\n&quot;);
-		locked = false;
 		return kIOReturnOutputStall;
 	}
 	
@@ -180,8 +176,6 @@ UInt32 com_triton_forcedeth::outputPacket(mbuf_t buf, void *param) {
 	//IOLockUnlock(lock);
 	
 	writeRegister(NvRegTxRxControl, NVREG_TXRXCTL_KICK | txrxCtlBits);
-
-	locked = false;
 	return kIOReturnOutputSuccess;
 }
 
@@ -189,7 +183,7 @@ bool com_triton_forcedeth::init(OSDictionary *dict)
 {
 	OSBoolean *boolVal;
     bool res = super::init(dict);
-	IOLog(&quot;forcedeth: Version 0.3\n&quot;);
+	IOLog(&quot;forcedeth: Version 0.3c\n&quot;);
     IOLog(&quot;forcedeth: Initializing.\n&quot;);
 	
 	//lock = IOLockAlloc();
@@ -205,8 +199,6 @@ bool com_triton_forcedeth::init(OSDictionary *dict)
 	workLoop = NULL;
 	dictionary = NULL;
 	
-	locked = false;
-	
 	if( (boolVal = (OSBoolean *)getProperty(&quot;ChecksumReceive&quot;)) &amp;&amp; boolVal-&gt;isTrue() ) {
 		rxCRC = true;
 	} else {
@@ -276,6 +268,7 @@ IOService *com_triton_forcedeth::probe(IOService *provider, SInt32
 		deviceID = device-&gt;configRead16(kIOPCIConfigDeviceID);
 		subVendID = device-&gt;configRead16(kIOPCIConfigSubSystemVendorID);
 		subDevID = device-&gt;configRead16(kIOPCIConfigSubSystemID);
+		revisionID = device-&gt;configRead8(kIOPCIConfigRevisionID);
 			
 		i = 0;
 		found = false;
@@ -309,16 +302,6 @@ IOService *com_triton_forcedeth::probe(IOService *provider, SInt32
 	return res;
 }
 
-/*bool com_triton_forcedeth::createWorkLoop() {
-	workLoop = IOWorkLoop::workLoop();
-
-	return (workLoop != NULL);
-}
-
-IOWorkLoop* com_triton_forcedeth::getWorkLoop() const {
-	return workLoop;
-}*/
- 
 bool com_triton_forcedeth::start(IOService *provider)
 {
 	int i;
@@ -346,10 +329,10 @@ bool com_triton_forcedeth::start(IOService *provider)
 		pktLimit = NV_PKTLIMIT_2;
 		txrxCtlBits = NVREG_TXRXCTL_DESC_2 | NVREG_TXRXCTL_RXCHECK;
 
-		IOLog(&quot;forcedeth: PCI system 0x%04X:0x%04X, subsystem 0x%04X:0x%04X opened.\n&quot;, vendorID, deviceID, subVendID, subDevID);
+		IOLog(&quot;forcedeth: PCI system 0x%04X:0x%04X, subsystem 0x%04X:0x%04X revision 0x%02X opened.\n&quot;, vendorID, deviceID, subVendID, subDevID, revisionID);
 
 		memSize = NV_PCI_REGSZ;
-		if (deviceID == 0x03EF)
+		if (deviceID == 0x03EF || deviceID == 0x0373 || deviceID == 0x0372)
 			memSize = NV_PCI_REGSZ_VER3;
 
 		memCount = device-&gt;getDeviceMemoryCount();
@@ -396,7 +379,7 @@ bool com_triton_forcedeth::start(IOService *provider)
 		origMac[0] = readRegister(NvRegMacAddrA);
 		origMac[1] = readRegister(NvRegMacAddrB);
 		
-		if (deviceID == 0x03EF) {
+		if (memSize == NV_PCI_REGSZ_VER3) {
 			/* mac address is already in correct order */
 			macAddr.bytes[0] = (origMac[0] &gt;&gt; 0) &amp; 0xff;
 			macAddr.bytes[1] = (origMac[0] &gt;&gt; 8) &amp; 0xff;
@@ -435,11 +418,14 @@ bool com_triton_forcedeth::start(IOService *provider)
 		writeRegister(NvRegWakeUpFlags, 0);
 		wolEnabled = false;
 		
-		if (deviceID == 0x03EF) 
+		if (deviceID == 0x03EF || deviceID == 0x0373 || deviceID == 0x0372 || deviceID == 0x0269 || deviceID == 0x0268) 
 		{
-			/* take phy and nic out of low power mode */
+			IOLog(&quot;forcedeth: Taking PHY and NIC out of low power mode\n&quot;);
 			powerstate = readRegister(NvRegPowerState2);
 			powerstate &amp;= ~NVREG_POWERSTATE2_POWERUP_MASK;
+			if((deviceID == 0x0269 || deviceID == 0x0268) &amp;&amp; revisionID &gt;= 0xA3) {
+				powerstate |= NVREG_POWERSTATE2_POWERUP_REV_A3;
+			}
 			writeRegister(NvRegPowerState2, (UInt32) powerstate);
 		}
 
@@ -450,8 +436,22 @@ bool com_triton_forcedeth::start(IOService *provider)
 		if( timerIRQ )
 			irqMask |= NVREG_IRQ_TIMER;
 
+
 		needLinkTimer = true;
-		linkTimeout = LINK_TIMEOUT;
+		
+		{
+			uint32_t sec;
+			uint32_t usec;
+			UInt64 curTime;
+			
+			clock_get_system_microtime(&amp;sec, &amp;usec);
+			curTime = (sec * 1000000UL) + usec;
+			
+			if(needLinkTimer &amp;&amp; (curTime &gt;= linkTimeout)) {
+				linkIRQ();
+				linkTimeout = curTime + LINK_TIMEOUT;
+			}
+		}
 
 		phyAddr = 0;
 		phyOui = 0;
@@ -549,6 +549,10 @@ IOReturn com_triton_forcedeth::enable(IOService *provider)
 		IOLog(&quot;1&quot;);
 
 		// 2) initialize descriptor rings
+		nicTx = 0;
+		curRx = 0;
+		linkspeed = 0;
+		
 		setBufSize();
 		if( !initRing() )
 			break;
@@ -559,6 +563,7 @@ IOReturn com_triton_forcedeth::enable(IOService *provider)
 		writeRegister(NvRegUnknownSetupReg6, 0);
 		inShutdown = 0;
 		
+		
 		IOLog(&quot; 2&quot;);
 		
 		// 3) set mac address
@@ -768,11 +773,6 @@ IOReturn com_triton_forcedeth::getHardwareAddress(IOEthernetAddress * addrP)
 
 IOReturn com_triton_forcedeth::setHardwareAddress(const IOEthernetAddress * addrP)
 {	
-	if(locked) {
-		IOLog(&quot;setHardwareAddress mutex violation&quot;);
-	} else {
-		locked = true;
-	}
 
 	macAddr = *addrP;;
 	if( ifEnabled ) {
@@ -785,11 +785,8 @@ IOReturn com_triton_forcedeth::setHardwareAddress(const IOEthernetAddress * addr
 		startRx();
 		//IOLockUnlock(lock);
 		outputQueue-&gt;start();
-		
-		locked = false;
 		return kIOReturnSuccess;
 	} else {
-		locked = false;
 		copyMacToHW();
 		return kIOReturnSuccess;
 	}
@@ -798,12 +795,6 @@ IOReturn com_triton_forcedeth::setHardwareAddress(const IOEthernetAddress * addr
 IOReturn com_triton_forcedeth::setWakeOnMagicPacket(bool active)
 {	
 	//IOLockLock(lock);
-	if(locked) {
-		IOLog(&quot;setWakeOnMagicPacket mutex violation&quot;);
-	} else {
-		locked = true;
-	}
-	
 	if( active ) {
 		writeRegister(NvRegWakeUpFlags, NVREG_WAKEUPFLAGS_ENABLE);
 		wolEnabled = true;
@@ -812,8 +803,6 @@ IOReturn com_triton_forcedeth::setWakeOnMagicPacket(bool active)
 		wolEnabled = false;
 	}
 	//IOLockUnlock(lock);
-	
-	locked = false;
 	return kIOReturnSuccess;
 }
 </diff>
      <filename>forcedeth.cpp</filename>
    </modified>
    <modified>
      <diff>@@ -300,7 +300,7 @@ enum {
 #define HZ 100
 #define OOM_REFILL      (1+HZ/20)
 #define POLL_WAIT       (1+HZ/100)
-#define LINK_TIMEOUT    (3*HZ)
+#define LINK_TIMEOUT    (3*HZ*100)
 
 /* PHY defines */
 #define PHY_OUI_MARVELL 0x5043
@@ -393,6 +393,7 @@ private:
 	UInt16		deviceID;
 	UInt16		subVendID;
 	UInt16		subDevID;
+	UInt8		revisionID;
 	
 	IOWorkLoop			*workLoop;
 	IOTimerEventSource	*nicPollTimer;
@@ -430,8 +431,6 @@ private:
 	bool			timerIRQ;
 	bool			debugMode;
 	
-	bool locked;
-	
 	/* rx specific fields.
 		* Locking: Within irq hander or disable_irq+spin_lock(&amp;np-&gt;lock);
 	*/
@@ -456,7 +455,7 @@ private:
 	/* media detection workaround.
 		* Locking: Within irq hander or disable_irq+spin_lock(&amp;np-&gt;lock); */
 	bool			needLinkTimer;
-	unsigned long	linkTimeout;
+	UInt64			linkTimeout;
 	
 	// Some memory crap. I'm learning way too much about this shit.
 	IOMbufNaturalMemoryCursor *rxMbufCursor;</diff>
      <filename>forcedeth.h</filename>
    </modified>
    <modified>
      <diff>@@ -200,24 +200,24 @@
 			&lt;key&gt;Content&lt;/key&gt;
 			&lt;dict&gt;
 				&lt;key&gt;PBXProjectModuleGUID&lt;/key&gt;
-				&lt;string&gt;633D21BF0DC10E110054C0E5&lt;/string&gt;
+				&lt;string&gt;638058B30DC14D9D001EE63B&lt;/string&gt;
 				&lt;key&gt;PBXProjectModuleLabel&lt;/key&gt;
-				&lt;string&gt;Info.plist&lt;/string&gt;
+				&lt;string&gt;forcedeth.cpp&lt;/string&gt;
 				&lt;key&gt;PBXSplitModuleInNavigatorKey&lt;/key&gt;
 				&lt;dict&gt;
 					&lt;key&gt;Split0&lt;/key&gt;
 					&lt;dict&gt;
 						&lt;key&gt;PBXProjectModuleGUID&lt;/key&gt;
-						&lt;string&gt;633D21C00DC10E110054C0E5&lt;/string&gt;
+						&lt;string&gt;638058B40DC14D9D001EE63B&lt;/string&gt;
 						&lt;key&gt;PBXProjectModuleLabel&lt;/key&gt;
-						&lt;string&gt;Info.plist&lt;/string&gt;
+						&lt;string&gt;forcedeth.cpp&lt;/string&gt;
 						&lt;key&gt;_historyCapacity&lt;/key&gt;
 						&lt;integer&gt;0&lt;/integer&gt;
 						&lt;key&gt;bookmark&lt;/key&gt;
-						&lt;string&gt;6373C85A0DC111E700FCBD8F&lt;/string&gt;
+						&lt;string&gt;638058CB0DC14F0B001EE63B&lt;/string&gt;
 						&lt;key&gt;history&lt;/key&gt;
 						&lt;array&gt;
-							&lt;string&gt;63E22ADF0DC111A400CECBFD&lt;/string&gt;
+							&lt;string&gt;638058BF0DC14E23001EE63B&lt;/string&gt;
 						&lt;/array&gt;
 					&lt;/dict&gt;
 					&lt;key&gt;SplitCount&lt;/key&gt;
@@ -229,35 +229,35 @@
 			&lt;key&gt;Geometry&lt;/key&gt;
 			&lt;dict&gt;
 				&lt;key&gt;Frame&lt;/key&gt;
-				&lt;string&gt;{{0, 20}, {750, 461}}&lt;/string&gt;
+				&lt;string&gt;{{0, 20}, {1219, 566}}&lt;/string&gt;
 				&lt;key&gt;PBXModuleWindowStatusBarHidden2&lt;/key&gt;
 				&lt;false/&gt;
 				&lt;key&gt;RubberWindowFrame&lt;/key&gt;
-				&lt;string&gt;11 241 750 502 0 0 1280 1002 &lt;/string&gt;
+				&lt;string&gt;38 139 1219 607 0 0 1280 1002 &lt;/string&gt;
 			&lt;/dict&gt;
 		&lt;/dict&gt;
 		&lt;dict&gt;
 			&lt;key&gt;Content&lt;/key&gt;
 			&lt;dict&gt;
 				&lt;key&gt;PBXProjectModuleGUID&lt;/key&gt;
-				&lt;string&gt;632CAA7F0DC043AC00168676&lt;/string&gt;
+				&lt;string&gt;638D22F30DC053EE0044A3FC&lt;/string&gt;
 				&lt;key&gt;PBXProjectModuleLabel&lt;/key&gt;
-				&lt;string&gt;forcedeth.h&lt;/string&gt;
+				&lt;string&gt;forcedeth-helper.cpp&lt;/string&gt;
 				&lt;key&gt;PBXSplitModuleInNavigatorKey&lt;/key&gt;
 				&lt;dict&gt;
 					&lt;key&gt;Split0&lt;/key&gt;
 					&lt;dict&gt;
 						&lt;key&gt;PBXProjectModuleGUID&lt;/key&gt;
-						&lt;string&gt;632CAA800DC043AC00168676&lt;/string&gt;
+						&lt;string&gt;638D22F40DC053EE0044A3FC&lt;/string&gt;
 						&lt;key&gt;PBXProjectModuleLabel&lt;/key&gt;
-						&lt;string&gt;forcedeth.h&lt;/string&gt;
+						&lt;string&gt;forcedeth-helper.cpp&lt;/string&gt;
 						&lt;key&gt;_historyCapacity&lt;/key&gt;
 						&lt;integer&gt;0&lt;/integer&gt;
 						&lt;key&gt;bookmark&lt;/key&gt;
-						&lt;string&gt;6373C85B0DC111E700FCBD8F&lt;/string&gt;
+						&lt;string&gt;638058CC0DC14F0B001EE63B&lt;/string&gt;
 						&lt;key&gt;history&lt;/key&gt;
 						&lt;array&gt;
-							&lt;string&gt;63E22AE00DC111A400CECBFD&lt;/string&gt;
+							&lt;string&gt;638058C10DC14E23001EE63B&lt;/string&gt;
 						&lt;/array&gt;
 					&lt;/dict&gt;
 					&lt;key&gt;SplitCount&lt;/key&gt;
@@ -273,31 +273,31 @@
 				&lt;key&gt;PBXModuleWindowStatusBarHidden2&lt;/key&gt;
 				&lt;false/&gt;
 				&lt;key&gt;RubberWindowFrame&lt;/key&gt;
-				&lt;string&gt;661 304 750 502 0 0 1280 1002 &lt;/string&gt;
+				&lt;string&gt;171 350 750 502 0 0 1280 1002 &lt;/string&gt;
 			&lt;/dict&gt;
 		&lt;/dict&gt;
 		&lt;dict&gt;
 			&lt;key&gt;Content&lt;/key&gt;
 			&lt;dict&gt;
 				&lt;key&gt;PBXProjectModuleGUID&lt;/key&gt;
-				&lt;string&gt;638D22F30DC053EE0044A3FC&lt;/string&gt;
+				&lt;string&gt;632CAA7F0DC043AC00168676&lt;/string&gt;
 				&lt;key&gt;PBXProjectModuleLabel&lt;/key&gt;
-				&lt;string&gt;forcedeth-helper.cpp&lt;/string&gt;
+				&lt;string&gt;forcedeth.h&lt;/string&gt;
 				&lt;key&gt;PBXSplitModuleInNavigatorKey&lt;/key&gt;
 				&lt;dict&gt;
 					&lt;key&gt;Split0&lt;/key&gt;
 					&lt;dict&gt;
 						&lt;key&gt;PBXProjectModuleGUID&lt;/key&gt;
-						&lt;string&gt;638D22F40DC053EE0044A3FC&lt;/string&gt;
+						&lt;string&gt;632CAA800DC043AC00168676&lt;/string&gt;
 						&lt;key&gt;PBXProjectModuleLabel&lt;/key&gt;
-						&lt;string&gt;forcedeth-helper.cpp&lt;/string&gt;
+						&lt;string&gt;forcedeth.h&lt;/string&gt;
 						&lt;key&gt;_historyCapacity&lt;/key&gt;
 						&lt;integer&gt;0&lt;/integer&gt;
 						&lt;key&gt;bookmark&lt;/key&gt;
-						&lt;string&gt;6373C85C0DC111E700FCBD8F&lt;/string&gt;
+						&lt;string&gt;638058CD0DC14F0B001EE63B&lt;/string&gt;
 						&lt;key&gt;history&lt;/key&gt;
 						&lt;array&gt;
-							&lt;string&gt;63E22AE10DC111A400CECBFD&lt;/string&gt;
+							&lt;string&gt;638058B60DC14D9D001EE63B&lt;/string&gt;
 						&lt;/array&gt;
 					&lt;/dict&gt;
 					&lt;key&gt;SplitCount&lt;/key&gt;
@@ -313,7 +313,7 @@
 				&lt;key&gt;PBXModuleWindowStatusBarHidden2&lt;/key&gt;
 				&lt;false/&gt;
 				&lt;key&gt;RubberWindowFrame&lt;/key&gt;
-				&lt;string&gt;171 350 750 502 0 0 1280 1002 &lt;/string&gt;
+				&lt;string&gt;392 431 750 502 0 0 1280 1002 &lt;/string&gt;
 			&lt;/dict&gt;
 		&lt;/dict&gt;
 	&lt;/array&gt;
@@ -350,6 +350,8 @@
 			&lt;key&gt;Layout&lt;/key&gt;
 			&lt;array&gt;
 				&lt;dict&gt;
+					&lt;key&gt;BecomeActive&lt;/key&gt;
+					&lt;true/&gt;
 					&lt;key&gt;ContentConfiguration&lt;/key&gt;
 					&lt;dict&gt;
 						&lt;key&gt;PBXBottomSmartGroupGIDs&lt;/key&gt;
@@ -397,7 +399,9 @@
 							&lt;key&gt;PBXSmartGroupTreeModuleOutlineStateSelectionKey&lt;/key&gt;
 							&lt;array&gt;
 								&lt;array&gt;
-									&lt;integer&gt;25&lt;/integer&gt;
+									&lt;integer&gt;4&lt;/integer&gt;
+									&lt;integer&gt;1&lt;/integer&gt;
+									&lt;integer&gt;0&lt;/integer&gt;
 								&lt;/array&gt;
 							&lt;/array&gt;
 							&lt;key&gt;PBXSmartGroupTreeModuleOutlineStateVisibleRectKey&lt;/key&gt;
@@ -431,14 +435,12 @@
 					&lt;key&gt;Dock&lt;/key&gt;
 					&lt;array&gt;
 						&lt;dict&gt;
-							&lt;key&gt;BecomeActive&lt;/key&gt;
-							&lt;true/&gt;
 							&lt;key&gt;ContentConfiguration&lt;/key&gt;
 							&lt;dict&gt;
 								&lt;key&gt;PBXProjectModuleGUID&lt;/key&gt;
 								&lt;string&gt;1CE0B20306471E060097A5F4&lt;/string&gt;
 								&lt;key&gt;PBXProjectModuleLabel&lt;/key&gt;
-								&lt;string&gt;forcedeth.h&lt;/string&gt;
+								&lt;string&gt;forcedeth.cpp&lt;/string&gt;
 								&lt;key&gt;PBXSplitModuleInNavigatorKey&lt;/key&gt;
 								&lt;dict&gt;
 									&lt;key&gt;Split0&lt;/key&gt;
@@ -446,11 +448,11 @@
 										&lt;key&gt;PBXProjectModuleGUID&lt;/key&gt;
 										&lt;string&gt;1CE0B20406471E060097A5F4&lt;/string&gt;
 										&lt;key&gt;PBXProjectModuleLabel&lt;/key&gt;
-										&lt;string&gt;forcedeth.h&lt;/string&gt;
+										&lt;string&gt;forcedeth.cpp&lt;/string&gt;
 										&lt;key&gt;_historyCapacity&lt;/key&gt;
 										&lt;integer&gt;0&lt;/integer&gt;
 										&lt;key&gt;bookmark&lt;/key&gt;
-										&lt;string&gt;6373C8590DC111E700FCBD8F&lt;/string&gt;
+										&lt;string&gt;638058CA0DC14F0B001EE63B&lt;/string&gt;
 										&lt;key&gt;history&lt;/key&gt;
 										&lt;array&gt;
 											&lt;string&gt;63F307FA09D912660022A7CA&lt;/string&gt;
@@ -463,8 +465,8 @@
 											&lt;string&gt;63AD49AF0DC110B6008A1AA4&lt;/string&gt;
 											&lt;string&gt;63AD49B00DC110B6008A1AA4&lt;/string&gt;
 											&lt;string&gt;63AD49B10DC110B6008A1AA4&lt;/string&gt;
-											&lt;string&gt;6373C84F0DC111E700FCBD8F&lt;/string&gt;
-											&lt;string&gt;6373C8500DC111E700FCBD8F&lt;/string&gt;
+											&lt;string&gt;6380585D0DC14ADB001EE63B&lt;/string&gt;
+											&lt;string&gt;638058BD0DC14E23001EE63B&lt;/string&gt;
 										&lt;/array&gt;
 										&lt;key&gt;prevStack&lt;/key&gt;
 										&lt;array&gt;
@@ -480,7 +482,6 @@
 											&lt;string&gt;63D0D4AE09DB3BA20021823D&lt;/string&gt;
 											&lt;string&gt;63AC38E40D1B7E17001DA8D9&lt;/string&gt;
 											&lt;string&gt;632CAA780DC043AC00168676&lt;/string&gt;
-											&lt;string&gt;6373C8510DC111E700FCBD8F&lt;/string&gt;
 										&lt;/array&gt;
 									&lt;/dict&gt;
 									&lt;key&gt;SplitCount&lt;/key&gt;
@@ -538,9 +539,9 @@
 			&lt;/array&gt;
 			&lt;key&gt;TableOfContents&lt;/key&gt;
 			&lt;array&gt;
-				&lt;string&gt;6373C8530DC111E700FCBD8F&lt;/string&gt;
+				&lt;string&gt;6380589C0DC14D0A001EE63B&lt;/string&gt;
 				&lt;string&gt;1CE0B1FE06471DED0097A5F4&lt;/string&gt;
-				&lt;string&gt;6373C8540DC111E700FCBD8F&lt;/string&gt;
+				&lt;string&gt;6380589D0DC14D0A001EE63B&lt;/string&gt;
 				&lt;string&gt;1CE0B20306471E060097A5F4&lt;/string&gt;
 				&lt;string&gt;1CE0B20506471E060097A5F4&lt;/string&gt;
 			&lt;/array&gt;
@@ -672,11 +673,11 @@
 	&lt;integer&gt;5&lt;/integer&gt;
 	&lt;key&gt;WindowOrderList&lt;/key&gt;
 	&lt;array&gt;
-		&lt;string&gt;638D22F30DC053EE0044A3FC&lt;/string&gt;
-		&lt;string&gt;632CAA7F0DC043AC00168676&lt;/string&gt;
-		&lt;string&gt;633D21BF0DC10E110054C0E5&lt;/string&gt;
 		&lt;string&gt;632CAA830DC043AC00168676&lt;/string&gt;
+		&lt;string&gt;632CAA7F0DC043AC00168676&lt;/string&gt;
 		&lt;string&gt;/Users/david/Downloads/forcedeth-osx/forcedeth.xcodeproj&lt;/string&gt;
+		&lt;string&gt;638D22F30DC053EE0044A3FC&lt;/string&gt;
+		&lt;string&gt;638058B30DC14D9D001EE63B&lt;/string&gt;
 	&lt;/array&gt;
 	&lt;key&gt;WindowString&lt;/key&gt;
 	&lt;string&gt;-13 264 1187 716 0 0 1280 1002 &lt;/string&gt;
@@ -695,14 +696,12 @@
 					&lt;key&gt;Dock&lt;/key&gt;
 					&lt;array&gt;
 						&lt;dict&gt;
-							&lt;key&gt;BecomeActive&lt;/key&gt;
-							&lt;true/&gt;
 							&lt;key&gt;ContentConfiguration&lt;/key&gt;
 							&lt;dict&gt;
 								&lt;key&gt;PBXProjectModuleGUID&lt;/key&gt;
 								&lt;string&gt;1CD0528F0623707200166675&lt;/string&gt;
 								&lt;key&gt;PBXProjectModuleLabel&lt;/key&gt;
-								&lt;string&gt;forcedeth.h&lt;/string&gt;
+								&lt;string&gt;forcedeth.cpp&lt;/string&gt;
 								&lt;key&gt;StatusBarVisibility&lt;/key&gt;
 								&lt;true/&gt;
 							&lt;/dict&gt;
@@ -719,6 +718,8 @@
 							&lt;string&gt;275pt&lt;/string&gt;
 						&lt;/dict&gt;
 						&lt;dict&gt;
+							&lt;key&gt;BecomeActive&lt;/key&gt;
+							&lt;true/&gt;
 							&lt;key&gt;ContentConfiguration&lt;/key&gt;
 							&lt;dict&gt;
 								&lt;key&gt;PBXProjectModuleGUID&lt;/key&gt;
@@ -758,7 +759,7 @@
 			&lt;key&gt;TableOfContents&lt;/key&gt;
 			&lt;array&gt;
 				&lt;string&gt;632CAA830DC043AC00168676&lt;/string&gt;
-				&lt;string&gt;6373C8580DC111E700FCBD8F&lt;/string&gt;
+				&lt;string&gt;638058A20DC14D0A001EE63B&lt;/string&gt;
 				&lt;string&gt;1CD0528F0623707200166675&lt;/string&gt;
 				&lt;string&gt;XCMainBuildResultsModuleGUID&lt;/string&gt;
 			&lt;/array&gt;</diff>
      <filename>forcedeth.xcodeproj/david.mode1v3</filename>
    </modified>
    <modified>
      <diff>@@ -116,7 +116,7 @@
 					16,
 					200,
 					50,
-					830.2085,
+					680.20849609375,
 				);
 				PBXFileTableDataSourceColumnsKey = (
 					PBXSymbolsDataSource_SymbolTypeIconID,
@@ -171,42 +171,41 @@
 					PBXFileDataSource_Warnings_ColumnID,
 				);
 			};
-			PBXPerProjectTemplateStateSaveDate = 230756824;
-			PBXWorkspaceStateSaveDate = 230756824;
+			PBXPerProjectTemplateStateSaveDate = 230843311;
+			PBXWorkspaceStateSaveDate = 230843311;
 		};
 		perUserProjectItems = {
-			631B016F0DC07D1500BDDDF5 /* PBXTextBookmark */ = 631B016F0DC07D1500BDDDF5 /* PBXTextBookmark */;
-			632CAA780DC043AC00168676 /* PBXTextBookmark */ = 632CAA780DC043AC00168676 /* PBXTextBookmark */;
-			633D21C50DC10E750054C0E5 /* PBXTextBookmark */ = 633D21C50DC10E750054C0E5 /* PBXTextBookmark */;
-			633D21C60DC10E750054C0E5 /* PBXTextBookmark */ = 633D21C60DC10E750054C0E5 /* PBXTextBookmark */;
-			6373C84F0DC111E700FCBD8F /* PBXTextBookmark */ = 6373C84F0DC111E700FCBD8F /* PBXTextBookmark */;
-			6373C8500DC111E700FCBD8F /* PBXTextBookmark */ = 6373C8500DC111E700FCBD8F /* PBXTextBookmark */;
-			6373C8510DC111E700FCBD8F /* PBXTextBookmark */ = 6373C8510DC111E700FCBD8F /* PBXTextBookmark */;
-			6373C8590DC111E700FCBD8F /* PBXTextBookmark */ = 6373C8590DC111E700FCBD8F /* PBXTextBookmark */;
-			6373C85A0DC111E700FCBD8F /* PBXTextBookmark */ = 6373C85A0DC111E700FCBD8F /* PBXTextBookmark */;
-			6373C85B0DC111E700FCBD8F /* PBXTextBookmark */ = 6373C85B0DC111E700FCBD8F /* PBXTextBookmark */;
-			6373C85C0DC111E700FCBD8F /* PBXTextBookmark */ = 6373C85C0DC111E700FCBD8F /* PBXTextBookmark */;
-			63AC38D10D1B7E17001DA8D9 /* PBXTextBookmark */ = 63AC38D10D1B7E17001DA8D9 /* PBXTextBookmark */;
-			63AC38E40D1B7E17001DA8D9 /* PBXTextBookmark */ = 63AC38E40D1B7E17001DA8D9 /* PBXTextBookmark */;
-			63AD49AF0DC110B6008A1AA4 /* PBXTextBookmark */ = 63AD49AF0DC110B6008A1AA4 /* PBXTextBookmark */;
-			63AD49B00DC110B6008A1AA4 /* PBXTextBookmark */ = 63AD49B00DC110B6008A1AA4 /* PBXTextBookmark */;
-			63AD49B10DC110B6008A1AA4 /* PBXTextBookmark */ = 63AD49B10DC110B6008A1AA4 /* PBXTextBookmark */;
-			63BF441D09DB321A0025B937 /* PBXTextBookmark */ = 63BF441D09DB321A0025B937 /* PBXTextBookmark */;
-			63BF442009DB321A0025B937 /* PBXTextBookmark */ = 63BF442009DB321A0025B937 /* PBXTextBookmark */;
-			63D0D45F09DB39CB0021823D /* PBXTextBookmark */ = 63D0D45F09DB39CB0021823D /* PBXTextBookmark */;
-			63D0D4A109DB3BA20021823D /* PBXTextBookmark */ = 63D0D4A109DB3BA20021823D /* PBXTextBookmark */;
-			63D0D4AE09DB3BA20021823D /* PBXTextBookmark */ = 63D0D4AE09DB3BA20021823D /* PBXTextBookmark */;
-			63D94FCE09D9606B0079EB2E /* PBXTextBookmark */ = 63D94FCE09D9606B0079EB2E /* PBXTextBookmark */;
-			63E22ADF0DC111A400CECBFD /* PBXTextBookmark */ = 63E22ADF0DC111A400CECBFD /* PBXTextBookmark */;
-			63E22AE00DC111A400CECBFD /* PBXTextBookmark */ = 63E22AE00DC111A400CECBFD /* PBXTextBookmark */;
-			63E22AE10DC111A400CECBFD /* PBXTextBookmark */ = 63E22AE10DC111A400CECBFD /* PBXTextBookmark */;
-			63E9563109D91AC90088FC0C /* PBXTextBookmark */ = 63E9563109D91AC90088FC0C /* PBXTextBookmark */;
-			63E9563A09D91B5B0088FC0C /* PBXTextBookmark */ = 63E9563A09D91B5B0088FC0C /* PBXTextBookmark */;
-			63E9643309D91DD00088FC0C /* PBXTextBookmark */ = 63E9643309D91DD00088FC0C /* PBXTextBookmark */;
-			63E9643609D91DD00088FC0C /* PBXTextBookmark */ = 63E9643609D91DD00088FC0C /* PBXTextBookmark */;
-			63E9643A09D91DD00088FC0C /* PBXTextBookmark */ = 63E9643A09D91DD00088FC0C /* PBXTextBookmark */;
-			63F307FA09D912660022A7CA /* PBXTextBookmark */ = 63F307FA09D912660022A7CA /* PBXTextBookmark */;
-			63F307FD09D912660022A7CA /* PBXTextBookmark */ = 63F307FD09D912660022A7CA /* PBXTextBookmark */;
+			631B016F0DC07D1500BDDDF5 = 631B016F0DC07D1500BDDDF5 /* PBXTextBookmark */;
+			632CAA780DC043AC00168676 = 632CAA780DC043AC00168676 /* PBXTextBookmark */;
+			633D21C50DC10E750054C0E5 = 633D21C50DC10E750054C0E5 /* PBXTextBookmark */;
+			633D21C60DC10E750054C0E5 = 633D21C60DC10E750054C0E5 /* PBXTextBookmark */;
+			6380585D0DC14ADB001EE63B = 6380585D0DC14ADB001EE63B /* PBXTextBookmark */;
+			638058B60DC14D9D001EE63B = 638058B60DC14D9D001EE63B /* PBXTextBookmark */;
+			638058BD0DC14E23001EE63B = 638058BD0DC14E23001EE63B /* PBXTextBookmark */;
+			638058BF0DC14E23001EE63B = 638058BF0DC14E23001EE63B /* PBXTextBookmark */;
+			638058C10DC14E23001EE63B = 638058C10DC14E23001EE63B /* PBXTextBookmark */;
+			638058CA0DC14F0B001EE63B = 638058CA0DC14F0B001EE63B /* PBXTextBookmark */;
+			638058CB0DC14F0B001EE63B = 638058CB0DC14F0B001EE63B /* PBXTextBookmark */;
+			638058CC0DC14F0B001EE63B = 638058CC0DC14F0B001EE63B /* PBXTextBookmark */;
+			638058CD0DC14F0B001EE63B = 638058CD0DC14F0B001EE63B /* PBXTextBookmark */;
+			63AC38D10D1B7E17001DA8D9 = 63AC38D10D1B7E17001DA8D9 /* PBXTextBookmark */;
+			63AC38E40D1B7E17001DA8D9 = 63AC38E40D1B7E17001DA8D9 /* PBXTextBookmark */;
+			63AD49AF0DC110B6008A1AA4 = 63AD49AF0DC110B6008A1AA4 /* PBXTextBookmark */;
+			63AD49B00DC110B6008A1AA4 = 63AD49B00DC110B6008A1AA4 /* PBXTextBookmark */;
+			63AD49B10DC110B6008A1AA4 = 63AD49B10DC110B6008A1AA4 /* PBXTextBookmark */;
+			63BF441D09DB321A0025B937 = 63BF441D09DB321A0025B937 /* PBXTextBookmark */;
+			63BF442009DB321A0025B937 = 63BF442009DB321A0025B937 /* PBXTextBookmark */;
+			63D0D45F09DB39CB0021823D = 63D0D45F09DB39CB0021823D /* PBXTextBookmark */;
+			63D0D4A109DB3BA20021823D = 63D0D4A109DB3BA20021823D /* PBXTextBookmark */;
+			63D0D4AE09DB3BA20021823D = 63D0D4AE09DB3BA20021823D /* PBXTextBookmark */;
+			63D94FCE09D9606B0079EB2E = 63D94FCE09D9606B0079EB2E /* PBXTextBookmark */;
+			63E9563109D91AC90088FC0C = 63E9563109D91AC90088FC0C /* PBXTextBookmark */;
+			63E9563A09D91B5B0088FC0C = 63E9563A09D91B5B0088FC0C /* PBXTextBookmark */;
+			63E9643309D91DD00088FC0C = 63E9643309D91DD00088FC0C /* PBXTextBookmark */;
+			63E9643609D91DD00088FC0C = 63E9643609D91DD00088FC0C /* PBXTextBookmark */;
+			63E9643A09D91DD00088FC0C = 63E9643A09D91DD00088FC0C /* PBXTextBookmark */;
+			63F307FA09D912660022A7CA = 63F307FA09D912660022A7CA /* PBXTextBookmark */;
+			63F307FD09D912660022A7CA = 63F307FD09D912660022A7CA /* PBXTextBookmark */;
 		};
 		sourceControlManager = 63E3F27709D06F1300D80480 /* Source Control */;
 		userBuildSettings = {
@@ -222,18 +221,18 @@
 	};
 	1A224C3EFF42367911CA2CB7 /* forcedeth.h */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = &quot;{{0, 0}, {691, 7672}}&quot;;
-			sepNavSelRange = &quot;{13039, 14}&quot;;
-			sepNavVisRange = &quot;{12288, 716}&quot;;
+			sepNavIntBoundsRect = &quot;{{0, 0}, {691, 8050}}&quot;;
+			sepNavSelRange = &quot;{15344, 9}&quot;;
+			sepNavVisRange = &quot;{15122, 534}&quot;;
 			sepNavVisRect = &quot;{{0, 7028}, {789, 290}}&quot;;
-			sepNavWindowFrame = &quot;{{661, 248}, {750, 558}}&quot;;
+			sepNavWindowFrame = &quot;{{392, 375}, {750, 558}}&quot;;
 		};
 	};
 	1A224C3FFF42367911CA2CB7 /* forcedeth.cpp */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = &quot;{{0, 0}, {1298, 12236}}&quot;;
-			sepNavSelRange = &quot;{8989, 0}&quot;;
-			sepNavVisRange = &quot;{8861, 715}&quot;;
+			sepNavIntBoundsRect = &quot;{{0, 0}, {918, 12628}}&quot;;
+			sepNavSelRange = &quot;{3124, 0}&quot;;
+			sepNavVisRange = &quot;{2791, 544}&quot;;
 			sepNavVisRect = &quot;{{0, 19588}, {789, 290}}&quot;;
 			sepNavWindowFrame = &quot;{{38, 83}, {1219, 663}}&quot;;
 		};
@@ -262,9 +261,9 @@
 	};
 	632CAA6D0DC0436100168676 /* forcedeth-helper.cpp */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = &quot;{{0, 0}, {722, 10458}}&quot;;
-			sepNavSelRange = &quot;{9983, 5}&quot;;
-			sepNavVisRange = &quot;{9493, 826}&quot;;
+			sepNavIntBoundsRect = &quot;{{0, 0}, {728, 10906}}&quot;;
+			sepNavSelRange = &quot;{4136, 39}&quot;;
+			sepNavVisRange = &quot;{7302, 774}&quot;;
 			sepNavWindowFrame = &quot;{{171, 294}, {750, 558}}&quot;;
 		};
 	};
@@ -298,73 +297,95 @@
 		vrLen = 766;
 		vrLoc = 1139;
 	};
-	6373C84F0DC111E700FCBD8F /* PBXTextBookmark */ = {
+	6380585D0DC14ADB001EE63B /* PBXTextBookmark */ = {
 		isa = PBXTextBookmark;
-		fRef = 1A224C3FFF42367911CA2CB7 /* forcedeth.cpp */;
-		name = &quot;forcedeth.cpp: 346&quot;;
+		fRef = 1A224C3EFF42367911CA2CB7 /* forcedeth.h */;
+		name = &quot;forcedeth.h: 366&quot;;
 		rLen = 0;
-		rLoc = 8989;
+		rLoc = 12643;
 		rType = 0;
-		vrLen = 715;
-		vrLoc = 8861;
+		vrLen = 434;
+		vrLoc = 13429;
 	};
-	6373C8500DC111E700FCBD8F /* PBXTextBookmark */ = {
+	638058B60DC14D9D001EE63B /* PBXTextBookmark */ = {
 		isa = PBXTextBookmark;
-		comments = &quot;warning: &#8216;maxInterruptWork&#8217; defined but not used&quot;;
 		fRef = 1A224C3EFF42367911CA2CB7 /* forcedeth.h */;
-		rLen = 1;
-		rLoc = 374;
-		rType = 1;
+		name = &quot;forcedeth.h: 303&quot;;
+		rLen = 0;
+		rLoc = 10754;
+		rType = 0;
+		vrLen = 920;
+		vrLoc = 10252;
 	};
-	6373C8510DC111E700FCBD8F /* PBXTextBookmark */ = {
+	638058BD0DC14E23001EE63B /* PBXTextBookmark */ = {
 		isa = PBXTextBookmark;
 		fRef = 1A224C3FFF42367911CA2CB7 /* forcedeth.cpp */;
-		name = &quot;forcedeth.cpp: 346&quot;;
+		name = &quot;forcedeth.cpp: 103&quot;;
 		rLen = 0;
-		rLoc = 8989;
+		rLoc = 3124;
 		rType = 0;
-		vrLen = 715;
-		vrLoc = 8861;
+		vrLen = 559;
+		vrLoc = 2832;
 	};
-	6373C8590DC111E700FCBD8F /* PBXTextBookmark */ = {
+	638058BF0DC14E23001EE63B /* PBXTextBookmark */ = {
 		isa = PBXTextBookmark;
-		fRef = 1A224C3EFF42367911CA2CB7 /* forcedeth.h */;
-		name = &quot;forcedeth.h: 366&quot;;
+		fRef = 1A224C3FFF42367911CA2CB7 /* forcedeth.cpp */;
+		name = &quot;forcedeth.cpp: 732&quot;;
 		rLen = 0;
-		rLoc = 12639;
+		rLoc = 20461;
 		rType = 0;
-		vrLen = 543;
-		vrLoc = 12461;
+		vrLen = 621;
+		vrLoc = 20381;
 	};
-	6373C85A0DC111E700FCBD8F /* PBXTextBookmark */ = {
+	638058C10DC14E23001EE63B /* PBXTextBookmark */ = {
 		isa = PBXTextBookmark;
-		fRef = 32D94FCF0562CBF700B6AF17 /* Info.plist */;
-		name = &quot;Info.plist: 42&quot;;
-		rLen = 152;
-		rLoc = 1184;
+		fRef = 632CAA6D0DC0436100168676 /* forcedeth-helper.cpp */;
+		name = &quot;forcedeth-helper.cpp: 395&quot;;
+		rLen = 5;
+		rLoc = 9983;
 		rType = 0;
-		vrLen = 861;
-		vrLoc = 689;
+		vrLen = 826;
+		vrLoc = 9493;
 	};
-	6373C85B0DC111E700FCBD8F /* PBXTextBookmark */ = {
+	638058CA0DC14F0B001EE63B /* PBXTextBookmark */ = {
 		isa = PBXTextBookmark;
-		fRef = 1A224C3EFF42367911CA2CB7 /* forcedeth.h */;
-		name = &quot;forcedeth.h: 387&quot;;
-		rLen = 14;
-		rLoc = 13039;
+		fRef = 1A224C3FFF42367911CA2CB7 /* forcedeth.cpp */;
+		name = &quot;forcedeth.cpp: 102&quot;;
+		rLen = 0;
+		rLoc = 3124;
+		rType = 0;
+		vrLen = 544;
+		vrLoc = 2791;
+	};
+	638058CB0DC14F0B001EE63B /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 1A224C3FFF42367911CA2CB7 /* forcedeth.cpp */;
+		name = &quot;forcedeth.cpp: 198&quot;;
+		rLen = 0;
+		rLoc = 5489;
 		rType = 0;
-		vrLen = 716;
-		vrLoc = 12288;
+		vrLen = 1016;
+		vrLoc = 4514;
 	};
-	6373C85C0DC111E700FCBD8F /* PBXTextBookmark */ = {
+	638058CC0DC14F0B001EE63B /* PBXTextBookmark */ = {
 		isa = PBXTextBookmark;
 		fRef = 632CAA6D0DC0436100168676 /* forcedeth-helper.cpp */;
-		name = &quot;forcedeth-helper.cpp: 395&quot;;
-		rLen = 5;
-		rLoc = 9983;
+		name = &quot;forcedeth-helper.cpp: 147&quot;;
+		rLen = 39;
+		rLoc = 4136;
 		rType = 0;
-		vrLen = 826;
-		vrLoc = 9493;
+		vrLen = 774;
+		vrLoc = 7302;
+	};
+	638058CD0DC14F0B001EE63B /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 1A224C3EFF42367911CA2CB7 /* forcedeth.h */;
+		name = &quot;forcedeth.h: 497&quot;;
+		rLen = 9;
+		rLoc = 15344;
+		rType = 0;
+		vrLen = 534;
+		vrLoc = 15122;
 	};
 	63AC38D10D1B7E17001DA8D9 /* PBXTextBookmark */ = {
 		isa = PBXTextBookmark;
@@ -448,7 +469,7 @@
 		fRef = 1A224C3EFF42367911CA2CB7 /* forcedeth.h */;
 		name = &quot;static int maxInterruptWork = 5;&quot;;
 		rLen = 33;
-		rLoc = 12757;
+		rLoc = 12761;
 		rType = 0;
 		vrLen = 697;
 		vrLoc = 12204;
@@ -485,41 +506,11 @@
 		fRef = 1A224C3FFF42367911CA2CB7 /* forcedeth.cpp */;
 		name = &quot;forcedeth.cpp: 1155&quot;;
 		rLen = 0;
-		rLoc = 2284;
+		rLoc = 2439;
 		rType = 0;
 		vrLen = 0;
 		vrLoc = 23218;
 	};
-	63E22ADF0DC111A400CECBFD /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = 32D94FCF0562CBF700B6AF17 /* Info.plist */;
-		name = &quot;Info.plist: 42&quot;;
-		rLen = 152;
-		rLoc = 1184;
-		rType = 0;
-		vrLen = 861;
-		vrLoc = 689;
-	};
-	63E22AE00DC111A400CECBFD /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = 1A224C3EFF42367911CA2CB7 /* forcedeth.h */;
-		name = &quot;forcedeth.h: 387&quot;;
-		rLen = 14;
-		rLoc = 13039;
-		rType = 0;
-		vrLen = 716;
-		vrLoc = 12288;
-	};
-	63E22AE10DC111A400CECBFD /* PBXTextBookmark */ = {
-		isa = PBXTextBookmark;
-		fRef = 632CAA6D0DC0436100168676 /* forcedeth-helper.cpp */;
-		name = &quot;forcedeth-helper.cpp: 395&quot;;
-		rLen = 5;
-		rLoc = 9983;
-		rType = 0;
-		vrLen = 826;
-		vrLoc = 9493;
-	};
 	63E3F27709D06F1300D80480 /* Source Control */ = {
 		isa = PBXSourceControlManager;
 		fallbackIsa = XCSourceControlManager;</diff>
      <filename>forcedeth.xcodeproj/david.pbxuser</filename>
    </modified>
    <modified>
      <diff>@@ -175,7 +175,7 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = &quot;cd $BUILT_PRODUCTS_DIR\nrm -rf $PRODUCT_NAME-d.kext\nrm -rf $PRODUCT_NAME-nock.kext\nrm -rf $PRODUCT_NAME-nockd.kext\n\ncp -R $PRODUCT_NAME.kext $PRODUCT_NAME-d.kext\ncp $SRCROOT/Debug.plist $PRODUCT_NAME-d.kext/Contents/Info.plist\n\ncp -R $PRODUCT_NAME.kext $PRODUCT_NAME-nock.kext\ncp $SRCROOT/NoCK.plist $PRODUCT_NAME-nock.kext/Contents/Info.plist\n\ncp -R $PRODUCT_NAME.kext $PRODUCT_NAME-nockd.kext\ncp $SRCROOT/NoCKDebug.plist $PRODUCT_NAME-nockd.kext/Contents/Info.plist\n\nrm -rf $SRCROOT/build/Debug/$PRODUCT_NAME.kext 2&gt;/dev/null\ncp -R $PRODUCT_NAME-nockd.kext $SRCROOT/build/Debug/$PRODUCT_NAME.kext 2&gt;/dev/null\n\ncd $SRCROOT/..\n\nzip -r forcedeth.zip forcedeth&quot;;
+			shellScript = &quot;cd $BUILT_PRODUCTS_DIR\nrm -rf $PRODUCT_NAME-d.kext\nrm -rf $PRODUCT_NAME-nock.kext\nrm -rf $PRODUCT_NAME-nockd.kext\n\ncp -R $PRODUCT_NAME.kext $PRODUCT_NAME-d.kext\ncp $SRCROOT/Debug.plist $PRODUCT_NAME-d.kext/Contents/Info.plist\n\ncp -R $PRODUCT_NAME.kext $PRODUCT_NAME-nock.kext\ncp $SRCROOT/NoCK.plist $PRODUCT_NAME-nock.kext/Contents/Info.plist\n\ncp -R $PRODUCT_NAME.kext $PRODUCT_NAME-nockd.kext\ncp $SRCROOT/NoCKDebug.plist $PRODUCT_NAME-nockd.kext/Contents/Info.plist\n\nrm -rf $SRCROOT/build/Debug/$PRODUCT_NAME.kext 2&gt;/dev/null\ncp -R $PRODUCT_NAME-nockd.kext $SRCROOT/build/Debug/$PRODUCT_NAME.kext 2&gt;/dev/null\n\ncd $SRCROOT/..\n\nzip -r forcedeth.zip forcedeth-osx&quot;;
 		};
 /* End PBXShellScriptBuildPhase section */
 </diff>
      <filename>forcedeth.xcodeproj/project.pbxproj</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>0736f253991085e545f446452c8669198acd5615</id>
    </parent>
  </parents>
  <author>
    <name>planetbeing</name>
    <email>planetbeing@gmail.com</email>
  </author>
  <url>http://github.com/planetbeing/forcedeth-osx/commit/b12944008b0e69f76e19d8a1f8e3a57bdd610a93</url>
  <id>b12944008b0e69f76e19d8a1f8e3a57bdd610a93</id>
  <committed-date>2008-04-25T12:37:08-07:00</committed-date>
  <authored-date>2008-04-25T12:37:08-07:00</authored-date>
  <message>Attempted fix for 'network link down' problem, and tried to generalize power, registry size stuff for newer chips</message>
  <tree>c15eab068cb6aac4dec3ee315f1d05bc400dc90d</tree>
  <committer>
    <name>planetbeing</name>
    <email>planetbeing@gmail.com</email>
  </committer>
</commit>
