#20791 - Darmstadium - Mon May 17, 2004 11:34 pm
I'm encountering something that's weird. Ok, I have this 256x256 text bg. Ok, it shows up great, but when I try to move it by changing REG_BG0HOFS, it makes a huge jump and won't move anymore. Here is my code:
Thanks for your help
Code: |
#include "gba.h" #include "dispcnt.h" #include "keypad.h" #include "bg.h" #include "dma.h" #include "tiles.raw.c" #include "tiles.pal.c" #define BG_PALETTE(p) ((u16*)(0x5000000+p)) int main() { const int screenblock = 8; const int charblock = 0; REG_DISPCNT = MODE_0 | BG0_ENABLE | OBJ_MAP_1D; REG_BG0CNT = TEXTBG_SIZE_256x256 | (screenblock << SCREEN_SHIFT) | (charblock << CHAR_SHIFT) | BG_COLOR_16; REG_BG0HOFS = 8; REG_BG0VOFS = 8; int loop; for (loop = 0; loop < 32*32; loop++) ScreenBaseBlock(screenblock)[loop] = test[loop]; REG_DM3DAD = (u32)CharBaseBlock(charblock); REG_DM3SAD = (u32)tiles_Bitmap; REG_DM3CNT = 384 | DMA_ENABLE | DMA_TIMEING_IMMEDIATE | DMA_32; for (int loop = 0; loop < 16; loop++) BG_PALETTE(0)[loop] = tiles_Palette[loop]; while (1) { if (KEYDOWN(KEY_LEFT)) REG_BG0HOFS -= 1; if (KEYDOWN(KEY_RIGHT)) REG_BG0HOFS += 1; } } |
Thanks for your help