Difference between revisions of "83Plus:Ports:02"
From WikiTI
(Changed the purpose of bit 1) |
m |
||
(8 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
− | [[Category:83Plus:Ports:By Address|02 - Status Port]] [[Category:83Plus:Ports:By Name|Status Port]] | + | [[Category:83Plus:Ports:By Address|02 - Status Port/Interrupt Acknowledge]] [[Category:83Plus:Ports:By Name|Status Port/Interrupt Acknowledge]] |
== Synopsis == | == Synopsis == | ||
'''Port Number:''' 02h | '''Port Number:''' 02h | ||
Line 8: | Line 8: | ||
=== 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. The voltage cutoff can be configured in [[83Plus:Ports:04|port 04]]. |
− | * '''83+SE / 84+ only:''' Bit 1: At | + | * '''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]]. On the TI-73, this bit is always reset (this is how you distinguish between the 73 and 83+ series hardware). |
− | * 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. |
− | * Bit 7: Reset for a TI-83+ Basic. Set for everything else. | + | * '''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. More specifically, this indicates if the calculator is USB-capable or not. | ||
+ | * Bit 6: Indicates if Link Assist is available. | ||
+ | * Bit 7: Reset for a TI-83+ Basic and TI-73. Set for everything else. | ||
=== Write Values === | === Write Values === | ||
− | + | ==== TI-83+ (Non-SE) ==== | |
+ | No effect. | ||
+ | |||
+ | ==== TI-83+SE, TI-84+, TI-84+SE, TI-84+CSE ==== | ||
+ | * Bit 0: Write a 0 to acknowledge the ON key interrupt; write 1 to leave the status of the ON key interrupt alone. | ||
+ | * Bit 1: ACK HW timer 1 | ||
+ | * Bit 2: ACK HW timer 2 | ||
+ | * Bit 3: Ignored | ||
+ | * Bit 4: ACK Linkport | ||
+ | * Bits 5-7: Ignored | ||
== Comments == | == Comments == |
Latest revision as of 19:03, 24 August 2016
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. The voltage cutoff can be configured in port 04.
- 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. On the TI-73, this bit is always reset (this is how you distinguish between the 73 and 83+ series hardware).
- 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. More specifically, this indicates if the calculator is USB-capable or not.
- Bit 6: Indicates if Link Assist is available.
- Bit 7: Reset for a TI-83+ Basic and TI-73. Set for everything else.
Write Values
TI-83+ (Non-SE)
No effect.
TI-83+SE, TI-84+, TI-84+SE, TI-84+CSE
- Bit 0: Write a 0 to acknowledge the ON key interrupt; write 1 to leave the status of the ON key interrupt alone.
- Bit 1: ACK HW timer 1
- Bit 2: ACK HW timer 2
- Bit 3: Ignored
- Bit 4: ACK Linkport
- Bits 5-7: Ignored
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.