MCPcopy Create free account
hub / github.com/PCSX2/pcsx2 / gteDCPL

Function gteDCPL

pcsx2/IopGte.cpp:2048–2143  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2046}
2047
2048void gteDCPL() {
2049 // unsigned long C,R,G,B;
2050#ifdef GTE_DUMP
2051 static int sample = 0; sample++;
2052#endif
2053#ifdef GTE_LOG
2054 GTE_LOG("GTE_DCPL\n");
2055#endif
2056
2057#ifdef GTE_DUMP
2058 if (sample < 100)
2059 {
2060 G_OP("DCPL", 8);
2061 G_SD(6);
2062 G_SD(8);
2063 G_SD(9);
2064 G_SD(10);
2065 G_SD(11);
2066
2067 G_SC(21);
2068 G_SC(22);
2069 G_SC(23);
2070 }
2071#endif
2072 /* R = ((gteRGB)&0xff);
2073 G = ((gteRGB>> 8)&0xff);
2074 B = ((gteRGB>>16)&0xff);
2075 C = ((gteRGB>>24)&0xff);
2076
2077 gteMAC1 = (signed long)((double)(R*gteIR1) + (double)(gteIR0*LimitAS(gteRFC-(double)(R*gteIR1),24))/4096.0);
2078 gteMAC2 = (signed long)((double)(G*gteIR2) + (double)(gteIR0*LimitAS(gteGFC-(double)(G*gteIR2),23))/4096.0);
2079 gteMAC3 = (signed long)((double)(B*gteIR3) + (double)(gteIR0*LimitAS(gteBFC-(double)(B*gteIR3),22))/4096.0);
2080
2081 MAC2IR()
2082
2083 R = (unsigned long)LimitB(gteMAC1,21); if (R>255) R=255; else if (R<0) R=0;
2084 G = (unsigned long)LimitB(gteMAC2,20); if (G>255) G=255; else if (G<0) G=0;
2085 B = (unsigned long)LimitB(gteMAC3,19); if (B>255) B=255; else if (B<0) B=0;
2086
2087 gteRGB0 = gteRGB1;
2088 gteRGB1 = gteRGB2;
2089 gteRGB2 = R|(G<<8)|(B<<16)|(C<<24);
2090
2091 if (gteFLAG & 0x7f87e000) gteFLAG|=0x80000000;*/
2092
2093 /* gteFLAG = 0;
2094
2095 gteMAC1 = NC_OVERFLOW1((gteR * gteIR1) / 256.0f + (gteIR0 * limA1S(gteRFC - ((gteR * gteIR1) / 256.0f))) / 4096.0f);
2096 gteMAC2 = NC_OVERFLOW2((gteG * gteIR1) / 256.0f + (gteIR0 * limA2S(gteGFC - ((gteG * gteIR1) / 256.0f))) / 4096.0f);
2097 gteMAC3 = NC_OVERFLOW3((gteB * gteIR1) / 256.0f + (gteIR0 * limA3S(gteBFC - ((gteB * gteIR1) / 256.0f))) / 4096.0f);
2098 */
2099 /* gteMAC1 = ( (signed long)(gteR)*gteIR1 + (gteIR0*(signed short)limA1S(gteRFC - ((gteR*gteIR1)>>12) )) ) >>6;
2100 gteMAC2 = ( (signed long)(gteG)*gteIR2 + (gteIR0*(signed short)limA2S(gteGFC - ((gteG*gteIR2)>>12) )) ) >>6;
2101 gteMAC3 = ( (signed long)(gteB)*gteIR3 + (gteIR0*(signed short)limA3S(gteBFC - ((gteB*gteIR3)>>12) )) ) >>6;*/
2102
2103 /* gteMAC1 = ( (signed long)(gteR)*gteIR1 + (gteIR0*(signed short)limA1S(gteRFC - ((gteR*gteIR1)>>12) )) ) >>8;
2104 gteMAC2 = ( (signed long)(gteG)*gteIR2 + (gteIR0*(signed short)limA2S(gteGFC - ((gteG*gteIR2)>>12) )) ) >>8;
2105 gteMAC3 = ( (signed long)(gteB)*gteIR3 + (gteIR0*(signed short)limA3S(gteBFC - ((gteB*gteIR3)>>12) )) ) >>8;*/

Callers

nothing calls this directly

Calls 6

FlimA1SFunction · 0.85
FlimA2SFunction · 0.85
FlimA3SFunction · 0.85
FlimB1Function · 0.85
FlimB2Function · 0.85
FlimB3Function · 0.85

Tested by

no test coverage detected