;================================================================ ; ibe.asm - iButton emulator ; ; (C) 2010 by Tomas Pecina ; ; Device: ; ATtiny85 ; ; Fuses: ; EFUSE = 0bXXXXXXXX ; HFUSE = 0b1XX1X111 ; LFUSE = 0b1X010010 ; (X = don't care) .nolist .include "tn85def.inc" .include "main.inc" .list ; constants .equ trst = 90 .equ tpres = trst + 8 .equ trstt = 2 * trst .equ tlow = 1 .equ tsmp = 2 .equ thigh = 9 .equ tslt = 12 .equ tc0 = 3 .equ tc1 = 80 .equ tc2 = 220 .equ tc3 = 1 .equ tc4 = 78 .equ tc5 = 79 .equ tc6 = 140 .equ tc7 = 3 .equ tc8 = 12 .equ tc9 = 72 .equ tc10 = 5 .equ tc11 = 200 .equ tc12 = 5 .equ tc13 = 250 .equ romread = 0x0f .equ romread2 = 0x33 .equ sign = 0x01 ; pins .equ LED = PB4 .equ IBIO = PB3 .equ UNUSED1 = PB2 .equ EIBI = PB1 .equ EIBO = PB0 ; blink .equ BLRATE = 35 .equ BLRDY = 0b11111 .equ BLSLP = 0b1001 .equ BLIBI = 0b1100011 .equ BLNOE = 0b110001100011 .dseg .org SRAM_START ib: .byte 8 crc: .byte 1 ; EEPROM .eseg .org 0 eibee: .byte 8 .cseg .org 0 rjmp start .org WDTaddr rjmp wdtint start: ; initialize SP ldiw A, RAMEND out SPH, AH out SPL, AL ; enable WDT in AL, WDTCR sbr AL, (1<