/************************************************************************
*		モード７スクリーン変換					*
************************************************************************/

#include <stdio.h>

#define unchar	unsigned char
#define unshort unsigned short

#define ON	1
#define OFF	0

#define X	14
#define Y	12
#define PT_NO	5

FILE *fp;

void	colcnv( char * );

void main( int argc,char **argv )
{

	/****** 変数宣言 ******/
	unchar	scr_buf[X * Y * PT_NO * 2];

	int	p,i,j,k;

	/****** スクリーンファイルＯＰＥＮ ******/
	if( !( fp = fopen( "M7-KOOPA-SAMPLE.SCR","r" ) ) ){
		printf( "can't open (M7-KOOPA-SAMPLE.SCR) !!\n" );
		exit(1);
	}

	/****** スクリーンデータ読み込み ******/
	if( fread( scr_buf,sizeof(unchar),(X * Y * PT_NO * 2),fp ) != (X * Y * PT_NO * 2) ){
		printf( "screen data read error !!\n" );
		exit(1);
	}
	/****** ファイルＣＬＯＳＥ ******/
	fclose( fp );


	/****** スクリーンファイルＯＰＥＮ ******/
	if( !( fp = fopen( "koopa.lis","w" ) ) ){
		printf( "can't open (koopa.lis) !!\n" );
		exit(1);
	}

	/****** スクリーンデータ変換 ******/
	p = 0;
	for (i=0; i<PT_NO; i++) {
		fprintf(fp, "KOOPA_SCR_%X\tEQU\t$\n", i);

		for (j=0; j<Y; j++) {
			fprintf(fp, "\t\tHEX\t");

			for (k=0; k<X; k++) {
				if (k == 0)
					fprintf(fp, "%02X", scr_buf[p]);
				else
					fprintf(fp, ",%02X", scr_buf[p]);

				p += 2;
			}
			fprintf(fp, "\n");
		}
	}

	/****** ファイルＣＬＯＳＥ ******/
	fclose( fp );


}

