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
and free
(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.