Subject: Re: Some LC575 and Quadra 840 stuff (long)
To: Nigel Pearson <nigel@ind.tansu.com.au>
From: None <briggs@puma.macbsd.com>
List: port-mac68k
Date: 10/30/1996 10:58:45
> Video address 0x50100700 -> 0xb80700.

This does look like an odd video address.  I'd be surprised if the video
RAM was really there.  I'll poke around the developer notes tonight and
see what I can glean from the whitespace between the lines...  ;-)  I've
been skimming those notes occasionally over the last few days, and they
are rather sparse in the first couple of chapters.

> 	Note that, as the machine starts executing the kernel image,
> 	there is a blast of noise from the Quadra's speaker.

Ugh.  That's not good--something is poking around in the sound chip?

> 	Bob suspected that the Video address 0x50100700 is bogus,
> 	and that a memory clash was over-writing the ROM vectors.

That's possible--if you're using the serial console, though, it
shouldn't even being writing into video RAM (unless something's
changed in that regard).

> 	Because this particular machine has VRAM which is shared between
> 	main monitor and video I/O systems (and possibly DSP), I am
> 	inclined to accept that some addresses could move around a lot.

Quite possible.

> ...the MCA maps the ROM code to the lower end of RAM address space, starting
> at address $0000 0000. When the main processor is reset, it sets the program
> counter to the 32-bit address found at $0000 0004, which transfers execution
> to the actual system software entry point in the space $4000 0000 to
> $4FFF FFFF. After this first access, ROM is no longer mapped to the bottom
> of RAM space

This is actually common to all macs that I've run across.  That and the
address for via1 seem to be about the only constants...  ;-)

> -------	Does anyone know what sort of MacOs code fragment I need to run
> 	to poke around at the Video base addresses?

I don't remember the call, but it might be nice to see what the physical
addresses for 0x50100000 - 0x50101000 (or so) are.

Can you try the ftp://ftp.macbsd.com/pub/outgoing/briggs/for.scampbel
kernel?  The SCSI, at least, has a chance of working for you...

> 	The Developer Notes for the LC575 are actually quite helpful.
> 	Video stuff:

Yeah.  They are!  Kudos to whoever at Apple was responsible for these
notes--they're a good _start_...  ;-)

> The PrimeTime IC combines functions performed by several ICs in previous
> Macintosh designs. The PrimeTime IC includes
> The PrimeTime IC provides the data bus features of the MC68030 that the
> MC68040 does not provide. Those features are byte steering, which allows
> 8-bit and 16-bit devices to be connected to a fixed byte lane, and dynamic
> bus sizing, which allows software to read and write longwords to 8-bit and
> 16-bit devices. Thos features allow the computer to work with existing I/O
> software designed for the MC68030.

This last bit is nifty.  I think that it can be exploited to ramp up
SCSI performance on the machines with PrimeTime (C/Q6X0/Q800 and
similar machines like the LC575, apparently).  Unfortunately, the
Q700/900/950 can't take advantage of this (but we might be able to
something with "A/UX interrupts"...).

> 	I ftp'd the files mklinux-1.0DR2.{linux.src,mklibs,osfmk,tools}.tgz
> 	in the hope that there would be some driver code for my machine.
> 		(I read somewhere that there was little difference
> 		 between the 660 and 6100, 840 and 8100 machines)

The DMA, at least, might be similar to the 840AV--I really don't know.
The Cuda driver will probably be helpful for getting support for more
devices into the ADBTEST kernels.  There may be a few other goodies in
there--sounds?  power control?).

-allen

-- 
              Allen Briggs - end killing - briggs@macbsd.com