#include #include void main(void){ unsigned int HI_COUNT = 0; unsigned long LOW_COUNT = 0; unsigned char *pointer; unsigned int GAB = 5500; char signal[63] = { '', 'E', 'T', 'I', 'A', 'N', 'M', 'S', 'U', 'R', 'W', 'D', 'K', 'G', 'O', 'H', 'V', 'F', '', 'L', '', 'P', 'J', 'B', 'X', 'C', 'Y', 'Z', 'Q', '', '', '5', '4', '', '3', '', '', '', '2', '', 0x20, 0x08, '', '', '', '', '1', '6', '', 1, 11, '', 1, 0, '', '7', '', '', '', '8', '', '9', '0' }; outportb(0xF822, inportb(0xF822) & 0xDF); outportb(0xF86C, inportb(0xF86C) | 0x20); pointer = &signal[0]; while (signal[49]){ if(!(inportb(0xF868) & 0x20)){ HI_COUNT++; signal[50] = 41; LOW_COUNT = 0; } if((inportb(0xF868) & 0x20) && HI_COUNT < GAB && signal[50] == 41){ GAB = 5500; if (HI_COUNT > 5000) GAB = 10000; if(HI_COUNT < 2200) GAB = 3000; pointer = pointer + signal[52]; LOW_COUNT++; HI_COUNT = 0; signal[50] = 14; signal[52] = signal[52] + signal[52]; signal[53]++; } else if((inportb(0xF868) & 0x20) && HI_COUNT > GAB && signal[50] == 41){ pointer = pointer + signal[52] + 1; LOW_COUNT++; HI_COUNT = 0; signal[50] = 14; signal[52] = signal[52] + signal[52] + 1; } else if(inportb(0xF868) & 0x20){ LOW_COUNT++; if(LOW_COUNT == (GAB*6)) outportb(0x03F8, 0x20); } if(LOW_COUNT > GAB && signal[50] == 14){ if(signal[53] == 10) signal[49] = 0; else{ if(signal[53] == 8) pointer = &signal[41]; outportb(0x03F8, *pointer); signal[53] = 0; signal[52] = 1; signal[50] = 11; pointer = &signal[0]; } } } outportb(0xF822, inportb(0xF822) | 0x20); }