|
|
| version 1.2, 2003/10/17 07:17:20 | version 1.6, 2004/02/09 20:39:39 |
|---|---|
| Line 148 const BYTE *p; | Line 148 const BYTE *p; |
| if (sdraw->dirty[y+1]) { | if (sdraw->dirty[y+1]) { |
| for (x=0; x<sdraw->width; x++) { | for (x=0; x<sdraw->width; x++) { |
| *(UINT32 *)q = np2_pal32[NP2PAL_TEXT].d; | SDSETPIXEL(q, NP2PAL_TEXT); |
| q += sdraw->xalign; | q += sdraw->xalign; |
| } | } |
| q -= sdraw->xbytes; | q -= sdraw->xbytes; |
| Line 261 const BYTE *q; | Line 261 const BYTE *q; |
| y = sdraw->y; | y = sdraw->y; |
| do { | do { |
| if (sdraw->dirty[y]) { | if (sdraw->dirty[y]) { |
| sdraw->dirty[y+1] |= 0xff; | |
| for (x=0; x<sdraw->width; x++) { | for (x=0; x<sdraw->width; x++) { |
| SDSETPIXEL(r, p[x] + q[x] + NP2PAL_GRPH); | SDSETPIXEL(r, p[x] + q[x] + NP2PAL_GRPH); |
| r += sdraw->xalign; | r += sdraw->xalign; |
| Line 293 const BYTE *q; | Line 294 const BYTE *q; |
| sdraw->y = y; | sdraw->y = y; |
| } | } |
| #if defined(SUPPORT_CRT15KHZ) | |
| // text or grph 1プレーン(15kHz) | |
| static void SCRNCALL SDSYM(p_1d)(SDRAW sdraw, int maxy) { | |
| const BYTE *p; | |
| BYTE *q; | |
| int a; | |
| int y; | |
| int x; | |
| int c; | |
| p = sdraw->src; | |
| q = sdraw->dst; | |
| a = sdraw->yalign; | |
| y = sdraw->y; | |
| do { | |
| if (sdraw->dirty[y]) { | |
| for (x=0; x<sdraw->width; x++) { | |
| c = p[x] + NP2PAL_GRPH; | |
| SDSETPIXEL(q, c); | |
| SDSETPIXEL((q + a), c); | |
| q += sdraw->xalign; | |
| } | |
| q -= sdraw->xbytes; | |
| } | |
| p += SURFACE_WIDTH; | |
| q += a * 2; | |
| } while(++y < maxy); | |
| sdraw->src = p; | |
| sdraw->dst = q; | |
| sdraw->y = y; | |
| } | |
| // text + grph (15kHz) | |
| static void SCRNCALL SDSYM(p_2d)(SDRAW sdraw, int maxy) { | |
| const BYTE *p; | |
| const BYTE *q; | |
| BYTE *r; | |
| int a; | |
| int y; | |
| int x; | |
| int c; | |
| p = sdraw->src; | |
| q = sdraw->src2; | |
| r = sdraw->dst; | |
| a = sdraw->yalign; | |
| y = sdraw->y; | |
| do { | |
| if (sdraw->dirty[y]) { | |
| for (x=0; x<sdraw->width; x++) { | |
| c = p[x] + q[x] + NP2PAL_GRPH; | |
| SDSETPIXEL(r, c); | |
| SDSETPIXEL((r + a), c); | |
| r += sdraw->xalign; | |
| } | |
| r -= sdraw->xbytes; | |
| } | |
| p += SURFACE_WIDTH; | |
| q += SURFACE_WIDTH; | |
| r += a * 2; | |
| } while(++y < maxy); | |
| sdraw->src = p; | |
| sdraw->src2 = q; | |
| sdraw->dst = r; | |
| sdraw->y = y; | |
| } | |
| #endif | |
| static const SDRAWFN SDSYM(p)[] = { | static const SDRAWFN SDSYM(p)[] = { |
| SDSYM(p_0), SDSYM(p_1), SDSYM(p_1), SDSYM(p_2), | SDSYM(p_0), SDSYM(p_1), SDSYM(p_1), SDSYM(p_2), |
| SDSYM(p_0), SDSYM(p_ti), SDSYM(p_gi), SDSYM(p_2i), | SDSYM(p_0), SDSYM(p_ti), SDSYM(p_gi), SDSYM(p_2i), |
| SDSYM(p_0), SDSYM(p_ti), SDSYM(p_gie), SDSYM(p_2ie)}; | SDSYM(p_0), SDSYM(p_ti), SDSYM(p_gie), SDSYM(p_2ie), |
| #if defined(SUPPORT_CRT15KHZ) | |
| SDSYM(p_0), SDSYM(p_1d), SDSYM(p_1d), SDSYM(p_2d), | |
| #endif | |
| }; | |
| // ---- normal display | // ---- normal display |
| Line 314 static void SCRNCALL SDSYM(n_0)(SDRAW sd | Line 390 static void SCRNCALL SDSYM(n_0)(SDRAW sd |
| y = sdraw->y; | y = sdraw->y; |
| do { | do { |
| if (sdraw->dirty[y]) { | if (sdraw->dirty[y]) { |
| SDSETPIXEL(p, NP2PAL_TEXT3); | |
| for (x=0; x<sdraw->width; x++) { | for (x=0; x<sdraw->width; x++) { |
| SDSETPIXEL(p, NP2PAL_TEXT2); | |
| p += sdraw->xalign; | p += sdraw->xalign; |
| SDSETPIXEL(p, NP2PAL_TEXT2); | |
| } | } |
| SDSETPIXEL(p, NP2PAL_TEXT2); | |
| p -= sdraw->xbytes; | p -= sdraw->xbytes; |
| } | } |
| p += sdraw->yalign; | p += sdraw->yalign; |
| Line 341 const BYTE *p; | Line 417 const BYTE *p; |
| y = sdraw->y; | y = sdraw->y; |
| do { | do { |
| if (sdraw->dirty[y]) { | if (sdraw->dirty[y]) { |
| for (x=0; x<sdraw->width; x++) { | SDSETPIXEL(q, p[0] + NP2PAL_TEXT3); |
| q += sdraw->xalign; | |
| for (x=1; x<sdraw->width; x++) { | |
| SDSETPIXEL(q, p[x] + NP2PAL_GRPH); | SDSETPIXEL(q, p[x] + NP2PAL_GRPH); |
| q += sdraw->xalign; | q += sdraw->xalign; |
| } | } |
| Line 370 const BYTE *p; | Line 448 const BYTE *p; |
| y = sdraw->y; | y = sdraw->y; |
| do { | do { |
| if (sdraw->dirty[y]) { | if (sdraw->dirty[y]) { |
| SDSETPIXEL(q, NP2PAL_TEXT2); | SDSETPIXEL(q, NP2PAL_TEXT3); |
| for (x=0; x<sdraw->width; x++) { | for (x=0; x<sdraw->width; x++) { |
| q += sdraw->xalign; | q += sdraw->xalign; |
| SDSETPIXEL(q, p[x] + NP2PAL_GRPH); | SDSETPIXEL(q, p[x] + NP2PAL_GRPH); |
| Line 401 const BYTE *q; | Line 479 const BYTE *q; |
| y = sdraw->y; | y = sdraw->y; |
| do { | do { |
| if (sdraw->dirty[y]) { | if (sdraw->dirty[y]) { |
| SDSETPIXEL(r, q[0] + NP2PAL_GRPH); | SDSETPIXEL(r, (q[0] >> 4) + NP2PAL_TEXT3); |
| r += sdraw->xalign; | r += sdraw->xalign; |
| for (x=1; x<sdraw->width; x++) { | for (x=1; x<sdraw->width; x++) { |
| SDSETPIXEL(r, p[x-1] + q[x] + NP2PAL_GRPH); | SDSETPIXEL(r, p[x-1] + q[x] + NP2PAL_GRPH); |
| Line 479 const BYTE *p; | Line 557 const BYTE *p; |
| y = sdraw->y; | y = sdraw->y; |
| do { | do { |
| if (sdraw->dirty[y]) { | if (sdraw->dirty[y]) { |
| SDSETPIXEL(q, 0); | SDSETPIXEL(q, NP2PAL_TEXT3); |
| for (x=0; x<sdraw->width; x++) { | for (x=0; x<sdraw->width; x++) { |
| q += sdraw->xalign; | q += sdraw->xalign; |
| SDSETPIXEL(q, p[x] + NP2PAL_GRPH); | SDSETPIXEL(q, p[x] + NP2PAL_GRPH); |
| Line 490 const BYTE *p; | Line 568 const BYTE *p; |
| q += sdraw->yalign; | q += sdraw->yalign; |
| if (sdraw->dirty[y+1]) { | if (sdraw->dirty[y+1]) { |
| SDSETPIXEL(q, NP2PAL_TEXT); | SDSETPIXEL(q, NP2PAL_TEXT3); |
| for (x=0; x<sdraw->width; x++) { | for (x=0; x<sdraw->width; x++) { |
| q += sdraw->xalign; | q += sdraw->xalign; |
| SDSETPIXEL(q, NP2PAL_TEXT); | SDSETPIXEL(q, NP2PAL_TEXT); |
| Line 571 const BYTE *p; | Line 649 const BYTE *p; |
| do { | do { |
| if (sdraw->dirty[y]) { | if (sdraw->dirty[y]) { |
| sdraw->dirty[y+1] |= 0xff; | sdraw->dirty[y+1] |= 0xff; |
| SDSETPIXEL(q, 0); | SDSETPIXEL(q, NP2PAL_TEXT3); |
| for (x=0; x<sdraw->width; x++) { | for (x=0; x<sdraw->width; x++) { |
| q += sdraw->xalign; | q += sdraw->xalign; |
| SDSETPIXEL(q, p[x] + NP2PAL_GRPH); | SDSETPIXEL(q, p[x] + NP2PAL_GRPH); |
| Line 581 const BYTE *p; | Line 659 const BYTE *p; |
| q += sdraw->yalign; | q += sdraw->yalign; |
| if (sdraw->dirty[y+1]) { | if (sdraw->dirty[y+1]) { |
| SDSETPIXEL(q, 0); | SDSETPIXEL(q, NP2PAL_TEXT3); |
| for (x=0; x<sdraw->width; x++) { | for (x=0; x<sdraw->width; x++) { |
| SDSETPIXEL(q, p[x] + NP2PAL_SKIP); | SDSETPIXEL(q, p[x] + NP2PAL_SKIP); |
| q += sdraw->xalign; | q += sdraw->xalign; |
| Line 653 const BYTE *q; | Line 731 const BYTE *q; |
| sdraw->y = y; | sdraw->y = y; |
| } | } |
| #if defined(SUPPORT_CRT15KHZ) | |
| // text 1プレーン (15kHz) | |
| static void SCRNCALL SDSYM(n_td)(SDRAW sdraw, int maxy) { | |
| const BYTE *p; | |
| BYTE *q; | |
| int a; | |
| int y; | |
| int x; | |
| int c; | |
| p = sdraw->src; | |
| q = sdraw->dst; | |
| a = sdraw->yalign; | |
| y = sdraw->y; | |
| do { | |
| if (sdraw->dirty[y]) { | |
| c = p[0] + NP2PAL_TEXT3; | |
| SDSETPIXEL(q, c); | |
| SDSETPIXEL((q + a), c); | |
| q += sdraw->xalign; | |
| for (x=1; x<sdraw->width; x++) { | |
| c = p[x] + NP2PAL_GRPH; | |
| SDSETPIXEL(q, c); | |
| SDSETPIXEL((q + a), c); | |
| q += sdraw->xalign; | |
| } | |
| SDSETPIXEL(q, NP2PAL_TEXT2); | |
| SDSETPIXEL((q + a), NP2PAL_TEXT2); | |
| q -= sdraw->xbytes; | |
| } | |
| p += SURFACE_WIDTH; | |
| q += a * 2; | |
| } while(++y < maxy); | |
| sdraw->src = p; | |
| sdraw->dst = q; | |
| sdraw->y = y; | |
| } | |
| // grph 1プレーン (15kHz) | |
| static void SCRNCALL SDSYM(n_gd)(SDRAW sdraw, int maxy) { | |
| const BYTE *p; | |
| BYTE *q; | |
| int a; | |
| int y; | |
| int x; | |
| int c; | |
| p = sdraw->src; | |
| q = sdraw->dst; | |
| a = sdraw->yalign; | |
| y = sdraw->y; | |
| do { | |
| if (sdraw->dirty[y]) { | |
| SDSETPIXEL(q, NP2PAL_TEXT3); | |
| SDSETPIXEL((q + a), NP2PAL_TEXT3); | |
| for (x=0; x<sdraw->width; x++) { | |
| q += sdraw->xalign; | |
| c = p[x] + NP2PAL_GRPH; | |
| SDSETPIXEL(q, c); | |
| SDSETPIXEL((q + a), c); | |
| } | |
| q -= sdraw->xbytes; | |
| } | |
| p += SURFACE_WIDTH; | |
| q += a * 2; | |
| } while(++y < maxy); | |
| sdraw->src = p; | |
| sdraw->dst = q; | |
| sdraw->y = y; | |
| } | |
| // text + grph (15kHz) | |
| static void SCRNCALL SDSYM(n_2d)(SDRAW sdraw, int maxy) { | |
| const BYTE *p; | |
| const BYTE *q; | |
| BYTE *r; | |
| int a; | |
| int y; | |
| int x; | |
| int c; | |
| p = sdraw->src; | |
| q = sdraw->src2; | |
| r = sdraw->dst; | |
| a = sdraw->yalign; | |
| y = sdraw->y; | |
| do { | |
| if (sdraw->dirty[y]) { | |
| c = (q[0] >> 4) + NP2PAL_TEXT3; | |
| SDSETPIXEL(r, c); | |
| SDSETPIXEL((r + a), c); | |
| r += sdraw->xalign; | |
| for (x=1; x<sdraw->width; x++) { | |
| c = p[x-1] + q[x] + NP2PAL_GRPH; | |
| SDSETPIXEL(r, c); | |
| SDSETPIXEL((r + a), c); | |
| r += sdraw->xalign; | |
| } | |
| c = p[x-1] + NP2PAL_GRPH; | |
| SDSETPIXEL(r, c); | |
| SDSETPIXEL((r + a), c); | |
| r -= sdraw->xbytes; | |
| } | |
| p += SURFACE_WIDTH; | |
| q += SURFACE_WIDTH; | |
| r += a * 2; | |
| } while(++y < maxy); | |
| sdraw->src = p; | |
| sdraw->src2 = q; | |
| sdraw->dst = r; | |
| sdraw->y = y; | |
| } | |
| #endif | |
| static const SDRAWFN SDSYM(n)[] = { | static const SDRAWFN SDSYM(n)[] = { |
| SDSYM(n_0), SDSYM(n_t), SDSYM(n_g), SDSYM(n_2), | SDSYM(n_0), SDSYM(n_t), SDSYM(n_g), SDSYM(n_2), |
| SDSYM(n_0), SDSYM(n_ti), SDSYM(n_gi), SDSYM(n_2i), | SDSYM(n_0), SDSYM(n_ti), SDSYM(n_gi), SDSYM(n_2i), |
| SDSYM(n_0), SDSYM(n_ti), SDSYM(n_gie), SDSYM(n_2ie)}; | SDSYM(n_0), SDSYM(n_ti), SDSYM(n_gie), SDSYM(n_2ie), |
| #if defined(SUPPORT_CRT15KHZ) | |
| SDSYM(n_0), SDSYM(n_td), SDSYM(n_gd), SDSYM(n_2d), | |
| #endif | |
| }; | |
| #endif | #endif |