mirror of
https://git.hardenedbsd.org/hardenedbsd/HardenedBSD.git
synced 2024-11-20 10:16:34 +01:00
6b8afe4d37
SBlaster/Adlib/ProAudio Spectrum/Gravis/etc cards. This is a BETA test driver, please test it and get back to me!
52 lines
2.2 KiB
Plaintext
52 lines
2.2 KiB
Plaintext
The following file describes the procedure for adding modules to MIDI
|
|
Please READ the main documentation files for the driver first!!!
|
|
|
|
|
|
Example: We have a sound card with a MIDI chip & port on it
|
|
and, we call it the 'MYBLASTER' card:
|
|
|
|
**************************************************************************
|
|
|
|
0: Run 'configure'. Select the MIDI on CHIP support option.
|
|
|
|
1: Write a midi driver module; 'blast_midi.c'
|
|
(with functions for open,close,read,write,attach.)
|
|
|
|
1a: Write all functions except the 'attach' the way you want.
|
|
|
|
For the 'attach' function, look at a model in the 'pro_midi.c'
|
|
file. Just dup it in the same fashion. For the 'generic_midi_operations'
|
|
structure which is required, see file 'dev_table.h'.
|
|
|
|
2: We called the 'attach' function: 'blast_attach'.
|
|
|
|
Go to the file 'dev_table.h' and add your driver name and the function
|
|
pointer ( which is 'blast_attach' ) to the 'midi_supported' table.
|
|
|
|
3: You are almost set. Go and make a reference
|
|
to an 'exclude constant'; say EXLCUDE_BLAST_MIDI in your module
|
|
(refer to the 'pro_midi.c' file for model). Also make sure to
|
|
add the constant to the file 'sound_config.h' (for example, look
|
|
where the constant EXCLUDE_PRO_MIDI is in the file.)
|
|
|
|
4: Add the line
|
|
|
|
#define ALL_EXTERNAL_TO_ME
|
|
|
|
as the 1st line of your 'blast_midi.c' file. This happily, makes
|
|
you ignorant of everything else specific to the driver! :).
|
|
|
|
4a: And of course, don't forget to make a device :). Note that your
|
|
minor number should be = ( 15 + position of your driver in the
|
|
'midi_supported' table in the 'dev_table.h' file ).
|
|
|
|
Eg: Your driver is the second one in the table. viz midi_supported[1].
|
|
Your device minor number should be ( 15 + 1 = 16 ). Then, make the
|
|
reference to your device as, say CMIDI_DEV_BLAST in the file
|
|
'sound_config.h'. Also add this in 'soundcard.c' for the open, read,
|
|
write and close routines. See files for example using CMIDI_DEV_PRO
|
|
(which is the ProAudioSpectrum on chip MIDI).
|
|
|
|
5: You are all set. If ever you have problems, follow the same model
|
|
as the file 'pro_midi.c', except for substituting your own functions!
|