;********************************************************************************************************
;			7 февраля 2010г. 13-30
;
; SKD & Alarm Rfid ATtiny2313
;
; Автор "kuber" - trio-tv@mail.ru
;
; Проект на Asm                        - gavrasm  http://www.avr-asm-tutorial.net/gavrasm/index_en.html
; Программатор высоковольтный - avrpp  http://elm-chan.org/works/avrx/report_e.html#AVRXP
;
; Программа 1 шлейфовой сигнализации на  (tiny2313) с постановкой/снятием RFID карт-брелками.
; Два выхода SIREM и OUT с программированием времни работы от 1 до 126 и 1 до 254 сек
; SIREN- выход срабатывает если произошла тревога
; OUT   - выход срабатывает при снятии сигнализации с охраны
;
; Программирование сигнализации через перемычки JP1,JP2,JP3,JP4
; 
; JP1- Стирание всех карт-брелков.
; JP2- Добавление карт-брелков (max. 30)
; JP3- Время работы выхода SIREN, приращение по 1 сек.(свето - звуковое приращение)
; JP4- Время работы выхода OUT,     приращение по 1 сек.(свето - звуковое приращение)
;
; int OSC 8.0 MZh , без делителя на 8, BODLEVEL- 2.7v.
;********************************************************************************************************
;
.include "tn2313def.inc"
;
.def	cp_reg1		= R7
.def	cp_reg2		= R8
.def	cp_reg3		= R9
.def	cp_reg4		= R10
;
.def	cp_reg11		= R11
.def	cp_reg22		= R12
.def	cp_reg33		= R13
.def	cp_reg44		= R14

;
.def 	temp       		= R22
;
.def	temp_1	   	= R23
.def    	temp_2     		= R24
.def    	temp_3     		= R25
;
.def	Flag_R	   	= R26	;0 бит посылка Rfid считана
.def	Flag_RAM   	= R27	
;
.def	temp_mcusr 	= R5
;
;----------------------------------------------------------------------
;
.equ ee_adres_rfid_code	= 8	; Начало массива кодов карт
;	
.equ num_string		= 4	; Адрес в EEPROM номер следующей записи
;
.equ arm_disarm		= 3	; Адрес в EEPROM состояние поставлено/снять с охраны.
;
.equ siren_time		= 2	; Адрес в EEPROM время работы выхода SIREN.
;
.equ out_timee		= 1	; Адрес в EEPROM время работы выхода OUT.
;
;----------------------------------------------------------------------
;
.dseg
;
count1:			.byte	1
pulse_led_with:		.byte	1
;
;
.equ	pulse_led_const	= 20	; Периуд мигания исходный
.equ	pulse_led_burg	= 5	; Периуд мигания по тревоге

;
;
;
.equ	Biper_pin		= 0	;номер вывода управления Бипером
.equ	Biper_port	= PORTB
;
;----------------------------------
;
.equ	Eras_JP1_pin	= 6
.equ	Eras_JP1_mask	= 0B00111000	;
;
.equ	Prog_JP2_pin	= 5
.equ	Prog_JP2_mask	= 0B01011000	;
;
.equ	T_Siten_JP3_pin	= 4
.equ	T_Siten_JP3_mask	= 0B01101000	;
;
.equ	T_Out_JP4_pin	= 3
.equ	T_Out_JP4_mask	= 0B01110000	;
;
;-----------------------------------
;
.equ	JP1JP2_port	= PORTD
.equ	JP_PINx		= PIND
.equ	JP_DDRx		= DDRD
;
.equ	LedR_pin		= 0
.equ	LedG_pin		= 1
.equ	Led_port		= PORTA
;
.equ	Rfid_in_pin	= 1
.equ	Rfid_in_port	= PORTB
;
.equ	Rfid_out_125k	= 2
.equ	Rfid_out_port	= PORTB
;
.equ	Pin_Gerkon	= 2  	;  вход  Геркона.
.equ	PINB_Gerkon	= PIND
;
.equ	Siren_pin		= 3
.equ	Siren_port		= PORTB
;
.equ	Out_pin		= 4
.equ	Out_port		= PORTB
;
;
ee_paket_byte1:		.byte	1
ee_paket_byte2:		.byte	1
ee_paket_byte3:  		.byte	1
ee_paket_byte4:  		.byte	1
;
;
Sirena_time:		.byte	1 ; переменная продолжительность  работы выхода SIREN
;
Out_time:			.byte	1 ; переменная продолжительность  работы выхода OUT
;
Gerkon_flag:		.byte	1
;
bib_cons:			.byte	1
;
Alarm_flag:		.byte	1 
;
led_long_var:		.byte	1 
;
led_repeat:		.byte	1 
;
led_count_repeat:		.byte	1 
;
Siren_count_long:		.byte	1
;
;
;-------------------------------------------------------------
; Interrupt service vectors
.cseg
.org 0
;
	rjmp	Reset		; reset
;
	rjmp	INT0addrS	; 0x0001	; External Interrupt Request 0
	rjmp	INT1addrS	; 0x0002	; External Interrupt Request 1
	rjmp	ICP1addrS	; 0x0003	; Timer/Counter1 Capture Event
	rjmp	OC1AaddrS	; 0x0004	; Timer/Counter1 Compare Match A
	rjmp	OVF1addrS	; 0x0005	; Timer/Counter1 Overflow
	rjmp	OVF0addrS	; 0x0006	; Timer/Counter0 Overflow
	rjmp	URXCaddrS	; 0x0007	; USART, Rx Complete
	rjmp	UDREaddrS	; 0x0008	; USART Data Register Empty
	rjmp	UTXCaddrS	; 0x0009	; USART, Tx Complete
	rjmp	ACIaddrS		; 0x000a	; Analog Comparator
	rjmp	PCIaddrS		; 0x000b	; 
	rjmp	OC1BaddrS	; 0x000c	; 
	rjmp	OC0AaddrS	; 0x000d	; 
	rjmp	OC0BaddrS	; 0x000e	; 
	rjmp	USI_STARTaddrS	; 0x000f	; USI Start Condition
	rjmp	USI_OVFaddrS	; 0x0010	; USI Overflow
	rjmp	ERDYaddrS	; 0x0011	; 
	rjmp	WDTaddrS	; 0x0012	; Watchdog Timer Overflow
;
;====================================================================
;
INT0addrS:
	reti
INT1addrS:
	reti
ICP1addrS:
	reti
OC1AaddrS:
	reti
OVF1addrS:
	reti
OVF0addrS:
	reti
URXCaddrS:
	reti
UDREaddrS:
	reti
UTXCaddrS:
	reti
ACIaddrS:
	reti
PCIaddrS:
	reti
OC1BaddrS:
	reti
;;OC0AaddrS:
;;	reti
OC0BaddrS:
	reti
USI_STARTaddrS:
	reti
USI_OVFaddrS:
	reti
ERDYaddrS:
	reti
WDTaddrS:
	reti
;
;====================================================================
;
.include  "Decoder_Alarm_t2313_skd_rfid.asm"
.include  "EE_alarm_t2313_skd.asm"	
;
;
; 	Start Программы
;
Reset:
;
	ldi temp,low(RAMEND)
	out SPL,temp
;--------------------------------
;
;
	ldi	temp,255			; Set up PORTA.
	out 	DDRA,temp
;
	ldi	temp,0
	out	PORTA,temp
;
;
	ldi	temp,255-2		; Set up PORTB.
	out 	DDRB,temp
;
	ldi	temp,0	
	out	PORTB,temp
;
;
	ldi	temp,255-64-32-16-8-4	; Set up PORTD.
	out 	DDRD,temp
;
	ldi	temp,0	
	out	PORTD,temp
;
;
;-------------------------------
;Timer0 OC0A
;-------------------------------
	ldi	temp,0b01000010	;0b01000010	
	out	TCCR0A,temp
;
	ldi	temp,0b10000001	;0b10000001	
	out	TCCR0B,temp
;
	ldi	temp,0b00000000
	out	TCNT0,temp
;
	ldi	temp,32			;8.0 OSC
	out	OCR0A,temp
;
	ldi	temp,1<<OCIE0A		
	out	TIMSK,temp
;
;------------------------------------
;set comparator
;
;
	sbi	ACSR,7		; comparator disable
;
;------------------------------------
;
	ldi	temp,pulse_led_const
	sts	(led_count_repeat),temp
;
	clr	Flag_R
	clr	flag_RAM
;
	sts	(count1),flag_RAM
	sts	(Out_time),flag_RAM
	sts	(Sirena_time),flag_RAM
;
	sts	(Gerkon_flag),flag_RAM
	sts	(Siren_count_long),flag_RAM
;
;
;------------------------
;
;	sei
;
;------------------------
;
	cbi	Biper_port,Biper_pin
;
;*******************************
;
main:
;
	rcall	detect
;
	sbrs	Flag_R,0
	rjmp	no_ready_rfid
;
	rcall	EE_compare_Rfid_paket
;
no_ready_rfid:
;
	sbrc	Flag_R,3	
	rcall	arm_disarmed		;Считана карта-брелок постановки снятия
;
	rcall	Gerkon_IN
	rcall	JP_Prog
;
	lds	temp,led_repeat
	inc	temp
	sts	led_repeat,temp
;
	lds	temp_1,(led_count_repeat)
;
	cp	temp,temp_1
	brlo	main
	clr	temp
	sts	led_repeat,temp
;
	ldi	ZL,arm_disarm		;Считывания из EEPROM  при включении
	rcall	EEprom_read		; состояния arm/disarm
;
	sbrc	temp_1,0
	rjmp	led_arm
;
	rcall	Led_G_Pulse
;
	rcall	out_time_loop		; переход на подпрограмму работы выхода OUT		
;
	rjmp	main
;
led_arm:
;
	lds	temp_1,(Gerkon_flag)
	sbrc	temp_1,6
	rjmp	Burg_Alarm		; Включение тревоги ~~~
	sbrc	temp_1,7
	rjmp	Alarm_Store
;
	rcall	Led_G_Pulse
	rcall	Led_R_Pulse
;
	rjmp	main
;
;*******************************
;
Alarm_Store:
;
	sbrs	temp_1,0
	rjmp	ALARM_YES
	rcall	Led_R_Pulse
;
	rjmp	main
;
ALARM_YES:
;
	sbr	temp_1,0b01000000 		; 6-флаг тревоги
	sts	(Gerkon_flag),temp_1
;
	ldi	ZL,siren_time		; адрес в EEROM, время работы выхода SIREN.
	rcall	EEprom_read
;
	sts	(Siren_count_long),temp_1
;
	ldi	temp,pulse_led_burg
	sts	(led_count_repeat),temp
;
;---------------
;Функция громкой тревоги
;
Burg_Alarm:
;
	lds	temp_1,(Siren_count_long)
	tst	temp_1
	breq	Siren_Off
	dec	temp_1
	sts	(Siren_count_long),temp_1
;
	sbrs	temp_1,0
	rjmp	bip_1
	sbi	Biper_port,Biper_pin
	rjmp	bip_first
bip_1:
	cbi	Biper_port,Biper_pin
;
bip_first:
;
	sbi	Siren_port	,Siren_pin		;Включение выхода SIREN
;
	rcall	Led_R_Pulse
;
	rjmp	main
;
Siren_Off:
;
	sts	(Gerkon_flag),temp_1
;
	cbi	Biper_port,Biper_pin		;Выключение сигнала бипера
;
	cbi	Siren_port	,Siren_pin		;Выключение выхода SIREN
;
	rjmp	main
;
;*******************************
;
Led_G_Pulse:
;
	sbi	Led_port,LedG_pin	
	rcall	delay100
	cbi	Led_port,LedG_pin	
	rcall	delay100
;
	ret
;---
Led_R_Pulse:
;
	sbi	Led_port,LedR_pin	
	rcall	delay100
	cbi	Led_port,LedR_pin	
	rcall	delay100
;
	ret
;
;*******************************
arm_disarmed:
	cbr	Flag_R,0b00001000
;
	ldi	ZL,arm_disarm		; Считывания из EEPROM  привключении
	rcall	EEprom_read		; состояния arm/disarm
;
	sbrs	temp_1,0
	rjmp	armed
	rjmp	disarmed
;
armed:
;
	sbr	temp_1,1
;;;	sts	(Alarm_flag),temp_1
	ldi	ZL,arm_disarm
	rcall	EEprom_write
;
	rcall	Sirena_bip
;
	cbi	Out_port,Out_pin		; Выключаем выход OUT
;
	clr	inttemp
	clr	inttemp2
	sts	(Gerkon_flag),inttemp	; Сброс флагов геркона
;
	ret
;
disarmed:
;
	ldi	temp_1,0
	sts	(Sirena_time),temp_1
	sts	(Gerkon_flag),temp_1
;
	ldi	temp,pulse_led_const
	sts	(led_count_repeat),temp
;
	cbr	temp_1,1
;;;	sts	(Alarm_flag),temp_1
	ldi	ZL,arm_disarm
	rcall	EEprom_write
;
	cbi	Biper_port,Biper_pin
	rcall	delay100
;
	rcall	Sirena_bip
	rcall	Sirena_bip
;
;------------
	ldi	ZL,out_timee		; адрес в EEROM, время работы выхода OUT.
	rcall	EEprom_read
;
	sts	(Out_time),temp_1
;------------
;
	cbi	Siren_port	,Siren_pin		;Выключение выхода SIREN
;
	clr	inttemp
	clr	inttemp2
;
	ret
;
;-----------------------------------------------------
; подпрограмма работы выхода OUT
;
out_time_loop:
;
	lds	temp_1,(Out_time)
	tst	temp_1
	breq	out_time_off
;
	sbi	Out_port,Out_pin	; Включаем выход OUT
;
	dec	temp_1
	sts	(Out_time),temp_1
;
	ret
;
out_time_off:
;
	cbi	Out_port,Out_pin	; Выключаем выход OUT
;
	ret
;
;-----------------------------------------------------------------------------------------
;
JP_Prog:
;
	ldi	ZL,arm_disarm		; Считывания из EEPROM  привключении
	rcall	EEprom_read		; состояния arm/disarm
;
	sbrc	temp_1,0
 	ret				; Сигнализация на охране ВЫХОД
;
	rcall	PROG_JP
;
	sbrc	flag_RAM,7
	rjmp	ERASE_DEFAULT		; Стирание всех кодов карт
;
	sbrc	flag_RAM,6
	rjmp	ADD_card			; Цыкл добавления новых карт
;
	sbrc	flag_RAM,5
	rjmp	ADD_Siren_Time		; Время работы выхода SIREN приращение 1 сек.
;
	sbrc	flag_RAM,4
	rjmp	ADD_Out_Time		; Время работы выхода OUT приращение 1 сек.
;
	ret
;
;----------------------------
;
;задержка 
;
pause:
;
delay100:
	push	temp_1
	push	temp_2
	push	temp_3
;
	ldi	temp_3,100
;
d_Wms:	ldi	temp_1,0x14
d_Wms1:	ldi	temp_2,0x85
d_Wms2:	dec	temp_2
	brne	d_Wms2
	dec	temp_1
	brne	d_Wms1
	dec	temp_3
	brne	d_Wms
;
	pop	temp_3
	pop	temp_2
	pop	temp_1
;
	ret
;
delay500:
	rcall	delay100
delay400:
	rcall	delay100
delay300:	
	rcall	delay100
delay200:
	rcall	delay100
	rcall	delay100
;
	ret
;
;---------
;
delay:
	push	temp
	ldi	temp,50
del0:
	dec 	temp
	brne	del0
	pop	temp
;
	ret
;
;-----------------
Sirena_bip:
;

	sbi	Biper_port,Biper_pin
	rcall	delay100
	cbi	Biper_port,Biper_pin
	rcall	delay100
;
	ret
;
;----------------------------------------------------------------------------------------------------------------------------
;
; Подпрограмма приращение переменной времени работы выхода SIREN в секундах
; адрес переменной - siren_time (EEprom)
;
ADD_Siren_Time:
;
	ldi	temp_1,9		; +1 минимальное время  работы выхода SIREN.
;
a_s_tim:
	ldi	ZL,siren_time
	rcall	EEprom_write
;
	rcall	delay500
;
	rcall	PROG_JP
	sbrs	flag_RAM,5	; исключаем случайное замыкание перемычки JP3 (Приращение времени работы выхода SIREN).
	ret
;
	sbi	Led_port,LedR_pin	
	rcall	Sirena_bip
	cbi	Led_port,LedR_pin	
;
	ldi	ZL,siren_time
	rcall	EEprom_read
;
	cpi	temp_1,254	; Максимальное время работы выхода SIREN - 126 сек.
	breq	a_s_tim	
;
	inc	temp_1		; Приращение времени работы выхода SIREN.
	inc	temp_1	
;
	rjmp	a_s_tim
;
;-------------------------------------------------------------------------------------------------------------------------
;
; Подпрограмма приращение переменной времени работы выхода OUT в секундах
; адрес переменной - out_time (EEprom)
;
ADD_Out_Time:
;
	ldi	temp_1,0		; +1 минимальное время работы выхода OUT.
;
a_o_tim:
	ldi	ZL,out_timee
	rcall	EEprom_write
;
	rcall	delay500
;
	rcall	PROG_JP
	sbrs	flag_RAM,4	; исключаем случайное замыкание перемычки JP4 (Приращение времени работы выхода OUT).
	ret
;
	sbi	Led_port,LedR_pin	
	rcall	Sirena_bip
	cbi	Led_port,LedR_pin	
;
	ldi	ZL,out_timee
	rcall	EEprom_read
;
	cpi	temp_1,254	; Максимальное время работы выхода OUT - 254 сек.
	breq	a_o_tim
;
	inc	temp_1		;  Приращение времени работы выхода OUT.
;
	rjmp	a_o_tim
;
;
;------------------------------------------------------------------------------------------------------------------------
;
;Подпрограмма установки исходных данных в EEPROM
;
; Стирание всех кодов ключей , время работы OUT, SIREN не изменяется
;
;------------------------------------------------------------------------------------------------------------------------
;
ERASE_DEFAULT:
;
	rcall	delay500
;
	rcall	PROG_JP
	sbrs	flag_RAM,7	; исключаем случайное замыкание перемычки JP2 (стираем все коды карт).
;
	ret
;
	rcall	Sirena_bip
	rcall	Sirena_bip
	rcall	Sirena_bip
;
	rcall	EE_def		; стирание EE
;
	ldi	temp_1,0		; Снято с охраны
	ldi	ZL,arm_disarm
	rcall	EEprom_write
;
erase_loop_end:
;
	sbi	Led_port,LedR_pin	
;
	rcall	PROG_JP
	sbrc	flag_RAM,7
	rjmp	erase_loop_end
;
	cbi	Led_port,LedR_pin	
;
	ret
;
;------------------------------------------------------------------------------------------------------
;Подпрограмма логика работы геркона
;
Gerkon_IN:
;
	in 	temp_1,PINB_Gerkon
	andi	temp_1,0B00000100
;
	rcall	delay
;
	in 	temp_2,PINB_Gerkon
	andi	temp_2,0B00000100
;
	cp	temp_1,temp_2
	brne	gerkon_end
;
	cpi	temp_2,0B00000100
	breq	keys_end	
	rjmp	no_gerkom
;
;
no_gerkom:
;
	lds	temp,(Gerkon_flag)
;	sbr	temp,0b00000001 		; 0-флаг замыкания геркона
;	sbr	temp,0b10000000 		; 7-флаг факт замыкания геркона
;
	sbr	temp,0b10000001 		; установка  флагов - 0,7
	sts	(Gerkon_flag),temp
;
	ret
;
keys_end:
	lds	temp,(Gerkon_flag)
	cbr	temp,0b00000001 		; 0-флаг размыкания геркона 
	sts	(Gerkon_flag),temp
;
gerkon_end:
;
	ret
;
;------------------------------------------------------------------------------------------------------
; Подпрограмма логика работы Перемычек программирования 
; Система должна быть снята с ОХРАНЫ.
;------------------------------------------------------------------------------------------------------
;
PROG_JP:
;
	in 	temp,JP1JP2_port	
	push	temp
;
	in	temp,JP_PINx
	andi	temp,0B01111000
;
	cpi	temp,Eras_JP1_mask
	breq	PROG_JP1_on
;
	cpi	temp,Prog_JP2_mask
	breq	PROG_JP2_on
;
	cpi	temp,T_Siten_JP3_mask
	breq	PROG_JP3_on
;
	cpi	temp,T_Out_JP4_mask
	breq	PROG_JP4_on
;
	rjmp	PROG_JP_off
;--
PROG_JP1_on:
;
	sbr	flag_RAM,0b10000000 	; 7-флаг факт замыкания перемычки J1
	rjmp	pin_restore
;
PROG_JP2_on:
;
	sbr	flag_RAM,0b01000000 	; 6-флаг факт замыкания перемычки J2
	rjmp	pin_restore
;
PROG_JP3_on:
;
	sbr	flag_RAM,0b00100000 	; 5-флаг факт замыкания перемычки J3
	rjmp	pin_restore
;
PROG_JP4_on:
;
	sbr	flag_RAM,0b00010000 	; 4-флаг факт замыкания перемычки J4
	rjmp	pin_restore
;--
;--
;--
;--
PROG_JP_off:
;
	cbr	flag_RAM,0b11110000 	; 4,5,6,7 сброс.
;
pin_restore:
;
	pop	temp
	out	JP1JP2_port,temp
;
	ret
;
;
;********************************************************************
;Timer0 OCA
;
OC0Aaddrs:	
;
	in	S,SREG
	inc	timerL		;timer_Lo	;timerL
	out	SREG,S
;
	reti
;
;********************************************************************
;
;
;----------------------------------------------
;Запись кодов карт-брелков
;----------------------------------------------
;
ADD_card:
;
	rcall	delay500
;
	rcall	PROG_JP
	sbrs	flag_RAM,6	; исключаем случайное замыкание перемычки JP1 (добавление новых карт).
;
	ret
;
add_loop:
;
	sbi	Led_port,LedG_pin	
	rcall	delay100
	cbi	Led_port,LedG_pin	
	rcall	delay100
;
	ldi	ZL,num_string
	rcall	EEprom_read
;
	cpi	temp_1,31		; Максимальное кол-во ключей t2313(30)
	brsh	ee_key_full	; больше или равно - память заполнена.
;
	rcall	detect
;
	sbrs	Flag_R,0
	rjmp	e_ky
;
;
	rcall	EE_compare_Rfid_paket
;
	sbrc	Flag_R,3
	rjmp	ee_key_yes
;
	rcall	EE_wr_rf_4bytes
;
	ldi	ZL,num_string
	rcall	EEprom_read
	inc	temp_1
	rcall	EEprom_write
;
	sbi	Led_port,LedR_pin
	rcall	Sirena_bip
	cbi	Led_port,LedR_pin
	rcall	delay500
;
	rjmp	e_ky		; ключ записан в память.
;
;-------------------------------------
ee_key_yes:
;
	sbi	Led_port,LedR_pin
	rcall	Sirena_bip
	cbi	Led_port,LedR_pin
	rcall	delay100
;
ee_key_full:
;
	sbi	Led_port,LedR_pin
	rcall	Sirena_bip
	cbi	Led_port,LedR_pin
	rcall	delay100
;
e_ky:
;
	rcall	PROG_JP
	sbrc	flag_RAM,6
;
	rjmp	add_loop
;
	cbr	Flag_R,0b00001000
;
prog_end:
;
	ret
;
;-------------------------------------
;
;Стереть все коды карт-брелков
;
EE_def:
;
	rcall	EE_erase_all
;
	ldi	temp_1,0				; Указатель записей в начало списка
	ldi	ZL,num_string
	rcall	EEprom_write
;
;
	ret
;
;--------------------------------------
;**************************************************************************
;*
;* Содержимое EErom контроллера.
;*
;**************************************************************************
	.eseg
;
;
key_REC:
;0
	.db	0x00,0x01,0x0A,0x00	;-adr 2 время работы выхода SIREN. (исхожная 5 сек)
	.db	0x00,0x00,0x00,0x00	;-adr 1 время работы выхода OUT. (исхожная 1 сек)
	.db	0x00,0x00,0x00,0x00	;-	
	.db	0x00,0x00,0x00,0x00	;-
;1
	.db	0x00,0x00,0x00,0x00	;-
	.db	0x00,0x00,0x00,0x00	;-
	.db	0x00,0x00,0x00,0x00	;-
	.db	0x00,0x00,0x00,0x00	;-
;2
	.db	0x00,0x00,0x00,0x00	;-
	.db	0x00,0x00,0x00,0x00	;-
	.db	0x00,0x00,0x00,0x00	;-
	.db	0x00,0x00,0x00,0x00	;-
;3
	.db	0x00,0x00,0x00,0x00	;-
	.db	0x00,0x00,0x00,0x00	;-
	.db	0x00,0x00,0x00,0x00	;-
	.db	0x00,0x00,0x00,0x00	;-
;4
	.db	0x00,0x00,0x00,0x00	;
	.db	0x00,0x00,0x00,0x00	;-
	.db	0x00,0x00,0x00,0x00	;-	
	.db	0x00,0x00,0x00,0x00	;-
;5
	.db	0x00,0x00,0x00,0x00	;-
	.db	0x00,0x00,0x00,0x00	;-
	.db	0x00,0x00,0x00,0x00	;-
	.db	0x00,0x00,0x00,0x00	;-
;6
	.db	0x00,0x00,0x00,0x00	;-
	.db	0x00,0x00,0x00,0x00	;-
	.db	0x00,0x00,0x00,0x00	;-
	.db	0x00,0x00,0x00,0x00	;-
;7
	.db	0x00,0x00,0x00,0x00	;-
	.db	0x00,0x00,0x00,0x00	;-
	.db	0x00,0x00,0x00,0x00	;-
	.db	0x00,0x00,0x00,0x00	;-
;