Difference between revisions of "83Plus:Ports:2F"

From WikiTI
Jump to: navigation, search
(Remaining bits plus more accurate timing)
(More information)
 
(7 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[Category:83Plus:Ports:By Address|2F - LCD Wait Delay]]
+
[[Category:83Plus:Ports:By Address|2F - LCD Wait Delay/Crystal Timer Adjust]]
[[Category:83Plus:Ports:By Name|LCD Wait Delay]]
+
[[Category:83Plus:Ports:By Name|LCD Wait Delay/Crystal Timer Adjust]]
 
{{SE-Only Port|07}}
 
{{SE-Only Port|07}}
  
Line 6: Line 6:
 
'''Port Number:''' 2Fh
 
'''Port Number:''' 2Fh
  
'''Function:''' LCD Wait Delay
+
'''Function:''' LCD Wait Delay/Crystal Timer Adjust
  
After every write to the LCD bit 1 of [[83Plus:Ports:02|port 2]] resets for a certain amount of time. This port controls that amount time.
+
After every write to the LCD bit 1 of [[83Plus:Ports:02|port 2]] resets for a certain amount of time based on the current cpu speed and if the calculator is in hi speed mode. This port is used to adjust the LCD delay to be the same amount of wallclock time no matter what speed setting the CPU is in, as if it was operating in 6MHz mode. The three bit groupings below define the amount to divide the system clock by. This is nominally in increments of 64 T-states, so I'm not sure where the -16 offset comes from.
 +
 
 +
This additionally controls a divisor for the crystal timers in mode 3. 0 means divide by 1 (no divisor), 1 means divide by 2, 2 means divide by 3, &c. No divisor is applied for CPU speed 0.
  
  
 
=== Read Values ===
 
=== Read Values ===
* This port reads the last vaule written to it.
+
* This port reads the last value written to it.
  
  
 
=== Write Values ===
 
=== Write Values ===
* Bits 2-4 contorl the amount of time when port 20 contains 1. The following values tell the amount of time.
+
* Bits 0-1 control the amount of tstates to wait when port 20 contains 1. The following values tell the number of tstates.
** 00 = ~3.2 microseconds
+
** 00 = 048 tstates
** 01 = ~7.4 microseconds
+
** 01 = 112 tstates
** 10 = ~11.7 microseconds
+
** 10 = 176 tstates
** 11 = ~16.0 microseconds
+
** 11 = 240 tstates
 
+
* Bits 2-4 contorl the amount of time when port 20 contains 2. The following values tell the amount of time.
+
** 000 = ~3.2 microseconds
+
** 001 = ~7.4 microseconds
+
** 010 = ~11.7 microseconds
+
** 011 = ~16.0 microseconds
+
** 100 = ~20.2 microseconds
+
** 101 = ~24.5 microseconds
+
** 110 = ~28.8 microseconds
+
** 111 = ~33.0 microseconds
+
  
* Bits 5-7 contorl the amount of time when port 20 contains 3. The following values tell the amount of time.
+
* Bits 2-4 control the amount of tstates to wait when port 20 contains 2. The following values tell the number of tstates.
** 000 = ~3.2 microseconds
+
** 000 = 048 tstates
** 001 = ~7.4 microseconds
+
** 001 = 112 tstates
** 010 = ~11.7 microseconds
+
** 010 = 176 tstates
** 011 = ~16.0 microseconds
+
** 011 = 240 tstates
** 100 = ~20.2 microseconds
+
** 100 = 304 tstates
** 101 = ~24.5 microseconds
+
** 101 = 368 tstates
** 110 = ~28.8 microseconds
+
** 110 = 432 tstates
** 111 = ~33.0 microseconds
+
** 111 = 496 tstates
  
 +
* Bits 5-7 control the amount of tstates to wait when port 20 contains 3. The following values tell the number of tstates.
 +
** 000 = 048 tstates
 +
** 001 = 112 tstates
 +
** 010 = 176 tstates
 +
** 011 = 240 tstates
 +
** 100 = 304 tstates
 +
** 101 = 368 tstates
 +
** 110 = 432 tstates
 +
** 111 = 496 tstates
  
 
== Comments ==
 
== Comments ==
Line 47: Line 48:
 
This value really shouldn't be changed. TI-OS depends on this being set high enough to function for the LCD delay.
 
This value really shouldn't be changed. TI-OS depends on this being set high enough to function for the LCD delay.
  
Also the 83+SE has this port set to 4A as defualt, the 84+(SE) has this port set to 4B as defualt.
+
Also the 83+SE has this port set to 4A as default, the 84+(SE) has this port set to 4B as default.
  
  
 
== Credits and Contributions ==
 
== Credits and Contributions ==
 
* '''James Montelongo'''
 
* '''James Montelongo'''

Latest revision as of 15:30, 3 March 2020

This port only exists as a distinct port on the TI-83 Plus Silver Edition, the TI-84 Plus, and the TI-84 Plus Silver Edition. On the standard TI-83 Plus, it acts as a shadow of port 07.

Synopsis

Port Number: 2Fh

Function: LCD Wait Delay/Crystal Timer Adjust

After every write to the LCD bit 1 of port 2 resets for a certain amount of time based on the current cpu speed and if the calculator is in hi speed mode. This port is used to adjust the LCD delay to be the same amount of wallclock time no matter what speed setting the CPU is in, as if it was operating in 6MHz mode. The three bit groupings below define the amount to divide the system clock by. This is nominally in increments of 64 T-states, so I'm not sure where the -16 offset comes from.

This additionally controls a divisor for the crystal timers in mode 3. 0 means divide by 1 (no divisor), 1 means divide by 2, 2 means divide by 3, &c. No divisor is applied for CPU speed 0.


Read Values

  • This port reads the last value written to it.


Write Values

  • Bits 0-1 control the amount of tstates to wait when port 20 contains 1. The following values tell the number of tstates.
    • 00 = 048 tstates
    • 01 = 112 tstates
    • 10 = 176 tstates
    • 11 = 240 tstates
  • Bits 2-4 control the amount of tstates to wait when port 20 contains 2. The following values tell the number of tstates.
    • 000 = 048 tstates
    • 001 = 112 tstates
    • 010 = 176 tstates
    • 011 = 240 tstates
    • 100 = 304 tstates
    • 101 = 368 tstates
    • 110 = 432 tstates
    • 111 = 496 tstates
  • Bits 5-7 control the amount of tstates to wait when port 20 contains 3. The following values tell the number of tstates.
    • 000 = 048 tstates
    • 001 = 112 tstates
    • 010 = 176 tstates
    • 011 = 240 tstates
    • 100 = 304 tstates
    • 101 = 368 tstates
    • 110 = 432 tstates
    • 111 = 496 tstates

Comments

This value really shouldn't be changed. TI-OS depends on this being set high enough to function for the LCD delay.

Also the 83+SE has this port set to 4A as default, the 84+(SE) has this port set to 4B as default.


Credits and Contributions

  • James Montelongo