7 extern uint16_t simbabg_data[], simbabg_data_end[];
8 extern unsigned char simbabg_cmap[], simbabg_cmap_end[];
9 extern uint16_t simbabg_tmap[], simbabg_tmap_end[];
19 vdp_setup_addr(VDP_VRAM, 32); /* start from tile 1 32 bytes on */
20 while(src < simbabg_data_end) {
25 void simba_start(void)
33 vdp_setup_addr(VDP_VRAM, 0xe000); /* nametable B */
34 while(src < simbabg_tmap_end) {
35 VDP_DATA = VDP_TILENAME(*src++ + 1, 2, 0);
41 vdp_setcolor(2, i, cptr[0] >> 4, cptr[1] >> 4, cptr[2] >> 4);
45 /* set scrolling to whole screen */
46 vdp_setreg(VDP_REG_MODE3, 0);
49 void simba_update(void)
51 if(bnstate & PAD_LEFT) {
52 if(scroll > 0) scroll--;
53 } else if(bnstate & PAD_RIGHT) {
54 if(scroll < 511) scroll++;
58 void simba_vblank(void)
60 vdp_setup_addr(VDP_VRAM, 0xf000); /* hscroll table is at f000, see vdp.S */