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