;*************************************************************************
;* Falownik jednofazowy
;*************************************************************************
;* Programowanie procesora:
;* (1) Program FUSEBITS: 0xFFDCE2
;* (2) Program FLASH <AC.HEX>
;* (3) Program EEPROM <AC.EEP>
;*************************************************************************
;* RST DW SPI WD |EE BOD BOD BOD |CK CK SU SU|CK CK CK CK
;* DISBL EN EN TON|SAVE LEV2 LEV1 LEV0|DIV8 OUT T1 T0|SEL3 SEL2 SEL1 SEL0
;* 1 1 0 1 |1 1 1 1 |0 1 1 0 |0 0 1 0 DEFAULT 0xffdf62
;* 1 1 0 1 |1 1 0 0 |1 1 1 0 |0 0 1 0 ICCAVR 0xffdce2
;*************************************************************************
.include "tn85def.inc"
.equ RAMPL = 163 ; dzielnik dla zmian czest (100Hz/s)
.equ OKRES = 243 ; okres przebiegu = OKRES+1
.equ PWM = OCR1B ; rejestr PWM
.equ NORM = PB0 ; zwora (otwarta = 50Hz, zwarta = ADC)
.equ STOP = PB1 ; zwora (otwarta = STOP, zwarta = RUN)
.def dana = r0 ; dana z tablic
.def index = r1 ; zmienna indeksujaca
.def temp = r2 ; do obliczen PWM
.def ___r3 = r3 ;
.def acceL = r4 ; dzielnik rampy przespieszania
.def acceH = r5 ;
.def deceL = r6 ; dzielnik rampy hamowania
.def deceH = r7 ;
.def ___r8 = r8 ;
.def EEacH = r9 ; starszy bajt rampy przyspieszania
.def EEdeH = r10 ; starszy bajt rampy hamowania
.def __r11 = r11 ;
.def fazaL = r12 ; faza L
.def fazaH = r13 ; faza H
.def offL = r14 ; offset L
.def offH = r15 ; offset H
.def akum = r16 ; akum
.def Od0 = r17 ; stala 0
.def Od1 = r18 ; stala 1
.def Od122 = r19 ; stala 122 (50% okresu PWM)
.def Od163 = r20 ; stala 163 (mlodszy bajt dzielnika ramp)
.def HZ50 = r21 ; stala 99 (50Hz)
.def EEfmi = r22 ; czestotliwosc zimnego startu
.def __r23 = r23 ;
.def nast = r24 ; nastawiona czest
.def freq = r25 ; biezaca czest=(freq+1)/2
; .def __r26 = r26 ; XL
; .def __r27 = r27 ; XH
; .def __r28 = r28 ; YL
; .def __r29 = r29 ; YH
; .def __r30 = R30 ; ZL
; .def __r31 = R31 ; ZH
;****** Inicjalizacja portow *********************************************
.cseg
.org 0x0000
main:
; - - R P!P V H R
; - - S W W E L U
; T M M L D N
ldi akum,0x03 ; 0 0 0 0 0 0 1 1
out PORTB,akum ;
ldi akum,0x18 ; 0 0 0 1 1 0 0 0
out DDRB,akum
sbi ACSR,ACD ; wylacz komparator
;****** Inicjalizacja stalych ********************************************
ldi Od0,0 ; inicjuj stale
ldi Od1,1
ldi Od122,122
ldi Od163,163
ldi HZ50,99 ; 50Hz
;****** Wczytanie stalych z EEPROM ***************************************
out EEARH,Od0 ; ustaw adres 1
mov akum,Od1
out EEARL,akum
sbi EECR,EERE
in EEfmi,EEDR ; wczytaj czest zimnego startu
cpi EEfmi,100 ; <=50Hz?
brlo w_zakresie
mov EEfmi,Od0 ; poza zakresem-przyjmij 0.5Hz
w_zakresie:
inc akum ; ustaw adres 2
out EEARL,akum
sbi EECR,EERE
in EEacH,EEDR ; wczytaj rampe przyspieszania
inc akum ; ustaw adres 3
out EEARL,akum
sbi EECR,EERE
in EEdeH,EEDR ; wczytaj rampe hamowania
;****** Konfiguracja timera T1 *******************************************
ldi akum,OKRES ; ustaw okres PWM
out OCR1C,akum
ldi akum,(1<<TOV1) ; skasuja TOV1
out TIFR,akum
ldi akum,(1<<CS10) ; CK
out TCCR1,akum
;****** Konfiguracja ADC *************************************************
ldi akum,(1<<ADC1D) ; wylacz bufor cyfrowy na ADC1
out DIDR0,akum
ldi akum,(1<<ADLAR)|(1<<MUX0) ; ADCH, Vref=VCC, ADC1
out ADMUX,akum
ldi akum,(1<<ADEN)|(1<<ADSC)|(1<<ADATE)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0) ; CK/128, FREE RUN
out ADCSRA,akum ; start ADC
;****** Wlaczenie watch-doga *********************************************
wdr
ldi akum,(1<<WDCE)|(1<<WDE) ; zezwol na zmiany w watchdog
out WDTCR,akum
ldi akum,(1<<WDE)
out WDTCR,akum ; watchdog na 16ms
;*************************************************************************
;* Glowna petla programu
;*************************************************************************
; Wyznaczenie nastawionej czestotliwosci wyjsciowej
; Odczyt nastawy potencjometru i przeskalowanie
petla: ldi ZL,low(line<<1) ; mlodszy/starszy bajt adresu bazowego...
ldi ZH,high(line<<1) ; ...ze stablicowana funkcja liniowa
in akum,ADCH ; odczytaj nastawe potencjometru (8 bitow)
add ZL,akum ; dodaj ADC jako przesuniecie w tablicy
adc ZH,Od0 ; dodaj ewentualne przniesienie
lpm nast,Z ; odczytaj nastawiona czestotliwosc
; Sprawdzenie zwory NORM
sbic PINB,NORM ; zworka NORM zwarta => zostaw nastawe z ADC
mov nast,HZ50 ; zworka otwarta => przyjmij 50Hz
; Sparwdzenie zwory STOP
sbic PINB,STOP ; zworka STOP?
rjmp jest_stop ; rozwarta => hamowanie/wylaczenie
in akum,GTCCR
sbrc akum,COM1B0 ; wyjscia OC1B/!OC1B odlaczone?
rjmp przeskocz_stop ; nie => przeskocz
mov freq,EEfmi ; tak +> zimny start => ruszaj od EEfmin
mov fazaL,Od0 ; startuj z zerowa faza
mov fazaH,Od0
ldi akum,(1<<PWM1B)|(1<<COM1B0) ; wlacz PWM, dolacz OC1B/!OC1B
out GTCCR,akum
rjmp przeskocz_stop
jest_stop: ; zworka STOP rozwarta
mov nast,Od0 ; nastaw 0.5Hz
cpse freq,nast ; freq spadla do nastawionej?
rjmp przeskocz_stop ; nie => bez zatrzymywania
out GTCCR,Od0 ; tak => wylacz PWM, odlacz OC1B/!OC1B
przeskocz_stop:
; Lagodne przyspieszanie
sub acceL,Od1 ; odliczanie czasu rampy przyspieszania
brcc nie_przyspieszaj ; bez przeniesienia? => odliczaj dalej
mov acceL,Od163 ; przeladuj mlodszy bajt licznika
sub acceH,Od1 ; dekrement starszego bajtu licznika
brcc nie_przyspieszaj ; przeniesienie? tak => bez przyspieszania
mov acceL,Od163 ; tak => przeladuj odliczany czas
mov acceH,EEacH ; przeladuj starszy bajt odliczanego czasu
cp freq,nast ; biezaca >= nastawiona?
brsh nie_przyspieszaj ; tak => nie przyspieszaj
inc freq ; nie => zwieksz biezaca
nie_przyspieszaj:
; Lagodne hamowanie
sub deceL,Od1 ; odliczanie czasu rampy hamowania
brcc nie_hamuj ; bez przeniesienia? => odliczaj dalej
mov deceL,Od163 ; przeladuj mlodszy bajt licznika
sub deceH,Od1 ; dekrement starszego bajtu licznika
brcc nie_hamuj ; przeniesienie? tak => bez hamowania
mov deceL,Od163 ; tak => przeladuj odliczany czas
mov deceH,EEdeH ; przeladuj starszy bajt odliczanego czasu
cp nast,freq ; nastawiona >= biezaca?
brsh nie_hamuj ; tak => nie hamuj
dec freq ; nie => zmniejsz biezaca
nie_hamuj:
; Syntezowanie przebiegu wyjsciowego
add fazaL,freq ; oblicz nowa faze
adc fazaH,Od0 ; starszy bajt fazy
add fazaL,Od1 ; dodaj offset: czest=(freq+1)/2
adc fazaH,Od0 ; starszy bajt to indeks probki
ldi ZL,low(tind<<1) ; adres bazowy tablicy indeksow
ldi ZH,high(tind<<1) ; starszy bajt
add ZL,fazaH ; dodaj starszy bajt fazy
adc ZH,Od0 ; jako przesuniecie w tablicy indeksow
lpm index,Z ; pobierz indeks w pierwszej cwiartce
; Wyznaczenie przesuniecia dla tablicy probek
mov offL,freq ; biezaca czestotliwosc jako przesuniecie
mov offH,Od0 ; starszy bajt
lsl offL ; *2
rol offH
lsl offL ; *4
rol offH
lsl offL ; *8
rol offH
lsl offL ; *16
rol offH
lsl offL ; *32
rol offH
lsl offL ; *64
rol offH ; elementy tablicy z probkami maja 64 bajty
; Pobranie probki sygnalu wyjsciowego
ldi ZL,low(sine<<1) ; adres bazowy tablicy z probkami
ldi ZH,high(sine<<1) ; starszy bajt
add ZL,offL ; dodaj przesuniecie (freq*64)
adc ZH,offH ; starszy bajt
add ZL,index ; dodaj kat w pierwszej cwiartce
adc ZH,Od0 ; starszy bajt
lpm temp,Z ; pobierz nowa probke z tablicy
; Zmiana znaku w drugiej polowce okresu i dodanie przesuniecia
sbrc fazaH,7 ; pierwsza polowka okresu (0..127)?
com temp ; nie => temp = -temp
add temp,Od122 ; przenies do zakresu 1..122..243
; Wystaw obliczone probki sygnalu wyjsciowego
out PWM,temp ; aktualizuj rejestr PWM
wdr ; skasuj watchdoga
; Czekaj do konca okresu generatora PWM
czekaj_na_koniec_okresu:
in akum,TIFR ; wczytaj rejestr znacznikow
sbrs akum,TOV1 ; jest TOV1?
rjmp czekaj_na_koniec_okresu ; nie => sprawdzaj dalej
ldi akum,(1<<TOV1) ; tak => skasuj TOV1
out TIFR,akum
; Koniec glownej petli programu
rjmp petla ; wroc na poczatek petli
;*************************************************************************
;* Tablice stalych
;*************************************************************************
.org 0x0080 ; adresy sa 2-bajtowe
; faza (0..255) na cwiartki (0..63,63..0,0..63,63..0)
tind:
.db 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
.db 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
.db 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47
.db 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63
.db 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48
.db 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32
.db 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16
.db 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
.db 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
.db 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
.db 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47
.db 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63
.db 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48
.db 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32
.db 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16
.db 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
; napiecie potencjometru (0..255) => czestotliwosc (0..115)
line:
.db 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 6, 6, 7
.db 7, 8, 8, 9, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14
.db 14, 15, 15, 16, 16, 17, 17, 18, 18, 18, 19, 19, 20, 20, 21, 21
.db 22, 22, 23, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 28
.db 29, 29, 30, 30, 31, 31, 32, 32, 32, 33, 33, 34, 34, 35, 35, 36
.db 36, 37, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 41, 42, 42, 43
.db 43, 44, 44, 45, 45, 46, 46, 46, 47, 47, 48, 48, 49, 49, 50, 50
.db 51, 51, 51, 52, 52, 53, 53, 54, 54, 55, 55, 55, 56, 56, 57, 57
.db 58, 58, 59, 59, 60, 60, 60, 61, 61, 62, 62, 63, 63, 64, 64, 64
.db 65, 65, 66, 66, 67, 67, 68, 68, 69, 69, 69, 70, 70, 71, 71, 72
.db 72, 73, 73, 74, 74, 74, 75, 75, 76, 76, 77, 77, 78, 78, 78, 79
.db 79, 80, 80, 81, 81, 82, 82, 83, 83, 83, 84, 84, 85, 85, 86, 86
.db 87, 87, 87, 88, 88, 89, 89, 90, 90, 91, 91, 92, 92, 92, 93, 93
.db 94, 94, 95, 95, 96, 96, 97, 97, 97, 98, 98, 99, 99,100,100,101
.db 101,101,102,102,103,103,104,104,105,105,106,106,106,107,107,108
.db 108,109,109,110,110,110,111,111,112,112,113,113,114,114,115,115
sine:
; ksztalt przebieg dla 0.5..50.0Hz [sin(x)]
.db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
.db 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
.db 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
.db 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
.db 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1
.db 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2
.db 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
.db 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
.db 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
.db 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3
.db 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
.db 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4
.db 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2
.db 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
.db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4
.db 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
.db 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2
.db 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4
.db 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6
.db 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6
.db 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3
.db 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5
.db 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7
.db 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7
.db 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3
.db 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6
.db 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8
.db 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8
.db 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4
.db 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7
.db 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9
.db 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10
.db 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4
.db 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8
.db 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10
.db 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11
.db 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5
.db 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9
.db 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11
.db 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12
.db 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5
.db 5, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9
.db 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12
.db 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13
.db 0, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6
.db 6, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 10, 10, 10, 10
.db 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13
.db 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15
.db 0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6
.db 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 11
.db 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 15
.db 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16
.db 0, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6, 7
.db 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 11, 12, 12
.db 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 15, 16, 16
.db 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17
.db 0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 6, 6, 7, 7
.db 7, 8, 8, 9, 9, 9, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13
.db 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 16, 17, 17
.db 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18
.db 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7
.db 8, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14
.db 14, 14, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18
.db 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19
.db 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7, 8
.db 8, 9, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15
.db 15, 15, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19
.db 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21
.db 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8
.db 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15
.db 16, 16, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 20, 20, 20, 20
.db 20, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22
.db 1, 1, 2, 2, 3, 3, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9
.db 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 16
.db 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21
.db 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23
.db 1, 1, 2, 2, 3, 4, 4, 5, 5, 6, 7, 7, 8, 8, 9, 9
.db 10, 10, 11, 11, 12, 13, 13, 14, 14, 15, 15, 15, 16, 16, 17, 17
.db 18, 18, 18, 19, 19, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22
.db 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24
.db 1, 1, 2, 3, 3, 4, 4, 5, 6, 6, 7, 7, 8, 9, 9, 10
.db 10, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18
.db 19, 19, 19, 20, 20, 21, 21, 21, 22, 22, 22, 23, 23, 23, 23, 24
.db 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25
.db 1, 1, 2, 3, 3, 4, 5, 5, 6, 7, 7, 8, 8, 9, 10, 10
.db 11, 11, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 18, 18, 18, 19
.db 19, 20, 20, 21, 21, 21, 22, 22, 23, 23, 23, 24, 24, 24, 24, 25
.db 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27
.db 1, 1, 2, 3, 3, 4, 5, 5, 6, 7, 7, 8, 9, 9, 10, 11
.db 11, 12, 13, 13, 14, 14, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20
.db 20, 21, 21, 22, 22, 22, 23, 23, 24, 24, 24, 25, 25, 25, 26, 26
.db 26, 26, 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28
.db 1, 1, 2, 3, 4, 4, 5, 6, 6, 7, 8, 8, 9, 10, 11, 11
.db 12, 13, 13, 14, 14, 15, 16, 16, 17, 17, 18, 19, 19, 20, 20, 21
.db 21, 22, 22, 23, 23, 23, 24, 24, 25, 25, 25, 26, 26, 26, 27, 27
.db 27, 27, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29
.db 1, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 10, 11, 12
.db 12, 13, 14, 14, 15, 16, 16, 17, 18, 18, 19, 19, 20, 20, 21, 22
.db 22, 23, 23, 24, 24, 24, 25, 25, 26, 26, 26, 27, 27, 27, 28, 28
.db 28, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30
.db 1, 2, 2, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 11, 11, 12
.db 13, 14, 14, 15, 16, 16, 17, 18, 18, 19, 19, 20, 21, 21, 22, 22
.db 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 28, 29, 29, 29
.db 29, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31
.db 1, 2, 2, 3, 4, 5, 6, 6, 7, 8, 9, 10, 10, 11, 12, 13
.db 13, 14, 15, 16, 16, 17, 18, 18, 19, 20, 20, 21, 21, 22, 23, 23
.db 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 29, 30, 30, 30
.db 31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 32, 33, 33, 33, 33, 33
.db 1, 2, 3, 3, 4, 5, 6, 7, 7, 8, 9, 10, 11, 12, 12, 13
.db 14, 15, 15, 16, 17, 18, 18, 19, 20, 20, 21, 22, 22, 23, 24, 24
.db 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 30, 31, 31, 31
.db 32, 32, 32, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 34, 34
.db 1, 2, 3, 3, 4, 5, 6, 7, 8, 9, 9, 10, 11, 12, 13, 14
.db 14, 15, 16, 17, 17, 18, 19, 20, 20, 21, 22, 22, 23, 24, 24, 25
.db 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 31, 32, 32, 33
.db 33, 33, 33, 34, 34, 34, 34, 34, 35, 35, 35, 35, 35, 35, 35, 35
.db 1, 2, 3, 4, 4, 5, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14
.db 15, 16, 16, 17, 18, 19, 20, 20, 21, 22, 22, 23, 24, 25, 25, 26
.db 26, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 33, 34
.db 34, 34, 35, 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36
.db 1, 2, 3, 4, 5, 6, 6, 7, 8, 9, 10, 11, 12, 13, 14, 14
.db 15, 16, 17, 18, 19, 19, 20, 21, 22, 22, 23, 24, 25, 25, 26, 27
.db 27, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 34, 35
.db 35, 35, 36, 36, 36, 36, 37, 37, 37, 37, 37, 37, 37, 37, 38, 38
.db 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 10, 11, 12, 13, 14, 15
.db 16, 17, 18, 18, 19, 20, 21, 22, 22, 23, 24, 25, 25, 26, 27, 28
.db 28, 29, 29, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36
.db 36, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39
.db 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 14, 15
.db 16, 17, 18, 19, 20, 21, 22, 22, 23, 24, 25, 25, 26, 27, 28, 28
.db 29, 30, 30, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37
.db 37, 38, 38, 38, 39, 39, 39, 39, 39, 40, 40, 40, 40, 40, 40, 40
.db 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
.db 17, 18, 19, 20, 20, 21, 22, 23, 24, 25, 25, 26, 27, 28, 29, 29
.db 30, 31, 31, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38
.db 39, 39, 39, 39, 40, 40, 40, 40, 41, 41, 41, 41, 41, 41, 41, 41
.db 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
.db 17, 18, 19, 20, 21, 22, 23, 24, 25, 25, 26, 27, 28, 29, 29, 30
.db 31, 32, 32, 33, 34, 34, 35, 35, 36, 37, 37, 38, 38, 38, 39, 39
.db 40, 40, 40, 41, 41, 41, 41, 42, 42, 42, 42, 42, 42, 42, 42, 42
.db 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
.db 18, 19, 20, 21, 22, 23, 23, 24, 25, 26, 27, 28, 29, 29, 30, 31
.db 32, 32, 33, 34, 35, 35, 36, 36, 37, 38, 38, 39, 39, 40, 40, 40
.db 41, 41, 41, 42, 42, 42, 43, 43, 43, 43, 43, 43, 43, 44, 44, 44
.db 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
.db 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 29, 30, 31, 32
.db 33, 33, 34, 35, 35, 36, 37, 37, 38, 39, 39, 40, 40, 41, 41, 42
.db 42, 42, 43, 43, 43, 44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45
.db 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18
.db 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 28, 29, 30, 31, 32, 33
.db 34, 34, 35, 36, 36, 37, 38, 38, 39, 40, 40, 41, 41, 42, 42, 43
.db 43, 43, 44, 44, 44, 45, 45, 45, 45, 46, 46, 46, 46, 46, 46, 46
.db 1, 2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18
.db 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34
.db 34, 35, 36, 37, 37, 38, 39, 39, 40, 41, 41, 42, 42, 43, 43, 44
.db 44, 45, 45, 45, 46, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, 47
.db 1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 18, 19
.db 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 34
.db 35, 36, 37, 38, 38, 39, 40, 40, 41, 42, 42, 43, 43, 44, 44, 45
.db 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 48, 48, 48, 48, 48, 48
.db 1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19
.db 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 34, 35
.db 36, 37, 38, 39, 39, 40, 41, 41, 42, 43, 43, 44, 45, 45, 46, 46
.db 46, 47, 47, 48, 48, 48, 49, 49, 49, 49, 49, 49, 50, 50, 50, 50
.db 1, 3, 4, 5, 6, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 20
.db 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36
.db 37, 38, 39, 40, 40, 41, 42, 42, 43, 44, 44, 45, 46, 46, 47, 47
.db 48, 48, 48, 49, 49, 49, 50, 50, 50, 50, 51, 51, 51, 51, 51, 51
.db 1, 3, 4, 5, 6, 8, 9, 10, 11, 13, 14, 15, 16, 18, 19, 20
.db 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37
.db 38, 39, 40, 40, 41, 42, 43, 43, 44, 45, 45, 46, 47, 47, 48, 48
.db 49, 49, 50, 50, 50, 51, 51, 51, 51, 52, 52, 52, 52, 52, 52, 52
.db 1, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 16, 17, 18, 19, 21
.db 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38
.db 39, 40, 41, 41, 42, 43, 44, 44, 45, 46, 47, 47, 48, 48, 49, 49
.db 50, 50, 51, 51, 51, 52, 52, 52, 53, 53, 53, 53, 53, 53, 53, 53
.db 1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 15, 16, 17, 18, 20, 21
.db 22, 23, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39
.db 40, 41, 41, 42, 43, 44, 45, 46, 46, 47, 48, 48, 49, 49, 50, 50
.db 51, 51, 52, 52, 53, 53, 53, 54, 54, 54, 54, 54, 54, 54, 54, 54
.db 1, 3, 4, 5, 7, 8, 10, 11, 12, 14, 15, 16, 18, 19, 20, 21
.db 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40
.db 41, 41, 42, 43, 44, 45, 46, 47, 47, 48, 49, 49, 50, 51, 51, 52
.db 52, 53, 53, 53, 54, 54, 54, 55, 55, 55, 55, 55, 56, 56, 56, 56
.db 1, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17, 18, 19, 21, 22
.db 23, 24, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40
.db 41, 42, 43, 44, 45, 46, 47, 48, 48, 49, 50, 50, 51, 52, 52, 53
.db 53, 54, 54, 55, 55, 55, 56, 56, 56, 56, 57, 57, 57, 57, 57, 57
.db 1, 3, 4, 6, 7, 9, 10, 11, 13, 14, 16, 17, 18, 20, 21, 22
.db 24, 25, 26, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41
.db 42, 43, 44, 45, 46, 47, 48, 49, 49, 50, 51, 51, 52, 53, 53, 54
.db 54, 55, 55, 56, 56, 56, 57, 57, 57, 58, 58, 58, 58, 58, 58, 58
.db 1, 3, 4, 6, 7, 9, 10, 12, 13, 15, 16, 17, 19, 20, 21, 23
.db 24, 26, 27, 28, 29, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42
.db 43, 44, 45, 46, 47, 48, 49, 50, 50, 51, 52, 53, 53, 54, 54, 55
.db 56, 56, 56, 57, 57, 58, 58, 58, 59, 59, 59, 59, 59, 59, 59, 59
.db 1, 3, 4, 6, 7, 9, 10, 12, 13, 15, 16, 18, 19, 21, 22, 23
.db 25, 26, 27, 29, 30, 31, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43
.db 44, 45, 46, 47, 48, 49, 50, 51, 51, 52, 53, 54, 54, 55, 56, 56
.db 57, 57, 58, 58, 58, 59, 59, 59, 60, 60, 60, 60, 60, 60, 60, 60
.db 2, 3, 5, 6, 8, 9, 11, 12, 14, 15, 17, 18, 20, 21, 22, 24
.db 25, 27, 28, 29, 31, 32, 33, 35, 36, 37, 38, 39, 41, 42, 43, 44
.db 45, 46, 47, 48, 49, 50, 51, 52, 52, 53, 54, 55, 55, 56, 57, 57
.db 58, 58, 59, 59, 60, 60, 60, 61, 61, 61, 61, 61, 62, 62, 62, 62
.db 2, 3, 5, 6, 8, 9, 11, 12, 14, 15, 17, 18, 20, 21, 23, 24
.db 26, 27, 28, 30, 31, 33, 34, 35, 36, 38, 39, 40, 41, 43, 44, 45
.db 46, 47, 48, 49, 50, 51, 52, 53, 53, 54, 55, 56, 56, 57, 58, 58
.db 59, 59, 60, 60, 61, 61, 62, 62, 62, 62, 63, 63, 63, 63, 63, 63
.db 2, 3, 5, 6, 8, 9, 11, 13, 14, 16, 17, 19, 20, 22, 23, 25
.db 26, 28, 29, 30, 32, 33, 35, 36, 37, 38, 40, 41, 42, 43, 44, 46
.db 47, 48, 49, 50, 51, 52, 53, 54, 54, 55, 56, 57, 58, 58, 59, 59
.db 60, 61, 61, 62, 62, 62, 63, 63, 63, 64, 64, 64, 64, 64, 64, 64
.db 2, 3, 5, 6, 8, 10, 11, 13, 14, 16, 18, 19, 21, 22, 24, 25
.db 27, 28, 30, 31, 32, 34, 35, 37, 38, 39, 40, 42, 43, 44, 45, 46
.db 48, 49, 50, 51, 52, 53, 54, 55, 55, 56, 57, 58, 59, 59, 60, 61
.db 61, 62, 62, 63, 63, 64, 64, 64, 64, 65, 65, 65, 65, 65, 65, 65
.db 2, 3, 5, 7, 8, 10, 11, 13, 15, 16, 18, 19, 21, 23, 24, 26
.db 27, 29, 30, 32, 33, 34, 36, 37, 39, 40, 41, 42, 44, 45, 46, 47
.db 48, 50, 51, 52, 53, 54, 55, 56, 57, 57, 58, 59, 60, 60, 61, 62
.db 62, 63, 63, 64, 64, 65, 65, 65, 66, 66, 66, 66, 66, 67, 67, 67
.db 2, 3, 5, 7, 8, 10, 12, 13, 15, 17, 18, 20, 21, 23, 25, 26
.db 28, 29, 31, 32, 34, 35, 37, 38, 39, 41, 42, 43, 45, 46, 47, 48
.db 49, 51, 52, 53, 54, 55, 56, 57, 58, 58, 59, 60, 61, 62, 62, 63
.db 63, 64, 65, 65, 65, 66, 66, 67, 67, 67, 67, 68, 68, 68, 68, 68
.db 2, 3, 5, 7, 9, 10, 12, 14, 15, 17, 19, 20, 22, 23, 25, 27
.db 28, 30, 31, 33, 34, 36, 37, 39, 40, 41, 43, 44, 45, 47, 48, 49
.db 50, 51, 53, 54, 55, 56, 57, 58, 59, 59, 60, 61, 62, 63, 63, 64
.db 65, 65, 66, 66, 67, 67, 67, 68, 68, 68, 69, 69, 69, 69, 69, 69
.db 2, 3, 5, 7, 9, 10, 12, 14, 15, 17, 19, 21, 22, 24, 25, 27
.db 29, 30, 32, 33, 35, 36, 38, 39, 41, 42, 43, 45, 46, 47, 49, 50
.db 51, 52, 53, 55, 56, 57, 58, 59, 60, 60, 61, 62, 63, 64, 64, 65
.db 66, 66, 67, 67, 68, 68, 69, 69, 69, 70, 70, 70, 70, 70, 70, 70
.db 2, 4, 5, 7, 9, 11, 12, 14, 16, 17, 19, 21, 23, 24, 26, 28
.db 29, 31, 32, 34, 35, 37, 38, 40, 41, 43, 44, 46, 47, 48, 50, 51
.db 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 62, 63, 64, 65, 66, 66
.db 67, 67, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 71, 71, 71, 71
.db 2, 4, 5, 7, 9, 11, 13, 14, 16, 18, 20, 21, 23, 25, 26, 28
.db 30, 31, 33, 34, 36, 38, 39, 41, 42, 44, 45, 46, 48, 49, 50, 52
.db 53, 54, 55, 56, 58, 59, 60, 61, 62, 63, 63, 64, 65, 66, 67, 67
.db 68, 69, 69, 70, 70, 71, 71, 71, 72, 72, 72, 72, 72, 73, 73, 73
.db 2, 4, 5, 7, 9, 11, 13, 15, 16, 18, 20, 22, 23, 25, 27, 28
.db 30, 32, 33, 35, 37, 38, 40, 41, 43, 44, 46, 47, 49, 50, 51, 53
.db 54, 55, 56, 57, 59, 60, 61, 62, 63, 64, 65, 65, 66, 67, 68, 68
.db 69, 70, 70, 71, 71, 72, 72, 73, 73, 73, 73, 74, 74, 74, 74, 74
.db 2, 4, 6, 7, 9, 11, 13, 15, 17, 18, 20, 22, 24, 25, 27, 29
.db 31, 32, 34, 36, 37, 39, 40, 42, 43, 45, 46, 48, 49, 51, 52, 53
.db 55, 56, 57, 58, 59, 61, 62, 63, 64, 65, 66, 66, 67, 68, 69, 70
.db 70, 71, 71, 72, 73, 73, 73, 74, 74, 74, 75, 75, 75, 75, 75, 75
.db 2, 4, 6, 8, 9, 11, 13, 15, 17, 19, 20, 22, 24, 26, 28, 29
.db 31, 33, 35, 36, 38, 39, 41, 43, 44, 46, 47, 49, 50, 52, 53, 54
.db 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 68, 69, 70, 71
.db 71, 72, 73, 73, 74, 74, 75, 75, 75, 76, 76, 76, 76, 76, 76, 76
.db 2, 4, 6, 8, 10, 11, 13, 15, 17, 19, 21, 23, 24, 26, 28, 30
.db 32, 33, 35, 37, 38, 40, 42, 43, 45, 46, 48, 49, 51, 52, 54, 55
.db 56, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 69, 69, 70, 71, 72
.db 73, 73, 74, 74, 75, 75, 76, 76, 76, 77, 77, 77, 77, 77, 77, 77
.db 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 29, 30
.db 32, 34, 36, 37, 39, 41, 42, 44, 46, 47, 49, 50, 52, 53, 55, 56
.db 57, 59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 71, 72, 73
.db 74, 74, 75, 75, 76, 76, 77, 77, 78, 78, 78, 78, 78, 79, 79, 79
.db 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 21, 23, 25, 27, 29, 31
.db 33, 34, 36, 38, 40, 41, 43, 45, 46, 48, 49, 51, 53, 54, 55, 57
.db 58, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 72, 73, 74
.db 75, 75, 76, 77, 77, 78, 78, 78, 79, 79, 79, 80, 80, 80, 80, 80
.db 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 29, 31
.db 33, 35, 37, 38, 40, 42, 44, 45, 47, 49, 50, 52, 53, 55, 56, 58
.db 59, 60, 62, 63, 64, 65, 67, 68, 69, 70, 71, 72, 73, 74, 74, 75
.db 76, 77, 77, 78, 78, 79, 79, 80, 80, 80, 81, 81, 81, 81, 81, 81
.db 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32
.db 34, 35, 37, 39, 41, 43, 44, 46, 48, 49, 51, 53, 54, 56, 57, 59
.db 60, 61, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, 76
.db 77, 78, 78, 79, 80, 80, 80, 81, 81, 82, 82, 82, 82, 82, 82, 82
.db 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32
.db 34, 36, 38, 40, 41, 43, 45, 47, 48, 50, 52, 53, 55, 56, 58, 59
.db 61, 62, 64, 65, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 77, 77
.db 78, 79, 80, 80, 81, 81, 82, 82, 82, 83, 83, 83, 83, 83, 83, 83
.db 2, 4, 6, 8, 10, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33
.db 35, 36, 38, 40, 42, 44, 46, 47, 49, 51, 52, 54, 56, 57, 59, 60
.db 62, 63, 65, 66, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79
.db 79, 80, 81, 81, 82, 82, 83, 83, 84, 84, 84, 84, 85, 85, 85, 85
.db 2, 4, 6, 8, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33
.db 35, 37, 39, 41, 43, 44, 46, 48, 50, 52, 53, 55, 56, 58, 60, 61
.db 63, 64, 65, 67, 68, 69, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80
.db 80, 81, 82, 82, 83, 84, 84, 84, 85, 85, 85, 86, 86, 86, 86, 86
.db 2, 4, 6, 9, 11, 13, 15, 17, 19, 21, 23, 25, 28, 30, 32, 34
.db 36, 38, 39, 41, 43, 45, 47, 49, 51, 52, 54, 56, 57, 59, 60, 62
.db 63, 65, 66, 68, 69, 70, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81
.db 82, 82, 83, 84, 84, 85, 85, 86, 86, 86, 87, 87, 87, 87, 87, 87
.db 2, 4, 7, 9, 11, 13, 15, 17, 20, 22, 24, 26, 28, 30, 32, 34
.db 36, 38, 40, 42, 44, 46, 48, 49, 51, 53, 55, 56, 58, 60, 61, 63
.db 64, 66, 67, 69, 70, 71, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82
.db 83, 83, 84, 85, 85, 86, 86, 87, 87, 88, 88, 88, 88, 88, 88, 88
.db 2, 4, 7, 9, 11, 13, 15, 18, 20, 22, 24, 26, 28, 30, 32, 35
.db 37, 39, 41, 43, 44, 46, 48, 50, 52, 54, 55, 57, 59, 61, 62, 64
.db 65, 67, 68, 70, 71, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83
.db 84, 85, 85, 86, 87, 87, 88, 88, 88, 89, 89, 89, 89, 89, 90, 90
.db 2, 4, 7, 9, 11, 13, 16, 18, 20, 22, 24, 27, 29, 31, 33, 35
.db 37, 39, 41, 43, 45, 47, 49, 51, 53, 54, 56, 58, 60, 61, 63, 65
.db 66, 68, 69, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84
.db 85, 86, 86, 87, 88, 88, 89, 89, 90, 90, 90, 90, 91, 91, 91, 91
.db 2, 5, 7, 9, 11, 14, 16, 18, 20, 23, 25, 27, 29, 31, 33, 35
.db 38, 40, 42, 44, 46, 48, 50, 51, 53, 55, 57, 59, 60, 62, 64, 65
.db 67, 69, 70, 71, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85
.db 86, 87, 88, 88, 89, 89, 90, 90, 91, 91, 91, 92, 92, 92, 92, 92
.db 2, 5, 7, 9, 11, 14, 16, 18, 21, 23, 25, 27, 29, 32, 34, 36
.db 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 59, 61, 63, 65, 66
.db 68, 69, 71, 72, 74, 75, 77, 78, 79, 80, 81, 83, 84, 85, 86, 86
.db 87, 88, 89, 89, 90, 91, 91, 92, 92, 92, 93, 93, 93, 93, 93, 93
.db 2, 5, 7, 9, 12, 14, 16, 19, 21, 23, 25, 28, 30, 32, 34, 36
.db 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 58, 60, 62, 64, 65, 67
.db 69, 70, 72, 73, 75, 76, 78, 79, 80, 81, 83, 84, 85, 86, 87, 88
.db 88, 89, 90, 91, 91, 92, 92, 93, 93, 94, 94, 94, 94, 94, 94, 94
.db 2, 5, 7, 9, 12, 14, 16, 19, 21, 23, 26, 28, 30, 32, 35, 37
.db 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 66, 68
.db 70, 71, 73, 74, 76, 77, 79, 80, 81, 82, 84, 85, 86, 87, 88, 89
.db 90, 90, 91, 92, 92, 93, 93, 94, 94, 95, 95, 95, 95, 96, 96, 96
.db 2, 5, 7, 10, 12, 14, 17, 19, 21, 24, 26, 28, 31, 33, 35, 37
.db 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 65, 67, 69
.db 71, 72, 74, 75, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90
.db 91, 91, 92, 93, 94, 94, 95, 95, 96, 96, 96, 96, 97, 97, 97, 97
.db 2, 5, 7, 10, 12, 14, 17, 19, 22, 24, 26, 29, 31, 33, 36, 38
.db 40, 42, 44, 47, 49, 51, 53, 55, 57, 59, 61, 63, 64, 66, 68, 70
.db 71, 73, 75, 76, 78, 79, 81, 82, 83, 84, 86, 87, 88, 89, 90, 91
.db 92, 93, 93, 94, 95, 95, 96, 96, 97, 97, 97, 98, 98, 98, 98, 98
.db 2, 5, 7, 10, 12, 15, 17, 20, 22, 24, 27, 29, 31, 34, 36, 38
.db 41, 43, 45, 47, 49, 51, 53, 56, 58, 60, 61, 63, 65, 67, 69, 71
.db 72, 74, 76, 77, 79, 80, 82, 83, 84, 86, 87, 88, 89, 90, 91, 92
.db 93, 94, 95, 95, 96, 96, 97, 98, 98, 98, 99, 99, 99, 99, 99, 99
.db 2, 5, 7, 10, 12, 15, 17, 20, 22, 25, 27, 29, 32, 34, 36, 39
.db 41, 43, 45, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 71
.db 73, 75, 76, 78, 80, 81, 83, 84, 85, 87, 88, 89, 90, 91, 92, 93
.db 94, 95, 96, 96, 97, 98, 98, 99, 99,100,100,100,100,100,100,100
.db 3, 5, 8, 10, 13, 15, 18, 20, 22, 25, 27, 30, 32, 35, 37, 39
.db 41, 44, 46, 48, 50, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 72
.db 74, 76, 77, 79, 81, 82, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94
.db 95, 96, 97, 98, 98, 99, 99,100,100,101,101,101,101,102,102,102
.db 3, 5, 8, 10, 13, 15, 18, 20, 23, 25, 28, 30, 33, 35, 37, 40
.db 42, 44, 47, 49, 51, 53, 55, 58, 60, 62, 64, 66, 68, 70, 71, 73
.db 75, 77, 78, 80, 82, 83, 85, 86, 87, 89, 90, 91, 92, 93, 94, 95
.db 96, 97, 98, 99, 99,100,101,101,102,102,102,102,103,103,103,103
.db 3, 5, 8, 10, 13, 15, 18, 20, 23, 25, 28, 30, 33, 35, 38, 40
.db 42, 45, 47, 49, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74
.db 76, 78, 79, 81, 82, 84, 86, 87, 88, 90, 91, 92, 93, 94, 96, 97
.db 97, 98, 99,100,101,101,102,102,103,103,103,104,104,104,104,104
.db 3, 5, 8, 10, 13, 16, 18, 21, 23, 26, 28, 31, 33, 36, 38, 41
.db 43, 45, 48, 50, 52, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75
.db 77, 78, 80, 82, 83, 85, 87, 88, 89, 91, 92, 93, 94, 96, 97, 98
.db 99, 99,100,101,102,102,103,103,104,104,105,105,105,105,105,105
.db 3, 5, 8, 11, 13, 16, 18, 21, 24, 26, 29, 31, 34, 36, 39, 41
.db 43, 46, 48, 51, 53, 55, 57, 60, 62, 64, 66, 68, 70, 72, 74, 76
.db 78, 79, 81, 83, 84, 86, 88, 89, 90, 92, 93, 94, 96, 97, 98, 99
.db 100,101,101,102,103,104,104,105,105,105,106,106,106,106,106,106
.db 3, 5, 8, 11, 13, 16, 19, 21, 24, 26, 29, 31, 34, 37, 39, 42
.db 44, 46, 49, 51, 53, 56, 58, 60, 62, 65, 67, 69, 71, 73, 75, 77
.db 78, 80, 82, 84, 85, 87, 89, 90, 91, 93, 94, 95, 97, 98, 99,100
.db 101,102,103,103,104,105,105,106,106,107,107,107,107,108,108,108
.db 3, 5, 8, 11, 13, 16, 19, 21, 24, 27, 29, 32, 34, 37, 39, 42
.db 44, 47, 49, 52, 54, 56, 59, 61, 63, 65, 67, 70, 72, 74, 76, 77
.db 79, 81, 83, 85, 86, 88, 90, 91, 92, 94, 95, 96, 98, 99,100,101
.db 102,103,104,105,105,106,107,107,107,108,108,108,109,109,109,109
.db 3, 5, 8, 11, 14, 16, 19, 22, 24, 27, 30, 32, 35, 37, 40, 42
.db 45, 47, 50, 52, 55, 57, 59, 62, 64, 66, 68, 70, 72, 74, 76, 78
.db 80, 82, 84, 86, 87, 89, 90, 92, 93, 95, 96, 98, 99,100,101,102
.db 103,104,105,106,106,107,108,108,109,109,109,110,110,110,110,110
.db 3, 6, 8, 11, 14, 16, 19, 22, 25, 27, 30, 33, 35, 38, 40, 43
.db 45, 48, 50, 53, 55, 58, 60, 62, 65, 67, 69, 71, 73, 75, 77, 79
.db 81, 83, 85, 87, 88, 90, 91, 93, 95, 96, 97, 99,100,101,102,103
.db 104,105,106,107,108,108,109,109,110,110,111,111,111,111,111,111
.db 3, 6, 8, 11, 14, 17, 19, 22, 25, 28, 30, 33, 36, 38, 41, 43
.db 46, 48, 51, 53, 56, 58, 61, 63, 65, 67, 70, 72, 74, 76, 78, 80
.db 82, 84, 86, 87, 89, 91, 92, 94, 96, 97, 98,100,101,102,103,104
.db 105,106,107,108,109,109,110,111,111,111,112,112,112,112,113,113
.db 3, 6, 8, 11, 14, 17, 20, 22, 25, 28, 31, 33, 36, 39, 41, 44
.db 46, 49, 52, 54, 56, 59, 61, 64, 66, 68, 70, 73, 75, 77, 79, 81
.db 83, 85, 87, 88, 90, 92, 93, 95, 97, 98, 99,101,102,103,104,105
.db 107,107,108,109,110,111,111,112,112,113,113,113,114,114,114,114
.db 3, 6, 9, 11, 14, 17, 20, 23, 25, 28, 31, 34, 36, 39, 42, 44
.db 47, 50, 52, 55, 57, 60, 62, 64, 67, 69, 71, 73, 76, 78, 80, 82
.db 84, 86, 88, 89, 91, 93, 94, 96, 98, 99,100,102,103,104,106,107
.db 108,109,109,110,111,112,112,113,113,114,114,115,115,115,115,115
.db 3, 6, 9, 11, 14, 17, 20, 23, 26, 28, 31, 34, 37, 39, 42, 45
.db 47, 50, 53, 55, 58, 60, 63, 65, 67, 70, 72, 74, 76, 79, 81, 83
.db 85, 87, 88, 90, 92, 94, 95, 97, 99,100,102,103,104,105,107,108
.db 109,110,111,111,112,113,114,114,115,115,115,116,116,116,116,116
.db 3, 6, 9, 12, 14, 17, 20, 23, 26, 29, 32, 34, 37, 40, 43, 45
.db 48, 51, 53, 56, 58, 61, 63, 66, 68, 70, 73, 75, 77, 79, 81, 84
.db 86, 87, 89, 91, 93, 95, 96, 98,100,101,103,104,105,107,108,109
.db 110,111,112,113,113,114,115,115,116,116,117,117,117,117,117,117
.db 3, 6, 9, 12, 15, 18, 20, 23, 26, 29, 32, 35, 37, 40, 43, 46
.db 48, 51, 54, 56, 59, 61, 64, 66, 69, 71, 73, 76, 78, 80, 82, 84
.db 86, 88, 90, 92, 94, 96, 97, 99,101,102,104,105,106,108,109,110
.db 111,112,113,114,115,115,116,117,117,117,118,118,118,118,119,119
.db 3, 6, 9, 12, 15, 18, 21, 24, 26, 29, 32, 35, 38, 41, 43, 46
.db 49, 52, 54, 57, 59, 62, 65, 67, 69, 72, 74, 76, 79, 81, 83, 85
.db 87, 89, 91, 93, 95, 97, 98,100,102,103,105,106,107,109,110,111
.db 112,113,114,115,116,116,117,118,118,119,119,119,120,120,120,120
.db 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 35, 38, 41, 44, 47
.db 49, 52, 55, 57, 60, 63, 65, 68, 70, 73, 75, 77, 80, 82, 84, 86
.db 88, 90, 92, 94, 96, 98, 99,101,103,104,106,107,109,110,111,112
.db 113,114,115,116,117,118,118,119,119,120,120,121,121,121,121,121
; ksztalt przebiegu dla 50.5..58.0Hz [1.15*sin(x)+0.15*sin(3*x)]
.db 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 44, 47
.db 50, 53, 56, 58, 61, 63, 66, 68, 71, 73, 76, 78, 80, 82, 85, 87
.db 89, 91, 93, 94, 96, 98,100,101,103,104,106,107,108,110,111,112
.db 113,114,115,116,116,117,118,118,119,119,120,120,120,120,120,121
.db 3, 6, 9, 12, 15, 19, 22, 25, 28, 31, 34, 37, 40, 43, 46, 49
.db 52, 54, 57, 60, 63, 65, 68, 70, 73, 75, 77, 80, 82, 84, 86, 88
.db 90, 92, 94, 96, 98, 99,101,102,104,105,107,108,109,110,111,113
.db 113,114,115,116,117,117,118,119,119,119,120,120,120,120,120,121
.db 3, 6, 9, 13, 16, 19, 22, 26, 29, 32, 35, 38, 41, 44, 47, 50
.db 53, 56, 59, 62, 64, 67, 69, 72, 74, 77, 79, 81, 84, 86, 88, 90
.db 92, 94, 96, 97, 99,101,102,104,105,106,108,109,110,111,112,113
.db 114,115,116,116,117,118,118,119,119,119,120,120,120,120,120,121
.db 3, 6, 10, 13, 17, 20, 23, 27, 30, 33, 36, 39, 43, 46, 49, 52
.db 55, 58, 60, 63, 66, 69, 71, 74, 76, 79, 81, 83, 85, 87, 89, 91
.db 93, 95, 97, 99,100,102,103,105,106,107,109,110,111,112,113,114
.db 115,115,116,117,117,118,118,119,119,120,120,120,120,120,120,121
.db 3, 7, 10, 14, 17, 21, 24, 27, 31, 34, 37, 41, 44, 47, 50, 53
.db 56, 59, 62, 65, 68, 70, 73, 75, 78, 80, 83, 85, 87, 89, 91, 93
.db 95, 97, 98,100,102,103,105,106,107,108,110,111,112,113,114,114
.db 115,116,117,117,118,118,119,119,119,120,120,120,120,120,120,121
.db 3, 7, 10, 14, 18, 21, 25, 28, 32, 35, 39, 42, 45, 48, 52, 55
.db 58, 61, 64, 67, 69, 72, 75, 77, 80, 82, 84, 87, 89, 91, 93, 95
.db 97, 98,100,102,103,104,106,107,108,109,111,112,112,113,114,115
.db 116,116,117,117,118,118,119,119,120,120,120,120,120,120,120,121
.db 3, 7, 11, 14, 18, 22, 25, 29, 33, 36, 40, 43, 46, 50, 53, 56
.db 59, 62, 65, 68, 71, 74, 76, 79, 81, 84, 86, 88, 90, 92, 94, 96
.db 98,100,101,103,104,106,107,108,109,110,111,112,113,114,115,116
.db 116,117,117,118,118,119,119,119,120,120,120,120,120,120,120,121
.db 3, 7, 11, 15, 19, 22, 26, 30, 34, 37, 41, 44, 48, 51, 54, 58
.db 61, 64, 67, 70, 73, 75, 78, 81, 83, 86, 88, 90, 92, 94, 96, 98
.db 100,101,103,104,106,107,108,109,111,112,112,113,114,115,116,116
.db 117,117,118,118,119,119,119,120,120,120,120,120,120,120,120,121
.db 3, 7, 11, 15, 19, 23, 27, 31, 35, 38, 42, 45, 49, 52, 56, 59
.db 62, 66, 69, 72, 74, 77, 80, 82, 85, 87, 90, 92, 94, 96, 98, 99
.db 101,103,104,106,107,108,109,111,112,113,113,114,115,116,116,117
.db 117,118,118,119,119,119,119,120,120,120,120,120,120,120,120,121
.db 4, 8, 12, 16, 20, 24, 28, 32, 35, 39, 43, 47, 50, 54, 57, 61
.db 64, 67, 70, 73, 76, 79, 82, 84, 87, 89, 91, 93, 96, 97, 99,101
.db 103,104,106,107,108,110,111,112,113,114,114,115,116,116,117,117
.db 118,118,119,119,119,119,120,120,120,120,120,120,120,120,120,121
.db 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 55, 59, 62
.db 65, 69, 72, 75, 78, 81, 83, 86, 88, 91, 93, 95, 97, 99,101,103
.db 104,106,107,109,110,111,112,113,114,115,115,116,117,117,118,118
.db 118,119,119,119,120,120,120,120,120,120,120,120,120,120,120,121
.db 4, 8, 12, 17, 21, 25, 29, 33, 37, 41, 45, 49, 53, 57, 60, 64
.db 67, 70, 73, 77, 79, 82, 85, 88, 90, 93, 95, 97, 99,101,103,104
.db 106,107,109,110,111,112,113,114,115,116,116,117,117,118,118,119
.db 119,119,119,120,120,120,120,120,120,120,120,120,120,120,120,121
.db 4, 8, 13, 17, 21, 26, 30, 34, 38, 42, 46, 50, 54, 58, 62, 65
.db 69, 72, 75, 78, 81, 84, 87, 89, 92, 94, 96, 99,101,103,104,106
.db 107,109,110,111,112,114,114,115,116,117,117,118,118,119,119,119
.db 120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,121
.db 4, 9, 13, 18, 22, 26, 31, 35, 39, 43, 48, 52, 55, 59, 63, 67
.db 70, 73, 77, 80, 83, 86, 88, 91, 94, 96, 98,100,102,104,106,108
.db 109,110,112,113,114,115,116,116,117,118,118,119,119,119,120,120
.db 120,120,120,120,120,121,121,121,121,121,121,121,121,121,121,121
.db 4, 9, 13, 18, 23, 27, 31, 36, 40, 44, 49, 53, 57, 61, 64, 68
.db 72, 75, 78, 81, 85, 87, 90, 93, 95, 98,100,102,104,106,108,109
.db 111,112,113,114,115,116,117,118,118,119,119,120,120,120,120,120
.db 121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121
.db 4, 9, 14, 18, 23, 28, 32, 37, 41, 45, 50, 54, 58, 62, 66, 70
.db 73, 77, 80, 83, 86, 89, 92, 95, 97, 99,102,104,106,108,109,111
.db 112,113,115,116,117,117,118,119,119,120,120,120,121,121,121,121
.db 121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121
.eseg
.org 0x000
.db 0 ; pomin
.db 19 ; 10Hz czest.rozruchowa (FREQ+1)/2[Hz]
.db 3 ; 25Hz/s rampa przysp.: 100/(ACCEL+1)[Hz/s]
.db 9 ; 10Hz/s rampa hamowania: 100/(DECEL+1)[Hz/s]
;****** Koniec programu **************************************************