mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-11-29 20:49:19 +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
|