main() { int base,value,rc; char str[80]; setbuf(stdout,NULL); /* I/O access from 000h to FFFh */ rc=DosPortAccess(0,0,0x000,0xFFF); if (rc) printf("DosPortAccess()=%d\n",rc); for (;;) { printf("[I/O] [ADDRESS] [VALUE] ? "); gets(str); strupr(str); switch (str[0]) { case 'I':sscanf(&str[1],"%x",&base); value=RPORT(base); printf("%02X\n",value); break; case 'O':sscanf(&str[1],"%x %x",&base,&value); WPORT(base,value); break; default: printf("What?\n"); break; } } }
void FreePorts( unsigned first, unsigned last ) { DosPortAccess( 0, 1, first, last ); }
unsigned AccessPorts( unsigned first, unsigned last ) { DosPortAccess( 0, 0, first, last ); return( 1 ); }