+; #######
+; defines
+; #######
+
+; baudrate = clock freq / etu
+; std smartcard etu: 372
+; other smartcards: 625
+.equ etu = 625
+.equ etu_h = 312
+.equ baudrate = 8 ; UBRR value for 57600 bits/s (8mhz clock)
+
+; sizes
+.equ uart_data_len = 4
+
+; names for registers
+.def tmp = r16
+.def bitcount = r17
+.def tmp1 = r18
+.def tmp2 = r19
+.def byte = r20
+.def overflow_counter = r21
+.def counter_l = r22
+.def counter_h = r23
+.def state = r24
+.def state_m = r25
+.def mode = r26
+.def counter_l_tmp = r27
+.def counter_h_tmp = r28
+.def one = r1
+.def zero = r0
+
+; state
+.equ LOW = (1<<0)
+.equ LOW_F = 1
+.equ HIGH = (1<<1)
+.equ HIGH_F = 2
+; mode
+.equ STUPID = (1<<0) ; forward cam <-> card communication
+.equ STUPID_F = 1
+.equ COOL = (1<<1) ; send time (clocks) & state via uart
+.equ COOL_F = 2
+.equ ELITE = (1<<2) ; create bytes, maybe even whole command arrays
+.equ ELITE_F = 3
+.equ GODLIKE = (1<<3) ; filter and mask for commands to card - send rejected via uart only
+.equ GODLIKE_F = 4
+.equ INCREDIBLE_HACK = (1<<4) ; destroy all your hardware
+.equ INCREDIBLE_HACK_F = 5
+; leds
+.equ LED_CARD = PB0
+.equ LED_CAM = PB1
+.equ LED_FWD_TO_CAM = PB2
+.equ LED_FWD_TO_CARD = PB3
+.equ LED_OVERFLOW = PB4
+
+; but there is only stupid and cool mode right now %)
+
+
+; #############
+; programm code
+; #############
+
+; ------------------