Subject: A3000 more magic fix
To: None <chopps@emunix.emich.edu>
From: None <rhealey@aggregate.com>
List: amiga-dev
Date: 06/06/1994 19:49:59
	Below is the fix needed to get 3000's to reboot without needing
	a power cycle. I chose amiga_init.c since it was C code, as opposed
	to locore.s assembly, and it was at the point where the MMU is first
	turned on so it's before most places where a lockup will occur, i.e.
	where Control-A-A is needed to bail out.

		-Rob

*** amiga_init.c.orig	Mon Jun  6 19:27:26 1994
--- amiga_init.c	Mon Jun  6 19:28:00 1994
***************
*** 637,642 ****
--- 637,658 ----
  	custom.intreq = 0x7fff;			/* clear any current */
  	ciaa.icr = 0x7f;			/* and keyboard */
  	ciab.icr = 0x7f;			/* and again */
+ 
+ 	/*
+ 	 * This is needed for 3000's with superkick ROM's. Bit 7 of
+ 	 * 0xde0002 enables the ROM if set. If this isn't set the machine
+ 	 * has to be powercycled in order for it to boot again. ICKA! RFH 
+          */
+ 	if (is_a3000()) {
+ 		volatile unsigned char *a3000_magic_reset;
+ 
+ 		a3000_magic_reset = (unsigned char *)ztwomap(0xde0002);
+ 		
+ 		/* Turn SuperKick ROM (V36) back on */
+ 		*a3000_magic_reset |= 0x80;
+ 
+ 	}
+ 
  }
  
  

------------------------------------------------------------------------------