Contributing

From WikiTI
Revision as of 19:20, 24 March 2005 by AndyJ (Talk | contribs)

Jump to: navigation, search

Because the main goal of WikiTI is to organize and collect documentation for the TI-83 Plus Family's operating system, we want to keep this Wiki as organized as possible. One of the contributing factors of the creation of this Wiki was to make sure that the documentation that had been spread among many message boards and posts could be brought to one central place; therefore we want to make sure this resource is as useful as possible. Because of this goal, we ask that all contributers follow the rules described below.

Contributing Guidelines

One of the biggest problems in working with undocumented information is trying to come up with a naming system. The classic example is most of the TI-83+ hooks, which were horribly misnamed until their proper behavior was discovered. Therefore, it is our goal in WikiTI to store all information by internal addresses, instead of names, as the former can't be confused.

For example, consider I wanted to post information about the 83+ B_CALL 4CA8h, which I have decided to call "StartSmallEdit." I would post all my documentation about this B_CALL in the page named 83Plus:BCALLs:4CA8, so anybody else with information about this B_CALL can easily find my documentation (without worrying about what I called it.) If I want to assign a name for it, I would then create a second page 83Plus:BCALLs:StartSmallEdit, which should redirect to 83Plus:BCALLs:4CA8. The same pattern should be used for other types of documentation. Obviously, the 83Plus:BCALLs:4CA8 page can contain (in the page text) the name for the entrypoint.

We must also attach these articles to the appropriate categories. At the start of 83Plus:BCALLs:4CA8, you should put the following line:

[[Category:83Plus:BCALLs|4CA8]]

Note the pipe in that command--this tells WikiTI how it should sort the article in the category list.

Then, in the 83Plus:BCALLs:StartSmallEdit article (to make it redirect to the real article), add the following line:

#REDIRECT [[83Plus:BCALLs:4CA8]]

The following format should be used when making a BCALL article:

Note: Do not take the information on this template page as actual documentation!

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:

[[Category:83Plus:BCALLs:By Name|ProveTheRiemannHypothesis]]
[[Category:83Plus:BCALLs:By Name:Utility|ProveTheRiemannHypothesis]]
[[Category:83Plus:BCALLs:By Address|0042 - ProveTheRiemannHypothesis]]

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

Official Name: ProveTheRiemannHypothesis

BCALL Address: 0042 Use "Call Address" for regular 83.

Proves the Riemann Hypothesis, storing the proof in an AppVar.

Inputs

  • OP1: AppVar to save proof into
  • HL: Maximum length of proof, in pages (must be at least 200)
  • bit proofCorrect, (iy + proofFlags): Set to generate a correct proof

Outputs

  • Proof stored in AppVar
  • Zero Flag: Set if successful

Destroys

  • AF

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.

Example

ld  hl, ProofAppVar
rst rMOV9TOOP1
ld  hl, 1000
B_CALL ProveTheRiemannHypothesis

Credits and Contributions

  • /dev/null: For not answering my questions about this B_CALL