1 /***************************************************************************** 2 * �ϥ��쥾 (640x400x1) 3 *****************************************************************************/ 4 5 /* ��TEXT�Τ������ */ 6 7 #define MASK_8DOT() for (m = 0; m < 4; m++) { dst[m] = tcol; } 8 #define MASK_16DOT() for (m = 0; m < 8; m++) { dst[m] = tcol; } 9 10 11 /* ��VRAM�Τ������ */ 12 13 #undef UPPER_SCREEN 14 #if (ROWS == 20) 15 #define UPPER_SCREEN (i<10) 16 #elif (ROWS == 25) 17 #define UPPER_SCREEN ((i < 12) || (i == 12 && k < 8)) 18 #endif 19 20 #define TRANS_8DOT() \ 21 if (UPPER_SCREEN) { \ 22 vram = *(src + k * 80); \ 23 for (l = 0; l < 4; l++, vram <<= 2) { \ 24 dst[l] = get_pixel_400_B( vram, tcol ); \ 25 } \ 26 } else { \ 27 vram = *(src + k * 80 - 80*200); \ 28 for (l = 0; l < 4; l++, vram <<= 2) { \ 29 dst[l] = get_pixel_400_R( vram, tcol ); \ 30 } \ 31 } 32 33 #define TRANS_16DOT() \ 34 if (UPPER_SCREEN) { \ 35 vram = *(src + k * 80); \ 36 for (l = 0; l < 4; l++, vram <<= 2) { \ 37 dst[l] = get_pixel_400_B( vram, tcol ); \ 38 } \ 39 vram = *(src + k * 80 + 1); \ 40 for ( ; l < 8; l++, vram <<= 2) { \ 41 dst[l] = get_pixel_400_B( vram, tcol ); \ 42 } \ 43 } else { \ 44 vram = *(src + k * 80 - 80*200); \ 45 for (l = 0; l < 4; l++, vram <<= 2) { \ 46 dst[l] = get_pixel_400_R( vram, tcol ); \ 47 } \ 48 vram = *(src + k * 80 + 1 - 80*200); \ 49 for ( ; l < 8; l++, vram <<= 2) { \ 50 dst[l] = get_pixel_400_R( vram, tcol ); \ 51 } \ 52 } 53 54 /* ��TEXT/VRAM�Ť�碌����� */ 55 56 #define STORE_8DOT() \ 57 if (UPPER_SCREEN) { \ 58 vram = *(src + k * 80); \ 59 for (m = 0xc0, l = 0; l < 4; l++, m >>= 2, vram <<= 2) { \ 60 if (style & m) { dst[l] = tcol; } \ 61 else { dst[l] = get_pixel_400_B( vram, tcol ); } \ 62 } \ 63 } else { \ 64 vram = *(src + k * 80 - 80*200); \ 65 for (m = 0xc0, l = 0; l < 4; l++, m >>= 2, vram <<= 2) { \ 66 if (style & m) { dst[l] = tcol; } \ 67 else { dst[l] = get_pixel_400_R( vram, tcol ); } \ 68 } \ 69 } 70 71 #define STORE_16DOT() \ 72 if (UPPER_SCREEN) { \ 73 vram = *(src + k * 80); \ 74 for (m = 0x80, l = 0; l < 4; l++, m >>= 1, vram <<= 2) { \ 75 if (style & m) { dst[l] = tcol; } \ 76 else { dst[l] = get_pixel_400_B( vram, tcol ); } \ 77 } \ 78 vram = *(src + k * 80 + 1); \ 79 for ( ; l < 8; l++, m >>= 1, vram <<= 2) { \ 80 if (style & m) { dst[l] = tcol; } \ 81 else { dst[l] = get_pixel_400_B( vram, tcol ); } \ 82 } \ 83 } else { \ 84 vram = *(src + k * 80 - 80*200); \ 85 for (m = 0x80, l = 0; l < 4; l++, m >>= 1, vram <<= 2) { \ 86 if (style & m) { dst[l] = tcol; } \ 87 else { dst[l] = get_pixel_400_R( vram, tcol ); } \ 88 } \ 89 vram = *(src + k * 80 + 1 - 80*200); \ 90 for ( ; l < 8; l++, m >>= 1, vram <<= 2) { \ 91 if (style & m) { dst[l] = tcol; } \ 92 else { dst[l] = get_pixel_400_R( vram, tcol ); } \ 93 } \ 94 } 95