Add sjme_dylib_open() to get the current executable as a dylib.
[SquirrelJME.git] / porting.mkd
blob5745bb40fcef1f877f2f85710525fb8ecf6ba467
1 # Porting SquirrelJME
3 SquirrelJME is very much designed to be easily ported to other systems as
4 all of the code for it is in Java, which means there is a universal method of
5 compilation and executing the code.
7 Ports of SquirrelJME available at the [port list](ports.mkd).
9 ***THIS DOCUMENTATION IS OUT OF DATE!***
11 # Requirements
13 Although SquirrelJME is a complex project, the layout and design as previously
14 mentioned sets down that SquirrelJME be easy to port. Therefor, these are
15 the requirements needed for porting:
17  * Execution engine
18    * To properly execute SquirrelJME's library
19    * One of:
20      * Executing SummerCoat ROMs
21      * RatufaCoat port to platform
22      * Translation of SummerCoat into native code
23  * Implement the various System Calls
24  * Resource Access
25    * RAM
26    * ROM
28 # Implementation Reminders
30 ## System Boot
32 The starting point for the system is
33 `cc.squirreljme.jvm.boot.SystemBoot.__sysBoot`, which accepts the RAM region
34 and configuration data.