/* Copyright (C) 2002, GCT-Allwell MB6086 LED BLINKING Utility Ver 1.2 By Arthur Fang, Jan 15, 2002 */ typedef unsigned char BYTE; typedef unsigned short WORD; typedef unsigned long DWORD; #include #include #include #define GPO8_11 0x404D void main(int argc, char *argv[]) { WORD num; BYTE pdata; DWORD pwdata; char *endptr; printf("Copyright (c) 2002, GCT-Allwell\n"); printf(" MB6086 RED LED BLINKING TEST Utility. Ver 1.2\n\n"); if (argc != 2) { printf(" Usage: W6086LED Number\n"); printf(" Number: 1-FE(HEX)\n"); printf(" FF = forever\n"); exit(1); } num = strtoul(argv[1], &endptr, 16); if(num==0) { printf(" Usage: W6086LED Number\n"); printf(" Number: 1-FE(HEX)\n"); printf(" FF = forever\n"); exit(1); } //check VIA audio outpd(0xcf8, 0x80003800); if(0x6861106!=inpd(0xcfc)) { printf(" VIA VT82C686B device not found!\n"); exit(1); } //enable GPO11 outpd(0xcf8, 0x80003874); pwdata = 0xfff7ffff&inpd(0xcfc); //R76(3) = 0 outpd(0xcfc, pwdata|0x20); //R74(5) = 1 while(num) { delay(400); pdata = inp(GPO8_11); outp(GPO8_11, pdata|0x08); // high delay(400); outp(GPO8_11, pdata&(~0x08)); // low if(num<0xff) num--; } }