mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-06-18 12:29:30 +00:00
Reverse a Big Bad function
This commit is contained in:
parent
b5ebad1958
commit
b39f3ffead
File diff suppressed because it is too large
Load Diff
|
@ -3093,6 +3093,19 @@ diff --git a/Internal/C/ExpandMemPriv.h b/Internal/C/ExpandMemPriv.h
|
||||||
#define emCurVersion 0x0133 // version <SM21/LW3><62><SM27><SM30>
|
#define emCurVersion 0x0133 // version <SM21/LW3><62><SM27><SM30>
|
||||||
#define emItlCacheSize 16 // bytes in cache. WARNING, you cann’t change this
|
#define emItlCacheSize 16 // bytes in cache. WARNING, you cann’t change this
|
||||||
// without distroying all fixed offsets from
|
// without distroying all fixed offsets from
|
||||||
|
@@ -424,6 +420,12 @@ struct ExpandMemRec
|
||||||
|
Ptr emExpansionBusGlobals; // ds.l 1 ; Ptr to Expansion Manager globals
|
||||||
|
|
||||||
|
ProcPtr jSWModemSoundVector; // ds.l 1 ; Vector to control routine for software modem sound
|
||||||
|
+
|
||||||
|
+ // 23C
|
||||||
|
+
|
||||||
|
+ char jank[0x2E6-0x23C];
|
||||||
|
+
|
||||||
|
+ Ptr emUSBGlobals;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct ExpandMemRec ExpandMemRec;
|
||||||
diff --git a/Internal/C/GestaltPrivateEqu.h b/Internal/C/GestaltPrivateEqu.h
|
diff --git a/Internal/C/GestaltPrivateEqu.h b/Internal/C/GestaltPrivateEqu.h
|
||||||
--- a/Internal/C/GestaltPrivateEqu.h
|
--- a/Internal/C/GestaltPrivateEqu.h
|
||||||
+++ b/Internal/C/GestaltPrivateEqu.h
|
+++ b/Internal/C/GestaltPrivateEqu.h
|
||||||
|
@ -3950,7 +3963,7 @@ diff --git a/Make/VectorTable.a b/Make/VectorTable.a
|
||||||
+MISCELLANEOUS_VEC0110 vIndirect $2010, $0110, A7
|
+MISCELLANEOUS_VEC0110 vIndirect $2010, $0110, A7
|
||||||
+MISCELLANEOUS_VEC0114 vIndirect $2010, $0114, A7
|
+MISCELLANEOUS_VEC0114 vIndirect $2010, $0114, A7
|
||||||
+MISCELLANEOUS_VEC0118 vIndirect $2010, $0118, A7
|
+MISCELLANEOUS_VEC0118 vIndirect $2010, $0118, A7
|
||||||
+MISCELLANEOUS_VEC011C vIndirect $2010, $011c, A7
|
+SetDriverClosureMemory vIndirect $2010, $011c, A7
|
||||||
+
|
+
|
||||||
;============================== End Misc. Vectors
|
;============================== End Misc. Vectors
|
||||||
|
|
||||||
|
@ -5397,33 +5410,33 @@ diff --git a/Make/VectorTable.a b/Make/VectorTable.a
|
||||||
+EXPANSIONBUSMGR_VEC0130 vIndirect $208c, $0130, A7 ; _ExpansionBusDispatch selector 48
|
+EXPANSIONBUSMGR_VEC0130 vIndirect $208c, $0130, A7 ; _ExpansionBusDispatch selector 48
|
||||||
+EXPANSIONBUSMGR_VEC0134 vIndirect $208c, $0134, A7 ; _ExpansionBusDispatch selector 49
|
+EXPANSIONBUSMGR_VEC0134 vIndirect $208c, $0134, A7 ; _ExpansionBusDispatch selector 49
|
||||||
+EXPANSIONBUSMGR_VEC0138 vIndirect $208c, $0138, A7 ; _ExpansionBusDispatch selector 20
|
+EXPANSIONBUSMGR_VEC0138 vIndirect $208c, $0138, A7 ; _ExpansionBusDispatch selector 20
|
||||||
+EXPANSIONBUSMGR_VEC014C vIndirect $208c, $014c, A7
|
+ScanDriverCandidates vIndirect $208c, $014c, A7
|
||||||
+EXPANSIONBUSMGR_VEC0150 vIndirect $208c, $0150, A7
|
+HigherDriverVersion vIndirect $208c, $0150, A7
|
||||||
+EXPANSIONBUSMGR_VEC0154 vIndirect $208c, $0154, A7
|
+FindDriversForDevice vIndirect $208c, $0154, A7
|
||||||
+EXPANSIONBUSMGR_VEC0158 vIndirect $208c, $0158, A7
|
+GetDriverForDevice vIndirect $208c, $0158, A7
|
||||||
+EXPANSIONBUSMGR_VEC015C vIndirect $208c, $015c, A7
|
+Load_And_Install_CodeFragment_Driver vIndirect $208c, $015c, A7
|
||||||
+EXPANSIONBUSMGR_VEC0160 vIndirect $208c, $0160, A7
|
+OpenInstalledDriver vIndirect $208c, $0160, A7
|
||||||
+EXPANSIONBUSMGR_VEC0164 vIndirect $208c, $0164, A7
|
+CloseInstalledDriver vIndirect $208c, $0164, A7
|
||||||
+EXPANSIONBUSMGR_VEC0168 vIndirect $208c, $0168, A7
|
+SwitchDriverPowerMode vIndirect $208c, $0168, A7
|
||||||
+EXPANSIONBUSMGR_VEC016C vIndirect $208c, $016c, A7
|
+FindDriverCandidates vIndirect $208c, $016c, A7
|
||||||
+EXPANSIONBUSMGR_VEC0170 vIndirect $208c, $0170, A7
|
+GetDriverDescription vIndirect $208c, $0170, A7
|
||||||
+EXPANSIONBUSMGR_VEC0174 vIndirect $208c, $0174, A7
|
+VerifyFragmentAsDriver vIndirect $208c, $0174, A7
|
||||||
+EXPANSIONBUSMGR_VEC0178 vIndirect $208c, $0178, A7
|
+GetDriverMemoryFragment vIndirect $208c, $0178, A7
|
||||||
+EXPANSIONBUSMGR_VEC017C vIndirect $208c, $017c, A7
|
+GetDriverDiskFragment vIndirect $208c, $017c, A7
|
||||||
+EXPANSIONBUSMGR_VEC0180 vIndirect $208c, $0180, A7
|
+HighestUnitNumber vIndirect $208c, $0180, A7
|
||||||
+EXPANSIONBUSMGR_VEC0184 vIndirect $208c, $0184, A7
|
+LookupDrivers vIndirect $208c, $0184, A7
|
||||||
+EXPANSIONBUSMGR_VEC0188 vIndirect $208c, $0188, A7
|
+InstallDriverFromFragment vIndirect $208c, $0188, A7
|
||||||
+EXPANSIONBUSMGR_VEC018C vIndirect $208c, $018c, A7
|
+ReplaceDriverWithFragment vIndirect $208c, $018c, A7
|
||||||
+EXPANSIONBUSMGR_VEC0190 vIndirect $208c, $0190, A7
|
+InstallDriverFromFile vIndirect $208c, $0190, A7
|
||||||
+EXPANSIONBUSMGR_VEC0194 vIndirect $208c, $0194, A7
|
+InstallDriverFromDisk vIndirect $208c, $0194, A7
|
||||||
+EXPANSIONBUSMGR_VEC0198 vIndirect $208c, $0198, A7
|
+InstallDriverFromMemory vIndirect $208c, $0198, A7
|
||||||
+EXPANSIONBUSMGR_VEC019C vIndirect $208c, $019c, A7
|
+InstallDriverForDevice vIndirect $208c, $019c, A7
|
||||||
+EXPANSIONBUSMGR_VEC01A0 vIndirect $208c, $01a0, A7
|
+GetDriverInformation vIndirect $208c, $01a0, A7
|
||||||
+EXPANSIONBUSMGR_VEC01A4 vIndirect $208c, $01a4, A7
|
+RenameDriver vIndirect $208c, $01a4, A7
|
||||||
+EXPANSIONBUSMGR_VEC01A8 vIndirect $208c, $01a8, A7
|
+RemoveDriver vIndirect $208c, $01a8, A7
|
||||||
+EXPANSIONBUSMGR_VEC01AC vIndirect $208c, $01ac, A7
|
+DriverGestaltIsOn vIndirect $208c, $01ac, A7
|
||||||
+EXPANSIONBUSMGR_VEC01B0 vIndirect $208c, $01b0, A7
|
+DriverGestaltOff vIndirect $208c, $01b0, A7
|
||||||
+EXPANSIONBUSMGR_VEC01B4 vIndirect $208c, $01b4, A7
|
+DriverGestaltOn vIndirect $208c, $01b4, A7
|
||||||
|
|
||||||
-HEAPDISPATCH vIndirect $2088, $0004, A7 ; Figment
|
-HEAPDISPATCH vIndirect $2088, $0004, A7 ; Figment
|
||||||
-FIG_HSETFLAGS vIndirect $2088, $0008, A7 ; Figment
|
-FIG_HSETFLAGS vIndirect $2088, $0008, A7 ; Figment
|
||||||
|
@ -22817,13 +22830,15 @@ 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,304 @@
|
@@ -0,0 +1,419 @@
|
||||||
+#include <CodeFragments.h>
|
+#include <CodeFragments.h>
|
||||||
+#include <NameRegistry.h>
|
+#include <NameRegistry.h>
|
||||||
+#include <NameRegistryPriv.h>
|
+#include <NameRegistryPriv.h>
|
||||||
+#include <ExpandMemPriv.h>
|
+#include <ExpandMemPriv.h>
|
||||||
+#include <Resources.h>
|
+#include <Resources.h>
|
||||||
+#include <Memory.h>
|
+#include <Memory.h>
|
||||||
|
+#include <Devices.h>
|
||||||
|
+#include <TextUtils.h>
|
||||||
+
|
+
|
||||||
+
|
+
|
||||||
+struct mystruct {
|
+struct mystruct {
|
||||||
|
@ -22840,6 +22855,7 @@ new file mode 100644
|
||||||
+};
|
+};
|
||||||
+
|
+
|
||||||
+pascal short CFM_4(struct mystruct *, long, char *, char) = {0x3F3C, 0xFFFC, 0xAA5A};
|
+pascal short CFM_4(struct mystruct *, long, char *, char) = {0x3F3C, 0xFFFC, 0xAA5A};
|
||||||
|
+// cfm_fff4=FragGetClosureInfo cfm_fff3=FragGetConnectionInfo cfm_fff2=FragGetSectionInfo
|
||||||
+
|
+
|
||||||
+void
|
+void
|
||||||
+INTERC_11E0_C2PSTRCPY(char *dest, char *src)
|
+INTERC_11E0_C2PSTRCPY(char *dest, char *src)
|
||||||
|
@ -23121,6 +23137,118 @@ new file mode 100644
|
||||||
+ SetZone(old_zone);
|
+ SetZone(old_zone);
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
|
+void
|
||||||
|
+SEARCHDRIVERS(void)
|
||||||
|
+{
|
||||||
|
+ RegEntryID entry;
|
||||||
|
+ RegEntryIter cookie;
|
||||||
|
+ RegEntryIterationOp iterOp;
|
||||||
|
+ Boolean iterDone;
|
||||||
|
+ short old_res_file;
|
||||||
|
+ Handle ndrv;
|
||||||
|
+ CFragConnectionID conn;
|
||||||
|
+ DriverEntryPointPtr code;
|
||||||
|
+ DriverRefNum refnum;
|
||||||
|
+ RuntimeOptions opts;
|
||||||
|
+ long i;
|
||||||
|
+ OSErr err;
|
||||||
|
+
|
||||||
|
+ RegistryEntryIDInit(&entry);
|
||||||
|
+ iterOp = 1;
|
||||||
|
+
|
||||||
|
+ err = RegistryEntryIterateCreate(&cookie);
|
||||||
|
+ if (err != noErr) return;
|
||||||
|
+
|
||||||
|
+ iterDone = 0;
|
||||||
|
+ do {
|
||||||
|
+ DriverDescriptionPtr desc;
|
||||||
|
+ unsigned long name_size;
|
||||||
|
+ unsigned long frag_size;
|
||||||
|
+ StringPtr compat_p;
|
||||||
|
+ StringPtr compat_prop;
|
||||||
|
+ unsigned long compat_cnt;
|
||||||
|
+ Str63 name_str;
|
||||||
|
+ Str63 name_str_p;
|
||||||
|
+
|
||||||
|
+ err = RegistryEntryIterate(&cookie, iterOp, &entry, &iterDone);
|
||||||
|
+
|
||||||
|
+ if (iterDone == 0 && err == noErr) {
|
||||||
|
+ name_size = sizeof name_str - 1;
|
||||||
|
+ for (i=0; i<name_size; i++) name_str[i] = 0;
|
||||||
|
+
|
||||||
|
+ err = RegistryPropertyGet(&entry, "name", name_str, &name_size);
|
||||||
|
+ if (err != noErr) continue;
|
||||||
|
+
|
||||||
|
+ /* Skip if an ndrv is already in the device tree */
|
||||||
|
+ frag_size = 0;
|
||||||
|
+ err = RegistryPropertyGetSize(&entry, "driver,AAPL,MacOS,PowerPC", &frag_size);
|
||||||
|
+ if (err == noErr) continue;
|
||||||
|
+
|
||||||
|
+ INTERC_11E0_C2PSTRCPY(name_str_p, name_str);
|
||||||
|
+
|
||||||
|
+ old_res_file = CurResFile(); /* Use 'goto fail' instead of 'continue' */
|
||||||
|
+ UseResFile(0);
|
||||||
|
+
|
||||||
|
+ TempInsertROMMap(1); ndrv = Get1NamedResource('ndrv', name_str_p);
|
||||||
|
+
|
||||||
|
+ if (!ndrv) {
|
||||||
|
+ compat_prop = NULL; compat_cnt = 0;
|
||||||
|
+ GetCompatibleProperty(&entry, &compat_prop, &compat_cnt);
|
||||||
|
+
|
||||||
|
+ if (compat_prop) {
|
||||||
|
+ compat_p = compat_prop;
|
||||||
|
+
|
||||||
|
+ while (!ndrv && compat_cnt--) { /* loop over packed p-strings */
|
||||||
|
+ TempInsertROMMap(1); ndrv = Get1NamedResource('ndrv', compat_p);
|
||||||
|
+ compat_p += *compat_p + 1;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ DisposPtr(compat_prop);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (!ndrv) goto skip;
|
||||||
|
+
|
||||||
|
+ err = GetDriverDescription(*ndrv, &desc);
|
||||||
|
+ if (err != noErr) goto skip;
|
||||||
|
+
|
||||||
|
+ err = RegistryPropertyCreate(&entry, "driver-descriptor", desc, GetPtrSize((Ptr)desc));
|
||||||
|
+ DisposPtr((Ptr)desc);
|
||||||
|
+ if (err != noErr) goto skip;
|
||||||
|
+
|
||||||
|
+ frag_size = GetHandleSize(ndrv);
|
||||||
|
+ err = RegistryPropertyCreate(&entry, "driver,AAPL,MacOS,PowerPC", *ndrv, frag_size);
|
||||||
|
+ if (err != noErr) goto skip;
|
||||||
|
+
|
||||||
|
+ err = RegistryPropertyCreate(&entry, "driver-ptr", ndrv, 4);
|
||||||
|
+ if (err != noErr) goto skip;
|
||||||
|
+
|
||||||
|
+ err = GetDriverDescription(*ndrv, &desc);
|
||||||
|
+ if (err != noErr) goto skip;
|
||||||
|
+
|
||||||
|
+ opts = desc->driverOSRuntimeInfo.driverRuntime;
|
||||||
|
+ DisposPtr((Ptr)desc);
|
||||||
|
+ if ((opts & kDriverIsLoadedUponDiscovery) == 0) goto skip;
|
||||||
|
+
|
||||||
|
+ err = GetDriverMemoryFragment(*ndrv, frag_size, name_str_p, &conn, &code, &desc);
|
||||||
|
+ if (err != noErr) goto skip;
|
||||||
|
+
|
||||||
|
+ err = InstallDriverFromFragment(conn, &entry, /*begin,endUnit*/ 48,1023, &refnum);
|
||||||
|
+ if (err != noErr) goto skip;
|
||||||
|
+
|
||||||
|
+ err = RegistryPropertyCreate(&entry, "driver-ref", &refnum, sizeof refnum);
|
||||||
|
+ if (err != noErr) goto skip;
|
||||||
|
+
|
||||||
|
+ skip:
|
||||||
|
+ UseResFile(old_res_file);
|
||||||
|
+ } else {
|
||||||
|
+ iterDone = 1;
|
||||||
|
+ }
|
||||||
|
+ } while (!iterDone);
|
||||||
|
+
|
||||||
|
+ RegistryEntryIterateDispose(&cookie);
|
||||||
|
+}
|
||||||
|
+
|
||||||
+/* 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
|
||||||
|
@ -26321,7 +26449,7 @@ diff --git a/OS/StartMgr/StartFail.a b/OS/StartMgr/StartFail.a
|
||||||
diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
--- a/OS/StartMgr/StartInit.a
|
--- a/OS/StartMgr/StartInit.a
|
||||||
+++ b/OS/StartMgr/StartInit.a
|
+++ b/OS/StartMgr/StartInit.a
|
||||||
@@ -1135,6 +1135,42 @@ ioNuBusTTxlat EQU $500FC040 ; I/O space and nuBus $6-$7 with serialized wri
|
@@ -1135,6 +1135,41 @@ ioNuBusTTxlat EQU $500FC040 ; I/O space and nuBus $6-$7 with serialized wri
|
||||||
IMPORT INITSCSIBOOT
|
IMPORT INITSCSIBOOT
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
|
@ -26352,7 +26480,6 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
+ IMPORT InitStorage
|
+ IMPORT InitStorage
|
||||||
+ IMPORT InitSystemExperts
|
+ IMPORT InitSystemExperts
|
||||||
+ IMPORT InitUSB
|
+ IMPORT InitUSB
|
||||||
+ IMPORT LoadNDRV
|
|
||||||
+ IMPORT LoadPCCardLib
|
+ IMPORT LoadPCCardLib
|
||||||
+ IMPORT MoveUnivInfoToSysHeap
|
+ IMPORT MoveUnivInfoToSysHeap
|
||||||
+ IMPORT MoveUnivInfoToSysHeap
|
+ IMPORT MoveUnivInfoToSysHeap
|
||||||
|
@ -26364,7 +26491,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
|
|
||||||
MyROM MAIN Export
|
MyROM MAIN Export
|
||||||
|
|
||||||
@@ -1145,16 +1181,11 @@ MyROM MAIN Export
|
@@ -1145,16 +1180,11 @@ MyROM MAIN Export
|
||||||
EXPORT InitDefGamma
|
EXPORT InitDefGamma
|
||||||
EXPORT InitSCC
|
EXPORT InitSCC
|
||||||
EXPORT OpensDrvr
|
EXPORT OpensDrvr
|
||||||
|
@ -26381,7 +26508,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
*************************************************************************************************
|
*************************************************************************************************
|
||||||
* *
|
* *
|
||||||
* S T A R T O F R O M *
|
* S T A R T O F R O M *
|
||||||
@@ -1216,6 +1247,9 @@ GOOFYDoEject
|
@@ -1216,6 +1246,9 @@ GOOFYDoEject
|
||||||
BRA.L DoEject ; branch island to eject code
|
BRA.L DoEject ; branch island to eject code
|
||||||
|
|
||||||
|
|
||||||
|
@ -26391,7 +26518,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
|
|
||||||
*************************************************************************************************
|
*************************************************************************************************
|
||||||
* *
|
* *
|
||||||
@@ -1223,56 +1257,12 @@ GOOFYDoEject
|
@@ -1223,56 +1256,12 @@ GOOFYDoEject
|
||||||
* *
|
* *
|
||||||
*************************************************************************************************
|
*************************************************************************************************
|
||||||
|
|
||||||
|
@ -26449,7 +26576,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
|
|
||||||
; <60>, check what WakeUp does, does it return here again after changing clock ?
|
; <60>, check what WakeUp does, does it return here again after changing clock ?
|
||||||
|
|
||||||
@@ -1287,11 +1277,12 @@ StartBoot MOVE #$2700,SR ; Disable processor interrupts.
|
@@ -1287,11 +1276,12 @@ StartBoot MOVE #$2700,SR ; Disable processor interrupts.
|
||||||
|
|
||||||
BSR6 JumpIntoROM ; init the hardware
|
BSR6 JumpIntoROM ; init the hardware
|
||||||
|
|
||||||
|
@ -26467,7 +26594,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
|
|
||||||
;-----
|
;-----
|
||||||
; here, after running the diagnostics, we have:
|
; here, after running the diagnostics, we have:
|
||||||
@@ -1367,12 +1358,7 @@ getHInfo move.l a6,-(sp) ; save regs <SM44>
|
@@ -1367,12 +1357,7 @@ getHInfo move.l a6,-(sp) ; save regs <SM44>
|
||||||
BSR WhichCPU ; get CPU type in low word of d7
|
BSR WhichCPU ; get CPU type in low word of d7
|
||||||
bsr WhichBoard ; get logic board type in hi word of d7
|
bsr WhichBoard ; get logic board type in hi word of d7
|
||||||
|
|
||||||
|
@ -26481,7 +26608,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
@hasMMU bsr.l InitMMU ; generate MMU tables, enable MMU <SM15>
|
@hasMMU bsr.l InitMMU ; generate MMU tables, enable MMU <SM15>
|
||||||
; returns a4 -> BootGlobs
|
; returns a4 -> BootGlobs
|
||||||
|
|
||||||
@@ -1421,7 +1407,7 @@ getHInfo move.l a6,-(sp) ; save regs <SM44>
|
@@ -1421,7 +1406,7 @@ getHInfo move.l a6,-(sp) ; save regs <SM44>
|
||||||
LEA HeapStart,A1 ; A1 <- pointer to end of system globals.
|
LEA HeapStart,A1 ; A1 <- pointer to end of system globals.
|
||||||
BSR FillWithOnes ; Fill system globals with ones.
|
BSR FillWithOnes ; Fill system globals with ones.
|
||||||
|
|
||||||
|
@ -26490,7 +26617,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
|
|
||||||
MOVEM.L (SP)+,D0-D6/A0-A1 ; restore Universal info <SM82>
|
MOVEM.L (SP)+,D0-D6/A0-A1 ; restore Universal info <SM82>
|
||||||
|
|
||||||
@@ -1440,7 +1426,7 @@ getHInfo move.l a6,-(sp) ; save regs <SM44>
|
@@ -1440,7 +1425,7 @@ getHInfo move.l a6,-(sp) ; save regs <SM44>
|
||||||
MOVE.B D7,CpuFlag ; save type of CPU we have
|
MOVE.B D7,CpuFlag ; save type of CPU we have
|
||||||
swap d7 ;
|
swap d7 ;
|
||||||
|
|
||||||
|
@ -26499,7 +26626,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
|
|
||||||
@StoreBox move.b d7,BoxFlag ; ... and save it in lomem
|
@StoreBox move.b d7,BoxFlag ; ... and save it in lomem
|
||||||
|
|
||||||
@@ -1448,119 +1434,15 @@ getHInfo move.l a6,-(sp) ; save regs <SM44>
|
@@ -1448,119 +1433,15 @@ getHInfo move.l a6,-(sp) ; save regs <SM44>
|
||||||
MOVE.L A5,BufPtr ; save the top of useable memory
|
MOVE.L A5,BufPtr ; save the top of useable memory
|
||||||
MOVE.L A6,MemTop ; and the top of available memory
|
MOVE.L A6,MemTop ; and the top of available memory
|
||||||
|
|
||||||
|
@ -26622,7 +26749,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
|
|
||||||
bsr.l InitMMUGlobals ; set up MMU globals
|
bsr.l InitMMUGlobals ; set up MMU globals
|
||||||
|
|
||||||
@@ -1584,13 +1466,7 @@ NoROMinRAM ; <SM104> rb, end
|
@@ -1584,13 +1465,7 @@ NoROMinRAM ; <SM104> rb, end
|
||||||
IF forRomulator THEN
|
IF forRomulator THEN
|
||||||
Moveq.l #$0,D0 ; Set up to disable the caches if we’re debugging.
|
Moveq.l #$0,D0 ; Set up to disable the caches if we’re debugging.
|
||||||
ELSE
|
ELSE
|
||||||
|
@ -26637,7 +26764,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
MOVE.L #(1<<CACR_EI_020_030|\ ; WA=1, DBE=1, CD=1, ED=1, IBE=1, CI=1, EI=1
|
MOVE.L #(1<<CACR_EI_020_030|\ ; WA=1, DBE=1, CD=1, ED=1, IBE=1, CI=1, EI=1
|
||||||
1<<CACR_CI_020_030|\ ;
|
1<<CACR_CI_020_030|\ ;
|
||||||
1<<CACR_IBE_030|\ ;
|
1<<CACR_IBE_030|\ ;
|
||||||
@@ -1643,7 +1519,6 @@ BootRetry MOVE #$2700,SR ; disable interrupts
|
@@ -1643,7 +1518,6 @@ BootRetry MOVE #$2700,SR ; disable interrupts
|
||||||
MOVE.L A0,SP ; Set the stack pointer there
|
MOVE.L A0,SP ; Set the stack pointer there
|
||||||
SUBA.W #BootStackSize,A0 ; Give ourselves some stack space
|
SUBA.W #BootStackSize,A0 ; Give ourselves some stack space
|
||||||
|
|
||||||
|
@ -26645,7 +26772,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
_SetApplLimit ; Don't let the System Heap crash our stack
|
_SetApplLimit ; Don't let the System Heap crash our stack
|
||||||
|
|
||||||
BSR.L InitMemoryDispatch ; go set up the MemoryDispatch globals
|
BSR.L InitMemoryDispatch ; go set up the MemoryDispatch globals
|
||||||
@@ -1658,15 +1533,16 @@ BootRetry MOVE #$2700,SR ; disable interrupts
|
@@ -1658,15 +1532,16 @@ BootRetry MOVE #$2700,SR ; disable interrupts
|
||||||
Move.l #emRecSize,(a0) ; size <SM40>
|
Move.l #emRecSize,(a0) ; size <SM40>
|
||||||
ENDWITH ; <SM40>
|
ENDWITH ; <SM40>
|
||||||
|
|
||||||
|
@ -26666,7 +26793,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
@EInitDone
|
@EInitDone
|
||||||
|
|
||||||
|
|
||||||
@@ -1680,17 +1556,45 @@ BootRetry MOVE #$2700,SR ; disable interrupts
|
@@ -1680,17 +1555,45 @@ BootRetry MOVE #$2700,SR ; disable interrupts
|
||||||
*************************************************************************************************
|
*************************************************************************************************
|
||||||
|
|
||||||
|
|
||||||
|
@ -26716,7 +26843,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
BSR InitSlots ; inits slot cards, grays the screen(s)
|
BSR InitSlots ; inits slot cards, grays the screen(s)
|
||||||
|
|
||||||
BSR.L InitDTQueue ; initialize the Deferred Task Manager Queue
|
BSR.L InitDTQueue ; initialize the Deferred Task Manager Queue
|
||||||
@@ -1708,7 +1612,10 @@ BootRetry MOVE #$2700,SR ; disable interrupts
|
@@ -1708,7 +1611,10 @@ BootRetry MOVE #$2700,SR ; disable interrupts
|
||||||
; Gestalt must now be initialized before IO drivers <SM39> <SM39> RLM
|
; Gestalt must now be initialized before IO drivers <SM39> <SM39> RLM
|
||||||
;------------------------------------------------------------------------ <SM39>
|
;------------------------------------------------------------------------ <SM39>
|
||||||
|
|
||||||
|
@ -26728,7 +26855,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
|
|
||||||
moveq #10,D0
|
moveq #10,D0
|
||||||
_NewHandle ,Sys,Clear ; Get space for a Heap utilities list
|
_NewHandle ,Sys,Clear ; Get space for a Heap utilities list
|
||||||
@@ -1717,52 +1624,56 @@ BootRetry MOVE #$2700,SR ; disable interrupts
|
@@ -1717,52 +1623,56 @@ BootRetry MOVE #$2700,SR ; disable interrupts
|
||||||
move.l D0,$1E0C ; Stuff it in the magic location
|
move.l D0,$1E0C ; Stuff it in the magic location
|
||||||
@noHU
|
@noHU
|
||||||
|
|
||||||
|
@ -26811,7 +26938,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
|
|
||||||
BSR InitCrsrMgr ; Initialize cursor variables
|
BSR InitCrsrMgr ; Initialize cursor variables
|
||||||
|
|
||||||
@@ -1770,13 +1681,9 @@ BootRetry MOVE #$2700,SR ; disable interrupts
|
@@ -1770,13 +1680,9 @@ BootRetry MOVE #$2700,SR ; disable interrupts
|
||||||
; Initialize Reliability Manager
|
; Initialize Reliability Manager
|
||||||
;----------------------------------------------------------------
|
;----------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -26827,7 +26954,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
|
|
||||||
BSR.L TEGlobalInit ; initialize TextEdit vectors
|
BSR.L TEGlobalInit ; initialize TextEdit vectors
|
||||||
|
|
||||||
@@ -1814,11 +1721,7 @@ BootRetry MOVE #$2700,SR ; disable interrupts
|
@@ -1814,11 +1720,7 @@ BootRetry MOVE #$2700,SR ; disable interrupts
|
||||||
BSR DrawBeepScreen ; Horst Beepmanh’s patented gray screen
|
BSR DrawBeepScreen ; Horst Beepmanh’s patented gray screen
|
||||||
|
|
||||||
; On machines with Civic, check to see if we want to boot off the composite out <SM63>
|
; On machines with Civic, check to see if we want to boot off the composite out <SM63>
|
||||||
|
@ -26840,7 +26967,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
|
|
||||||
MOVE.L #WmStConst,WarmStart ; write warm start constant to indicate warm start
|
MOVE.L #WmStConst,WarmStart ; write warm start constant to indicate warm start
|
||||||
|
|
||||||
@@ -1830,40 +1733,40 @@ BootRetry MOVE #$2700,SR ; disable interrupts
|
@@ -1830,40 +1732,40 @@ BootRetry MOVE #$2700,SR ; disable interrupts
|
||||||
; Initialize the Sound Manager
|
; Initialize the Sound Manager
|
||||||
;----------------------------------------------------------------
|
;----------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -26898,7 +27025,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
|
|
||||||
|
|
||||||
*************************************************************************************************
|
*************************************************************************************************
|
||||||
@@ -1953,58 +1856,8 @@ BootRetry MOVE #$2700,SR ; disable interrupts
|
@@ -1953,58 +1855,8 @@ BootRetry MOVE #$2700,SR ; disable interrupts
|
||||||
;________________________________________________________________________________________
|
;________________________________________________________________________________________
|
||||||
|
|
||||||
WhichCPU
|
WhichCPU
|
||||||
|
@ -26959,7 +27086,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
|
|
||||||
|
|
||||||
;________________________________________________________________________________________
|
;________________________________________________________________________________________
|
||||||
@@ -2048,61 +1901,56 @@ WhichBoard swap d7 ; get CPU type in hi word
|
@@ -2048,61 +1900,56 @@ WhichBoard swap d7 ; get CPU type in hi word
|
||||||
;________________________________________________________________________________________
|
;________________________________________________________________________________________
|
||||||
|
|
||||||
SetUpTimeK
|
SetUpTimeK
|
||||||
|
@ -27065,7 +27192,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
eieioSTP
|
eieioSTP
|
||||||
|
|
||||||
; Load timer with number of VIA ticks per millisecond - 3. There are 3 clocks of overhead
|
; Load timer with number of VIA ticks per millisecond - 3. There are 3 clocks of overhead
|
||||||
@@ -2131,15 +1979,26 @@ SetUpTimeK
|
@@ -2131,15 +1978,26 @@ SetUpTimeK
|
||||||
andi.w #$F8FF,sr ; enable interrupts
|
andi.w #$F8FF,sr ; enable interrupts
|
||||||
jmp (a0) ; call the routine to time
|
jmp (a0) ; call the routine to time
|
||||||
@timedOut not.w d0 ; convert to number of loop executions.
|
@timedOut not.w d0 ; convert to number of loop executions.
|
||||||
|
@ -27095,7 +27222,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
rts
|
rts
|
||||||
|
|
||||||
TimerInt nop
|
TimerInt nop
|
||||||
@@ -2156,11 +2015,8 @@ TimingTable dc.w DbraTime-*,TimeDBRA ; simple DBRA loop timing
|
@@ -2156,11 +2014,8 @@ TimingTable dc.w DbraTime-*,TimeDBRA ; simple DBRA loop timing
|
||||||
|
|
||||||
|
|
||||||
DbraTime
|
DbraTime
|
||||||
|
@ -27107,7 +27234,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
@loop
|
@loop
|
||||||
dbra d0,@loop ; time an empty DBRA loop
|
dbra d0,@loop ; time an empty DBRA loop
|
||||||
jmp (a2) ; return if loop expires
|
jmp (a2) ; return if loop expires
|
||||||
@@ -2168,23 +2024,35 @@ DbraTime
|
@@ -2168,23 +2023,35 @@ DbraTime
|
||||||
|
|
||||||
SCCTime
|
SCCTime
|
||||||
movea.l SCCRd,a0 ; point to SCC base read address
|
movea.l SCCRd,a0 ; point to SCC base read address
|
||||||
|
@ -27150,7 +27277,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
TestFor SCSI96_1Exists ; use macro to check if we have
|
TestFor SCSI96_1Exists ; use macro to check if we have
|
||||||
beq.s @loop80 ; SCSI96. Bra. if not
|
beq.s @loop80 ; SCSI96. Bra. if not
|
||||||
@loop96
|
@loop96
|
||||||
@@ -2239,11 +2107,8 @@ SCSITime
|
@@ -2239,11 +2106,8 @@ SCSITime
|
||||||
|
|
||||||
VIATime
|
VIATime
|
||||||
lea vIER(a1),a0 ; <40x008BC> point to a VIA register <H11>
|
lea vIER(a1),a0 ; <40x008BC> point to a VIA register <H11>
|
||||||
|
@ -27162,7 +27289,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
@loop
|
@loop
|
||||||
btst.b #0,(A0) ; <40x008CA> typical VIA access loop <H11>
|
btst.b #0,(A0) ; <40x008CA> typical VIA access loop <H11>
|
||||||
dbra d0,@loop ; <40x008CE> time the VIA DBRA loop <H11>
|
dbra d0,@loop ; <40x008CE> time the VIA DBRA loop <H11>
|
||||||
@@ -2312,13 +2177,20 @@ FillWithOnes
|
@@ -2312,13 +2176,20 @@ FillWithOnes
|
||||||
;________________________________________________________________________________________
|
;________________________________________________________________________________________
|
||||||
|
|
||||||
CompBootStack
|
CompBootStack
|
||||||
|
@ -27186,7 +27313,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
@@ -2406,17 +2278,6 @@ ConfigureRAM
|
@@ -2406,17 +2277,6 @@ ConfigureRAM
|
||||||
SetUpSysAppZone
|
SetUpSysAppZone
|
||||||
lea SysHeap,a0 ; point at normal system heap template
|
lea SysHeap,a0 ; point at normal system heap template
|
||||||
|
|
||||||
|
@ -27204,7 +27331,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
_InitZone ; set up initial system heap
|
_InitZone ; set up initial system heap
|
||||||
Move.L theZone,SysZone ; save pointer to the new zone
|
Move.L theZone,SysZone ; save pointer to the new zone
|
||||||
Move.L SysZone,RamBase ; setup RamBase to system heap
|
Move.L SysZone,RamBase ; setup RamBase to system heap
|
||||||
@@ -2435,189 +2296,27 @@ SetUpSysAppZone
|
@@ -2435,189 +2295,27 @@ SetUpSysAppZone
|
||||||
MOVE.L SP,A0 ; Use the current sp when it’s lower
|
MOVE.L SP,A0 ; Use the current sp when it’s lower
|
||||||
@3 SUBA.W #BootStackSize,A0 ; Give ourselves some stack space
|
@3 SUBA.W #BootStackSize,A0 ; Give ourselves some stack space
|
||||||
_SetApplLimit ; Don't let the System Heap crash our stack
|
_SetApplLimit ; Don't let the System Heap crash our stack
|
||||||
|
@ -27409,7 +27536,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
|
|
||||||
;________________________________________________________________________________________
|
;________________________________________________________________________________________
|
||||||
;
|
;
|
||||||
@@ -2665,54 +2364,6 @@ GetPRAM _InitUtil ; seed low memory PRAM buffer
|
@@ -2665,54 +2363,6 @@ GetPRAM _InitUtil ; seed low memory PRAM buffer
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
|
|
||||||
|
@ -27464,7 +27591,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
|
|
||||||
*************************************************************************************************
|
*************************************************************************************************
|
||||||
* *
|
* *
|
||||||
@@ -2804,18 +2455,7 @@ InitGlobalVars
|
@@ -2804,18 +2454,7 @@ InitGlobalVars
|
||||||
; jump table.
|
; jump table.
|
||||||
;
|
;
|
||||||
Move.l ROMBase,A0 ; Get ROMBase
|
Move.l ROMBase,A0 ; Get ROMBase
|
||||||
|
@ -27483,7 +27610,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
|
|
||||||
LEA VBLQueue,A1
|
LEA VBLQueue,A1
|
||||||
@@ -2938,6 +2578,11 @@ InitCrsrMgr MOVE.L #$000F000F,D0
|
@@ -2938,6 +2577,11 @@ InitCrsrMgr MOVE.L #$000F000F,D0
|
||||||
move.l (a1)+,(a0)+ ; move the bytes in
|
move.l (a1)+,(a0)+ ; move the bytes in
|
||||||
move.l (a1),(a0)
|
move.l (a1),(a0)
|
||||||
|
|
||||||
|
@ -27495,7 +27622,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
LEA GrafEnd,A1 ; end of cursor globals
|
LEA GrafEnd,A1 ; end of cursor globals
|
||||||
BigLea CrsrDevHandleVBL,A0 ; install cursor VBL task <H9>
|
BigLea CrsrDevHandleVBL,A0 ; install cursor VBL task <H9>
|
||||||
MOVE.L A0,-(A1) ; JCrsrTask
|
MOVE.L A0,-(A1) ; JCrsrTask
|
||||||
@@ -2962,113 +2607,6 @@ InitCrsrMgr MOVE.L #$000F000F,D0
|
@@ -2962,113 +2606,6 @@ InitCrsrMgr MOVE.L #$000F000F,D0
|
||||||
MOVE.W D0,CrsrNew ; flag cursor as changed, turn on tracking
|
MOVE.W D0,CrsrNew ; flag cursor as changed, turn on tracking
|
||||||
MOVE.L D0,MouseMask ; No jerkiness with $FFFFFFFF mask
|
MOVE.L D0,MouseMask ; No jerkiness with $FFFFFFFF mask
|
||||||
|
|
||||||
|
@ -27609,7 +27736,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
|
|
||||||
@@ -3181,6 +2719,11 @@ SetupMiscSCSI
|
@@ -3181,6 +2718,11 @@ SetupMiscSCSI
|
||||||
bra.s @SCSIHskDone
|
bra.s @SCSIHskDone
|
||||||
@80based
|
@80based
|
||||||
ENDIF
|
ENDIF
|
||||||
|
@ -27621,7 +27748,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
btst.l #SCSIDackExists,d0 ; see if we have SCSI Dack
|
btst.l #SCSIDackExists,d0 ; see if we have SCSI Dack
|
||||||
bne.s @SCSIDackDone ; if we do, it's setup ok
|
bne.s @SCSIDackDone ; if we do, it's setup ok
|
||||||
move.l SCSIHsk,SCSIDMA ; if not, use hsk instead
|
move.l SCSIHsk,SCSIDMA ; if not, use hsk instead
|
||||||
@@ -3222,37 +2765,6 @@ InitSlots BSR.L InitSDTbl ; init slot int dispatch table
|
@@ -3222,37 +2764,6 @@ InitSlots BSR.L InitSDTbl ; init slot int dispatch table
|
||||||
BRA Critical ; Critical error
|
BRA Critical ; Critical error
|
||||||
|
|
||||||
|
|
||||||
|
@ -27659,7 +27786,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
;________________________________________________________________________________________
|
;________________________________________________________________________________________
|
||||||
;
|
;
|
||||||
; Routine: InitDeviceMgr
|
; Routine: InitDeviceMgr
|
||||||
@@ -3269,7 +2781,7 @@ InitDeviceMgr ; Compute the size of the unit table and allocate it.
|
@@ -3269,7 +2780,7 @@ InitDeviceMgr ; Compute the size of the unit table and allocate it.
|
||||||
MOVEQ #UnitEntries,D0 ; get number of entries in unit table
|
MOVEQ #UnitEntries,D0 ; get number of entries in unit table
|
||||||
MOVE.W D0,UnitNtryCnt ; save for IOCore checking
|
MOVE.W D0,UnitNtryCnt ; save for IOCore checking
|
||||||
|
|
||||||
|
@ -27668,7 +27795,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
_NewPtr ,SYS,CLEAR ; allocate it and zero out the memory
|
_NewPtr ,SYS,CLEAR ; allocate it and zero out the memory
|
||||||
MOVE.L A0,UTableBase ; and save its address
|
MOVE.L A0,UTableBase ; and save its address
|
||||||
|
|
||||||
@@ -3295,55 +2807,6 @@ LoadDrivers
|
@@ -3295,55 +2806,6 @@ LoadDrivers
|
||||||
MOVE.L SP,A0
|
MOVE.L SP,A0
|
||||||
CLR.B IOPermssn(A0) ; r/w permissions
|
CLR.B IOPermssn(A0) ; r/w permissions
|
||||||
|
|
||||||
|
@ -27724,7 +27851,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
;
|
;
|
||||||
;————————— RAM Disk Driver —————————
|
;————————— RAM Disk Driver —————————
|
||||||
;
|
;
|
||||||
@@ -3351,42 +2814,73 @@ LoadDrivers
|
@@ -3351,42 +2813,76 @@ LoadDrivers
|
||||||
; to enable the EDisk, make sure that it is included in the rom resources
|
; to enable the EDisk, make sure that it is included in the rom resources
|
||||||
|
|
||||||
IF hasEDisk THEN
|
IF hasEDisk THEN
|
||||||
|
@ -27758,7 +27885,10 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
+ CLR.L -(SP)
|
+ CLR.L -(SP)
|
||||||
+ PEA.L BCScreenName
|
+ PEA.L BCScreenName
|
||||||
+ MOVE.L #-16515, -(SP)
|
+ MOVE.L #-16515, -(SP)
|
||||||
+ BSR.L LoadNDRV ; (CDG5)
|
+ CASE ON
|
||||||
|
+ IMPORT InstallDriverFromResource
|
||||||
|
+ BSR.L InstallDriverFromResource ; (CDG5)
|
||||||
|
+ CASE OFF
|
||||||
+ DC.W $DEFC, $001A
|
+ DC.W $DEFC, $001A
|
||||||
+ ;ADDA #$1A, A7
|
+ ;ADDA #$1A, A7
|
||||||
+
|
+
|
||||||
|
@ -27823,7 +27953,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
|
|
||||||
;
|
;
|
||||||
;————————— Serial Drivers —————————
|
;————————— Serial Drivers —————————
|
||||||
@@ -3398,21 +2892,30 @@ LoadDrivers
|
@@ -3398,21 +2894,30 @@ LoadDrivers
|
||||||
; table, remaining closed and inactive until opened by a client.
|
; table, remaining closed and inactive until opened by a client.
|
||||||
|
|
||||||
subq #4,sp ; allocate space for return value
|
subq #4,sp ; allocate space for return value
|
||||||
|
@ -27866,7 +27996,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
|
|
||||||
@exitDrivers
|
@exitDrivers
|
||||||
rts
|
rts
|
||||||
@@ -3420,8 +2923,6 @@ LoadDrivers
|
@@ -3420,8 +2925,6 @@ LoadDrivers
|
||||||
|
|
||||||
STRING PASCAL
|
STRING PASCAL
|
||||||
|
|
||||||
|
@ -27875,7 +28005,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
SndName DC.W '.Sound' ; <SM83>
|
SndName DC.W '.Sound' ; <SM83>
|
||||||
|
|
||||||
IF hasEDisk THEN
|
IF hasEDisk THEN
|
||||||
@@ -3439,6 +2940,12 @@ BacklightName
|
@@ -3439,6 +2942,12 @@ BacklightName
|
||||||
DC.W '.Backlight'
|
DC.W '.Backlight'
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
|
@ -27888,7 +28018,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
STRING ASIS
|
STRING ASIS
|
||||||
|
|
||||||
|
|
||||||
@@ -3480,11 +2987,34 @@ DrawBeepScreen
|
@@ -3480,11 +2989,34 @@ DrawBeepScreen
|
||||||
; of the menu bar (because the screen background is white on LCD screens vs black on CRTs)
|
; of the menu bar (because the screen background is white on LCD screens vs black on CRTs)
|
||||||
|
|
||||||
BSR.L LCDScreenChk ; is this an LCD screen ? <SM16><SM68>
|
BSR.L LCDScreenChk ; is this an LCD screen ? <SM16><SM68>
|
||||||
|
@ -27925,7 +28055,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
RTS
|
RTS
|
||||||
@DoNormalBeepScreen
|
@DoNormalBeepScreen
|
||||||
ENDIF ; <SM81>
|
ENDIF ; <SM81>
|
||||||
@@ -3510,11 +3040,27 @@ DrawBeepScreen
|
@@ -3510,11 +3042,27 @@ DrawBeepScreen
|
||||||
|
|
||||||
_PenNormal ; restore the pen
|
_PenNormal ; restore the pen
|
||||||
|
|
||||||
|
@ -27953,7 +28083,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
|
|
||||||
;________________________________________________________________________________________
|
;________________________________________________________________________________________
|
||||||
;
|
;
|
||||||
@@ -3536,8 +3082,33 @@ FROVideo MOVE.L A0,A1 ; save the param block pointer for _Open
|
@@ -3536,8 +3084,33 @@ FROVideo MOVE.L A0,A1 ; save the param block pointer for _Open
|
||||||
LINK A6,#-spBlockSize ; allocate space for a slot parameter block
|
LINK A6,#-spBlockSize ; allocate space for a slot parameter block
|
||||||
MOVE.L SP,A0 ; and point to it
|
MOVE.L SP,A0 ; and point to it
|
||||||
|
|
||||||
|
@ -27989,7 +28119,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
|
|
||||||
; the default video device is bad, so go search for a video sRsrc...
|
; the default video device is bad, so go search for a video sRsrc...
|
||||||
|
|
||||||
@@ -3553,23 +3124,26 @@ FROVideo MOVE.L A0,A1 ; save the param block pointer for _Open
|
@@ -3553,23 +3126,26 @@ FROVideo MOVE.L A0,A1 ; save the param block pointer for _Open
|
||||||
|
|
||||||
@NextVidsRsrc
|
@NextVidsRsrc
|
||||||
_sNextTypesRsrc ; search for a video sRsrc
|
_sNextTypesRsrc ; search for a video sRsrc
|
||||||
|
@ -28023,7 +28153,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
|
|
||||||
;________________________________________________________________________________________
|
;________________________________________________________________________________________
|
||||||
;
|
;
|
||||||
@@ -3604,12 +3178,14 @@ OpnVidDeflt MOVE.L A0,A2 ; save A0
|
@@ -3604,12 +3180,14 @@ OpnVidDeflt MOVE.L A0,A2 ; save A0
|
||||||
CMP.W #DrSwApple,spDrvrSW(A0) ; does it have an Apple driver interface (software only)?
|
CMP.W #DrSwApple,spDrvrSW(A0) ; does it have an Apple driver interface (software only)?
|
||||||
BNE.S @Error ; -> no, keep on searching
|
BNE.S @Error ; -> no, keep on searching
|
||||||
|
|
||||||
|
@ -28041,7 +28171,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
BSR InitVidDeflt ; initialize the default video device
|
BSR InitVidDeflt ; initialize the default video device
|
||||||
@Error RTS
|
@Error RTS
|
||||||
|
|
||||||
@@ -3629,7 +3205,8 @@ OpnVidDeflt MOVE.L A0,A2 ; save A0
|
@@ -3629,7 +3207,8 @@ OpnVidDeflt MOVE.L A0,A2 ; save A0
|
||||||
; then saved in low memory as needed.
|
; then saved in low memory as needed.
|
||||||
;________________________________________________________________________________________
|
;________________________________________________________________________________________
|
||||||
|
|
||||||
|
@ -28051,7 +28181,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
MOVE.B spId(A0),D3 ; save the ID
|
MOVE.B spId(A0),D3 ; save the ID
|
||||||
|
|
||||||
CLR.B spExtDev(A0) ; no external devices
|
CLR.B spExtDev(A0) ; no external devices
|
||||||
@@ -3651,6 +3228,7 @@ RdVidParam MOVEM.L A1-A2/D3,-(SP)
|
@@ -3651,6 +3230,7 @@ RdVidParam MOVEM.L A1-A2/D3,-(SP)
|
||||||
@gotBase MOVE.L spResult(A0),ScreenBytes ; save it
|
@gotBase MOVE.L spResult(A0),ScreenBytes ; save it
|
||||||
|
|
||||||
MOVE.B D3,spId(A0) ; restore the sRsrc ID
|
MOVE.B D3,spId(A0) ; restore the sRsrc ID
|
||||||
|
@ -28059,7 +28189,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
BSR GetDefVidMode ; get the default video mode
|
BSR GetDefVidMode ; get the default video mode
|
||||||
MOVE.B D0,spId(A0) ; and save it
|
MOVE.B D0,spId(A0) ; and save it
|
||||||
|
|
||||||
@@ -3686,9 +3264,9 @@ RdVidParam MOVEM.L A1-A2/D3,-(SP)
|
@@ -3686,9 +3266,9 @@ RdVidParam MOVEM.L A1-A2/D3,-(SP)
|
||||||
MOVEQ #0,D0 ; no errors
|
MOVEQ #0,D0 ; no errors
|
||||||
|
|
||||||
@End MOVE.B D3,spId(A0) ; restore ID for caller
|
@End MOVE.B D3,spId(A0) ; restore ID for caller
|
||||||
|
@ -28072,7 +28202,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
|
|
||||||
@Error MOVEQ #1,D0 ; bad video card (woof)
|
@Error MOVEQ #1,D0 ; bad video card (woof)
|
||||||
BRA.S @End
|
BRA.S @End
|
||||||
@@ -3755,34 +3333,76 @@ OpensDrvr MOVE.L A2,-(SP)
|
@@ -3755,34 +3335,76 @@ OpensDrvr MOVE.L A2,-(SP)
|
||||||
;________________________________________________________________________________________
|
;________________________________________________________________________________________
|
||||||
|
|
||||||
InitVidDeflt
|
InitVidDeflt
|
||||||
|
@ -28170,7 +28300,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
;________________________________________________________________________________________
|
;________________________________________________________________________________________
|
||||||
;
|
;
|
||||||
; Routine: GetDefVidMode
|
; Routine: GetDefVidMode
|
||||||
@@ -3797,14 +3417,15 @@ InitVidDeflt
|
@@ -3797,14 +3419,15 @@ InitVidDeflt
|
||||||
;________________________________________________________________________________________
|
;________________________________________________________________________________________
|
||||||
|
|
||||||
GetDefVidMode
|
GetDefVidMode
|
||||||
|
@ -28190,7 +28320,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
_SReadPRAMRec ; get parameter RAM record
|
_SReadPRAMRec ; get parameter RAM record
|
||||||
BNE.S @OneBit ; -> it's invalid, so default to one bit mode
|
BNE.S @OneBit ; -> it's invalid, so default to one bit mode
|
||||||
|
|
||||||
@@ -3819,11 +3440,11 @@ GetDefVidMode
|
@@ -3819,11 +3442,11 @@ GetDefVidMode
|
||||||
MOVEQ #0,D0
|
MOVEQ #0,D0
|
||||||
MOVE.B 2(A1),D0 ; get the default mode
|
MOVE.B 2(A1),D0 ; get the default mode
|
||||||
|
|
||||||
|
@ -28205,7 +28335,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
|
|
||||||
@OneBit MOVE.B #OneBitMode,2(A1) ; Set default to OneBitMode
|
@OneBit MOVE.B #OneBitMode,2(A1) ; Set default to OneBitMode
|
||||||
MOVE.L A1,spsPointer(A0) ; Pass pointer to buffer
|
MOVE.L A1,spsPointer(A0) ; Pass pointer to buffer
|
||||||
@@ -3952,6 +3573,14 @@ InitDefGamma
|
@@ -3952,6 +3575,14 @@ InitDefGamma
|
||||||
BRA.S @SetIt ; set it
|
BRA.S @SetIt ; set it
|
||||||
|
|
||||||
|
|
||||||
|
@ -28220,7 +28350,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
;________________________________________________________________________________________
|
;________________________________________________________________________________________
|
||||||
;
|
;
|
||||||
; Routine: InitDummyScreen
|
; Routine: InitDummyScreen
|
||||||
@@ -4081,6 +3710,7 @@ AddVidDevice
|
@@ -4081,6 +3712,7 @@ AddVidDevice
|
||||||
MOVE ioRefNum(A1),-(SP) ; push the device's refNum
|
MOVE ioRefNum(A1),-(SP) ; push the device's refNum
|
||||||
|
|
||||||
BSR.S GetDefVidMode ; D0 <- the default video mode
|
BSR.S GetDefVidMode ; D0 <- the default video mode
|
||||||
|
@ -28228,7 +28358,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
MOVE.L D0,-(SP) ; Push it
|
MOVE.L D0,-(SP) ; Push it
|
||||||
|
|
||||||
_NewGDevice ; allocate a new GrafDevice (in system heap)
|
_NewGDevice ; allocate a new GrafDevice (in system heap)
|
||||||
@@ -4130,6 +3760,10 @@ InitSCC
|
@@ -4130,6 +3762,10 @@ InitSCC
|
||||||
bsr.l SCCIOPHwInit ; initialize the IOP hardware registers
|
bsr.l SCCIOPHwInit ; initialize the IOP hardware registers
|
||||||
@NoIOP ; fall thru -- IOP boots in bypass mode
|
@NoIOP ; fall thru -- IOP boots in bypass mode
|
||||||
ENDIF
|
ENDIF
|
||||||
|
@ -28239,7 +28369,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
movea.l SCCWr,a0 ; point to SCC base write address (chan B)
|
movea.l SCCWr,a0 ; point to SCC base write address (chan B)
|
||||||
movea.l SCCRd,a1 ; point to SCC base read address (chan B)
|
movea.l SCCRd,a1 ; point to SCC base read address (chan B)
|
||||||
tst.b (a1) ; synchronize SCC accesses
|
tst.b (a1) ; synchronize SCC accesses
|
||||||
@@ -4139,89 +3773,6 @@ InitSCC
|
@@ -4139,89 +3775,6 @@ InitSCC
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
@ -28329,7 +28459,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
;________________________________________________________________________________________
|
;________________________________________________________________________________________
|
||||||
;
|
;
|
||||||
; Routine: InstallDriver
|
; Routine: InstallDriver
|
||||||
@@ -4250,7 +3801,7 @@ InstallDriver
|
@@ -4250,7 +3803,7 @@ InstallDriver
|
||||||
move.l UTableBase,a0 ; point to utable array
|
move.l UTableBase,a0 ; point to utable array
|
||||||
move.l (a0,d1),a0 ; get handle to dce in a3
|
move.l (a0,d1),a0 ; get handle to dce in a3
|
||||||
move.l (a0),a0 ; get pointer to dce
|
move.l (a0),a0 ; get pointer to dce
|
||||||
|
@ -28338,7 +28468,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
|
|
||||||
move.l (a1),a1 ; get pointer to driver
|
move.l (a1),a1 ; get pointer to driver
|
||||||
move.w drvrFlags(a1),dCtlFlags(a0) ; copy data to dce
|
move.w drvrFlags(a1),dCtlFlags(a0) ; copy data to dce
|
||||||
@@ -4258,7 +3809,9 @@ InstallDriver
|
@@ -4258,7 +3811,9 @@ InstallDriver
|
||||||
move.w drvrEMask(a1),dCtlEMask(a0)
|
move.w drvrEMask(a1),dCtlEMask(a0)
|
||||||
move.w drvrMenu(a1),dCtlMenu(a0)
|
move.w drvrMenu(a1),dCtlMenu(a0)
|
||||||
|
|
||||||
|
@ -28349,7 +28479,7 @@ diff --git a/OS/StartMgr/StartInit.a b/OS/StartMgr/StartInit.a
|
||||||
|
|
||||||
@openDrvr move.l a2,a1 ; load pointer to driver name
|
@openDrvr move.l a2,a1 ; load pointer to driver name
|
||||||
bra.s OpenDRVR ; open the driver (a1/)
|
bra.s OpenDRVR ; open the driver (a1/)
|
||||||
@@ -4391,124 +3944,105 @@ CheckForEgretOrCuda ; <T2>
|
@@ -4391,124 +3946,105 @@ CheckForEgretOrCuda ; <T2>
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
|
|
||||||
|
@ -48881,7 +49011,7 @@ diff --git a/Toolbox/ShutDownMgr/ShutDownMgr.a b/Toolbox/ShutDownMgr/ShutDownMgr
|
||||||
BSR CloseLCDVideo ; Otherwise, close ’em.
|
BSR CloseLCDVideo ; Otherwise, close ’em.
|
||||||
@SkipClose
|
@SkipClose
|
||||||
|
|
||||||
@@ -1182,51 +1346,57 @@ CheckForSoftPowerOff
|
@@ -1182,51 +1346,59 @@ CheckForSoftPowerOff
|
||||||
; if the video is of type LCD. If so, then close the video driver.
|
; if the video is of type LCD. If so, then close the video driver.
|
||||||
;————————————————————————————————————————————————————————————————————————————————————————
|
;————————————————————————————————————————————————————————————————————————————————————————
|
||||||
|
|
||||||
|
@ -48936,8 +49066,10 @@ diff --git a/Toolbox/ShutDownMgr/ShutDownMgr.a b/Toolbox/ShutDownMgr/ShutDownMgr
|
||||||
+ Move (A2), D0
|
+ Move (A2), D0
|
||||||
+ Ext.L D0
|
+ Ext.L D0
|
||||||
+ Move.L D0, -(A7)
|
+ Move.L D0, -(A7)
|
||||||
+ IMPORT EXPANSIONBUSMGR_VEC01A8
|
+ CASE ON
|
||||||
+ Bsr.L EXPANSIONBUSMGR_VEC01A8
|
+ IMPORT RemoveDriver
|
||||||
|
+ Bsr.L RemoveDriver
|
||||||
|
+ CASE OFF
|
||||||
+ AddQ #$8, A7
|
+ AddQ #$8, A7
|
||||||
+ Bra.B @L4
|
+ Bra.B @L4
|
||||||
+@L3 Lea.L -$40(A6), A0
|
+@L3 Lea.L -$40(A6), A0
|
||||||
|
@ -48980,7 +49112,7 @@ diff --git a/Toolbox/ShutDownMgr/ShutDownMgr.a b/Toolbox/ShutDownMgr/ShutDownMgr
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1312,7 +1482,6 @@ KillEDisk
|
@@ -1312,7 +1484,6 @@ KillEDisk
|
||||||
BNE.S @noEMMU ; IF we have an EMMU THEN
|
BNE.S @noEMMU ; IF we have an EMMU THEN
|
||||||
MOVE.L A2,A0 ; get ptr to start of data area
|
MOVE.L A2,A0 ; get ptr to start of data area
|
||||||
MOVE.L #BytesToKill,A1 ; get number of bytes to erase
|
MOVE.L #BytesToKill,A1 ; get number of bytes to erase
|
||||||
|
@ -48988,7 +49120,7 @@ diff --git a/Toolbox/ShutDownMgr/ShutDownMgr.a b/Toolbox/ShutDownMgr/ShutDownMgr
|
||||||
BRA.S @unProtect ; ELSE
|
BRA.S @unProtect ; ELSE
|
||||||
@noEMMU MOVE.L CheckSumPtr(A0),A0 ; Get Ptr to the start of the checksum area, if it exists
|
@noEMMU MOVE.L CheckSumPtr(A0),A0 ; Get Ptr to the start of the checksum area, if it exists
|
||||||
TST.L A0 ; Check if RAM Disk is using checksums
|
TST.L A0 ; Check if RAM Disk is using checksums
|
||||||
@@ -1320,8 +1489,8 @@ KillEDisk
|
@@ -1320,8 +1491,8 @@ KillEDisk
|
||||||
MOVE.L A2,A0 ; base address of RAM disk is same as DataStartPtr
|
MOVE.L A2,A0 ; base address of RAM disk is same as DataStartPtr
|
||||||
@cksumOn ; ENDIF
|
@cksumOn ; ENDIF
|
||||||
SUB.L A1,A1 ; Protect flag. Zero = Unprotect
|
SUB.L A1,A1 ; Protect flag. Zero = Unprotect
|
||||||
|
@ -48998,7 +49130,7 @@ diff --git a/Toolbox/ShutDownMgr/ShutDownMgr.a b/Toolbox/ShutDownMgr/ShutDownMgr
|
||||||
_HwPriv ; Write Enable the EDisk RAM
|
_HwPriv ; Write Enable the EDisk RAM
|
||||||
CMPI.W #paramErr,D0 ; Does not clear D0 on success, Check for failure
|
CMPI.W #paramErr,D0 ; Does not clear D0 on success, Check for failure
|
||||||
BEQ.S @Done ; -> enable failed. Bail out now or Bus Error!
|
BEQ.S @Done ; -> enable failed. Bail out now or Bus Error!
|
||||||
@@ -1445,7 +1614,13 @@ ShutDownCancelButton EQU 2 ; dialog item of Cancel button
|
@@ -1445,7 +1616,13 @@ ShutDownCancelButton EQU 2 ; dialog item of Cancel button
|
||||||
_ParamText ; set dialog parameters
|
_ParamText ; set dialog parameters
|
||||||
|
|
||||||
subq #4,sp ; room for DialogPtr
|
subq #4,sp ; room for DialogPtr
|
||||||
|
@ -49012,7 +49144,7 @@ diff --git a/Toolbox/ShutDownMgr/ShutDownMgr.a b/Toolbox/ShutDownMgr/ShutDownMgr
|
||||||
clr.l -(sp) ; use heap storage
|
clr.l -(sp) ; use heap storage
|
||||||
move.l #-1,-(sp) ; put it in front
|
move.l #-1,-(sp) ; put it in front
|
||||||
_GetNewDialog
|
_GetNewDialog
|
||||||
@@ -1488,82 +1663,30 @@ exitFalse move.w #false,d0 ; allow shutdown to continue
|
@@ -1488,82 +1665,30 @@ exitFalse move.w #false,d0 ; allow shutdown to continue
|
||||||
justExit move.l (sp)+,a2 ; restore a2
|
justExit move.l (sp)+,a2 ; restore a2
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user