Subject: Re: Macintosh Performa 475
To: Bob Nestor <rnestor@metronet.com>
From: Johan Claesson <Johan.Claesson@uab.ericsson.se>
List: port-mac68k
Date: 08/05/1997 10:52:48
> Sniffer from netbsd.org and run it on your 475.  This should find the
> values necessary for the MRG routines.  Then you'd need to send them to
> someone who can incorporate the changes into the kernel sources.  I'd
> normally do this but my 68K Mac is currently on loan on the HWDIRECT
> effort.  You could try sending them to Scott Reynolds and see if he would
> get them into a Kernel for you.  If he's not to busy he'd proably be more
> than happy to do this and install the changes into the source tree as
> well.
> 
> Hope this helps, and good luck.
> -bob

I yesterday tried the HWDIRECT.173 kernel with serial console, no
success though!
This is the result from Mac ROM. One strange thing is; that it says that
the internal disk is an IDE? As I said erlier, I have made changes to
the motherboad, to make it run at 33 MHz instead of 25 MHz. May this
change cause any troubles? MacOS itself can't no longer recognise what
kind of Macintosh model i've got. I'm planning to setup a cross-compiler
on my Sun SparcStation 5 at work. This to make the LC/Performa 475 run
NetBSD. Help is welcommed!


************************************************************

The Mac ROM values needed by NetBSD/mac68k for this Mac are:
 
/*
 * Vectors sniffed out for Unknown, a MACH_CLASS?? machine
 *  Zero values are not required by NetBSD for this system, but values
shown as
 *   "Not_Found" must be provided before NetBSD can hope to run.  The
values
 *    shown in parenthesis in the comment field are thought to be
machine
 *    independent and valid for this system based on the ROM Version ID.
 */
{                /* ?? */
    "Unknown ROMs",    /* Gestalt Id: 0 */
    (caddr_t) 0x408a9b56,   /*              ADB interrupt */
    (caddr_t) 0x0,          /*              PM ADB interrupt */
    (caddr_t) 0x408b2f94,   /*              ADBBase + 130 interupt */
    (caddr_t) 0x4080a360,   /* (0x4080a360) CountADBs */
    (caddr_t) 0x4080a37a,   /* (0x4080a37a) GetIndADB */
    (caddr_t) 0x4080a3a6,   /* (0x4080a3a6) GetADBInfo */
    (caddr_t) 0x4080a3ac,   /* (0x4080a3ac) SetADBInfo */
    (caddr_t) 0x4080a752,   /* (0x4080a752) ADBReInit */
    (caddr_t) 0x4080a3dc,   /* (0x4080a3dc) ADBOp */
    (caddr_t) 0x0,          /*              PMgrOp */
    (caddr_t) 0x4080c05c,   /* (0x4080c05c) WriteParam */
    (caddr_t) 0x4080c086,   /* (0x4080c086) SetDateTime */
    (caddr_t) 0x4080c5cc,   /* (0x4080c5cc) InitUtil */
    (caddr_t) 0x4080b186,   /* (0x4080b186) ReadXPRam */
    (caddr_t) 0x4080b190,   /* (0x4080b190) WriteXPRam */
    (caddr_t) 0x408b3bf8,   /*              jClkNoMem */
    (caddr_t) 0x4080a818,   /* (0x40801818) ADBAlternateInit */
    (caddr_t) 0x408a99c0,   /* (0x40814800) Egret */
    (caddr_t) 0x408147c4,   /*              InitEgret */
    (caddr_t) 0x408a80c8,   /*              ADBReInit_JTBL */
    (caddr_t) 0x4087eb90,   /* (0x4087eb90) ROMResourceMap List Head */
    (caddr_t) 0x4081c406,   /* (0x4081c406) FixDiv */
    (caddr_t) 0x4081c312,   /* (0x4081c312) FixMul */
},
 
/*
 * This machine is of an unknown Class and should be defined as follows.
 * The following information is needed to properly classify this system
 *  for processing I/O.  This goes into the "setmachdep()" routine
 *  located in the "machdep.c" source file.
 */
 case MACH_CLASS##
   VIA2 = 0x1;
   IOBase = 0x50f00000;
   Via1Base = (volatile u_char *) IOBase;
   mac68k_machine.ide = 1; /* This is unsupported */
   mac68k_machine.sccClkConst = 115200;
   via_reg(VIA1, vIER) = 0x7f;  /* disable VIA1 int */
   via_reg(VIA2, rIER) = 0x7f;  /* disable RBV int */
   break;
 
/*
 * The following information is needed to setup the I/O Base addresses
 *  pointing to the appropiate memory mapped hardware on this system.
 * This information goes into the "mac68k_set_io_offsets(base)" routine
 *  located in the "machdep.c" source file.
 */
 case MACH_CLASS##
   Via1Base = volatile u_char *) base;
   sccA = (volatile u_char *) base + 0xc020;
   ASCBase = (volatile u_char *) base + 0x14000;
   SCSIBase = base;
   break;
 
This is a 68k system using a 68040 CPU, integrated FPU, 68040 MMU
Gestalt Manager reports hardware attributes (0x01a0081b) of:
   VIA1 at 0x50f00000
   VIA2 at 0x50f02000
   ASC - Apple Sound Chip at 0x50f14000
   SCC  at 0x50f0c020
   Internal disk is an IDE, not currently supported by NetBSD/mac68k
   Universal ROM version 0x067c
Basic hardware required for NetBSD/mac68k is present, but the following
 things might be problems that need to be considered:
    Internal disk is an IDE, not currently supported by NetBSD/mac68k
-- 

Regards
Johan Claesson