Here's something simple.
Code:
/*---------------------------------------------------------------------------------
---------------------------------------------------------------------------------*/
#include <nds.h>
#include <stdio.h>
volatile int frame = 0;
//---------------------------------------------------------------------------------
void Vblank() {
//---------------------------------------------------------------------------------
frame++;
}
//---------------------------------------------------------------------------------
int main(void) {
//---------------------------------------------------------------------------------
irqInit();
irqSet(IRQ_VBLANK, Vblank);
irqEnable(IRQ_VBLANK);
videoSetMode(0); //not using the main screen
videoSetModeSub(MODE_0_2D | DISPLAY_BG0_ACTIVE); //sub bg 0 will be used to print text
vramSetBankC(VRAM_C_SUB_BG);
SUB_BG0_CR = BG_MAP_BASE(31);
BG_PALETTE_SUB[255] = RGB15(31,31,31); //by default font will be rendered with color 255
consoleInitDefault((u16*)SCREEN_BASE_BLOCK_SUB(31), (u16*)CHAR_BASE_BLOCK_SUB(0), 16);
iprintf(" Oh hi.\n");
while(1) {
swiWaitForVBlank();
}
return 0;
}
What does this do?
Attachment:
Screen1.jpg [ 2.3 KiB | Viewed 4837 times ]
That.
That's all.
But what is it in the end?
That is, the binary.
The .nds file, which contains the .bin files the DS runs.
What's in those files?
That is, the ASM, and the Hex code.
Well Hex code is simply a bunch of fucking numbers (Hexadecimal ones) that translate into ASM.
Here's something about ASM though: It's not universal.
ASM on the DS is ARM9 ASM, whereas on your computer, more than likely, it's x86 ASM.
Different shit.
Now, I could post it here, the ASM that made that program.
But I won't.
Because it won't fit.
On this whole fucking page it wouldn't fit.
There's a lot.