Difference between revisions of "83Plus:Basic:New Tokens on the 84 Plus"

From WikiTI
Jump to: navigation, search
(Credits and Contributions: putting a real one here (it's /dev/input/mouse anyway))
m (The token list is incomplete.)
 
(9 intermediate revisions by 2 users not shown)
Line 9: Line 9:
 
== checkTmr( ==
 
== checkTmr( ==
 
* Hex: $EF02
 
* Hex: $EF02
* Syntax: checkTmr(<i>offset</i>
+
* Syntax: <code>checkTmr(<i>offset</i></code>
 
** offset is a decimal number to add to the value returned.
 
** offset is a decimal number to add to the value returned.
 
* Returns: Decimal value of clock ports
 
* Returns: Decimal value of clock ports
Line 22: Line 22:
 
== dayOfWk( ==
 
== dayOfWk( ==
 
* Hex: $EF06
 
* Hex: $EF06
 +
* Syntax: <code>dayOfWk(<i>year</i>,<i>month</i>,<i>day</i></code>
 +
* Returns: Number, where 1=Sunday, 2=Monday, 3=Tuesday et cetera
  
 
== ExecLib ==
 
== ExecLib ==
Line 29: Line 31:
 
== getDate ==
 
== getDate ==
 
* Hex: $EF09
 
* Hex: $EF09
* Syntax: getDate&rarr;<i>&lfloor;ALIST</i>
+
* Syntax: <code>getDate&rarr;<i>&lfloor;ALIST</i></code>
 
* Returns: {<i>year</i>,<i>month</i>,<i>day</i>} (regardless of getDtFmt)
 
* Returns: {<i>year</i>,<i>month</i>,<i>day</i>} (regardless of getDtFmt)
  
 
== getDtFmt ==
 
== getDtFmt ==
 
* Hex: $EF0C
 
* Hex: $EF0C
* Syntax: getDtFmt&rarr;<i>[a variable]</i>
+
* Syntax: <code>getDtFmt&rarr;<i>[a variable]</i></code>
* Returns: A number which tells you what date format the user has requested to use on the MODE screen.
+
* 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( ==
 
==getDtStr( ==
 
* Hex: $EF07
 
* Hex: $EF07
* Syntax: getDtStr(<i>date format</i>
+
* Syntax: <code>getDtStr(<i>date format</i></code>
 
** I would presume <i>date format</i> is the same as the numbers used for getDtFmt
 
** I would presume <i>date format</i> is the same as the numbers used for getDtFmt
  
 
== getTime ==
 
== getTime ==
 
* Hex: $EF0A
 
* Hex: $EF0A
* Sintax: setTime&rarr;<i>&lfloor;ALIST</i>
+
* Sintax: <code>getTime&rarr;<i>&lfloor;ALIST</i></code>
 
* Returns: A list, in the format: {<i>hour</i>,<i>minuet</i>,<i>second</i>
 
* Returns: A list, in the format: {<i>hour</i>,<i>minuet</i>,<i>second</i>
  
 
== getTmFmt ==
 
== getTmFmt ==
 
* Hex: $EF0D
 
* Hex: $EF0D
 +
* Returns: Either 12 or 24, depending on weather the user likes 12 or 24-hour mode clocks.
 
* Notes: Works alot like getDtFmt
 
* Notes: Works alot like getDtFmt
  
 
== getTmStr( ==
 
== getTmStr( ==
 
* Hex: $EF08
 
* Hex: $EF08
* Syntax: '''unknown'''
+
* Syntax: <code>getTmStr(<i>[12|24]</i></code>
 +
** 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 ==
 
== isClockOn ==
Line 61: Line 65:
 
== OpenLib( ==
 
== OpenLib( ==
 
* Hex: $EF11
 
* Hex: $EF11
* Notes: This is used to interface with an application. However, no apps have been released to make of this (yet) *pokes Michael Vincent with a flash drive*
+
* Notes: This is used to interface with an application. USBDRV8X is one of the first apps to support using this function.
  
 
== setDate( ==
 
== setDate( ==
 
* Hex: $EF00
 
* Hex: $EF00
* Syntax: setDate(<i>year</i>,<i>month</i>,<i>day</i>
+
* Syntax: <code>setDate(<i>year</i>,<i>month</i>,<i>day</i></code>
 
* Notes: DtFmt does not affect this.
 
* Notes: DtFmt does not affect this.
  
 
== setDtFmt( ==
 
== setDtFmt( ==
 
* Hex: $EF03
 
* Hex: $EF03
 +
* Syntax: <code>setDtFmt(<i>[1|2|3]</i></code>
 +
** 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
 
* Notes: This is used to set the date format shown on the MODE screen
  
 
== setTime( ==
 
== setTime( ==
 
* Hex: $EF01
 
* Hex: $EF01
* Syntax: setTime(<i>hour</i>,<i>minuet</i>,<i>second</i>
+
* Syntax: <code>setTime(<i>hour</i>,<i>minuet</i>,<i>second</i></code>
 
* Notes: This does not care about TmFmt
 
* Notes: This does not care about TmFmt
  
 
== setTmFmt( ==
 
== setTmFmt( ==
 
* Hex: $EF04
 
* Hex: $EF04
 +
* Syntax: <code>setTmFmt(<i>[12|24]</i></code>
 +
** 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
 
* Notes: Changes the time time format shown on the MODE screen
  
Line 87: Line 95:
 
== timeCnv( ==
 
== timeCnv( ==
 
* Hex: $EF05
 
* Hex: $EF05
* Syntax: timeCnv(<i>a number of seconds</i>
+
* Syntax: <code>timeCnv(<i>[a number of seconds]</i></code>
 
* Returns: A list that converts the number of seconds into {<i>days</i>,<i>hours</i>,<i>minuets</i>,<i>seconds</i>
 
* Returns: A list that converts the number of seconds into {<i>days</i>,<i>hours</i>,<i>minuets</i>,<i>seconds</i>
 
* Notes: You may wish to use this with checkTmr( to bump the time up or down a few 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)
 +
<pre>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</pre>
  
 
= Notes =
 
= Notes =
 
Time is not a new token for the 84.
 
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 =
 
= Credits and Contributions =
 
* elfprince13 for asking
 
* elfprince13 for asking
 +
* Calcsys, for making it easy to find the byte-codes of these tokens.

Latest revision as of 23:46, 21 September 2009

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.