/***************************************************/
/* 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));
}