I'm at the point in my implementation of time utilities where I need to fix some OSWORD 14 & 15 specifications. Acorn were not consistent about this, and subsequent roms have made things worse, until it's all a mess, as summarised on the wiki! I would like to get some kind of consensus about this so that (for example) my SNTP implementation can be used with other clock roms.
Here is what I have at the moment:
OSWORD 14 (&0E) returns data depending on the first byte in the memory block:
I don't want to change OSWORD 15 much, though I would happily add more TLAs to subcall 3, but I'm much more open to change of OSWORD 14. Should I change 7 to return timezone as a string, and have BCD as 8? Do we need some way to read the century in BCD? Is any consensus possible?
Here is what I have at the moment:
OSWORD 14 (&0E) returns data depending on the first byte in the memory block:
- Byte 0 = 0: Return date and time in the form www,dd mmm yyyy.hh:mm:yy
- Byte 0 = 1: Return date and time as 7 BCD values (no century)
- Byte 0 = 2: Convert date and time from 7 BCD values to string, using current century
- Byte 0 = 3-4: Not used (too many other conflicting uses!)
- Byte 0 = 5: Return saved date and time as string, depending on second byte in block:
- Byte 1 = &FF: Return time of last clock setting
- Byte 1 = 0-39: Reserved for alarm times
- Byte 0 = 6: Return saved date & time as BCD, depending on second byte in block
- Byte 0 = 7: Return timezone offset as one BCD byte
- Byte 0 = 1, "S": Wait for the seconds to tick over, then return
- Byte 0 = 3, "UTC", "GMT", "BST": Set timezone offset according to TLA
- Byte 0 = 4, "C±cc": Adjust clock calibration by ±cc units (on my clock they are 1/128 s/hr each)
- Byte 0 = 6, "UTC±zz": Set the timezone offset to ±zz hours
- Byte 0 = 7, "S±ss.cc": Adjust time by ±ss seconds and cc centi-seconds
- Byte 0 = 8, "hh:mm:ss": Set time, leaving date unchanged
- Byte 0 = 15, "www,dd mmm yyyy": Set date, leaving time unchanged
- Byte 0 = 24, "www,dd mmm yyyy.hh:mm:ss": Set date and time
I don't want to change OSWORD 15 much, though I would happily add more TLAs to subcall 3, but I'm much more open to change of OSWORD 14. Should I change 7 to return timezone as a string, and have BCD as 8? Do we need some way to read the century in BCD? Is any consensus possible?
Statistics: Posted by Barneyntd — Mon Mar 11, 2024 2:17 pm