trunk/src/mame/drivers/peplus.c
r26726 | r26727 | |
995 | 995 | void peplus_state::palette_init() |
996 | 996 | { |
997 | 997 | const UINT8 *color_prom = memregion("proms")->base(); |
| 998 | UINT32 proms_size = memregion("proms")->bytes(); |
998 | 999 | /* prom bits |
999 | 1000 | 7654 3210 |
1000 | 1001 | ---- -xxx red component. |
r26726 | r26727 | |
1008 | 1009 | int bit0, bit1, bit2, r, g, b; |
1009 | 1010 | |
1010 | 1011 | /* red component */ |
1011 | | bit0 = (~color_prom[i] >> 0) & 0x01; |
1012 | | bit1 = (~color_prom[i] >> 1) & 0x01; |
1013 | | bit2 = (~color_prom[i] >> 2) & 0x01; |
| 1012 | bit0 = (~color_prom[i % proms_size] >> 0) & 0x01; |
| 1013 | bit1 = (~color_prom[i % proms_size] >> 1) & 0x01; |
| 1014 | bit2 = (~color_prom[i % proms_size] >> 2) & 0x01; |
1014 | 1015 | r = 0x21 * bit2 + 0x47 * bit1 + 0x97 * bit0; |
1015 | 1016 | |
1016 | 1017 | /* green component */ |
1017 | | bit0 = (~color_prom[i] >> 3) & 0x01; |
1018 | | bit1 = (~color_prom[i] >> 4) & 0x01; |
1019 | | bit2 = (~color_prom[i] >> 5) & 0x01; |
| 1018 | bit0 = (~color_prom[i % proms_size] >> 3) & 0x01; |
| 1019 | bit1 = (~color_prom[i % proms_size] >> 4) & 0x01; |
| 1020 | bit2 = (~color_prom[i % proms_size] >> 5) & 0x01; |
1020 | 1021 | g = 0x21 * bit2 + 0x47 * bit1 + 0x97 * bit0; |
1021 | 1022 | |
1022 | 1023 | /* blue component */ |
1023 | | bit0 = (~color_prom[i] >> 6) & 0x01; |
1024 | | bit1 = (~color_prom[i] >> 7) & 0x01; |
| 1024 | bit0 = (~color_prom[i % proms_size] >> 6) & 0x01; |
| 1025 | bit1 = (~color_prom[i % proms_size] >> 7) & 0x01; |
1025 | 1026 | bit2 = 0; |
1026 | 1027 | b = 0x21 * bit2 + 0x47 * bit1 + 0x97 * bit0; |
1027 | 1028 | |