| static volatile char *data = (char *)(0x20); |
| static volatile char *control = (char *)(0x24); |
| |
| extern void _outb (volatile char*, unsigned char); |
| extern unsigned char _inb (volatile char*); |
| |
| static unsigned char |
| read_scc_reg (unsigned char n) |
| { |
| _outb (control, n); |
| return _inb(control); |
| } |
| |
| static void write_scc_data (unsigned char n) |
| { |
| _outb (data, n); |
| } |
| |
| int |
| _write (int dev, void *buf, unsigned int len) |
| { |
| int i; |
| char *string = (char*)buf; |
| |
| for (i = 0; i < len; i++) |
| { |
| int j; |
| |
| for (j = 0 ; j < 5000; j++) |
| ; |
| write_scc_data (string[i]); |
| |
| } |
| return len; |
| } |
| |