If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
Super TV Test Version 4.12
Jump to navigation
Jump to search
Cleanup > Pages missing date info > Unlicensed NES pages missing date info
Cleanup > Pages missing developer info
Cleanup > Pages missing publisher info
Games > Games by content > Games with uncompiled source code
Games > Games by platform
Games > Unlicensed games > Unlicensed NES games
The Cutting Room Floor > Unimportant Awards > NES games
Super TV Test Version 4.12 |
---|
Also known as: Super TV Test Versiya 4.12 This game has uncompiled source code. |
The best TV test you ever heard of. This isn't your Grandma's TV test, this is a super one. There isn't much to say, it's a TV tester for the NES. Cool...?
Source Code
Present at the end of the ROM is a whole bunch of C code for a file converter and parser.
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #include <conio.h> #include <dos.h> #include <dir.h> #include <direct.h> #include <io.h> #include <fcntl.h> #include <sys\stat.h> int result1 = 0,result2 = 0; FILE *stream; unsigned char uuu,mlc,stc; unsigned char far mc[65500],mass[31000],pl1[8000],pl2[8000]; unsigned char far pl3[4100],pl4[1100],pl5[5200]; unsigned char far *bufr; unsigned char kyb[20][20]; int gdriver = DETECT, gmode, errorcode; int high,low,handle; int basa; //смещение кодов long dlina; char *ptpt; FILE *fp; int i,cnt,chr; int x_razm,y_razm,xko,yko; int nomb,bit,k,l,m,n,mk,x,y,xm,xnm,ynm,r,mx,xc,yc,b1,b2,kybbit,pl1bit,pl2bit,oct; int xdef,ydef; //размер по x,y int pl; //длина массива pl5[] long cur_disc,prinpri,symcol[20],symbit[5],kerr; char cur_dir[80]; long xren; kerr=0; char namef[]="col.bmp ", outf[]="0"; void main ( int argc, char *argv[] ) { int nomb,bit,k,l,m,n,mk,x,y,xm,xnm,ynm,r,mx,xc,yc,b1,b2,kybbit,pl1bit,pl2bit,oct; int xdef,ydef; //размер по x,y int pl; //длина массива pl5[] long cur_disc,prinpri,symcol[20],symbit[5],kerr; char cur_dir[80]; long xren; kerr=0; clrscr(); if (argc>1) { strcpy(namef,argv[1]); ptpt=strchr(namef,'.'); if(!ptpt) strcpy(&namef[strlen(namef)],".bmp"); } lab644:; getcurdir(0,cur_dir); if ((handle = _open(namef, O_RDWR)) == -1) { printf("Ошибка открытия файла!"); goto lab666; } dlina=filelength(handle); _read(handle, mass,dlina); _close(handle); if(xren>32700) { printf("BMP файл: %s\n\n",namef); printf("Слишком большой файл!"); goto lab666; } mk=128; stream = fopen("othet.txt", "w+"); for(y=0;y<y_razm;y++) for(x=0;x<xm;x++) { printf(stream,"Пepeбop цвeтa в кубe X=[%d] Y=[%d] Col=[%d]\n",x,y,mc[x+y*xm]); kerr+=1; } if (mk==1) mk=256; mk=mk/2; if(x>=xm-1) mk=128; } fclose(stream); if (x+basa>256) { printf("BMP файл: %s\n\n",namef); printf("Число точек по X: %d\n",x_razm*2); printf("Число точек по Y: %d\n",y_razm); printf("Слишком большой файл!"); goto lab666; } if (metodc==1) { if (xdef*ydef+basa>256) { printf("BMP файл: %s\n\n",namef); printf("Число точек по X: %d\n",x_razm*2); printf("Число точек по Y: %d\n",y_razm); printf("Число символов: %d\n",xdef*ydef); printf("Смещение кодов символов: %d\n\n",basa); printf("Слишком большой файл!"); goto lab666; } for (r=0;r<xdef*ydef;r++) { pl4[r]=r+basa; } x=xdef*ydef; } if (metodd==1&&metode==0) { printf("BMP файл: %s\n\n",namef); printf("Попытка сжатия твердого графического файла!"); goto lab666; } if (metodc==1&&metodf==0) { printf("BMP файл: %s\n\n",namef); printf("Попытка сжатия твердого кодирующего файла!"); goto lab666; } pl=0; if (metodg==1) { pl5[0]=xdef, pl5[1]=ydef, pl5[2]=basa, pl5[3]=x, pl5[4]=metod; pl5[5]=0, pl5[6]=0, pl+=7; } if (metodf==0) { r=1; for (k=1;k<xdef*ydef;k++) if ((metodf==1&&metodd==1)||(metodf==1&&metodc==0)) { for (k=0;k<xdef*ydef;k++) pl5[pl]=pl4[k],pl++; } if (metode==0) { if (r>3) pl5[pl]=253,pl++,pl5[pl]=r,pl++,pl5[pl]=pl3[k-1+basa*16],pl++; else for (m=0;m<r;m++) pl5[pl]=pl3[k-1+basa*16],pl++; } if (metode==1&&metodd==0) { for (k=0;k<x*16;k++) pl5[pl]=pl3[k+basa*16],pl++; } if (metodg==1) pl5[5]=div(pl-7,256).rem, pl5[6]=div(pl-7,256).quot; //******** Конец преобразования выходного массива ********* if ((handle = _creat("bmpout.dat", 0)) < 0) { perror("Unable to create output file"); goto lab666; } _write(handle,&pl5[0],pl); _close(handle); //кодовый рабочий файл if (metodd==1) { if ((handle = _creat("bmpout.grf", 0)) < 0) { perror("Unable to create output file"); goto lab666; } _write(handle,&pl3[basa*16],x*16); _close(handle); //графический рабочий файл :; } setdisk(3); chdir(cur_dir); chdir("\\"); printf("\n"); printf("Число точек [символов] по X: %d [%d]\n",x_razm*2,xdef); printf("Число точек [символов] по Y: %d [%d]\n",y_razm,ydef); printf("Общее число символов: %d\n",xdef*ydef); printf("Входной BMP файл: %s\n",namef); printf("Выходные DEN файлы: *bmp.dat - стандартный, *chm.dat - оптимизированный\n"); printf("\n\nКонец преобразования."); getch(); exit(0); }
Cleanup > Pages missing date info > Unlicensed NES pages missing date info
Cleanup > Pages missing developer info
Cleanup > Pages missing publisher info
Games > Games by content > Games with uncompiled source code
Games > Games by platform
Games > Unlicensed games > Unlicensed NES games
The Cutting Room Floor > Unimportant Awards > NES games