#154808 - a128 - Mon Apr 21, 2008 9:20 pm
This works on Emu BUT not on hardware..the console layer is distorted.
I tried various char_base/screen_base values no one worked
I use video_bufer for CPU access..which works.
I tried various char_base/screen_base values no one worked
Code: |
vramSetBankC(VRAM_C_SUB_BG); // 128Kbyte vramSetBankH(VRAM_H_SUB_BG); vramSetBankD(VRAM_D_SUB_SPRITE); vramSetBankI(VRAM_I_SUB_SPRITE); videoSetModeSub(MODE_5_2D | DISPLAY_SPR_ACTIVE | DISPLAY_SPR_1D_BMP | DISPLAY_BG3_ACTIVE | DISPLAY_BG1_ACTIVE ); int char_base = 0; int screen_base = 15; // text SUB_BG1_CR = BG_256_COLOR | BG_TILE_BASE(char_base) | BG_MAP_BASE(screen_base) |BG_PRIORITY(0); u16* sub_tile = u16*)CHAR_BASE_BLOCK_SUB(char_base); u16* sub_map = (u16*)SCREEN_BASE_BLOCK_SUB(screen_base); consoleInitDefault( sub_map, sub_tile, 8); BG_PALETTE_SUB[255] = RGB15(31, 31, 31); BG_PALETTE_SUB[0] =0; video_buffer = (u16*)BG_BMP_RAM_SUB(2); // create background image SUB_BG3_CR = BG_BMP16_256x256 | BG_BMP_BASE(2) | BG_PRIORITY(1); SUB_BG3_XDX = 1 << 8; SUB_BG3_XDY = 0; SUB_BG3_YDX = 0; SUB_BG3_YDY = 1 << 8; SUB_BG3_CX = 0; SUB_BG3_CY = 0; |
I use video_bufer for CPU access..which works.