[comp.sys.amiga.hardware] A2090 on A3000

visinfo@ethz.UUCP (VISINFO c/o Sascha Schnapka) (10/25/90)

In article <15163@cbmvax.commodore.com> daveh@cbmvax.commodore.com (Dave Haynie) writes:
[some lines removed]
>You can probably trick the A2090 into working.  The problem is in software.
>The A2090 device driver, like many Zorro II drives, never considered the 
>possibility of Fast memory it can't DMA into being available at boot or
>BindDrivers time.  
>
>Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests"

At this point,I would like to repeat a question that has not yet been
answered:
Why does the A3000 Kickstart1.3 scsi.device driver refuse to work, as
soon, as any 24bit-DMAable memory is availabe on boot-up??

I tried several memory hacks to make 24bit-bug software run.
This would solve at the same time the problems with say AmigaBASIC
and the 2090 in a way not perfect, but usable.
The central idea, which theoretically works fine is to map some of the
onboard memory from $07x00000 to $00c00000.
I did so and it works, except that the scsi.device refuses to boot from
hd. Ofcourse, the memory is auto-added because the old exec.library
in the a3000 kick1.3 still has this function.
I have tested a lot of other things, trying to find out what exactly
causes the problem, but all I found out is that it is definitely
not the lack of the memory at $07x00000 or it having 'a hole'.
The A3000 boots as long, as the $00c00000 memory has not been added to
the system memory list. After the next 'cold' reboot (not an A3000-cold
reloading the Kickstart, but a normal cold-reboot that reinits execbase)
the memory is recognized and the A3000 displays the Workbench sign.
If you boot then from floppy, everything works fine, the memory IS
at $00c00000 AND AmigaBASIC works WITHOUT being in Chip-Memory.

F.Burgel (BIX: hardwiz)

daveh@cbmvax.commodore.com (Dave Haynie) (11/01/90)

In article <6364@ethz.UUCP> visinfo@bernina.UUCP writes:
>In article <15163@cbmvax.commodore.com> daveh@cbmvax.commodore.com (Dave Haynie) writes:
>>You can probably trick the A2090 into working.  The problem is in software...

>At this point,I would like to repeat a question that has not yet been
>answered:
>Why does the A3000 Kickstart1.3 scsi.device driver refuse to work, as
>soon, as any 24bit-DMAable memory is availabe on boot-up??

It doesn't -- read on...

>I tried several memory hacks to make 24bit-bug software run.
>This would solve at the same time the problems with say AmigaBASIC
>and the 2090 in a way not perfect, but usable.
>The central idea, which theoretically works fine is to map some of the
>onboard memory from $07x00000 to $00c00000.

Uh, that might solve some software problems, but DMA devices see physical
addresses.  So no matter what the CPU thinks $07x00000 memory is mapped to,
it's still $07x00000 memory to any DMA device.  So the CPU, by way of a 
call to the scsi.device, tells the DMA chip to dump something from hard disk
into some of your mapped $00cxxxxx memory.  It'll try to do just that, only,
there ain't any $00cxxxxx memory, it's only in the 68030's imagination (eg,
you have virtual $00cxxxxx memory, DMA devices can only access physical
memory).

>The A3000 boots as long, as the $00c00000 memory has not been added to
>the system memory list. 

Chances are, you're failing right away because you (or the OS) are adding that 
virtual space $00cxxxxx memory ahead of whatever physical Fast memory is
still available.  If you reversed the memory list before the scsi.device
kicks in, you would live at least until you ran out of physical memory, but
of course, the existence of the true 32 bit physical memory is what you're
trying to get around to kludge the system to run this buggy software in the
first place.  

>If you boot then from floppy, everything works fine, the memory IS
>at $00c00000 AND AmigaBASIC works WITHOUT being in Chip-Memory.

That's pretty much what you're stuck with.  Even if you can set up your hard
disks to only use Chip RAM (via HDToolBox), you're still in trouble because
the device driver itself will allocate a buffer in Fast memory.  I don't know
if it's possible to kludge around this one or not.

>F.Burgel (BIX: hardwiz)


-- 
Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests"
   {uunet|pyramid|rutgers}!cbmvax!daveh      PLINK: hazy     BIX: hazy
	Standing on the shoulders of giants leaves me cold	-REM