Difference between revisions of "83Plus:BCALLs:8111"

From WikiTI
Jump to: navigation, search
m (80ED added)
Line 1: Line 1:
[[Category:83Plus:BCALLs:By Name:Display|DisplayBootError]] [[Category:83Plus:BCALLs:By Name|DisplayBootError]] [[Category:83Plus:BCALLs:By Address|8111-8129 - DisplayBootError]]
+
[[Category:83Plus:BCALLs:By Name:Display|Validate1024]] [[Category:83Plus:BCALLs:By Name|Validate1024]] [[Category:83Plus:BCALLs:By Address|8114 - Validate1024]]
 
== Synopsis ==
 
== Synopsis ==
'''Unofficial Name:''' DisplayBootError
+
'''Unofficial Name:''' Validate1024
  
'''BCALL Addresses:''' 80ED,8111,8114,8117,811A,811D,8120,8123,8126,8129
+
'''BCALL Addresses:''' 8114h
  
'''Minimum Hardware Version:''' 2
+
'''Minimum Hardware Version:''' 3
  
These BCALLs display a certain error message along with "Press any key to turn unit off. Then turn unit on.", then wait for a key and reset RAM.
+
This is the bcall that TI added to boot code 1.03 to prevent downgrading. It MD5 hashes the OS and compares it with the transformation of the signature that is on page 73h. For this transformation, the key is 1024 bits and e = 65537.
  
 
=== Inputs ===
 
=== Inputs ===
* DE: offset into table for string to display
+
* OS in memory
 +
* Signature at 73:4000
  
 
=== Outputs ===
 
=== Outputs ===
''None''
+
* Z flag on success
  
 
=== Destroys ===
 
=== Destroys ===
Line 19: Line 20:
  
 
== Comments ==
 
== Comments ==
If a validated OS is not detected, this routine will wait to receive one instead of resetting RAM.
+
This routine takes a very long time to run.
 
+
These routines only exist on the TI-84 Plus, not on the 83 Plus.
+
 
+
The table of strings is at 7F:5EF7h on 84+SE boot code 1.02, but the most useful offsets are below:
+
 
+
"Receiving...": 0000h
+
"ERROR!": 001Eh
+
"Validation Error": 005Dh
+
"Validating...": 006Eh
+
"Version Error": 00B0h
+

Revision as of 06:32, 29 August 2011

Synopsis

Unofficial Name: Validate1024

BCALL Addresses: 8114h

Minimum Hardware Version: 3

This is the bcall that TI added to boot code 1.03 to prevent downgrading. It MD5 hashes the OS and compares it with the transformation of the signature that is on page 73h. For this transformation, the key is 1024 bits and e = 65537.

Inputs

  • OS in memory
  • Signature at 73:4000

Outputs

  • Z flag on success

Destroys

  • All

Comments

This routine takes a very long time to run.