structure.html 2.61 KB
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>/tmp/n46software.html</title>
                                                 
  <meta http-equiv="content-type"
 content="text/html; charset=ISO-8859-1">
</head>
<body>
   
<h2>BB Player Software Structure</h2>
 March 2003<br>
  <br>
 <br>
Player software is broken into 4 classes of components:<br>
<br>
<ul>
  <li>boot rom</li>
  <li>secure kernel</li>
  <li>system application</li>
  <li>untrusted application</li>
</ul>
<br>
<img
 src="structure.gif"
 alt="software structure" width="763" height="599"><br>
<br>
<h3>Boot Rom</h3>
The boot rom is part of the BB Player hardware. &nbsp;It is responsible for
loading the secure kernel from the BBCard to secure memory (bram), authenticating
it, and launching it. <br>
<h3>Secure Kernel</h3>
The secure kernel has two major responsibilities: acting as a second level
boot loader for the (main) system application and providing a set of security
primitives that are executed in a trusted environment. &nbsp; As the second
level boot loader it is responsible for loading the system application from
the BBCard in DRAM, authenticating it, and transfering control to it. &nbsp;While
other applications are executing the secure kernel remains resident in secure
memory and services application requests. &nbsp;The majority of requests
are concerned with validating authenticity of tickets and applications chosen
to be executed by the end user through the system application.<br>
<h3>System Application</h3>
The system application servers as the general purpose application loader
and housekeeper for the Player. &nbsp;It provides a GUI allowing applications
to be selected for execution, performs the i/o requests to load the application,
sets up mapping tables to implement N64 compatible I/O operations to cartridge
rom &nbsp;space, and presents the application and necessary credentials to
the secure kernel<br>
for application launching. &nbsp;The system application is uses the same
programming environment (SDK) as game applications with some player specific
extensions for interacting with the secure kernel and new I/O devices (BBCard,
USB, etc).<br>
<h3>Untrusted Application</h3>
Games and other entertainment applications fit in the category of untrusted
applications. &nbsp;The use the same execution environment and sdk as the
original N64 applications. &nbsp;The sdk contains minor implementation changes
to present an environment that maintains compatibility with the original
N64 environment. &nbsp; Additional extensions to the sdk support use of new
hardware features (USB, RTC, etc).<br>
<br>
<br>
</body>
</html>