[comp.sys.amiga] More fur for the beast- the bug in recoverable Alert

bryce@hoser.berkeley.edu (Bryce Nesbitt) (10/27/87)

;
;   More fur for the beast:  I've long known there was a bug in the Alert()
;   function.  Recently on the net someone implied that it was different on
;   their machine.  Strange says I, and whipped out the assember:
;
;   Simply put, on machines with $C00000 memory, recoverable Alert()s
;   simply are not recoverable.  I have not tried non-$C00000 memory
;   as I have none to try.
;
;   This means that on all A2000s, most A500s and many A1000s recoverable
;   alerts crash the machine.  Remove the $C00000 memory and the problem
;   goes away.
;
;   Alerts do a system sanity check, and exhibit the same behaviour if
;   some naughty program does not use SetFunction() when patching library
;   vectors, for example.  Something gets screwed in $C00000 and that is 
;   preventing alerts.
;
;   Oh, well, Alerts are almost as broken as Intuition string gadgets even
;   without this wrinkle.
;
;   Bryce Nesbitt
;   1712 Marin Ave
;   Berkeley, Ca 94707-2206
;   415-524-2110    ;home
;   ucbvax!hoser!bryce	    ;if "hoser" bounces, try "cogsci".
;   bryce@hoser.berkeley.EDU

	XREF	_LVOAlert

	move.l	4,a6
	move.l	#$07000009,d7
	lea.l	other_number,a5
	jsr	_LVOAlert(a6)
	moveq	#20,d0
	rts	;fish

other_number	dc.l	$0BADC0DE

	END
;
; What? You want it in C?
;
; main()
; {
;	Alert(0xBADC0DEL);
; }
|\ /|  . Ack! (NAK, SOH, EOT)
{o O} . bryce@hoser.berkeley.EDU -or- ucbvax!hoser!bryce
 (")
  U	"I never said you _could_, I merely said you _should_." -Humpty
	Dumpty