sys7.1-doc-wip/Toolbox/Munger/MungerPatches.a
2019-07-27 22:37:48 +08:00

57 lines
2.1 KiB
Plaintext

;
; File: MungerPatches.a
;
; Contains: Patches for routines in the file "Munger.a"
;
; Written by: Kevin S. MacDonell
;
; Copyright: © 1991-1992 by Apple Computer, Inc., all rights reserved.
;
; Change History (most recent first):
;
; <3> 2/10/92 JSM Moved this file to Munger folder, keeping all the old revisions;
; removed To Do comment to roll these patches into Munger.a since
; that's already been done.
; <2> 1/14/91 KSM <JDR> Extra include file (copy/paste bug).
; <1> 1/14/91 KSM first checked in
; <0+> 1/9/91 KSM <clm><ngk>New today.
;
load 'StandardEqu.d'
include 'LinkedPatchMacros.a'
;————————————————————————————————————————————————————————————————————————————————————————————————————
; FixTypoInFixAtan2
; There were a couple of SUBQ.W's which should have been SUBQ.L's in FixAtan2
FixPtStdEntry ROMBIND (Plus,$15880),(SE,$FEC2),(II,$14C22),(IIci,$1C3D0),(Portable,$15192)
AtLabel2InFixATan ROMBIND (Plus,$15A78),(SE,$100B8),(II,$14E30),(IIci,$1C5DE),(Portable,$15388)
FixTypoInFixAtan2 PatchProc _FixATan2,(Plus,SE,II,Portable,IIci)
jsrROM FixPtStdEntry
moveq #0,D6
MOVE.L 12(A6),D3 ; get X
bpl.s @1 ; if X < 0 then
addq #2,D6 ; set 2nd bit of D6
neg.l D3 ; X := abs |X|
bpl.s @1
subq.l #1,D3 ; uh oh, it's still negative, make largest positive <fixed>
@1 MOVE.L 8(A6),D0 ; get Y
bpl.s @2 ; if Y < 0s then
addq #1,D6 ; set lowest bit of D6
neg.l D0 ; y := |y|
bpl.s @2
subq.l #1,D0 ; make largest positive <fixed>
@2 jmpROM AtLabel2InFixATan ; Just rejoin the ROM at its "@2" label
EndProc
;————————————————————————————————————————————————————————————————————————————————————————————————————
end