| 2245 | } |
| 2246 | |
| 2247 | void gteGPL() { |
| 2248 | // double IPX=0,IPY=0,IPZ=0; |
| 2249 | // unsigned long C,R,G,B; |
| 2250 | #ifdef GTE_DUMP |
| 2251 | static int sample = 0; sample++; |
| 2252 | #endif |
| 2253 | #ifdef GTE_LOG |
| 2254 | GTE_LOG("GTE_GPL %lx\n", psxRegs.code & 0x1ffffff); |
| 2255 | #endif |
| 2256 | |
| 2257 | #ifdef GTE_DUMP |
| 2258 | if (sample < 100) |
| 2259 | { |
| 2260 | G_OP("GPL", 5); |
| 2261 | G_SD(6); |
| 2262 | G_SD(8); |
| 2263 | G_SD(9); |
| 2264 | G_SD(10); |
| 2265 | G_SD(11); |
| 2266 | |
| 2267 | G_SD(25); |
| 2268 | G_SD(26); |
| 2269 | G_SD(27); |
| 2270 | } |
| 2271 | #endif |
| 2272 | |
| 2273 | /* gteFLAG=0; |
| 2274 | switch(psxRegs.code & 0x1ffffff) { |
| 2275 | case 0x1A8003E: |
| 2276 | IPX = EDETEC1((double)gteMAC1 + ((double)gteIR0*(double)gteIR1)/4096.0f); |
| 2277 | IPY = EDETEC2((double)gteMAC2 + ((double)gteIR0*(double)gteIR2)/4096.0f); |
| 2278 | IPZ = EDETEC3((double)gteMAC3 + ((double)gteIR0*(double)gteIR3)/4096.0f); |
| 2279 | break; |
| 2280 | |
| 2281 | case 0x1A0003E: |
| 2282 | IPX = EDETEC1((double)gteMAC1 + ((double)gteIR0*(double)gteIR1)); |
| 2283 | IPY = EDETEC2((double)gteMAC2 + ((double)gteIR0*(double)gteIR2)); |
| 2284 | IPZ = EDETEC3((double)gteMAC3 + ((double)gteIR0*(double)gteIR3)); |
| 2285 | break; |
| 2286 | } |
| 2287 | gteIR1 = (short)float2int(LimitAS(IPX,24)); |
| 2288 | gteIR2 = (short)float2int(LimitAS(IPY,23)); |
| 2289 | gteIR3 = (short)float2int(LimitAS(IPZ,22)); |
| 2290 | |
| 2291 | gteMAC1 = (int)float2int(IPX); |
| 2292 | gteMAC2 = (int)float2int(IPY); |
| 2293 | gteMAC3 = (int)float2int(IPZ); |
| 2294 | |
| 2295 | C = gteRGB & 0xff000000; |
| 2296 | R = float2int(ALIMIT(IPX,0,255)); |
| 2297 | G = float2int(ALIMIT(IPY,0,255)); |
| 2298 | B = float2int(ALIMIT(IPZ,0,255)); |
| 2299 | |
| 2300 | gteRGB0 = gteRGB1; |
| 2301 | gteRGB1 = gteRGB2; |
| 2302 | gteRGB2 = C|R|(G<<8)|(B<<16);*/ |
| 2303 | gteFLAG = 0; |
| 2304 |
nothing calls this directly
no test coverage detected