- 注册时间
- 2005-2-19
- 最后登录
- 1970-1-1
|
适合nc3000!
其它的我不知键盘io和文件读取函数,大家告诉我
sxzc上下左右,f4开始,f1复位,f2选,下右:AB
垂直滚动是我编的,其它的要感谢lee哥!!
我不会压缩字模,于是写了这个来压缩,但效果不好,lee哥和高手教我- int fp;
- char mem[4096];
- char pic[8];
- char text[200];
- char bit[8]={128,64,32,16,8,4,2,1};
- void xuan()
- {
- char n[10][20];
- char name[2][20];
- char dirname[50];
- char filename[50];
- int i,j;
- i=0;
- sprintf(n[0],"%s","/");
- for(;;)
- {
- memset(dirname,0,50);
- for(j=0;j<=i;j++)strcat(dirname,n[j]);
- ChDir(dirname);
- if(!FileList(filename))
- {
- i--;
- if(i<0)exit(0);
- }
- else
- {
- sprintf(text,"%s/%s",dirname,filename);
- if(ChDir(text))
- {
- i++;
- sprintf(n[i],"%s",filename);
- }
- else
- {
- sprintf(name[0],"%s",filename);
- return;
- }
- }
- }
- }
- int getPoint(int x,int y)
- {
- int i;
- long addr;
- addr=_GRAPH+y*20+x/8;
- i=x%8;
- if(*(addr)&bit[i])return 1;
- else return 0;
- }
- void main()
- {
- int i,j,m,n;
- SetScreen(1);
- Locate(2,8);
- printf("FC转文曲星\n 字模压缩器");
- getchar();
- MakeDir("/LavaData");
- xuan();
- fp=fopen(text,"r");
- ClearScreen();
- Refresh();
- for(i=0;i<1024;i++)
- {
- if(CheckKey(27))exit(0);
- Box(1,8,50,16,1,0);
- Box(1,75,1+158*i/1023,79,1,1);
- fread(pic,1,8,fp);
- WriteBlock(8,8,8,8,65,pic);
- for(n=0;n<8;n++)
- {
- for(m=0;m<7;m++)
- {
- if(GetPoint(m+8,n+8)&&GetPoint(m+9,n+8))
- {
- Point(m/2+24,n+8,1);
- if(i<512)Point(31-m/2,n+8,1);
- }
- }
- }
- for(m=0;m<8;m++)
- {
- if(GetPoint(m+24,8)||GetPoint(m+24,9))Point(m+40,8,1);
- if(GetPoint(m+24,11)||GetPoint(m+24,12))Point(m+40,9,1);
- if(GetPoint(m+24,14)||GetPoint(m+24,15))Point(m+40,10,1);
- }
- GetBlock(40,8,8,4,64,mem+i*4);
- }
- fclose(fp);
- fp=fopen("/LavaData/字模.dat","w+");
- fwrite(mem,1,4096,fp);
- fclose(fp);
- exit(0);
- }
复制代码 |
|