

$Include 'C:\pemicro\ics08qtqyz\qtqy_registers.inc'


RAMStart    equ         $0080          ;Inicio sector memoria RAM
RAMEnd      equ         $00FF          ;Fin memoria RAM
ROMStart    equ         $F800          ;Inicio sector memoria ROM 
VectorStart equ         $FFDE          ;Inicio vectores de interrupción

TOF             equ         7
TOIE            equ         6
TSTOP           equ         5
TRST            equ         4

MS0B        equ         5
MS0A        equ         4
ELS0B       equ         3
ELS0A       equ         2
TOV0        equ         1
CH0MAX      equ         0

MS1A        equ         4
ELS1B       equ         3
LS1B        equ         3
ELS1A       equ         2
TOV1        equ         1
CH1MAX      equ         0



     org            RAMStart




            org             ROMStart



      rsp                                                       ;Resetea Stack
      mov             #$11,CONFIG1                ;Apaga modulo COP y LVI

      mov             #$00,PORTA               ;Inicializa Puerto A con valores conocidos
      mov             #$FF,DDRA                ;Configura Puerto A como salida

      clrh                                                      ;Inicializa índice y acumulador
      clrx
      clra


       mov      #$30,TSC                    ;Detiene y resetea contador
       mov      #$21,TSC                    ;El 2 responde a que TSTOP debe quedar en "1" (detenido)       mov     #$00,TMODH
       mov     #$F6,TMODL            ;Entonces TMODH:TMODL = 0x00F6 (246)
       mov     #$00,TCH0H
       mov     #$7B,TCH0L              ;Dutty del 50%, TCH0H:TCH0L = 0x007B (123)  
       bclr       MS0B,TSC0                ;0:1 en MS0B:MS0A para PWM unbuffered 
       bset       MS0A,TSC0
       bset       TOV0,TSC0                ;1 en TOV0 para toggle on overflow
       bset       ELS0B,TSC0              ;1:0 en ELS0B:ELS0A para clear on output compare 
       bclr       ELS0A,TSC0


       bclr       TSTOP,TSC                ;Enciende contador

Inicio:


        jsr         DELAY_10mS           ;Demora 10mS 
     
        bra       Inicio





;*** Demora 10 mS ***

DELAY_10mS:

LOOP_3:

       ldx             #$5B

LOOP_1:

       lda             #$25
       deca
       beq             LOOP_0

LOOP_0:

        bra LOOP_1
        decx
        beq LOOP_2

LOOP_2:
        bra LOOP_3


   rts

;*** Fin subrutina ***


 org  VectorStart


  ; dw   dummy_isr       ;KBI_Int Vector interrupción teclado
;   dw   dummy_isr       ;No usado
 ;  dw   dummy_isr       ;No usado
  ; dw   dummy_isr       ;No usado
  ; dw   dummy_isr       ;No usado
  ; dw   dummy_isr       ;No usado
;   dw   dummy_isr       ;TOF_Int Vector interrupcion overflow de timer
 ;  dw   dummy_isr       ;TIM1_INT Vector interrupcion timer canal 1
  ; dw   dummy_isr       ;TIM0_Int Vector interrupcion timer canal 0
   ;dw   dummy_isr       ;No usado
;   dw   dummy_isr       ;IRQ_Int Vector interrupcion por IRQ
 ;  dw   dummy_isr       ;SWI_Int Vector interrupcion por SWI
  ; dw   main            ;RST_Int Vector interrupcion por Reset


end
