all repos — mgba @ 5c3074ace99d8f83bf1ecae7ca6033f20a0479a4

mGBA Game Boy Advance Emulator

All: Add porting guidelines
Jeffrey Pfau jeffrey@endrift.com
Thu, 18 Jun 2015 02:30:28 -0700
commit

5c3074ace99d8f83bf1ecae7ca6033f20a0479a4

parent

6f4871fb7282339ec883a050bfae2c27cd1d8c76

1 files changed, 32 insertions(+), 0 deletions(-)

jump to
A PORTING.md

@@ -0,0 +1,32 @@

+Porting +======= + +Porting is preferentially done upstream so as to avoid fragmenting the codebase into individually unmergeable forks. As such, precaution must be taken to keep changes separate enough to not interfere with other ports, while still maintaining the ability to add new port-specific code seamlessly. + +Folders for each port should be under the `src/platform` folder, and make minimally invasive changes to the rest of the tree. If any changes are needed, try to make sure they are generic and have the ability to be ironed out in the future. For example, if a function doesn't work on a specific platform, maybe a way to make that function more portable should be added. + +The general porting process involves branching either `master` or `port/crucible`, making the needed changes, and, when the port is mature enough to not have major effects to other ports, merged into `port/crucible`. The crucible is used for mixing upcoming ports to make sure they aren't fragile when master merges into it every so often. At this time, the crucible hasn't yet been merged into `master`, but in the future this may occur regularly. Until then, if a port is to get merged into master, make sure the changes to each port occur on the port-specific branch before being merged into `port/crucible`. + +Port-specific TODO +------------------ + +The ports are vaguely usable, but by no means should be considered stable. + +### 3DS +* Add menu +* Add audio +* Make it faster + * ARMv6 dynarec + * Hardware acceleration + +### PSP +* Add menu +* Add audio +* Make it faster + * MIPS dynarec + * Hardware acceleration + +### Wii +* Add menu +* Add audio +* Clean up video detection