cscg22-gearboy

CSCG 2022 Challenge 'Gearboy'
git clone https://git.sinitax.com/sinitax/cscg22-gearboy
Log | Files | Refs | sfeed.txt

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}