Ejemplo n.º 1
0
main() {
	unsigned char c;
	star_t *st, stars[MAX_STARS];

	set_color(15, 1, 1);

	// set video mode to screen 2
	set_mode(mode_2);
	//msx_screen(2);

	// set whole screen to color white/black
	fill(MODE2_ATTR, 0xf1, MODE2_MAX);

	// initialize stars
	for (c=0; c < MAX_STARS; c++) {
		st = stars + c;
		star_randomize(st);
		st->z = (rand() & 63) ;
		st->addr = 0;
	}

	// animation loop
	while (!get_trigger(0)) {
		// calculate star movement
		for (st=stars, c=0; c < MAX_STARS; c++, st++)
			star_move(st);

		// erase previous stars
		for (st=stars, c=0; c < MAX_STARS; c++, st++)
			vpoke(st->last, 0);

		// show new stars
		for (st=stars, c=0; c < MAX_STARS; c++, st++)
			vmerge(st->addr, st->sub);
	}

	//set_mode(mode_0);
	msx_screen(0);
}
Ejemplo n.º 2
0
void pset(int x, int y) {
	vmerge(map_pixel(x,y), map_subpixel(x));
}