home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.sys.ibm.ps2.hardware      Discussing IBM PS/2 hardware      42,985 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 41,188 of 42,985   
   Christian Holzapfel to All   
   Re: Modern day slavery Re: Trying to rep   
   12 Jan 23 07:26:51   
   
   From: google@holzapfel.biz   
      
   Turns out, MIAMI has a quite convenient (but slow, probably for engineering   
   purposes) way of accessing all its local address space (non-bursting region:   
   0x00000000 - 0x1FFFFFFFF) through two 32-bit registers in the adapter's IO   
   address space, which is    
   easily available.   
      
   Sing a song like this for any MIAMI based adapter:   
      
   Use MIOCCGET ioctl to read the POS registers 0..7.   
   Use MIOCCPUT/GET ioctls to read XPOS register 3A through addressing in POS6   
   and POS7.   
   The adapter's IO base address is derived from POS5[5:3] and POS3A[7:5] (or   
   just look it up in the ODM database). Probably 0xC000 or 0xD000.   
   Use MIOBUSGET/PUT ioctls to read/write MIAMI's Micro Channel accessible   
   registers at IOBASE + 0x00..0x1F, e.g. 0xD010 to access the MDATA register.   
   Those are only a small subset of all available registers.   
   Micro Channel accessible registers HSBR (IOBASE + 0x0C) and MDATA (IOBASE +   
   0x10) are a 32-bit wide window for accessing any address on the local bus,   
   including the MIAMI registers themselves!   
   Write the local bus address you want to read to HSBR and do a read on MDATA   
   (or write to MDATA if you dare).   
   There you have read a 32 bit word from the adapter's local address space.   
   Happy roaming!   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca