--- In minimigtg68@yahoogroups.com, "TobiFlex" <t.gubener@...> wrote:
>
> Hi,
> I would like to add an autoconfig 4MB Fastram and an IDE port like
the
> internal A1200 Port to the MinimigTG68 Core.
> My first try of autoconfigure code for the fast ram don't work.
> For the IDE Port I found some Informations with address $DA0000 and
> $DE0000 and $F20000. What is rigth???
> Where can I found the needed Informations???
> Please help me!
>
> Viele Grüße
> TobiFlex
>
Hello Tobias,
you can find some useful information in Linux or BSD sources for
amiga (search for amigayle.h)
There is also this thread on EAB :
http://eab.abime.net/archive/index.php/t-23924.html
The question is from bluea (aka Thomas from NatAmi project) :-).
From what I remember, $DA0000 and $DE0000 are the Gayle addresses.
The A4000 has a different address for the IDE port, it is $DD2000.
To have the IDE port correctly detected, the Exec function ReadGayle
(offset -816) must find the Gayle ID at address $DE1000. Apparently,
the Gayle ID is sent through a shift register, bit 7 is the serial
out. The shift register is re-initlaized when you write to $DE1000,
one bit is shifted when you read from $DE1000. I do not know the
Gayle ID value, you have to try on a real A1200.
If no Gayle chip is present, you find a mirror of the Chip registers,
hence the INTENA register trick to detect Gayle.
Here is the ReadGayle from Exec:
Exec_ReadGayle
moveq #$0,D0
movea.l A5,A0
lea ReadGayle_Sup(PC),A5
jmp _LVOSupervisor(A6)
ReadGayle_Sup
movea.l A0,A5
lea _custom,A0
lea $DE1000.l,A1
ori.w #$700,SR
move.w $1C(A0),-(A7)
move.w #$BFFF,$9A(A1)
move.w #$3FFF,D1
cmp.w $1C(A0),D1
bne.b .GayleFound
move.w D1,$9A(A1)
tst.w $1C(A0)
bne.b .GayleFound
moveq #$0,D1
.GayleFound
move.w #$3FFF,$9A(A0)
ori.w #$8000,(A7)
move.w (A7)+,$9A(A0)
tst.w D1
beq.b .NoGayle
move.b D0,(A1)
bsr.b .ReadOneBit
bsr.b .ReadOneBit
bsr.b .ReadOneBit
bsr.b .ReadOneBit
bsr.b .ReadOneBit
bsr.b .ReadOneBit
bsr.b .ReadOneBit
bsr.b .ReadOneBit
.NoGayle
cmp.b #$FF,D0
bne.b .End
moveq #$0,D0
.End
rte
.ReadOneBit
move.b (A1),D1
lsl.b #1,D1
addx.b D0,D0
rts
I hope this helps.
Regards,
Frederic