Difference between revisions of "83Plus:Ports:02"
From WikiTI
m |
(→Example: pluralized; sectionized; HW check bug + 1cc optimization) |
||
Line 19: | Line 19: | ||
See [[83Plus:Ports:21|Port 21h]] for how to distinguish the 84+ Basic from the 84+ SE. | See [[83Plus:Ports:21|Port 21h]] for how to distinguish the 84+ Basic from the 84+ SE. | ||
− | == | + | == Examples == |
− | + | === Battery checking === | |
<nowiki> push af | <nowiki> push af | ||
in a, (2) | in a, (2) | ||
Line 28: | Line 28: | ||
pop af</nowiki> | pop af</nowiki> | ||
− | + | === LCD Testing === | |
<nowiki> push af | <nowiki> push af | ||
WaitLoop: | WaitLoop: | ||
Line 38: | Line 38: | ||
pop af</nowiki> | pop af</nowiki> | ||
− | + | === Device checking === | |
''This example also uses [[83Plus:Ports:21|Port 21h]].'' | ''This example also uses [[83Plus:Ports:21|Port 21h]].'' | ||
<nowiki> in a, (2) | <nowiki> in a, (2) | ||
rlca ;Roll bit 7 into carry. | rlca ;Roll bit 7 into carry. | ||
− | jp | + | jp nc, Regular83Plus |
− | + | and 40h ;Test bit 5, now rotated into bit 6. | |
− | + | jp z, Silver83Plus | |
− | jp | + | |
in a, (21h) | in a, (21h) | ||
− | and | + | and 03h |
jp z, Regular84Plus | jp z, Regular84Plus | ||
jp nz, Silver84Plus</nowiki> | jp nz, Silver84Plus</nowiki> | ||
− | |||
== Credits and Contributions == | == Credits and Contributions == | ||
* '''Michael Vincent''': Documentation of port 2 located [http://www.michaelv.org/programs/calcs/ports/port2.html here]. | * '''Michael Vincent''': Documentation of port 2 located [http://www.michaelv.org/programs/calcs/ports/port2.html here]. |
Revision as of 16:12, 12 May 2005
Contents
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.
- Bit 1: Set if the LCD Driver can receive a command. Reset otherwise. This is basically the inverse of bit 7 from Port 10h.
- 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.