Use MacOS.openrf (if it is available) for opening resource forks
Copy in .5Mb chunks in stead of 1Mb
diff --git a/Mac/Lib/macostools.py b/Mac/Lib/macostools.py
index aa5eb60..1dcc47e 100644
--- a/Mac/Lib/macostools.py
+++ b/Mac/Lib/macostools.py
@@ -8,12 +8,18 @@
 import Res
 import os
 from MACFS import *
+import MacOS
+try:
+	openrf = MacOS.openrf
+except AttributeError:
+	# Backward compatability
+	openrf = open
 
 Error = 'macostools.Error'
 
 FSSpecType = type(macfs.FSSpec(':'))
 
-BUFSIZ=0x100000		# Copy in 1Mb chunks
+BUFSIZ=0x80000		# Copy in 0.5Mb chunks
 
 #
 # Not guaranteed to be correct or stay correct (Apple doesn't tell you
@@ -64,8 +70,8 @@
 	ifp.close()
 	ofp.close()
 	
-	ifp = open(srcfss.as_pathname(), '*rb')
-	ofp = open(dstfss.as_pathname(), '*wb')
+	ifp = openrf(srcfss.as_pathname(), '*rb')
+	ofp = openrf(dstfss.as_pathname(), '*wb')
 	d = ifp.read(BUFSIZ)
 	while d:
 		ofp.write(d)