unsigned char _band;
unsigned char _userband;
unsigned int bank = num / USER_MEMORY_NUM;
+ unsigned int n = num % USER_MEMORY_NUM;
- if(num >= (USER_MEMORY_NUM * 24)) return;
+ if(num >= (USER_MEMORY_NUM * USER_MEMORY_BANKS)) return;
-// if(bank != setup.pagenum){ // Swap memory
+ if(bank != setup.pagenum){ // Swap memory
// save_frequencies();
load_frequencies(bank, 0x00);
- // }
+ }
- _fm = freqset.memoryfreqs[num].fm;
- _userband = freqset.memoryfreqs[num].band;
+ _fm = freqset.memoryfreqs[n].fm;
+ _userband = freqset.memoryfreqs[n].band;
_band = _userband & 0x1f;
_userband = _userband >> 5;
if(_fm) { // AM
setup.am_userbandnum = _userband;
}
setup.memorynum = num;
- akc6955_chg_fm(_fm, freqset.memoryfreqs[num].freq);
+ akc6955_chg_fm(_fm, freqset.memoryfreqs[n].freq);
}
unsigned char _userband;
unsigned int _freq;
unsigned int bank = num / USER_MEMORY_NUM;
+ unsigned int n = num % USER_MEMORY_NUM;
- if(num >= (USER_MEMORY_NUM * 24)) return;
+ if(num >= (USER_MEMORY_NUM * USER_MEMORY_BANKS)) return;
if(bank != setup.pagenum){ // Save now bank, and load using bank
save_frequencies();
_band = setup.fmband;
_freq = setup.fmfreq;
}
- freqset.memoryfreqs[num].fm = _fm;
- freqset.memoryfreqs[num].band = (_userband << 5) | (_band & 0x1f);
- freqset.memoryfreqs[num].freq = _freq;
+ freqset.memoryfreqs[n].fm = _fm;
+ freqset.memoryfreqs[n].band = (_userband << 5) | (_band & 0x1f);
+ freqset.memoryfreqs[n].freq = _freq;
save_frequencies();
}
void on_call_userfreq(void)
{
- unsigned int val = USER_MEMORY_NUM * 24;
+ unsigned int val = USER_MEMORY_NUM * USER_MEMORY_BANKS;
_CLS();
_LOCATE(0,0);
printstr("Mem: 000-");
void on_set_userfreq(void)
{
- unsigned int val = USER_MEMORY_NUM * 24;
+ unsigned int val = USER_MEMORY_NUM * USER_MEMORY_BANKS;
unsigned char n;
unsigned char c;
_CLS();
_HOME();
c = pollkey_single_timeout(44, 1); // About 1s
switch(c) {
- case charcode_8: // UP CH
+ case charcode_7: // UP 1CH
setup.memorynum++;
- if(setup.memorynum >= (USER_MEMORY_NUM * 24)) setup.memorynum = 0;
- call_freqbank(setup.memorynum);
- break;
- case charcode_2: // Down CH
- if(setup.memorynum == 0) setup.memorynum = USER_MEMORY_NUM * 24;
- setup.memorynum--;
+ if(setup.memorynum >= (USER_MEMORY_NUM * USER_MEMORY_BANKS)) setup.memorynum = 0;
call_freqbank(setup.memorynum);
break;
+ case charcode_1: // Down 1CH
+ if(setup.memorynum == 0) setup.memorynum = USER_MEMORY_NUM * USER_MEMORY_BANKS;
+ setup.memorynum--;
+ call_freqbank(setup.memorynum);
+ break;
+ case charcode_9: // Up CH FAST
+ setup.memorynum += 100;
+ if(setup.memorynum > (USER_MEMORY_NUM * USER_MEMORY_BANKS)) {
+ setup.memorynum = setup.memorynum % 100;
+ }
+ call_freqbank(setup.memorynum);
+ break;
+ case charcode_3: // Down CH FAST
+ if(setup.memorynum < 100) {
+ setup.memorynum = (((USER_MEMORY_NUM * USER_MEMORY_BANKS) / 100 - 1) * 100) + (setup.memorynum % 100);
+ } else {
+ setup.memorynum -= 100;
+ }
+ call_freqbank(setup.memorynum);
+ break;
+ case charcode_8: // Up CH MID
+ setup.memorynum += USER_MEMORY_NUM;
+ if(setup.memorynum >= (USER_MEMORY_NUM * USER_MEMORY_BANKS)) {
+ setup.memorynum = setup.memorynum - USER_MEMORY_NUM * USER_MEMORY_BANKS;
+ }
+ call_freqbank(setup.memorynum);
+ break;
+ case charcode_2: // Down CH MID
+ if(setup.memorynum < USER_MEMORY_NUM) {
+ setup.memorynum = (USER_MEMORY_NUM * USER_MEMORY_BANKS) - USER_MEMORY_NUM + setup.memorynum;
+ } else {
+ setup.memorynum -= USER_MEMORY_NUM;
+ }
+ call_freqbank(setup.memorynum);
+ break;
+ case charcode_5: // Recall
+ call_freqbank(setup.memorynum);
+ break;
case charcode_d: // Reset
- if(_fm) { // AM
+ if(_fm) { // AM
setup.fmband = _band;
setup.fm_userbandnum = _userband;
setup.fmfreq = _freq;
- } else {
+ } else {
setup.amband = _band;
setup.am_userbandnum = _userband;
setup.amfreq = _freq;
- }
- akc6955_chg_fm(_fm, _freq);
- break;
- case charcode_5: // exit
+ }
+ akc6955_chg_fm(_fm, _freq);
+ break;
+ case charcode_4:
+ on_call_userfreq();
+ break;
+ case charcode_6:
+ on_set_userfreq();
+ break;
case charcode_a:
goto _l0;
break;