colorbar.c (2185B)
1#include <gb/gb.h> 2#include <gb/cgb.h> 3#include <stdint.h> 4 5#include "bar_c.h" 6#include "bar_c.c" 7#include "bar_m.c" 8 9const uint16_t bar_p[] = 10{ 11 bar_cCGBPal0c0,bar_cCGBPal0c1,bar_cCGBPal0c2,bar_cCGBPal0c3, 12 bar_cCGBPal1c0,bar_cCGBPal1c1,bar_cCGBPal1c2,bar_cCGBPal1c3, 13 bar_cCGBPal2c0,bar_cCGBPal2c1,bar_cCGBPal2c2,bar_cCGBPal2c3, 14 bar_cCGBPal3c0,bar_cCGBPal3c1,bar_cCGBPal3c2,bar_cCGBPal3c3, 15 bar_cCGBPal4c0,bar_cCGBPal4c1,bar_cCGBPal4c2,bar_cCGBPal4c3, 16 bar_cCGBPal5c0,bar_cCGBPal5c1,bar_cCGBPal5c2,bar_cCGBPal5c3, 17 bar_cCGBPal6c0,bar_cCGBPal6c1,bar_cCGBPal6c2,bar_cCGBPal6c3, 18 bar_cCGBPal7c0,bar_cCGBPal7c1,bar_cCGBPal7c2,bar_cCGBPal7c3 19}; 20 21const unsigned char bar_a[] = 22{ 23 7,7,4,4,4,6,6,6,2,2,2,5,5,5,1,1,1,3,3,3, 24 7,7,4,4,4,6,6,6,2,2,2,5,5,5,1,1,1,3,3,3, 25 7,7,4,4,4,6,6,6,2,2,2,5,5,5,1,1,1,3,3,3, 26 7,7,4,4,4,6,6,6,2,2,2,5,5,5,1,1,1,3,3,3, 27 7,7,4,4,4,6,6,6,2,2,2,5,5,5,1,1,1,3,3,3, 28 7,7,4,4,4,6,6,6,2,2,2,5,5,5,1,1,1,3,3,3, 29 7,7,4,4,4,6,6,6,2,2,2,5,5,5,1,1,1,3,3,3, 30 7,7,4,4,4,6,6,6,2,2,2,5,5,5,1,1,1,3,3,3, 31 7,7,4,4,4,6,6,6,2,2,2,5,5,5,1,1,1,3,3,3, 32 7,7,4,4,4,6,6,6,2,2,2,5,5,5,1,1,1,3,3,3, 33 7,7,4,4,4,6,6,6,2,2,2,5,5,5,1,1,1,3,3,3, 34 7,7,4,4,4,6,6,6,2,2,2,5,5,5,1,1,1,3,3,3, 35 7,7,4,4,4,6,6,6,2,2,2,5,5,5,1,1,1,3,3,3, 36 7,7,4,4,4,6,6,6,2,2,2,5,5,5,1,1,1,3,3,3, 37 3,3,0,0,0,5,5,5,0,0,0,6,6,6,0,0,0,7,7,7, 38 3,3,3,3,0,0,0,0,5,5,5,5,0,0,0,0,0,0,0,0, 39 3,3,3,3,0,0,0,0,5,5,5,5,0,0,0,0,0,0,0,0, 40 3,3,3,3,0,0,0,0,5,5,5,5,0,0,0,0,0,0,0,0 41}; 42 43int main(void) 44{ 45 /* Transfer color palettes */ 46 set_bkg_palette( 7, 1, &bar_p[0] ); 47 set_bkg_palette( 6, 1, &bar_p[4] ); 48 set_bkg_palette( 5, 1, &bar_p[8] ); 49 set_bkg_palette( 4, 1, &bar_p[12] ); 50 set_bkg_palette( 3, 1, &bar_p[16] ); 51 set_bkg_palette( 2, 1, &bar_p[20] ); 52 set_bkg_palette( 1, 1, &bar_p[24] ); 53 set_bkg_palette( 0, 1, &bar_p[28] ); 54 55 /* CHR code transfer */ 56 set_bkg_data( 0x0, 32, bar_c ); 57 58 /* Select VRAM bank 1 */ 59 VBK_REG = 1; 60 /* Set attributes */ 61 set_bkg_tiles( 0, 0, bar_mWidth, bar_mHeight, bar_a ); 62 63 /* Select VRAM bank 0 */ 64 VBK_REG = 0; 65 /* Set data */ 66 set_bkg_tiles( 0, 0, bar_mWidth, bar_mHeight, bar_m ); 67 68 SHOW_BKG; 69 enable_interrupts(); 70 DISPLAY_ON; 71 72 return 0; 73}