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

From WikiTI
Jump to: navigation, search
m (80ED added)
 
(4 intermediate revisions by the same user not shown)
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|Validate2048]] [[Category:83Plus:BCALLs:By Name|Validate2048]] [[Category:83Plus:BCALLs:By Address|8114 - Validate2048]][[Category:83Plus:BCALLs:By_Name:Cryptography|Validate2048]]
 
== Synopsis ==
 
== Synopsis ==
'''Unofficial Name:''' DisplayBootError
+
'''Unofficial Name:''' Validate2048
  
'''BCALL Addresses:''' 80ED,8111,8114,8117,811A,811D,8120,8123,8126,8129
+
'''BCALL Addresses:''' 8111h
  
'''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 2048 bits and e = 65537.
  
 
=== Inputs ===
 
=== Inputs ===
* DE: offset into table for string to display
+
* 8271h - Number of pages in the OS
 +
* 8272h - Table listing all of the pages with OS code on them
  
 
=== 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
+

Latest revision as of 14:16, 31 August 2011

Synopsis

Unofficial Name: Validate2048

BCALL Addresses: 8111h

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 2048 bits and e = 65537.

Inputs

  • 8271h - Number of pages in the OS
  • 8272h - Table listing all of the pages with OS code on them

Outputs

  • Z flag on success

Destroys

  • All

Comments

This routine takes a very long time to run.