Difference between revisions of "84PCE:Ports:1005"
From WikiTI
(The text needs to be less certain-sounding.) |
(Notice of applicability) |
||
(8 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | [[Category:84PCE:Ports:By_Address|1005 - | + | [[Category:84PCE:Ports:By_Address|1005 - Flash Wait States]] [[Category:84PCE:Ports:By_Name|Flash Wait States]] |
== Synopsis == | == Synopsis == | ||
'''Port Number:''' 1005 | '''Port Number:''' 1005 | ||
Line 5: | Line 5: | ||
'''Memory-mapped Address:''' E00005 | '''Memory-mapped Address:''' E00005 | ||
− | '''Function:''' | + | '''Function:''' Controls flash wait states. Each read from flash will have at least 5 wait states, plus the number of wait states specified in this port. The OS defaults to 04 in this port, so by default, every read from flash incurs a 9 wait state penalty, for a total of 10 clock cycles to read a byte from flash. (V/RAM gets 3 wait states for reads, and 1 waitvstate for writes, for totals of 4 and 2, respectively.) |
+ | |||
+ | This port is only applicable to older devices which feature a [[84PCE:Ports:1000|parallel flash chip.]] | ||
== Details == | == Details == | ||
Line 13: | Line 15: | ||
|- | |- | ||
|00 | |00 | ||
− | |Instant hard crash & reset | + | |Instant hard crash & reset if OS ISR is enabled |
|- | |- | ||
|01 | |01 | ||
− | |Makes OS a little (?& | + | |Makes OS a little faster, perhaps 30%. Used by the C toolchain between [https://github.com/CE-Programming/toolchain/commit/76c6620b33c550637e97a8e67ae4e6a788d7d113#diff-acbd510f12643ca0895f22a9f30a5a8cR55 October 2016] and [https://github.com/CE-Programming/toolchain/commit/477efec0f05f530041ff09a31517fc5f92c13047#diff-acbd510f12643ca0895f22a9f30a5a8cL55 April 2017]. Occasional crashes reported on calculators across all revisions (see: [https://github.com/CE-Programming/toolchain/commit/477efec0f05f530041ff09a31517fc5f92c13047 fix commit message], [https://tiplanet.org/forum/viewtopic.php?f=8&t=19535 this post]). Not recommended for regular use. |
+ | |- | ||
+ | |02 | ||
+ | |Used by the C toolchain between [https://github.com/CE-Programming/toolchain/commit/9356661e7e57cd85b54b98a618d3a91891a59da7#diff-cc616a714307890453270fae8f0ff646R60 April 2016] and [https://github.com/CE-Programming/toolchain/commit/76c6620b33c550637e97a8e67ae4e6a788d7d113#diff-acbd510f12643ca0895f22a9f30a5a8cL54 October 2016]. Insufficient usage data was collected to determine the stability of this value. | ||
|- | |- | ||
− | | | + | |03 |
− | | | + | |Used by the C toolchain since [https://github.com/CE-Programming/toolchain/commit/477efec0f05f530041ff09a31517fc5f92c13047#diff-acbd510f12643ca0895f22a9f30a5a8cR55 February 2017]. No crashes attributed to this value (as of April 2018). |
|- | |- | ||
|04 | |04 | ||
Line 28: | Line 33: | ||
|- | |- | ||
|20 | |20 | ||
− | |OS is unbearably sluggish | + | |OS is unbearably sluggish |
|- | |- | ||
|FF | |FF | ||
|Don't even bother trying to do anything | |Don't even bother trying to do anything | ||
|} | |} |
Latest revision as of 07:24, 18 April 2020
Synopsis
Port Number: 1005
Memory-mapped Address: E00005
Function: Controls flash wait states. Each read from flash will have at least 5 wait states, plus the number of wait states specified in this port. The OS defaults to 04 in this port, so by default, every read from flash incurs a 9 wait state penalty, for a total of 10 clock cycles to read a byte from flash. (V/RAM gets 3 wait states for reads, and 1 waitvstate for writes, for totals of 4 and 2, respectively.)
This port is only applicable to older devices which feature a parallel flash chip.
Details
Value | Effect |
00 | Instant hard crash & reset if OS ISR is enabled |
01 | Makes OS a little faster, perhaps 30%. Used by the C toolchain between October 2016 and April 2017. Occasional crashes reported on calculators across all revisions (see: fix commit message, this post). Not recommended for regular use. |
02 | Used by the C toolchain between April 2016 and October 2016. Insufficient usage data was collected to determine the stability of this value. |
03 | Used by the C toolchain since February 2017. No crashes attributed to this value (as of April 2018). |
04 | Normal value |
10 | OS feels noticeably sluggish |
20 | OS is unbearably sluggish |
FF | Don't even bother trying to do anything |