lkml.org 
[lkml]   [2001]   [Aug]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: DOS2linux
Date
Bart Vandewoesteyne wrote:
> That is also what I think, but the problem is that I don't know at
> which offset to look for that data...
> If you look at the code:
>
> static int getslotinfo( void )
> {
> static char buff[320], *s=&buff[0]; int valid;
>
> inregs.h.ah=0xd8; inregs.h.al=0x1; inregs.h.cl=DiSC_Id.slot>>12;
> inregs.h.ch=0;
> sregs.ds=FP_SEG(s); inregs.x.si=FP_OFF(s);
> int86x(0x15, &inregs, &outregs, &sregs);
> valid=outregs.h.ah;
> if(!valid) { DiSC_Id.it=buff[itconf]; DiSC_Id.dma=buff[dmachd]; }
> return(valid);
> }
>
> Would it help if i told you that itconf and dmachd are defined as (see
> http://mc303.ulyssis.org/heim/downloads/DISCINC.H )
>
> #define itconf 0xb2
> #define dmachd 0xc0
>
> So if my EISA board is at 0x1000, i should be able to read these
> values from 0x1000+0xb2 and 0x1000+0xc0 ??? And if 'yes', any idea
> about how to read them? (byte, word, long...? My guess would be as a
> byte, but I'm not sure...)

Looking at the above piece of sourcecode, I would say your guess is
correct. "buff" is declared as an array of chars (bytes), so I would try
to read a byte at 0x10b2 and at 0x10c0. Just try it out & see what you
get back...

Camiel.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 12:58    [from the cache]
©2003-2014 Jasper Spaans. Advertise on this site