mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-11-25 09:30:50 +00:00
878 lines
28 KiB
Diff
878 lines
28 KiB
Diff
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
|
||
|
||
; We’ve 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 Joe’s 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, we’ll 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> Don’t 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
|