;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;Преобразование 8 битного BIN в неупакованнный BCD (числа до 99) VER.2
;***********************************************************************************
bin8bcd2:	
         ldi tBCDH,-1		;
  bBCD8: inc	tBCDH		   ;inc MSD
         subi	fbin,10		;input = input - 10	
         brsh	bBCD8		   ;abort if carry set	
         subi	fbin,-10	   ;compensate extra subtraction
     ret
;*******************************************************************
;Преобразование 8 битного BIN в неупакованнный BCD
;*******************************************************************
;* Использованные старшие регистры :3(fbin,fBCD0,tBCD1,tBCD2)
;*******************************************************************
bin8bcd3:	
         ldi	tBCD2,-1		   ;clear result MSD
         ldi	tBCD1,-1
bBCD8_1: inc   tBCD2
         subi	fbin,100	;input = input - 100	
         brsh	bBCD8_1		;abort if carry set
         subi	fbin,-100       ;input = input + 100	
bBCD8_2: inc   tBCD1
         subi	fbin,10		;input = input - 10	
         brsh	bBCD8_2		;abort if carry set	
         subi	fbin,-10 	;tBCD1 = tBCD1 + 10       	
      ret

;*******************************************************************
;1. Текст программы "bin16BCD5"- преобразование 16-битного двоичного
;значения в упакованный BCD формат
;*******************************************************************
;* Количество слов кода            :25 + возврат
;* Количество циклов               :25/176 (Мин/Макс) + возврат
;* Использованные младшие регистры :нет
;* Использованные старшие регистры :4(fbinL,fbinH/tBCD0,tBCD1,tBCD2)
;* Использованные указатели        :нет
;*******************************************************************
bin16BCD5:
        ldi     tBCD2, -1
bin16BCD5_loop_1:
        inc     tBCD2
        subi    fbinL, low(10000)
        sbci    fbinH, high(10000)
        brsh    bin16BCD5_loop_1
        subi    fbinL, low(-10000)
        sbci    fbinH, high(-10000)
        ldi     tBCD1, -0x11
bin16BCD5_loop_2:
        subi    tBCD1, -0x10
        subi    fbinL, low(1000)
        sbci    fbinH, high(1000)
        brsh bin16BCD5_loop_2
        subi    fbinL, low(-1000)
        sbci    fbinH, high(-1000)
bin16BCD5_loop_3:
        inc     tBCD1
        subi    fbinL, low(100)
        sbci    fbinH, high(100)
        brsh bin16BCD5_loop_3
        subi    fbinL, -100
        ldi     tBCD0, -0x10
bin16BCD5_loop_4:
        subi    tBCD0, -0x10
        subi    fbinL, 10
        brsh bin16BCD5_loop_4
        subi    fbinL, -10
        add     tBCD0, fbinL
        ret

;***************************************************************************
;* "div8u" - 8/8 Bit Unsigned Division
;* This subroutine divides the two register variables "dd8u" (dividend) and
;* "dv8u" (divisor). The result is placed in "dres8u" and the remainder in
;* "drem8u".
;* Number of words	:14
;* Number of cycles	:97
;* Low registers used	:1 (drem8u)
;* High registers used  :3 (dres8u/dd8u,dv8u,dcnt8u)
;***************************************************************************
;***** Subroutine Register Variables
.def	drem8u	=r19		;remainder
.def	dres8u	=r17		;result
.def	dd8u  	=r17		;dividend
.def	dv8u  	=r18		;divisor
.def	dcnt8u	=r20		;loop counter

div8u:	sub	drem8u,drem8u	;clear remainder and carry
	ldi	dcnt8u,9	;init loop counter
d8u_1:	rol	dd8u		;shift left dividend
	dec	dcnt8u		;decrement counter
	brne	d8u_2		;if done
	ret			;    return
d8u_2:	rol	drem8u		;shift dividend into remainder
	sub	drem8u,dv8u	;remainder = remainder - divisor
	brcc	d8u_3		;if result negative
	add	drem8u,dv8u	;    restore remainder
	clc			;    clear carry to be shifted into result
	rjmp	d8u_1		;else
d8u_3:	sec			;    set carry to be shifted into result
	rjmp	d8u_1
	
	ret
;*******************************************************************************
;* Подпрограмма умножения 16x16 бит  (результат 24 бита)
;*	r20:r19:r18 = r22:r21 * XH:XL
;*	Register usage: r0 to r1, r18 to r22 and r26 to r27 (9 registers)
mul16x16_24:
	mul		r22, XH		; ah * bh
	mov		r20, r0
	mul		r21, XL		; al * bl
	movw	r19:r18, r1:r0
	mul		r22, XL		; ah * bl
	add		r19, r0
	adc		r20, r1
	mul		XH, r21		; bh * al
	add		r19, r0
	adc		r20, r1
 ret

;---------------------------------------------------------------------------------
;*     Таблица коэффициентов деления для нот (4 Mhz, CTC, OC1B меняется на противоположное)
notes:
.dw  0
.dw  $ECBE,$DF36,$D326,$C852,$BE8C,$B18E,$A9D6,$9F70,$963D,$8E0B,$86B2,$7E02 ; контроктава (условно 0)
;.dw  $7831,$7139,$6B05,$6429,$5F46,$59CC,$54EB,$4FB8,$4B1E,$4705,$42C6,$3F84 ; большая    (условно 1)
;.dw  $,$,$,$,$,$,$,$,$,$,$,$ ; малая                                               (условно 2)
;.dw  $,$,$,$,$,$,$,$,$,$,$,$ ; первая                                              (условно 3)
                                                                        ; вторая    (условно 4)
                                                                        ; третья    (условно 5)
                                                                        ; четвертая (условно 6)
;*            Таблица начал всех мелодий
tabm:	
      .dw	mel1*2,mel2*2,mel3*2,mel4*2,mel5*2,mel6*2,mel7*2;,mel8*2

;*                   Таблица нот
;До  До#	 Ре	Ре#	Ми	 Фа	Фа#	Соль	Соль#	 Ля	Ля#	Си	  пауза
;1	  2	  3	 4	   5	 6	   7	    8	    9	    A	    B	   C     0
;* ---------------------Таблица мелодий------------------------
; формат записи мелодий - 2 байта
;первый байт -  октава(мл.ниббл)/нота(ст.ниббл)
;второй байт -  длительность ноты
; Единица отсчета - 4 mSec

; Условная длительность нот
;  1/32 - 1;  1/16 - 2;  1/8 - 3;  1/4 - 4;

;-------------------- Турецкое рондо-------------
; алегретто (92 - 108 четвертей {2/4} в минут, берем 94), 1 четверть 60/94 = 638 мСек.
; такт = 2/4
mel1:	
.db 13             ; длительности 1/32 для этой мелодии

.db	$C3,2,$A3,2,$93,2,$C3,2,    $14,3,$00,3,$34,2,$14,2,$C3,2,$14,2
.db	$54,3,$00,3,$64,2,$54,2,$44,2,$54,2
.db	$C4,2,$A4,2,$94,2,$A4,2,$C4,2,$A4,2,$84,2,$A4,2
.db	$15,4,$A4,3,$15,3
.db	$C4,3,$A4,3,$84,3,$A4,3,    $C4,3,$A4,3,$84,3,$A4,3
.db	$C4,3,$A4,3,$84,3,$74,3,    $54,4
; реприза
.db	$C3,2,$A3,2,$93,2,$C3,2,    $14,3,$00,3,$34,2,$14,2,$C3,2,$14,2
.db	$54,3,$00,3,$64,2,$54,2,$44,2,$54,2
.db	$C4,2,$A4,2,$94,2,$A4,2,$C4,2,$A4,2,$84,2,$A4,2
.db	$15,4,$A4,3,$15,3
.db	$C4,3,$A4,3,$84,3,$A4,3,    $C4,3,$A4,3,$84,3,$A4,3
.db	$C4,3,$A4,3,$84,3,$74,3,    $54,4

; далее
.db	$54,3,$64,3,     $84,4,$A4,2,$84,2,$64,2,$54,2
.db	$34,4,$54,3,$64,3,     $84,4,$A4,2,$84,2,$64,2,$54,2;$84,4,;?
.db   $34,4,$14,3,$34,3,     $54,3,$54,3,$64,2,$54,2,$34,2,$14,2
.db   $C3,4,$14,3,$34,3,     $54,3,$54,3,$64,2,$54,2,$34,2,$14,2
.db   $C3,4,$C3,2,$A3,2,$83,2,$A3,2,    $14,3,$00,3,$34,2,$14,2,$C3,2,$14,2
.db   $54,3,$00,3,$64,2,$54,2,$44,2,$54,2
.db   $C4,2,$A4,2,$94,2,$A4,2,$C4,2,$A4,2,$94,2,$A4,2
.db	$15,4,$A4,3,$C4,3,     $15,3,$C4,3,$A4,3,$94,3
.db	$A4,3,$54,3,$64,3,$34,3,     $14,4,$C3,4,      $A3,4
; реприза
.db	$54,3,$64,3,     $84,4,$A4,2,$84,2,$64,2,$54,2
.db	$34,4,$54,3,$64,3,     $84,4,$A4,2,$84,2,$64,2,$54,2
.db   $34,4,$14,3,$34,3,     $54,3,$54,3,$64,2,$54,2,$34,2,$14,2
.db   $C3,4,$14,3,$34,3,     $54,3,$54,3,$64,2,$54,2,$34,2,$14,2
.db   $C3,4,$C3,2,$A3,2,$83,2,$A3,2,    $14,3,$00,3,$34,2,$14,2,$C3,2,$14,2
.db   $54,3,$00,3,$64,2,$54,2,$44,2,$54,2
.db   $C4,2,$A4,2,$94,2,$A4,2,$C4,2,$A4,2,$94,2,$A4,2
.db	$15,4,$A4,3,$C4,3,     $15,3,$C4,3,$A4,3,$94,3
.db	$A4,3,$54,3,$64,3,$34,3,     $14,4,$C3,4,      $A3,4

.db  $FF,1      ; конец мелодии           (задействовано 225 нот)

;-------------------- Вальс (Чайковский)------------------------
; Довольно скоро, 1 четверть 60/хх = ххх мСек.
; такт = 3/4
mel2:	
.db 10             ; длительности 1/32 для этой мелодии

.db	$83,4,$83,3,$93,3,      $B3,3,$00,3,$14,4,$14,3,$34,3
.db   $64,3,$00,3,$44,4,$44,3,$14,3,     $B3,5,$B3,4
.db   $00,4,$14,4,$14,3,$83,3,      $B3,5,$93,4
.db   $00,4,$B3,4,$B3,3,$63,3,      $93,5,$83,4,      $00,4,$83,4,$83,3,$93,3
.db   $B3,3,$00,3,$14,4,$14,3,$34,3,        $64,3,$00,3,$44,4,$44,3,$14,3
.db   $B3,5,$B3,4,     $00,4,$A3,4,$A3,3,$83,3,       $34,5,$73,4
.db   $00,4,$53,4,$53,3,$73,3,      $73,5,$83,4,      $00,4,$B3,4,$B3,3,$84,3
.db   $94,3,$00,3,$14,4,$14,3,$34,3,       $44,3,$00,3,$83,3,$14,3,$83,3,$14,3
.db   $34,3,$00,3,$93,3,$34,3,$93,3,$34,3,       $B3,3,$00,3,$B3,4,$B3,3,$84,3
.db   $94,3,$00,3,$14,4,$14,3,$34,3,       $44,3,$00,3,$44,3,$34,3,$14,3,$B3,3
.db   $A3,3,$00,3,$64,3,$44,3,$34,3,$14,3,       $B3,3,$00,3,$B3,4,$B3,3,$84,3
.db   $94,3,$00,3,$14,4,$14,3,$34,3,      $44,3,$00,3,$83,3,$14,3,$83,3,$14,3
.db   $34,3,$00,3,$93,3,$34,3,$93,3,$34,3,       $B3,3,$00,3,$B3,4,$B3,3,$84,3
.db   $94,3,$00,3,$14,4,$14,3,$34,3,      $44,3,$00,3,$83,3,$93,3,$B3,3,$B3,3
.db   $14,3,$00,3,$C3,3,$14,3,$24,3,$34,3,      $44,3,$00,3,$44,3,$34,3,$44,3,$64,3
.db   $84,3,$00,3,$14,4,$44,4,       $C3,4,$34,4,$93,4,     $C3,4,$B3,5
.db   $14,3,$00,3,$44,3,$34,3,$44,3,$64,3,       $84,3,$00,3,$14,4,$44,4
.db   $C3,4,$34,4,$93,4,     $C3,4,$63,4,$93,4,     $83,3,$00,3,$44,3,$34,3,$44,3,$64,3
.db   $84,3,$00,3,$14,4,$44,4,     $C3,4,$34,4,$93,4,      $C3,4,$B3,5
.db   $14,3,$00,3,$83,3,$73,3,$83,3,$C3,3
.db   $14,3,$00,3,$83,3,$73,3,$83,3,$C3,3,     $14,3

.db  $FF,1      ; конец мелодии           (задействовано ??? нот)


;-------------------- Буги Бой------------------------
; Довольно скоро (152 четвертей {2/4} в минут), 1 четверть 60/xx = xxx мСек.
; размер = 4/4
mel3:	
.db 10             ; длительности 1/32 для этой мелодии
; часть 1
.db   $84,5,$54,3,$14,3,$83,3,      $A3,3,$14,3,$A3,3,$14,3,$44,4,$34,3,$14,3
.db   $44,3,$54,3,$14,3,$83,3,$A3,3,$14,3,$A3,3,$93,3
.db   $83,4,$B3,3,$83,3,$73,3,$63,3,$33,3,$43,3
.db   $53,3,$63,3,$73,3,$83,3,$14,3,$14,4,$00,3
.db   $53,3,$63,3,$73,3,$83,3,$14,3,$14,4,$00,3
.db   $53,3,$63,3,$73,3,$83,3,$B3,4,$A3,3,$93,3
.db   $83,3,$13,4,$00,3,$00,5,      $43,3,$63,3,$73,3,$83,3,$14,3,$14,4,$00,3
.db                                 $43,3,$63,3,$73,3,$83,3,$14,3,$14,4,$00,3
.db   $53,3,$63,3,$73,3,$83,3,$B3,4,$A3,3,$93,3
.db   $83,3,$13,4,$00,3,$00,5,      $C3,3,$14,3,$24,3,$34,3,$84,3,$84,4,$00,3
.db   $A3,3,$B3,3,$C3,3,$14,3,$64,3,$64,4,$00,3
.db   $53,3,$63,3,$73,3,$83,3,$B3,4,$A3,3,$93,3,     $83,3,$14,4,$00,3,$00,5
; часть 2
.db   $54,4,$44,4,$54,4,$44,4,      $54,4,$44,3,$54,4,$00,3,$00,4
.db   $54,4,$44,4,$54,4,$44,4,      $54,4,$44,3,$54,4,$00,3,$00,4
.db   $44,4,$34,4,$44,4,$34,4,      $44,4,$34,3,$44,4,$00,3,$00,4
.db   $54,4,$44,4,$54,4,$44,4,      $54,4,$44,3,$54,4,$00,3,$00,4
.db   $64,4,$54,4,$64,4,$00,3,$00,4,      $44,4,$34,3,$44,4,$00,3,$00,4
.db   $54,4,$44,4,$54,4,$44,4,      $54,4,$44,3,$54,4,$00,4,$74,3
; часть 3
.db   $84,3,$54,3,$14,3,$A3,3,$14,4,$14,3,$A3,3
.db   $14,4,$14,3,$A3,3,$14,3,$A3,3,$14,3,$A3,3
.db   $14,3,$54,4,$00,3,$00,5,     $00,5,$00,4,$00,3,$74,3
.db   $84,3,$44,3,$14,3,$A3,3,$14,4,$14,3,$A3,3
.db   $14,4,$14,3,$A3,3,$14,3,$A3,3,$14,3,$A3,3
.db   $14,3,$54,4,$00,3,$00,5,     $00,5,$00,4,$00,3,$74,3
.db   $84,3,$34,3,$C3,3,$34,3,$84,4,$00,3,$54,3
.db   $64,3,$14,3,$A3,3,$14,3,$64,4,$00,3,$74,3
.db   $84,3,$54,3,$14,3,$A3,3,$14,4,$14,3,$A3,3
.db   $14,3,$54,4,$00,3,$00,5

.db  $FF,1      ; конец мелодии           (задействовано ??? нот)

;-------------------- Полька------------------------
; Умеренно (темп польки), 1 четверть 60/xx = xxx мСек.
; размер = 2/4
mel4:	
.db 16             ; длительности 1/32 для этой мелодии

.db   $34,3,$64,3,$44,2,$34,2,$44,3,       $54,3,$84,3,$64,2,$44,2,$64,3
.db   $B4,3,$34,3,$34,2,$24,2,$34,3,       $84,3,$14,3,$14,2,$C3,2,$14,3
.db   $34,3,$64,3,$44,2,$34,2,$44,3,       $54,3,$84,3,$64,2,$54,2,$64,3
.db   $B4,3,$34,3,$34,2,$24,2,$34,3,       $54,3,$84,3,$64,2,$54,2,$64,3
; реприза
.db   $34,3,$64,3,$44,2,$34,2,$44,3,       $54,3,$84,3,$64,2,$44,2,$64,3
.db   $B4,3,$34,3,$34,2,$24,2,$34,3,       $84,3,$14,3,$14,2,$C3,2,$14,3
.db   $34,3,$64,3,$44,2,$34,2,$44,3,       $54,3,$84,3,$64,2,$54,2,$64,3
.db   $B4,3,$34,3,$34,2,$24,2,$34,3,       $54,3,$84,3,$64,2,$54,2,$64,3
; далее
.db   $00,3,$14,3,$00,3,$B3,3,       $00,3,$C3,3,$00,3,$14,3
.db   $00,3,$B3,3,$C4,3,$B3,3,       $00,3,$A3,3,$64,3,$A3,3
.db   $00,3,$63,3,$00,3,$63,3,       $00,3,$63,3,$00,3,$63,3
.db   $00,3,$53,3,$B3,3,$53,3,       $00,3,$63,3,$A3,3,$63,3
.db   $00,3,$53,3,$B3,3,$53,3,       $00,3,$63,3,$A3,3,$63,3
.db   $00,3,$63,3,$00,3,$63,3,       $00,3,$63,3,$00,3,$63,3
.db   $63,2,$53,2,$63,3,$A3,2,$93,2,$A3,3
.db   $14,2,$C3,2,$14,3,$64,2,$54,2,$64,3
.db   $34,3,$64,3,$44,2,$34,2,$44,3,       $54,3,$84,3,$64,2,$44,2,$64,3
.db   $B4,3,$34,3,$34,2,$24,2,$34,3,       $84,3,$14,3,$14,2,$C3,2,$14,3
.db   $34,3,$64,3,$44,2,$34,2,$44,3,       $54,3,$84,3,$64,2,$54,2,$64,3
.db   $84,3,$14,3,$14,2,$C3,2,$14,3,      $C3,3,$34,3,$B3,3;,$00,3

.db  $FF,1      ; конец мелодии           (задействовано ??? нот)

;-------------------- Шутка (Бах) ------------------------
; Аллегретто , 1 четверть 60/xx = xxx мСек.
; размер = 2/4
mel5:	
.db 16             ; длительности 1/32 для этой мелодии

.db   $C4,3,$35,2,$C4,2,  $74,3,$C4,2,$74,2,$34,3,$74,2,$34,2
.db   $C3,4,$74,2,$C4,2,$35,2,$C4,2
.db   $25,2,$C4,2,$25,2,$C4,2,$B4,2,$25,2,$55,2,$25,2
.db   $35,3,$C4,3,$C4,3,$35,2,$C4,2,     $74,3,$C4,2,$74,2,$34,3,$74,2,$34,2
.db   $C3,4,$34,2,$24,2,$34,3,     $34,2,$24,2,$34,3,$34,2,$C4,2,$34,3
.db   $34,3,$24,3,$74,2,$64,2,$74,3,     $74,2,$64,2,$74,3,$74,2,$35,2,$74,3
.db   $74,3,$64,3,$24,2,$74,2,$A4,2,$74,2
.db   $94,2,$74,2,$94,2,$74,2,$64,2,$94,2,$C4,2,$94,2
.db   $A4,2,$94,2,$A4,2,$94,2,$74,2,$A4,2,$74,2,$64,2
.db   $74,2,$C4,2,$74,2,$64,2,$74,2,$25,2,$74,2,$64,2
.db   $74,2,$35,2,$74,2,$64,2,$74,2,$35,2,$25,2,$C4,2
.db   $25,2,$A4,2,$94,2,$74,2,$A4,3,$94,3,      $74,4
; реприза
.db   $C4,3,$35,2,$C4,2,  $74,3,$C4,2,$74,2,$34,3,$74,2,$34,2
.db   $C3,4,$74,2,$C4,2,$35,2,$C4,2
.db   $25,2,$C4,2,$25,2,$C4,2,$B4,2,$25,2,$55,2,$25,2
.db   $35,3,$C4,3,$C4,3,$35,2,$C4,2,     $74,3,$C4,2,$74,2,$34,3,$74,2,$34,2
.db   $C3,4,$34,2,$24,2,$34,3,     $34,2,$24,2,$34,3,$34,2,$C4,2,$34,3
.db   $34,3,$24,3,$74,2,$64,2,$74,3,     $74,2,$64,2,$74,3,$74,2,$35,2,$74,3
.db   $74,3,$64,3,$24,2,$74,2,$A4,2,$74,2
.db   $94,2,$74,2,$94,2,$74,2,$64,2,$94,2,$C4,2,$94,2
.db   $A4,2,$94,2,$A4,2,$94,2,$74,2,$A4,2,$74,2,$64,2
.db   $74,2,$C4,2,$74,2,$64,2,$74,2,$25,2,$74,2,$64,2
.db   $74,2,$35,2,$74,2,$64,2,$74,2,$35,2,$25,2,$C4,2
.db   $25,2,$A4,2,$94,2,$74,2,$A4,3,$94,3,      $74,4

.db  $FF,1      ; конец мелодии           (задействовано ??? нот)

;-------------------- Легкая соната (Моцарт) ------------------------
; Аллегретто , 1 четверть 60/xx = xxx мСек.
; размер = 4/4
mel6:	
.db 13             ; длительности 1/32 для этой мелодии

.db   $14,5,$54,4,$84,4,  $C3,4,$C3,3,$14,2,$34,2,$14,4,$0,4
.db   $A4,5,$84,4,$15,4,  $84,4,$64,3,$54,2,$64,2,$54,4,$0,4
.db   $A3,3,$C3,2,$14,2,$34,2,$54,2,$64,2,$84,2,$A4,2
.db   $84,2,$64,2,$54,2,$34,2,$14,2,$C3,2,$A3,2
.db   $83,3,$A3,2,$C3,2,$14,2,$34,2,$54,2,$64,2,$84,2
.db   $64,2,$54,2,$34,2,$14,2,$C3,2,$A4,2,$83,2
.db   $63,3,$83,2,$A3,2,$C3,2,$14,2,$34,2,$54,2,$64,2
.db   $54,2,$34,2,$14,2,$C3,2,$A3,2,$83,2,$63,2             ;?15
.db   $53,3,$63,2,$83,2,$A3,2,$C3,2,$14,2,$34,2,$54,2
.db   $34,2,$14,2,$C3,2,$A3,2,$83,2,$63,2,$53,2
.db   $33,3,$53,2,$63,2,$83,2,$A3,2,$C3,2,$24,2,$34,2
.db   $A3,2,$C3,2,$24,2,$34,2,$54,2,$64,2,$84,2
.db   $A4,2,$C4,2,$15,2,$C4,2,$A4,2,$84,2,$64,2,$54,2
.db   $64,2,$84,2,$A4,2,$84,2,$64,2,$34,2,$54,2,$14,2
.db   $33,3,$84,3,$54,3,$14,3,$34,3,$84,3,$54,3,$14,3
.db   $34,4,$84,4,$83,4,$00,4
.db   $35,3,$C4,3,$84,4,$84,3,$A4,2,$C4,2,$A4,3,$84,3
.db   $84,3,$84,2,$74,2,$74,4,$0,5
.db   $35,3,$C4,3,$84,4,$84,3,$A4,2,$C4,2,$A4,3,$84,3
.db   $84,3,$84,2,$74,2,$74,4,$0,5
.db   $35,4,$0,2,$35,2,$C4,2,$84,2,$54,4,$0,2,$54,2,$84,2,$54,2
.db   $15,4,$0,2,$15,2,$A4,2,$74,2,$34,4,$0,2,$34,2,$74,2,$34,2
.db   $C4,4,$0,2,$C4,2,$84,2,$54,2,$14,4,$0,2,$14,2,$54,2,$14,2
.db   $A4,4,$0,2,$A4,2,$74,2,$14,2,$C3,4,$0,2,$84,2,$34,2,$C3,2
.db   $A3,5,$14,4,$54,4,       $A4,4,$A4,3,$C4,2,$A4,2,$15,3,$A4,3,$15,3,$A4,3
.db   $C4,3,$84,3,$35,5,$15,2,$C4,2,$A4,2,$84,2,     $A4,6
.db   $84,4,$84,2,$34,2,$84,2,$C4,2,$35,2,$C4,2,$84,2,$C4,2,$15,2,$A4,2,$74,2,$A4,2
.db   $84,4,$83,2,$33,2,$84,2,$C3,2,$34,2,$C3,2,$83,2,$C3,2,$14,2,$A3,2,$73,2,$A3,2
.db   $83,4,$C3,4,$83,4

.db  $FF,1      ; конец мелодии           (задействовано ??? нот)


;-------------------- Бах (Прелюдия 1)-------------
; алегретто (92 - 108 четвертей {1/4} в минут, берем 94), 1 четверть 60/94 = 638 мСек.
; такт = 2/4
mel7:	
.db 13             ; длительности 1/32 для этой мелодии	

.db   $13,2,$53,2,$83,2,$14,2,$54,2,$83,2,$14,2,$54,2
.db   $13,2,$53,2,$83,2,$14,2,$54,2,$83,2,$14,2,$54,2

.db   $13,2,$33,2,$A3,2,$34,2,$64,2,$A3,2,$34,2,$64,2
.db   $13,2,$33,2,$A3,2,$34,2,$64,2,$A3,2,$34,2,$64,2

.db   $C2,2,$33,2,$83,2,$34,2,$64,2,$83,2,$34,2,$64,2
.db   $C2,2,$33,2,$83,2,$34,2,$64,2,$83,2,$34,2,$64,2

.db   $13,2,$53,2,$83,2,$14,2,$54,2,$83,2,$14,2,$54,2
.db   $13,2,$53,2,$83,2,$14,2,$54,2,$83,2,$14,2,$54,2

.db   $13,2,$53,2,$A3,2,$54,2,$A4,2,$A3,2,$54,2,$A4,2
.db   $13,2,$53,2,$A3,2,$54,2,$A4,2,$A3,2,$54,2,$A4,2

.db   $13,2,$33,2,$73,2,$A3,2,$34,2,$73,2,$A3,2,$34,2
.db   $13,2,$33,2,$73,2,$A3,2,$34,2,$73,2,$A3,2,$34,2

.db   $C2,2,$33,2,$83,2,$34,2,$84,2,$83,2,$34,2,$84,2
.db   $C2,2,$33,2,$83,2,$34,2,$84,2,$83,2,$34,2,$84,2

.db   $C2,2,$13,2,$53,2,$83,2,$14,2,$53,2,$83,2,$14,2
.db   $C2,2,$13,2,$53,2,$83,2,$14,2,$53,2,$83,2,$14,2

.db   $A2,2,$13,2,$53,2,$83,2,$14,2,$53,2,$83,2,$14,2
.db   $A2,2,$13,2,$53,2,$83,2,$14,2,$53,2,$83,2,$14,2

.db   $32,2,$A2,2,$33,2,$73,2,$14,2,$33,2,$73,2,$14,2
.db   $32,2,$A2,2,$33,2,$73,2,$14,2,$33,2,$73,2,$14,2

.db   $82,2,$C2,2,$33,2,$83,2,$C3,2,$33,2,$83,2,$C3,2
.db   $82,2,$C2,2,$33,2,$83,2,$C3,2,$33,2,$83,2,$C3,2

.db  $FF,1      ; конец мелодии           (задействовано 176 нот)

;До  До#	 Ре	Ре#	Ми	 Фа	Фа#	Соль	Соль#	 Ля	Ля#	Си	  пауза
;1	  2	  3	 4	   5	 6	   7	    8	    9	    A	    B	   C     0
; октавы: малая=2  первая=3  вторая=4   третья=5
;  1/32 - 1;  1/16 - 2;  1/8 - 3;  1/4 - 4;  1/2 - 5;  1/1 - 6;	

;mel8:	

hsec:
.db 0,	0,	0,	1,	1,	1,	2,	2,	3,	3,	3,	4,	4,	5,	5,	5
.db 6,	6,	7,	7,	7,	8,	8,	8,	9,	9,	10,	10,	10,	11,	11,	12
.db 12,	12,	13,	13,	14,	14,	14,	15,	15,	16,	16,	16,	17,	17,	17,	18
.db 18,	19,	19,	19,	20,	20,	21,	21,	21,	22,	22,	23,	23,	23,	24,	24
.db 25,	25,	25,	26,	26,	26,	27,	27,	28,	28,	28,	29,	29,	30,	30,	30
.db 31,	31,	32,	32,	32,	33,	33,	33,	34,	34,	35,	35,	35,	36,	36,	37
.db 37,	37,	38,	38,	39,	39,	39,	40,	40,	41,	41,	41,	42,	42,	42,	43
.db 43,	44,	44,	44,	45,	45,	46,	46,	46,	47,	47,	48,	48,	48,	49,	49
.db 50,	50,	50,	51,	51,	51,	52,	52,	53,	53,	53,	54,	54,	55,	55,	55
.db 56,	56,	57,	57,	57,	58,	58,	58,	59,	59,	60,	60,	60,	61,	61,	62
.db 62,	62,	63,	63,	64,	64,	64,	65,	65,	66,	66,	66,	67,	67,	67,	68
.db 68,	69,	69,	69,	70,	70,	71,	71,	71,	72,	72,	73,	73,	73,	74,	74
.db 75,	75,	75,	76,	76,	76,	77,	77,	78,	78,	78,	79,	79,	80,	80,	80
.db 81,	81,	82,	82,	82,	83,	83,	83,	84,	84,	85,	85,	85,	86,	86,	87
.db 87,	87,	88,	88,	89,	89,	89,	90,	90,	91,	91,	91,	92,	92,	92,	93
.db 93,	94,	94,	94,	95,	95,	96,	96,	96,	97,	97,	98,	98,	98,	99,	99











































