Hallo andy001:
Mir kommen 2 Dinge komisch vor:
1. Durch den ORG auf &102 überschreibt Dein READ code den WRITE code, der ja bei $101 beginnt und bei $102 noch lange nicht fertig ist. Das kann nicht gehen. Lass den ORG weg, und übernimm für den SYS zum Lesen genau die Adresse, die im Listing für den READ rauskommt (das ist dann nicht mehr $102).
2. In der READ routine muss das eben gelesene Byte gespeichert werden, also sollte es wohl nicht heissen "jsr I2C_Read / lda $0A2 " sondern "jsr I2C_Read / sta $0A2".



2. Ich meine, es fehlt generell noch ein JSR auf I2C_ReadLast.
3
Vorschlag: Nimm meinen I2C Code