mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-06-08 09:29:31 +00:00
Reverse more of the OF interface
This commit is contained in:
parent
9527f92ec9
commit
5122302da6
|
@ -22877,7 +22877,7 @@ diff --git a/OS/StartMgr/OpenFirmware.c b/OS/StartMgr/OpenFirmware.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/OS/StartMgr/OpenFirmware.c
|
+++ b/OS/StartMgr/OpenFirmware.c
|
||||||
@@ -0,0 +1,483 @@
|
@@ -0,0 +1,556 @@
|
||||||
+#include <CodeFragments.h>
|
+#include <CodeFragments.h>
|
||||||
+#include <NameRegistry.h>
|
+#include <NameRegistry.h>
|
||||||
+#include <NameRegistryPriv.h>
|
+#include <NameRegistryPriv.h>
|
||||||
|
@ -23360,6 +23360,79 @@ new file mode 100644
|
||||||
+ *(ProductInfo **)UnivInfoPtr = newPtr;
|
+ *(ProductInfo **)UnivInfoPtr = newPtr;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
|
+struct mysterystruct {
|
||||||
|
+ short a;
|
||||||
|
+ short b;
|
||||||
|
+ long c;
|
||||||
|
+ long d;
|
||||||
|
+ long e;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+struct mysterystruct2 {
|
||||||
|
+ long a;
|
||||||
|
+ short b; // either short-char-char or char-char-short
|
||||||
|
+ char c;
|
||||||
|
+ char d;
|
||||||
|
+ long e;
|
||||||
|
+ long f;
|
||||||
|
+ long g;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+void
|
||||||
|
+INTERC_1DB0(struct mysterystruct *x)
|
||||||
|
+{
|
||||||
|
+ x->a = 1;
|
||||||
|
+ x->b = 0;
|
||||||
|
+ x->c = 0;
|
||||||
|
+ x->d = 0;
|
||||||
|
+ x->e = 0;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void
|
||||||
|
+INTERC_1DE0(GDHandle gh, struct mysterystruct *x)
|
||||||
|
+{
|
||||||
|
+ CntrlParam paramblk;
|
||||||
|
+ OSErr err;
|
||||||
|
+
|
||||||
|
+ INTERC_1DB0(x);
|
||||||
|
+
|
||||||
|
+ paramblk.ioNamePtr = NULL;
|
||||||
|
+ paramblk.ioCRefNum = (**gh).gdRefNum;
|
||||||
|
+ paramblk.csCode = 12;
|
||||||
|
+ *(struct mysterystruct **)(¶mblk.csParam) = x;
|
||||||
|
+
|
||||||
|
+ err = PBStatusSync((ParmBlkPtr)(¶mblk));
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+OSErr
|
||||||
|
+INTERC_1E20(GDHandle gh, struct mysterystruct2 *x)
|
||||||
|
+{
|
||||||
|
+ CntrlParam paramblk;
|
||||||
|
+ OSErr err = paramErr;
|
||||||
|
+
|
||||||
|
+ if (gh == NULL) goto exit;
|
||||||
|
+ if (x == NULL) goto exit;
|
||||||
|
+
|
||||||
|
+ x->b = 0;
|
||||||
|
+ x->c = 0;
|
||||||
|
+ x->d = 0;
|
||||||
|
+ x->e = 0;
|
||||||
|
+ x->f = 0;
|
||||||
|
+ x->g = 0;
|
||||||
|
+
|
||||||
|
+ paramblk.ioNamePtr = NULL;
|
||||||
|
+ paramblk.ioCRefNum = (**gh).gdRefNum;
|
||||||
|
+ paramblk.csCode = 28;
|
||||||
|
+ *(struct mysterystruct2 **)(¶mblk.csParam) = x;
|
||||||
|
+
|
||||||
|
+ err = PBStatusSync((ParmBlkPtr)(¶mblk));
|
||||||
|
+ if (err != noErr) goto exit;
|
||||||
|
+
|
||||||
|
+ if (x->a == -1) err = statusErr;
|
||||||
|
+
|
||||||
|
+ exit: return err;
|
||||||
|
+}
|
||||||
|
+
|
||||||
+/* This file is complete... the remaining kilobytes to 0x2BC0 are filled by Amphibian DNA */
|
+/* 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
|
diff --git a/OS/StartMgr/OpenFirmware.c.idump b/OS/StartMgr/OpenFirmware.c.idump
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
|
|
Loading…
Reference in New Issue
Block a user