|
|
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.