3 ; author: hackbard@hackdaworld.dyndns.org
9 ; vcc card --- atmel vcc
11 ; rst cam --- atmel int0 (pd2)
12 ; rst card --- atmel (pd4)
16 ; gnd card --- gnd cam --- atmel gnd
17 ; i/o card --- atmel icp (pd6)
18 ; i/o cam --- atmel int1 (pd3)
20 .include "../include/2313def.inc"
24 ; stupid mode only by now. just see what cam/card do and redirect
27 ; next implementation:
29 ; try to read one byte of card/cam communication and output via uart.
30 ; output time information in some way.
34 ; buffer/parse whole strings and decide whether to send to card or not.
49 ; timer/counter capt 1
52 ; timer/counter compare
55 ; timer/counter overflow 1
58 ; timer/counter overflow 0
64 ; uart data register empty
86 ; enable interrupts int0,int1
87 ldi r16,((1<<INT0)|(1<<INT1))
90 ldi r16,((1<<ISC01)|(1<<ISC00)|(1<<ISC10)|(1<<ISC11))
93 ; enable t/c overflow interrupt and icp
94 ldi r16,((1<<TOIE1)|(1<<TICIE1))
97 ldi r16,((1<<CS12)|(1<<CS11)|(1<<CS10)|(1<<ICNC1))
100 ; configure uart - interrupt enabled when i/o
105 ; init bitcounter and overflow counter
106 ldi r20,0 ; bitcounter
107 ldi r21,0 ; register for constructing the byte
108 ldi r22,0 ; overflow counter
115 ; enable interrupts (global)
146 ; output high on port to cam
158 ; enable uart dre interrupt
169 ; output low on port to cam
178 ; enable uart dre interrupt
196 ; output high on port to card
208 ; output low on port to card
219 ; t1_overflow routine
224 add r22,r1 ; inc counter overflow register
241 ; output high on rst port to card
253 ; output low on rst port to cam