#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv) {
	unsigned int vrefresh = (unsigned int)strtol(argv[1], NULL, 10);
	int vdisplay = atoi(argv[2]);
	unsigned int vfieldrate_rqd = vrefresh;
	unsigned int tmp1 = (1000000 - 550 * vfieldrate_rqd) / 500;
	unsigned int tmp2 = (vdisplay + 2*0 + 1) * 2 + 0;
	unsigned int hfreq_est = (tmp2 * 1000 * vfieldrate_rqd) / tmp1;
	int vsync_plus_bp = 550 * hfreq_est / 1000;
	vsync_plus_bp = (vsync_plus_bp + 500) / 1000;
	unsigned int vtotal_lines = vdisplay + 0 + 0 + vsync_plus_bp + 1;
	printf("vfieldrate_rqd=%u(0x%x) tmp1=%u tmp2=%u hfreq_est=%u vsbp=%d vtotal_lines=%u\n",
		vfieldrate_rqd, vfieldrate_rqd, tmp1, tmp2, hfreq_est, vsync_plus_bp, vtotal_lines);
	printf("cvt: tmp2c=%u den243=%u\n", (vdisplay+3)*2, ((unsigned)((vdisplay+3)*2) * vfieldrate_rqd));
	printf("gtf: den459=%u  den481(hfreq_est)=%u\n", vfieldrate_rqd * vtotal_lines, hfreq_est);
	return 0;
}
