Another OF function reversed

This commit is contained in:
Elliot Nunn 2019-08-06 14:52:20 +08:00
parent caf4716632
commit 63a7654660
1 changed files with 41 additions and 1 deletions

View File

@ -22817,7 +22817,7 @@ diff --git a/OS/StartMgr/OpenFirmware.c b/OS/StartMgr/OpenFirmware.c
new file mode 100644
--- /dev/null
+++ b/OS/StartMgr/OpenFirmware.c
@@ -0,0 +1,123 @@
@@ -0,0 +1,163 @@
+#include <CodeFragments.h>
+#include <NameRegistry.h>
+#include <NameRegistryPriv.h>
@ -22940,6 +22940,46 @@ new file mode 100644
+ return err;
+}
+
+OSErr
+INTERC_14E0(const RegPropertyName *prop1, const RegPropertyName *prop2, Boolean arg3)
+{
+ RegEntryIter cookie;
+ RegEntryID node;
+ Ptr prop2_val;
+ RegPropertyValueSize prop1_size;
+ RegPropertyValueSize prop2_size;
+ Boolean done;
+ Ptr prop1_val;
+ OSErr err;
+
+ RegistryEntryIDInit(&node);
+ RegistryEntryIterateCreate(&cookie);
+
+ err = 0;
+ done = 0;
+
+ while (!err && !done) {
+ err = RegistryEntrySearch(
+ &cookie, /*relationship*/ 1, &node, &done, prop1, /*value&size*/ NULL, 0);
+
+ if (!err && !done) {
+ register OSErr suberr; // hack for register allocation
+
+ prop1_size = prop2_size = 0;
+
+ if (suberr = RegistryPropertyGetPtr(&node, prop1, &prop1_val, &prop1_size)) continue;
+ if (suberr = RegistryPropertyGetPtr(&node, prop2, &prop2_val, &prop2_size)) continue;
+
+ INTERC_1230(prop1_val, prop1_size, prop2_val, arg3);
+ }
+ }
+
+ RegistryEntryIterateDispose(&cookie);
+ RegistryEntryIDDispose(&node);
+
+ return err;
+}
+
+/* This file is complete... the remaining kilobytes to 0x2BC0 are filled by Amphibian DNA */
diff --git a/OS/StartMgr/OpenFirmware.c.idump b/OS/StartMgr/OpenFirmware.c.idump
new file mode 100644