/* new function just after scaleline2x */
void scaleline53x(void *dst, void *src, int width, int offset){
	byte *t=tmpline+offset*fb.pelsize;
	int tmpx, pixel1, pixel2;
	tmpx=width+3;
	while((tmpx-=3)>0){
		MEMCPY(t, src, fb.pelsize);
		MEMCPY(t+fb.pelsize, src, fb.pelsize);
		t+=2*fb.pelsize;
		src+=fb.pelsize;
		
		MEMCPY(t, src, fb.pelsize);
		MEMCPY(t+fb.pelsize, src, fb.pelsize);
		t+=2*fb.pelsize;
		src+=fb.pelsize;
		
		MEMCPY(t, src, fb.pelsize);
		t+=fb.pelsize;
		src+=fb.pelsize;
	}
	//MEMCPY(dst, tmpline, 320*fb.pelsize);
	MEMCPY(dst+offset*fb.pelsize, tmpline+offset*fb.pelsize, width*fb.pelsize*5/3+1);
}
/* switch() inside vid_init */
	case vmode_fsasp://fullscreen, aspect ratio
		fb.offset=0; fps_x=14; fps_y=0;
		break;
	case vmode_fs: // fullscreen
		fb.offset=0; fps_x=fps_y=0;
		break;
/* switch() inside vid_begin */
		case vmode_fsasp:
			tempy=144+3;
			fs=fakescreen;
			s=(void *)fb1_16bit;
			while(tempy-=3){
				scaleline53x(s, fs, 160, 27);
				s+=320*fb.pelsize;
				MEMCPY(s, s-320*fb.pelsize, 320*fb.pelsize);
				s+=320*fb.pelsize;
				fs+=fb.pitch;
				
				scaleline53x(s, fs, 160, 27);
				s+=320*fb.pelsize;
				MEMCPY(s, s-320*fb.pelsize, 320*fb.pelsize);
				s+=320*fb.pelsize;
				fs+=fb.pitch;
				
				scaleline53x(s, fs, 160, 27);
				s+=320*fb.pelsize;
				fs+=fb.pitch;
			}
			break;
		case vmode_fs:
			tempy=144+3;
			fs=fakescreen;
			s=(void *)fb1_16bit;
			while(tempy-=3){
				scaleline2x(s, fs);
				s+=320*fb.pelsize;
				MEMCPY(s, s-320*fb.pelsize, 320*fb.pelsize);
				s+=320*fb.pelsize;
				fs+=fb.pitch;
				
				scaleline2x(s, fs);
				s+=320*fb.pelsize;
				MEMCPY(s, s-320*fb.pelsize, 320*fb.pelsize);
				s+=320*fb.pelsize;
				fs+=fb.pitch;
				
				scaleline2x(s, fs);
				s+=320*fb.pelsize;
				fs+=fb.pitch;
			}
			break;