[MN-dev] [mndiff]: r51 - in trunk/2010: 2010.cc 2_71x6.cc 2_hw_mem.cc 2_nag.cc 2_vc.cc makefile

michael subversion at mplayerhq.hu
Wed Jul 4 09:13:02 CEST 2007


Author: michael
Date: Wed Jul  4 09:13:01 2007
New Revision: 51

Log:
version from 1998-07-25 20:43


Modified:
   trunk/2010/2010.cc
   trunk/2010/2_71x6.cc
   trunk/2010/2_hw_mem.cc
   trunk/2010/2_nag.cc
   trunk/2010/2_vc.cc
   trunk/2010/makefile

Modified: trunk/2010/2010.cc
==============================================================================
--- trunk/2010/2010.cc	(original)
+++ trunk/2010/2010.cc	Wed Jul  4 09:13:01 2007
@@ -305,7 +305,7 @@ int main(int argc, char **argv){
  if(page_flip==0) i= vgax * vgay * vb;
  else             i= vgax * vgay * vb << 1;
 
- vidbuf=(byte*)( map(mib->PhysBase, mib->PhysBase+i) - __djgpp_base_address);
+ vidbuf=(byte*)(map(mib->PhysBase, mib->PhysBase+i))  - __djgpp_base_address;
   
  r.x.ax=0x4F02;
  r.x.bx=vid | 16384;

Modified: trunk/2010/2_71x6.cc
==============================================================================
--- trunk/2010/2_71x6.cc	(original)
+++ trunk/2010/2_71x6.cc	Wed Jul  4 09:13:01 2007
@@ -85,7 +85,7 @@ int scan_pci_meteors(void){
        write_pci(bus, dev, 0, PCI_IO_latency, 1, latency);
 
        u=read_pci(bus, dev, 0, PCI_IO_base, 4) & (~0xFF);     //fix me 4kb boundray
-       meteors[i].saa7116=(saa7116*)(map(u, u+sizeof(saa7116)) - __djgpp_base_address);
+       meteors[i].saa7116=(saa7116*)( (char*)map(u, u+sizeof(saa7116)) - __djgpp_base_address );
 
        printf("IRQ: %X INT: %X BUS: %X DEV: %X MemMap: %X\n",meteors[i].irq, meteors[i].intt, bus, dev, int(u));
 //       printf("%X %X\n",_go32_info_block.master_interrupt_controller_base, _go32_info_block.slave_interrupt_controller_base);
@@ -597,7 +597,7 @@ static void start_grab(void){
 
  wait(wait_time);
 
- VID2MEMBUF grabVid2MemBufp= vid2MemBuf[ grabVid2MemBuf ];
+ volatile VID2MEMBUF grabVid2MemBufp= vid2MemBuf[ grabVid2MemBuf ];
                              
  if(oneField){
    a_saa7116->dma.even[0]= a_saa7116->dma.odd [0]=

Modified: trunk/2010/2_hw_mem.cc
==============================================================================
--- trunk/2010/2_hw_mem.cc	(original)
+++ trunk/2010/2_hw_mem.cc	Wed Jul  4 09:13:01 2007
@@ -45,7 +45,7 @@ void locklin(void *start, void *end){
  while(llp2!=NULL && llp2->next!=NULL) llp2=llp2->next;
 
  meminfo.address=(unsigned long)(start);
- meminfo.size=(unsigned long)(end - start);
+ meminfo.size=(unsigned long)(int(end) - int(start));
  if(__dpmi_lock_linear_region(&meminfo)!=0) error(Lock);
 
  if(llp2!=NULL) llp2->next=llp;
@@ -68,7 +68,7 @@ void unlocklin(void *start, void *end){
  if(llp==NULL) error(error_code(-8));
 
  meminfo.address=(u_long)(start);
- meminfo.size=(u_long)(end - start);
+ meminfo.size=(u_long)(int(end) - int(start));
  __dpmi_unlock_linear_region(&meminfo);
 
  if(llp->start<start){
@@ -88,11 +88,11 @@ void unlocklin(void *start, void *end){
 }
 
 void lock(void *start, void *end){
- locklin(start + __djgpp_base_address, end + __djgpp_base_address);
+ locklin((char*)start + __djgpp_base_address, (char*)end + __djgpp_base_address);
 }
 
 void unlock(void *start, void *end){
- unlocklin(start + __djgpp_base_address, end + __djgpp_base_address);
+ unlocklin((char*)start + __djgpp_base_address, (char*)end + __djgpp_base_address);
 }
 
 void unlockall(void){
@@ -102,7 +102,7 @@ void unlockall(void){
  llp=locklist;
  while(llp!=NULL){
    meminfo.address=(u_long)(llp->start);
-   meminfo.size=(u_long)(llp->end - llp->start);
+   meminfo.size=(u_long)(int(llp->end) - int(llp->start));
    __dpmi_unlock_linear_region(&meminfo);
    llp2=llp;
    llp=llp->next;
@@ -249,8 +249,8 @@ void allocCont(VID2MEMBUF *v2mb, int siz
          for(int k=0; k<tryi; k++){
            v2mb[*num-left+k].b=
                      (byte*)( map(  vds_info.phys + slack + size*k
-                                  , vds_info.phys + slack + size*k + size)  // FIX ?-1
-                                                     - __djgpp_base_address);
+                                  , vds_info.phys + slack + size*k + size))  
+                                                     - __djgpp_base_address; // FIX ?-1
 
            v2mb[*num-left+k].phys= vds_info.phys + size*k + slack;
          }

Modified: trunk/2010/2_nag.cc
==============================================================================
--- trunk/2010/2_nag.cc	(original)
+++ trunk/2010/2_nag.cc	Wed Jul  4 09:13:01 2007
@@ -163,32 +163,119 @@ static inline int nagLineLogi2Phys(const
 }
 
 static inline void mod4Fix(byte *p, const int type){
+  asm(//"int $3                          \n\t"
+      "cmpl $2, %%edi                  \n\t"
+      " jb 1f                          \n\t"
+      "cmpl $3, %%edi                  \n\t"
+      " jb 2f                          \n\t"
+      "3:                              \n\t"
+      "  movb  (%%esi, %%ecx), %%al    \n\t"
+      "  movb 4(%%esi, %%ecx), %%bl    \n\t"
+
+      "  movb 2(%%esi, %%ecx), %%ah    \n\t"
+      "  movb 6(%%esi, %%ecx), %%bh    \n\t"
+      "7:                              \n\t"
+      "  xorb $-1, %%al                \n\t"
+      "  xorb $-1, %%bl                \n\t"
+
+      "  xorb $-1, %%ah                \n\t"
+      "  xorb $-1, %%bh                \n\t"
+
+      "  movb %%al, 2(%%esi, %%ecx)    \n\t"
+      "  movb %%bl, 6(%%esi, %%ecx)    \n\t"
+
+      "  movb %%ah,  (%%esi, %%ecx)    \n\t"
+      "  movb %%bh, 4(%%esi, %%ecx)    \n\t"
+
+      "  movb  8(%%esi, %%ecx), %%al    \n\t"
+      "  movb 12(%%esi, %%ecx), %%bl    \n\t"
+
+      "  movb 10(%%esi, %%ecx), %%ah    \n\t"
+      "  movb 14(%%esi, %%ecx), %%bh    \n\t"
+
+      "  addl $8, %%ecx                \n\t"
+      "jnc 7b                          \n\t"
+      " jmp 8f                         \n\t"
+
+      "2:                              \n\t"
+      "  movl   (%%esi, %%ecx), %%eax  \n\t"
+      "  movl  4(%%esi, %%ecx), %%ebx  \n\t"
+      "7:                              \n\t"
+      "  xorl $0x00FF00FF, %%eax       \n\t"
+      "  xorl $0x00FF00FF, %%ebx       \n\t"
+
+      "  movl %%eax,  (%%esi, %%ecx)   \n\t"
+      "  movl %%ebx, 4(%%esi, %%ecx)   \n\t"
+
+      "  movl  8(%%esi, %%ecx), %%eax  \n\t"
+      "  movl 12(%%esi, %%ecx), %%ebx  \n\t"
+
+      "  addl $8, %%ecx                \n\t"
+      "jnc 7b                          \n\t"
+      " jmp 8f                         \n\t"
+
+      "1:                              \n\t"
+      "  movb  (%%esi, %%ecx), %%al    \n\t"
+      "  movb 4(%%esi, %%ecx), %%bl    \n\t"
+
+      "  movb 2(%%esi, %%ecx), %%ah    \n\t"
+      "  movb 6(%%esi, %%ecx), %%bh    \n\t"
+      "7:                              \n\t"
+      "  movb %%al, 2(%%esi, %%ecx)    \n\t"      // AGI 1 CYC
+      "  movb %%bl, 6(%%esi, %%ecx)    \n\t"
+
+      "  movb %%ah,  (%%esi, %%ecx)    \n\t"
+      "  movb %%bh, 4(%%esi, %%ecx)    \n\t"
+
+      "  movb  8(%%esi, %%ecx), %%al   \n\t"
+      "  movb 12(%%esi, %%ecx), %%bl   \n\t"
+
+      "  movb 10(%%esi, %%ecx), %%ah   \n\t"
+      "  movb 14(%%esi, %%ecx), %%bh   \n\t"
+
+      "  addl $8, %%ecx                \n\t"
+      "jnc 7b                          \n\t"
+
+      "8:                              \n\t"
+
+          :
+          : "S" (int(p) + (wndx<<2) ),
+            "D" (type) ,
+            "c" (-wndx<<2) 
+          : "%eax", "%ebx", "%ecx", "%edx", "%esi", "%edi");
+
+
+  /*
+
   const bool xchg[4]={false, true, false, true};
   const int  neg [4]={    0,    0,    -1,   -1};
 
-  for(int x=0; x<(vgax<<1); x+=4){
-     const byte u= p[x  ];
-     const byte v= p[x+2];
 
-    if(xchg[type]){
+  if(xchg[type]){
+    for(int x=0; x<(wndx<<1); x+=4){
+      const byte u= p[x  ];
+      const byte v= p[x+2];
+
       p[x  ]= (v^neg[type]) - neg[type];
       p[x+2]= (u^neg[type]) - neg[type];
-    }else{
-      p[x  ]= (u^neg[type]) - neg[type];
-      p[x+2]= (v^neg[type]) - neg[type];
     }
+  }else{
+    for(int x=0; x<(wndx<<1); x+=4){
+      const byte u= p[x  ];
+      const byte v= p[x+2];
 
-  }
-
-
+      p[x  ]= (u^neg[type]) - neg[type];
+      p[x+2]= (v^neg[type]) - neg[type];
 
+    }
+  } */
 }
 
 void corrV(byte * p1, byte * p2, const int type, int *vPhase){
   const bool xchg[4]={false, true, false, true};
   const int  neg [4]={    0,    0,    -1,   -1};
 
-  for(int x=0; x<(vgax<<1); x+=4){
+  for(int x=0; x<(wndx<<1); x+=4){
     int u1= char(p1[x  ]);            // perhaps u><v
     int v1= char(p1[x+2]);
 
@@ -577,7 +664,7 @@ void nag_decrypt(void){
      if(cleMod4!=encMod4) mod4Fix(lowDriftLinep, type);
    }
    else{
-     for(int x=0; x<(vgax<<1); x+=4){
+     for(int x=0; x<(wndx<<1); x+=4){
        linep[x  ]= lowDriftLinep[x  ];
        linep[x+2]= lowDriftLinep[x+2];
      }

Modified: trunk/2010/2_vc.cc
==============================================================================
--- trunk/2010/2_vc.cc	(original)
+++ trunk/2010/2_vc.cc	Wed Jul  4 09:13:01 2007
@@ -49,7 +49,7 @@ void vc_decrypt(void){
  long alg1=0, alg2=0, alg3=0;
  color c;
 
-// show_points=1;
+ show_points=1;
  const int vc_endx=wndx;
  const int vc_startx=int(double(22-scales_x+3)/double(768-scales_x+scalee_x)*wndx);
 

Modified: trunk/2010/makefile
==============================================================================
--- trunk/2010/makefile	(original)
+++ trunk/2010/makefile	Wed Jul  4 09:13:01 2007
@@ -1,7 +1,7 @@
 .SUFFIXES: .c .cc .h .o .asm .S .s
 
 CFLAGS = -g
-CFLAGS = -O3 -m486 -fomit-frame-pointer -g -Wall -Wstrict-prototypes -malign-double -ffast-math -funroll-loops -fno-default-inline
+CFLAGS = -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 $<



More information about the Mndiff-dev mailing list