Actually I was wrong about the Addressing - I hadn't noticed you were using a 24C16 - I normally use larger chips - in fact the 24C16 needs a byte for the address. Unfortunately the addressing you require is a little more complex - the 2K memory is organised in 8 x 256 byte blocks and the A10, A9, A8 are conveyed as the lower 3,2,1 bits of the Control byte, and A7-0 in the Address byte - a rewrite of your addressing is needed!
Control Byte: 1010XXX0 where XXX are the high order 3 bits of the address
Address Byte: XXXXXXXX = A7-0
You will need to create the Control byte for each successive write. Get back to me if you need any more help.
Peter
Bookmarks