A2osX/SYS/KERNEL.S.TIME.txt
2023-11-04 15:42:28 +01:00

88 lines
2.3 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

NEW
AUTO 3,1
*/--------------------------------------
* # Time
* Get System Time in Buffer
* ## C
* `void time (struct tm* timeptr);`
* ## ASM
* `>PUSHW timer`
* `>SYSCALL time`
* ## RETURN VALUE
* S.TIME filled with System date/time
*\--------------------------------------
K.Time >PULLW FORPNT
>MLICALL MLI.GETTIME
>LDYAI GP.DATE
>STYA TXTPTR
ldx #SYS.PTime2Time
jmp K.SYSCALL.JMPX
*/--------------------------------------
* # StrFTime
* ## C
* Convert S.TIME struct to CSTR
* `void strftime (char* str, const char* format, const struct tm* timeptr );`
* ## ASM
* `>PUSHW str`
* `>PUSHW format`
* + %a : Abbreviated weekday name : Thu
* + %A : Full weekday name : Thursday
* + %b : Abbreviated month name : Aug
* + %B : Full month name : August
* + %d : Day of the month, zero-padded (01-31)
* + %H : Hour in 24h format (00-23) 14
* + %I : Hour in 12h format (01-12) 02
* + %m : Month as a decimal number (01-12) 08
* + %M : Minute (00-59) 55
* + %p : AM or PM designation PM
* + %S : Second (00-61) 02
* + %w : Weekday as a decimal number with Sunday as 0 (0-6)
* + %y : Year, last two digits (00-99)
* + %Y : Year four digits 2001
* `>PUSHW timeptr`
* `>SYSCALL strftime`
* ## RETURN VALUE
* none. always succeed.
*\--------------------------------------
K.StrFTime >PULLW ZPPtr3 S.TIME
>PULLW TXTPTR format
>PULLW FORPNT str
jmp K.SYSCALL.JMPX
*/--------------------------------------
* # PTime2Time
* Convert ProDOS Time To S.TIME
* ## C
* `void PTime2Time (long* ptime, const struct tm* timeptr );`
* ## ASM
* `>PUSHW ptime`
* `>PUSHW timer`
* `>SYSCALL PTime2Time`
* ## RETURN VALUE
*\--------------------------------------
K.PTime2Time .EQ K.SYSCALL.JMPX2
* >PULLW FORPNT S.TIME
* >PULLW TXTPTR ptime
* jmp K.SYSCALL.JMPX
*/--------------------------------------
* # CTime2Time
* Convert CTime Time To S.TIME
* ## C
* `void CTime2Time (long* ctime, const struct tm* timeptr );`
* ## ASM
* `>PUSHW ctime`
* `>PUSHW timer`
* `>SYSCALL CTime2Time`
* ## RETURN VALUE
*\--------------------------------------
K.CTime2Time .EQ K.SYSCALL.JMPX2
* >PULLW FORPNT S.TIME
* >PULLW TXTPTR ctime
* jmp K.SYSCALL.JMPX
*--------------------------------------
MAN
SAVE usr/src/sys/kernel.s.time
LOAD usr/src/sys/kernel.s
ASM