Difference between revisions of "83Plus:Ports:02"

From WikiTI
Jump to: navigation, search
m (Added link to port 2f)
(Added Kalimero's info)
Line 9: Line 9:
 
=== Read Values ===
 
=== Read Values ===
 
* Bit 0: Set if the batteries are good. Reset if the batteries are low. The calculator will refuse to Garbage Collect or receive a FLASH App or OS when the batteries are low.
 
* Bit 0: Set if the batteries are good. Reset if the batteries are low. The calculator will refuse to Garbage Collect or receive a FLASH App or OS when the batteries are low.
* '''83+SE / 84+ only:''' Bit 1: At 15mhz this bit resets for a set delay after a command or data is sent to the lcd, otherwise this bit is always set. The amount of delay is controlled by [[83Plus:Ports:2F|port 2F]].
+
* '''83+SE / 84+(SE) only:''' Bit 1: At 15mhz this bit resets for a set delay after a command or data is sent to the lcd, otherwise this bit is always set. The amount of delay is controlled by [[83Plus:Ports:2F|port 2F]].
* Bit 5: Set for TI-84+ and TI-84+ SE calculators. Reset for TI-83+ and TI-83+ SE calculators.
+
* Bit 2: Set if flash is currently unlocked.
 +
* '''83+ only:''' Bits 3-5:
 +
** Bit 3: Last value written to port 05 bit 0
 +
** Bit 4: Last value written to port 05 bit 1
 +
** Bit 5: Last value written to port 05 bit 2
 +
* '''84+(SE) only:''' Bit 5: Set for TI-84+ and TI-84+ SE calculators. Reset for TI-83+ and TI-83+ SE calculators.
 
* Bit 7: Reset for a TI-83+ Basic. Set for everything else.
 
* Bit 7: Reset for a TI-83+ Basic. Set for everything else.
  

Revision as of 08:17, 21 August 2005

Synopsis

Port Number: 02h

Function: Calculator Status Information

This port reports various status information, including battery strength, LCD driver status, and calculator type.

Read Values

  • Bit 0: Set if the batteries are good. Reset if the batteries are low. The calculator will refuse to Garbage Collect or receive a FLASH App or OS when the batteries are low.
  • 83+SE / 84+(SE) only: Bit 1: At 15mhz this bit resets for a set delay after a command or data is sent to the lcd, otherwise this bit is always set. The amount of delay is controlled by port 2F.
  • Bit 2: Set if flash is currently unlocked.
  • 83+ only: Bits 3-5:
    • Bit 3: Last value written to port 05 bit 0
    • Bit 4: Last value written to port 05 bit 1
    • Bit 5: Last value written to port 05 bit 2
  • 84+(SE) only: Bit 5: Set for TI-84+ and TI-84+ SE calculators. Reset for TI-83+ and TI-83+ SE calculators.
  • Bit 7: Reset for a TI-83+ Basic. Set for everything else.

Write Values

  • No useful effect.

Comments

See Port 21h for how to distinguish the 84+ Basic from the 84+ SE.

Examples

Battery checking

 push af
 in a, (2)
 and 01h
 call nz, BatteriesGood
 call z, BatteriesLow
 pop af

LCD Testing

 push af
WaitLoop:
 in a, (2)
 and 02h
 jr z, WaitLoop
 ;Send a command, like 03 (LCD "On").
 call LCDIsReady
 pop af

Device checking

This example also uses Port 21h.

 in a, (2)
 rlca ;Roll bit 7 into carry.
 jp nc, Regular83Plus
 and 40h ;Test bit 5, now rotated into bit 6.
 jp z, Silver83Plus
 in a, (21h)
 and 03h
 jp z, Regular84Plus
 jp nz, Silver84Plus

Credits and Contributions

  • Michael Vincent: Documentation of port 2 located here.