How to make homebrew

Discussion in 'NDS - Emulation and Homebrew' started by Havocbean, Aug 4, 2007.

  1. Havocbean
    OP

    Havocbean Member

    Newcomer
    14
    0
    Nov 22, 2006
    Title makes me sound like a noob, but whatever. Is there a database for coding information regarding the DS?
    I've got an open-source program (win32&linux) that I'd love to port over... Where should I start?
     
  2. FAST6191

    FAST6191 Techromancer

    pip Reporter
    22,904
    8,557
    Nov 21, 2005
    There are a few threads but you seem to know what you are doing.

    Low level guide (everything from hand encoding opcodes to the subtle areas of the 3d hardware):
    http://nocash.emubase.de/gbatek.htm

    Toolchain that most use is devkitpro or the subset devkitarm:
    http://www.devkitpro.org/
    PaLib is a collection of libs designed with ease of use in mind, performance and variety to a degree can take a hit but definitely worth a look:
    http://www.palib.info/

    This being said linux got a DS port in DSLinux, maybe you could start there:
    http://www.dslinux.org/

    Some other interesting things:
    DLDI, a library that allows you to patch a file to access (read and write depending on the patch: most do both) the FAT on the flash cart.
    http://dldi.drunkencoders.com/

    RAM, many GBA slot cards (which a good chunk of potential users have) come with some extra ram: normally 16 to 32 megabytes, it is not as fast as the 4 megs of inbuilt stuff but definitely worth a look.
    http://forum.gbadev.org/viewtopic.php?t=13023

    A nice starting guide:
    http://www.patatersoft.info/manual.php

    Best of luck.
     
  3. paul1991

    paul1991 Banned

    Banned
    680
    0
    May 5, 2007
    United States
    In what language are DS games coded?
    Do I need special software to create it?
     
  4. FAST6191

    FAST6191 Techromancer

    pip Reporter
    22,904
    8,557
    Nov 21, 2005
    Most use C or for less performance intensive C++, any ASM is usually just a bit of inline stuff. There are numerous libraries doing just about everything (basic memory mapping/button abstraction through wifi through openGL style 3d libraries to stuff like PAlib which does loads but limits you a bit) as well.
    "special software", devkitpro is the de facto compiler/assembler it seems (some noteable pieces of homebrew use some of the expensive commercial assemblers though). And I am assuming you have a test editor, depending on what you might be doing you may want something to turn windows images into GBA readable (there exists JPG, PNG,GIF... DS libraries mind) but that should also come in the devkitpro toolchain.

    There is not much on the very high level front but there is lua:
    http://www.dslua.com/
    As I mentioned above linux got a port so you could use some of the APIs although that would require some research as I do not know what is there.