/[pcsx2_0.9.7]/branch/debug/0.X/0.9.X/0.9.7/ramdump-lateset/plugins/zzogl-pg/opengl/Regs.cpp
ViewVC logotype

Diff of /branch/debug/0.X/0.9.X/0.9.7/ramdump-lateset/plugins/zzogl-pg/opengl/Regs.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 329 by william, Mon Dec 27 04:02:56 2010 UTC revision 330 by william, Tue Dec 28 04:24:23 2010 UTC
# Line 99  void __gifCall GIFPackedRegHandlerXYZ3(c Line 99  void __gifCall GIFPackedRegHandlerXYZ3(c
99  void __gifCall GIFPackedRegHandlerRGBA(const u32* data)  void __gifCall GIFPackedRegHandlerRGBA(const u32* data)
100  {  {
101          FUNCLOG          FUNCLOG
102          gs.rgba = (data[0] & 0xff) |          GIFPackedRGBA* r = (GIFPackedRGBA*)(data);
103                            ((data[1] & 0xff) <<  8) |          gs.rgba = (r->R | (r->G <<  8) | (r->B << 16) | (r->A << 24));
                           ((data[2] & 0xff) << 16) |  
                           ((data[3] & 0xff) << 24);  
104          gs.vertexregs.rgba = gs.rgba;          gs.vertexregs.rgba = gs.rgba;
105          gs.vertexregs.q = gs.q;          gs.vertexregs.q = gs.q;
106  }  }
# Line 110  void __gifCall GIFPackedRegHandlerRGBA(c Line 108  void __gifCall GIFPackedRegHandlerRGBA(c
108  void __gifCall GIFPackedRegHandlerSTQ(const u32* data)  void __gifCall GIFPackedRegHandlerSTQ(const u32* data)
109  {  {
110          FUNCLOG          FUNCLOG
111    //      GIFPackedSTQ* r = (GIFPackedSTQ*)(data);
112    //      gs.vertexregs.s = r->S;
113    //      gs.vertexregs.t = r->T;
114    //      gs.q = r->Q;
115          // Despite this code generating a warning, it's correct. float -> float reduction. S and Y are missed mantissas.          // Despite this code generating a warning, it's correct. float -> float reduction. S and Y are missed mantissas.
116          *(u32*)&gs.vertexregs.s = data[0] & 0xffffff00;          *(u32*)&gs.vertexregs.s = data[0] & 0xffffff00;
117          *(u32*)&gs.vertexregs.t = data[1] & 0xffffff00;          *(u32*)&gs.vertexregs.t = data[1] & 0xffffff00;
# Line 119  void __gifCall GIFPackedRegHandlerSTQ(co Line 121  void __gifCall GIFPackedRegHandlerSTQ(co
121  void __gifCall GIFPackedRegHandlerUV(const u32* data)  void __gifCall GIFPackedRegHandlerUV(const u32* data)
122  {  {
123          FUNCLOG          FUNCLOG
124          gs.vertexregs.u = data[0] & 0x3fff;          GIFPackedUV* r = (GIFPackedUV*)(data);
125          gs.vertexregs.v = data[1] & 0x3fff;          
126            gs.vertexregs.u = r->U;
127            gs.vertexregs.v = r->V;
128  }  }
129    
130  void __gifCall GIFPackedRegHandlerXYZF2(const u32* data)  void __gifCall GIFPackedRegHandlerXYZF2(const u32* data)
# Line 129  void __gifCall GIFPackedRegHandlerXYZF2( Line 133  void __gifCall GIFPackedRegHandlerXYZF2(
133          GIFPackedXYZF2* r = (GIFPackedXYZF2*)(data);          GIFPackedXYZF2* r = (GIFPackedXYZF2*)(data);
134          gs.add_vertex(r->X, r->Y,r->Z, r->F);          gs.add_vertex(r->X, r->Y,r->Z, r->F);
135    
136      ZZKick->KickVertex(((data[3]>>15) & 0x1));          ZZKick->KickVertex(!!(r->ADC));
137  }  }
138    
139  void __gifCall GIFPackedRegHandlerXYZ2(const u32* data)  void __gifCall GIFPackedRegHandlerXYZ2(const u32* data)
# Line 138  void __gifCall GIFPackedRegHandlerXYZ2(c Line 142  void __gifCall GIFPackedRegHandlerXYZ2(c
142          GIFPackedXYZ2* r = (GIFPackedXYZ2*)(data);          GIFPackedXYZ2* r = (GIFPackedXYZ2*)(data);
143          gs.add_vertex(r->X, r->Y,r->Z);          gs.add_vertex(r->X, r->Y,r->Z);
144    
145      ZZKick->KickVertex(((data[3]>>15) & 0x1));          ZZKick->KickVertex(!!(r->ADC));
146  }  }
147    
148  void __gifCall GIFPackedRegHandlerFOG(const u32* data)  void __gifCall GIFPackedRegHandlerFOG(const u32* data)
149  {  {
150          FUNCLOG          FUNCLOG
151          gs.vertexregs.f = (data[3] & 0xff0) >> 4;          GIFPackedFOG* r = (GIFPackedFOG*)(data);
152            gs.vertexregs.f = r->F;
153    //      gs.vertexregs.f = (data[3] & 0xff0) >> 4;
154          if (gs.vertexregs.f != 0) REG_LOG("GIFPackedRegHandlerFOG == %d", gs.vertexregs.f);          if (gs.vertexregs.f != 0) REG_LOG("GIFPackedRegHandlerFOG == %d", gs.vertexregs.f);
155  }  }
156    
# Line 220  void __gifCall GIFRegHandlerST(const u32 Line 226  void __gifCall GIFRegHandlerST(const u32
226    
227  void __gifCall GIFRegHandlerUV(const u32* data)  void __gifCall GIFRegHandlerUV(const u32* data)
228  {  {
229            // Baroque breaks if u&v are 16 bits instead of 14.
230          FUNCLOG          FUNCLOG
231          gs.vertexregs.u = (data[0]) & 0x3fff;  //      gs.vertexregs.u = (data[0]) & 0x3fff;
232          gs.vertexregs.v = (data[0] >> 16) & 0x3fff;  //      gs.vertexregs.v = (data[0] >> 16) & 0x3fff;
233            GIFRegUV* r = (GIFRegUV*)(data);
234            gs.vertexregs.u = r->U;
235            gs.vertexregs.v = r->V;
236  }  }
237    
238  void __gifCall GIFRegHandlerXYZF2(const u32* data)  void __gifCall GIFRegHandlerXYZF2(const u32* data)
# Line 288  void __gifCall GIFRegHandlerCLAMP(const Line 298  void __gifCall GIFRegHandlerCLAMP(const
298          if (!NoHighlights(ctxt)) return;          if (!NoHighlights(ctxt)) return;
299                    
300          clampInfo& clamp = vb[ctxt].clamp;          clampInfo& clamp = vb[ctxt].clamp;
301            GIFRegCLAMP* r = (GIFRegCLAMP*)(data);
302    
303          if ((s_uClampData[ctxt] != data[0]) || (((clamp.minv >> 8) | (clamp.maxv << 2)) != (data[1]&0x0fff)))          if ((s_uClampData[ctxt] != data[0]) || (((clamp.minv >> 8) | (clamp.maxv << 2)) != (data[1]&0x0fff)))
304          {          {
305                  Flush(ctxt);                  Flush(ctxt);
306                  s_uClampData[ctxt] = data[0];                  s_uClampData[ctxt] = data[0];
307    
308                  clamp.wms  = (data[0]) & 0x3;                  clamp.wms  = r->WMS;
309                  clamp.wmt  = (data[0] >>  2) & 0x3;                  clamp.wmt  = r->WMT;
310                  clamp.minu = (data[0] >>  4) & 0x3ff;                  clamp.minu = r->MINU;
311                  clamp.maxu = (data[0] >> 14) & 0x3ff;                  clamp.maxu = r->MAXU;
312                  clamp.minv = ((data[0] >> 24) & 0xff) | ((data[1] & 0x3) << 8);                  clamp.minv = r->MINV;
313                  clamp.maxv = (data[1] >> 2) & 0x3ff;                  clamp.maxv = r->MAXV;
314    
315                  vb[ctxt].bTexConstsSync = false;                  vb[ctxt].bTexConstsSync = false;
316          }          }
# Line 309  void __gifCall GIFRegHandlerFOG(const u3 Line 320  void __gifCall GIFRegHandlerFOG(const u3
320  {  {
321          FUNCLOG          FUNCLOG
322          //gs.gsvertex[gs.primIndex].f = (data[1] >> 24);        // shift to upper bits          //gs.gsvertex[gs.primIndex].f = (data[1] >> 24);        // shift to upper bits
323          gs.vertexregs.f = data[1] >> 24;          GIFRegFOG* r = (GIFRegFOG*)(data);
324            gs.vertexregs.f = r->F;
325          if (gs.vertexregs.f != 0) REG_LOG("GIFPackedRegHandlerFOG == %d", gs.vertexregs.f);          if (gs.vertexregs.f != 0) REG_LOG("GIFPackedRegHandlerFOG == %d", gs.vertexregs.f);
326                    
327  }  }
# Line 344  void __gifCall GIFRegHandlerTEX1(const u Line 356  void __gifCall GIFRegHandlerTEX1(const u
356                    
357          if (!NoHighlights(ctxt)) return;          if (!NoHighlights(ctxt)) return;
358                    
359            GIFRegTEX1* r = (GIFRegTEX1*)(data);
360          tex1Info& tex1 = vb[ctxt].tex1;          tex1Info& tex1 = vb[ctxt].tex1;
361    
362          if (conf.bilinear == 1 && (tex1.mmag != ((data[0] >>  5) & 0x1) || tex1.mmin != ((data[0] >>  6) & 0x7)))          if (conf.bilinear == 1 && (tex1.mmag != ((data[0] >>  5) & 0x1) || tex1.mmin != ((data[0] >>  6) & 0x7)))
# Line 352  void __gifCall GIFRegHandlerTEX1(const u Line 365  void __gifCall GIFRegHandlerTEX1(const u
365                  vb[ctxt].bVarsTexSync = false;                  vb[ctxt].bVarsTexSync = false;
366          }          }
367    
368          tex1.lcm  = (data[0]) & 0x1;          tex1.lcm  = r->LCM;
369          tex1.mxl  = (data[0] >>  2) & 0x7;  
370          tex1.mmag = (data[0] >>  5) & 0x1;          tex1.mxl  = r->MXL;
371          tex1.mmin = (data[0] >>  6) & 0x7;          tex1.mmag = r->MMAG;
372          tex1.mtba = (data[0] >>  9) & 0x1;          tex1.mmin = r->MMIN;
373          tex1.l  = (data[0] >> 19) & 0x3;          tex1.mtba = r->MTBA;
374          tex1.k  = (data[1] >> 4) & 0xff;          tex1.l  = r->L;
375            tex1.k  = r->K;
376                    
377  #ifdef SPAM_UNUSED_REGISTERS  #ifdef SPAM_UNUSED_REGISTERS
378          REG_LOG("Lcm = %d, l = %d, k = %d", tex1.lcm, tex1.l, tex1.k);          REG_LOG("Lcm = %d, l = %d, k = %d", tex1.lcm, tex1.l, tex1.k);
# Line 418  template <u32 ctxt> Line 432  template <u32 ctxt>
432  void __gifCall GIFRegHandlerXYOFFSET(const u32* data)  void __gifCall GIFRegHandlerXYOFFSET(const u32* data)
433  {  {
434          FUNCLOG          FUNCLOG
435          vb[ctxt].offset.x = (data[0]) & 0xffff;          GIFRegXYOFFSET* r = (GIFRegXYOFFSET*)(data);
436          vb[ctxt].offset.y = (data[1]) & 0xffff;          vb[ctxt].offset.x = r->OFX;
437            vb[ctxt].offset.y = r->OFY;
438    
439  //  if( !conf.interlace ) {  //  if( !conf.interlace ) {
440  //        vb[1].offset.x &= ~15;  //        vb[1].offset.x &= ~15;
# Line 447  void __gifCall GIFRegHandlerPRMODE(const Line 462  void __gifCall GIFRegHandlerPRMODE(const
462  void __gifCall GIFRegHandlerTEXCLUT(const u32* data)  void __gifCall GIFRegHandlerTEXCLUT(const u32* data)
463  {  {
464          FUNCLOG          FUNCLOG
465            // Affects background coloration of initial Mana Khemia dialog.
466            GIFRegTEXCLUT* r = (GIFRegTEXCLUT*)(data);
467    
468          vb[0].FlushTexData();          vb[0].FlushTexData();
469          vb[1].FlushTexData();          vb[1].FlushTexData();
470    
471          gs.clut.cbw = ((data[0]) & 0x3f) * 64;          gs.clut.cbw = r->CBW << 6;
472          gs.clut.cou = ((data[0] >>  6) & 0x3f) * 16;          gs.clut.cou = r->COU << 4;
473          gs.clut.cov = (data[0] >> 12) & 0x3ff;          gs.clut.cov = r->COV;
474  }  }
475    
476  void __gifCall GIFRegHandlerSCANMSK(const u32* data)  void __gifCall GIFRegHandlerSCANMSK(const u32* data)
477  {  {
478          FUNCLOG          FUNCLOG
479            GIFRegSCANMSK* r = (GIFRegSCANMSK*)(data);
480  //  FlushBoth();  //  FlushBoth();
481  //  ResolveC(&vb[0]);  //  ResolveC(&vb[0]);
482  //  ResolveZ(&vb[0]);  //  ResolveZ(&vb[0]);
483    
484          gs.smask = data[0] & 0x3;          gs.smask = r->MSK;
485          REG_LOG("Scanmsk == %d", gs.smask);          REG_LOG("Scanmsk == %d", gs.smask);
486  }  }
487    
# Line 471  template <u32 ctxt> Line 489  template <u32 ctxt>
489  void __gifCall GIFRegHandlerMIPTBP1(const u32* data)  void __gifCall GIFRegHandlerMIPTBP1(const u32* data)
490  {  {
491          FUNCLOG          FUNCLOG
492            GIFRegMIPTBP1* r = (GIFRegMIPTBP1*)(data);
493            
494          miptbpInfo& miptbp0 = vb[ctxt].miptbp0;          miptbpInfo& miptbp0 = vb[ctxt].miptbp0;
495          miptbp0.tbp[0] = (data[0]) & 0x3fff;          miptbp0.tbp[0] = r->TBP1;
496          miptbp0.tbw[0] = (data[0] >> 14) & 0x3f;          miptbp0.tbw[0] = r->TBW1;
497          miptbp0.tbp[1] = ((data[0] >> 20) & 0xfff) | ((data[1] & 0x3) << 12);          miptbp0.tbp[1] = r->TBP2;
498          miptbp0.tbw[1] = (data[1] >>  2) & 0x3f;          miptbp0.tbw[1] = r->TBW2;
499          miptbp0.tbp[2] = (data[1] >>  8) & 0x3fff;          miptbp0.tbp[2] = r->TBP3;
500          miptbp0.tbw[2] = (data[1] >> 22) & 0x3f;          miptbp0.tbw[2] = r->TBW3;
501            
502  #ifdef SPAM_UNUSED_REGISTERS  #ifdef SPAM_UNUSED_REGISTERS
503          if ((miptbp0.tbp[0] != 0) || (miptbp0.tbp[1] != 0) || (miptbp0.tbp[2] != 0))          if ((miptbp0.tbp[0] != 0) || (miptbp0.tbp[1] != 0) || (miptbp0.tbp[2] != 0))
504          {          {
# Line 491  template <u32 ctxt> Line 512  template <u32 ctxt>
512  void __gifCall GIFRegHandlerMIPTBP2(const u32* data)  void __gifCall GIFRegHandlerMIPTBP2(const u32* data)
513  {  {
514          FUNCLOG          FUNCLOG
515            GIFRegMIPTBP2* r = (GIFRegMIPTBP2*)(data);
516            
517          miptbpInfo& miptbp1 = vb[ctxt].miptbp1;          miptbpInfo& miptbp1 = vb[ctxt].miptbp1;
518          miptbp1.tbp[0] = (data[0]) & 0x3fff;          miptbp1.tbp[0] = r->TBP4;
519          miptbp1.tbw[0] = (data[0] >> 14) & 0x3f;          miptbp1.tbw[0] = r->TBW4;
520          miptbp1.tbp[1] = ((data[0] >> 20) & 0xfff) | ((data[1] & 0x3) << 12);          miptbp1.tbp[1] = r->TBP5;
521          miptbp1.tbw[1] = (data[1] >>  2) & 0x3f;          miptbp1.tbw[1] = r->TBW5;
522          miptbp1.tbp[2] = (data[1] >>  8) & 0x3fff;          miptbp1.tbp[2] = r->TBP6;
523          miptbp1.tbw[2] = (data[1] >> 22) & 0x3f;          miptbp1.tbw[2] = r->TBW6;
524            
525  #ifdef SPAM_UNUSED_REGISTERS  #ifdef SPAM_UNUSED_REGISTERS
526          if ((miptbp1.tbp[0] != 0) || (miptbp1.tbp[1] != 0) || (miptbp1.tbp[2] != 0))          if ((miptbp1.tbp[0] != 0) || (miptbp1.tbp[1] != 0) || (miptbp1.tbp[2] != 0))
527          {          {
# Line 532  void __gifCall GIFRegHandlerTEXA(const u Line 556  void __gifCall GIFRegHandlerTEXA(const u
556  void __gifCall GIFRegHandlerFOGCOL(const u32* data)  void __gifCall GIFRegHandlerFOGCOL(const u32* data)
557  {  {
558          FUNCLOG          FUNCLOG
559          SetFogColor(data[0]&0xffffff);          GIFRegFOGCOL* r = (GIFRegFOGCOL*)(data);
560            SetFogColor(r);
561            gs.fogcol = r->ai32[0];
562  }  }
563    
564  void __gifCall GIFRegHandlerTEXFLUSH(const u32* data)  void __gifCall GIFRegHandlerTEXFLUSH(const u32* data)
# Line 545  template <u32 ctxt> Line 571  template <u32 ctxt>
571  void __gifCall GIFRegHandlerSCISSOR(const u32* data)  void __gifCall GIFRegHandlerSCISSOR(const u32* data)
572  {  {
573          FUNCLOG          FUNCLOG
574            GIFRegSCISSOR* r = (GIFRegSCISSOR*)(data);
575            
576          Rect2& scissor = vb[ctxt].scissor;          Rect2& scissor = vb[ctxt].scissor;
577          Rect2 newscissor;          Rect2 newscissor;
578    
579          newscissor.x0 = ((data[0]) & 0x7ff) << 3;          newscissor.x0 = r->SCAX0 << 3;
580          newscissor.x1 = ((data[0] >> 16) & 0x7ff) << 3;          newscissor.x1 = r->SCAX1 << 3;
581          newscissor.y0 = ((data[1]) & 0x7ff) << 3;          newscissor.y0 = r->SCAY0 << 3;
582          newscissor.y1 = ((data[1] >> 16) & 0x7ff) << 3;          newscissor.y1 = r->SCAY1 << 3;
583    
584          if (newscissor.x1 != scissor.x1 || newscissor.y1 != scissor.y1 ||          if (newscissor.x1 != scissor.x1 || newscissor.y1 != scissor.y1 ||
585                          newscissor.x0 != scissor.x0 || newscissor.y0 != scissor.y0)                          newscissor.x0 != scissor.x0 || newscissor.y0 != scissor.y0)
# Line 588  void __gifCall GIFRegHandlerALPHA(const Line 616  void __gifCall GIFRegHandlerALPHA(const
616  void __gifCall GIFRegHandlerDIMX(const u32* data)  void __gifCall GIFRegHandlerDIMX(const u32* data)
617  {  {
618          FUNCLOG          FUNCLOG
619            GIFRegDIMX* r = (GIFRegDIMX*)(data);
620            
621            gs.dimx.i64 = r->i64;
622  }  }
623    
624  void __gifCall GIFRegHandlerDTHE(const u32* data)  void __gifCall GIFRegHandlerDTHE(const u32* data)
625  {  {
626          FUNCLOG          FUNCLOG
627          gs.dthe = data[0] & 0x1;          GIFRegDTHE* r = (GIFRegDTHE*)(data);
628            
629            gs.dthe = r->DTHE;
630          if (gs.dthe != 0) REG_LOG("Dithering set. (but not implemented.)");          if (gs.dthe != 0) REG_LOG("Dithering set. (but not implemented.)");
631  }  }
632    
633  void __gifCall GIFRegHandlerCOLCLAMP(const u32* data)  void __gifCall GIFRegHandlerCOLCLAMP(const u32* data)
634  {  {
635          FUNCLOG          FUNCLOG
636          gs.colclamp = data[0] & 0x1;          GIFRegCOLCLAMP* r = (GIFRegCOLCLAMP*)(data);
637            
638            gs.colclamp = r->CLAMP;
639            
640          if (gs.colclamp == 0)          if (gs.colclamp == 0)
641                  REG_LOG("COLCLAMP == MASK");                  REG_LOG("COLCLAMP == MASK");
642          else          else
# Line 633  void __gifCall GIFRegHandlerTEST(const u Line 669  void __gifCall GIFRegHandlerTEST(const u
669  void __gifCall GIFRegHandlerPABE(const u32* data)  void __gifCall GIFRegHandlerPABE(const u32* data)
670  {  {
671          FUNCLOG          FUNCLOG
672            GIFRegPABE* r = (GIFRegPABE*)(data);
673          //SetAlphaChanged(0, GPUREG_PABE);          //SetAlphaChanged(0, GPUREG_PABE);
674          //SetAlphaChanged(1, GPUREG_PABE);          //SetAlphaChanged(1, GPUREG_PABE);
675          FlushBoth();          FlushBoth();
676    
677          gs.pabe = *data & 0x1;          gs.pabe = r->PABE;
678  }  }
679    
680  template <u32 ctxt>  template <u32 ctxt>
681  void __gifCall GIFRegHandlerFBA(const u32* data)  void __gifCall GIFRegHandlerFBA(const u32* data)
682  {  {
683          FUNCLOG          FUNCLOG
684            GIFRegFBA* r = (GIFRegFBA*)(data);
685                    
686          FlushBoth();          FlushBoth();
687                    
688          vb[ctxt].fba.fba = *data & 0x1;          vb[ctxt].fba.fba = r->FBA;
689  }  }
690    
691  template <u32 ctxt>  template <u32 ctxt>
# Line 710  void __gifCall GIFRegHandlerZBUF(const u Line 748  void __gifCall GIFRegHandlerZBUF(const u
748  void __gifCall GIFRegHandlerBITBLTBUF(const u32* data)  void __gifCall GIFRegHandlerBITBLTBUF(const u32* data)
749  {  {
750          FUNCLOG          FUNCLOG
751          gs.srcbufnew.bp  = ((data[0]) & 0x3fff);   // * 64;          GIFRegBITBLTBUF* r = (GIFRegBITBLTBUF*)(data);
752          gs.srcbufnew.bw  = ((data[0] >> 16) & 0x3f) * 64;          
753          gs.srcbufnew.psm = (data[0] >> 24) & 0x3f;          gs.srcbufnew.bp  = r->SBP;
754          gs.dstbufnew.bp  = ((data[1]) & 0x3fff);   // * 64;          gs.srcbufnew.bw  = r->SBW << 6;
755          gs.dstbufnew.bw  = ((data[1] >> 16) & 0x3f) * 64;          gs.srcbufnew.psm = r->SPSM;
756          gs.dstbufnew.psm = (data[1] >> 24) & 0x3f;          gs.dstbufnew.bp  = r->DBP;
757            gs.dstbufnew.bw  = r->DBW << 6;
758            gs.dstbufnew.psm = r->DPSM;
759    
760          if (gs.dstbufnew.bw == 0) gs.dstbufnew.bw = 64;          if (gs.dstbufnew.bw == 0) gs.dstbufnew.bw = 64;
761  }  }
# Line 723  void __gifCall GIFRegHandlerBITBLTBUF(co Line 763  void __gifCall GIFRegHandlerBITBLTBUF(co
763  void __gifCall GIFRegHandlerTRXPOS(const u32* data)  void __gifCall GIFRegHandlerTRXPOS(const u32* data)
764  {  {
765          FUNCLOG          FUNCLOG
766            GIFRegTRXPOS* r = (GIFRegTRXPOS*)(data);
767                    
768          gs.trxposnew.sx  = (data[0]) & 0x7ff;          gs.trxposnew.sx  = r->SSAX;
769          gs.trxposnew.sy  = (data[0] >> 16) & 0x7ff;          gs.trxposnew.sy  = r->SSAY;
770          gs.trxposnew.dx  = (data[1]) & 0x7ff;          gs.trxposnew.dx  = r->DSAX;
771          gs.trxposnew.dy  = (data[1] >> 16) & 0x7ff;          gs.trxposnew.dy  = r->DSAY;
772          gs.trxposnew.dir = (data[1] >> 27) & 0x3;          gs.trxposnew.dirx = r->DIRX;
773            gs.trxposnew.diry = r->DIRY;
774  }  }
775    
776  void __gifCall GIFRegHandlerTRXREG(const u32* data)  void __gifCall GIFRegHandlerTRXREG(const u32* data)
777  {  {
778          FUNCLOG          FUNCLOG
779          gs.imageWtemp = data[0] & 0xfff;          GIFRegTRXREG* r = (GIFRegTRXREG*)(data);
780          gs.imageHtemp = data[1] & 0xfff;          gs.imageWtemp = r->RRW;
781            gs.imageHtemp = r->RRH;
782  }  }
783    
784  void __gifCall GIFRegHandlerTRXDIR(const u32* data)  void __gifCall GIFRegHandlerTRXDIR(const u32* data)

Legend:
Removed from v.329  
changed lines
  Added in v.330

  ViewVC Help
Powered by ViewVC 1.1.22