3 * Menu sub-routines/Volume setrting.
4 * Copyright (C) 2013-09-11 K.Ohta <whatisthis.sowhat ai gmail.com>
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2,
10 * or (at your option) any later version.
11 * This library / program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 * See the GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this library; see the file COPYING. If not, write to the
18 * Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
21 * As a special exception, if you link this(includeed from sdcc) library
22 * with other files, some of which are compiled with SDCC,
23 * to produce an executable, this library does not by itself cause
24 * the resulting executable to be covered by the GNU General Public License.
25 * This exception does not however invalidate any other reasons why
26 * the executable file might be covered by the GNU General Public License.
30 #include "menu_memoryfreq.h"
32 #include "commondef.h"
33 #include "backlight.h"
42 unsigned char dispf = 0xff;
48 d = akc6955_getvolumemode();
55 print_numeric_nosupress(setup.volume, 2);
59 _PUTCHAR('0' + (setup.prevolume & 3));
61 if(setup.lowboost == 0x00){
68 c = pollkey_single_timeout(41, 1); // 943ms
70 dispf = backlight_dec(dispf);
75 if(setup.volume > 63) setup.volume = 63;
76 akc6955_setvolume(setup.volume);
80 if(setup.volume < 23) setup.volume = 23;
81 akc6955_setvolume(setup.volume);
91 akc6955_setvolumemode(fact);
92 akc6955_setvolume(setup.volume);
96 if(setup.prevolume > 3) setup.prevolume = 0;
97 akc6955_set_prevolume(setup.prevolume);
98 akc6955_setvolume(setup.volume);
102 if(setup.lowboost == 0x00){
105 setup.lowboost = fact;
106 akc6955_set_lowboost(setup.lowboost);
107 akc6955_setvolume(setup.volume);
112 if(setup.volume < 24){
117 idle_time_ms(9); // Pad.