coffeeDS
NDS emulator written in C.
Download
- Grab the download from the releases page
- Do
chmod a+x coffeeDS
(or run it as admin if you are on Windows) - Run it (if you plan on debugging, use the terminal as some debug features do not write to the log).
Windows is experimental. coffeeDS is built especially for Linux
Controls
1: Debug -> Dump opcodes (requires terminal) Q: Quit (does not work during debug functions) M: Toggle macro mode (GBA mode) N: Toggle macro mode screen
Code Guidelines
- Follow ANSI C where possible (some developers will use AStyle in some commits. Do not make styling commits; the commit must have another purpose.)
- Avoid using complex flow constructs like
goto
and recursion - Use
<>
instead of""
for headers - Avoid
malloc
andfree
(avoid heap memory allocation) - Compile with as few warnings as possible and address them in the commit description
- Avoid using
__attribute__
where possible (except for removing warnings around static variables) - Only include headers if they are needed
- Do not rely on headers which include headers - if you need a type definition, include it
- Use header files for prototypes and variables, use source (.c) files for prototype definitions
- Update the code prolog at the top of every file
- Add important notes with
// NOTE:
, todos with// TODO:
and fixmes with// FIXME:
- If a function does not need to return any data and has not experienced any problems, it should return 0.