Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * sbpcd.h Specify interface address and interface type here. | |
3 | */ | |
4 | ||
5 | /* | |
6 | * Attention! This file contains user-serviceable parts! | |
7 | * I recommend to make use of it... | |
8 | * If you feel helpless, look into Documentation/cdrom/sbpcd | |
9 | * (good idea anyway, at least before mailing me). | |
10 | * | |
11 | * The definitions for the first controller can get overridden by | |
12 | * the kernel command line ("lilo boot option"). | |
13 | * Examples: | |
14 | * sbpcd=0x300,LaserMate | |
15 | * or | |
16 | * sbpcd=0x230,SoundBlaster | |
17 | * or | |
18 | * sbpcd=0x338,SoundScape | |
19 | * or | |
20 | * sbpcd=0x2C0,Teac16bit | |
21 | * | |
22 | * If sbpcd gets used as a module, you can load it with | |
23 | * insmod sbpcd.o sbpcd=0x300,0 | |
24 | * or | |
25 | * insmod sbpcd.o sbpcd=0x230,1 | |
26 | * or | |
27 | * insmod sbpcd.o sbpcd=0x338,2 | |
28 | * or | |
29 | * insmod sbpcd.o sbpcd=0x2C0,3 | |
30 | * respective to override the configured address and type. | |
31 | */ | |
32 | ||
33 | /* | |
34 | * define your CDROM port base address as CDROM_PORT | |
35 | * and specify the type of your interface card as SBPRO. | |
36 | * | |
37 | * address: | |
38 | * ======== | |
39 | * SBPRO type addresses typically are 0x0230 (=0x220+0x10), 0x0250, ... | |
40 | * LASERMATE type (CI-101P, WDH-7001C) addresses typically are 0x0300, ... | |
41 | * SOUNDSCAPE addresses are from the LASERMATE type and range. You have to | |
42 | * specify the REAL address here, not the configuration port address. Look | |
43 | * at the CDROM driver's invoking line within your DOS CONFIG.SYS, or let | |
44 | * sbpcd auto-probe, if you are not firm with the address. | |
45 | * There are some soundcards on the market with 0x0630, 0x0650, ...; their | |
46 | * type is not obvious (both types are possible). | |
47 | * | |
48 | * example: if your SBPRO audio address is 0x220, specify 0x230 and SBPRO 1. | |
49 | * if your soundcard has its CDROM port above 0x300, specify | |
50 | * that address and try SBPRO 0 first. | |
51 | * if your SoundScape configuration port is at 0x330, specify | |
52 | * 0x338 and SBPRO 2. | |
53 | * | |
54 | * interface type: | |
55 | * =============== | |
56 | * set SBPRO to 1 for "true" SoundBlaster card | |
57 | * set SBPRO to 0 for "compatible" soundcards and | |
58 | * for "poor" (no sound) interface cards. | |
59 | * set SBPRO to 2 for Ensonic SoundScape or SPEA Media FX cards | |
60 | * set SBPRO to 3 for Teac 16bit interface cards | |
61 | * | |
62 | * Almost all "compatible" sound boards need to set SBPRO to 0. | |
63 | * If SBPRO is set wrong, the drives will get found - but any | |
64 | * data access will give errors (audio access will work). | |
65 | * The "OmniCD" no-sound interface card from CreativeLabs and most Teac | |
66 | * interface cards need SBPRO 1. | |
67 | * | |
68 | * sound base: | |
69 | * =========== | |
70 | * The SOUND_BASE definition tells if we should try to turn the CD sound | |
71 | * channels on. It will only be of use regarding soundcards with a SbPro | |
72 | * compatible mixer. | |
73 | * | |
74 | * Example: #define SOUND_BASE 0x220 enables the sound card's CD channels | |
75 | * #define SOUND_BASE 0 leaves the soundcard untouched | |
76 | */ | |
77 | #define CDROM_PORT 0x340 /* <-----------<< port address */ | |
78 | #define SBPRO 0 /* <-----------<< interface type */ | |
79 | #define MAX_DRIVES 4 /* set to 1 if the card does not use "drive select" */ | |
80 | #define SOUND_BASE 0x220 /* <-----------<< sound address of this card or 0 */ | |
81 | ||
82 | /* | |
83 | * some more or less user dependent definitions - service them! | |
84 | */ | |
85 | ||
86 | /* Set this to 0 once you have configured your interface definitions right. */ | |
87 | #define DISTRIBUTION 1 | |
88 | ||
89 | /* | |
90 | * Time to wait after giving a message. | |
91 | * This gets important if you enable non-standard DBG_xxx flags. | |
92 | * You will see what happens if you omit the pause or make it | |
93 | * too short. Be warned! | |
94 | */ | |
95 | #define KLOGD_PAUSE 1 | |
96 | ||
97 | /* tray control: eject tray if no disk is in */ | |
98 | #if DISTRIBUTION | |
99 | #define JUKEBOX 0 | |
100 | #else | |
101 | #define JUKEBOX 1 | |
102 | #endif /* DISTRIBUTION */ | |
103 | ||
104 | /* tray control: eject tray after last use */ | |
105 | #if DISTRIBUTION | |
106 | #define EJECT 0 | |
107 | #else | |
108 | #define EJECT 1 | |
109 | #endif /* DISTRIBUTION */ | |
110 | ||
111 | /* max. number of audio frames to read with one */ | |
112 | /* request (allocates n* 2352 bytes kernel memory!) */ | |
113 | /* may be freely adjusted, f.e. 75 (= 1 sec.), at */ | |
114 | /* runtime by use of the CDROMAUDIOBUFSIZ ioctl. */ | |
115 | #define READ_AUDIO 0 | |
116 | ||
117 | /* Optimizations for the Teac CD-55A drive read performance. | |
118 | * SBP_TEAC_SPEED can be changed here, or one can set the | |
119 | * variable "teac" when loading as a module. | |
120 | * Valid settings are: | |
121 | * 0 - very slow - the recommended "DISTRIBUTION 1" setup. | |
122 | * 1 - 2x performance with little overhead. No busy waiting. | |
123 | * 2 - 4x performance with 5ms overhead per read. Busy wait. | |
124 | * | |
125 | * Setting SBP_TEAC_SPEED or the variable 'teac' to anything | |
126 | * other than 0 may cause problems. If you run into them, first | |
127 | * change SBP_TEAC_SPEED back to 0 and see if your drive responds | |
128 | * normally. If yes, you are "allowed" to report your case - to help | |
129 |