supermario/patchset/NewWorld-Cube-E/7-filthy-hacks-for-newworld-rom.patch

878 lines
28 KiB
Diff
Raw Normal View History

2019-04-16 03:32:02 +00:00
From: Horst Beepmanh <>
Subject: Filthy hacks for NewWorld ROM
---
diff --git a/Make/System.make b/Make/System.make
--- a/Make/System.make
+++ b/Make/System.make
@@ -165,26 +165,10 @@ ResourceFiles = ∂
"{MiscDir}APTK57.rsrc" ∂
LinkedPatchObjs = ∂
- "{ObjDir}PatchProtector.a.o" ∂
- "{ObjDir}ProcessManagerSegmentTweaks.a.o" ∂
- "{ObjDir}SCSILinkPatch.a.o" ∂
- "{ObjDir}FileMgrPatches.a.o" ∂
- "{ObjDir}LaterFileMgrPatches.a.o" ∂
- "{ObjDir}AllB&WQDPatch.a.o" ∂
- "{ObjDir}Mouse.a.o" ∂
- "{ObjDir}ResourceMgrPatches.a.o" ∂
- "{ObjDir}SonyPatches.a.o" ∂
- "{ObjDir}BrightnessPatches.a.o" ∂
- "{ObjDir}MMUPatches.a.o" ∂
- "{ObjDir}MenuMgrPatch.a.o" ∂
- "{ObjDir}MenuMgrPatchII.a.o" ∂
- "{ObjDir}SlotMgrPatch.a.o" ∂
- "{ObjDir}SlotMgrInit.a.o" ∂
- "{ObjDir}SlotMgr.a.o" ∂
- "{ObjDir}DialogMgrPatches.a.o" ∂
- "{ObjDir}QuickDrawPatches.a.o" ∂
- "{ObjDir}WindowMgrPatches.a.o" ∂
+ "{LibDir}HelpMgr.lib" ∂
+ "{LibDir}IconUtils.lib" ∂
"{IfObjDir}interface.o" ∂
+ "{Libraries}Runtime.o" ∂
"{ObjDir}TrashTalk.a.o"
diff --git a/OS/StartMgr/Boot3.a b/OS/StartMgr/Boot3.a
--- a/OS/StartMgr/Boot3.a
+++ b/OS/StartMgr/Boot3.a
@@ -459,6 +459,21 @@ kDALCreator equ 'dald' ; <12>
BootCode MAIN
+ MOVEQ #19,D0 ; Clear low bit of ECR19 to turn off DR
+ DC.W $FE04 ; _MoveFromECR
+ MOVE.L A0,D1
+ BCLR #1,D1
+ MOVE.L D1,A0
+ DC.W $FE05 ; _MoveToECR
+
+
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b 'Hello from the System 7 boot3 resource^n'
+@afterwards
; Registers passed in from boot blocks:
; A3 = handle to this resource
@@ -512,7 +527,16 @@ CheckForPreGibblySystem
btst #systemEnabledBit,ExtensionsEnabledByte
beq.s @gibblyPresent
moveq #dsOldSystem,d0
- _SysError
+
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b 'CheckForPreGibblySystem failed^n'
+@afterwards
+
+; _SysError
@gibblyPresent
; ——————————————————————————————————————————————————————————————————————————————————————————————————
@@ -588,6 +612,18 @@ ShowStartupScreen
; Now, do the welcome screen.
bsr EraseMyIcon
+
+
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b 'Got past EraseMyIcon^n'
+@afterwards
+
+
+
moveq #dsGreeting,d0 ; put up the greeting
_SysError
@@ -653,6 +689,14 @@ FixMMUTypeAndKillMemoryDispatch
; according to a calculated Clock rate (25 or 33Mhz currently). <SAM>
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b 'Got to CheckFor040CacheInhibit^n'
+@afterwards
+
CheckFor040CacheInhibit ; <5> SAM
CMPI.B #cpu68040,cpuFlag ; Are we on an 040?
@@ -705,12 +749,28 @@ CheckFor040CacheInhibit ; <5> SAM
; ——————————————————————————————————————————————————————————————————————————————————————————————————
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b 'Got to InstallDispatch^n'
+@afterwards
+
; Install the new dispatcher for systems that need it.
import InstallDispatch
jsr InstallDispatch
;——————————————————————————————————————————————————————————————————————————————————————————————————
+XXXXXXX
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b 'Got to CheckForExtensionsDisabled^n'
+@afterwards
CheckForExtensionsDisabled
@@ -853,6 +913,14 @@ RememberPhysicalMemTop
; ——————————————————————————————————————————————————————————————————————————————————————————————————
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b 'Got to DoWeHaveEnoughRAMToBoot^n'
+@afterwards
+
DoWeHaveEnoughRAMToBoot
; Weve got to have at least minRAMNeeded to get 7.0 on its feet. minRAMNeeded was chosen
@@ -890,6 +958,14 @@ LoadTemporaryStripAddress
@done
; ——————————————————————————————————————————————————————————————————————————————————————————————————
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b 'Got to LoadVMAndDebugger^n'
+@afterwards
+
LoadVMAndDebugger
; Load VM and MacsBug, but do it in a different order if Joes debugging signature is found.
@@ -976,6 +1052,14 @@ CleanUpBootPort
; ——————————————————————————————————————————————————————————————————————————————————————————————————
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b 'Got to RelocateBootWorld^n'
+@afterwards
+
RelocateBootWorld
; If VM has added memory to the machine, relocate all the boot stuff to the new MemTop/2 <10>
@@ -1129,6 +1213,14 @@ LoadFileSystemCache
; ——————————————————————————————————————————————————————————————————————————————————————————————————
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b 'Got to LoadPTCHZero^n'
+@afterwards
+
LoadPTCHZero
MOVEQ #0,D0 ; load patches for all ROMs
@@ -1149,9 +1241,9 @@ LoadPTCHROMSpecific
; *** obsolete, get rid of this eventually
- MOVEA.L ROMBase,a0 ; ID = ROM version number
- MOVE.W 8(A0),D0 ; load ROM-specific patch
- BSR LoadPTCH
+; MOVEA.L ROMBase,a0 ; ID = ROM version number
+; MOVE.W 8(A0),D0 ; load ROM-specific patch
+; BSR LoadPTCH
LoadLinkedPatches
lea LinkedPatchName,a0
@@ -1198,6 +1290,14 @@ LoadLinkedPatches
_SysError
@done
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b 'Got to LoadPTCHROMSpecific ... actually i killed that^n'
+@afterwards
+
; ——————————————————————————————————————————————————————————————————————————————————————————————————
@@ -1219,6 +1319,14 @@ TestForNeedToReset
; ——————————————————————————————————————————————————————————————————————————————————————————————————
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b 'Got to SetupProcessMgrLaunch^n'
+@afterwards
+
SetupProcessMgrLaunch
; So that old code that patches Launch will still work, we point the Launch trap to the code used
@@ -1314,6 +1422,14 @@ LoadINITResourcesInSystemFile
; ——————————————————————————————————————————————————————————————————————————————————————————————————
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b 'Got to LoadAROSE^n'
+@afterwards
+
LoadAROSE
; Load A/ROSE.
@@ -1335,21 +1451,37 @@ LoadAROSE
; ——————————————————————————————————————————————————————————————————————————————————————————————————
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b 'Got to LoadAppleTalk^n'
+@afterwards
+
LoadAppleTalk
; Load AppleTalk from System.
- btst.b #hwCbAUX,HWCfgFlags ; are we under A/UX?
- bnz.s @noALAP
-
- move.l #'lmgr',d5 ; call common routine to load and execute resource <29>
- clr.w d6
- clr.w d3 ; clear the DontCloseOnError flag
- bsr ExecuteFromSystem ; <34>
-@noALAP
+; btst.b #hwCbAUX,HWCfgFlags ; are we under A/UX?
+; bnz.s @noALAP
+;
+; move.l #'lmgr',d5 ; call common routine to load and execute resource <29>
+; clr.w d6
+; clr.w d3 ; clear the DontCloseOnError flag
+; bsr ExecuteFromSystem ; <34>
+;@noALAP
; ——————————————————————————————————————————————————————————————————————————————————————————————————
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b 'Got to LoadNetBoot^n'
+@afterwards
+
LoadNetBoot ; <33>
; Load NetBoot.
@@ -1385,6 +1517,14 @@ LoadNetBoot ; <33>
; ——————————————————————————————————————————————————————————————————————————————————————————————————
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b 'Got to LoadSystemComponents^n'
+@afterwards
+
LoadSystemComponents ; <9>
; Register any components lurking in the system file <9>
@@ -1402,9 +1542,30 @@ LoadSystemComponents ; <9>
@skipThings
+
+ForceBalloons
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b 'Got to LoadSystemComponents^n'
+@afterwards
+
; ——————————————————————————————————————————————————————————————————————————————————————————————————
+GapHerePlease
+
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b 'Got to LoadINITFiles^n'
+@afterwards
+
LoadINITFiles
+ bra @skipINITs
; This section searches the default volume for files of type cdev, RDEV
; and INIT. When it finds one, it opens it and attempts to Get1IndResource
@@ -1472,6 +1633,15 @@ LoadINITFiles
; ——————————————————————————————————————————————————————————————————————————————————————————————————
+FontsOverNet
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b 'Got to _AddScriptFonts^n'
+@afterwards
+
; Now that networks are usable, give script systems a chance to install fonts over the network. <14>
subq #2,sp ; make room for OSErr result
@@ -1481,11 +1651,29 @@ LoadINITFiles
;------------------------------------------------------------------------------------------------
+TellTSMStuff
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b 'Got to TSM^n'
+@afterwards
+
; Go tell text services manager what the system script is and what its default language is
- bsr TellTSMScriptAndLanguage
+; bsr TellTSMScriptAndLanguage
; ——————————————————————————————————————————————————————————————————————————————————————————————————
+SetNewPtrStartup
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b 'Got to set SetNewPtrStartup^n'
+@afterwards
+
; Switch from the boot-time NewPtrStartup to one that returns an error. <30>
move.l BootGlobals.postBootNewPtrStartup(a5),a0
@@ -1494,6 +1682,15 @@ LoadINITFiles
; ——————————————————————————————————————————————————————————————————————————————————————————————————
+NoMoreTwoHeaps
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b 'Got to _RsrcZoneInit^n'
+@afterwards
+
; We still have two heaps. We are going to get minSysHeapFreeAfterBoot bytes, even if it
; means growing the system heap again. This time, though, well stop reserving anything,
; and take as much as we need.
@@ -1512,6 +1709,15 @@ LoadINITFiles
; is used to start the Process Mgr. Any patches to Launch will be executed, followed by the Process
; Mgr. itself.
+DoTheMF
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b 'Got to MultiFinder^n'
+@afterwards
+
clr.w -(sp) ; for the wierdos who look
clr.l -(sp) ; we pass the parameters like the old launch
pea #'MultiFinder' ; (rest in peace)
@@ -1567,6 +1773,15 @@ StartProcessMgr
SUB.W #processMgrStackSize,A0 ; make space for stack
_SetApplLimit ; set the new limit
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b 'Start the Process Mgr^n'
+@afterwards
+
+
; Start the Process Mgr.
rts
@@ -2943,6 +3158,16 @@ EndCachesOffMFMPatch EQU *
EndOfBootCode
+BLAT proc export
+ move.l 4(sp),a0
+ add.l #1,a0
+ move.l #96,d0
+ dc.w $fe1f
+ move.l (sp),a0
+ addq #8,sp
+ jmp (a0)
+
+
; ——————————————————————————————————————————————————————————————————————————————————————————————————
end
diff --git a/Patches/BeforePatches.a b/Patches/BeforePatches.a
--- a/Patches/BeforePatches.a
+++ b/Patches/BeforePatches.a
@@ -513,6 +513,16 @@ RAMSysInit PROC EXPORT
Move.L D1,-(SP) ;save our handle
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b 'started ptch 0^n'
+@afterwards
+BarrierHere
+
+
;#####################################################################################
; P001 P027 24Jan87 JTC Allocate extended memory for international folks.
; This is not a patch, but it belongs in line.
@@ -558,7 +568,17 @@ RAMSysInit PROC EXPORT
_DisposPtr ; still in a0 after move <29June89smb>
beq.s @noSpandex ; exit if everything is ok <7>
-@ErrorXit _SysError ; <24Aug89smb>
+@ErrorXit
+
+ lea @thestring,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards
+ string c
+@thestring dc.b '@ErrorXit^n'
+@afterwards
+
+ _SysError ; <24Aug89smb>
@MakeExpandMem
clr.l ExpandMem ; aka BasicGlob
@@ -573,6 +593,16 @@ RAMSysInit PROC EXPORT
@noSpandex ; skip around when no room
+ lea @thestring3,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards3
+ string c
+@thestring3 dc.b 'done with expandmem^n'
+@afterwards3
+
+
+
;____________________________________________________________________________________
; Jam system version number. <PP149>
move.w #SysVers,SysVersion ; jam sys version number <v1.1>
@@ -595,6 +625,16 @@ RAMSysInit PROC EXPORT
@appleTalkIsActive
+Bazza
+
+ lea @thestring3,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards3
+ string c
+@thestring3 dc.b 'atlk done^n'
+@afterwards3
+
;____________________________________________________________________________________
; Install the keyboard translation code.
@@ -662,6 +702,15 @@ RAMSysInit PROC EXPORT
@badError
; A serious error occurred somewhere. Do that crazy system bomb thing.
+
+ lea @thestring2,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards2
+ string c
+@thestring2 dc.b '@ErrorXit^n'
+@afterwards2
+
move.l #dsSysErr,d0 ; pick system bomb number.
_SysError ; pow, biff, boffo.
@doneInit
@@ -687,43 +736,6 @@ RAMSysInit PROC EXPORT
@1
;######################### DeCompressor INSTALLATION ********#####################
-
- IMPORT OldCheckLoadJump,MyCheckLoad
- Lea OldCheckLoadJump+2,A0 ; < Denman 1/17/90 >
- Move.L jCheckLoad,(A0) ; store the old address in our code
-
-; Set new trap address to this ptr
-
- Lea MyCheckLoad,A0 ; compute the address of the patch code.
- Move.L A0,jCheckLoad ; stuff in my checkLoad hook.
-
-; Fix the BIND's to ROM addresses for the Decompressor (SizeRsrc patch).
-
- FixROMAddresses ; bind the addresses
-
-; install our patch to _SizeRsrc.
-
- PatchOSJump Read,$A002 ;Remember the old address of _Read.
- InstOSTp ReadDecompression,$A002 ;set the read trap to ReadDecompression
-
-; loop through all the open resource files, and clear the alternate attributes byte
-; then, set it for the system file
-
-SetupResourceFileAttributes
- move.l TopMapHndl,a0 ;start with the first map
-@next
- move.l a0,d0 ;are we done?
- bz.s @done
- move.l (a0),a0 ;get the map pointer
- bclr #decompressionPasswordBit,mInMemoryAttr(a0) ; <25> clear the flags for this map
- move.l mNext(a0),a0 ;go on to the next map
- bra.s @next
-@done
- move.l SysMapHndl,a0 ;get the system map
- move.l (a0),a0
- bset #decompressionPasswordBit,mInMemoryAttr(a0) ; allow dcmps here
- bset #dontCountOrIndexDuplicatesBit,mInMemoryAttr(a0) ; <23> Dont count duplicate resources in the System file
- bset #twoDeepBit,mInMemoryAttr(a0) ; <24> One deep calls on the System file will search two (or more) maps.
;#####################################################################################
;######################### A/UX CONDITIONAL INSTALLATION ********#####################
@@ -731,10 +743,30 @@ SetupResourceFileAttributes
; Patches in this group are bypassed when running on A/UX.
+FixRomEtc
+ lea @thestring3,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards3
+ string c
+@thestring3 dc.b 'adb?^n'
+@afterwards3
+
+
MOVE.W HwCfgFlags,D0 ; check em the compulsive way <PPyyy>
BTST #hwCbAUX,D0 ; is it A/UX time? <PPyyy>
BNE skipOSInstalls ; if so skip this OS stuff <PPyyy>
+FixRomEtc2
+ lea @thestring3,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards3
+ string c
+@thestring3 dc.b 'adb stuff^n'
+@afterwards3
+
+
;############################################################################# <6>
; Install ADBReInitPatch - Save old jADBProc and put ADBReInitPatch addr in
; jADBProc. Only do this on ADB machines!
@@ -755,6 +787,14 @@ SetupResourceFileAttributes
;#####################################################################################
skipOSInstalls ; end of the line for OS/hardware <PPyyy>
+ lea @thestring3,a0
+ move.l #96,d0
+ dc.w $fe1f
+ bra.s @afterwards3
+ string c
+@thestring3 dc.b 'DONE^n'
+@afterwards3
+
;#####################################################################################
;############################### END INSTALL CODE ####################################
;#####################################################################################
diff --git a/ProcessMgr/MenuMgrPatches.c b/ProcessMgr/MenuMgrPatches.c
--- a/ProcessMgr/MenuMgrPatches.c
+++ b/ProcessMgr/MenuMgrPatches.c
@@ -69,6 +69,9 @@
#include "Script.h"
#include "Language.h"
+#pragma parameter blat(__A0)
+void blat(char *str) = {0x7060, 0xFE1F};
+
/* -----------------------------------------------------------------------------
*
* Data and prototypes.
@@ -1101,18 +1104,25 @@ InitSystemMenus(void)
register MenuHandle menuHdl;
Str255 itemText;
+ Debugger();
+ blat("InitMenus^n");
/* Reach an understanding with the Menu Mgr */
InitMenus();
+ blat("InitAppleMenuList^n");
/* Set up the Apple menus list */
InitAppleMenuList();
+ DebugStr("\pdid InitAppleMenuList");
+ blat("-HMInitHelpMenu^n");
/* Let the Help Mgr install the Help menu */
- HMInitHelpMenu();
+ //HMInitHelpMenu();
+ blat("-InitKeybdMenu^n");
/* Let international install the Keyboard menu */
- (void) InitKeybdMenu();
+// (void) InitKeybdMenu();
+ blat("Get process list menu^n");
/* Get process list menu */
if ((ApplicationMenuHdl = menuHdl = GetResource('MENU', kApplicationMenuID)) == nil)
{
@@ -1127,8 +1137,9 @@ InitSystemMenus(void)
GetItem(menuHdl, HIDE_APP_ITEM, &itemText);
hHideCurrent = NewString(itemText);
+ blat("InsertMenu^n");
/* Place it in the bar as the far right-hand (system) menu */
- InsertMenu(menuHdl, 0);
+ //InsertMenu(menuHdl, 0);
/* Set up the suites for the generic icons (we only ever need small icons) */
SetResLoad(false);
diff --git a/ProcessMgr/Startup.c b/ProcessMgr/Startup.c
--- a/ProcessMgr/Startup.c
+++ b/ProcessMgr/Startup.c
@@ -98,6 +98,9 @@ void FloatKernelUp(void);
void FloatEppcUp(void);
void FloatAUXUp(void);
+#pragma parameter blat(__A0)
+void blat(char *str) = {0x7060, 0xFE1F};
+
main(void)
{
LaunchResults finderLaunchResults;
@@ -105,11 +108,18 @@ main(void)
HighLevelEventRecord theEvent;
FSSpec finderSpec;
+ blat("I am the Process Manager!^n");
+ blat("...and this is a second line^n");
+
_DataInit(); /* Initialize our global data */
InitializeEnvironment(); /* Adjust machine environment to our liking */
+ blat("InitializeEnvironment done^n");
InstallPatches(); /* Install our patches */
+ blat("InstallPatches done^n");
InitializeScheduler(); /* Initialize our global structures */
+ blat("PM made it past basic init^n");
+
/* Locate Process Mgr's scrap handle BEFORE launches */
ourScrapHdl = SCRAPHANDLE;
@@ -120,6 +130,8 @@ main(void)
if ((EXTENSIONSENABLEBYTE & (1 << ExtensionsEnabledBit)) != 0)
LaunchFacelessTasks();
+ blat("launched faceless tasks!^n");
+
THEZONE = ProcessMgrZone;
if ((finderLaunchResults.LaunchError = FSMakeFSSpec(BOOTVOL, 0, FINDERNAME, &finderSpec)) == noErr)
StandardLaunch(&finderSpec, launchUseMinimum, 0, nil, &finderLaunchResults, nil);
@@ -127,6 +139,8 @@ main(void)
/* Quick Restore: Have to set zone to sys to do _UnloadSeg correctly */
THEZONE = SYSZONE; CURMAP = SYSMAP; TOPMAPHANDLE = GetOverrideMap(SYSMAPHANDLE);
+ blat("about to know if finder launch failed...^n");
+
/* Bomb box if the Finder launch failed */
if (finderLaunchResults.LaunchError != noErr)
SysError(dsFinderErr);
@@ -236,13 +250,17 @@ InitializeEnvironment(void)
/* Save initial location zero before we call any traps that might change it! */
initLocationZero = LOCATIONZERO;
+ blat("Pre InitConfig^n");
/* Get configuration information */
InitConfig();
+ blat("Post InitConfig^n");
/* Get table of switchable low memory locations (in System Heap) */
+ blat("Pre GetSwitchTab^n");
GetSwitchTab();
/* Expand the zone up to the APPLLIMIT */
+ blat("Pre MaxApplZone^n");
MaxApplZone();
/* initialize the scrap, if necessary */
@@ -252,11 +270,13 @@ InitializeEnvironment(void)
THEZONE = APPLZONE;
/* Unload data init seg and release its CODE resource (to get it out of map). */
+ blat("Pre UnloadSeg/ReleaseResource^n");
pCodeEntry = _DataInit;
UnloadSeg(pCodeEntry);
ReleaseResource(GET_SCOD_HDL_FROM_FNC_PTR(pCodeEntry));
/* Set up dynamic heaps */
+ blat("Pre InitHeaps^n");
InitHeaps();
THEZONE = SYSZONE;
@@ -293,8 +313,11 @@ InitializeEnvironment(void)
/* Initialize window manager in system heap ('cause it's shared in our patch)
* NOTE: Calls InitFonts for InitWindow's sake on older machines.
*/
+ blat("Pre InitFonts^n");
InitFonts();
+ blat("Pre InitWindows^n");
InitWindows();
+ blat("Pre GetCurLayer^n");
MFLayer = GetCurLayer();
IMLayer = nil;
THEZONE = APPLZONE;
@@ -306,9 +329,11 @@ InitializeEnvironment(void)
#endif HAS_AUX_PROCESSMGR
/* We want to run from the boot volume. */
+ blat("Pre SetVol^n");
SetVol(nil, BOOTVOL);
/* Set up volume notification mechanism */
+ blat("Pre VNInit^n");
VNInit();
}
@@ -401,6 +426,8 @@ InitializeScheduler(void)
*/
THEZONE = SYSZONE;
+ blat("strings...^n");
+
/* Get menu strings for scrap coercion */
hdl = Get1Resource('STR#',-16414);
pStrListCopyNamePrefix = (hdl == nil) ? nil : *((StrListHdl)hdl);
@@ -433,6 +460,8 @@ InitializeScheduler(void)
THEZONE = APPLZONE;
RsrcZoneInit();
+ blat("menu time^n");
+
/* Switch to SYSZONE because any of the _GetResource calls below could move
* memory within the call, which is a problem for the rsrc mgr routine
* CheckLoad(). It saves and restores THEZONE, but our heap can move so restoring
@@ -467,8 +496,10 @@ InitializeScheduler(void)
standardMenuDefProcRsrc = (Handle) StripAddress(realMDefHdl);
}
+ blat("InitSystemMenus^n");
/* Insert the system menus now that we have the MDEF */
- InitSystemMenus();
+ //InitSystemMenus();
+ blat("...good^n");
/* Get rid of useless font width tables, etc. Must be done after InitSystemMenus,
* because menu installers need font info set up.
diff --git a/Toolbox/HelpMgr/BalloonExtensions.a b/Toolbox/HelpMgr/BalloonExtensions.a
--- a/Toolbox/HelpMgr/BalloonExtensions.a
+++ b/Toolbox/HelpMgr/BalloonExtensions.a
@@ -60,7 +60,7 @@ HelpMgrTesting EQU 0
;
;___________________________________________________________________________________
-HelpMgrInstall InstallProc
+HelpMgrInstall InstallProc (SuperMario)
IMPORT ptchHMBootInitHelpManager
IMPORT ptchHMGestaltIsThereHelp
@@ -113,7 +113,7 @@ HMProblemMessage
;
;___________________________________________________________________________________
-Pack14Entry PatchProc _Pack14
+Pack14Entry PatchProc _Pack14, (SuperMario)
IMPORT ptchHMPascalGetBalloons
diff --git a/Toolbox/IconUtils/IconUtils.a b/Toolbox/IconUtils/IconUtils.a
--- a/Toolbox/IconUtils/IconUtils.a
+++ b/Toolbox/IconUtils/IconUtils.a
@@ -590,7 +590,7 @@ EXIT MOVEA.L (SP), A1
; IconDispatch - dispatcher for all Icon utilities.
;----------------------------------------------------------------------------------
-IconDispatch BeginDispatcher $ABC9,(Plus,SE,II,Portable,IIci)
+IconDispatch BeginDispatcher $ABC9,(Plus,SE,II,Portable,IIci,SuperMario)
DispatchSelectors __PlotIconID=selectPlotIconID
DispatchSelectors __GetIconSuite=selectGetIconSuite
diff --git a/Toolbox/MenuMgr/MenuMgrExtensions.a b/Toolbox/MenuMgr/MenuMgrExtensions.a
--- a/Toolbox/MenuMgr/MenuMgrExtensions.a
+++ b/Toolbox/MenuMgr/MenuMgrExtensions.a
@@ -25,7 +25,7 @@
; Set the low memory bit
-InvalMenuBar PatchProc _InvalMenuBar,(Plus,SE,II,Portable,IIci)
+InvalMenuBar PatchProc _InvalMenuBar,(Plus,SE,II,Portable,IIci,SuperMario)
bset #MenuBarInvalidBit,MenuBarInvalidByte ; set the invalid bit
rts