/***************************************************/
/*  Calcurate CheckSum for SC-88Pro Display Data.  */
/*  1998/11/15(Sun)                                */
/***************************************************/

/*  ↑こういうのを書くと、それらしく見えるところが良い(^^;) */

#include <stdio.h>
#include <string.h>

main(int argc,char *argv[])
{
	int i,j,count;		/* For loop */
	int sum = 0,index = 0;
	char disp_string[128];

	for(i=1;i<argc;i++)
	{
		char *str = argv[i];
		for(j=0;j<strlen(str);j++)
		{
			sum += str[j];
			disp_string[index++] = str[j];
		}
		if(i != (argc-1))		/* この辺が、場当たり的って感じ */
		{
			disp_string[index++] = ' ';
			sum += 32;
		}
	}

	count = 1;
	printf(" 41 10 45 12 10 00 00\n");	/* デバイスIDなどなど */
	for(i=0;i<strlen(disp_string);i++)
	{
		if(count == 20)
		{
			printf("%3X\n",disp_string[i]);
			count = 1;
		}
		else
		{
			printf("%3X",disp_string[i]);
		}
		count++;
	}
	printf("\nCheck Sum = %X\n",128 - ((sum + 16) % 128));
}