9 #define FTILES_OFFS 256
11 extern uint16_t floor_data[], floor_data_end[];
12 extern unsigned char floor_cmap[], floor_cmap_end[];
13 extern uint16_t floor_tmap[], floor_tmap_end[];
17 void mitosis_init(void)
22 vdp_setup_addr(VDP_VRAM, FTILES_OFFS * 32);
23 while(src < floor_data_end) {
28 void mitosis_start(void)
36 vdp_setup_addr(VDP_VRAM, 0xc000);
37 while(src < floor_tmap_end) {
38 VDP_DATA = VDP_TILENAME(*src++ + FTILES_OFFS, 3, 0);
44 vdp_setcolor(3, i, cptr[0] >> 4, cptr[1] >> 4, cptr[2] >> 4);
48 vdp_setreg(VDP_REG_MODE3, VDP_M3_HLINE);
52 static int16_t scrolltab[96];
54 void mitosis_update(void)
59 if(bnstate & PAD_LEFT) {
61 } else if(bnstate & PAD_RIGHT) {
69 delta = ((96 - i) + 64) << 1;
71 scrolltab[i] += delta;
73 scrolltab[i] -= delta;
78 dbgval[0] = scrolltab[0];
81 void mitosis_vblank(void)
86 vdp_setup_addr(VDP_VRAM, 0xf000); /* hscroll table is at f000, see vdp.S */
88 val = 512 - (scrolltab[i] >> 8);