83Plus:Basic:New Tokens on the 84 Plus

From WikiTI
Revision as of 22:46, 21 September 2009 by Dr. D'nar (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
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 or If 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.