Sam's 8051 Page

Bootload code Code to let you load a new program into an on-board flash device, so you'll never have to remove a chip again (ha ha)
i2c_hw.zip(1k) I2C implementation, in C, for devices which have I2C hardware. Includes some simple example code. Note, this code is not interrupt driven.
i2c_sw.zip(2k) I2C implementation in C, for devices which DO NOT have I2C hardware. This code doesn't use interrupts either, and is useful for Master application but not for Slave use.