[comp.sys.amiga.tech] Reading Autoconfig Parameters From a Card

dylan@cs.washington.edu (Dylan McNamee) (03/04/90)

Is there a utility that will examine the Amiga's bus and report
to the user the Addresses (rom and/or ram,) Manufacturer Code,
Product Code, etc.?  I know this info is stored on every card on the bus,
and it's exactly what a 2091 user needs to use SetCPU's cardROM entry.

If there is, or if someone knows how to get to it, or if someone knows
the info for the 2091, please let the world know.  2091 users would
like more reasonable disk performance....

dylan mcnamee
dylan@cs.washington.edu

a186@mindlink.UUCP (Harvey Taylor) (03/04/90)

    Okay here is a little program that will tell you what
 AutoConfig boards you have. Run this through shar, uudecode
 and zoo.
    Note that this stuff is all documented in RKM_1.3_L&D.
#       This is a shell archive.
#       Remove everything above and including the cut line.
#       Then run the rest of the file through sh.
#----cut here-----cut here-----cut here-----cut here----#
#!/bin/sh
# shar:    Shell Archiver
#       Run the following text with /bin/sh to create:
#       pacd4.zuu
# This archive created: Sun Mar  4 14:58:23 1990
echo shar: extracting pacd4.zuu
sed 's/^XX//' << HAR_EOF > pacd4.zuu
XX
XXbegin 644 pacd4.zoo
XXM6D]/(#(N,#`@07)C:&EV92X:``#<I\3]*@```-;___\"``$````````!W*?$.
XXM_0(!F`,``'$```!D%(MUF,\!```)P,```$```````````!004-$-`"3F@``/
XXM`+0`"@!_"3L`````````````0"DC*````0`8,$^@08$##AH48/"0P2X&@2!,P
XXMUQ",0`$J^!Q4\6@%$@`$5DA$($*C0"9P`+#``W*%$P!HG+CJATTD`#)G``0`O
XXMPP*(S'_$;$*P20%$&Y`,(`#XD3.`!1(\#$((HY,35(.`J`:05-(@EI0LCL:<N
XXM65,BFYP`K$5"A@()")3_Y/P+"X#-3UQ*`*'EA@*("2#7^$F]*A"65B<R5H"DI
XXM"@">5BB$`1#3BD."X@",Q6G5$1F;5A$2)C!VIM5$9'9:'5@&((`Q+JT0"`<`1
XXMP!A?8@`*&&MBK$\VA<PB6```P=@/8W*R43!F%AP`B3!H&$.3S<.U!.$.PHAA^
XXMS,NUQ79$,!8T`V&<:4P"B(3%L@(A`M;IY1(`((W;'^Q,"O.[_^?9GYN5!%G
XXM2D[4`4<%!2(11!@"*/A#`.`L*(`,'R!Q#CS`="40&T&TPQ`)"$`00#H8""#1D
XXM`Q#$(!`$P`@0!``/2!"#4A`$`P$O`MG1F@],?#/``P6"((02&)C!CPD(6"+(-
XXM%(,4V&%"$`1BQT[$F0,&!Y$!,248$D3&PY8(1$:$'06($!\$=)'Q$S0%(L2.\
XXM01,8-)M`%AC$A$%6&&210)H8!(M!QABDC4'P"!2``89R8"@,AMZI$Q6&[AF`"
XXM*8;28Z@_%R$@YT(&(:K0`/(@I,Y#54P1Q!%%Z``"%$$,000>"@#@1!Q0R)&&G
XXM&W2`$$0==+PQQ!MNF)'&&2`0488=:8Q1!@A)!/N&`E:4(<<<:0`+`@PNP!!#O
XXMK+C)&@<(WH(@KKC>DO'&'"ZPD888<H0A1QX`E($''&&X02VPZ:[;[KO>:BO#(
XXM##348,,-..00A!"N%F&$0+,6,6^]][HAY!ONDC$'"$:\48<;9"C0PL<@ARSR#
XXMR"UP*ZT+3=1;AQEAC$%''7)("T(/X,8KAPNUOD%&'2Z/.R[-`IU,11YP+.NS!
XXMST#;[((1;(1QQL5'BYOTR<VF00<1:3@=[1A2USP&&2X(0;$<9`1!!ADQSW%Q`
XXMTE^'/3894Z2AA]%="]0VTTY#'7720]1[0JYO%"VQNNRZFT>L1H1!1QAL@%"$I
XXM''*\(0<((\#`[4"A#K1.1`C)$Q#<I\3]`@``````````````````````````Y
XX?``````````````````````````````````````#\@P``_
XX``
XXend
XXsize 976
SHAR_EOF
if test 1407 -ne "`wc -c pacd4.zuu`"
then
echo shar: error transmitting pacd4.zuu '(should have been 1407 characters)'
fi
#       End of shell archive
exit 0

 "The ghost of electricity howls through the bones of her face"
                                        - Visions of Johanna
    Harvey Taylor               Meta Media Productions
         uunet!van-bc!rsoft!mindlink!Harvey_Taylor
                a186@mindlink.UUCP

nicolas@cbmfra.UUCP (Nicolas Costes) (03/12/90)

Here is my 2 cents worth of code.
It is so  simple , i could not resist posting it
it compiles with LATTICE 5.04 but use nothing specific

#include "libraries/expansionbase.h"
#include "libraries/expansion.h"
struct ExpansionBase *ExpansionBase;

main ()
{
struct ConfigDev *cd = NULL;

ExpansionBase =(struct ExpansionBase *) OpenLibrary(EXPANSIONNAME,0L);
if (ExpansionBase==NULL) 
            return(NULL);

cd = (struct ConfigDev *)ExpansionBase->BoardList.lh_Head;
while( cd->cd_BoardAddr  )
            {
            printf("cd_Rom = %lx\n", cd->cd_Rom);
            printf("cd_BoardAddr = %lx\n", cd->cd_BoardAddr);
            printf("cd_BoardSize = %lx\n", cd->cd_BoardSize);
            printf("cd_SlotAddr = %lx\n", cd->cd_SlotAddr);
            printf("cd_Driver = %lx\n", cd->cd_Driver);
            printf("er_Type = %d\n", cd->cd_Rom.er_Type);
            printf("er_Product = %d\n", cd->cd_Rom.er_Product);
            printf("er_Manufacturer = %d\n", cd->cd_Rom.er_Manufacturer);
            printf("er_SerialNumber = %ld\n\n", cd->cd_Rom.er_SerialNumber);

            cd = (struct configDev *)cd->cd_Node.ln_Succ;
            }

CloseLibrary((struct Library *) ExpansionBase);
return(0);
}

It demonstrate ugly and straight access to the boards list.

		   //
		\\X/  Nicolas