|
|
| version 1.2, 2004/08/04 15:18:26 | version 1.5, 2004/08/07 07:19:56 |
|---|---|
| Line 1 | Line 1 |
| #include "compiler.h" | #include "compiler.h" |
| #include "scrnmng.h" | #include "scrnmng.h" |
| #include "pccore.h" | #include "pccore.h" |
| #include "x1_io.h" | #include "iocore.h" |
| #include "x1_crtc.h" | |
| #include "scrndraw.h" | #include "scrndraw.h" |
| #include "draw.h" | |
| #include "palettes.h" | #include "palettes.h" |
| #include "makescrn.h" | |
| RGB32 x1n_pal32[256]; // xm_palette | RGB32 x1n_pal32[256]; // xm_palette |
| Line 139 void pal_settext(REG8 num) { | Line 138 void pal_settext(REG8 num) { |
| pals.text[num+16].p.r = (halfgrp * rgb.p.r) / 255; | pals.text[num+16].p.r = (halfgrp * rgb.p.r) / 255; |
| pals.text[num+16].p.e = num + START_EXT + 0x10; | pals.text[num+16].p.e = num + START_EXT + 0x10; |
| palandply = 1; | makescrn.palandply = 1; |
| } | } |
| void pal_setgrph(REG8 bank, REG8 num) { | void pal_setgrph(REG8 bank, REG8 num) { |
| Line 178 void pal_setgrph(REG8 bank, REG8 num) { | Line 177 void pal_setgrph(REG8 bank, REG8 num) { |
| pals.grph[bank][num+8].p.r = (halfgrp * rgb.p.r) / 0xff; | pals.grph[bank][num+8].p.r = (halfgrp * rgb.p.r) / 0xff; |
| pals.grph[bank][num+8].p.e = num + START_EXT + 0x20; | pals.grph[bank][num+8].p.e = num + START_EXT + 0x20; |
| } | } |
| palandply = 1; | makescrn.palandply = 1; |
| } | } |
| void pal_setgrph4096(UINT num) { | void pal_setgrph4096(UINT num) { |
| Line 213 void pal_setgrph4096(UINT num) { | Line 212 void pal_setgrph4096(UINT num) { |
| x1z_pal16[num] = scrnmng_makepal16(rgb); | x1z_pal16[num] = scrnmng_makepal16(rgb); |
| } | } |
| #endif | #endif |
| palandply = 1; | makescrn.palandply = 1; |
| } | } |
| Line 270 void palettes(void) { | Line 269 void palettes(void) { |
| } | } |
| } | } |
| else if ((dispmode & SCRN64_MASK) == SCRN64_INVALID) { | else if ((dispmode & SCRN64_MASK) == SCRN64_INVALID) { |
| if ((xmilcfg.SKIP_LINE) && (!(crtc.SCRN_BITS & SCRN_24KHZ))) { | if ((xmilcfg.SKIP_LINE) && (!(crtc.s.SCRN_BITS & SCRN_24KHZ))) { |
| skip8 = 8; | skip8 = 8; |
| skip16 = 16; | skip16 = 16; |
| } | } |
| for (i=0, bit=1; i<8; i++, bit<<=1) { | for (i=0, bit=1; i<8; i++, bit<<=1) { |
| if (!(crtc.EXTPALMODE & 0x80)) { | if (!(crtc.s.EXTPALMODE & 0x80)) { |
| c = 0; | c = 0; |
| if (crtc.PAL_B & bit) { | if (crtc.s.PAL_B & bit) { |
| c |= 1; | c |= 1; |
| } | } |
| if (crtc.PAL_R & bit) { | if (crtc.s.PAL_R & bit) { |
| c |= 2; | c |= 2; |
| } | } |
| if (crtc.PAL_G & bit) { | if (crtc.s.PAL_G & bit) { |
| c |= 4; | c |= 4; |
| } | } |
| } | } |
| Line 293 void palettes(void) { | Line 292 void palettes(void) { |
| x1n_pal32[i].d = pals.grph[pal_disp][c].d; | x1n_pal32[i].d = pals.grph[pal_disp][c].d; |
| x1n_pal32[i+64].d = x1n_pal32[i+128].d | x1n_pal32[i+64].d = x1n_pal32[i+128].d |
| = pals.grph[pal_disp][c+skip8].d; | = pals.grph[pal_disp][c+skip8].d; |
| if (crtc.PLY & bit) { | if (crtc.s.PLY & bit) { |
| for (j=i+8; j<64; j+=8) { | for (j=i+8; j<64; j+=8) { |
| x1n_pal32[j].d = x1n_pal32[i].d; | x1n_pal32[j].d = x1n_pal32[i].d; |
| x1n_pal32[j+64].d = x1n_pal32[j+128].d | x1n_pal32[j+64].d = x1n_pal32[j+128].d |
| Line 301 void palettes(void) { | Line 300 void palettes(void) { |
| } | } |
| } | } |
| else { | else { |
| BYTE cnt = (crtc.BLACKPAL & 15) - 8; | BYTE cnt = (crtc.s.BLACKPAL & 15) - 8; |
| for (j=i+8; j<64; j+=8) { | for (j=i+8; j<64; j+=8) { |
| if (--cnt) { | if (--cnt) { |
| c = crtc.TEXT_PAL[j>>3]; | c = crtc.s.TEXT_PAL[j>>3]; |
| } | } |
| else { | else { |
| c = 0; | c = 0; |
| Line 345 void reflesh_palette(void) { | Line 344 void reflesh_palette(void) { |
| UINT k; | UINT k; |
| pals.blankcol = xmilcfg.BLKLIGHT; | pals.blankcol = xmilcfg.BLKLIGHT; |
| if ((!xmilcfg.SKIP_LINE) || (crtc.SCRN_BITS & SCRN_24KHZ)) { | if ((!xmilcfg.SKIP_LINE) || (crtc.s.SCRN_BITS & SCRN_24KHZ)) { |
| pals.blankcol >>= 1; | pals.blankcol >>= 1; |
| } | } |
| halfgrp = xmilcfg.LINEDEPTH; | halfgrp = xmilcfg.LINEDEPTH; |
| Line 366 void reflesh_palette(void) { | Line 365 void reflesh_palette(void) { |
| for (i=0; i<8; i++) { | for (i=0; i<8; i++) { |
| pal_settext(i); | pal_settext(i); |
| } | } |
| for (j=0; j<2; j++) { | for (i=0; i<2; i++) { |
| for (i=0; i<64; i++) { | for (j=0; j<64; j++) { |
| pal_setgrph(j, i); | pal_setgrph(i, j); |
| } | } |
| } | } |
| for (k=0; k<4096; k++) { | for (k=0; k<4096; k++) { |