trunk/src/emu/cpu/jaguar/jaguar.c
| r21109 | r21110 | |
| 998 | 998 | void pack_rn(jaguar_cpu_state *jaguar, UINT16 op) /* GPU only */ |
| 999 | 999 | { |
| 1000 | 1000 | int dreg = op & 31; |
| 1001 | | UINT32 r1 = jaguar->r[(op >> 5) & 31]; |
| 1001 | int pack = (op >> 5) & 31; |
| 1002 | 1002 | UINT32 r2 = jaguar->r[dreg]; |
| 1003 | 1003 | UINT32 res; |
| 1004 | | if (r1 == 0) /* PACK */ |
| 1004 | if (pack == 0) /* PACK */ |
| 1005 | 1005 | res = ((r2 >> 10) & 0xf000) | ((r2 >> 5) & 0x0f00) | (r2 & 0xff); |
| 1006 | 1006 | else /* UNPACK */ |
| 1007 | 1007 | res = ((r2 & 0xf000) << 10) | ((r2 & 0x0f00) << 5) | (r2 & 0xff); |
| 1008 | 1008 | jaguar->r[dreg] = res; |
| 1009 | | CLR_ZN(jaguar); SET_ZN(jaguar, res); |
| 1010 | 1009 | } |
| 1011 | 1010 | |
| 1012 | 1011 | void resmac_rn(jaguar_cpu_state *jaguar, UINT16 op) |