         .include "c:\avrtools\m64def.inc"
         .def temp=r16
         .def temp3=r25
         .def temp2=r26
         .def mem1=r19 
         .def mem2=r20         
         .def mem3=r21
         .def mem4=r22
         .equ port0=$1000
         .equ port1=$1100
         .equ port2=$1200
         .equ port3=$1300
         .equ port4=$1400
         .equ port6=$1600
         .equ port7=$1700  
         ldi temp,low(RamEnd)
         out SPL,temp
         ldi temp,High(RamEnd)
         out SPH,temp
         

             


        ldi r16,0
        out TCCR0,r16 
        out TCNT0,r16
        out OCR0,r16
        out TCCR1A,r16
        out TCCR1B,r16
        out TCNT1H,r16
        out TCNT1L,r16
        out ICR1H,r16
        out ICR1L,r16
        out OCR1AH,r16
        out OCR1AL,r16
        out OCR1BH,r16
        out OCR1BL,r16
        ldi r16,0xC0
        out MCUCR,r16
        ldi r16,2
        sts XMCRA,r16
        ldi r16,0
        out TIMSK,r16
        ldi r16,0x80
        out ACSR,r16

 

                            ;ИНИЦИАЛИЗАЦИЯ V9990
        ldi r16,0xFF
        out DDRD,r16
        cbi portd,7
        ldi r16,0
res:    dec r16
        brne res
        sbi portd,7 
 



         ldi r16,3
         sts port7,r16    ;установка всех портов V9990 кроме этого в состояние POWER ON RESET
         ldi mem3,0
lp1:     dec mem3
         brne lp1   

         ldi r16,1
         sts port7,r16    ;выключение состояния POWER ON RESET
;         ldi mem3,0
;lp2:     dec mem3
;         brne lp2  
     




         ldi r16,0x06    
         sts port4,r16    ;выбор регистра 6
;         ldi mem3,0
;lp10:    dec mem3
;         brne lp10 

         ldi r16,0x97
         sts port3,r16    ;записать данные в регистр 6 растровый видеорежим 16 бит на пиксель 512 точек горизонт 
;         ldi mem3,0
;lp11:    dec mem3
;         brne lp11   

         ldi r16,0xC7
         sts port4,r16    ;выбор регистра 7
;         ldi mem3,0
;lp12:    dec mem3
;         brne lp12   

         ldi r16,0x08
         sts port3,r16    ;записать данные в регистр 7 PAL режим записать 8
;         ldi mem3,0
;lp13:    dec mem3
;         brne lp13   


                          ;На экране отображается только цвет подложки
        
         ldi r16,0x0F
         sts port4,r16    ;выбор регистра 15 цвет подложки
;         ldi mem3,0
;lp5:     dec mem3
;         brne lp5   

         ldi r16,0x08
         sts port3,r16    ;записать данные в регистр 15
;         ldi mem3,0
;lp6:     dec mem3
;         brne lp6           

         ldi r16,0x08
         sts port4,r16    ;выбор регистра 8
;         ldi mem3,0
;lp8:     dec mem3
;         brne lp8   

         ldi r16,0x42
         sts port3,r16    ;записать данные в регистр 8
;         ldi mem3,0
;lp9:     dec mem3
;         brne lp9   













                           ;установка адреса VRAM 00001Fh     

 
         ldi r16,0
         sts port4,r16     ;выбор регистра 0
;         ldi mem3,0
;lp161:    dec mem3
;         brne lp161   

         ldi r16,0x0f      ;1f
         sts port3,r16     ;запись в регистр 0 младшая часть адреса
;         ldi mem3,0
;lp171:    dec mem3
;         brne lp171   

         ldi r16,0x01
         sts port4,r16     ;выбор регистра 1        
;         ldi mem3,0
;lp181:    dec mem3
;         brne lp181   

         ldi r16,0
         sts port3,r16     ;запись в регистр 1 средняя часть адреса
;         ldi mem3,0
;lp191:    dec mem3
;         brne lp191   

         ldi r16,0x02
         sts port4,r16     ;выбор регистра 2
;         ldi mem3,0
;lp201:    dec mem3
;        brne lp201   

         ldi r16,0
         sts port3,r16     ;запись в регистр 2 старшая часть адреса        
;         ldi mem3,0
;lp211:    dec mem3
;         brne lp211 




                          ;здесь начинается работа с датафлэш
                           ;и запись данных в видеопроц



      .def confsp=r16   
      .def data=r17
      .def conport=r18
      .def count=r19
      .def data1=r20
      
      ldi conport,0x0d
      out portb,conport
      ldi conport,0x07
      out ddrb,conport
      ldi confsp,0x5c
      out spcr,confsp
      


     
         cbi portb,0
         ldi count,0
wait111: dec count
         brne wait111
         ldi count,0
wait221: dec count
         brne wait221  
 
         ldi count,0
wait331: dec count
         brne wait331
         ldi count,0
wait441: dec count
         brne wait441  


      
      ldi data,0x68      ;код операции непрерывное чтение 68
      out spdr,data
spi11: sbis spsr,spif
      rjmp spi11      
      in data1,spdr
      
      ldi data,0         ;стартовый адрес для чтения из AT45DB 00000h
      out spdr,data
spi21: sbis spsr,spif
      rjmp spi21      
      in data1,spdr 
      
      ldi data,0
      out spdr,data
spi31: sbis spsr,spif
      rjmp spi31      
      in data1,spdr      
      
      ldi data,0
      out spdr,data
spi41: sbis spsr,spif
      rjmp spi41      
      in data1,spdr      
      
      
      ldi data,0xff      ;передача 4-х незначащих байт 
      out spdr,data    
spi51: sbis spsr,spif
      rjmp spi51      
      in data1,spdr

      ldi data,0xff      ;передача 4-х незначащих байт 
      out spdr,data    
spi61: sbis spsr,spif
      rjmp spi61      
      in data1,spdr


      ldi data,0xff      ;передача 4-х незначащих байт 
      out spdr,data    
spi71: sbis spsr,spif
      rjmp spi71      
      in data1,spdr
      
 
         ldi temp3,0x05
loop11:   ldi temp,0xe4              
loop21:   ldi temp2,0xff
loop31:   ldi data,0xff     ;передача 4-х незначащих байт 
         out spdr,data    
spi81:    sbis spsr,spif
         rjmp spi81      
         in data1,spdr
      
         sts port0,data1
         dec temp2
         cpi temp2,0
         brne loop31
         dec temp
         cpi temp,0
         brne loop21
         dec temp3
         cpi temp3,0
         brne loop11
         sbi portb,0

         ldi r16,0x08
         sts port4,r16    ;выбор регистра 8
         ldi mem3,0
lp3:     dec mem3
         brne lp3   

         ldi r16,0xC2
         sts port3,r16    ;записать данные в регистр 8
         ldi mem3,0
lp4:     dec mem3
         brne lp4   
st:      rjmp st   
 
