1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | /* speakup_dtlk.h - header file for speakups DoubleTalk driver. */ |
3 | |
4 | #define SYNTH_IO_EXTENT 0x02 |
5 | #define SYNTH_CLEAR 0x18 /* stops speech */ |
6 | /* TTS Port Status Flags */ |
7 | #define TTS_READABLE 0x80 /* mask for bit which is nonzero if a |
8 | * byte can be read from the TTS port |
9 | */ |
10 | #define TTS_SPEAKING 0x40 /* mask for SYNC bit, which is nonzero |
11 | * while DoubleTalk is producing |
12 | * output with TTS, PCM or CVSD |
13 | * synthesizers or tone generators |
14 | * (that is, all but LPC) |
15 | */ |
16 | #define TTS_SPEAKING2 0x20 /* mask for SYNC2 bit, |
17 | * which falls to zero up to 0.4 sec |
18 | * before speech stops |
19 | */ |
20 | #define TTS_WRITABLE 0x10 /* mask for RDY bit, which when set to |
21 | * 1, indicates the TTS port is ready |
22 | * to accept a byte of data. The RDY |
23 | * bit goes zero 2-3 usec after |
24 | * writing, and goes 1 again 180-190 |
25 | * usec later. |
26 | */ |
27 | #define TTS_ALMOST_FULL 0x08 /* mask for AF bit: When set to 1, |
28 | * indicates that less than 300 bytes |
29 | * are available in the TTS input |
30 | * buffer. AF is always 0 in the PCM, |
31 | * TGN and CVSD modes. |
32 | */ |
33 | #define TTS_ALMOST_EMPTY 0x04 /* mask for AE bit: When set to 1, |
34 | * indicates that less than 300 bytes |
35 | * are remaining in DoubleTalk's input |
36 | * (TTS or PCM) buffer. AE is always 1 |
37 | * in the TGN and CVSD modes. |
38 | */ |
39 | |
40 | /* data returned by Interrogate command */ |
41 | struct synth_settings { |
42 | u_short serial_number; /* 0-7Fh:0-7Fh */ |
43 | u_char rom_version[24]; /* null terminated string */ |
44 | u_char mode; /* 0=Character; 1=Phoneme; 2=Text */ |
45 | u_char punc_level; /* nB; 0-7 */ |
46 | u_char formant_freq; /* nF; 0-9 */ |
47 | u_char pitch; /* nP; 0-99 */ |
48 | u_char speed; /* nS; 0-9 */ |
49 | u_char volume; /* nV; 0-9 */ |
50 | u_char tone; /* nX; 0-2 */ |
51 | u_char expression; /* nE; 0-9 */ |
52 | u_char ext_dict_loaded; /* 1=exception dictionary loaded */ |
53 | u_char ext_dict_status; /* 1=exception dictionary enabled */ |
54 | u_char free_ram; /* # pages (truncated) remaining for |
55 | * text buffer |
56 | */ |
57 | u_char articulation; /* nA; 0-9 */ |
58 | u_char reverb; /* nR; 0-9 */ |
59 | u_char eob; /* 7Fh value indicating end of |
60 | * parameter block |
61 | */ |
62 | u_char has_indexing; /* nonzero if indexing is implemented */ |
63 | }; |
64 | |