[MN-dev] [mndiff]: r57 - in trunk/2010: 2010.cpp 2_all.h 2_crypt.cpp 2_grafix.cpp 2_txt.cpp 2_txt.h makefile
michael
subversion at mplayerhq.hu
Wed Jul 4 10:10:37 CEST 2007
Author: michael
Date: Wed Jul 4 10:10:37 2007
New Revision: 57
Log:
next version from unknown date
Modified:
trunk/2010/2010.cpp
trunk/2010/2_all.h
trunk/2010/2_crypt.cpp
trunk/2010/2_grafix.cpp
trunk/2010/2_txt.cpp
trunk/2010/2_txt.h
trunk/2010/makefile
Modified: trunk/2010/2010.cpp
==============================================================================
--- trunk/2010/2010.cpp (original)
+++ trunk/2010/2010.cpp Wed Jul 4 10:10:37 2007
@@ -520,7 +520,7 @@ int main(int argc, char **argv){
setStdScale();
contGrab();
break;
-#ifndef NO_CRYPT
+#ifdef CRYPT
case '5' : TVStd= PAL;
cryptStd= vc;
if(yuvMode==0) yuvMode=1;
Modified: trunk/2010/2_all.h
==============================================================================
--- trunk/2010/2_all.h (original)
+++ trunk/2010/2_all.h Wed Jul 4 10:10:37 2007
@@ -2,8 +2,6 @@
#ifndef n2_all_h
#define n2_all_h
-#define NO_CRYPT
-
#define mabs(a) ((a)<0 ? -(a) : (a))
#define sign(a) ((a)<0 ? -1 : 1)
#define is_neg(a) ((a)<0 ? 0 : -1)
Modified: trunk/2010/2_crypt.cpp
==============================================================================
--- trunk/2010/2_crypt.cpp (original)
+++ trunk/2010/2_crypt.cpp Wed Jul 4 10:10:37 2007
@@ -51,9 +51,12 @@ void decrypt(void){
T1=T2;
}
+#ifdef CRYPT
if(cryptStd==vc) vc_decrypt();
else if(cryptStd==nag) nag_decrypt();
- else if(TVStd==TXTPAL) txt_decrypt();
+#endif
+
+ if(TVStd==TXTPAL) txt_decrypt();
if(iState){
T2=uclock();
Modified: trunk/2010/2_grafix.cpp
==============================================================================
--- trunk/2010/2_grafix.cpp (original)
+++ trunk/2010/2_grafix.cpp Wed Jul 4 10:10:37 2007
@@ -71,7 +71,7 @@ void showStuff(void){
}
if(menuLevel==mLTVStd){
-#ifdef NO_CRYPT
+#ifndef CRYPT
char text[3][256]={ "1. PAL 4. PAL-TeleText",
"2. NTSC",
"3. SECAM"};
Modified: trunk/2010/2_txt.cpp
==============================================================================
--- trunk/2010/2_txt.cpp (original)
+++ trunk/2010/2_txt.cpp Wed Jul 4 10:10:37 2007
@@ -4,6 +4,7 @@
#include <stdio.h>
#include <math.h>
#include <ctype.h>
+#include <time.h>
#include "2_all.h"
#include "2010.h"
#include "2_crypt.h"
@@ -131,20 +132,54 @@ void txt_decrypt(void){
// byte rawMagic[16]={255, 0, 255, 0, 255, 0, 255, 0,
// 255, 255, 255, 0, 0, 255, 0, 0 };
+ int clocks= clock();
static CACHE1 *cache1=new CACHE1[1024];
static int cache1Size=0;
static bool first=true;
static color txtColor[8];
static MAG mag[8];
+ static GETTAB *getTab=new GETTAB[1024];
+ static getTabNum=0;
if(first){
FILE *f= fopen("chaninf.txt", "rb");
if(f==NULL) error(TxtFile);
while(!feof(f)){
- fscanf(f, "%11[^\n]\n", cache1[cache1Size].chan);
+ int s=fscanf(f, "%27[^\n\r]%*[\n\r]", cache1[cache1Size].chan);
+ if(s==0) break;
+// printf("%s\n", cache1[cache1Size].chan);
cache1[cache1Size].pt= NULL;
cache1Size++;
}
+ fclose(f);
+
+ f= fopen("get.txt", "rb");
+ if(f!=NULL){
+ while(!feof(f)){
+ int s=fscanf(f, "%X %d %14[^\n\r]%*[\n\r]", &getTab[getTabNum].page,
+ &getTab[getTabNum].clockDelta,
+ getTab[getTabNum].name);
+ if(s==0) break;
+
+ getTab[getTabNum].nextClock=0;
+ getTab[getTabNum].clockDelta*=60*CLOCKS_PER_SEC;;
+
+ for(int i=0; getTab[getTabNum].name[i]!=0; i++)
+ if(getTab[getTabNum].name[i]=='.') getTab[getTabNum].name[i]=' ';
+
+ char name[127];
+ sprintf(name, "%s.txt", getTab[getTabNum].name);
+ getTab[getTabNum].f= fopen(name, "ab");
+ if(getTab[getTabNum].f==NULL) error(error_code(-999));
+ if(ftell(getTab[getTabNum].f)==0)
+ fprintf(getTab[getTabNum].f, "5 1 1 %s\n", getTab[getTabNum].name);
+
+// printf("%X %d %d %s\n", getTab[getTabNum].page, getTab[getTabNum].nextClock, getTab[getTabNum].clockDelta,
+// getTab[getTabNum].name);
+ getTabNum++;
+ }
+ }
+ fclose(f);
for(int i=0; i<256; i++){
int j=i&0x7F;
@@ -253,7 +288,7 @@ void txt_decrypt(void){
const int magAddr= d0 & 0x7;
const int rowAddr= (d0>>3) | (d1<<1);
- printf("lrm %d %d %d\n", line, rowAddr, magAddr);
+// printf("lrm %d %d %d\n", line, rowAddr, magAddr);
if(rowAddr==0){
mag[magAddr].pt=NULL;
@@ -295,8 +330,7 @@ void txt_decrypt(void){
break;
}
if( toupper(cache1[cache1Ndx].chan[pos]) != toupper(data[tryp+pos])
- && cache1[cache1Ndx].chan[pos] != 0x20
- && cache1[cache1Ndx].chan[pos] != 0x0D) break;
+ && cache1[cache1Ndx].chan[pos] != 0x20) break;
}
}
}
@@ -350,6 +384,7 @@ void txt_decrypt(void){
mag[magAddr].pt->land=mag[magAddr].land;
mag[magAddr].pt->sub=subPage;
+ mag[magAddr].pt->page=page;
mag[magAddr].order=0;
txtCpy(&mag[magAddr].pt->text[rowAddr*40], data+10, 32);
@@ -365,9 +400,67 @@ void txt_decrypt(void){
}
txtCpy(&mag[magAddr].pt->text[rowAddr*40], data+2, 40);
- }
+ char temp[40];
+ reMapCpy(temp, &mag[magAddr].pt->text[rowAddr*40], 40, mag[magAddr].pt->land);
+ for(int i=0; i<40; i++){
+ if(temp[i]==',') temp[i]='.';
+ }
+ for(int getTabNdx=0; getTabNdx<getTabNum; getTabNdx++){
+ if(mag[magAddr].pt->page!=getTab[getTabNdx].page) continue;
+
+ if(clocks<getTab[getTabNdx].nextClock) continue;
+ int len=strlen(getTab[getTabNdx].name);
+ int p;
+ for(p=0; p<40-len; p++){
+ if(!strnicmp(&temp[p], getTab[getTabNdx].name, len)) break;
+ }
+ if(p==40) continue;
+
+ float val=-1;
+ int skip=0;
+ for(p+=len; p<40; p++){
+ const char c= temp[p];
+
+ if(c=='+' || c=='-') skip++;
+ else if(c>='0' && c<='9'){
+ if(skip>0) skip=-skip;
+ if(skip==0){
+ sscanf(&temp[p], "%f", &val);
+ break;
+ }
+ }
+ else if(c!='.'){
+ if(skip<0) skip=-skip-1;
+ }
+ }
+ if(val==-1 || val==0.0) continue;
+
+
+ for(;p<40; p++) if(temp[p]==':') break;
+ int h=-1, m=-1;
+ if(p<40){
+ sscanf(&temp[p - 2], "%d:%d", &h, &m);
+ }
+
+
+ printf("%s, %f\n", getTab[getTabNdx].name, val );
+
+ time_t t;
+ time(&t);
+ tm *tim= gmtime(&t);
+ if(h!=-1) tim->tm_hour=h;
+ if(m!=-1) tim->tm_min=m;
+
+ fprintf(getTab[getTabNdx].f, "%04d %02d %02d %02d %02d %f\n",
+ tim->tm_year+1900, tim->tm_mon+1, tim->tm_mday, tim->tm_hour, tim->tm_min ,val);
+
+ getTab[getTabNdx].nextClock= clocks + getTab[getTabNdx].clockDelta;
+
+ break;
+ }
+ }
}
@@ -418,8 +511,8 @@ void txt_decrypt(void){
while(page!=start){
p=cache1[reqChanNum].pt[page];
while(p!=NULL){
- for(int i=0; i<LINES*40; i++)
- if(!strnicmp(&findTxt[1], &p->text[i], min(LINES*40-i, len))){
+ for(int i=0; i<LINES*40-len; i++)
+ if(!strnicmp(&findTxt[1], &p->text[i], len)){
found=true;
break;
}
@@ -602,6 +695,6 @@ void txt_decrypt(void){
if(parities>9999) parities-=9000;
}
-
+
Modified: trunk/2010/2_txt.h
==============================================================================
--- trunk/2010/2_txt.h (original)
+++ trunk/2010/2_txt.h Wed Jul 4 10:10:37 2007
@@ -5,6 +5,7 @@
#define LINES 25
struct CACHE2{
+ int page;
int sub;
bool seen;
char text[LINES*40];
@@ -13,7 +14,7 @@ struct CACHE2{
};
struct CACHE1{
- char chan[12];
+ char chan[28];
CACHE2 **pt;
};
@@ -23,6 +24,15 @@ struct MAG{
int land;
};
+struct GETTAB{
+ int page;
+ char name[15];
+ FILE *f;
+ int clockDelta;
+ int nextClock;
+};
+
+
void txt_decrypt(void);
#endif
Modified: trunk/2010/makefile
==============================================================================
--- trunk/2010/makefile (original)
+++ trunk/2010/makefile Wed Jul 4 10:10:37 2007
@@ -1,38 +1,49 @@
-.SUFFIXES: .c .cc .h .o .asm .S .s
+.SUFFIXES: .c .cc .cpp .h .o .asm .S .s
-CFLAGS = -g
-CFLAGS = -O3 -mpentium -fomit-frame-pointer -g -Wall -Wstrict-prototypes -malign-double -ffast-math -funroll-loops -fno-default-inline
+OPTS = -g
+OPTS = -O3 -mpentium -fomit-frame-pointer -g -Wall -Wstrict-prototypes -malign-double -ffast-math -funroll-loops -fno-default-inline
AFLAGS = -f coff
.c.o: ; gcc $(CFLAGS) -c $<
.cc.o: ; gcc $(CFLAGS) -c $<
+.cpp.o: ; gcc $(CFLAGS) -c $<
+
.S.o: ; gcc $(CFLAGS) -c $<
.asm.o: ; nasm $(AFLAGS) $<
O = 2010.o 2_file.o 2_grafix.o 2_hw.o 2_gfunc.o \
- 2_hw_asm.o 2_71x6.o 2_hw_mem.o 2_crypt.o 2_vc.o 2_nag.o\
- 2_nag_a.o 2_vc_a.o 2_glob_a.o 2_txt.o
+ 2_hw_asm.o 2_71x6.o 2_hw_mem.o 2_crypt.o\
+ 2_glob_a.o 2_txt.o
-2010 : $(O) ; gcc $(CFLAGS) -o 2010 $(O)
+OC = 2010.o 2_file.o 2_grafix.o 2_hw.o 2_gfunc.o \
+ 2_hw_asm.o 2_71x6.o 2_hw_mem.o 2_crypt.o 2_vc.o 2_nag.o\
+ 2_nag_a.o 2_vc_a.o 2_glob_a.o 2_txt.o
+
+default: ;$(MAKE) 2010 CFLAGS="$(OPTS)"
+
+crypt: ;$(MAKE) 2010C CFLAGS="$(OPTS) -DCRYPT"
+
+2010 : $(O) ; gcc $(CFLAGS) -o 2010 $(O)
+2010C : $(OC) ; gcc $(CFLAGS) -o 2010C $(OC)
clean: ; del $(O) 2010
-2010.o : 2010.cc 2_all.h 2010.h 2_file.h 2_hw.h 2_grafix.h\
+2010.o : 2010.cpp 2_all.h 2010.h 2_file.h 2_hw.h 2_grafix.h\
2_71x6.h 2_hw_mem.h 2_nag.h
-2_file.o : 2_file.cc 2_all.h 2_file.h 2010.h 2_hw.h
-2_gfunc.o : 2_gfunc.cc 2_all.h 2_gfunc.h 2010.h
-2_grafix.o : 2_grafix.cc 2_all.h 2_grafix.h 2010.h 2_gfunc.h 2_hw.h 2_file.h
-2_hw.o : 2_hw.cc 2_all.h 2_hw.h 2010.h 2_hw_asm.h 2_hw_mem.h\
+2_file.o : 2_file.cpp 2_all.h 2_file.h 2010.h 2_hw.h
+2_gfunc.o : 2_gfunc.cpp 2_all.h 2_gfunc.h 2010.h
+2_grafix.o : 2_grafix.cpp 2_all.h 2_grafix.h 2010.h 2_gfunc.h 2_hw.h 2_file.h
+2_hw.o : 2_hw.cpp 2_all.h 2_hw.h 2010.h 2_hw_asm.h 2_hw_mem.h\
2_71x6.h 2_mmx.h
-2_hw_mem.o : 2_hw_mem.cc 2_all.h 2_hw_mem.h 2010.h
-2_71x6.o : 2_71x6.cc 2_all.h 2_71x6.h 2_hw.h 2_hw_mem.h 2010.h 2_hw_asm.h
-2_crypt.o : 2_crypt.cc 2_all.h 2_crypt.h 2_71x6.h 2_vc.h 2_nag.h 2_txt.h
-2_vc.o : 2_vc.cc 2_all.h 2_vc.h 2_crypt.h 2_gfunc.h 2_vc_a.h
-2_nag.o : 2_nag.cc 2_all.h 2_nag.h 2_crypt.h 2_gfunc.h 2_mmx.h 2_nag_a.h\
+2_hw_mem.o : 2_hw_mem.cpp 2_all.h 2_hw_mem.h 2010.h
+2_71x6.o : 2_71x6.cpp 2_all.h 2_71x6.h 2_hw.h 2_hw_mem.h 2010.h 2_hw_asm.h
+2_crypt.o : 2_crypt.cpp 2_all.h 2_crypt.h 2_71x6.h 2_vc.h 2_nag.h 2_txt.h
+2_vc.o : 2_vc.cpp 2_all.h 2_vc.h 2_crypt.h 2_gfunc.h 2_vc_a.h
+2_nag.o : 2_nag.cpp 2_all.h 2_nag.h 2_crypt.h 2_gfunc.h 2_mmx.h 2_nag_a.h\
2010.h 2_hw_mem.h
-2_txt.o : 2_txt.cc 2_all.h 2_txt.h 2_crypt.h 2_gfunc.h 2010.h
+2_txt.o : 2_txt.cpp 2_all.h 2_txt.h 2_crypt.h 2_gfunc.h 2010.h 2_71x6.h
2_hw_asm.o : 2_hw_asm.s
More information about the Mndiff-dev
mailing list