--- np2/vram/maketext.c 2004/02/07 21:23:22 1.6 +++ np2/vram/maketext.c 2004/06/18 07:42:13 1.11 @@ -14,12 +14,7 @@ static UINT32 text_table[512]; static UINT32 text_tblx2[512][2]; -void maketext_reset(void) { - - ZeroMemory(&tramflag, sizeof(tramflag)); -} - -void maketext_init(void) { +void maketext_initialize(void) { int i; int j; @@ -67,6 +62,11 @@ void maketext_init(void) { } } +void maketext_reset(void) { + + ZeroMemory(&tramflag, sizeof(tramflag)); +} + static BYTE dirtyonblink(void) { BYTE ret; @@ -159,7 +159,7 @@ void maketext(int text_renewal) { tramflag.gaiji = 0; } - multiple = ((!(gdc.mode1 & 8)) && (!gdc.crt15khz))?0x20:0x00; + multiple = ((!(gdc.mode1 & 8)) && (!(gdc.crt15khz & 1)))?0x20:0x00; TEXT_LR = gdc.m.para[GDC_CSRFORM] & 0x1f; TEXT_PL = crtc.reg.pl; TEXT_BL = crtc.reg.bl + 1; @@ -239,7 +239,7 @@ void maketext(int text_renewal) { edi = esi; gaiji1st = 0; kanji2nd = FALSE; - lastbitp = 0; // ver0.28 + lastbitp = 0; for (x=0; x= 0x0c)) { + if ((kc < 0x09) || (kc >= 0x0c)) { kanji2nd = TRUE; } } - // ver0.28 if ((curx[x] & TXTATR_BG) && (gdc.mode1 & 1)) { curx[x] |= 0x20; bitmap[x] += 8; @@ -335,13 +334,13 @@ void maketext(int text_renewal) { if ((nowline >= (gdc.m.para[GDC_CSRFORM+1] & 0x1f)) && (nowline <= (gdc.m.para[GDC_CSRFORM+2] >> 3))) { color[cur_line] |= 256; - if (curx[cur_line] & 0x80) { // ver0.28 + if (curx[cur_line] & 0x80) { color[cur_line+1] |= 256; } } else { color[cur_line] &= ~(256); - if (curx[cur_line] & 0x80) { // ver0.28 + if (curx[cur_line] & 0x80) { color[cur_line+1] &= ~(256); } } @@ -389,7 +388,6 @@ void maketext(int text_renewal) { } q += 4; } - // virtical line ver0.27 if ((line_effect & TXTATR_VL) && (!(gdc.mode1 & 1))) { // width80 q -= TEXTXMAX * 8; @@ -470,7 +468,7 @@ void maketext40(int text_renewal) { tramflag.gaiji = 0; } - multiple = ((!(gdc.mode1 & 8)) && (!gdc.crt15khz))?0x20:0x00; + multiple = ((!(gdc.mode1 & 8)) && (!(gdc.crt15khz & 1)))?0x20:0x00; TEXT_LR = gdc.m.para[GDC_CSRFORM] & 0x1f; TEXT_PL = crtc.reg.pl; TEXT_BL = crtc.reg.bl + 1; @@ -550,7 +548,7 @@ void maketext40(int text_renewal) { edi = esi; gaiji1st = 0; kanji2nd = 0; - lastbitp = 0; // ver0.28 + lastbitp = 0; for (x=0; x<(TEXTXMAX/2); x++) { // width40 if (edi == csrw) { cur_line = x; @@ -563,9 +561,9 @@ void maketext40(int text_renewal) { } if (kanji2nd) { kanji2nd = FALSE; - bitmap[x] = lastbitp + 0x800; // ver0.28 + bitmap[x] = lastbitp + 0x800; curx[x-1] |= 0x80; - curx[x] |= curx[x-1] & 0x20; // ver0.28 + curx[x] |= curx[x-1] & 0x20; } else if (!(mem[0xa0001 + edi*2] & gdc.bitac)) { gaiji1st = 0; @@ -589,8 +587,8 @@ void maketext40(int text_renewal) { UINT kc; kc = LOADINTELWORD(mem + 0xa0000 + edi*2); bitmap[x] = (kc & 0x7f7f) << 4; - kc &= 0x7e; - if (kc == 0x56) { // ver0.28 + kc &= 0x7f; // ver0.78 + if ((kc == 0x56) || (kc == 0x57)) { tramflag.gaiji = 1; if ((gaiji1st) && (bitmap[x] == (lastbitp & (~15)))) { @@ -601,11 +599,10 @@ void maketext40(int text_renewal) { } else { gaiji1st = 0; - if ((kc < 0x08) || (kc >= 0x0c)) { + if ((kc < 0x09) || (kc >= 0x0c)) { kanji2nd = TRUE; } } - // ver0.28 if ((curx[x] & TXTATR_BG) && (gdc.mode1 & 1)) { curx[x] |= 0x20; bitmap[x] += 8; @@ -646,13 +643,13 @@ void maketext40(int text_renewal) { if ((nowline >= (gdc.m.para[GDC_CSRFORM+1] & 0x1f)) && (nowline <= (gdc.m.para[GDC_CSRFORM+2] >> 3))) { color[cur_line] |= 256; - if (curx[cur_line] & 0x80) { // ver0.28 + if (curx[cur_line] & 0x80) { color[cur_line+1] |= 256; } } else { color[cur_line] &= ~(256); - if (curx[cur_line] & 0x80) { // ver0.28 + if (curx[cur_line] & 0x80) { color[cur_line+1] &= ~(256); } } @@ -716,7 +713,6 @@ void maketext40(int text_renewal) { } q += 12; } - // virtical line ver0.27 if ((line_effect & TXTATR_VL) && (!(gdc.mode1 & 1))) { // width40 q -= TEXTXMAX * 8;