Difference between revisions of "83Plus:BCALLs:809C"

From WikiTI
Jump to: navigation, search
m
 
 
Line 1: Line 1:
'''Note:''' Do not take the information on this template page as actual documentation!
+
[[Category:83Plus:BCALLs:By Name:Other|CheckOSValidated]] [[Category:83Plus:BCALLs:By Name|CheckOSValidated]] [[Category:83Plus:BCALLs:By Address|809C - CheckOSValidated]]
 
+
Use this template for ROMCalls on calculators that don't use banked OS calls. Simply replace every occurance of bcall/BCALL/b_call with romcall/ROMCall/call.
+
 
+
The BCALLs are named by their b_call address, in hexadecimal. An example is [[83Plus:BCALLs:4009]].
+
 
+
Also, please put the following code (edited to reflect your call) in your page:
+
NaodW29-nowiki98c12064c5fcd7500000001
+
This will cause your page to show in the appropriate categories. (Change the ProveTheRiemannHypothesis, 0042, and Utility to match your call. Also, change the 83Plus to whatever category, and change the BCALLs to ROMCalls if needed.) You may put a BCALL in any number of "By Name" categories. Put it in all the ones that make sense.
+
 
+
----
+
 
+
 
== Synopsis ==
 
== Synopsis ==
'''Official Name:''' ProveTheRiemannHypothesis
+
'''Official Name:''' CheckOSValidated
  
'''BCALL Address:''' 0042
+
'''BCALL Address:''' 809C
''Use "Call Address" for regular 83.''
+
  
Proves the Riemann Hypothesis, storing the proof in an AppVar.
+
Checks bit 0 of certificate byte 1FE0h, which is set to zero once the OS has been successfully validated.
  
 
=== Inputs ===
 
=== Inputs ===
* [[83Plus:RAM:8478|OP1]]: AppVar to save proof into
+
''None''
* HL: Maximum length of proof, in pages (must be at least 200)
+
* bit proofCorrect, (iy + proofFlags): Set to generate a correct proof
+
  
 
=== Outputs ===
 
=== Outputs ===
* Proof stored in AppVar
+
* Z if the OS has been validated
* Zero Flag: Set if successful
+
  
 
=== Destroys ===
 
=== Destroys ===
* af
+
* AF
 +
* [[83Plus:RAM:8478|OP1]]
  
 
== Comments ==
 
== Comments ==
This B_CALL proves the Riemann Hypothesis, giving a proof under the required number of pages. It does this by randomly guessing proofs until it finds one that works. Needless to say, the calculator's batteries will run out before this B_CALL completes.
+
Flash must be [[83Plus:Ports:14|write enabled]] first.
 +
 
 +
This bit is used in parallel with the bytes at 0056h to flag an OS as valid.  Only the bytes at 0056h are checked on startup, but this flag is used in other places where the boot code needs to check if an OS is loaded.
  
== Example ==
+
Note that this B_CALL does ''not'' check the bytes at 0056h, 0038h, or 0026h.
NaodW29-nowiki98c12064c5fcd7500000002
+
  
== Credits and Contributions ==
+
The reason for making this a B_CALL is not clear to me.
* '''/dev/null:''' For not answering my questions about this B_CALL
+

Latest revision as of 13:44, 30 March 2005

Synopsis

Official Name: CheckOSValidated

BCALL Address: 809C

Checks bit 0 of certificate byte 1FE0h, which is set to zero once the OS has been successfully validated.

Inputs

None

Outputs

  • Z if the OS has been validated

Destroys

Comments

Flash must be write enabled first.

This bit is used in parallel with the bytes at 0056h to flag an OS as valid. Only the bytes at 0056h are checked on startup, but this flag is used in other places where the boot code needs to check if an OS is loaded.

Note that this B_CALL does not check the bytes at 0056h, 0038h, or 0026h.

The reason for making this a B_CALL is not clear to me.