_bpm.a80:

таблица пересчета скорости "бит в минуту" в количество прерываний GS на тик
(тик равен скорости модуля).

37500 Hz * 60 сек = 2250000 прерываний/мин
1 бит = 24 тика (из описания формата mod)

минимум 32 б/мин = 768 тиков в минуту
максимум 255 б/мин = 6120 тиков в минуту


void make_bpm_tab(void)
{
  WORD bpmtab[224];
  int i;

  for (i=0;i<224;i++)
    bpmtab[i]=(WORD)(0.5+2250000.0/((float)(i+32.0)*24.0));
}






_amfrqtb.a80:

таблица соответствия периодов (нот) в модуле нотам всех 8ми октав.

октава	периоды--->
1	6848	6464	6100	5760	5428	5124	4836	4564	4308	4068	3844	3628
2	3424	3232	3050	2880	2714	2562	2418	2282	2154	2034	1922	1814
3	1712	1616	1525	1440	1357	1281	1209	1141	1077	1017	961	907
4	856	808	763	720	679	641	605	571	539	509	481	454
5	428	404	381	360	339	320	302	285	269	254	240	227
6	214	202	191	180	170	160	151	143	135	127	120	113
7	107	101	95	90	85	80	76	71	67	64	60	57
8	54	51	48	45	42	40	38	36	34	32	30	28

1	+finetune=1	\
..	+finetune=2     | 15 раз для всех finetune
..	+finetune=n     |
8	+finetune=-8    /






_gsfrqtb.a80

таблица периодов (нот) для GS (аналогична амижной).
в оригинальной версии прошивки зависимость между периодом GS и амигой
выражалась формулой:

GS_Per = Ami_Per * 2,68203735351562

в исправленной версии:

GS_Per = Ami_Per * 2,704







_amtogs.a80

таблица перевода периодов амиги в периоды GS (расчитана по формулам как в
_gsfrqtb.a80). в этой таблице значения первых 1024 периодов (0..1023).
значения больших периодов вычисляются в функции EFXCNV (FX_H.a80).












