; -*-asm-*- include(`common.m4') BRA r :reset ; RESB BRA r :irq ; IRQB irq: PHA s LDA a %10000000 STA a IFR PLA s RTI s ;; reset stack reset: LDX # ff TXS i ;; xxxSSSxx LDA # hh(ACR_SR_OUT_PHI2) STA a ACR LDA # %10000000 STA a PORTA LDA # %10000000 STA a DDRA LDA # %01111111 STA a IER LDA # %10000100 STA a IER ;; R T FEN SHD TM RM PM RAM ;; 1 1 1 0 0 0 0 0 LDX # %11100000 ; write configuration ;; IR ST PE L B3 B2 B1 B0 ;; 0 0 0 0 0 0 0 1 ; 115200 LDY # %00000001 JSR a :spi16 ;; R T FEN SHD TM RM PM RAM ;; 1 1 1 0 0 0 0 0 LDX # %11100000 ; write configuration ;; IR ST PE L B3 B2 B1 B0 ;; 0 0 0 0 0 0 0 1 ; 115200 LDY # %00000001 JSR a :spi16 ;; R T FEN SHD TM RM PM RAM ;; 1 1 1 0 0 0 0 0 LDX # %01000000 ; read configuration ;; IR ST PE L B3 B2 B1 B0 ;; 0 0 0 0 0 0 0 1 ; 115200 LDY # %00000000 JSR a :spi16 ;; R T FEN SHD TM RM PM RAM ;; 1 1 1 0 0 0 0 0 LDX # %01000000 ; read configuration ;; IR ST PE L B3 B2 B1 B0 ;; 0 0 0 0 0 0 0 1 ; 115200 LDY # %00000000 JSR a :spi16 LDX # %00000000 ; read data LDY # %00000000 JSR a :spi16 LDX # %10000000 ; write data LDY # ca JSR a :spi16 LDX # %10000010 ; write data LDY # ca JSR a :spi16 forever: BRA r :forever spi16: CLI i LDA # %00000000 STA a PORTA STX a SR WAI i STY a SR WAI i LDA # %10000000 STA a PORTA SEI i RTS s