mirror of
https://github.com/elliotnunn/supermario.git
synced 2025-02-15 23:31:45 +00:00
107 lines
2.9 KiB
Plaintext
107 lines
2.9 KiB
Plaintext
;
|
|
; File: JPAlert.a
|
|
;
|
|
; Contains: xxx put contents here xxx
|
|
;
|
|
; Written by: xxx put writers here xxx
|
|
;
|
|
; Copyright: © 1990 by Apple Computer, Inc., all rights reserved.
|
|
;
|
|
; Change History (most recent first):
|
|
;
|
|
; <3> 2/15/90 BAL Fixed Alert calls to initFonts and initWindows so as not to
|
|
; crash System 6.0.3
|
|
; <2> 2/14/90 BAL Allow installation on System 6.0.4 but not 6.0.3
|
|
; <1> 1/31/90 csd first checked in to put up an alert if this version of 32-Bit
|
|
; QuickDraw is placed in a 6.0.4 or earlier System Folder.
|
|
;
|
|
; To Do:
|
|
;
|
|
|
|
LOAD 'StandardEqu.d'
|
|
|
|
;---------------------------------------------------------------------
|
|
WrongQD32 MAIN EXPORT
|
|
|
|
|
|
|
|
move.l (sp),a0 ; get address of caller (PTCH $178)
|
|
cmp.l #$303c0304,(a0) ; is it about to MOVE.W #$304,D0?
|
|
bne.s not604
|
|
cmp.l #$A74643FA,4(a0) ; is it about to _GetTrapAddress ...
|
|
bne.s not604
|
|
add.l #$48,(sp) ; upon return, skip over undesirable after patches
|
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; Install 32 bit color QuickDraw:
|
|
;
|
|
CQD subq #4,SP ; room for result
|
|
Move.L #'ptch',-(SP) ; signature of loadable patch resource
|
|
Move.W #132,-(SP) ; pass along CQD loader ID
|
|
_Get1Resource ; just in case we want to ROM it later on
|
|
move.l (SP)+,d0 ; handle returned?
|
|
beq.s @skip ; no, skip install
|
|
|
|
Move.l d0,A0 ; fetch handle
|
|
Move.L (A0),A0 ; point at head of resource
|
|
Jmp (A0) ; go execute install code
|
|
@skip
|
|
rts ; return to rom78fix.a
|
|
|
|
|
|
not604
|
|
;---------------------------------------------------------------------
|
|
|
|
badQD32Vars RECORD 0,DECREMENT
|
|
saveQDExists ds.w 1 ; saves QDExists flag
|
|
saveA5 ds.l 1
|
|
localA5 ds.l 1
|
|
thePort ds.l 1 ; my own QuickDraw (required!)
|
|
ds.b grafSize-4 ; other QuickDraw globals (except thePort)
|
|
varsSize equ *
|
|
ENDR
|
|
|
|
ROMInitFonts EQU $17A0C
|
|
ROMInitWinds EQU $0F836
|
|
|
|
|
|
MACHINE MC68020
|
|
|
|
WITH badQD32Vars
|
|
|
|
link a6,#varsSize ; create stack frame
|
|
|
|
move.l a5,saveA5(a6) ; save host A5 <1.2><1.3>
|
|
lea localA5(a6),a5 ; setup new A5 <1.2>
|
|
move.b QDExist,saveQDExists(a6) ; save state of QDExist flag <1.2>
|
|
|
|
pea thePort(a6) ; ptr to our quickdraw globals
|
|
_InitGraf ; init our QD world
|
|
|
|
clr.l deskHook ; or the Window Manager will die
|
|
|
|
; _InitFonts ; init the font manager
|
|
jsr ([romBase],(ROMInitFonts).L)
|
|
|
|
; _InitWindows ; init the window manager
|
|
jsr ([romBase],(ROMInitWinds).L)
|
|
|
|
_TEInit ; init TextEdit
|
|
|
|
clr.l -(sp) ; no resume proc
|
|
_InitDialogs
|
|
|
|
subq #2,sp ; room for function result
|
|
move.w #WrongQD32Alert,-(sp) ; push our alert ID
|
|
clr.l -(sp) ; no ProcPtr
|
|
_CautionAlert ; put up the alert
|
|
|
|
move.b saveQDExists(a6),QDExist ; restore state of QDExist flag <1.2>
|
|
move.l saveA5(a6),a5 ; restore host A5 <1.2>
|
|
|
|
unlk A6 ; dump our locals
|
|
rts ; get outta here
|
|
|
|
END |