|
|
1.1 ! root 1: #include "hdr.h" ! 2: ! 3: static char *msg[13][8][2] = ! 4: { ! 5: /* 0 */ 0, 0, 0, 0, ! 6: "tape mounted", "no tape", "servo ref ok", "servo ref missing", ! 7: "tape ok", "tape trouble", 0, "hard error", ! 8: 0, 0, "remote", "local", ! 9: /* 1 */ 0, "standby", 0, 0, ! 10: 0, "stop", 0, 0, ! 11: 0, "rew", 0, "ff", ! 12: 0, "rec", 0, "play", ! 13: /* 2 */ 0, "servo lock", 0, "tso mode", ! 14: 0, "shuttle", 0, "jog", ! 15: 0, "var", "tape fwd", "tape rev", ! 16: 0, "still", 0, "cue up", ! 17: /* 3 */ 0, "auto mode", 0, 0, ! 18: 0, 0, 0, 0, ! 19: 0, "a out", 0, "a in", ! 20: 0, "out", 0, "in", ! 21: /* 4 */ 0, "select e-e on", 0, "full e-e on", ! 22: 0, "search to cue", 0, "edit", ! 23: 0, "review", 0, "auto edit", ! 24: 0, "preview", 0, "preroll", ! 25: /* 5 */ 0, 0, 0, "insert", ! 26: 0, "assemble", 0, "video", ! 27: 0, "sync/a4", 0, "a3", ! 28: 0, "a2", 0, "a1", ! 29: /* 6 */ 0, 0, 0, "lamp still", ! 30: 0, "lamp fwd", 0, "lamp rew", ! 31: 0, "search led 8", 0, "search led 4", ! 32: 0, "search led 2", 0, "search led 1", ! 33: /* 7 */ 0, "variable memory mode", 0, "var mem active", ! 34: 0, "audio split mode", 0, 0, ! 35: 0, "display hold", 0, "spot erase", ! 36: 0, 0, 0, "in-out status", ! 37: /* 8 */ 0, "BUZZER ALARM", 0, "LOST LOCK", ! 38: 0, "near eot", 0, "eot", ! 39: 0, "color frame lock", 0, "SERVO ALARM", ! 40: 0, "SYSTEM ALARM", 0, "rec inhibit", ! 41: /* 9 */ 0, "function abort", 0, 0, ! 42: 0, 0, 0, "video dropout", ! 43: 0, "sync dropout", 0, 0, ! 44: 0, 0, 0, 0, ! 45: /* a */ 0, "rev step", 0, "fwd step", ! 46: 0, "dt step execute", 0, "dt preview", ! 47: 0, "dt rec ready", 0, "slow rec", ! 48: 0, "step rec", 0, "still rec", ! 49: /* b */ "dt rec field", "dt rec frame", "dt rec step field", "dt rec step frame", ! 50: "DT field", "DT frame", "PB step field", "PB step frame", ! 51: 0, "color field detect", 0, "cf addr 4", ! 52: 0, "cf addr 2", 0, "cf addr 1", ! 53: /* c */ 0, 0, 0, 0, ! 54: 0, 0, 0, 0, ! 55: 0, 0, 0, 0, ! 56: 0, "data-2", 0, "data-1", ! 57: }; ! 58: ! 59: status(full) ! 60: { ! 61: char buf[64]; ! 62: register i, j; ! 63: int hi, lo; ! 64: char *s; ! 65: ! 66: if(cmd(0xD, "status", buf, "%c%c%c", 0x61, 0x20, BYTE(0, 0xD))) ! 67: return; ! 68: if(full) ! 69: lo = 0, hi = 0xD; ! 70: else ! 71: lo = 0, hi = 2; ! 72: for(j = lo; j < hi; j++){ ! 73: Fprint(1, "%x:[%2.2x] ", j, buf[j+2]&0xFF); ! 74: for(i = 7; i >= 0; i--){ ! 75: if(s = msg[j][7-i][(buf[j+2]>>i)&1]) ! 76: Fwrite(1, s, strlen(s)); ! 77: Fputc(1, ','); ! 78: } ! 79: Fputc(1, '\n'); ! 80: } ! 81: Fflush(1); ! 82: } ! 83: ! 84: status1(start) ! 85: { ! 86: char buf[64]; ! 87: ! 88: if(cmd(1, "status1", buf, "%c%c%c", 0x61, 0x20, BYTE(start, 1))) ! 89: buf[2] = 0; ! 90: return(buf[2]); ! 91: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.