SquirrelJME/SquirrelJME

View on GitHub
porting.mkd

Summary

Maintainability
Test Coverage
# Porting SquirrelJME

SquirrelJME is very much designed to be easily ported to other systems as
all of the code for it is in Java, which means there is a universal method of
compilation and executing the code.

Ports of SquirrelJME available at the [port list](ports.mkd).

***THIS DOCUMENTATION IS OUT OF DATE!***

# Requirements

Although SquirrelJME is a complex project, the layout and design as previously
mentioned sets down that SquirrelJME be easy to port. Therefor, these are
the requirements needed for porting:

 * Execution engine
   * To properly execute SquirrelJME's library
   * One of:
     * Executing SummerCoat ROMs
     * RatufaCoat port to platform
     * Translation of SummerCoat into native code
 * Implement the various System Calls
 * Resource Access
   * RAM
   * ROM

# Implementation Reminders

## System Boot

The starting point for the system is
`cc.squirreljme.jvm.boot.SystemBoot.__sysBoot`, which accepts the RAM region
and configuration data.