Hallo Frank !
Hier mal ein kürzerer Treiber für I2C. ( Ist aber nicht von mir)
Code:
;Ansteuerung eines PCF8574 über SDA und SCL
;Verwendung des vorhandenen I2C-Bus

       .org $101
;EEPROM vom Bus abmelden
        jsr $08BB    ;I2C_ReadLast
;Schreibzugriff auf PCF8574
        ldx $0A1     ;Adresse PCF8574 lesen
        jsr $083C    ;I2C_Start
        ldx $0A2     ;Daten lesen
        jsr $0846    ;I2C_Write
        jsr $08E5    ;I2C_Stop
;Lesezugriff auf PCF8574
        ldx $0A1     ;Adresse lesen
        incx         ;Lesebit setzen
        jsr $083C    ;I2C_Start
        jsr $086F    ;I2C_Read
        sta $0A2     ;Daten speichern
        jsr $08BB    ;I2C_ReadLast
;EEPROM wieder anmelden
        ldx #$0A0    ;Adresse 24C65, write
        jsr $083C    ;I2C_Start
        ldx $066     ;AdrCounter Hi
        jsr $0846    ;I2C_Write
        ldx $067     ;AdrCounter Lo
        jsr $0846    ;I2C_Write
        ldx #$0A1    ;Adresse 24C65, read
        jsr $083C    ;I2C_Start
        rts
.end