Yes, you can use 0x50 if you want to. There is nothing written there. Since 0x50h = 80 you can use something like this

Code:
for fn= 0 to 3
  write (10*fn + 80),lightsetHR[fn]
  write (10*fn + 81),lightsetMN[fn]
  write (10*fn + 82),lightoffHR[fn]
  write (10*fn + 83),lightoffMN[fn]
  write (10*fn + 84),droptemp[fn]
  write (10*fn + 85),normtemp[fn]
  write (10*fn + 86),StartHour[fn]
  write (10*fn + 87),StartMin[fn]
  write (10*fn + 88),StopHour[fn]
  write (10*fn + 89),StopMin[fn]
next fn
I haven't tested this code so I don't know if the (10*fn + 8x) works in the WRITE command. If it doesn't then try something like this

Code:
for fn= 0 to 3
  Mem_address = (10*fn) + 80
  write Mem_Address,lightsetHR[fn]
  Mem_address = (10*fn) + 81
  write Mem_address,lightsetMN[fn]
  Mem_address = (10*fn) + 82
  write Mem_address,lightoffHR[fn]
  Mem_address = (10*fn) + 83
  write Mem_address,lightoffMN[fn]
  Mem_address = (10*fn) + 84
  write Mem_address,droptemp[fn]
  Mem_address = (10*fn) + 85
  write Mem_address,normtemp[fn]
  Mem_address = (10*fn) + 86
  write Mem_address,StartHour[fn]
  Mem_address = (10*fn) + 87
  write Mem_address,StartMin[fn]
  Mem_address = (10*fn) + 88
  write Mem_address,StopHour[fn]
  Mem_address = (10*fn) + 89
  write Mem_address,StopMin[fn]
next fn

Quote Originally Posted by malc-c View Post
Oh and I'm using DT's interrupts... would I need to use DEFINE WRITE_INT 1 withing that sub-routine ?
You need to disable the interrupts for the WRITE command to work. I read somewhere in this forum that the WRITE_INT is only for WRITECODE, but you might want to try it.

Robert