diff --git a/CInclude/sound.h b/CInclude/sound.h index 96cf5aad5..f3b18ab98 100644 --- a/CInclude/sound.h +++ b/CInclude/sound.h @@ -4,7 +4,12 @@ * * PROJECT: PC/GEOS * FILE: sound.h - * AUTHOR: Todd Stumpf, Sept. 1992 + + * REVISION HISTORY: + * Name Date Description + * ---- ---- ----------- + * Todd S. Sept. 1992 Initial version + * RainerB 9/15/2024 Drum frequencies updated * * DESCRIPTION: * C version of sound.def @@ -291,7 +296,7 @@ typedef enum { IP_ELECTRIC_MUTED_GUITAR, IP_OVERDRIVEN_GUITAR, IP_DISTORTION_GUITAR, - IP_GUITAR_HARMONICS, + IP_GUITAR_HARMONICS, IP_ACOUSTIC_BASS, IP_ELECTRIC_FINGERED_BASS, IP_ELECTRIC_PICKED_BASS, @@ -474,53 +479,59 @@ typedef enum { ; so that our OPL2 driver works correctly. ; */ -#define FR_ACOUSTIC_BASS_DRUM LOW_C_b -#define FR_BASS_DRUM_1 ( LOW_C / 2 ) -#define FR_SIDE_STICK MIDDLE_G_SH -#define FR_ACOUSTIC_SNARE MIDDLE_C -#define FR_HAND_CLAP MIDDLE_C -#define FR_ELECTRIC_SNARE MIDDLE_C -#define FR_LOW_FLOOR_TOM LOW_C -#define FR_CLOSED_HI_HAT MIDDLE_C -#define FR_HIGH_FLOOR_TOM LOW_F -#define FR_PEDAL_HI_HAT MIDDLE_C -#define FR_LOW_TOM LOW_G_SH -#define FR_OPEN_HI_HAT MIDDLE_C -#define FR_LOW_MID_TOM MIDDLE_C -#define FR_HI_MID_TOM MIDDLE_F -#define FR_CRASH_CYMBAL_1 MIDDLE_C -#define FR_HIGH_TOM MIDDLE_G_SH -#define FR_RIDE_CYMBAL_1 MIDDLE_C -#define FR_CHINESE_CYMBAL MIDDLE_C -#define FR_RIDE_BELL MIDDLE_C -#define FR_TAMBOURINE MIDDLE_C -#define FR_SPLASH_CYMBAL MIDDLE_C -#define FR_COWBELL LOW_C -#define FR_CRASH_CYMBAL_2 MIDDLE_C -#define FR_VIBRASLAP MIDDLE_C -#define FR_RIDE_CYMBAL_2 MIDDLE_C -#define FR_HI_BONGO MIDDLE_G_SH -#define FR_LOW_BONGO MIDDLE_E -#define FR_MUTE_HI_CONGA MIDDLE_G_SH -#define FR_OPEN_HI_CONGA MIDDLE_G_SH -#define FR_LOW_CONGA MIDDLE_C -#define FR_HI_TIMBALE MIDDLE_C -#define FR_LOW_TIMBALE LOW_G_SH -#define FR_HIGH_AGOGO LOW_F_SH -#define FR_LOW_AGOGO LOW_C -#define FR_CABASA MIDDLE_C -#define FR_MARACAS MIDDLE_C -#define FR_SHORT_WHISTLE HIGH_G_SH -#define FR_LONG_WHISTLE HIGH_G_SH -#define FR_SHORT_GUIRO MIDDLE_C -#define FR_LONG_GUIRO MIDDLE_C -#define FR_CLAVES ( HIGH_G_SH * 2 ) -#define FR_HI_WOOD_BLOCK MIDDLE_C -#define FR_LOW_WOOD_BLOCK LOW_F_SH -#define FR_MUTE_CUICA MIDDLE_C -#define FR_OPEN_CUICA MIDDLE_C -#define FR_MUTE_TRIANGLE MIDDLE_G_SH -#define FR_OPEN_TRIANGLE MIDDLE_G_SH +#define FR_ACOUSTIC_BASS_DRUM 247 +#define FR_BASS_DRUM_1 131 +#define FR_SIDE_STICK 262 +#define FR_ACOUSTIC_SNARE 233 +#define FR_HAND_CLAP 392 +#define FR_ELECTRIC_SNARE 233 +#define FR_LOW_FLOOR_TOM 98 +#define FR_CLOSED_HI_HAT 1047 + +#define FR_HIGH_FLOOR_TOM 110 +#define FR_PEDAL_HI_HAT 156 +#define FR_LOW_TOM 87 +#define FR_OPEN_HI_HAT 523 +#define FR_LOW_MID_TOM 87 +#define FR_HI_MID_TOM 123 +#define FR_CRASH_CYMBAL_1 523 +#define FR_HIGH_TOM 87 + +#define FR_RIDE_CYMBAL_1 1047 +#define FR_CHINESE_CYMBAL 247 +#define FR_RIDE_BELL 330 +#define FR_TAMBOURINE 1047 +#define FR_SPLASH_CYMBAL 208 +#define FR_COWBELL 233 +#define FR_CRASH_CYMBAL_2 392 +#define FR_VIBRASLAP 104 + +#define FR_RIDE_CYMBAL_2 1047 +#define FR_HI_BONGO 131 +#define FR_LOW_BONGO 131 +#define FR_MUTE_HI_CONGA 156 +#define FR_OPEN_HI_CONGA 262 +#define FR_LOW_CONGA 131 +#define FR_HI_TIMBALE 131 +#define FR_LOW_TIMBALE 131 + +#define FR_HIGH_AGOGO 1047 +#define FR_LOW_AGOGO 415 +#define FR_CABASA 1047 +#define FR_MARACAS 1047 +#define FR_SHORT_WHISTLE 1047 +#define FR_LONG_WHISTLE 1047 +#define FR_SHORT_GUIRO 92 +#define FR_LONG_GUIRO 87 + +#define FR_CLAVES 104 +#define FR_HI_WOOD_BLOCK 104 +#define FR_LOW_WOOD_BLOCK 104 +#define FR_MUTE_CUICA 392 +#define FR_OPEN_CUICA 392 +#define FR_MUTE_TRIANGLE 698 +#define FR_OPEN_TRIANGLE 698 + /*--------------------------------------------------------------------------- Sound Buffer Construction Macros ---------------------------------------------------------------------------*/ diff --git a/CInclude/soundFmt.h b/CInclude/soundFmt.h new file mode 100644 index 000000000..4efef54d6 --- /dev/null +++ b/CInclude/soundFmt.h @@ -0,0 +1,277 @@ +/* ------------------------------------------------------------------------ * + * + * PROJECT: PC/GEOS Sound System + * MODULE: Sound Device Driver + * FILE: soundFmt.h + * + * C-Version of soundFmt.def (Todd Stumpf, Sep 14, 1992) + * + * REVISION HISTORY: + * Name Date Description + * ---- ---- ----------- + * RainerB 09/15/2024 File created + * + * DESCRIPTION: + * This file contains the structure and record declarations for + * the envelope formats supported by the PC/GEOS library. For + * more information look at soundDrv.def or the sound library + * itself. + * + * ------------------------------------------------------------------------ */ + +/*----------------------------------------------------------------------------- + * Sound Blaster Instrument Description Data Structures + *----------------------------------------------------------------------------- + * + * The timbre setting contains the information to generate + * the color of the sound. + * TS_AM = amplitude modulation enabled (tremelo affect) + * TS_VIB = vimbrato modulation enabled (vibrato affect) + * TS_ET = envelope type 0 = diminishing (bell) + * 1 = continuing (organ) + * TS_KSR = envelope shortening + * TS_MULTIPLE = multiplies basic frequency of mod/car + * 0 = x.5 1 = x1 2 = x2 + * 3 = x3 4 = x4 5 = x5 + * 6 = x6 7 = x7 8 = x8 + * 9 = x9 a = x10 b = x10 + * c = x12 d = x12 e = x15 + * f = x15 + */ +typedef ByteFlags TimbreSetting; +#define TS_AM 0x80 +#define TS_VIB 0x40 +#define TS_ET 0x20 +#define TS_KSR 0x10 +#define TS_MULTIPLE 0x0F + +#define TS_ET_CONTINUING 0x20 /* Organ */ +#define TS_ET_DIMINISHING 0 /* Bell */ + + +/* ------------------------------------------------------------------------ * + * The output setting contains information about the volume + * of the note. + * OS_KSL = Sets the rate at which higher notes get + * there volume diminished. + * 0 = volume decreases slowly as notes + * rise in pitch + * up to 3 = volume descreases rapidly as notes + * rise in pitch + * + * OS_TOTAL_LEVEL = The attenuation level of maximum output. + * This is an attenuation level, not a volume level, + * so the larger the number, the quieter the voice. + * The total level is the value which is reached + * at the end of the attack, and the sustain level + * is a fraction of the this level. + * Carrier total level dictates the amplitude of + * the sound, and the modulator output indicates + * the amound of warble. + */ +typedef ByteFlags OutputSetting; +#define OS_KSL 0xC0 +#define OS_TOTAL_LEVEL 0x3F + +#define OS_KSL_OFFSET 6 +#define OS_TOTAL_LEVEL_OFFSET 0 + + +/* ------------------------------------------------------------------------ * + * The Attack/Decay/Sustain/Release is the standard way of + * describing a sound envelope. The greater the value the + * steaper the slant of that section of the envelope + */ +typedef ByteFlags AttackDecaySetting; +#define ADS_ATTACK 0xF0 +#define ADS_DECAY 0x0F + +#define ADS_ATTACK_OFFSET 4 +#define ADS_DECAY_OFFSET 0 + + +/* ------------------------------------------------------------------------ * + * The sustian value is either the decibel level where a + * diminishing sound turns from decay to release or + * level of the sound that decay turns into sustain. + * Therefore, the higher the value of sustain, the lower + * the volume it will sustain at, or the quieter it will + * be before it enters the release + */ +typedef ByteFlags SustainReleaseSetting; +#define SRS_SUSTAIN 0xF0 +#define SRS_RELEASE 0x0F + +#define SRS_SUSTAIN_OFFSET 4 +#define SRS_RELEASE_OFFSET 0 + + +/* ------------------------------------------------------------------------ * + * The feedback setting describes how the signals of + * the two waves (the carrier and the modulator) are + * connected. + * FBS_FEEDBACK = modulation of modular wave which gets + * added to the incoming signal of the + * modulator wave. clear as mud. + * + * + * FBDS_CONNECTION = 1 + * ------------------- + * + * mod --->(+)----> [modulator] ------>(+)--->[carrier]-->out + * freq. ^ | ^ + * | | | + * |_____________________| car + * freq. + * + * + * FBDS_CONNECTION = 0 + * ------------------- + * + * mod --->(+)----> [modulator] ----- + * freq. ^ | | + * | | | + * |____________________| | + * | + * (+)----> out + * | + * car -----------> [carrier]-------- + * freq. + */ +typedef ByteFlags FeedBackSetting; +#define FBS_FEEDBACK 0x0E +#define FBS_CONNECTION 0x01 + +#define FBS_FEEDBACK_OFFSET 1 +#define FBS_CONNECTION_OFFSET 0 + +/* ------------------------------------------------------------------------ + * + * The Wave select setting determines the form of the signal + * that gets generated. + * + * FSS_WAVE 0 = normal sin wave + * + * FSS_WAVE 1 ={ sin(x) if sin(x) > 0 + * { 0 if sin(x) < 0 + * + * FSS_WAVE 2 = | sin(x) | + * + * FSS_WAVE 3 ={ |sin(x)| if 0 < x < pi/2 or pi < x < 3pi/2 + * { 0 otherwise + */ +typedef ByteFlags WaveSelectSetting; +#define FSS_WAVE 0x03 + +#define FSS_WAVE_OFFSET 0 + +#define FSS_WAVE_SINE 0 +#define FSS_WAVE_POS_SINE 1 +#define FSS_WAVE_ABS_SINE 2 +#define FSS_WAVE_1ST_SINE 3 + + +/* ------------------------------------------------------------------------ + * + * Creative labs defines what it calls a Sound Blaster Instrument + * file. This is the layout of all the necessary information to + * configure a SB voice to sound like a specific instrument. + * These constants were taken from the Sound Blaster development + * kit. + * The actual voice envelope information takes up 11 bytes of + * space. Each byte is just the value that should be loaded into + * a specific register of the board. This makes it very easy + * to use for the Sound Blaster, but somewhat obscure. As each + * byte contains much information, the corropsonding register + * records are included here to allow the production of your own + * voice envelopes. + */ + +typedef struct { + TimbreSetting SBIEF_modTimbre; /* modulator timbre value */ + TimbreSetting SBIEF_carTimbre; /* carrer timbre value */ + OutputSetting SBIEF_modScaling; /* modulator scaling cell value */ + OutputSetting SBIEF_carScaling; /* carrier scaling cell value */ + AttackDecaySetting SBIEF_modAttack; /* modulator attack/decay value */ + AttackDecaySetting SBIEF_carAttack; /* carrier attack/decay value */ + SustainReleaseSetting SBIEF_modSustain; /* modulator sustain/release */ + SustainReleaseSetting SBIEF_carSustain; /* carrier sustain/release value */ + WaveSelectSetting SBIEF_modWave; /* modulator wave form */ + WaveSelectSetting SBIEF_carWave; /* carrier wave form */ + FeedBackSetting SBIEF_feedback; /* feedback for modulator */ + } SBIEnvelopeFormat; + + +/*----------------------------------------------------------------------------- + * Casio/Tandy Sound Envelope Information + *----------------------------------------------------------------------------- + + * + * Both the FM chip in the Casio Palm-top and the FM chip + * in the TANDY 1000 computers are remarkably similar. + * Each has three tone generators, with attenuation, and + * each has a noise generator. Neither has internal support + * for envelopes, and they both formats for their sounds are + * remarkably similar. + * + * In order to get the best sound possible, we will allow + * an instrument to define the proportional intensity of the + * 1st, 2nd and 3rd partials (that is, the intensity of the + * base frequency to the specified volume, as well as the + * proportion of the 2nd and 3rd harmonics in comparison to + * the specified volume.) + * This should produce a well colored tone out of the chip + * when only one voice is sounding at a time. The more voices + * which get used, however, the more bland the notes will sound. + * The intensity of each partial will be determined by first + * multiplying the basic volume by the setting, then dividing + * the result by the maximum possible setting. + * + * Each instrument is also allowed to specify the type and + * intensity of the noise that is to be generated. + */ + +typedef enum byte { + NT_NO_NOISE = 0, + NT_WHITE_NOISE, /* cymbal crash */ + NT_METAL_NOISE, /* snare drum hit */ + }NoiseType; + +typedef ByteFlags NoiseSetting; +#define NS_type 0xC0 /* metal type */ +#define NS_partialLevel 0x3F /* fraction for metal level */ + +#define NS_TYPE_OFFSET 6 +#define NS_PATIAL_LEVEL_OFFSET 0 + +typedef struct { + byte CTIEF_fundamental; /* fraction for primary */ + byte CTIEF_secondPartial; /* fraction for 2nd intensity */ + byte CTIEF_thirdPartial; /* fraction for 3rd intensity */ + NoiseSetting CTIEF_noise; /* intensity of noise */ + } CTIEnvelopeFormat; + + +/*----------------------------------------------------------------------------- + * Sound Driver Envelope Structure + *----------------------------------------------------------------------------- + + * + * Each hardware device has its own capabilities. It does little + * good to tell a device driver to set itself up with too little or + * too much information about the sound envelope. Therefore, there + * are multiple formats that can be passed to and from the sound + * device. A device should always try to do the best it can, but + * don't expect great things out of a device if you don't give it + * the information it wants. + */ + +typedef word SupportedInstrumentFormat; +#define SEF_NO_FORMAT 0 +#define SEF_SBI_FORMAT 1 +#define SEF_CTI_FORMAT 2 + + + + + diff --git a/Driver/Sound/BSD16/bsvoice.asm b/Driver/Sound/BSD16/bsvoice.asm index 8f343e050..d24d645a7 100644 --- a/Driver/Sound/BSD16/bsvoice.asm +++ b/Driver/Sound/BSD16/bsvoice.asm @@ -12,6 +12,7 @@ REVISION HISTORY: Name Datum Beschreibung ---- ----- ------------ DL 08.08.98 Init + RainerB 09/15/2024 InstrumentTable updated ROUTINEN: Name Description @@ -489,371 +490,380 @@ SBDVoiceSilence endp ; ; Go ahead. I dare you to debug this table! ; -- todd :) -InstrumentTable SBIEnvelopeFormat <001H,011H,04FH,000H,0F1H,0D2H,051H,043H, - 000H,000H,006H>, - <002H,012H,04FH,006H,0F1H,0D2H,051H,043H, - 000H,000H,002H>, - <000H,011H,04AH,004H,0F1H,0D2H,053H,074H, + ; Reworked by RainerB in 2024. + ; It sounds very much better now, but it's still just FM sounds. + ; +InstrumentTable SBIEnvelopeFormat <001H,011H,04FH,000H,0F1H,0D2H,051H,043H, 000H,000H,006H>, - <003H,011H,04FH,004H,0F1H,0D2H,053H,074H, - 001H,001H,006H>, + <031H,021H,04BH,000H,0F2H,0F2H,054H,056H, + 000H,000H,008H>, + <013H,011H,0C6H,000H,0F2H,0F1H,0F5H,0F5H, + 001H,000H,000H>, + <031H,031H,08EH,080H,0F1H,0F3H,0F9H,0F9H, + 000H,000H,00AH>, <001H,011H,066H,000H,0F1H,0D2H,051H,0C3H, 000H,000H,006H>, - <0C0H,0D2H,052H,005H,0F1H,0D2H,053H,094H, - 000H,000H,006H>, - <012H,018H,086H,000H,0F3H,0FCH,000H,033H, - 000H,000H,008H>, - <0D0H,012H,04EH,003H,0A8H,092H,032H,0A7H, - 003H,002H,000H>, - <0C8H,0D1H,04FH,008H,0F2H,0F3H,064H,077H, - 000H,000H,008H>, - <033H,034H,00EH,000H,001H,07DH,011H,034H, + <002H,002H,022H,000H,0F2H,0F5H,013H,043H, + 000H,000H,00EH>, + <021H,036H,080H,00EH,0A2H,0F1H,001H,0D5H, 000H,000H,008H>, - <017H,016H,050H,000H,0D1H,0D3H,052H,092H, - 000H,001H,004H>, - <0E7H,0E1H,021H,006H,0F5H,0F6H,077H,014H, + <001H,001H,092H,000H,0C2H,0C2H,0A8H,058H, + 000H,000H,00AH>, + + <00CH,081H,05CH,000H,0F6H,0F3H,054H,0B5H, + 000H,000H,000H>, + <017H,012H,05EH,008H,0F2H,0F2H,061H,074H, 000H,000H,008H>, + <017H,001H,021H,000H,056H,0F6H,004H,004H, + 000H,000H,002H>, + <093H,091H,097H,000H,0AAH,0ACH,012H,021H, + 002H,000H,00EH>, <095H,081H,04EH,000H,0DAH,0F9H,025H,015H, 000H,000H,00AH>, <027H,021H,01FH,003H,0F5H,0F5H,096H,057H, 000H,000H,008H>, - <087H,0F1H,04EH,080H,0B1H,0E6H,033H,042H, - 000H,000H,000H>, - <031H,011H,087H,080H,0A1H,07DH,011H,043H, - 000H,000H,008H>, - <032H,0B1H,08CH,003H,091H,0A1H,007H,019H, - 002H,000H,005H>, - <031H,0B4H,054H,083H,0F1H,0F5H,007H,019H, - 000H,000H,007H>, - <024H,021H,040H,053H,0FFH,0FFH,00FH,00FH, + <045H,081H,059H,080H,0D3H,0A3H,082H,0E3H, + 000H,000H,00CH>, + <003H,081H,049H,080H,074H,0B3H,055H,005H, + 001H,000H,004H>, + + <064H,021H,086H,080H,0FFH,0FFH,00FH,00FH, 000H,000H,001H>, + <072H,030H,014H,000H,0C7H,0C7H,058H,008H, + 000H,000H,002H>, + <070H,0B1H,044H,000H,0AAH,08AH,018H,008H, + 000H,000H,004H>, <0D2H,0F1H,044H,080H,091H,0A1H,057H,009H, 001H,001H,003H>, - <001H,002H,052H,088H,0F0H,0F0H,01FH,01FH, + <061H,0B1H,013H,080H,097H,055H,004H,004H, + 001H,000H,000H>, + <024H,031H,04FH,000H,0F2H,052H,00BH,00BH, + 000H,000H,00EH>, + <061H,021H,013H,000H,091H,061H,006H,007H, 001H,000H,00AH>, - <021H,032H,04FH,00BH,0F2H,052H,00BH,00BH, - 000H,001H,00AH>, - <0F0H,0F2H,093H,007H,0D8H,0B3H,00BH,00BH, - 002H,001H,00AH>, <020H,031H,05DH,007H,0F2H,052H,00BH,00BH, 003H,002H,000H>, - <001H,001H,01BH,004H,0F4H,0F3H,025H,046H, - 002H,000H,000H>, - <011H,001H,00FH,007H,0F4H,0F3H,025H,046H, - 001H,000H,000H>, - <001H,001H,027H,000H,0F1H,0F4H,01FH,088H, - 002H,000H,00AH>, - <012H,013H,044H,003H,0EAH,0D2H,032H,0E7H, - 001H,001H,000H>, - <030H,031H,045H,000H,0A4H,0F5H,032H,0E7H, - 003H,000H,000H>, + + <002H,041H,09CH,080H,0F3H,0F3H,094H,0C8H, + 001H,000H,00CH>, + <003H,011H,05EH,000H,0F5H,0F2H,071H,083H, + 001H,000H,00EH>, + <011H,011H,08DH,080H,0FFH,0FFH,001H,003H, + 000H,000H,000H>, + <021H,006H,040H,080H,0F1H,0F4H,031H,044H, + 000H,000H,000H>, + <001H,001H,01DH,000H,0F2H,0F5H,0EFH,078H, + 000H,000H,00AH>, <021H,021H,00FH,003H,0F5H,0F1H,017H,078H, 002H,001H,004H>, - <001H,020H,041H,007H,0D1H,0C1H,034H,0A5H, - 003H,003H,004H>, - <010H,012H,043H,002H,0A7H,0E3H,097H,0E7H, - 003H,002H,000H>, - <020H,021H,028H,001H,0C5H,0D2H,015H,0A4H, - 000H,000H,00CH>, - <030H,021H,016H,005H,0F2H,0F3H,09FH,078H, - 000H,000H,00CH>, - <030H,021H,011H,005H,082H,0F3H,09FH,078H, + <023H,021H,04AH,000H,095H,094H,019H,019H, + 001H,000H,008H>, + <001H,001H,011H,000H,0F2H,0F4H,013H,0F8H, 000H,000H,00AH>, - <021H,021H,023H,000H,073H,093H,01AH,087H, - 000H,000H,00CH>, - <030H,021H,00EH,009H,062H,0F3H,055H,068H, - 002H,000H,00AH>, + + <001H,000H,000H,000H,094H,083H,0B6H,026H, + 000H,000H,001H>, + <000H,001H,023H,000H,0C1H,0F3H,0EEH,0DEH, + 000H,000H,00AH>, + <050H,000H,000H,000H,0FBH,0F3H,071H,0B9H, + 000H,000H,000H>, + <030H,021H,01EH,000H,0F2H,0F5H,0EFH,078H, + 000H,000H,00EH>, + <000H,010H,040H,000H,095H,0FFH,088H,003H, + 001H,000H,006H>, <030H,022H,00CH,000H,062H,0D5H,0B5H,098H, 001H,000H,008H>, - <070H,072H,093H,043H,064H,0A1H,043H,043H, + <031H,031H,08BH,000H,0F4H,0F1H,0E8H,078H, 000H,000H,00AH>, - <030H,032H,08DH,085H,044H,092H,043H,043H, - 002H,000H,00AH>, - <0E1H,0E2H,04EH,000H,065H,061H,043H,044H, - 002H,002H,000H>, - <0A1H,0A2H,08EH,005H,065H,063H,043H,045H, - 002H,002H,000H>, - <0B0H,061H,087H,040H,0D1H,062H,011H,015H, - 002H,001H,006H>, + <000H,010H,04FH,000H,0D5H,083H,021H,001H, + 000H,000H,00AH>, + + <021H,021H,013H,000H,091H,061H,007H,008H, + 001H,000H,00AH>, + <031H,021H,016H,000H,0DDH,066H,013H,006H, + 001H,000H,008H>, + <0B0H,0B1H,0C5H,080H,052H,031H,011H,0FEH, + 001H,001H,000H>, <0F0H,020H,08AH,080H,0B1H,0A0H,011H,015H, 002H,001H,006H>, - <0F1H,0E2H,089H,043H,073H,043H,001H,005H, - 002H,000H,006H>, - <031H,021H,057H,080H,0F8H,0F7H,0F9H,0E6H, - 003H,002H,00EH>, - <032H,001H,024H,082H,0F1H,0F5H,035H,035H, + <0F1H,0E1H,040H,000H,0F1H,06FH,021H,016H, + 001H,000H,002H>, + <001H,011H,04FH,000H,0F2H,0F5H,053H,074H, + 000H,000H,006H>, + <032H,001H,024H,082H,0F1H,0F5H,034H,034H, 000H,000H,000H>, - <000H,000H,004H,000H,0AAH,0D2H,0C8H,0B3H, - 000H,000H,00AH>, + <010H,011H,041H,000H,0F5H,0F2H,005H,0C3H, + 001H,000H,002H>, + <0E0H,0F1H,04FH,003H,0D4H,055H,00BH,00BH, 002H,002H,00AH>, - <0E0H,0F0H,052H,000H,096H,035H,005H,001H, - 002H,002H,00AH>, - <0E1H,0F1H,04FH,000H,036H,045H,005H,002H, - 002H,002H,00AH>, - <0E2H,0E1H,048H,081H,021H,041H,043H,045H, - 002H,001H,000H>, - <0E0H,0F1H,016H,000H,041H,020H,052H,072H, - 002H,002H,000H>, - <0E0H,0F1H,011H,000H,001H,0D0H,052H,072H, - 002H,002H,000H>, - <0E0H,0F1H,01AH,000H,061H,030H,052H,073H, - 000H,002H,000H>, - <050H,050H,00BH,007H,084H,0A4H,04BH,099H, + <0B1H,061H,08BH,040H,071H,042H,011H,015H, + 000H,001H,006H>, + <0A1H,061H,093H,000H,0C1H,04FH,012H,005H, 000H,000H,00AH>, - <031H,061H,01CH,084H,041H,092H,00BH,03BH, - 000H,000H,00EH>, - <0B1H,061H,01CH,005H,041H,092H,01FH,03BH, - 000H,000H,00EH>, - <020H,021H,018H,000H,052H,0A2H,015H,024H, + <021H,061H,018H,000H,0C1H,04FH,022H,005H, 000H,000H,00CH>, - <0C1H,0C1H,094H,084H,074H,0A3H,0EAH,0F5H, - 002H,001H,00EH>, - <021H,021H,028H,000H,041H,081H,0B4H,098H, + <031H,072H,05BH,083H,0F4H,08AH,015H,005H, + 000H,000H,000H>, + <0A1H,061H,090H,000H,074H,071H,039H,067H, + 000H,000H,000H>, + <071H,072H,057H,000H,054H,07AH,005H,005H, + 000H,000H,00CH>, + <000H,000H,00FH,000H,091H,052H,005H,006H, + 000H,002H,000H>, + + <021H,021H,092H,001H,085H,08FH,017H,009H, + 000H,000H,00CH>, + <0B1H,061H,01CH,080H,041H,092H,01FH,03BH, 000H,000H,00EH>, + <021H,021H,018H,001H,053H,052H,01FH,03FH, + 000H,000H,00CH>, + <031H,021H,043H,000H,09EH,062H,017H,02CH, + 001H,001H,002H>, + <021H,021H,09BH,000H,061H,07FH,06AH,00AH, + 000H,000H,002H>, + <061H,022H,08AH,006H,075H,074H,01FH,00FH, + 000H,000H,008H>, <021H,021H,01DH,001H,051H,0E1H,0AEH,03EH, 002H,001H,00EH>, - <0E0H,0E0H,093H,082H,051H,081H,0A6H,097H, - 002H,001H,00EH>, - <0E0H,0E1H,093H,083H,051H,0E1H,0A6H,097H, - 002H,001H,00EH>, + <021H,021H,04DH,000H,054H,0A6H,03CH,01CH, + 000H,000H,008H>, + <0E0H,0F2H,04BH,00BH,0D8H,0B3H,00BH,00BH, 002H,001H,008H>, - <0E0H,0F1H,049H,00BH,0B8H,0B3H,00BH,00BH, - 002H,001H,008H>, - <0E0H,0F0H,04EH,00BH,098H,0C3H,00BH,00BH, - 001H,002H,008H>, + <031H,061H,08EH,000H,093H,072H,003H,009H, + 001H,000H,008H>, + <031H,061H,091H,000H,093H,082H,003H,009H, + 001H,000H,00AH>, <0E0H,0F1H,04CH,00BH,088H,0D3H,00BH,00BH, 001H,001H,008H>, - <0F1H,0E4H,0C5H,008H,07EH,08CH,017H,00EH, - 000H,000H,008H>, - <060H,072H,04FH,00AH,0D8H,0B3H,00BH,00BH, - 000H,001H,00AH>, - <031H,072H,0D1H,080H,0D5H,091H,019H,01BH, - 000H,000H,00CH>, - <032H,071H,0C8H,080H,0D5H,073H,019H,01BH, + <021H,021H,04BH,000H,0AAH,08FH,016H,00AH, + 001H,000H,008H>, + <031H,021H,090H,000H,07EH,08BH,017H,00CH, + 001H,001H,006H>, + <030H,071H,0C8H,080H,0D5H,061H,019H,01BH, 000H,000H,00CH>, - <0E2H,062H,06AH,000H,09EH,055H,08FH,02AH, - 000H,000H,00EH>, - <0E0H,061H,0ECH,000H,07EH,065H,08FH,02AH, - 000H,000H,00EH>, - <062H,0A2H,088H,08DH,084H,075H,027H,017H, - 000H,000H,009H>, - <062H,0A2H,084H,08DH,084H,075H,027H,017H, - 000H,000H,009H>, - <0E3H,062H,06DH,000H,057H,057H,004H,077H, + <032H,021H,090H,000H,09BH,072H,021H,017H, + 000H,000H,004H>, + + <021H,0A2H,083H,08DH,074H,065H,017H,017H, + 000H,000H,007H>, + <020H,022H,05BH,080H,000H,050H,016H,015H, + 000H,000H,00AH>, + <0E0H,061H,0ECH,000H,06EH,065H,08FH,02AH, 000H,000H,00EH>, + <020H,021H,01BH,000H,000H,050H,016H,015H, + 000H,000H,00AH>, + <062H,0A1H,0CBH,000H,076H,055H,046H,036H, + 000H,000H,000H>, <0F1H,0E1H,028H,000H,057H,067H,034H,05DH, 003H,000H,00EH>, - <0D1H,072H,0C7H,003H,031H,042H,00FH,009H, - 000H,000H,00BH>, - <0F2H,072H,0C7H,005H,051H,042H,005H,069H, + <062H,0A1H,093H,000H,077H,076H,007H,007H, 000H,000H,00BH>, + <0E0H,061H,0ECH,000H,06EH,065H,08FH,02AH, + 000H,000H,00EH>, + <023H,031H,04FH,006H,051H,060H,05BH,025H, 001H,001H,000H>, - <022H,031H,048H,006H,031H,0C0H,09BH,065H, - 002H,001H,000H>, + <021H,021H,00EH,000H,0FFH,0FFH,00FH,00FH, + 001H,001H,000H>, <0F1H,0E1H,028H,004H,057H,067H,034H,00DH, 003H,000H,00EH>, - <0E1H,0E1H,023H,000H,057H,067H,004H,04DH, - 003H,000H,00EH>, + <060H,060H,003H,000H,0F6H,076H,04FH,00FH, + 000H,000H,002H>, <0E2H,031H,042H,012H,078H,0F3H,00BH,00BH, 001H,001H,008H>, - <0E2H,0E2H,021H,007H,011H,040H,052H,073H, - 001H,001H,008H>, - <023H,0A4H,0C0H,000H,051H,035H,007H,079H, - 001H,002H,00DH>, - <024H,0A0H,0C0H,001H,051H,075H,007H,009H, - 001H,002H,009H>, - <0E0H,0F0H,016H,003H,0B1H,0E0H,051H,075H, - 002H,002H,000H>, - <003H,0A4H,0C0H,004H,052H,0F4H,003H,055H, - 000H,000H,009H>, - <0E1H,0E1H,093H,081H,031H,0A1H,0A6H,097H, - 001H,001H,00AH>, - <0F0H,071H,0C4H,087H,010H,011H,001H,0C1H, - 002H,002H,001H>, - <0C1H,0E0H,04FH,000H,0B1H,012H,053H,074H, - 002H,002H,006H>, - <0C0H,041H,06DH,007H,0F9H,0F2H,021H,0B3H, - 001H,000H,00EH>, - <0E3H,0E2H,04CH,007H,021H,0A1H,043H,045H, - 001H,001H,000H>, - <0E3H,0E2H,00CH,009H,011H,080H,052H,073H, - 001H,001H,008H>, - <026H,088H,0C0H,000H,055H,0F8H,047H,019H, - 000H,000H,00BH>, - <023H,0E4H,0D4H,000H,0E5H,035H,003H,065H, - 000H,000H,007H>, + <0A2H,061H,09EH,040H,0DFH,06FH,005H,007H, + 000H,000H,002H>, + <020H,060H,01AH,000H,0EFH,08FH,001H,006H, + 000H,002H,000H>, + <021H,021H,08FH,080H,0F1H,0F4H,029H,009H, + 000H,000H,00AH>, + + <031H,0A1H,01CH,080H,041H,092H,00BH,03BH, + 000H,000H,00CH>, + <061H,0B1H,01FH,080H,0A8H,025H,011H,003H, + 000H,000H,00AH>, + <061H,061H,017H,000H,091H,055H,034H,016H, + 000H,000H,00CH>, + <071H,072H,05DH,000H,054H,06AH,001H,003H, + 000H,000H,000H>, + <021H,0A2H,097H,000H,021H,042H,043H,035H, + 000H,000H,008H>, + <005H,046H,040H,080H,0B3H,0F2H,0D3H,024H, + 000H,000H,002H>, + <000H,011H,00DH,080H,0F1H,050H,0FFH,0FFH, + 000H,000H,006H>, + <0F0H,0F1H,046H,080H,022H,031H,011H,02EH, + 001H,000H,00CH>, + + <011H,001H,08AH,04BH,0F1H,0F1H,011H,0B3H, + 000H,000H,006H>, + <0F1H,0F1H,041H,041H,011H,011H,011H,011H, + 000H,000H,002H>, <027H,032H,0C0H,007H,032H,0A4H,062H,033H, 000H,000H,000H>, - <0D0H,031H,04EH,003H,098H,0A2H,032H,047H, - 001H,002H,000H>, - <0F0H,071H,0C0H,004H,093H,043H,003H,002H, - 001H,000H,00FH>, + <074H,035H,018H,080H,058H,026H,000H,001H, + 000H,000H,006H>, + <041H,042H,04DH,000H,0F1H,0F2H,051H,0F5H, + 001H,000H,000H>, <0E0H,0F1H,01AH,082H,013H,033H,052H,013H, 001H,002H,000H>, <0E0H,0F1H,01AH,004H,045H,032H,0BAH,091H, 000H,002H,000H>, - <011H,015H,018H,00DH,058H,0A2H,002H,072H, - 001H,000H,00AH>, + <07EH,031H,000H,000H,0F1H,0F1H,001H,004H, + 000H,000H,004H>, + <010H,018H,080H,045H,0F1H,0F1H,053H,053H, 000H,000H,000H>, - <031H,017H,086H,080H,0A1H,07DH,011H,023H, - 000H,000H,008H>, - <010H,018H,080H,040H,0F1H,0F6H,053H,054H, - 000H,000H,000H>, + <011H,013H,00CH,080H,0A3H,0A2H,011H,0E5H, + 001H,000H,000H>, <031H,034H,021H,002H,0F5H,093H,056H,0E8H, 001H,000H,008H>, - <003H,015H,04FH,003H,0F1H,0D6H,039H,074H, - 003H,000H,006H>, - <031H,022H,043H,006H,06EH,08BH,017H,00CH, - 001H,002H,002H>, + <001H,008H,011H,000H,0F2H,0F5H,01FH,088H, + 000H,000H,008H>, + <004H,001H,04FH,000H,0FAH,0C2H,056H,005H, + 000H,000H,00CH>, + <021H,022H,049H,000H,07CH,06FH,020H,00CH, + 000H,001H,006H>, <031H,022H,01CH,089H,061H,052H,003H,067H, 000H,000H,00EH>, - <060H,0F0H,00CH,089H,081H,061H,003H,00CH, - 000H,001H,008H>, - <027H,005H,055H,005H,031H,0A7H,062H,075H, - 000H,000H,000H>, - <095H,016H,081H,000H,0E7H,096H,001H,067H, - 000H,000H,004H>, - <00CH,001H,087H,080H,0F0H,0F2H,005H,005H, - 001H,001H,004H>, - <035H,011H,044H,000H,0F8H,0F5H,0FFH,075H, - 000H,000H,00EH>, - <010H,010H,00BH,008H,0A7H,0D5H,0ECH,0F5H, - 000H,000H,000H>, - <020H,001H,00BH,007H,0A8H,0D6H,0C8H,0B7H, + <020H,021H,004H,081H,0DAH,08FH,005H,00BH, + 002H,000H,006H>, + + <007H,008H,048H,080H,0F1H,0FCH,072H,004H, 000H,000H,000H>, - <000H,001H,00BH,000H,088H,0D5H,0C4H,0B7H, + <007H,002H,015H,000H,0ECH,0F8H,026H,016H, + 000H,000H,00AH>, + <005H,001H,09DH,000H,067H,0DFH,035H,005H, + 000H,000H,008H>, + <002H,002H,000H,000H,0C8H,0C8H,097H,097H, + 000H,000H,001H>, + <000H,000H,00DH,000H,0E8H,0A5H,0EFH,0FFH, + 000H,000H,006H>, + <011H,010H,041H,003H,0F8H,0F3H,047H,003H, + 002H,000H,004H>, + <000H,000H,00BH,000H,0A9H,0D6H,044H,044H, 000H,000H,000H>, - <00CH,010H,08FH,080H,041H,033H,031H,02BH, - 000H,003H,008H>, - <017H,0F7H,000H,000H,03BH,0EAH,0DFH,097H, - 003H,000H,00BH>, - <012H,018H,006H,009H,073H,03CH,002H,074H, - 000H,000H,00EH>, + <00EH,0C0H,000H,000H,01FH,01FH,000H,0FFH, + 000H,003H,00EH>, + + <012H,011H,000H,000H,0A5H,07BH,007H,006H, + 000H,002H,008H>, + <00EH,0D0H,000H,005H,0F8H,034H,000H,004H, + 000H,003H,00EH>, <002H,008H,000H,002H,03EH,014H,001H,0F3H, 002H,002H,00EH>, - <0F5H,0F6H,0D4H,000H,0EBH,045H,003H,068H, - 000H,000H,007H>, - <0F0H,0CAH,000H,0C0H,0DAH,0B0H,071H,017H, - 001H,001H,008H>, - <0F0H,0E2H,000H,0C0H,01EH,011H,011H,011H, - 001H,001H,008H>, + <0D5H,0DAH,095H,040H,037H,056H,0A3H,037H, + 000H,000H,000H>, + <0B0H,0B5H,035H,08EH,0FBH,0A0H,0F0H,09BH, + 000H,000H,00EH>, + <0B0H,0A0H,000H,0C0H,0FEH,0F1H,011H,019H, + 001H,000H,008H>, <0E7H,0E8H,000H,00EH,034H,010H,000H,0B2H, 002H,002H,00EH>, - <00CH,004H,000H,000H,0F0H,0F6H,0F0H,0E6H, - 002H,000H,00EH>, + <006H,000H,000H,00BH,0F4H,0F6H,0A0H,046H, + 000H,000H,00EH>, + <000H,000H,00BH,000H,0A8H,0D6H,04CH,045H, 000H,000H,000H>, <000H,000H,00BH,000H,0AAH,0D2H,0C8H,0B7H, 000H,000H,000H>, <026H,000H,000H,000H,0F0H,0FAH,0F0H,0B7H, 003H,003H,00EH>, - <010H,0C2H,007H,023H,0F7H,0E0H,0F5H,041H, - 002H,002H,082H>, - <0F2H,0F1H,00AH,038H,088H,0ADH,0F4H,088H, - 002H,002H,002H>, - <0D0H,0C2H,081H,023H,0A6H,0E0H,0F6H,041H, - 002H,002H,081H>, - <040H,0C2H,000H,023H,0F5H,0E0H,038H,041H, - 000H,002H,005H>, - <001H,0C2H,003H,023H,0B8H,0E0H,0B5H,041H, - 001H,002H,07DH>, - <040H,0C2H,000H,023H,0F5H,0E0H,038H,041H, - 000H,002H,0F1H>, - <001H,0B3H,008H,0C1H,088H,018H,0A5H,050H, - 001H,000H,0A3H>, - <000H,0C2H,000H,023H,0C6H,0E0H,098H,041H, - 000H,002H,083H>, - <001H,0B3H,009H,0C1H,086H,018H,0A5H,050H, - 001H,000H,0A3H>, - <000H,0C2H,000H,023H,0C6H,0E0H,098H,041H, - 000H,002H,003H>, - <000H,0C2H,000H,023H,0C6H,0E0H,098H,041H, - 000H,002H,005H>, - <004H,0C2H,00CH,023H,0C5H,0E0H,0F6H,041H, - 000H,002H,005H>, - <001H,0C2H,000H,023H,0C6H,0E0H,098H,041H, - 000H,002H,005H>, - <001H,0C2H,082H,023H,0F6H,0E0H,0D5H,041H, - 001H,002H,083H>, - <003H,0BFH,009H,0FFH,0E3H,0D0H,097H,050H, - 000H,000H,0BBH>, - <00EH,0BFH,007H,0FFH,0B5H,0D1H,015H,050H, - 001H,000H,0BBH>, - <001H,0BFH,007H,0C1H,077H,0D1H,073H,050H, - 001H,000H,0BBH>, - <00EH,0F1H,0C7H,038H,095H,0ADH,078H,08EH, - 000H,002H,002H>, - <001H,0BFH,000H,0FFH,0F8H,0D2H,0B6H,050H, - 001H,000H,0BAH>, - <00AH,0C2H,0C7H,023H,095H,0E0H,078H,041H, - 000H,002H,07CH>, - <001H,0BFH,007H,0C1H,0F9H,0D4H,0B5H,050H, - 000H,000H,0BBH>, - <0D1H,0C2H,005H,023H,0E7H,0E0H,065H,041H, - 001H,002H,09DH>, - <001H,0FEH,000H,038H,0E7H,0A9H,094H,082H, - 000H,002H,003H>, - <001H,0BFH,000H,0FFH,0E7H,0D8H,094H,050H, - 000H,000H,0BBH>, - <001H,0BFH,000H,0FFH,096H,0D8H,067H,050H, - 000H,000H,0BAH>, - <001H,0BFH,000H,0FFH,0B4H,0DAH,026H,050H, - 000H,000H,0BAH>, - <001H,0BFH,000H,0C1H,0B4H,0DBH,026H,050H, - 000H,000H,0BAH>, - <095H,013H,081H,000H,0E7H,095H,001H,065H, + <000H,000H,000H,000H,0FCH,0FAH,005H,017H, + 002H,000H,00EH>, + <042H,001H,000H,000H,074H,08FH,038H,037H, + 000H,000H,00CH>, + <006H,000H,000H,000H,0F0H,0F6H,0F1H,0B6H, 000H,000H,00EH>, - <095H,013H,081H,000H,0E7H,095H,001H,065H, + <000H,000H,00DH,000H,0E8H,0A5H,0EFH,0FFH, + 000H,000H,006H>, + <064H,003H,000H,093H,0B2H,098H,082H,0DAH, + 002H,001H,00EH>, + + <012H,011H,090H,080H,0F0H,0F0H,007H,005H, + 000H,000H,000H>, + <00CH,012H,000H,000H,0F6H,0FBH,008H,047H, + 000H,002H,00AH>, + <011H,031H,02DH,000H,0C8H,0F5H,02FH,0F5H, + 000H,000H,00CH>, + <064H,003H,000H,080H,0B2H,097H,082H,0D4H, + 002H,001H,00EH>, + <000H,000H,00DH,00BH,0E8H,0A5H,0EFH,0FFH, + 000H,000H,006H>, + <001H,020H,000H,000H,0C7H,0EAH,0D8H,0E9H, + 000H,000H,001H>, + <064H,003H,002H,000H,0B2H,096H,0A1H,0D4H, + 000H,001H,00EH>, + <004H,0C2H,000H,000H,0FEH,0F6H,0F0H,0B5H, + 000H,000H,00EH>, + + <064H,003H,000H,080H,0B2H,097H,082H,0D4H, + 002H,001H,00EH>, + <024H,005H,000H,080H,0B5H,0D5H,034H,085H, + 000H,001H,00EH>, + <007H,012H,04FH,000H,0FFH,0F2H,060H,072H, + 000H,000H,008H>, + <05FH,041H,006H,000H,077H,088H,07DH,0FDH, + 003H,002H,004H>, + <002H,005H,003H,04AH,0B4H,097H,004H,0F7H, + 000H,000H,00EH>, + <016H,014H,028H,000H,080H,0F0H,005H,005H, + 000H,000H,000H>, + <006H,000H,000H,040H,0F0H,0F6H,0F1H,0B4H, + 000H,000H,00EH>, + <044H,060H,053H,080H,0F5H,0FDH,033H,025H, + 000H,002H,006H>, + + <02EH,002H,00AH,05BH,0FFH,0F6H,004H,046H, + 000H,000H,00EH>, + <013H,014H,007H,080H,0FDH,090H,039H,007H, + 000H,000H,00EH>, + <012H,011H,04EH,000H,0F7H,0F0H,045H,006H, + 000H,000H,000H>, + <001H,002H,059H,000H,0FAH,0F8H,088H,0B6H, + 000H,000H,006H>, + <001H,000H,000H,040H,0F9H,0FAH,00AH,006H, + 003H,000H,00EH>, + <011H,031H,02DH,000H,0C8H,0F5H,02FH,0F5H, + 000H,000H,00CH>, + <0C3H,082H,05CH,000H,0F3H,0F4H,029H,006H, + 001H,003H,008H>, + <032H,011H,044H,000H,0F8H,0F5H,0FFH,07FH, + 000H,000H,00EH>, + + <013H,011H,091H,080H,0FFH,0FFH,021H,003H, + 000H,000H,00AH>, + <008H,002H,04DH,000H,0FFH,0FFH,006H,006H, + 000H,000H,00CH>, + <02EH,000H,040H,058H,0FFH,0F6H,00FH,01FH, 000H,000H,00EH>, - <010H,0BFH,000H,0C1H,096H,0DEH,067H,050H, - 000H,000H,0BAH>, - <011H,0BFH,000H,0FFH,096H,0DFH,067H,050H, - 000H,000H,0BAH>, - <000H,0BFH,00EH,0C1H,058H,0D0H,0DCH,050H, - 002H,000H,0BAH>, - <000H,0BFH,00EH,0FFH,05AH,0D2H,0D6H,050H, - 002H,000H,0BAH>, - <052H,0BFH,007H,0C1H,049H,0D3H,004H,050H, - 003H,000H,0BBH>, - <052H,0BFH,007H,0C1H,041H,0D4H,002H,050H, - 003H,000H,0BBH>, - <000H,0BFH,00EH,0FFH,05AH,0D5H,0D6H,050H, - 001H,000H,0BAH>, - <010H,0BFH,00EH,0C1H,053H,0D6H,09FH,050H, - 001H,000H,0BAH>, - <011H,0FEH,000H,038H,0F5H,0A9H,075H,080H, - 000H,002H,002H>, - <004H,0C2H,000H,023H,0F8H,0E0H,0B6H,041H, - 001H,002H,003H>, - <004H,0C2H,000H,023H,0F8H,0E0H,0B7H,041H, - 001H,002H,003H>, - <001H,0BFH,00BH,0C1H,05EH,0D8H,0DCH,050H, - 001H,000H,0BAH>, - <000H,0BFH,007H,0C1H,05CH,0DAH,0DCH,050H, - 001H,000H,0BAH>, - <0C5H,0D5H,04FH,000H,0F2H,0F4H,060H,07AH, + <02EH,000H,040H,018H,0FFH,086H,02FH,00FH, + 000H,000H,00EH>, + <0C4H,0C3H,00AH,000H,055H,065H,03AH,04AH, + 001H,000H,009H>, + <004H,043H,00AH,000H,0B0H,060H,0F9H,0A7H, + 000H,000H,00DH>, + <010H,0DBH,00EH,080H,054H,064H,04AH,04AH, + 001H,000H,00AH>, + <030H,0BFH,00EH,0C1H,052H,052H,01BH,09FH, + 001H,000H,00AH>, + + <006H,015H,03FH,000H,000H,0F7H,0F4H,0F5H, + 000H,000H,001H>, + <002H,006H,000H,002H,0E8H,097H,0FAH,0FAH, + 000H,000H,007H>, + <006H,012H,03FH,000H,000H,0F7H,0F4H,0F5H, + 003H,000H,000H>, + <014H,009H,000H,000H,066H,076H,0FFH,0FFH, + 000H,000H,004H>, + <016H,004H,000H,000H,066H,076H,0FFH,0FFH, + 000H,000H,004H>, + <0C5H,0D5H,04FH,000H,0F2H,0F4H,061H,07AH, 000H,000H,008H>, - <0C5H,0D5H,04FH,000H,0F2H,0F2H,060H,072H, + <0C5H,0D5H,04FH,000H,0F2H,0F2H,061H,072H, 000H,000H,008H> ResidentCode ends - - - - - - - - - - - - - - - diff --git a/Driver/Sound/BSD8ST/bsvoice.asm b/Driver/Sound/BSD8ST/bsvoice.asm index 8f343e050..33f1e881b 100644 --- a/Driver/Sound/BSD8ST/bsvoice.asm +++ b/Driver/Sound/BSD8ST/bsvoice.asm @@ -12,6 +12,7 @@ REVISION HISTORY: Name Datum Beschreibung ---- ----- ------------ DL 08.08.98 Init + RainerB 09/15/2024 InstrumentTable updated ROUTINEN: Name Description @@ -489,371 +490,379 @@ SBDVoiceSilence endp ; ; Go ahead. I dare you to debug this table! ; -- todd :) -InstrumentTable SBIEnvelopeFormat <001H,011H,04FH,000H,0F1H,0D2H,051H,043H, - 000H,000H,006H>, - <002H,012H,04FH,006H,0F1H,0D2H,051H,043H, - 000H,000H,002H>, - <000H,011H,04AH,004H,0F1H,0D2H,053H,074H, + ; Reworked by RainerB in 2024. + ; It sounds very much better now, but it's still just FM sounds. + ; +InstrumentTable SBIEnvelopeFormat <001H,011H,04FH,000H,0F1H,0D2H,051H,043H, 000H,000H,006H>, - <003H,011H,04FH,004H,0F1H,0D2H,053H,074H, - 001H,001H,006H>, + <031H,021H,04BH,000H,0F2H,0F2H,054H,056H, + 000H,000H,008H>, + <013H,011H,0C6H,000H,0F2H,0F1H,0F5H,0F5H, + 001H,000H,000H>, + <031H,031H,08EH,080H,0F1H,0F3H,0F9H,0F9H, + 000H,000H,00AH>, <001H,011H,066H,000H,0F1H,0D2H,051H,0C3H, 000H,000H,006H>, - <0C0H,0D2H,052H,005H,0F1H,0D2H,053H,094H, - 000H,000H,006H>, - <012H,018H,086H,000H,0F3H,0FCH,000H,033H, - 000H,000H,008H>, - <0D0H,012H,04EH,003H,0A8H,092H,032H,0A7H, - 003H,002H,000H>, - <0C8H,0D1H,04FH,008H,0F2H,0F3H,064H,077H, - 000H,000H,008H>, - <033H,034H,00EH,000H,001H,07DH,011H,034H, + <002H,002H,022H,000H,0F2H,0F5H,013H,043H, + 000H,000H,00EH>, + <021H,036H,080H,00EH,0A2H,0F1H,001H,0D5H, 000H,000H,008H>, - <017H,016H,050H,000H,0D1H,0D3H,052H,092H, - 000H,001H,004H>, - <0E7H,0E1H,021H,006H,0F5H,0F6H,077H,014H, + <001H,001H,092H,000H,0C2H,0C2H,0A8H,058H, + 000H,000H,00AH>, + + <00CH,081H,05CH,000H,0F6H,0F3H,054H,0B5H, + 000H,000H,000H>, + <017H,012H,05EH,008H,0F2H,0F2H,061H,074H, 000H,000H,008H>, + <017H,001H,021H,000H,056H,0F6H,004H,004H, + 000H,000H,002H>, + <093H,091H,097H,000H,0AAH,0ACH,012H,021H, + 002H,000H,00EH>, <095H,081H,04EH,000H,0DAH,0F9H,025H,015H, 000H,000H,00AH>, <027H,021H,01FH,003H,0F5H,0F5H,096H,057H, 000H,000H,008H>, - <087H,0F1H,04EH,080H,0B1H,0E6H,033H,042H, - 000H,000H,000H>, - <031H,011H,087H,080H,0A1H,07DH,011H,043H, - 000H,000H,008H>, - <032H,0B1H,08CH,003H,091H,0A1H,007H,019H, - 002H,000H,005H>, - <031H,0B4H,054H,083H,0F1H,0F5H,007H,019H, - 000H,000H,007H>, - <024H,021H,040H,053H,0FFH,0FFH,00FH,00FH, + <045H,081H,059H,080H,0D3H,0A3H,082H,0E3H, + 000H,000H,00CH>, + <003H,081H,049H,080H,074H,0B3H,055H,005H, + 001H,000H,004H>, + + <064H,021H,086H,080H,0FFH,0FFH,00FH,00FH, 000H,000H,001H>, + <072H,030H,014H,000H,0C7H,0C7H,058H,008H, + 000H,000H,002H>, + <070H,0B1H,044H,000H,0AAH,08AH,018H,008H, + 000H,000H,004H>, <0D2H,0F1H,044H,080H,091H,0A1H,057H,009H, 001H,001H,003H>, - <001H,002H,052H,088H,0F0H,0F0H,01FH,01FH, + <061H,0B1H,013H,080H,097H,055H,004H,004H, + 001H,000H,000H>, + <024H,031H,04FH,000H,0F2H,052H,00BH,00BH, + 000H,000H,00EH>, + <061H,021H,013H,000H,091H,061H,006H,007H, 001H,000H,00AH>, - <021H,032H,04FH,00BH,0F2H,052H,00BH,00BH, - 000H,001H,00AH>, - <0F0H,0F2H,093H,007H,0D8H,0B3H,00BH,00BH, - 002H,001H,00AH>, <020H,031H,05DH,007H,0F2H,052H,00BH,00BH, 003H,002H,000H>, - <001H,001H,01BH,004H,0F4H,0F3H,025H,046H, - 002H,000H,000H>, - <011H,001H,00FH,007H,0F4H,0F3H,025H,046H, - 001H,000H,000H>, - <001H,001H,027H,000H,0F1H,0F4H,01FH,088H, - 002H,000H,00AH>, - <012H,013H,044H,003H,0EAH,0D2H,032H,0E7H, - 001H,001H,000H>, - <030H,031H,045H,000H,0A4H,0F5H,032H,0E7H, - 003H,000H,000H>, + + <002H,041H,09CH,080H,0F3H,0F3H,094H,0C8H, + 001H,000H,00CH>, + <003H,011H,05EH,000H,0F5H,0F2H,071H,083H, + 001H,000H,00EH>, + <011H,011H,08DH,080H,0FFH,0FFH,001H,003H, + 000H,000H,000H>, + <021H,006H,040H,080H,0F1H,0F4H,031H,044H, + 000H,000H,000H>, + <001H,001H,01DH,000H,0F2H,0F5H,0EFH,078H, + 000H,000H,00AH>, <021H,021H,00FH,003H,0F5H,0F1H,017H,078H, 002H,001H,004H>, - <001H,020H,041H,007H,0D1H,0C1H,034H,0A5H, - 003H,003H,004H>, - <010H,012H,043H,002H,0A7H,0E3H,097H,0E7H, - 003H,002H,000H>, - <020H,021H,028H,001H,0C5H,0D2H,015H,0A4H, - 000H,000H,00CH>, - <030H,021H,016H,005H,0F2H,0F3H,09FH,078H, - 000H,000H,00CH>, - <030H,021H,011H,005H,082H,0F3H,09FH,078H, + <023H,021H,04AH,000H,095H,094H,019H,019H, + 001H,000H,008H>, + <001H,001H,011H,000H,0F2H,0F4H,013H,0F8H, 000H,000H,00AH>, - <021H,021H,023H,000H,073H,093H,01AH,087H, - 000H,000H,00CH>, - <030H,021H,00EH,009H,062H,0F3H,055H,068H, - 002H,000H,00AH>, + + <001H,000H,000H,000H,094H,083H,0B6H,026H, + 000H,000H,001H>, + <000H,001H,023H,000H,0C1H,0F3H,0EEH,0DEH, + 000H,000H,00AH>, + <050H,000H,000H,000H,0FBH,0F3H,071H,0B9H, + 000H,000H,000H>, + <030H,021H,01EH,000H,0F2H,0F5H,0EFH,078H, + 000H,000H,00EH>, + <000H,010H,040H,000H,095H,0FFH,088H,003H, + 001H,000H,006H>, <030H,022H,00CH,000H,062H,0D5H,0B5H,098H, 001H,000H,008H>, - <070H,072H,093H,043H,064H,0A1H,043H,043H, + <031H,031H,08BH,000H,0F4H,0F1H,0E8H,078H, 000H,000H,00AH>, - <030H,032H,08DH,085H,044H,092H,043H,043H, - 002H,000H,00AH>, - <0E1H,0E2H,04EH,000H,065H,061H,043H,044H, - 002H,002H,000H>, - <0A1H,0A2H,08EH,005H,065H,063H,043H,045H, - 002H,002H,000H>, - <0B0H,061H,087H,040H,0D1H,062H,011H,015H, - 002H,001H,006H>, + <000H,010H,04FH,000H,0D5H,083H,021H,001H, + 000H,000H,00AH>, + + <021H,021H,013H,000H,091H,061H,007H,008H, + 001H,000H,00AH>, + <031H,021H,016H,000H,0DDH,066H,013H,006H, + 001H,000H,008H>, + <0B0H,0B1H,0C5H,080H,052H,031H,011H,0FEH, + 001H,001H,000H>, <0F0H,020H,08AH,080H,0B1H,0A0H,011H,015H, 002H,001H,006H>, - <0F1H,0E2H,089H,043H,073H,043H,001H,005H, - 002H,000H,006H>, - <031H,021H,057H,080H,0F8H,0F7H,0F9H,0E6H, - 003H,002H,00EH>, - <032H,001H,024H,082H,0F1H,0F5H,035H,035H, + <0F1H,0E1H,040H,000H,0F1H,06FH,021H,016H, + 001H,000H,002H>, + <001H,011H,04FH,000H,0F2H,0F5H,053H,074H, + 000H,000H,006H>, + <032H,001H,024H,082H,0F1H,0F5H,034H,034H, 000H,000H,000H>, - <000H,000H,004H,000H,0AAH,0D2H,0C8H,0B3H, - 000H,000H,00AH>, + <010H,011H,041H,000H,0F5H,0F2H,005H,0C3H, + 001H,000H,002H>, + <0E0H,0F1H,04FH,003H,0D4H,055H,00BH,00BH, 002H,002H,00AH>, - <0E0H,0F0H,052H,000H,096H,035H,005H,001H, - 002H,002H,00AH>, - <0E1H,0F1H,04FH,000H,036H,045H,005H,002H, - 002H,002H,00AH>, - <0E2H,0E1H,048H,081H,021H,041H,043H,045H, - 002H,001H,000H>, - <0E0H,0F1H,016H,000H,041H,020H,052H,072H, - 002H,002H,000H>, - <0E0H,0F1H,011H,000H,001H,0D0H,052H,072H, - 002H,002H,000H>, - <0E0H,0F1H,01AH,000H,061H,030H,052H,073H, - 000H,002H,000H>, - <050H,050H,00BH,007H,084H,0A4H,04BH,099H, + <0B1H,061H,08BH,040H,071H,042H,011H,015H, + 000H,001H,006H>, + <0A1H,061H,093H,000H,0C1H,04FH,012H,005H, 000H,000H,00AH>, - <031H,061H,01CH,084H,041H,092H,00BH,03BH, - 000H,000H,00EH>, - <0B1H,061H,01CH,005H,041H,092H,01FH,03BH, - 000H,000H,00EH>, - <020H,021H,018H,000H,052H,0A2H,015H,024H, + <021H,061H,018H,000H,0C1H,04FH,022H,005H, 000H,000H,00CH>, - <0C1H,0C1H,094H,084H,074H,0A3H,0EAH,0F5H, - 002H,001H,00EH>, - <021H,021H,028H,000H,041H,081H,0B4H,098H, + <031H,072H,05BH,083H,0F4H,08AH,015H,005H, + 000H,000H,000H>, + <0A1H,061H,090H,000H,074H,071H,039H,067H, + 000H,000H,000H>, + <071H,072H,057H,000H,054H,07AH,005H,005H, + 000H,000H,00CH>, + <000H,000H,00FH,000H,091H,052H,005H,006H, + 000H,002H,000H>, + + <021H,021H,092H,001H,085H,08FH,017H,009H, + 000H,000H,00CH>, + <0B1H,061H,01CH,080H,041H,092H,01FH,03BH, 000H,000H,00EH>, + <021H,021H,018H,001H,053H,052H,01FH,03FH, + 000H,000H,00CH>, + <031H,021H,043H,000H,09EH,062H,017H,02CH, + 001H,001H,002H>, + <021H,021H,09BH,000H,061H,07FH,06AH,00AH, + 000H,000H,002H>, + <061H,022H,08AH,006H,075H,074H,01FH,00FH, + 000H,000H,008H>, <021H,021H,01DH,001H,051H,0E1H,0AEH,03EH, 002H,001H,00EH>, - <0E0H,0E0H,093H,082H,051H,081H,0A6H,097H, - 002H,001H,00EH>, - <0E0H,0E1H,093H,083H,051H,0E1H,0A6H,097H, - 002H,001H,00EH>, + <021H,021H,04DH,000H,054H,0A6H,03CH,01CH, + 000H,000H,008H>, + <0E0H,0F2H,04BH,00BH,0D8H,0B3H,00BH,00BH, 002H,001H,008H>, - <0E0H,0F1H,049H,00BH,0B8H,0B3H,00BH,00BH, - 002H,001H,008H>, - <0E0H,0F0H,04EH,00BH,098H,0C3H,00BH,00BH, - 001H,002H,008H>, + <031H,061H,08EH,000H,093H,072H,003H,009H, + 001H,000H,008H>, + <031H,061H,091H,000H,093H,082H,003H,009H, + 001H,000H,00AH>, <0E0H,0F1H,04CH,00BH,088H,0D3H,00BH,00BH, 001H,001H,008H>, - <0F1H,0E4H,0C5H,008H,07EH,08CH,017H,00EH, - 000H,000H,008H>, - <060H,072H,04FH,00AH,0D8H,0B3H,00BH,00BH, - 000H,001H,00AH>, - <031H,072H,0D1H,080H,0D5H,091H,019H,01BH, - 000H,000H,00CH>, - <032H,071H,0C8H,080H,0D5H,073H,019H,01BH, + <021H,021H,04BH,000H,0AAH,08FH,016H,00AH, + 001H,000H,008H>, + <031H,021H,090H,000H,07EH,08BH,017H,00CH, + 001H,001H,006H>, + <030H,071H,0C8H,080H,0D5H,061H,019H,01BH, 000H,000H,00CH>, - <0E2H,062H,06AH,000H,09EH,055H,08FH,02AH, - 000H,000H,00EH>, - <0E0H,061H,0ECH,000H,07EH,065H,08FH,02AH, - 000H,000H,00EH>, - <062H,0A2H,088H,08DH,084H,075H,027H,017H, - 000H,000H,009H>, - <062H,0A2H,084H,08DH,084H,075H,027H,017H, - 000H,000H,009H>, - <0E3H,062H,06DH,000H,057H,057H,004H,077H, + <032H,021H,090H,000H,09BH,072H,021H,017H, + 000H,000H,004H>, + + <021H,0A2H,083H,08DH,074H,065H,017H,017H, + 000H,000H,007H>, + <020H,022H,05BH,080H,000H,050H,016H,015H, + 000H,000H,00AH>, + <0E0H,061H,0ECH,000H,06EH,065H,08FH,02AH, 000H,000H,00EH>, + <020H,021H,01BH,000H,000H,050H,016H,015H, + 000H,000H,00AH>, + <062H,0A1H,0CBH,000H,076H,055H,046H,036H, + 000H,000H,000H>, <0F1H,0E1H,028H,000H,057H,067H,034H,05DH, 003H,000H,00EH>, - <0D1H,072H,0C7H,003H,031H,042H,00FH,009H, - 000H,000H,00BH>, - <0F2H,072H,0C7H,005H,051H,042H,005H,069H, + <062H,0A1H,093H,000H,077H,076H,007H,007H, 000H,000H,00BH>, + <0E0H,061H,0ECH,000H,06EH,065H,08FH,02AH, + 000H,000H,00EH>, + <023H,031H,04FH,006H,051H,060H,05BH,025H, 001H,001H,000H>, - <022H,031H,048H,006H,031H,0C0H,09BH,065H, - 002H,001H,000H>, + <021H,021H,00EH,000H,0FFH,0FFH,00FH,00FH, + 001H,001H,000H>, <0F1H,0E1H,028H,004H,057H,067H,034H,00DH, 003H,000H,00EH>, - <0E1H,0E1H,023H,000H,057H,067H,004H,04DH, - 003H,000H,00EH>, + <060H,060H,003H,000H,0F6H,076H,04FH,00FH, + 000H,000H,002H>, <0E2H,031H,042H,012H,078H,0F3H,00BH,00BH, 001H,001H,008H>, - <0E2H,0E2H,021H,007H,011H,040H,052H,073H, - 001H,001H,008H>, - <023H,0A4H,0C0H,000H,051H,035H,007H,079H, - 001H,002H,00DH>, - <024H,0A0H,0C0H,001H,051H,075H,007H,009H, - 001H,002H,009H>, - <0E0H,0F0H,016H,003H,0B1H,0E0H,051H,075H, - 002H,002H,000H>, - <003H,0A4H,0C0H,004H,052H,0F4H,003H,055H, - 000H,000H,009H>, - <0E1H,0E1H,093H,081H,031H,0A1H,0A6H,097H, - 001H,001H,00AH>, - <0F0H,071H,0C4H,087H,010H,011H,001H,0C1H, - 002H,002H,001H>, - <0C1H,0E0H,04FH,000H,0B1H,012H,053H,074H, - 002H,002H,006H>, - <0C0H,041H,06DH,007H,0F9H,0F2H,021H,0B3H, - 001H,000H,00EH>, - <0E3H,0E2H,04CH,007H,021H,0A1H,043H,045H, - 001H,001H,000H>, - <0E3H,0E2H,00CH,009H,011H,080H,052H,073H, - 001H,001H,008H>, - <026H,088H,0C0H,000H,055H,0F8H,047H,019H, - 000H,000H,00BH>, - <023H,0E4H,0D4H,000H,0E5H,035H,003H,065H, - 000H,000H,007H>, + <0A2H,061H,09EH,040H,0DFH,06FH,005H,007H, + 000H,000H,002H>, + <020H,060H,01AH,000H,0EFH,08FH,001H,006H, + 000H,002H,000H>, + <021H,021H,08FH,080H,0F1H,0F4H,029H,009H, + 000H,000H,00AH>, + + <031H,0A1H,01CH,080H,041H,092H,00BH,03BH, + 000H,000H,00CH>, + <061H,0B1H,01FH,080H,0A8H,025H,011H,003H, + 000H,000H,00AH>, + <061H,061H,017H,000H,091H,055H,034H,016H, + 000H,000H,00CH>, + <071H,072H,05DH,000H,054H,06AH,001H,003H, + 000H,000H,000H>, + <021H,0A2H,097H,000H,021H,042H,043H,035H, + 000H,000H,008H>, + <005H,046H,040H,080H,0B3H,0F2H,0D3H,024H, + 000H,000H,002H>, + <000H,011H,00DH,080H,0F1H,050H,0FFH,0FFH, + 000H,000H,006H>, + <0F0H,0F1H,046H,080H,022H,031H,011H,02EH, + 001H,000H,00CH>, + + <011H,001H,08AH,04BH,0F1H,0F1H,011H,0B3H, + 000H,000H,006H>, + <0F1H,0F1H,041H,041H,011H,011H,011H,011H, + 000H,000H,002H>, <027H,032H,0C0H,007H,032H,0A4H,062H,033H, 000H,000H,000H>, - <0D0H,031H,04EH,003H,098H,0A2H,032H,047H, - 001H,002H,000H>, - <0F0H,071H,0C0H,004H,093H,043H,003H,002H, - 001H,000H,00FH>, + <074H,035H,018H,080H,058H,026H,000H,001H, + 000H,000H,006H>, + <041H,042H,04DH,000H,0F1H,0F2H,051H,0F5H, + 001H,000H,000H>, <0E0H,0F1H,01AH,082H,013H,033H,052H,013H, 001H,002H,000H>, <0E0H,0F1H,01AH,004H,045H,032H,0BAH,091H, 000H,002H,000H>, - <011H,015H,018H,00DH,058H,0A2H,002H,072H, - 001H,000H,00AH>, + <07EH,031H,000H,000H,0F1H,0F1H,001H,004H, + 000H,000H,004H>, + <010H,018H,080H,045H,0F1H,0F1H,053H,053H, 000H,000H,000H>, - <031H,017H,086H,080H,0A1H,07DH,011H,023H, - 000H,000H,008H>, - <010H,018H,080H,040H,0F1H,0F6H,053H,054H, - 000H,000H,000H>, + <011H,013H,00CH,080H,0A3H,0A2H,011H,0E5H, + 001H,000H,000H>, <031H,034H,021H,002H,0F5H,093H,056H,0E8H, 001H,000H,008H>, - <003H,015H,04FH,003H,0F1H,0D6H,039H,074H, - 003H,000H,006H>, - <031H,022H,043H,006H,06EH,08BH,017H,00CH, - 001H,002H,002H>, + <001H,008H,011H,000H,0F2H,0F5H,01FH,088H, + 000H,000H,008H>, + <004H,001H,04FH,000H,0FAH,0C2H,056H,005H, + 000H,000H,00CH>, + <021H,022H,049H,000H,07CH,06FH,020H,00CH, + 000H,001H,006H>, <031H,022H,01CH,089H,061H,052H,003H,067H, 000H,000H,00EH>, - <060H,0F0H,00CH,089H,081H,061H,003H,00CH, - 000H,001H,008H>, - <027H,005H,055H,005H,031H,0A7H,062H,075H, - 000H,000H,000H>, - <095H,016H,081H,000H,0E7H,096H,001H,067H, - 000H,000H,004H>, - <00CH,001H,087H,080H,0F0H,0F2H,005H,005H, - 001H,001H,004H>, - <035H,011H,044H,000H,0F8H,0F5H,0FFH,075H, - 000H,000H,00EH>, - <010H,010H,00BH,008H,0A7H,0D5H,0ECH,0F5H, - 000H,000H,000H>, - <020H,001H,00BH,007H,0A8H,0D6H,0C8H,0B7H, + <020H,021H,004H,081H,0DAH,08FH,005H,00BH, + 002H,000H,006H>, + + <007H,008H,048H,080H,0F1H,0FCH,072H,004H, 000H,000H,000H>, - <000H,001H,00BH,000H,088H,0D5H,0C4H,0B7H, + <007H,002H,015H,000H,0ECH,0F8H,026H,016H, + 000H,000H,00AH>, + <005H,001H,09DH,000H,067H,0DFH,035H,005H, + 000H,000H,008H>, + <002H,002H,000H,000H,0C8H,0C8H,097H,097H, + 000H,000H,001H>, + <000H,000H,00DH,000H,0E8H,0A5H,0EFH,0FFH, + 000H,000H,006H>, + <011H,010H,041H,003H,0F8H,0F3H,047H,003H, + 002H,000H,004H>, + <000H,000H,00BH,000H,0A9H,0D6H,044H,044H, 000H,000H,000H>, - <00CH,010H,08FH,080H,041H,033H,031H,02BH, - 000H,003H,008H>, - <017H,0F7H,000H,000H,03BH,0EAH,0DFH,097H, - 003H,000H,00BH>, - <012H,018H,006H,009H,073H,03CH,002H,074H, - 000H,000H,00EH>, + <00EH,0C0H,000H,000H,01FH,01FH,000H,0FFH, + 000H,003H,00EH>, + + <012H,011H,000H,000H,0A5H,07BH,007H,006H, + 000H,002H,008H>, + <00EH,0D0H,000H,005H,0F8H,034H,000H,004H, + 000H,003H,00EH>, <002H,008H,000H,002H,03EH,014H,001H,0F3H, 002H,002H,00EH>, - <0F5H,0F6H,0D4H,000H,0EBH,045H,003H,068H, - 000H,000H,007H>, - <0F0H,0CAH,000H,0C0H,0DAH,0B0H,071H,017H, - 001H,001H,008H>, - <0F0H,0E2H,000H,0C0H,01EH,011H,011H,011H, - 001H,001H,008H>, + <0D5H,0DAH,095H,040H,037H,056H,0A3H,037H, + 000H,000H,000H>, + <0B0H,0B5H,035H,08EH,0FBH,0A0H,0F0H,09BH, + 000H,000H,00EH>, + <0B0H,0A0H,000H,0C0H,0FEH,0F1H,011H,019H, + 001H,000H,008H>, <0E7H,0E8H,000H,00EH,034H,010H,000H,0B2H, 002H,002H,00EH>, - <00CH,004H,000H,000H,0F0H,0F6H,0F0H,0E6H, - 002H,000H,00EH>, + <006H,000H,000H,00BH,0F4H,0F6H,0A0H,046H, + 000H,000H,00EH>, + <000H,000H,00BH,000H,0A8H,0D6H,04CH,045H, 000H,000H,000H>, <000H,000H,00BH,000H,0AAH,0D2H,0C8H,0B7H, 000H,000H,000H>, <026H,000H,000H,000H,0F0H,0FAH,0F0H,0B7H, 003H,003H,00EH>, - <010H,0C2H,007H,023H,0F7H,0E0H,0F5H,041H, - 002H,002H,082H>, - <0F2H,0F1H,00AH,038H,088H,0ADH,0F4H,088H, - 002H,002H,002H>, - <0D0H,0C2H,081H,023H,0A6H,0E0H,0F6H,041H, - 002H,002H,081H>, - <040H,0C2H,000H,023H,0F5H,0E0H,038H,041H, - 000H,002H,005H>, - <001H,0C2H,003H,023H,0B8H,0E0H,0B5H,041H, - 001H,002H,07DH>, - <040H,0C2H,000H,023H,0F5H,0E0H,038H,041H, - 000H,002H,0F1H>, - <001H,0B3H,008H,0C1H,088H,018H,0A5H,050H, - 001H,000H,0A3H>, - <000H,0C2H,000H,023H,0C6H,0E0H,098H,041H, - 000H,002H,083H>, - <001H,0B3H,009H,0C1H,086H,018H,0A5H,050H, - 001H,000H,0A3H>, - <000H,0C2H,000H,023H,0C6H,0E0H,098H,041H, - 000H,002H,003H>, - <000H,0C2H,000H,023H,0C6H,0E0H,098H,041H, - 000H,002H,005H>, - <004H,0C2H,00CH,023H,0C5H,0E0H,0F6H,041H, - 000H,002H,005H>, - <001H,0C2H,000H,023H,0C6H,0E0H,098H,041H, - 000H,002H,005H>, - <001H,0C2H,082H,023H,0F6H,0E0H,0D5H,041H, - 001H,002H,083H>, - <003H,0BFH,009H,0FFH,0E3H,0D0H,097H,050H, - 000H,000H,0BBH>, - <00EH,0BFH,007H,0FFH,0B5H,0D1H,015H,050H, - 001H,000H,0BBH>, - <001H,0BFH,007H,0C1H,077H,0D1H,073H,050H, - 001H,000H,0BBH>, - <00EH,0F1H,0C7H,038H,095H,0ADH,078H,08EH, - 000H,002H,002H>, - <001H,0BFH,000H,0FFH,0F8H,0D2H,0B6H,050H, - 001H,000H,0BAH>, - <00AH,0C2H,0C7H,023H,095H,0E0H,078H,041H, - 000H,002H,07CH>, - <001H,0BFH,007H,0C1H,0F9H,0D4H,0B5H,050H, - 000H,000H,0BBH>, - <0D1H,0C2H,005H,023H,0E7H,0E0H,065H,041H, - 001H,002H,09DH>, - <001H,0FEH,000H,038H,0E7H,0A9H,094H,082H, - 000H,002H,003H>, - <001H,0BFH,000H,0FFH,0E7H,0D8H,094H,050H, - 000H,000H,0BBH>, - <001H,0BFH,000H,0FFH,096H,0D8H,067H,050H, - 000H,000H,0BAH>, - <001H,0BFH,000H,0FFH,0B4H,0DAH,026H,050H, - 000H,000H,0BAH>, - <001H,0BFH,000H,0C1H,0B4H,0DBH,026H,050H, - 000H,000H,0BAH>, - <095H,013H,081H,000H,0E7H,095H,001H,065H, + <000H,000H,000H,000H,0FCH,0FAH,005H,017H, + 002H,000H,00EH>, + <042H,001H,000H,000H,074H,08FH,038H,037H, + 000H,000H,00CH>, + <006H,000H,000H,000H,0F0H,0F6H,0F1H,0B6H, + 000H,000H,00EH>, + <000H,000H,00DH,000H,0E8H,0A5H,0EFH,0FFH, + 000H,000H,006H>, + <064H,003H,000H,093H,0B2H,098H,082H,0DAH, + 002H,001H,00EH>, + + <012H,011H,090H,080H,0F0H,0F0H,007H,005H, + 000H,000H,000H>, + <00CH,012H,000H,000H,0F6H,0FBH,008H,047H, + 000H,002H,00AH>, + <011H,031H,02DH,000H,0C8H,0F5H,02FH,0F5H, + 000H,000H,00CH>, + <064H,003H,000H,080H,0B2H,097H,082H,0D4H, + 002H,001H,00EH>, + <000H,000H,00DH,00BH,0E8H,0A5H,0EFH,0FFH, + 000H,000H,006H>, + <001H,020H,000H,000H,0C7H,0EAH,0D8H,0E9H, + 000H,000H,001H>, + <064H,003H,002H,000H,0B2H,096H,0A1H,0D4H, + 000H,001H,00EH>, + <004H,0C2H,000H,000H,0FEH,0F6H,0F0H,0B5H, + 000H,000H,00EH>, + + <064H,003H,000H,080H,0B2H,097H,082H,0D4H, + 002H,001H,00EH>, + <024H,005H,000H,080H,0B5H,0D5H,034H,085H, + 000H,001H,00EH>, + <007H,012H,04FH,000H,0FFH,0F2H,060H,072H, + 000H,000H,008H>, + <05FH,041H,006H,000H,077H,088H,07DH,0FDH, + 003H,002H,004H>, + <002H,005H,003H,04AH,0B4H,097H,004H,0F7H, + 000H,000H,00EH>, + <016H,014H,028H,000H,080H,0F0H,005H,005H, + 000H,000H,000H>, + <006H,000H,000H,040H,0F0H,0F6H,0F1H,0B4H, + 000H,000H,00EH>, + <044H,060H,053H,080H,0F5H,0FDH,033H,025H, + 000H,002H,006H>, + + <02EH,002H,00AH,05BH,0FFH,0F6H,004H,046H, + 000H,000H,00EH>, + <013H,014H,007H,080H,0FDH,090H,039H,007H, + 000H,000H,00EH>, + <012H,011H,04EH,000H,0F7H,0F0H,045H,006H, + 000H,000H,000H>, + <001H,002H,059H,000H,0FAH,0F8H,088H,0B6H, + 000H,000H,006H>, + <001H,000H,000H,040H,0F9H,0FAH,00AH,006H, + 003H,000H,00EH>, + <011H,031H,02DH,000H,0C8H,0F5H,02FH,0F5H, + 000H,000H,00CH>, + <0C3H,082H,05CH,000H,0F3H,0F4H,029H,006H, + 001H,003H,008H>, + <032H,011H,044H,000H,0F8H,0F5H,0FFH,07FH, + 000H,000H,00EH>, + + <013H,011H,091H,080H,0FFH,0FFH,021H,003H, + 000H,000H,00AH>, + <008H,002H,04DH,000H,0FFH,0FFH,006H,006H, + 000H,000H,00CH>, + <02EH,000H,040H,058H,0FFH,0F6H,00FH,01FH, 000H,000H,00EH>, - <095H,013H,081H,000H,0E7H,095H,001H,065H, + <02EH,000H,040H,018H,0FFH,086H,02FH,00FH, 000H,000H,00EH>, - <010H,0BFH,000H,0C1H,096H,0DEH,067H,050H, - 000H,000H,0BAH>, - <011H,0BFH,000H,0FFH,096H,0DFH,067H,050H, - 000H,000H,0BAH>, - <000H,0BFH,00EH,0C1H,058H,0D0H,0DCH,050H, - 002H,000H,0BAH>, - <000H,0BFH,00EH,0FFH,05AH,0D2H,0D6H,050H, - 002H,000H,0BAH>, - <052H,0BFH,007H,0C1H,049H,0D3H,004H,050H, - 003H,000H,0BBH>, - <052H,0BFH,007H,0C1H,041H,0D4H,002H,050H, - 003H,000H,0BBH>, - <000H,0BFH,00EH,0FFH,05AH,0D5H,0D6H,050H, - 001H,000H,0BAH>, - <010H,0BFH,00EH,0C1H,053H,0D6H,09FH,050H, - 001H,000H,0BAH>, - <011H,0FEH,000H,038H,0F5H,0A9H,075H,080H, - 000H,002H,002H>, - <004H,0C2H,000H,023H,0F8H,0E0H,0B6H,041H, - 001H,002H,003H>, - <004H,0C2H,000H,023H,0F8H,0E0H,0B7H,041H, - 001H,002H,003H>, - <001H,0BFH,00BH,0C1H,05EH,0D8H,0DCH,050H, - 001H,000H,0BAH>, - <000H,0BFH,007H,0C1H,05CH,0DAH,0DCH,050H, - 001H,000H,0BAH>, - <0C5H,0D5H,04FH,000H,0F2H,0F4H,060H,07AH, + <0C4H,0C3H,00AH,000H,055H,065H,03AH,04AH, + 001H,000H,009H>, + <004H,043H,00AH,000H,0B0H,060H,0F9H,0A7H, + 000H,000H,00DH>, + <010H,0DBH,00EH,080H,054H,064H,04AH,04AH, + 001H,000H,00AH>, + <030H,0BFH,00EH,0C1H,052H,052H,01BH,09FH, + 001H,000H,00AH>, + + <006H,015H,03FH,000H,000H,0F7H,0F4H,0F5H, + 000H,000H,001H>, + <002H,006H,000H,002H,0E8H,097H,0FAH,0FAH, + 000H,000H,007H>, + <006H,012H,03FH,000H,000H,0F7H,0F4H,0F5H, + 003H,000H,000H>, + <014H,009H,000H,000H,066H,076H,0FFH,0FFH, + 000H,000H,004H>, + <016H,004H,000H,000H,066H,076H,0FFH,0FFH, + 000H,000H,004H>, + <0C5H,0D5H,04FH,000H,0F2H,0F4H,061H,07AH, 000H,000H,008H>, - <0C5H,0D5H,04FH,000H,0F2H,0F2H,060H,072H, + <0C5H,0D5H,04FH,000H,0F2H,0F2H,061H,072H, 000H,000H,008H> ResidentCode ends - - - - - - - - - - - - - - - - diff --git a/Driver/Sound/SoundBlaster/soundblasterVoice.asm b/Driver/Sound/SoundBlaster/soundblasterVoice.asm index 52823ce2a..41e2863f5 100644 --- a/Driver/Sound/SoundBlaster/soundblasterVoice.asm +++ b/Driver/Sound/SoundBlaster/soundblasterVoice.asm @@ -16,7 +16,7 @@ REVISION HISTORY: Name Date Description ---- ---- ----------- TS 8/ 7/92 Initial revision - + RainerB 09/15/2024 InstrumentTable updated DESCRIPTION: @@ -491,371 +491,380 @@ SBDVoiceSilence endp ; ; Go ahead. I dare you to debug this table! ; -- todd :) -InstrumentTable SBIEnvelopeFormat <001H,011H,04FH,000H,0F1H,0D2H,051H,043H, - 000H,000H,006H>, - <002H,012H,04FH,006H,0F1H,0D2H,051H,043H, - 000H,000H,002H>, - <000H,011H,04AH,004H,0F1H,0D2H,053H,074H, + ; Reworked by RainerB in 2024. + ; It sounds very much better now, but it's still just FM sounds. + ; +InstrumentTable SBIEnvelopeFormat <001H,011H,04FH,000H,0F1H,0D2H,051H,043H, 000H,000H,006H>, - <003H,011H,04FH,004H,0F1H,0D2H,053H,074H, - 001H,001H,006H>, + <031H,021H,04BH,000H,0F2H,0F2H,054H,056H, + 000H,000H,008H>, + <013H,011H,0C6H,000H,0F2H,0F1H,0F5H,0F5H, + 001H,000H,000H>, + <031H,031H,08EH,080H,0F1H,0F3H,0F9H,0F9H, + 000H,000H,00AH>, <001H,011H,066H,000H,0F1H,0D2H,051H,0C3H, 000H,000H,006H>, - <0C0H,0D2H,052H,005H,0F1H,0D2H,053H,094H, - 000H,000H,006H>, - <012H,018H,086H,000H,0F3H,0FCH,000H,033H, - 000H,000H,008H>, - <0D0H,012H,04EH,003H,0A8H,092H,032H,0A7H, - 003H,002H,000H>, - <0C8H,0D1H,04FH,008H,0F2H,0F3H,064H,077H, - 000H,000H,008H>, - <033H,034H,00EH,000H,001H,07DH,011H,034H, + <002H,002H,022H,000H,0F2H,0F5H,013H,043H, + 000H,000H,00EH>, + <021H,036H,080H,00EH,0A2H,0F1H,001H,0D5H, 000H,000H,008H>, - <017H,016H,050H,000H,0D1H,0D3H,052H,092H, - 000H,001H,004H>, - <0E7H,0E1H,021H,006H,0F5H,0F6H,077H,014H, + <001H,001H,092H,000H,0C2H,0C2H,0A8H,058H, + 000H,000H,00AH>, + + <00CH,081H,05CH,000H,0F6H,0F3H,054H,0B5H, + 000H,000H,000H>, + <017H,012H,05EH,008H,0F2H,0F2H,061H,074H, 000H,000H,008H>, + <017H,001H,021H,000H,056H,0F6H,004H,004H, + 000H,000H,002H>, + <093H,091H,097H,000H,0AAH,0ACH,012H,021H, + 002H,000H,00EH>, <095H,081H,04EH,000H,0DAH,0F9H,025H,015H, 000H,000H,00AH>, <027H,021H,01FH,003H,0F5H,0F5H,096H,057H, 000H,000H,008H>, - <087H,0F1H,04EH,080H,0B1H,0E6H,033H,042H, - 000H,000H,000H>, - <031H,011H,087H,080H,0A1H,07DH,011H,043H, - 000H,000H,008H>, - <032H,0B1H,08CH,003H,091H,0A1H,007H,019H, - 002H,000H,005H>, - <031H,0B4H,054H,083H,0F1H,0F5H,007H,019H, - 000H,000H,007H>, - <024H,021H,040H,053H,0FFH,0FFH,00FH,00FH, + <045H,081H,059H,080H,0D3H,0A3H,082H,0E3H, + 000H,000H,00CH>, + <003H,081H,049H,080H,074H,0B3H,055H,005H, + 001H,000H,004H>, + + <064H,021H,086H,080H,0FFH,0FFH,00FH,00FH, 000H,000H,001H>, + <072H,030H,014H,000H,0C7H,0C7H,058H,008H, + 000H,000H,002H>, + <070H,0B1H,044H,000H,0AAH,08AH,018H,008H, + 000H,000H,004H>, <0D2H,0F1H,044H,080H,091H,0A1H,057H,009H, 001H,001H,003H>, - <001H,002H,052H,088H,0F0H,0F0H,01FH,01FH, + <061H,0B1H,013H,080H,097H,055H,004H,004H, + 001H,000H,000H>, + <024H,031H,04FH,000H,0F2H,052H,00BH,00BH, + 000H,000H,00EH>, + <061H,021H,013H,000H,091H,061H,006H,007H, 001H,000H,00AH>, - <021H,032H,04FH,00BH,0F2H,052H,00BH,00BH, - 000H,001H,00AH>, - <0F0H,0F2H,093H,007H,0D8H,0B3H,00BH,00BH, - 002H,001H,00AH>, <020H,031H,05DH,007H,0F2H,052H,00BH,00BH, 003H,002H,000H>, - <001H,001H,01BH,004H,0F4H,0F3H,025H,046H, - 002H,000H,000H>, - <011H,001H,00FH,007H,0F4H,0F3H,025H,046H, - 001H,000H,000H>, - <001H,001H,027H,000H,0F1H,0F4H,01FH,088H, - 002H,000H,00AH>, - <012H,013H,044H,003H,0EAH,0D2H,032H,0E7H, - 001H,001H,000H>, - <030H,031H,045H,000H,0A4H,0F5H,032H,0E7H, - 003H,000H,000H>, + + <002H,041H,09CH,080H,0F3H,0F3H,094H,0C8H, + 001H,000H,00CH>, + <003H,011H,05EH,000H,0F5H,0F2H,071H,083H, + 001H,000H,00EH>, + <011H,011H,08DH,080H,0FFH,0FFH,001H,003H, + 000H,000H,000H>, + <021H,006H,040H,080H,0F1H,0F4H,031H,044H, + 000H,000H,000H>, + <001H,001H,01DH,000H,0F2H,0F5H,0EFH,078H, + 000H,000H,00AH>, <021H,021H,00FH,003H,0F5H,0F1H,017H,078H, 002H,001H,004H>, - <001H,020H,041H,007H,0D1H,0C1H,034H,0A5H, - 003H,003H,004H>, - <010H,012H,043H,002H,0A7H,0E3H,097H,0E7H, - 003H,002H,000H>, - <020H,021H,028H,001H,0C5H,0D2H,015H,0A4H, - 000H,000H,00CH>, - <030H,021H,016H,005H,0F2H,0F3H,09FH,078H, - 000H,000H,00CH>, - <030H,021H,011H,005H,082H,0F3H,09FH,078H, + <023H,021H,04AH,000H,095H,094H,019H,019H, + 001H,000H,008H>, + <001H,001H,011H,000H,0F2H,0F4H,013H,0F8H, 000H,000H,00AH>, - <021H,021H,023H,000H,073H,093H,01AH,087H, - 000H,000H,00CH>, - <030H,021H,00EH,009H,062H,0F3H,055H,068H, - 002H,000H,00AH>, + + <001H,000H,000H,000H,094H,083H,0B6H,026H, + 000H,000H,001H>, + <000H,001H,023H,000H,0C1H,0F3H,0EEH,0DEH, + 000H,000H,00AH>, + <050H,000H,000H,000H,0FBH,0F3H,071H,0B9H, + 000H,000H,000H>, + <030H,021H,01EH,000H,0F2H,0F5H,0EFH,078H, + 000H,000H,00EH>, + <000H,010H,040H,000H,095H,0FFH,088H,003H, + 001H,000H,006H>, <030H,022H,00CH,000H,062H,0D5H,0B5H,098H, 001H,000H,008H>, - <070H,072H,093H,043H,064H,0A1H,043H,043H, + <031H,031H,08BH,000H,0F4H,0F1H,0E8H,078H, 000H,000H,00AH>, - <030H,032H,08DH,085H,044H,092H,043H,043H, - 002H,000H,00AH>, - <0E1H,0E2H,04EH,000H,065H,061H,043H,044H, - 002H,002H,000H>, - <0A1H,0A2H,08EH,005H,065H,063H,043H,045H, - 002H,002H,000H>, - <0B0H,061H,087H,040H,0D1H,062H,011H,015H, - 002H,001H,006H>, + <000H,010H,04FH,000H,0D5H,083H,021H,001H, + 000H,000H,00AH>, + + <021H,021H,013H,000H,091H,061H,007H,008H, + 001H,000H,00AH>, + <031H,021H,016H,000H,0DDH,066H,013H,006H, + 001H,000H,008H>, + <0B0H,0B1H,0C5H,080H,052H,031H,011H,0FEH, + 001H,001H,000H>, <0F0H,020H,08AH,080H,0B1H,0A0H,011H,015H, 002H,001H,006H>, - <0F1H,0E2H,089H,043H,073H,043H,001H,005H, - 002H,000H,006H>, - <031H,021H,057H,080H,0F8H,0F7H,0F9H,0E6H, - 003H,002H,00EH>, - <032H,001H,024H,082H,0F1H,0F5H,035H,035H, + <0F1H,0E1H,040H,000H,0F1H,06FH,021H,016H, + 001H,000H,002H>, + <001H,011H,04FH,000H,0F2H,0F5H,053H,074H, + 000H,000H,006H>, + <032H,001H,024H,082H,0F1H,0F5H,034H,034H, 000H,000H,000H>, - <000H,000H,004H,000H,0AAH,0D2H,0C8H,0B3H, - 000H,000H,00AH>, + <010H,011H,041H,000H,0F5H,0F2H,005H,0C3H, + 001H,000H,002H>, + <0E0H,0F1H,04FH,003H,0D4H,055H,00BH,00BH, 002H,002H,00AH>, - <0E0H,0F0H,052H,000H,096H,035H,005H,001H, - 002H,002H,00AH>, - <0E1H,0F1H,04FH,000H,036H,045H,005H,002H, - 002H,002H,00AH>, - <0E2H,0E1H,048H,081H,021H,041H,043H,045H, - 002H,001H,000H>, - <0E0H,0F1H,016H,000H,041H,020H,052H,072H, - 002H,002H,000H>, - <0E0H,0F1H,011H,000H,001H,0D0H,052H,072H, - 002H,002H,000H>, - <0E0H,0F1H,01AH,000H,061H,030H,052H,073H, - 000H,002H,000H>, - <050H,050H,00BH,007H,084H,0A4H,04BH,099H, + <0B1H,061H,08BH,040H,071H,042H,011H,015H, + 000H,001H,006H>, + <0A1H,061H,093H,000H,0C1H,04FH,012H,005H, 000H,000H,00AH>, - <031H,061H,01CH,084H,041H,092H,00BH,03BH, - 000H,000H,00EH>, - <0B1H,061H,01CH,005H,041H,092H,01FH,03BH, - 000H,000H,00EH>, - <020H,021H,018H,000H,052H,0A2H,015H,024H, + <021H,061H,018H,000H,0C1H,04FH,022H,005H, 000H,000H,00CH>, - <0C1H,0C1H,094H,084H,074H,0A3H,0EAH,0F5H, - 002H,001H,00EH>, - <021H,021H,028H,000H,041H,081H,0B4H,098H, + <031H,072H,05BH,083H,0F4H,08AH,015H,005H, + 000H,000H,000H>, + <0A1H,061H,090H,000H,074H,071H,039H,067H, + 000H,000H,000H>, + <071H,072H,057H,000H,054H,07AH,005H,005H, + 000H,000H,00CH>, + <000H,000H,00FH,000H,091H,052H,005H,006H, + 000H,002H,000H>, + + <021H,021H,092H,001H,085H,08FH,017H,009H, + 000H,000H,00CH>, + <0B1H,061H,01CH,080H,041H,092H,01FH,03BH, 000H,000H,00EH>, + <021H,021H,018H,001H,053H,052H,01FH,03FH, + 000H,000H,00CH>, + <031H,021H,043H,000H,09EH,062H,017H,02CH, + 001H,001H,002H>, + <021H,021H,09BH,000H,061H,07FH,06AH,00AH, + 000H,000H,002H>, + <061H,022H,08AH,006H,075H,074H,01FH,00FH, + 000H,000H,008H>, <021H,021H,01DH,001H,051H,0E1H,0AEH,03EH, 002H,001H,00EH>, - <0E0H,0E0H,093H,082H,051H,081H,0A6H,097H, - 002H,001H,00EH>, - <0E0H,0E1H,093H,083H,051H,0E1H,0A6H,097H, - 002H,001H,00EH>, + <021H,021H,04DH,000H,054H,0A6H,03CH,01CH, + 000H,000H,008H>, + <0E0H,0F2H,04BH,00BH,0D8H,0B3H,00BH,00BH, 002H,001H,008H>, - <0E0H,0F1H,049H,00BH,0B8H,0B3H,00BH,00BH, - 002H,001H,008H>, - <0E0H,0F0H,04EH,00BH,098H,0C3H,00BH,00BH, - 001H,002H,008H>, + <031H,061H,08EH,000H,093H,072H,003H,009H, + 001H,000H,008H>, + <031H,061H,091H,000H,093H,082H,003H,009H, + 001H,000H,00AH>, <0E0H,0F1H,04CH,00BH,088H,0D3H,00BH,00BH, 001H,001H,008H>, - <0F1H,0E4H,0C5H,008H,07EH,08CH,017H,00EH, - 000H,000H,008H>, - <060H,072H,04FH,00AH,0D8H,0B3H,00BH,00BH, - 000H,001H,00AH>, - <031H,072H,0D1H,080H,0D5H,091H,019H,01BH, - 000H,000H,00CH>, - <032H,071H,0C8H,080H,0D5H,073H,019H,01BH, + <021H,021H,04BH,000H,0AAH,08FH,016H,00AH, + 001H,000H,008H>, + <031H,021H,090H,000H,07EH,08BH,017H,00CH, + 001H,001H,006H>, + <030H,071H,0C8H,080H,0D5H,061H,019H,01BH, 000H,000H,00CH>, - <0E2H,062H,06AH,000H,09EH,055H,08FH,02AH, - 000H,000H,00EH>, - <0E0H,061H,0ECH,000H,07EH,065H,08FH,02AH, - 000H,000H,00EH>, - <062H,0A2H,088H,08DH,084H,075H,027H,017H, - 000H,000H,009H>, - <062H,0A2H,084H,08DH,084H,075H,027H,017H, - 000H,000H,009H>, - <0E3H,062H,06DH,000H,057H,057H,004H,077H, + <032H,021H,090H,000H,09BH,072H,021H,017H, + 000H,000H,004H>, + + <021H,0A2H,083H,08DH,074H,065H,017H,017H, + 000H,000H,007H>, + <020H,022H,05BH,080H,000H,050H,016H,015H, + 000H,000H,00AH>, + <0E0H,061H,0ECH,000H,06EH,065H,08FH,02AH, 000H,000H,00EH>, + <020H,021H,01BH,000H,000H,050H,016H,015H, + 000H,000H,00AH>, + <062H,0A1H,0CBH,000H,076H,055H,046H,036H, + 000H,000H,000H>, <0F1H,0E1H,028H,000H,057H,067H,034H,05DH, 003H,000H,00EH>, - <0D1H,072H,0C7H,003H,031H,042H,00FH,009H, - 000H,000H,00BH>, - <0F2H,072H,0C7H,005H,051H,042H,005H,069H, + <062H,0A1H,093H,000H,077H,076H,007H,007H, 000H,000H,00BH>, + <0E0H,061H,0ECH,000H,06EH,065H,08FH,02AH, + 000H,000H,00EH>, + <023H,031H,04FH,006H,051H,060H,05BH,025H, 001H,001H,000H>, - <022H,031H,048H,006H,031H,0C0H,09BH,065H, - 002H,001H,000H>, + <021H,021H,00EH,000H,0FFH,0FFH,00FH,00FH, + 001H,001H,000H>, <0F1H,0E1H,028H,004H,057H,067H,034H,00DH, 003H,000H,00EH>, - <0E1H,0E1H,023H,000H,057H,067H,004H,04DH, - 003H,000H,00EH>, + <060H,060H,003H,000H,0F6H,076H,04FH,00FH, + 000H,000H,002H>, <0E2H,031H,042H,012H,078H,0F3H,00BH,00BH, 001H,001H,008H>, - <0E2H,0E2H,021H,007H,011H,040H,052H,073H, - 001H,001H,008H>, - <023H,0A4H,0C0H,000H,051H,035H,007H,079H, - 001H,002H,00DH>, - <024H,0A0H,0C0H,001H,051H,075H,007H,009H, - 001H,002H,009H>, - <0E0H,0F0H,016H,003H,0B1H,0E0H,051H,075H, - 002H,002H,000H>, - <003H,0A4H,0C0H,004H,052H,0F4H,003H,055H, - 000H,000H,009H>, - <0E1H,0E1H,093H,081H,031H,0A1H,0A6H,097H, - 001H,001H,00AH>, - <0F0H,071H,0C4H,087H,010H,011H,001H,0C1H, - 002H,002H,001H>, - <0C1H,0E0H,04FH,000H,0B1H,012H,053H,074H, - 002H,002H,006H>, - <0C0H,041H,06DH,007H,0F9H,0F2H,021H,0B3H, - 001H,000H,00EH>, - <0E3H,0E2H,04CH,007H,021H,0A1H,043H,045H, - 001H,001H,000H>, - <0E3H,0E2H,00CH,009H,011H,080H,052H,073H, - 001H,001H,008H>, - <026H,088H,0C0H,000H,055H,0F8H,047H,019H, - 000H,000H,00BH>, - <023H,0E4H,0D4H,000H,0E5H,035H,003H,065H, - 000H,000H,007H>, + <0A2H,061H,09EH,040H,0DFH,06FH,005H,007H, + 000H,000H,002H>, + <020H,060H,01AH,000H,0EFH,08FH,001H,006H, + 000H,002H,000H>, + <021H,021H,08FH,080H,0F1H,0F4H,029H,009H, + 000H,000H,00AH>, + + <031H,0A1H,01CH,080H,041H,092H,00BH,03BH, + 000H,000H,00CH>, + <061H,0B1H,01FH,080H,0A8H,025H,011H,003H, + 000H,000H,00AH>, + <061H,061H,017H,000H,091H,055H,034H,016H, + 000H,000H,00CH>, + <071H,072H,05DH,000H,054H,06AH,001H,003H, + 000H,000H,000H>, + <021H,0A2H,097H,000H,021H,042H,043H,035H, + 000H,000H,008H>, + <005H,046H,040H,080H,0B3H,0F2H,0D3H,024H, + 000H,000H,002H>, + <000H,011H,00DH,080H,0F1H,050H,0FFH,0FFH, + 000H,000H,006H>, + <0F0H,0F1H,046H,080H,022H,031H,011H,02EH, + 001H,000H,00CH>, + + <011H,001H,08AH,04BH,0F1H,0F1H,011H,0B3H, + 000H,000H,006H>, + <0F1H,0F1H,041H,041H,011H,011H,011H,011H, + 000H,000H,002H>, <027H,032H,0C0H,007H,032H,0A4H,062H,033H, 000H,000H,000H>, - <0D0H,031H,04EH,003H,098H,0A2H,032H,047H, - 001H,002H,000H>, - <0F0H,071H,0C0H,004H,093H,043H,003H,002H, - 001H,000H,00FH>, + <074H,035H,018H,080H,058H,026H,000H,001H, + 000H,000H,006H>, + <041H,042H,04DH,000H,0F1H,0F2H,051H,0F5H, + 001H,000H,000H>, <0E0H,0F1H,01AH,082H,013H,033H,052H,013H, 001H,002H,000H>, <0E0H,0F1H,01AH,004H,045H,032H,0BAH,091H, 000H,002H,000H>, - <011H,015H,018H,00DH,058H,0A2H,002H,072H, - 001H,000H,00AH>, + <07EH,031H,000H,000H,0F1H,0F1H,001H,004H, + 000H,000H,004H>, + <010H,018H,080H,045H,0F1H,0F1H,053H,053H, 000H,000H,000H>, - <031H,017H,086H,080H,0A1H,07DH,011H,023H, - 000H,000H,008H>, - <010H,018H,080H,040H,0F1H,0F6H,053H,054H, - 000H,000H,000H>, + <011H,013H,00CH,080H,0A3H,0A2H,011H,0E5H, + 001H,000H,000H>, <031H,034H,021H,002H,0F5H,093H,056H,0E8H, 001H,000H,008H>, - <003H,015H,04FH,003H,0F1H,0D6H,039H,074H, - 003H,000H,006H>, - <031H,022H,043H,006H,06EH,08BH,017H,00CH, - 001H,002H,002H>, + <001H,008H,011H,000H,0F2H,0F5H,01FH,088H, + 000H,000H,008H>, + <004H,001H,04FH,000H,0FAH,0C2H,056H,005H, + 000H,000H,00CH>, + <021H,022H,049H,000H,07CH,06FH,020H,00CH, + 000H,001H,006H>, <031H,022H,01CH,089H,061H,052H,003H,067H, 000H,000H,00EH>, - <060H,0F0H,00CH,089H,081H,061H,003H,00CH, - 000H,001H,008H>, - <027H,005H,055H,005H,031H,0A7H,062H,075H, - 000H,000H,000H>, - <095H,016H,081H,000H,0E7H,096H,001H,067H, - 000H,000H,004H>, - <00CH,001H,087H,080H,0F0H,0F2H,005H,005H, - 001H,001H,004H>, - <035H,011H,044H,000H,0F8H,0F5H,0FFH,075H, - 000H,000H,00EH>, - <010H,010H,00BH,008H,0A7H,0D5H,0ECH,0F5H, - 000H,000H,000H>, - <020H,001H,00BH,007H,0A8H,0D6H,0C8H,0B7H, + <020H,021H,004H,081H,0DAH,08FH,005H,00BH, + 002H,000H,006H>, + + <007H,008H,048H,080H,0F1H,0FCH,072H,004H, 000H,000H,000H>, - <000H,001H,00BH,000H,088H,0D5H,0C4H,0B7H, + <007H,002H,015H,000H,0ECH,0F8H,026H,016H, + 000H,000H,00AH>, + <005H,001H,09DH,000H,067H,0DFH,035H,005H, + 000H,000H,008H>, + <002H,002H,000H,000H,0C8H,0C8H,097H,097H, + 000H,000H,001H>, + <000H,000H,00DH,000H,0E8H,0A5H,0EFH,0FFH, + 000H,000H,006H>, + <011H,010H,041H,003H,0F8H,0F3H,047H,003H, + 002H,000H,004H>, + <000H,000H,00BH,000H,0A9H,0D6H,044H,044H, 000H,000H,000H>, - <00CH,010H,08FH,080H,041H,033H,031H,02BH, - 000H,003H,008H>, - <017H,0F7H,000H,000H,03BH,0EAH,0DFH,097H, - 003H,000H,00BH>, - <012H,018H,006H,009H,073H,03CH,002H,074H, - 000H,000H,00EH>, + <00EH,0C0H,000H,000H,01FH,01FH,000H,0FFH, + 000H,003H,00EH>, + + <012H,011H,000H,000H,0A5H,07BH,007H,006H, + 000H,002H,008H>, + <00EH,0D0H,000H,005H,0F8H,034H,000H,004H, + 000H,003H,00EH>, <002H,008H,000H,002H,03EH,014H,001H,0F3H, 002H,002H,00EH>, - <0F5H,0F6H,0D4H,000H,0EBH,045H,003H,068H, - 000H,000H,007H>, - <0F0H,0CAH,000H,0C0H,0DAH,0B0H,071H,017H, - 001H,001H,008H>, - <0F0H,0E2H,000H,0C0H,01EH,011H,011H,011H, - 001H,001H,008H>, + <0D5H,0DAH,095H,040H,037H,056H,0A3H,037H, + 000H,000H,000H>, + <0B0H,0B5H,035H,08EH,0FBH,0A0H,0F0H,09BH, + 000H,000H,00EH>, + <0B0H,0A0H,000H,0C0H,0FEH,0F1H,011H,019H, + 001H,000H,008H>, <0E7H,0E8H,000H,00EH,034H,010H,000H,0B2H, 002H,002H,00EH>, - <00CH,004H,000H,000H,0F0H,0F6H,0F0H,0E6H, - 002H,000H,00EH>, + <006H,000H,000H,00BH,0F4H,0F6H,0A0H,046H, + 000H,000H,00EH>, + <000H,000H,00BH,000H,0A8H,0D6H,04CH,045H, 000H,000H,000H>, <000H,000H,00BH,000H,0AAH,0D2H,0C8H,0B7H, 000H,000H,000H>, <026H,000H,000H,000H,0F0H,0FAH,0F0H,0B7H, 003H,003H,00EH>, - <010H,0C2H,007H,023H,0F7H,0E0H,0F5H,041H, - 002H,002H,082H>, - <0F2H,0F1H,00AH,038H,088H,0ADH,0F4H,088H, - 002H,002H,002H>, - <0D0H,0C2H,081H,023H,0A6H,0E0H,0F6H,041H, - 002H,002H,081H>, - <040H,0C2H,000H,023H,0F5H,0E0H,038H,041H, - 000H,002H,005H>, - <001H,0C2H,003H,023H,0B8H,0E0H,0B5H,041H, - 001H,002H,07DH>, - <040H,0C2H,000H,023H,0F5H,0E0H,038H,041H, - 000H,002H,0F1H>, - <001H,0B3H,008H,0C1H,088H,018H,0A5H,050H, - 001H,000H,0A3H>, - <000H,0C2H,000H,023H,0C6H,0E0H,098H,041H, - 000H,002H,083H>, - <001H,0B3H,009H,0C1H,086H,018H,0A5H,050H, - 001H,000H,0A3H>, - <000H,0C2H,000H,023H,0C6H,0E0H,098H,041H, - 000H,002H,003H>, - <000H,0C2H,000H,023H,0C6H,0E0H,098H,041H, - 000H,002H,005H>, - <004H,0C2H,00CH,023H,0C5H,0E0H,0F6H,041H, - 000H,002H,005H>, - <001H,0C2H,000H,023H,0C6H,0E0H,098H,041H, - 000H,002H,005H>, - <001H,0C2H,082H,023H,0F6H,0E0H,0D5H,041H, - 001H,002H,083H>, - <003H,0BFH,009H,0FFH,0E3H,0D0H,097H,050H, - 000H,000H,0BBH>, - <00EH,0BFH,007H,0FFH,0B5H,0D1H,015H,050H, - 001H,000H,0BBH>, - <001H,0BFH,007H,0C1H,077H,0D1H,073H,050H, - 001H,000H,0BBH>, - <00EH,0F1H,0C7H,038H,095H,0ADH,078H,08EH, - 000H,002H,002H>, - <001H,0BFH,000H,0FFH,0F8H,0D2H,0B6H,050H, - 001H,000H,0BAH>, - <00AH,0C2H,0C7H,023H,095H,0E0H,078H,041H, - 000H,002H,07CH>, - <001H,0BFH,007H,0C1H,0F9H,0D4H,0B5H,050H, - 000H,000H,0BBH>, - <0D1H,0C2H,005H,023H,0E7H,0E0H,065H,041H, - 001H,002H,09DH>, - <001H,0FEH,000H,038H,0E7H,0A9H,094H,082H, - 000H,002H,003H>, - <001H,0BFH,000H,0FFH,0E7H,0D8H,094H,050H, - 000H,000H,0BBH>, - <001H,0BFH,000H,0FFH,096H,0D8H,067H,050H, - 000H,000H,0BAH>, - <001H,0BFH,000H,0FFH,0B4H,0DAH,026H,050H, - 000H,000H,0BAH>, - <001H,0BFH,000H,0C1H,0B4H,0DBH,026H,050H, - 000H,000H,0BAH>, - <095H,013H,081H,000H,0E7H,095H,001H,065H, + <000H,000H,000H,000H,0FCH,0FAH,005H,017H, + 002H,000H,00EH>, + <042H,001H,000H,000H,074H,08FH,038H,037H, + 000H,000H,00CH>, + <006H,000H,000H,000H,0F0H,0F6H,0F1H,0B6H, 000H,000H,00EH>, - <095H,013H,081H,000H,0E7H,095H,001H,065H, + <000H,000H,00DH,000H,0E8H,0A5H,0EFH,0FFH, + 000H,000H,006H>, + <064H,003H,000H,093H,0B2H,098H,082H,0DAH, + 002H,001H,00EH>, + + <012H,011H,090H,080H,0F0H,0F0H,007H,005H, + 000H,000H,000H>, + <00CH,012H,000H,000H,0F6H,0FBH,008H,047H, + 000H,002H,00AH>, + <011H,031H,02DH,000H,0C8H,0F5H,02FH,0F5H, + 000H,000H,00CH>, + <064H,003H,000H,080H,0B2H,097H,082H,0D4H, + 002H,001H,00EH>, + <000H,000H,00DH,00BH,0E8H,0A5H,0EFH,0FFH, + 000H,000H,006H>, + <001H,020H,000H,000H,0C7H,0EAH,0D8H,0E9H, + 000H,000H,001H>, + <064H,003H,002H,000H,0B2H,096H,0A1H,0D4H, + 000H,001H,00EH>, + <004H,0C2H,000H,000H,0FEH,0F6H,0F0H,0B5H, + 000H,000H,00EH>, + + <064H,003H,000H,080H,0B2H,097H,082H,0D4H, + 002H,001H,00EH>, + <024H,005H,000H,080H,0B5H,0D5H,034H,085H, + 000H,001H,00EH>, + <007H,012H,04FH,000H,0FFH,0F2H,060H,072H, + 000H,000H,008H>, + <05FH,041H,006H,000H,077H,088H,07DH,0FDH, + 003H,002H,004H>, + <002H,005H,003H,04AH,0B4H,097H,004H,0F7H, + 000H,000H,00EH>, + <016H,014H,028H,000H,080H,0F0H,005H,005H, + 000H,000H,000H>, + <006H,000H,000H,040H,0F0H,0F6H,0F1H,0B4H, + 000H,000H,00EH>, + <044H,060H,053H,080H,0F5H,0FDH,033H,025H, + 000H,002H,006H>, + + <02EH,002H,00AH,05BH,0FFH,0F6H,004H,046H, + 000H,000H,00EH>, + <013H,014H,007H,080H,0FDH,090H,039H,007H, + 000H,000H,00EH>, + <012H,011H,04EH,000H,0F7H,0F0H,045H,006H, + 000H,000H,000H>, + <001H,002H,059H,000H,0FAH,0F8H,088H,0B6H, + 000H,000H,006H>, + <001H,000H,000H,040H,0F9H,0FAH,00AH,006H, + 003H,000H,00EH>, + <011H,031H,02DH,000H,0C8H,0F5H,02FH,0F5H, + 000H,000H,00CH>, + <0C3H,082H,05CH,000H,0F3H,0F4H,029H,006H, + 001H,003H,008H>, + <032H,011H,044H,000H,0F8H,0F5H,0FFH,07FH, + 000H,000H,00EH>, + + <013H,011H,091H,080H,0FFH,0FFH,021H,003H, + 000H,000H,00AH>, + <008H,002H,04DH,000H,0FFH,0FFH,006H,006H, + 000H,000H,00CH>, + <02EH,000H,040H,058H,0FFH,0F6H,00FH,01FH, 000H,000H,00EH>, - <010H,0BFH,000H,0C1H,096H,0DEH,067H,050H, - 000H,000H,0BAH>, - <011H,0BFH,000H,0FFH,096H,0DFH,067H,050H, - 000H,000H,0BAH>, - <000H,0BFH,00EH,0C1H,058H,0D0H,0DCH,050H, - 002H,000H,0BAH>, - <000H,0BFH,00EH,0FFH,05AH,0D2H,0D6H,050H, - 002H,000H,0BAH>, - <052H,0BFH,007H,0C1H,049H,0D3H,004H,050H, - 003H,000H,0BBH>, - <052H,0BFH,007H,0C1H,041H,0D4H,002H,050H, - 003H,000H,0BBH>, - <000H,0BFH,00EH,0FFH,05AH,0D5H,0D6H,050H, - 001H,000H,0BAH>, - <010H,0BFH,00EH,0C1H,053H,0D6H,09FH,050H, - 001H,000H,0BAH>, - <011H,0FEH,000H,038H,0F5H,0A9H,075H,080H, - 000H,002H,002H>, - <004H,0C2H,000H,023H,0F8H,0E0H,0B6H,041H, - 001H,002H,003H>, - <004H,0C2H,000H,023H,0F8H,0E0H,0B7H,041H, - 001H,002H,003H>, - <001H,0BFH,00BH,0C1H,05EH,0D8H,0DCH,050H, - 001H,000H,0BAH>, - <000H,0BFH,007H,0C1H,05CH,0DAH,0DCH,050H, - 001H,000H,0BAH>, - <0C5H,0D5H,04FH,000H,0F2H,0F4H,060H,07AH, + <02EH,000H,040H,018H,0FFH,086H,02FH,00FH, + 000H,000H,00EH>, + <0C4H,0C3H,00AH,000H,055H,065H,03AH,04AH, + 001H,000H,009H>, + <004H,043H,00AH,000H,0B0H,060H,0F9H,0A7H, + 000H,000H,00DH>, + <010H,0DBH,00EH,080H,054H,064H,04AH,04AH, + 001H,000H,00AH>, + <030H,0BFH,00EH,0C1H,052H,052H,01BH,09FH, + 001H,000H,00AH>, + + <006H,015H,03FH,000H,000H,0F7H,0F4H,0F5H, + 000H,000H,001H>, + <002H,006H,000H,002H,0E8H,097H,0FAH,0FAH, + 000H,000H,007H>, + <006H,012H,03FH,000H,000H,0F7H,0F4H,0F5H, + 003H,000H,000H>, + <014H,009H,000H,000H,066H,076H,0FFH,0FFH, + 000H,000H,004H>, + <016H,004H,000H,000H,066H,076H,0FFH,0FFH, + 000H,000H,004H>, + <0C5H,0D5H,04FH,000H,0F2H,0F4H,061H,07AH, 000H,000H,008H>, - <0C5H,0D5H,04FH,000H,0F2H,0F2H,060H,072H, + <0C5H,0D5H,04FH,000H,0F2H,0F2H,061H,072H, 000H,000H,008H> ResidentCode ends - - - - - - - - - - - - - - - diff --git a/Include/Internal/soundFmt.def b/Include/Internal/soundFmt.def index 04a30f41a..59da9ef0a 100644 --- a/Include/Internal/soundFmt.def +++ b/Include/Internal/soundFmt.def @@ -4,7 +4,7 @@ COMMENT @%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PROJECT: PC/GEOS Sound System MODULE: Sound Device Driver -FILE: soundFormat.def +FILE: soundFmt.def AUTHOR: Todd Stumpf, Sep 14, 1992 @@ -12,6 +12,7 @@ REVISION HISTORY: Name Date Description ---- ---- ----------- TS 9/14/92 Initial revision + RainerB 09/15/2024 Some missing comments added DESCRIPTION: This file contains the structure and record declarations for @@ -32,6 +33,7 @@ DESCRIPTION: ; TS_VIB = vimbrato modulation enabled (vibrato affect) ; TS_ET = envelope type 0 = diminishing (bell) ; 1 = continuing (organ) + ; TS_KSR = envelope shortening ; TS_MULTIPLE = multiplies basic frequency of mod/car ; 0 = x.5 1 = x1 2 = x2 ; 3 = x3 4 = x4 5 = x5 @@ -47,6 +49,9 @@ TimbreSetting record TS_MULTIPLE :4 = 0 TimbreSetting end +TS_ET_CONTINUING equ 0x20 +TS_ET_DIMINISHING equ 0 + ; The output setting contains information about the volume ; of the note. @@ -54,7 +59,8 @@ TimbreSetting end ; there volume diminished. ; 0 = volume decreases slowly as notes ; rise in pitch - ; 1 = volume descreases rapidly as notes + ; 1, 2 .. decreases faster .. + ; 3 = volume descreases rapidly as notes ; rise in pitch ; ; OS_TOTAL_LEVEL = The attenuation level of maximum output. @@ -149,6 +155,12 @@ WaveSelectSetting record FSS_WAVE :2 = 0 WaveSelectSetting end +FSS_WAVE_SINE equ 0 +FSS_WAVE_POS_SINE equ 1 +FSS_WAVE_ABS_SINE equ 2 +FSS_WAVE_1ST_SINE equ 3 + + ; ; Creative labs defines what it calls a Sound Blaster Instrument ; file. This is the layout of all the necessary information to diff --git a/Include/Internal/soundFormat.def b/Include/Internal/soundFormat.def deleted file mode 100644 index 58c75b6ce..000000000 --- a/Include/Internal/soundFormat.def +++ /dev/null @@ -1,248 +0,0 @@ -COMMENT @%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - Copyright (c) GeoWorks 1992 -- All Rights Reserved - -PROJECT: PC/GEOS Sound System -MODULE: Sound Device Driver -FILE: soundFormat.def - -AUTHOR: Todd Stumpf, Sep 14, 1992 - -REVISION HISTORY: - Name Date Description - ---- ---- ----------- - TS 9/14/92 Initial revision - -DESCRIPTION: - This file contains the structure and record declarations for - the envelope formats supported by the PC/GEOS library. For - more information look at soundDrv.def or the sound library - itself. - - $Id: soundFormat.def,v 1.1 97/04/04 14:16:15 newdeal Exp $ - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@ -;----------------------------------------------------------------------------- -; Sound Blaster Instrument Description Data Structures -;----------------------------------------------------------------------------- - ; - ; The timbre setting contains the information to generate - ; the color of the sound. - ; TS_AM = amplitude modulation enabled (tremelo affect) - ; TS_VIB = vimbrato modulation enabled (vibrato affect) - ; TS_ET = envelope type 0 = diminishing (bell) - ; 1 = continuing (organ) - ; TS_MULTIPLE = multiplies basic frequency of mod/car - ; 0 = x.5 1 = x1 2 = x2 - ; 3 = x3 4 = x4 5 = x5 - ; 6 = x6 7 = x7 8 = x8 - ; 9 = x9 a = x10 b = x10 - ; c = x12 d = x12 e = x15 - ; f = x15 -TimbreSetting record - TS_AM :1 = 0 - TS_VIB :1 = 0 - TS_ET :1 = 0 - TS_KSR :1 = 0 - TS_MULTIPLE :4 = 0 -TimbreSetting end - - - ; The output setting contains information about the volume - ; of the note. - ; OS_KSL = Sets the rate at which higher notes get - ; there volume diminished. - ; 0 = volume decreases slowly as notes - ; rise in pitch - ; 1 = volume descreases rapidly as notes - ; rise in pitch - ; - ; OS_TOTAL_LEVEL = The attenuation level of maximum output. - ; This is an attenuation level, not a volume level, - ; so the larger the number, the quieter the voice. - ; The total level is the value which is reached - ; at the end of the attack, and the sustain level - ; is a fraction of the this level. - ; Carrier total level dictates the amplitude of - ; the sound, and the modulator output indicates - ; the amound of warble. -OutputSetting record - OS_KSL :2 = 0 - OS_TOTAL_LEVEL :6 = 0 -OutputSetting end - - - ; The Attack/Decay/Sustain/Release is the standard way of - ; describing a sound envelope. The greater the value the - ; steaper the slant of that section of the envelope -AttackDecaySetting record - ADS_ATTACK :4 = 0 - ADS_DECAY :4 = 0 -AttackDecaySetting end - - - ; The sustian value is either the decibel level where a - ; diminishing sound turns from decay to release or - ; level of the sound that decay turns into sustain. - ; Therefore, the higher the value of sustain, the lower - ; the volume it will sustain at, or the quieter it will - ; be before it enters the release -SustainReleaseSetting record - SRS_SUSTAIN :4 = 0 - SRS_RELEASE :4 = 0 -SustainReleaseSetting end - - - ; The feedback setting describes how the signals of - ; the two waves (the carrier and the modulator) are - ; connected. - ; FBS_FEEDBACK = modulation of modular wave which gets - ; added to the incoming signal of the - ; modulator wave. clear as mud. - ; - ; - ; FBDS_CONNECTION = 1 - ; ------------------- - ; - ; mod --->(+)----> [modulator] ------>(+)--->[carrier]-->out - ; freq. ^ | ^ - ; | | | - ; |_____________________| car - ; freq. - ; - ; - ; FBDS_CONNECTION = 0 - ; ------------------- - ; - ; mod --->(+)----> [modulator] ----- - ; freq. ^ | | - ; | | | - ; |____________________| | - ; | - ; (+)----> out - ; | - ; car -----------> [carrier]-------- - ; freq. - ; -FeedBackSetting record - :4 - FBS_FEEDBACK :3 = 0 - FBS_CONNECTION :1 = 0 -FeedBackSetting end - - - ; The Wave select setting determines the form of the signal - ; that gets generated. - ; - ; FSS_WAVE 0 = normal sin wave - ; - ; FSS_WAVE 1 ={ sin(x) if sin(x) > 0 - ; { 0 if sin(x) < 0 - ; - ; FSS_WAVE 2 = | sin(x) | - ; - ; FSS_WAVE 3 ={ |sin(x)| if 0 < x < pi/2 or pi < x < 3pi/2 - ; { 0 otherwise - ; -WaveSelectSetting record - :6 - FSS_WAVE :2 = 0 -WaveSelectSetting end - - ; - ; Creative labs defines what it calls a Sound Blaster Instrument - ; file. This is the layout of all the necessary information to - ; configure a SB voice to sound like a specific instrument. - ; These constants were taken from the Sound Blaster development - ; kit. - ; The actual voice envelope information takes up 11 bytes of - ; space. Each byte is just the value that should be loaded into - ; a specific register of the board. This makes it very easy - ; to use for the Sound Blaster, but somewhat obscure. As each - ; byte contains much information, the corropsonding register - ; records are included here to allow the production of your own - ; voice envelopes. - -SBIEnvelopeFormat struct - SBIEF_modTimbre TimbreSetting ; modulator timbre value - SBIEF_carTimbre TimbreSetting ; carrer timbre value - SBIEF_modScaling OutputSetting ; modulator scaling cell value - SBIEF_carScaling OutputSetting ; carrier scaling cell value - SBIEF_modAttack AttackDecaySetting ; modulator attack/decay value - SBIEF_carAttack AttackDecaySetting ; carrier attack/decay value - SBIEF_modSustain SustainReleaseSetting ; modulator sustain/release - SBIEF_carSustain SustainReleaseSetting ; carrier sustain/release value - SBIEF_modWave WaveSelectSetting ; modulator wave form - SBIEF_carWave WaveSelectSetting ; carrier wave form - SBIEF_feedback FeedBackSetting ; feedback for modulator -SBIEnvelopeFormat ends - - -;----------------------------------------------------------------------------- -; Casio/Tandy Sound Envelope Information -;----------------------------------------------------------------------------- - - ; - ; Both the FM chip in the Casio Palm-top and the FM chip - ; in the TANDY 1000 computers are remarkably similar. - ; Each has three tone generators, with attenuation, and - ; each has a noise generator. Neither has internal support - ; for envelopes, and they both formats for their sounds are - ; remarkably similar. - ; - ; In order to get the best sound possible, we will allow - ; an instrument to define the proportional intensity of the - ; 2nd and 3rd partials (that is, the intensity of the frequency - ; equal to 2x the base frequency, and 3x the base frequency.) - ; This should produce a well colored tone out of the chip - ; when only one voice is sounding at a time. The more voices - ; which get used, however, the more bland the notes will sound. - ; - ; Each instrument is also allowed to specify the type and - ; intensity of the noise that is to be generated. - -NoiseType etype byte, 0, 1 - NT_NO_NOISE enum NoiseType - NT_WHITE_NOISE enum NoiseType ; cymbal crash - NT_METAL_NOISE enum NoiseType ; snare drum hit - -NoiseSetting record - NS_type NoiseType :2 ; metal type - NS_partialLevel :6 ; divisor for metal level -NoiseSetting end - -CTIEnvelopeFormat struct - CTIEF_secondPartial byte ; divisor for 2nd intensity - CTIEF_thirdPartial byte ; divisor for 3rd intensity - CTIEF_noise NoiseSetting ; intensity of noise -CTIEnvelopeFormat ends - - -;----------------------------------------------------------------------------- -; Sound Driver Envelope Structure -;----------------------------------------------------------------------------- - - ; - ; This is the structure that must be defined for each - ; instrument patch. Every instrument must include settings - ; for all the formats. -InstrumentEnvelope struct - IE_SBIData SBIEnvelopeFormat ; 11 bytes - IE_CTIData CTIEnvelopeFormat ; 3 bytes - word ; 2 bytes -InstrumentEnvelope ends ; 16 bytes total - - ; - ; Each hardware device has its own capabilities. It does little - ; good to tell a device driver to set itself up with too little or - ; too much information about the sound envelope. Therefore, there - ; are multiple formats that can be passed to and from the sound - ; device. A device should always try to do the best it can, but - ; don't expect great things out of a device if you don't give it - ; the information it wants. -SEF_NO_FORMAT equ 0ffffh -SEF_SBI_FORMAT equ offset IE_SBIData -SEF_CTI_FORMAT equ offset IE_CTIData - - - diff --git a/Include/sound.def b/Include/sound.def index fd0bbd7e9..56997592b 100644 --- a/Include/sound.def +++ b/Include/sound.def @@ -9,6 +9,7 @@ REVISION HISTORY: Name Date Description ---- ---- ----------- TS 7/27/92 Initial revision + RainerB 9/15/2024 Drum frequencies updated DESCRIPTION: @@ -758,53 +759,59 @@ IP_CLAVICORD equ IP_CLAVICHORD ; These note values (by the way) are simply provided ; so that our OPL2 driver works correctly. -FR_ACOUSTIC_BASS_DRUM equ LOW_C_b -FR_BASS_DRUM_1 equ LOW_C / 2 -FR_SIDE_STICK equ MIDDLE_G_SH -FR_ACOUSTIC_SNARE equ MIDDLE_C -FR_HAND_CLAP equ MIDDLE_C -FR_ELECTRIC_SNARE equ MIDDLE_C -FR_LOW_FLOOR_TOM equ LOW_C -FR_CLOSED_HI_HAT equ MIDDLE_C -FR_HIGH_FLOOR_TOM equ LOW_F -FR_PEDAL_HI_HAT equ MIDDLE_C -FR_LOW_TOM equ LOW_G_SH -FR_OPEN_HI_HAT equ MIDDLE_C -FR_LOW_MID_TOM equ MIDDLE_C -FR_HI_MID_TOM equ MIDDLE_F -FR_CRASH_CYMBAL_1 equ MIDDLE_C -FR_HIGH_TOM equ MIDDLE_G_SH -FR_RIDE_CYMBAL_1 equ MIDDLE_C -FR_CHINESE_CYMBAL equ MIDDLE_C -FR_RIDE_BELL equ MIDDLE_C -FR_TAMBOURINE equ MIDDLE_C -FR_SPLASH_CYMBAL equ MIDDLE_C -FR_COWBELL equ LOW_C -FR_CRASH_CYMBAL_2 equ MIDDLE_C -FR_VIBRASLAP equ MIDDLE_C -FR_RIDE_CYMBAL_2 equ MIDDLE_C -FR_HI_BONGO equ MIDDLE_G_SH -FR_LOW_BONGO equ MIDDLE_E -FR_MUTE_HI_CONGA equ MIDDLE_G_SH -FR_OPEN_HI_CONGA equ MIDDLE_G_SH -FR_LOW_CONGA equ MIDDLE_C -FR_HI_TIMBALE equ MIDDLE_C -FR_LOW_TIMBALE equ LOW_G_SH -FR_HIGH_AGOGO equ LOW_F_SH -FR_LOW_AGOGO equ LOW_C -FR_CABASA equ MIDDLE_C -FR_MARACAS equ MIDDLE_C -FR_SHORT_WHISTLE equ HIGH_G_SH -FR_LONG_WHISTLE equ HIGH_G_SH -FR_SHORT_GUIRO equ MIDDLE_C -FR_LONG_GUIRO equ MIDDLE_C -FR_CLAVES equ HIGH_G_SH * 2 -FR_HI_WOOD_BLOCK equ MIDDLE_C -FR_LOW_WOOD_BLOCK equ LOW_F_SH -FR_MUTE_CUICA equ MIDDLE_C -FR_OPEN_CUICA equ MIDDLE_C -FR_MUTE_TRIANGLE equ MIDDLE_G_SH -FR_OPEN_TRIANGLE equ MIDDLE_G_SH +FR_ACOUSTIC_BASS_DRUM equ 247 +FR_BASS_DRUM_1 equ 131 +FR_SIDE_STICK equ 262 +FR_ACOUSTIC_SNARE equ 233 +FR_HAND_CLAP equ 392 +FR_ELECTRIC_SNARE equ 233 +FR_LOW_FLOOR_TOM equ 98 +FR_CLOSED_HI_HAT equ 1047 + +FR_HIGH_FLOOR_TOM equ 110 +FR_PEDAL_HI_HAT equ 156 +FR_LOW_TOM equ 87 +FR_OPEN_HI_HAT equ 523 +FR_LOW_MID_TOM equ 87 +FR_HI_MID_TOM equ 123 +FR_CRASH_CYMBAL_1 equ 523 +FR_HIGH_TOM equ 87 + +FR_RIDE_CYMBAL_1 equ 1047 +FR_CHINESE_CYMBAL equ 247 +FR_RIDE_BELL equ 330 +FR_TAMBOURINE equ 1047 +FR_SPLASH_CYMBAL equ 208 +FR_COWBELL equ 233 +FR_CRASH_CYMBAL_2 equ 392 +FR_VIBRASLAP equ 104 + +FR_RIDE_CYMBAL_2 equ 1047 +FR_HI_BONGO equ 131 +FR_LOW_BONGO equ 131 +FR_MUTE_HI_CONGA equ 156 +FR_OPEN_HI_CONGA equ 262 +FR_LOW_CONGA equ 131 +FR_HI_TIMBALE equ 131 +FR_LOW_TIMBALE equ 131 + +FR_HIGH_AGOGO equ 1047 +FR_LOW_AGOGO equ 415 +FR_CABASA equ 1047 +FR_MARACAS equ 1047 +FR_SHORT_WHISTLE equ 1047 +FR_LONG_WHISTLE equ 1047 +FR_SHORT_GUIRO equ 92 +FR_LONG_GUIRO equ 87 + +FR_CLAVES equ 104 +FR_HI_WOOD_BLOCK equ 104 +FR_LOW_WOOD_BLOCK equ 104 +FR_MUTE_CUICA equ 392 +FR_OPEN_CUICA equ 392 +FR_MUTE_TRIANGLE equ 698 +FR_OPEN_TRIANGLE equ 698 + ;----------------------------------------------------------------------------- diff --git a/Installed/Driver/Sound/SoundBlaster/Makefile b/Installed/Driver/Sound/SoundBlaster/Makefile index 632b2d165..ec14adaae 100644 --- a/Installed/Driver/Sound/SoundBlaster/Makefile +++ b/Installed/Driver/Sound/SoundBlaster/Makefile @@ -3,7 +3,7 @@ # # If you edit it, you will lose your changes, should it be regenerated. # -GEODE = sblaster +GEODE = soundblaster ASM_TO_OBJS = soundblasterManager.asm UI_TO_RDFS = SRCS = soundblasterDAC.asm soundblasterError.asm\ diff --git a/Installed/Driver/Sound/SoundBlaster/dependencies.mk b/Installed/Driver/Sound/SoundBlaster/dependencies.mk new file mode 100644 index 000000000..dc807323c --- /dev/null +++ b/Installed/Driver/Sound/SoundBlaster/dependencies.mk @@ -0,0 +1,15 @@ +soundblasterManager.obj \ +soundblasterManager.eobj: geos.def file.def geode.def resource.def ec.def driver.def \ + lmem.def heap.def system.def localize.def sllang.def \ + timer.def initfile.def char.def Internal/interrup.def \ + soundblasterConstant.def soundblasterError.def \ + soundblasterPCTimer.def sound.def Internal/soundFmt.def \ + Internal/semInt.def Internal/DMADrv.def \ + Internal/strDrInt.def Internal/streamDr.def \ + Internal/soundDrv.def soundblasterError.asm \ + soundblasterRegister.asm soundblasterInit.asm \ + soundblasterTimeDelay.asm soundblasterStrategy.asm \ + soundblasterInt.asm soundblasterVoice.asm \ + soundblasterDAC.asm soundblasterStream.asm + +sblasterEC.geo sblaster.geo : geos.ldf stream.ldf \ No newline at end of file diff --git a/Library/User/User/userUtils.asm b/Library/User/User/userUtils.asm index 3947f0607..fc4f9e00d 100644 --- a/Library/User/User/userUtils.asm +++ b/Library/User/User/userUtils.asm @@ -65,7 +65,7 @@ StdSoundErrorBeep segment resource SimpleSoundHeader STD_ERROR_VOICES ChangePriority - ChangeEnvelope 0, IP_TRUMPET + ChangeEnvelope 0, IP_TROMBONE DeltaTick 1 VoiceOn 0, SS_MULTIPLIER*500, VOICE_HIGH ; 3 tick beep DeltaTick 3 @@ -89,9 +89,9 @@ StdSoundWarningBeep segment resource SimpleSoundHeader STD_WARNING_VOICES ChangePriority - ChangeEnvelope 0, IP_REED_ORGAN + ChangeEnvelope 0, IP_OBOE DeltaTick 1 - VoiceOn 0, SS_MULTIPLIER*200, VOICE_HIGH + VoiceOn 0, SS_MULTIPLIER*198, VOICE_HIGH DeltaTick 15 VoiceOff 0 General GE_END_OF_SONG @@ -104,12 +104,12 @@ StdSoundNotifyBeep segment resource SimpleSoundHeader STD_NOTIFY_VOICES ChangePriority - ChangeEnvelope 0, IP_TUBULAR_BELLS + ChangeEnvelope 0, IP_TINKLE_BELL DeltaTick 1 - VoiceOn 0, SS_MULTIPLIER*400, VOICE_LOW ; 5 tick beep + VoiceOn 0, SS_MULTIPLIER*400, VOICE_HIGH ; 5 tick beep DeltaTick 5 - VoiceOff 0 ; 2 tick pause - DeltaTick 2 + VoiceOff 0 ; 3 tick pause + DeltaTick 3 VoiceOn 0, SS_MULTIPLIER*400, VOICE_HIGH ; 5 tick beep DeltaTick 5 VoiceOff 0 @@ -125,11 +125,11 @@ SimpleSoundHeader STD_NO_INPUT_VOICES ChangePriority ChangeEnvelope 0, IP_OVERDRIVEN_GUITAR DeltaTick 1 - VoiceOn 0, SS_MULTIPLIER*800, VOICE_LOW ; 1.25 tick beep - DeltaMS 20 - VoiceOff 0 ; no pause - VoiceOn 0, SS_MULTIPLIER*500, VOICE_HIGH ; 1.25 tick beep - DeltaMS 20 + VoiceOn 0, SS_MULTIPLIER*800, VOICE_LOW ; 1 tick beep + DeltaTick 1 + VoiceOff 0 ; no pause + VoiceOn 0, SS_MULTIPLIER*500, VOICE_HIGH ; 1 tick beep + DeltaTick 1 VoiceOff 0 General GE_END_OF_SONG @@ -141,10 +141,14 @@ StdSoundKeyClick segment resource SimpleSoundHeader STD_KEY_CLICK_VOICES ChangePriority - ChangeEnvelope 0, IP_REED_ORGAN + ChangeEnvelope 0, IP_HI_MID_TOM + DeltaTick 1 + VoiceOn 0, SS_MULTIPLIER*400, VOICE_HIGH ; 1 tick beep + DeltaTick 1 + VoiceOff 0 ; 1 tick pause + DeltaTick 1 + VoiceOn 0, SS_MULTIPLIER*100, VOICE_HIGH ; 1 tick beep DeltaTick 1 - VoiceOn 0, SS_MULTIPLIER*200, VOICE_LOW ; .35 tick beep - DeltaMS 5 VoiceOff 0 General GE_END_OF_SONG @@ -161,39 +165,39 @@ SimpleSoundHeader STD_ALARM_VOICES = 1 ChangePriority ChangeEnvelope 0, IP_FLUTE DeltaTick 1 - VoiceOn 0, SS_MULTIPLIER*HIGH_A, VOICE_LOW + VoiceOn 0, SS_MULTIPLIER*MIDDLE_A, VOICE_LOW DeltaTick 8 VoiceOff 0 DeltaTick 2 - VoiceOn 0, SS_MULTIPLIER*HIGH_G, VOICE_LOW + VoiceOn 0, SS_MULTIPLIER*MIDDLE_G, VOICE_LOW DeltaTick 8 VoiceOff 0 DeltaTick 2 - VoiceOn 0, SS_MULTIPLIER*HIGH_F, VOICE_LOW + VoiceOn 0, SS_MULTIPLIER*MIDDLE_F, VOICE_LOW DeltaTick 8 VoiceOff 0 DeltaTick 2 - VoiceOn 0, SS_MULTIPLIER*HIGH_A, VOICE_LOW + VoiceOn 0, SS_MULTIPLIER*MIDDLE_A, VOICE_LOW DeltaTick 8 VoiceOff 0 DeltaTick 2 - VoiceOn 0, SS_MULTIPLIER*HIGH_G, VOICE_LOW + VoiceOn 0, SS_MULTIPLIER*MIDDLE_G, VOICE_LOW DeltaTick 8 VoiceOff 0 DeltaTick 2 - VoiceOn 0, SS_MULTIPLIER*HIGH_F, VOICE_LOW + VoiceOn 0, SS_MULTIPLIER*MIDDLE_F, VOICE_LOW DeltaTick 8 VoiceOff 0 DeltaTick 2 - VoiceOn 0, SS_MULTIPLIER*HIGH_A, VOICE_LOW + VoiceOn 0, SS_MULTIPLIER*MIDDLE_A, VOICE_LOW DeltaTick 8 VoiceOff 0 DeltaTick 2 - VoiceOn 0, SS_MULTIPLIER*HIGH_G, VOICE_LOW + VoiceOn 0, SS_MULTIPLIER*MIDDLE_G, VOICE_LOW DeltaTick 10 VoiceOff 0 DeltaTick 2 - VoiceOn 0, SS_MULTIPLIER*HIGH_F, VOICE_LOW + VoiceOn 0, SS_MULTIPLIER*MIDDLE_F, VOICE_LOW DeltaTick 12 VoiceOff 0 General GE_END_OF_SONG @@ -209,11 +213,11 @@ SimpleSoundHeader STD_NO_HELP_VOICES ChangePriority ChangeEnvelope 0, IP_OVERDRIVEN_GUITAR DeltaTick 1 - VoiceOn 0, SS_MULTIPLIER*800, VOICE_LOW ; 1.25 tick beep - DeltaMS 20 - VoiceOff 0 ; no pause - VoiceOn 0, SS_MULTIPLIER*500, VOICE_HIGH ; 1.25 tick beep - DeltaMS 20 + VoiceOn 0, SS_MULTIPLIER*600, VOICE_LOW ; 1 tick beep + DeltaTick 1 + VoiceOff 0 ; no pause + VoiceOn 0, SS_MULTIPLIER*400, VOICE_HIGH ; 1 tick beep + DeltaTick 1 VoiceOff 0 General GE_END_OF_SONG diff --git a/Library/User/uiConstant.def b/Library/User/uiConstant.def index 2ed5662c8..828019033 100644 --- a/Library/User/uiConstant.def +++ b/Library/User/uiConstant.def @@ -142,9 +142,12 @@ GENERAL_DEVICE_STRINGS equ FALSE ; the system boots and shuts down. The files are specified in the .INI file ; under [ui]/startupMusic and [ui]/shutdownMusic, and are relative to ; SP_USER_DATA\SOUNDS. +; PLAY_WAV_FOR_ERRORS: Use WAV files for SST_NO_INPUT and SST_NO_HELP. The files +; must be specified in the geos.ini file. See WavPlayInitSound for details. +; If PLAY_WAV_FOR_ERRORS is not defined, FM sounds will be played instead. ;----------------------------------------------------------------------------- PLAY_STARTUP_SHUTDOWN_MUSIC equ TRUE -PLAY_WAV_FOR_ERRORS equ TRUE +; PLAY_WAV_FOR_ERRORS equ TRUE PCMCIA_SUPPORT equ FALSE diff --git a/Tools/build/product/bbxensem/Trans/german/SOUND_BL.000 b/Tools/build/product/bbxensem/Trans/german/SOUND_BL.000 index 78d2b030f..bd41af0aa 100644 Binary files a/Tools/build/product/bbxensem/Trans/german/SOUND_BL.000 and b/Tools/build/product/bbxensem/Trans/german/SOUND_BL.000 differ