| plan 9 kernel history: overview | file list | diff list |
1990/0830/gnot/screen.c (diff list | history)
| 1990/0825/sys/src/9/gnot/screen.c:22,27 – 1990/0830/sys/src/9/gnot/screen.c:22,28 (short | long | prev | next) | ||
| 1990/03091 | ||
| 1990/0329 | void duartinit(void); | |
| 1990/0808 | int duartacr; | |
| 1990/0830 | int duartimr; | |
| 1990/0329 | ||
| 1990/03091 | Bitmap screen = { | |
| 1990/0825/sys/src/9/gnot/screen.c:205,211 – 1990/0830/sys/src/9/gnot/screen.c:206,212 | ||
| 1990/0329 | duart[1].ip_opcr = 0x00; duart[1].scc_ropbc = 0xFF; /* make sure the port is reset first */ duart[1].scc_sopbc = 0x04; /* dtr = 1, pp = 01 */ | |
| 1990/0707 |
| |
| 1990/0830 | duart[0].is_imr = duartimr = IM_IPC|IM_RRDYB|IM_XRDYB|IM_RRDYA|IM_XRDYA; | |
| 1990/0329 | duart[0].cmnd = ENB_TX|ENB_RX; /* enable TX and RX last */ duart[1].cmnd = ENB_TX|ENB_RX; | |
| 1990/0825/sys/src/9/gnot/screen.c:217,230 – 1990/0830/sys/src/9/gnot/screen.c:218,235 | ||
| 1990/0329 | duart[0].data = 0x02; | |
| 1990/0808 | } | |
| 1990/0830 | int duartinputport(void) { Duart *duart = DUARTREG; return duart[1].ip_opcr; } | |
| 1990/0808 | void duartbaud(int b) { int x; | |
| 1990/0830 | Duart *duart = DUARTREG; | |
| 1990/0808 |
| |
| 1990/0825/sys/src/9/gnot/screen.c:257,262 – 1990/0830/sys/src/9/gnot/screen.c:262,293 | ||
| 1990/0808 | duart[1].sr_csr = x; | |
| 1990/0329 | } | |
| 1990/0830 | void duartdtr(int val) { Duart *duart = DUARTREG; if (val) duart[1].scc_ropbc=0x01; else duart[1].scc_sopbc=0x01; } void duartbreak(int ms) { static QLock brk; Duart *duart = DUARTREG; if (ms<=0 || ms >20000) error(0, Ebadarg); qlock(&brk); duart[0].is_imr = duartimr &= ~IM_XRDYB; duart[1].cmnd = STRT_BRK|ENB_TX; tsleep(&u->p->sleep, return0, 0, ms); duart[1].cmnd = STOP_BRK|ENB_TX; duart[0].is_imr = duartimr |= IM_XRDYB; qunlock(&brk); } | |
| 1990/0330 | enum{ Kptime=200 /* about once per ms */ }; | |
| 1990/0825/sys/src/9/gnot/screen.c:269,275 – 1990/0830/sys/src/9/gnot/screen.c:300,306 | ||
| 1990/0330 | duart = DUARTREG; duart[0].ctur = (Kptime)>>8; duart[0].ctlr = (Kptime)&255; | |
| 1990/0830 | duart[0].is_imr = duartimr |= IM_CRDY; | |
| 1990/0330 | x = duart[1].scc_sopbc; } | |
| 1990/0825/sys/src/9/gnot/screen.c:281,287 – 1990/0830/sys/src/9/gnot/screen.c:312,318 | ||
| 1990/0330 | duart = DUARTREG; x = duart[1].scc_ropbc; | |
| 1990/0830 | duart[0].is_imr = duartimr &= ~IM_CRDY; | |
| 1990/0330 | } void | |