diff options
-rw-r--r-- | apps/settings.c | 141 | ||||
-rw-r--r-- | firmware/export/mp3_playback.h | 1 | ||||
-rw-r--r-- | firmware/mp3_playback.c | 134 |
3 files changed, 35 insertions, 241 deletions
diff --git a/apps/settings.c b/apps/settings.c index 463fd710be..5d71fac513 100644 --- a/apps/settings.c +++ b/apps/settings.c | |||
@@ -74,7 +74,6 @@ char rec_base_directory[] = REC_BASE_DIR; | |||
74 | #define CONFIG_BLOCK_VERSION 11 | 74 | #define CONFIG_BLOCK_VERSION 11 |
75 | #define CONFIG_BLOCK_SIZE 512 | 75 | #define CONFIG_BLOCK_SIZE 512 |
76 | #define RTC_BLOCK_SIZE 44 | 76 | #define RTC_BLOCK_SIZE 44 |
77 | #define MARKER 0x7FFFFFFF /* FIXME: to be removed with val2phys/phys2val */ | ||
78 | 77 | ||
79 | #ifdef HAVE_LCD_BITMAP | 78 | #ifdef HAVE_LCD_BITMAP |
80 | #define MAX_LINES 10 | 79 | #define MAX_LINES 10 |
@@ -161,12 +160,12 @@ static struct bit_entry rtc_bits[] = | |||
161 | /* # of bits, offset+size, default, .cfg name, .cfg values */ | 160 | /* # of bits, offset+size, default, .cfg name, .cfg values */ |
162 | /* sound */ | 161 | /* sound */ |
163 | {7, S_O(volume), 70, "volume", NULL }, /* 0...100 */ | 162 | {7, S_O(volume), 70, "volume", NULL }, /* 0...100 */ |
164 | {7 | SIGNED, S_O(balance), 0, "balance", NULL }, /* -50...50 */ | 163 | {8 | SIGNED, S_O(balance), 0, "balance", NULL }, /* -100...100 */ |
165 | {5, S_O(bass), 0, "bass", NULL }, /* 0...30 */ | 164 | {5 | SIGNED, S_O(bass), 0, "bass", NULL }, /* -15..+15 / -12..+12 */ |
166 | {5, S_O(treble), 0, "treble", NULL }, /* 0...30 */ | 165 | {5 | SIGNED, S_O(treble), 0, "treble", NULL }, /* -15..+15 / -12..+12 */ |
167 | #ifdef HAVE_MAS3587F | 166 | #ifdef HAVE_MAS3587F |
168 | {5, S_O(loudness), 0, "loudness", NULL }, /* 0...17 */ | 167 | {5, S_O(loudness), 0, "loudness", NULL }, /* 0...17 */ |
169 | {4, S_O(bass_boost), 0, "bass boost", NULL }, /* 0...10 */ | 168 | {7, S_O(bass_boost), 0, "bass boost", NULL }, /* 0...100 */ |
170 | {2, S_O(avc), 0, "auto volume", "off,2,4,8" }, | 169 | {2, S_O(avc), 0, "auto volume", "off,2,4,8" }, |
171 | #endif | 170 | #endif |
172 | {3, S_O(channel_config), 6, "channels", | 171 | {3, S_O(channel_config), 6, "channels", |
@@ -595,7 +594,6 @@ static void save_bit_table(const struct bit_entry* p_table, int count, int bitst | |||
595 | */ | 594 | */ |
596 | int settings_save( void ) | 595 | int settings_save( void ) |
597 | { | 596 | { |
598 | int restore[6]; /* recover, FIXME: get rid of this */ | ||
599 | DEBUGF( "settings_save()\n" ); | 597 | DEBUGF( "settings_save()\n" ); |
600 | 598 | ||
601 | { | 599 | { |
@@ -609,24 +607,6 @@ int settings_save( void ) | |||
609 | global_settings.topruntime = global_settings.runtime; | 607 | global_settings.topruntime = global_settings.runtime; |
610 | } | 608 | } |
611 | 609 | ||
612 | /* While the mpeg_val2phys business still exists: ( to be removed) */ | ||
613 | /* temporarily replace the hardware levels with the MMI values */ | ||
614 | restore[SOUND_VOLUME] = global_settings.volume; | ||
615 | global_settings.volume = mpeg_val2phys(SOUND_VOLUME, global_settings.volume); | ||
616 | restore[SOUND_BASS] = global_settings.bass; | ||
617 | global_settings.bass = mpeg_val2phys(SOUND_BASS, global_settings.bass); | ||
618 | restore[SOUND_TREBLE] = global_settings.treble; | ||
619 | global_settings.treble = mpeg_val2phys(SOUND_TREBLE, global_settings.treble); | ||
620 | restore[SOUND_BALANCE] = global_settings.balance; | ||
621 | global_settings.balance = mpeg_val2phys(SOUND_BALANCE, global_settings.balance); | ||
622 | #ifdef HAVE_MAS3587F | ||
623 | restore[SOUND_LOUDNESS] = global_settings.loudness; | ||
624 | global_settings.loudness = mpeg_val2phys(SOUND_LOUDNESS, global_settings.loudness); | ||
625 | restore[SOUND_SUPERBASS] = global_settings.bass_boost; | ||
626 | global_settings.bass_boost = mpeg_val2phys(SOUND_SUPERBASS, global_settings.bass_boost); | ||
627 | #endif | ||
628 | |||
629 | |||
630 | /* serialize scalar values into RTC and HD sector, specified via table */ | 610 | /* serialize scalar values into RTC and HD sector, specified via table */ |
631 | save_bit_table(rtc_bits, sizeof(rtc_bits)/sizeof(rtc_bits[0]), 4*8); | 611 | save_bit_table(rtc_bits, sizeof(rtc_bits)/sizeof(rtc_bits[0]), 4*8); |
632 | save_bit_table(hd_bits, sizeof(hd_bits)/sizeof(hd_bits[0]), RTC_BLOCK_SIZE*8); | 612 | save_bit_table(hd_bits, sizeof(hd_bits)/sizeof(hd_bits[0]), RTC_BLOCK_SIZE*8); |
@@ -635,18 +615,6 @@ int settings_save( void ) | |||
635 | strncpy(&config_block[0xcc], global_settings.lang_file, MAX_FILENAME); | 615 | strncpy(&config_block[0xcc], global_settings.lang_file, MAX_FILENAME); |
636 | strncpy(&config_block[0xe0], global_settings.font_file, MAX_FILENAME); | 616 | strncpy(&config_block[0xe0], global_settings.font_file, MAX_FILENAME); |
637 | 617 | ||
638 | |||
639 | /* restore the original values; to be removed with mpeg_val2phys */ | ||
640 | global_settings.volume = restore[SOUND_VOLUME]; | ||
641 | global_settings.bass = restore[SOUND_BASS]; | ||
642 | global_settings.treble = restore[SOUND_TREBLE]; | ||
643 | global_settings.balance = restore[SOUND_BALANCE]; | ||
644 | #ifdef HAVE_MAS3587F | ||
645 | global_settings.loudness = restore[SOUND_LOUDNESS]; | ||
646 | global_settings.bass_boost = restore[SOUND_SUPERBASS]; | ||
647 | #endif | ||
648 | |||
649 | |||
650 | if(save_config_buffer()) | 618 | if(save_config_buffer()) |
651 | { | 619 | { |
652 | lcd_clear_display(); | 620 | lcd_clear_display(); |
@@ -839,31 +807,12 @@ static void load_bit_table(const struct bit_entry* p_table, int count, int bitst | |||
839 | */ | 807 | */ |
840 | void settings_load(int which) | 808 | void settings_load(int which) |
841 | { | 809 | { |
842 | int restore[6]; /* recover, FIXME: get rid of this */ | ||
843 | |||
844 | DEBUGF( "reload_all_settings()\n" ); | 810 | DEBUGF( "reload_all_settings()\n" ); |
845 | 811 | ||
846 | /* load the buffer from the RTC (resets it to all-unused if the block | 812 | /* load the buffer from the RTC (resets it to all-unused if the block |
847 | is invalid) and decode the settings which are set in the block */ | 813 | is invalid) and decode the settings which are set in the block */ |
848 | if (!load_config_buffer(which)) | 814 | if (!load_config_buffer(which)) |
849 | { | 815 | { |
850 | /* While the mpeg_val2phys business still exists: ( FIXME: to be removed) */ | ||
851 | /* temporarily put markers into the values to detect if they got loaded */ | ||
852 | restore[SOUND_VOLUME] = global_settings.volume; | ||
853 | global_settings.volume = MARKER; | ||
854 | restore[SOUND_BASS] = global_settings.bass; | ||
855 | global_settings.bass = MARKER; | ||
856 | restore[SOUND_TREBLE] = global_settings.treble; | ||
857 | global_settings.treble = MARKER; | ||
858 | restore[SOUND_BALANCE] = global_settings.balance; | ||
859 | global_settings.balance = MARKER; | ||
860 | #ifdef HAVE_MAS3587F | ||
861 | restore[SOUND_LOUDNESS] = global_settings.loudness; | ||
862 | global_settings.loudness = MARKER; | ||
863 | restore[SOUND_SUPERBASS] = global_settings.bass_boost; | ||
864 | global_settings.bass_boost = MARKER; | ||
865 | #endif | ||
866 | |||
867 | /* load scalar values from RTC and HD sector, specified via table */ | 816 | /* load scalar values from RTC and HD sector, specified via table */ |
868 | if (which & SETTINGS_RTC) | 817 | if (which & SETTINGS_RTC) |
869 | { | 818 | { |
@@ -875,23 +824,6 @@ void settings_load(int which) | |||
875 | RTC_BLOCK_SIZE*8); | 824 | RTC_BLOCK_SIZE*8); |
876 | } | 825 | } |
877 | 826 | ||
878 | /* FIXME, to be removed with mpeg_val2phys: */ | ||
879 | /* if a value got loaded, convert it, else restore it */ | ||
880 | global_settings.volume = (global_settings.volume == MARKER) ? | ||
881 | restore[SOUND_VOLUME] : mpeg_phys2val(SOUND_VOLUME, global_settings.volume); | ||
882 | global_settings.bass = (global_settings.bass == MARKER) ? | ||
883 | restore[SOUND_BASS] : mpeg_phys2val(SOUND_BASS, global_settings.bass); | ||
884 | global_settings.treble = (global_settings.treble == MARKER) ? | ||
885 | restore[SOUND_TREBLE] : mpeg_phys2val(SOUND_TREBLE, global_settings.treble); | ||
886 | global_settings.balance = (global_settings.balance == MARKER) ? | ||
887 | restore[SOUND_BALANCE] : mpeg_phys2val(SOUND_BALANCE, global_settings.balance); | ||
888 | #ifdef HAVE_MAS3587F | ||
889 | global_settings.loudness = (global_settings.loudness == MARKER) ? | ||
890 | restore[SOUND_LOUDNESS] : mpeg_phys2val(SOUND_LOUDNESS, global_settings.loudness); | ||
891 | global_settings.bass_boost = (global_settings.bass_boost == MARKER) ? | ||
892 | restore[SOUND_SUPERBASS] : mpeg_phys2val(SOUND_SUPERBASS, global_settings.bass_boost); | ||
893 | #endif | ||
894 | |||
895 | if ( global_settings.contrast < MIN_CONTRAST_SETTING ) | 827 | if ( global_settings.contrast < MIN_CONTRAST_SETTING ) |
896 | global_settings.contrast = lcd_default_contrast(); | 828 | global_settings.contrast = lcd_default_contrast(); |
897 | 829 | ||
@@ -1046,31 +978,11 @@ bool settings_load_config(char* file) | |||
1046 | { | 978 | { |
1047 | int fd; | 979 | int fd; |
1048 | char line[128]; | 980 | char line[128]; |
1049 | int restore[6]; /* recover, FIXME: get rid of this */ | ||
1050 | 981 | ||
1051 | fd = open(file, O_RDONLY); | 982 | fd = open(file, O_RDONLY); |
1052 | if (fd < 0) | 983 | if (fd < 0) |
1053 | return false; | 984 | return false; |
1054 | 985 | ||
1055 | |||
1056 | /* While the mpeg_val2phys business still exists: ( to be removed) */ | ||
1057 | /* temporarily put markers into the values to detect if they got loaded */ | ||
1058 | restore[SOUND_VOLUME] = global_settings.volume; | ||
1059 | global_settings.volume = MARKER; | ||
1060 | restore[SOUND_BASS] = global_settings.bass; | ||
1061 | global_settings.bass = MARKER; | ||
1062 | restore[SOUND_TREBLE] = global_settings.treble; | ||
1063 | global_settings.treble = MARKER; | ||
1064 | restore[SOUND_BALANCE] = global_settings.balance; | ||
1065 | global_settings.balance = MARKER; | ||
1066 | #ifdef HAVE_MAS3587F | ||
1067 | restore[SOUND_LOUDNESS] = global_settings.loudness; | ||
1068 | global_settings.loudness = MARKER; | ||
1069 | restore[SOUND_SUPERBASS] = global_settings.bass_boost; | ||
1070 | global_settings.bass_boost = MARKER; | ||
1071 | #endif | ||
1072 | |||
1073 | |||
1074 | while (read_line(fd, line, sizeof line) > 0) | 986 | while (read_line(fd, line, sizeof line) > 0) |
1075 | { | 987 | { |
1076 | char* name; | 988 | char* name; |
@@ -1126,23 +1038,6 @@ bool settings_load_config(char* file) | |||
1126 | } | 1038 | } |
1127 | } | 1039 | } |
1128 | 1040 | ||
1129 | /* FIXME, to be removed with mpeg_val2phys: */ | ||
1130 | /* if a value got loaded, convert it, else restore it */ | ||
1131 | global_settings.volume = (global_settings.volume == MARKER) ? | ||
1132 | restore[SOUND_VOLUME] : mpeg_phys2val(SOUND_VOLUME, global_settings.volume); | ||
1133 | global_settings.bass = (global_settings.bass == MARKER) ? | ||
1134 | restore[SOUND_BASS] : mpeg_phys2val(SOUND_BASS, global_settings.bass); | ||
1135 | global_settings.treble = (global_settings.treble == MARKER) ? | ||
1136 | restore[SOUND_TREBLE] : mpeg_phys2val(SOUND_TREBLE, global_settings.treble); | ||
1137 | global_settings.balance = (global_settings.balance == MARKER) ? | ||
1138 | restore[SOUND_BALANCE] : mpeg_phys2val(SOUND_BALANCE, global_settings.balance); | ||
1139 | #ifdef HAVE_MAS3587F | ||
1140 | global_settings.loudness = (global_settings.loudness == MARKER) ? | ||
1141 | restore[SOUND_LOUDNESS] : mpeg_phys2val(SOUND_LOUDNESS, global_settings.loudness); | ||
1142 | global_settings.bass_boost = (global_settings.bass_boost == MARKER) ? | ||
1143 | restore[SOUND_SUPERBASS] : mpeg_phys2val(SOUND_SUPERBASS, global_settings.bass_boost); | ||
1144 | #endif | ||
1145 | |||
1146 | close(fd); | 1041 | close(fd); |
1147 | settings_apply(); | 1042 | settings_apply(); |
1148 | settings_save(); | 1043 | settings_save(); |
@@ -1221,7 +1116,6 @@ bool settings_save_config(void) | |||
1221 | bool done = false; | 1116 | bool done = false; |
1222 | int fd, i; | 1117 | int fd, i; |
1223 | char filename[MAX_PATH]; | 1118 | char filename[MAX_PATH]; |
1224 | int restore[6]; /* recover, FIXME: get rid of this */ | ||
1225 | 1119 | ||
1226 | /* find unused filename */ | 1120 | /* find unused filename */ |
1227 | for (i=0; ; i++) { | 1121 | for (i=0; ; i++) { |
@@ -1276,37 +1170,10 @@ bool settings_save_config(void) | |||
1276 | global_settings.font_file); | 1170 | global_settings.font_file); |
1277 | #endif | 1171 | #endif |
1278 | 1172 | ||
1279 | /* FIXME: While the mpeg_val2phys business still exists: ( to be removed) */ | ||
1280 | /* temporarily replace the hardware levels with the MMI values */ | ||
1281 | restore[SOUND_VOLUME] = global_settings.volume; | ||
1282 | global_settings.volume = mpeg_val2phys(SOUND_VOLUME, global_settings.volume); | ||
1283 | restore[SOUND_BASS] = global_settings.bass; | ||
1284 | global_settings.bass = mpeg_val2phys(SOUND_BASS, global_settings.bass); | ||
1285 | restore[SOUND_TREBLE] = global_settings.treble; | ||
1286 | global_settings.treble = mpeg_val2phys(SOUND_TREBLE, global_settings.treble); | ||
1287 | restore[SOUND_BALANCE] = global_settings.balance; | ||
1288 | global_settings.balance = mpeg_val2phys(SOUND_BALANCE, global_settings.balance); | ||
1289 | #ifdef HAVE_MAS3587F | ||
1290 | restore[SOUND_LOUDNESS] = global_settings.loudness; | ||
1291 | global_settings.loudness = mpeg_val2phys(SOUND_LOUDNESS, global_settings.loudness); | ||
1292 | restore[SOUND_SUPERBASS] = global_settings.bass_boost; | ||
1293 | global_settings.bass_boost = mpeg_val2phys(SOUND_SUPERBASS, global_settings.bass_boost); | ||
1294 | #endif | ||
1295 | |||
1296 | /* here's the action: write values to file, specified via table */ | 1173 | /* here's the action: write values to file, specified via table */ |
1297 | save_cfg_table(rtc_bits, sizeof(rtc_bits)/sizeof(rtc_bits[0]), fd); | 1174 | save_cfg_table(rtc_bits, sizeof(rtc_bits)/sizeof(rtc_bits[0]), fd); |
1298 | save_cfg_table(hd_bits, sizeof(hd_bits)/sizeof(hd_bits[0]), fd); | 1175 | save_cfg_table(hd_bits, sizeof(hd_bits)/sizeof(hd_bits[0]), fd); |
1299 | 1176 | ||
1300 | /* FIXME to be removed with mpeg_val2phys: restore the original values */ | ||
1301 | global_settings.volume = restore[SOUND_VOLUME]; | ||
1302 | global_settings.bass = restore[SOUND_BASS]; | ||
1303 | global_settings.treble = restore[SOUND_TREBLE]; | ||
1304 | global_settings.balance = restore[SOUND_BALANCE]; | ||
1305 | #ifdef HAVE_MAS3587F | ||
1306 | global_settings.loudness = restore[SOUND_LOUDNESS]; | ||
1307 | global_settings.bass_boost = restore[SOUND_SUPERBASS]; | ||
1308 | #endif | ||
1309 | |||
1310 | close(fd); | 1177 | close(fd); |
1311 | 1178 | ||
1312 | lcd_clear_display(); | 1179 | lcd_clear_display(); |
diff --git a/firmware/export/mp3_playback.h b/firmware/export/mp3_playback.h index 1eb5dc264e..ad989a2572 100644 --- a/firmware/export/mp3_playback.h +++ b/firmware/export/mp3_playback.h | |||
@@ -33,7 +33,6 @@ int mpeg_sound_max(int setting); | |||
33 | int mpeg_sound_default(int setting); | 33 | int mpeg_sound_default(int setting); |
34 | void mpeg_sound_channel_config(int configuration); | 34 | void mpeg_sound_channel_config(int configuration); |
35 | int mpeg_val2phys(int setting, int value); | 35 | int mpeg_val2phys(int setting, int value); |
36 | int mpeg_phys2val(int setting, int value); | ||
37 | char *mpeg_sound_unit(int setting); | 36 | char *mpeg_sound_unit(int setting); |
38 | int mpeg_sound_numdecimals(int setting); | 37 | int mpeg_sound_numdecimals(int setting); |
39 | #if defined(HAVE_MAS3587F) || defined(SIMULATOR) | 38 | #if defined(HAVE_MAS3587F) || defined(SIMULATOR) |
diff --git a/firmware/mp3_playback.c b/firmware/mp3_playback.c index 239f987c56..28d14eae64 100644 --- a/firmware/mp3_playback.c +++ b/firmware/mp3_playback.c | |||
@@ -94,9 +94,14 @@ static int numdecimals[] = | |||
94 | static int minval[] = | 94 | static int minval[] = |
95 | { | 95 | { |
96 | 0, /* Volume */ | 96 | 0, /* Volume */ |
97 | 0, /* Bass */ | 97 | #ifdef HAVE_MAS3587F |
98 | 0, /* Treble */ | 98 | -12, /* Bass */ |
99 | -50, /* Balance */ | 99 | -12, /* Treble */ |
100 | #else | ||
101 | -15, /* Bass */ | ||
102 | -15, /* Treble */ | ||
103 | #endif | ||
104 | -100, /* Balance */ | ||
100 | 0, /* Loudness */ | 105 | 0, /* Loudness */ |
101 | 0, /* Bass boost */ | 106 | 0, /* Bass boost */ |
102 | -1, /* AVC */ | 107 | -1, /* AVC */ |
@@ -110,15 +115,15 @@ static int maxval[] = | |||
110 | { | 115 | { |
111 | 100, /* Volume */ | 116 | 100, /* Volume */ |
112 | #ifdef HAVE_MAS3587F | 117 | #ifdef HAVE_MAS3587F |
113 | 24, /* Bass */ | 118 | 12, /* Bass */ |
114 | 24, /* Treble */ | 119 | 12, /* Treble */ |
115 | #else | 120 | #else |
116 | 30, /* Bass */ | 121 | 15, /* Bass */ |
117 | 30, /* Treble */ | 122 | 15, /* Treble */ |
118 | #endif | 123 | #endif |
119 | 50, /* Balance */ | 124 | 100, /* Balance */ |
120 | 17, /* Loudness */ | 125 | 17, /* Loudness */ |
121 | 10, /* Bass boost */ | 126 | 100, /* Bass boost */ |
122 | 3, /* AVC */ | 127 | 3, /* AVC */ |
123 | 6, /* Channels */ | 128 | 6, /* Channels */ |
124 | 15, /* Left gain */ | 129 | 15, /* Left gain */ |
@@ -130,11 +135,11 @@ static int defaultval[] = | |||
130 | { | 135 | { |
131 | 70, /* Volume */ | 136 | 70, /* Volume */ |
132 | #ifdef HAVE_MAS3587F | 137 | #ifdef HAVE_MAS3587F |
133 | 12+6, /* Bass */ | 138 | 6, /* Bass */ |
134 | 12+6, /* Treble */ | 139 | 6, /* Treble */ |
135 | #else | 140 | #else |
136 | 15+7, /* Bass */ | 141 | 7, /* Bass */ |
137 | 15+7, /* Treble */ | 142 | 7, /* Treble */ |
138 | #endif | 143 | #endif |
139 | 0, /* Balance */ | 144 | 0, /* Balance */ |
140 | 0, /* Loudness */ | 145 | 0, /* Loudness */ |
@@ -614,30 +619,27 @@ void mpeg_sound_set(int setting, int value) | |||
614 | #ifdef HAVE_MAS3587F | 619 | #ifdef HAVE_MAS3587F |
615 | tmp = ((value * 127 / 100) & 0xff) << 8; | 620 | tmp = ((value * 127 / 100) & 0xff) << 8; |
616 | mas_codec_writereg(0x11, tmp & 0xff00); | 621 | mas_codec_writereg(0x11, tmp & 0xff00); |
617 | #else | ||
618 | /* Convert to percent */ | ||
619 | current_balance = value * 2; | ||
620 | #endif | 622 | #endif |
621 | break; | 623 | break; |
622 | 624 | ||
623 | case SOUND_BASS: | 625 | case SOUND_BASS: |
624 | #ifdef HAVE_MAS3587F | 626 | #ifdef HAVE_MAS3587F |
625 | tmp = (((value-12) * 8) & 0xff) << 8; | 627 | tmp = ((value * 8) & 0xff) << 8; |
626 | mas_codec_writereg(0x14, tmp & 0xff00); | 628 | mas_codec_writereg(0x14, tmp & 0xff00); |
627 | #else | 629 | #else |
628 | mas_writereg(MAS_REG_KBASS, bass_table[value]); | 630 | mas_writereg(MAS_REG_KBASS, bass_table[value+15]); |
629 | current_bass = (value-15) * 10; | 631 | current_bass = (value) * 10; |
630 | set_prescaled_volume(); | 632 | set_prescaled_volume(); |
631 | #endif | 633 | #endif |
632 | break; | 634 | break; |
633 | 635 | ||
634 | case SOUND_TREBLE: | 636 | case SOUND_TREBLE: |
635 | #ifdef HAVE_MAS3587F | 637 | #ifdef HAVE_MAS3587F |
636 | tmp = (((value-12) * 8) & 0xff) << 8; | 638 | tmp = ((value * 8) & 0xff) << 8; |
637 | mas_codec_writereg(0x15, tmp & 0xff00); | 639 | mas_codec_writereg(0x15, tmp & 0xff00); |
638 | #else | 640 | #else |
639 | mas_writereg(MAS_REG_KTREBLE, treble_table[value]); | 641 | mas_writereg(MAS_REG_KTREBLE, treble_table[value+15]); |
640 | current_treble = (value-15) * 10; | 642 | current_treble = (value) * 10; |
641 | set_prescaled_volume(); | 643 | set_prescaled_volume(); |
642 | #endif | 644 | #endif |
643 | break; | 645 | break; |
@@ -645,7 +647,7 @@ void mpeg_sound_set(int setting, int value) | |||
645 | #ifdef HAVE_MAS3587F | 647 | #ifdef HAVE_MAS3587F |
646 | case SOUND_SUPERBASS: | 648 | case SOUND_SUPERBASS: |
647 | if (value) { | 649 | if (value) { |
648 | tmp = MAX(MIN(value * 12, 0x7f), 0); | 650 | tmp = MAX(MIN(value * 127 / 100, 0x7f), 0); |
649 | mas_codec_writereg(MAS_REG_KMDB_STR, (tmp & 0xff) << 8); | 651 | mas_codec_writereg(MAS_REG_KMDB_STR, (tmp & 0xff) << 8); |
650 | tmp = 0x30; /* MDB_HAR: Space for experiment here */ | 652 | tmp = 0x30; /* MDB_HAR: Space for experiment here */ |
651 | mas_codec_writereg(MAS_REG_KMDB_HAR, (tmp & 0xff) << 8); | 653 | mas_codec_writereg(MAS_REG_KMDB_HAR, (tmp & 0xff) << 8); |
@@ -700,43 +702,11 @@ void mpeg_sound_set(int setting, int value) | |||
700 | 702 | ||
701 | int mpeg_val2phys(int setting, int value) | 703 | int mpeg_val2phys(int setting, int value) |
702 | { | 704 | { |
705 | #ifdef HAVE_MAS3587F | ||
703 | int result = 0; | 706 | int result = 0; |
704 | 707 | ||
705 | switch(setting) | 708 | switch(setting) |
706 | { | 709 | { |
707 | case SOUND_VOLUME: | ||
708 | result = value; | ||
709 | break; | ||
710 | |||
711 | case SOUND_BALANCE: | ||
712 | result = value * 2; | ||
713 | break; | ||
714 | |||
715 | case SOUND_BASS: | ||
716 | #ifdef HAVE_MAS3587F | ||
717 | result = value - 12; | ||
718 | #else | ||
719 | result = value - 15; | ||
720 | #endif | ||
721 | break; | ||
722 | |||
723 | case SOUND_TREBLE: | ||
724 | #ifdef HAVE_MAS3587F | ||
725 | result = value - 12; | ||
726 | #else | ||
727 | result = value - 15; | ||
728 | #endif | ||
729 | break; | ||
730 | |||
731 | #ifdef HAVE_MAS3587F | ||
732 | case SOUND_LOUDNESS: | ||
733 | result = value; | ||
734 | break; | ||
735 | |||
736 | case SOUND_SUPERBASS: | ||
737 | result = value * 10; | ||
738 | break; | ||
739 | |||
740 | case SOUND_LEFT_GAIN: | 710 | case SOUND_LEFT_GAIN: |
741 | case SOUND_RIGHT_GAIN: | 711 | case SOUND_RIGHT_GAIN: |
742 | result = (value - 2) * 15; | 712 | result = (value - 2) * 15; |
@@ -745,60 +715,18 @@ int mpeg_val2phys(int setting, int value) | |||
745 | case SOUND_MIC_GAIN: | 715 | case SOUND_MIC_GAIN: |
746 | result = value * 15 + 210; | 716 | result = value * 15 + 210; |
747 | break; | 717 | break; |
748 | #endif | ||
749 | } | ||
750 | return result; | ||
751 | } | ||
752 | |||
753 | int mpeg_phys2val(int setting, int value) | ||
754 | { | ||
755 | int result = 0; | ||
756 | |||
757 | switch(setting) | ||
758 | { | ||
759 | case SOUND_VOLUME: | ||
760 | result = value; | ||
761 | break; | ||
762 | |||
763 | case SOUND_BALANCE: | ||
764 | result = value / 2; | ||
765 | break; | ||
766 | |||
767 | case SOUND_BASS: | ||
768 | #ifdef HAVE_MAS3587F | ||
769 | result = value + 12; | ||
770 | #else | ||
771 | result = value + 15; | ||
772 | #endif | ||
773 | break; | ||
774 | |||
775 | case SOUND_TREBLE: | ||
776 | #ifdef HAVE_MAS3587F | ||
777 | result = value + 12; | ||
778 | #else | ||
779 | result = value + 15; | ||
780 | #endif | ||
781 | break; | ||
782 | 718 | ||
783 | #ifdef HAVE_MAS3587F | 719 | default: |
784 | case SOUND_SUPERBASS: | ||
785 | result = value / 10; | ||
786 | break; | ||
787 | |||
788 | case SOUND_LOUDNESS: | ||
789 | case SOUND_AVC: | ||
790 | case SOUND_LEFT_GAIN: | ||
791 | case SOUND_RIGHT_GAIN: | ||
792 | case SOUND_MIC_GAIN: | ||
793 | result = value; | 720 | result = value; |
794 | break; | 721 | break; |
795 | #endif | ||
796 | } | 722 | } |
797 | |||
798 | return result; | 723 | return result; |
724 | #else | ||
725 | (void)setting; | ||
726 | return value; | ||
727 | #endif | ||
799 | } | 728 | } |
800 | 729 | ||
801 | |||
802 | void mpeg_sound_channel_config(int configuration) | 730 | void mpeg_sound_channel_config(int configuration) |
803 | { | 731 | { |
804 | #ifdef SIMULATOR | 732 | #ifdef SIMULATOR |