]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
c6e3fd22 WH |
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 | |
13d825ed AF |
8 | * byte can be read from the TTS port |
9 | */ | |
c6e3fd22 | 10 | #define TTS_SPEAKING 0x40 /* mask for SYNC bit, which is nonzero |
13d825ed AF |
11 | * while DoubleTalk is producing |
12 | * output with TTS, PCM or CVSD | |
13 | * synthesizers or tone generators | |
14 | * (that is, all but LPC) | |
15 | */ | |
c6e3fd22 | 16 | #define TTS_SPEAKING2 0x20 /* mask for SYNC2 bit, |
13d825ed AF |
17 | * which falls to zero up to 0.4 sec |
18 | * before speech stops | |
19 | */ | |
c6e3fd22 | 20 | #define TTS_WRITABLE 0x10 /* mask for RDY bit, which when set to |
13d825ed AF |
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 | */ | |
c6e3fd22 | 27 | #define TTS_ALMOST_FULL 0x08 /* mask for AF bit: When set to 1, |
c53e5c28 TKCS |
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 | */ | |
c6e3fd22 | 33 | #define TTS_ALMOST_EMPTY 0x04 /* mask for AE bit: When set to 1, |
13d825ed AF |
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 | */ | |
c6e3fd22 WH |
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 | |
13d825ed AF |
55 | * text buffer |
56 | */ | |
c6e3fd22 WH |
57 | u_char articulation; /* nA; 0-9 */ |
58 | u_char reverb; /* nR; 0-9 */ | |
59 | u_char eob; /* 7Fh value indicating end of | |
13d825ed AF |
60 | * parameter block |
61 | */ | |
c6e3fd22 WH |
62 | u_char has_indexing; /* nonzero if indexing is implemented */ |
63 | }; |