This version of the code is compatible only with the AT89C2051 due to the location of the data buffer and stack in RAM. The code may be modified to work with the AT89C1051 by relocating or resizing the buffer and stack to fit into the smaller amount of RAM available in the AT89C1051.