83Plus:Basic:New Tokens on the 84 Plus
From WikiTI
- The title of this article is incorrect because of technical limitations. The correct title is 83Plus:Basic:New Tokens on the 84+.
The TI-84(SE) has several new tokens. These tokens will not work on the 83's.
Tokens
checkTmr(
- Hex: $EF02
- Syntax:
checkTmr(offset
- offset is a decimal number to add to the value returned.
- Returns: Decimal value of clock ports
ClockOff
- Hex: $EF0F
- Syntax: ClockOff
ClockOn
- Hex: $EF10
dayOfWk(
- Hex: $EF06
- Syntax:
dayOfWk(year,month,day
- Returns: Number, where 1=Sunday, 2=Monday, 3=Tuesday et cetera
ExecLib
- Hex: $EF12
- Notes: This is used with OpenLib(
getDate
- Hex: $EF09
- Syntax:
getDate→⌊ALIST
- Returns: {year,month,day} (regardless of getDtFmt)
getDtFmt
- Hex: $EF0C
- Syntax:
getDtFmt→[a variable]
- Returns: A number which tells you what date format the user has requested to use on the MODE screen. Either 1, 2, or 3.
getDtStr(
- Hex: $EF07
- Syntax:
getDtStr(date format
- I would presume date format is the same as the numbers used for getDtFmt
getTime
- Hex: $EF0A
- Sintax:
getTime→⌊ALIST
- Returns: A list, in the format: {hour,minuet,second
getTmFmt
- Hex: $EF0D
- Returns: Either 12 or 24, depending on weather the user likes 12 or 24-hour mode clocks.
- Notes: Works alot like getDtFmt
getTmStr(
- Hex: $EF08
- Syntax:
getTmStr([12|24]
- It takes either 12 or 24, but I would guess that there are other values you could include after that to get the seconds.
isClockOn
- Hex: $EF0E
- Notes: The way this one works, to test if the clock is on, just do
If isClockOn
orIf not(isClockOn)
.
OpenLib(
- Hex: $EF11
- Notes: This is used to interface with an application. USBDRV8X is one of the first apps to support using this function.
setDate(
- Hex: $EF00
- Syntax:
setDate(year,month,day
- Notes: DtFmt does not affect this.
setDtFmt(
- Hex: $EF03
- Syntax:
setDtFmt([1|2|3]
- 1, 2, and 3 should be M/D/Y, D/M/Y, and Y/M/D, respectivly.
- Notes: This is used to set the date format shown on the MODE screen
setTime(
- Hex: $EF01
- Syntax:
setTime(hour,minuet,second
- Notes: This does not care about TmFmt
setTmFmt(
- Hex: $EF04
- Syntax:
setTmFmt([12|24]
- Takes either 12 or 24. 12 for AM/PM, 24 for 24-hour mode clock
- Notes: Changes the time time format shown on the MODE screen
startTmr
- Hex: $EF0B
- Notes: This works just like checkTmr(0), execpt smaller.
timeCnv(
- Hex: $EF05
- Syntax:
timeCnv([a number of seconds]
- Returns: A list that converts the number of seconds into {days,hours,minuets,seconds
- Notes: You may wish to use this with checkTmr( to bump the time up or down a few seconds
ti83plus.inc Addition
The following lines may be added to your ti83plus.inc file. (For TASM)
tCheckTmr EQU EF02h tClockOff EQU EF0Fh tClockOn EQU EF10h tDayOfWk EQU EF06h tExecLib EQU EF12h tGetDate EQU EF09h tGtDtFmt EQU EF0Ch tGetDtStr EQU EF07h tGetTime EQU EF0Ah tGetTmFmt EQU EF0Dh tGetTmStr EQU EF08h tIsClockOn EQU EF0Eh tOpenLib EQU EF11h tSetDate EQU EF00h tSetDtFmt EQU EF03h tSetTime EQU EF01h tSetTmFmt EQU EF04h tStartTmr EQU EF0Bh tTimeCnv EQU EF05h
Notes
Time is not a new token for the 84.
ti83plus.inc does not define any tokens as starting with $EF, and all these new tokens start with $EF. $EF is the second byte of some two-byte tokens.
Tokens up to 16h are valid, so the above list of tokens is incomplete.
Credits and Contributions
- elfprince13 for asking
- Calcsys, for making it easy to find the byte-codes of these tokens.