DIB Engine: implement most engine functions
[wine/hacks.git] / dlls / winedib.drv / primitives_rop3.c
blob398258b81e6aa5590e9534b9e3102e076ce9e550
1 #include "config.h"
2 #include "wine/port.h"
4 #include "dibdrv.h"
6 WINE_DEFAULT_DEBUG_CHANNEL(dibdrv);
8 /* the ROP3 operations
9 this is a BIG case block; beware that some
10 commons ROP3 operations will be optimized
11 from inside blt routines */
12 DWORD _DIBDRV_ROP3(DWORD p, DWORD s, DWORD d, BYTE rop)
14 switch(rop)
16 case 0x00: /* 0 BLACKNESS */
17 return 0;
19 case 0x01: /* DPSoon */
20 return (~(p | s | d)) & 0x00ffffff;
22 case 0x02: /* DPSona */
23 return (d & ~(p | s)) & 0x00ffffff;
25 case 0x03: /* PSon */
26 return (~(p | s)) & 0x00ffffff;
28 case 0x04: /* SDPona */
29 return (s & ~(d | p)) & 0x00ffffff;
31 case 0x05: /* DPon */
32 return (~(d | p)) & 0x00ffffff;
34 case 0x06: /* PDSxnon */
35 return (~(p | ~(d ^ s))) & 0x00ffffff;
37 case 0x07: /* PDSaon */
38 return (~((d & s) | p) ) & 0x00ffffff;
40 case 0x08: /* SDPnaa */
41 return (d & ~p & s) & 0x00ffffff;
43 case 0x09: /* PDSxon */
44 return (~((d ^ s) | p)) & 0x00ffffff;
46 case 0x0A: /* DPna */
47 return (~p & d) & 0x00ffffff;
49 case 0x0B: /* PSDnaon */
50 return (~((~d & s) | p)) & 0x00ffffff;
52 case 0x0C: /* SPna */
53 return (~p & s) & 0x00ffffff;
55 case 0x0D: /* PDSnaon */
56 return (~((~s & d) | p)) & 0x00ffffff;
58 case 0x0E: /* PDSonon */
59 return (~(~(d | s) | p)) & 0x00ffffff;
61 case 0x0F: /* Pn */
62 return (~p) & 0x00ffffff;
64 case 0x10: /* PDSona */
65 return (~(d | s) & p) & 0x00ffffff;
67 case 0x11: /* DSon NOTSRCERASE */
68 return (~(d | s)) & 0x00ffffff;
70 case 0x12: /* SDPxnon */
71 return (~(~(d ^ p) | s)) & 0x00ffffff;
73 case 0x13: /* SDPaon */
74 return (~((d & p) | s)) & 0x00ffffff;
76 case 0x14: /* DPSxnon */
77 return (~(~(p ^ s) | d)) & 0x00ffffff;
79 case 0x15: /* DPSaon */
80 return (~((p & s) | d)) & 0x00ffffff;
82 case 0x16: /* PSDPSanaxx */
83 return (((~(p & s) & d) ^ s) ^ p) & 0x00ffffff;
85 case 0x17: /* SSPxDSxaxn */
86 return (~(((d ^ s) & (s ^ p)) ^ s)) & 0x00ffffff;
88 case 0x18: /* SPxPDxa */
89 return ((s ^ p) & (p ^ d)) & 0x00ffffff;
91 case 0x19: /* SDPSanaxn */
92 return (~((~(p & s) & d) ^ s)) & 0x00ffffff;
94 case 0x1A: /* PDSPaox */
95 return (((s & p) | d) ^ p) & 0x00ffffff;
97 case 0x1B: /* SDPSxaxn */
98 return (~(((p ^ s) & d) ^ s)) & 0x00ffffff;
100 case 0x1C: /* PSDPaox */
101 return (((d & p) | s) ^ p) & 0x00ffffff;
103 case 0x1D: /* DSPDxaxn */
104 return (~(((p ^ d) & s) ^ d)) & 0x00ffffff;
106 case 0x1E: /* PDSox */
107 return ((d | s) ^ p) & 0x00ffffff;
109 case 0x1F: /* PDSoan */
110 return (~((d | s) & p)) & 0x00ffffff;
112 case 0x20: /* DPSnaa */
113 return (p & ~s & d) & 0x00ffffff;
115 case 0x21: /* SDPxon */
116 return (~((d ^ p) | s)) & 0x00ffffff;
118 case 0x22: /* DSna */
119 return (d & ~s) & 0x00ffffff;
121 case 0x23: /* SPDnaon */
122 return (~((p & ~d) | s)) & 0x00ffffff;
124 case 0x24: /* SPxDSxa */
125 return ((s ^ p) & (d ^ s)) & 0x00ffffff;
127 case 0x25: /* PDSPanaxn */
128 return (~((~(s & p) & d) ^ p)) & 0x00ffffff;
130 case 0x26: /* SDPSaox */
131 return (((p & s) | d) ^ s) & 0x00ffffff;
133 case 0x27: /* SDPSxnox */
134 return ((~(p ^ s) | d) ^ s) & 0x00ffffff;
136 case 0x28: /* DPSxa */
137 return ((p ^ s) & d) & 0x00ffffff;
139 case 0x29: /* PSDPSaoxxn */
140 return (~((((p & s) | d) ^ s) ^ p)) & 0x00ffffff;
142 case 0x2A: /* DPSana */
143 return (~(p & s) & d) & 0x00ffffff;
145 case 0x2B: /* SSPxPDxaxn */
146 return (~(((s ^ p) & (p ^ d)) ^ s)) & 0x00ffffff;
148 case 0x2C: /* SPDSoax */
149 return (((d | s) & p) ^ s) & 0x00ffffff;
151 case 0x2D: /* PSDnox */
152 return ((s | ~d) ^ p) & 0x00ffffff;
154 case 0x2E: /* PSDPxox */
155 return (((d ^ p) | s) ^ p) & 0x00ffffff;
157 case 0x2F: /* PSDnoan */
158 return (~((s | ~d) & p)) & 0x00ffffff;
160 case 0x30: /* PSna */
161 return (p & ~s) & 0x00ffffff;
163 case 0x31: /* SDPnaon */
164 return (~((d & ~p) | s)) & 0x00ffffff;
166 case 0x32: /* SDPSoox */
167 return ((p | s | d) ^ s) & 0x00ffffff;
169 case 0x33: /* Sn NOTSRCCOPY */
170 return (~s) & 0x00ffffff;
172 case 0x34: /* SPDSaox */
173 return (0x123456) & 0x00ffffff;
175 case 0x35: /* SPDSxnox */
176 return (0x123456) & 0x00ffffff;
178 case 0x36: /* SDPox */
179 return (0x123456) & 0x00ffffff;
181 case 0x37: /* SDPoan */
182 return (0x123456) & 0x00ffffff;
184 case 0x38: /* PSDPoax */
185 return (0x123456) & 0x00ffffff;
187 case 0x39: /* SPDnox */
188 return (0x123456) & 0x00ffffff;
190 case 0x3A: /* SPDSxox */
191 return (0x123456) & 0x00ffffff;
193 case 0x3B: /* SPDnoan */
194 return (0x123456) & 0x00ffffff;
196 case 0x3C: /* PSx */
197 return (0x123456) & 0x00ffffff;
199 case 0x3D: /* SPDSonox */
200 return (0x123456) & 0x00ffffff;
202 case 0x3E: /* SPDSnaox */
203 return (0x123456) & 0x00ffffff;
205 case 0x3F: /* PSan */
206 return (0x123456) & 0x00ffffff;
208 case 0x40: /* PSDnaa */
209 return (0x123456) & 0x00ffffff;
211 case 0x41: /* DPSxon */
212 return (0x123456) & 0x00ffffff;
214 case 0x42: /* SDxPDxa */
215 return (0x123456) & 0x00ffffff;
217 case 0x43: /* SPDSanaxn */
218 return (0x123456) & 0x00ffffff;
220 case 0x44: /* SDna SRCERASE */
221 return (s & ~d) & 0x00ffffff;
223 case 0x45: /* DPSnaon */
224 return (0x123456) & 0x00ffffff;
226 case 0x46: /* DSPDaox */
227 return (0x123456) & 0x00ffffff;
229 case 0x47: /* PSDPxaxn */
230 return (0x123456) & 0x00ffffff;
232 case 0x48: /* SDPxa */
233 return (0x123456) & 0x00ffffff;
235 case 0x49: /* PDSPDaoxxn */
236 return (0x123456) & 0x00ffffff;
238 case 0x4A: /* DPSDoax */
239 return (0x123456) & 0x00ffffff;
241 case 0x4B: /* PDSnox */
242 return (0x123456) & 0x00ffffff;
244 case 0x4C: /* SDPana */
245 return (0x123456) & 0x00ffffff;
247 case 0x4D: /* SSPxDSxoxn */
248 return (0x123456) & 0x00ffffff;
250 case 0x4E: /* PDSPxox */
251 return (0x123456) & 0x00ffffff;
253 case 0x4F: /* PDSnoan */
254 return (0x123456) & 0x00ffffff;
256 case 0x50: /* PDna */
257 return (0x123456) & 0x00ffffff;
259 case 0x51: /* DSPnaon */
260 return (0x123456) & 0x00ffffff;
262 case 0x52: /* DPSDaox */
263 return (0x123456) & 0x00ffffff;
265 case 0x53: /* SPDSxaxn */
266 return (0x123456) & 0x00ffffff;
268 case 0x54: /* DPSonon */
269 return (0x123456) & 0x00ffffff;
271 case 0x55: /* Dn DSTINVERT */
272 return (~d) & 0x00ffffff;
274 case 0x56: /* DPSox */
275 return (0x123456) & 0x00ffffff;
277 case 0x57: /* DPSoan */
278 return (0x123456) & 0x00ffffff;
280 case 0x58: /* PDSPoax */
281 return (0x123456) & 0x00ffffff;
283 case 0x59: /* DPSnox */
284 return (0x123456) & 0x00ffffff;
286 case 0x5A: /* DPx PATINVERT */
287 return (d ^ p) & 0x00ffffff;
289 case 0x5B: /* DPSDonox */
290 return (0x123456) & 0x00ffffff;
292 case 0x5C: /* DPSDxox */
293 return (0x123456) & 0x00ffffff;
295 case 0x5D: /* DPSnoan */
296 return (0x123456) & 0x00ffffff;
298 case 0x5E: /* DPSDnaox */
299 return (0x123456) & 0x00ffffff;
301 case 0x5F: /* DPan */
302 return (0x123456) & 0x00ffffff;
304 case 0x60: /* PDSxa */
305 return (0x123456) & 0x00ffffff;
307 case 0x61: /* DSPDSaoxxn */
308 return (0x123456) & 0x00ffffff;
310 case 0x62: /* DSPDoax */
311 return (0x123456) & 0x00ffffff;
313 case 0x63: /* SDPnox */
314 return (0x123456) & 0x00ffffff;
316 case 0x64: /* SDPSoax */
317 return (0x123456) & 0x00ffffff;
319 case 0x65: /* DSPnox */
320 return (0x123456) & 0x00ffffff;
322 case 0x66: /* DSx SRCINVERT */
323 return (d ^ s) & 0x00ffffff;
325 case 0x67: /* SDPSonox */
326 return (0x123456) & 0x00ffffff;
328 case 0x68: /* DSPDSonoxxn */
329 return (0x123456) & 0x00ffffff;
331 case 0x69: /* PDSxxn */
332 return (0x123456) & 0x00ffffff;
334 case 0x6A: /* DPSax */
335 return (0x123456) & 0x00ffffff;
337 case 0x6B: /* PSDPSoaxxn */
338 return (0x123456) & 0x00ffffff;
340 case 0x6C: /* SDPax */
341 return (0x123456) & 0x00ffffff;
343 case 0x6D: /* PDSPDoaxxn */
344 return (0x123456) & 0x00ffffff;
346 case 0x6E: /* SDPSnoax */
347 return (0x123456) & 0x00ffffff;
349 case 0x6F: /* PDSxnan */
350 return (0x123456) & 0x00ffffff;
352 case 0x70: /* PDSana */
353 return (0x123456) & 0x00ffffff;
355 case 0x71: /* SSDxPDxaxn */
356 return (0x123456) & 0x00ffffff;
358 case 0x72: /* SDPSxox */
359 return (0x123456) & 0x00ffffff;
361 case 0x73: /* SDPnoan */
362 return (0x123456) & 0x00ffffff;
364 case 0x74: /* DSPDxox */
365 return (0x123456) & 0x00ffffff;
367 case 0x75: /* DSPnoan */
368 return (0x123456) & 0x00ffffff;
370 case 0x76: /* SDPSnaox */
371 return (0x123456) & 0x00ffffff;
373 case 0x77: /* DSan */
374 return (0x123456) & 0x00ffffff;
376 case 0x78: /* PDSax */
377 return (0x123456) & 0x00ffffff;
379 case 0x79: /* DSPDSoaxxn */
380 return (0x123456) & 0x00ffffff;
382 case 0x7A: /* DPSDnoax */
383 return (0x123456) & 0x00ffffff;
385 case 0x7B: /* SDPxnan */
386 return (0x123456) & 0x00ffffff;
388 case 0x7C: /* SPDSnoax */
389 return (0x123456) & 0x00ffffff;
391 case 0x7D: /* DPSxnan */
392 return (0x123456) & 0x00ffffff;
394 case 0x7E: /* SPxDSxo */
395 return (0x123456) & 0x00ffffff;
397 case 0x7F: /* DPSaan */
398 return (0x123456) & 0x00ffffff;
400 case 0x80: /* DPSaa */
401 return (0x123456) & 0x00ffffff;
403 case 0x81: /* SPxDSxon */
404 return (0x123456) & 0x00ffffff;
406 case 0x82: /* DPSxna */
407 return (0x123456) & 0x00ffffff;
409 case 0x83: /* SPDSnoaxn */
410 return (0x123456) & 0x00ffffff;
412 case 0x84: /* SDPxna */
413 return (0x123456) & 0x00ffffff;
415 case 0x85: /* PDSPnoaxn */
416 return (0x123456) & 0x00ffffff;
418 case 0x86: /* DSPDSoaxx */
419 return (0x123456) & 0x00ffffff;
421 case 0x87: /* PDSaxn */
422 return (0x123456) & 0x00ffffff;
424 case 0x88: /* DSa SRCAND */
425 return (d & s) & 0x00ffffff;
427 case 0x89: /* SDPSnaoxn */
428 return (0x123456) & 0x00ffffff;
430 case 0x8A: /* DSPnoa */
431 return (0x123456) & 0x00ffffff;
433 case 0x8B: /* DSPDxoxn */
434 return (0x123456) & 0x00ffffff;
436 case 0x8C: /* SDPnoa */
437 return (0x123456) & 0x00ffffff;
439 case 0x8D: /* SDPSxoxn */
440 return (0x123456) & 0x00ffffff;
442 case 0x8E: /* SSDxPDxax */
443 return (0x123456) & 0x00ffffff;
445 case 0x8F: /* PDSanan */
446 return (0x123456) & 0x00ffffff;
448 case 0x90: /* PDSxna */
449 return (0x123456) & 0x00ffffff;
451 case 0x91: /* SDPSnoaxn */
452 return (0x123456) & 0x00ffffff;
454 case 0x92: /* DPSDPoaxx */
455 return (0x123456) & 0x00ffffff;
457 case 0x93: /* SPDaxn */
458 return (0x123456) & 0x00ffffff;
460 case 0x94: /* PSDPSoaxx */
461 return (0x123456) & 0x00ffffff;
463 case 0x95: /* DPSaxn */
464 return (0x123456) & 0x00ffffff;
466 case 0x96: /* DPSxx */
467 return (0x123456) & 0x00ffffff;
469 case 0x97: /* PSDPSonoxx */
470 return (0x123456) & 0x00ffffff;
472 case 0x98: /* SDPSonoxn */
473 return (0x123456) & 0x00ffffff;
475 case 0x99: /* DSxn */
476 return (0x123456) & 0x00ffffff;
478 case 0x9A: /* DPSnax */
479 return (0x123456) & 0x00ffffff;
481 case 0x9B: /* SDPSoaxn */
482 return (0x123456) & 0x00ffffff;
484 case 0x9C: /* SPDnax */
485 return (0x123456) & 0x00ffffff;
487 case 0x9D: /* DSPDoaxn */
488 return (0x123456) & 0x00ffffff;
490 case 0x9E: /* DSPDSaoxx */
491 return (0x123456) & 0x00ffffff;
493 case 0x9F: /* PDSxan */
494 return (0x123456) & 0x00ffffff;
496 case 0xA0: /* DPa */
497 return (0x123456) & 0x00ffffff;
499 case 0xA1: /* PDSPnaoxn */
500 return (0x123456) & 0x00ffffff;
502 case 0xA2: /* DPSnoa */
503 return (0x123456) & 0x00ffffff;
505 case 0xA3: /* DPSDxoxn */
506 return (0x123456) & 0x00ffffff;
508 case 0xA4: /* PDSPonoxn */
509 return (0x123456) & 0x00ffffff;
511 case 0xA5: /* PDxn */
512 return (0x123456) & 0x00ffffff;
514 case 0xA6: /* DSPnax */
515 return (0x123456) & 0x00ffffff;
517 case 0xA7: /* PDSPoaxn */
518 return (0x123456) & 0x00ffffff;
520 case 0xA8: /* DPSoa */
521 return (0x123456) & 0x00ffffff;
523 case 0xA9: /* DPSoxn */
524 return (0x123456) & 0x00ffffff;
526 case 0xAA: /* D */
527 return (d) & 0x00ffffff;
529 case 0xAB: /* DPSono */
530 return (0x123456) & 0x00ffffff;
532 case 0xAC: /* SPDSxax */
533 return (s ^ (p & (d ^ s))) & 0x00ffffff;
535 case 0xAD: /* DPSDaoxn */
536 return (0x123456) & 0x00ffffff;
538 case 0xAE: /* DSPnao */
539 return (0x123456) & 0x00ffffff;
541 case 0xAF: /* DPno */
542 return (0x123456) & 0x00ffffff;
544 case 0xB0: /* PDSnoa */
545 return (0x123456) & 0x00ffffff;
547 case 0xB1: /* PDSPxoxn */
548 return (0x123456) & 0x00ffffff;
550 case 0xB2: /* SSPxDSxox */
551 return (0x123456) & 0x00ffffff;
553 case 0xB3: /* SDPanan */
554 return (0x123456) & 0x00ffffff;
556 case 0xB4: /* PSDnax */
557 return (0x123456) & 0x00ffffff;
559 case 0xB5: /* DPSDoaxn */
560 return (0x123456) & 0x00ffffff;
562 case 0xB6: /* DPSDPaoxx */
563 return (0x123456) & 0x00ffffff;
565 case 0xB7: /* SDPxan */
566 return (0x123456) & 0x00ffffff;
568 case 0xB8: /* PSDPxax */
569 return (0x123456) & 0x00ffffff;
571 case 0xB9: /* DSPDaoxn */
572 return (0x123456) & 0x00ffffff;
574 case 0xBA: /* DPSnao */
575 return (0x123456) & 0x00ffffff;
577 case 0xBB: /* DSno MERGEPAINT */
578 return (d | ~s) & 0x00ffffff;
580 case 0xBC: /* SPDSanax */
581 return (0x123456) & 0x00ffffff;
583 case 0xBD: /* SDxPDxan */
584 return (0x123456) & 0x00ffffff;
586 case 0xBE: /* DPSxo */
587 return (0x123456) & 0x00ffffff;
589 case 0xBF: /* DPSano */
590 return (0x123456) & 0x00ffffff;
592 case 0xC0: /* PSa MERGECOPY */
593 return (p & s) & 0x00ffffff;
595 case 0xC1: /* SPDSnaoxn */
596 return (0x123456) & 0x00ffffff;
598 case 0xC2: /* SPDSonoxn */
599 return (0x123456) & 0x00ffffff;
601 case 0xC3: /* PSxn */
602 return (0x123456) & 0x00ffffff;
604 case 0xC4: /* SPDnoa */
605 return (0x123456) & 0x00ffffff;
607 case 0xC5: /* SPDSxoxn */
608 return (0x123456) & 0x00ffffff;
610 case 0xC6: /* SDPnax */
611 return (0x123456) & 0x00ffffff;
613 case 0xC7: /* PSDPoaxn */
614 return (0x123456) & 0x00ffffff;
616 case 0xC8: /* SDPoa */
617 return (0x123456) & 0x00ffffff;
619 case 0xC9: /* SPDoxn */
620 return (0x123456) & 0x00ffffff;
622 case 0xCA: /* DPSDxax */
623 return (0x123456) & 0x00ffffff;
625 case 0xCB: /* SPDSaoxn */
626 return (0x123456) & 0x00ffffff;
628 default:
629 case 0xCC: /* S SRCCOPY */
630 return (s) & 0x00ffffff;
632 case 0xCD: /* SDPono */
633 return (0x123456) & 0x00ffffff;
635 case 0xCE: /* SDPnao */
636 return (0x123456) & 0x00ffffff;
638 case 0xCF: /* SPno */
639 return (0x123456) & 0x00ffffff;
641 case 0xD0: /* PSDnoa */
642 return (0x123456) & 0x00ffffff;
644 case 0xD1: /* PSDPxoxn */
645 return (0x123456) & 0x00ffffff;
647 case 0xD2: /* PDSnax */
648 return (0x123456) & 0x00ffffff;
650 case 0xD3: /* SPDSoaxn */
651 return (0x123456) & 0x00ffffff;
653 case 0xD4: /* SSPxPDxax */
654 return (0x123456) & 0x00ffffff;
656 case 0xD5: /* DPSanan */
657 return (0x123456) & 0x00ffffff;
659 case 0xD6: /* PSDPSaoxx */
660 return (0x123456) & 0x00ffffff;
662 case 0xD7: /* DPSxan */
663 return (0x123456) & 0x00ffffff;
665 case 0xD8: /* PDSPxax */
666 return (0x123456) & 0x00ffffff;
668 case 0xD9: /* SDPSaoxn */
669 return (0x123456) & 0x00ffffff;
671 case 0xDA: /* DPSDanax */
672 return (0x123456) & 0x00ffffff;
674 case 0xDB: /* SPxDSxan */
675 return (0x123456) & 0x00ffffff;
677 case 0xDC: /* SPDnao */
678 return (0x123456) & 0x00ffffff;
680 case 0xDD: /* SDno */
681 return (0x123456) & 0x00ffffff;
683 case 0xDE: /* SDPxo */
684 return (0x123456) & 0x00ffffff;
686 case 0xDF: /* SDPano */
687 return (0x123456) & 0x00ffffff;
689 case 0xE0: /* PDSoa */
690 return (0x123456) & 0x00ffffff;
692 case 0xE1: /* PDSoxn */
693 return (0x123456) & 0x00ffffff;
695 case 0xE2: /* DSPDxax */
696 return (0x123456) & 0x00ffffff;
698 case 0xE3: /* PSDPaoxn */
699 return (0x123456) & 0x00ffffff;
701 case 0xE4: /* SDPSxax */
702 return (0x123456) & 0x00ffffff;
704 case 0xE5: /* PDSPaoxn */
705 return (0x123456) & 0x00ffffff;
707 case 0xE6: /* SDPSanax */
708 return (0x123456) & 0x00ffffff;
710 case 0xE7: /* SPxPDxan */
711 return (0x123456) & 0x00ffffff;
713 case 0xE8: /* SSPxDSxax */
714 return (0x123456) & 0x00ffffff;
716 case 0xE9: /* DSPDSanaxxn */
717 return (0x123456) & 0x00ffffff;
719 case 0xEA: /* DPSao */
720 return (0x123456) & 0x00ffffff;
722 case 0xEB: /* DPSxno */
723 return (0x123456) & 0x00ffffff;
725 case 0xEC: /* SDPao */
726 return (0x123456) & 0x00ffffff;
728 case 0xED: /* SDPxno */
729 return (0x123456) & 0x00ffffff;
731 case 0xEE: /* DSo SRCPAINT */
732 return (d | s) & 0x00ffffff;
734 case 0xEF: /* SDPnoo */
735 return (0x123456) & 0x00ffffff;
737 case 0xF0: /* P PATCOPY */
738 return (p) & 0x00ffffff;
740 case 0xF1: /* PDSono */
741 return (0x123456) & 0x00ffffff;
743 case 0xF2: /* PDSnao */
744 return (0x123456) & 0x00ffffff;
746 case 0xF3: /* PSno */
747 return (0x123456) & 0x00ffffff;
749 case 0xF4: /* PSDnao */
750 return (0x123456) & 0x00ffffff;
752 case 0xF5: /* PDno */
753 return (0x123456) & 0x00ffffff;
755 case 0xF6: /* PDSxo */
756 return (0x123456) & 0x00ffffff;
758 case 0xF7: /* PDSano */
759 return (0x123456) & 0x00ffffff;
761 case 0xF8: /* PDSao */
762 return (0x123456) & 0x00ffffff;
764 case 0xF9: /* PDSxno */
765 return (0x123456) & 0x00ffffff;
767 case 0xFA: /* DPo */
768 return (0x123456) & 0x00ffffff;
770 case 0xFB: /* DPSnoo PATPAINT */
771 return (p | ~s | d) & 0x00ffffff;
773 case 0xFC: /* PSo */
774 return (0x123456) & 0x00ffffff;
776 case 0xFD: /* PSDnoo */
777 return (0x123456) & 0x00ffffff;
779 case 0xFE: /* DPSoo */
780 return (0x123456) & 0x00ffffff;
782 case 0xFF: /* 1 WHITENESS */
783 return 0x00ffffff;
785 } /* switch */