uint32_t frameno;
uint32_t dbgval[4];
+struct part parts[2];
+static struct part *part;
+
+
int main(void)
{
int i;
dbg_init();
dna_init();
+ simba_init();
+
+ parts[0].start = dna_start;
+ parts[0].update = dna_update;
+ parts[1].start = simba_start;
+ parts[1].update = simba_update;
+ part = parts + 1;
+
+ part->start();
for(;;) {
dbg_setcursor(32, 0);
}
spr_begin();
- dna_update();
+ part->update();
vdp_wait_vblank();
spr_submit();
bndiff = bnstate ^ bnprev;
bnprev = bnstate;
+ if(bndiff & bnstate & PAD_START) {
+ if(++part >= parts + 2) {
+ part = parts;
+ }
+ part->start();
+ }
+
frameno++;
}