示例#1
0
void main () {
  screen (2);
  getchar ();
  for (i=0; i<6144;) {
    vpoke (i,0xaa);
    vpoke (i+++0x2000,0xf1);
  }
  getchar ();
  fill_vram (0,6144,0x0f);
  fill_vram (0x2000,6144,0x1f);
  getchar ();
  screen (0);
}
示例#2
0
文件: ex1b.c 项目: bitfixer/bitfixer
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);
}
示例#3
0
void read_pcx (int file, char *header) {
  xmax=INT (header,8);
  ymax=INT (header,10);
  nplanes=header[65];
  bytesperline=INT (header,66);
  bufferr=(char *) malloc (bytesperline);
  bufferg=(char *) malloc (bytesperline);
  bufferb=(char *) malloc (bytesperline);
  prepare ();
  for (j=0; j<=ymax; j++) {
    for (k=0; k<nplanes; k++) {
      if (k==0) pb=bufferr;
      if (k==1) pb=bufferg;
      if (k==2) pb=bufferb;
      for (i=0; i<bytesperline;) {
        d=fetch (file);
        if (d>0xc0) {
          d2=fetch (file);
          for (l=0; l<d-0xc0; l++) {
            *pb++=d2;
            i++;
          }
        }
        if (0xc0>d) {
          *pb++=d;
          i++;
        }
      }
    }
    pbufr=bufferr;
    pbufg=bufferg;
    pbufb=bufferb;
    for (i=0; i<=xmax; i++) {
      vpoke ((j<<8)+i,uniformRGB (*pbufr++,*pbufg++,*pbufb++)); 
    }
  }
}
示例#4
0
文件: wall.c 项目: bitfixer/bitfixer
void set_attr (int x, int y, int attr) {
		for (k=0; k<8; k++)
			vpoke(MODE2_ATTR + (256*x) + (8*y) + k, attr);
}