/* Probe for SEC board. This compiles with the command line compiler "cl" Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 10.10.6038 for 80x86 which is part of the Visual C++ 4.0 package. */ #include #include #define BASEPORT 0x364 /* The Microsoft runtime library is missing inp() and outp(), so we provide our own. */ int inp( unsigned short __portid ) { _asm mov dx, __portid _asm mov eax, 0 _asm in al, dx } int outp( unsigned short __portid, int __value ) { _asm mov dx, __portid _asm mov eax, __value _asm out dx, al } void main (void) { unsigned char stat; outp (BASEPORT | 3, 0); stat = inp (BASEPORT); switch (stat) { case 0x0F: puts ("No Flag, No Error"); break; case 0x4F: puts ("Error"); outp (BASEPORT, 0); break; case 0x8F: puts ("Flag"); (void)inp (BASEPORT | 3); break; case 0xCF: puts ("Flag and Error"); (void)inp (BASEPORT | 3); outp (BASEPORT, 0); break; default: puts ("No Board"); } }