|
|
| version 1.4, 2004/08/12 13:32:52 | version 1.5, 2004/08/18 09:17:56 |
|---|---|
| Line 18 void width80x25_200h(void) { // 8 | Line 18 void width80x25_200h(void) { // 8 |
| UINT8 *lp; | UINT8 *lp; |
| UINT x; | UINT x; |
| REG8 udtmp; | REG8 udtmp; |
| REG8 dirty; | |
| UINT8 work[MAKETEXT_STEP * 2]; | UINT8 work[MAKETEXT_STEP * 2]; |
| const UINT8 *src; | const UINT8 *src; |
| UINT lines; | UINT lines; |
| Line 33 const UINT8 *src; | Line 34 const UINT8 *src; |
| x = makescrn.surfcx; | x = makescrn.surfcx; |
| do { | do { |
| udtmp = updatetmp[pos]; | udtmp = updatetmp[pos]; |
| if (udtmp & makescrn.dispflag) { | dirty = udtmp & makescrn.dispflag; |
| updatetmp[pos] = (UINT8)(udtmp & (~makescrn.dispflag)); | if (dirty) { |
| updatetmp[pos] = (UINT8)(udtmp ^ dirty); | |
| newline = TRUE; | newline = TRUE; |
| ZeroMemory(work, sizeof(work)); | if (dirty & UPDATE_TRAM) { |
| makechr16(work, pos, fontcy, udtmp); | ZeroMemory(work, sizeof(work)); |
| src = makescrn.disp1 + (pos << 5); | makechr16(work, pos, fontcy, udtmp); |
| makemix_mix(dst, SURFACE_WIDTH * 2, work, src, fontcy); | makemix_mixtext(dst, SURFACE_WIDTH * 2, work, fontcy); |
| makemix_mix(dst + SURFACE_WIDTH, SURFACE_WIDTH * 2, | makemix_mixtext(dst + SURFACE_WIDTH, SURFACE_WIDTH * 2, |
| work + MAKETEXT_STEP, src, fontcy); | work + MAKETEXT_STEP, fontcy); |
| } | |
| if (dirty & UPDATE_VRAM) { | |
| src = makescrn.disp1 + (pos << 5); | |
| makemix_mixgrph(dst, SURFACE_WIDTH * 2, src, fontcy); | |
| makemix_mixgrph(dst + SURFACE_WIDTH, SURFACE_WIDTH * 2, | |
| src, fontcy); | |
| } | |
| if (fontcy < makescrn.fontcy) { | if (fontcy < makescrn.fontcy) { |
| makemix_remcpy(dst, fontcy * 2, makescrn.fontcy * 2); | makemix_cpy400(dst, fontcy * 2, makescrn.fontcy * 2); |
| } | } |
| } | } |
| pos = LOW11(pos + 1); | pos = LOW11(pos + 1); |
| Line 95 const UINT8 *src; | Line 104 const UINT8 *src; |
| x = makescrn.surfcx; | x = makescrn.surfcx; |
| do { | do { |
| udtmp = updatetmp[pos]; | udtmp = updatetmp[pos]; |
| if (udtmp & UPDATE_VRAM) { | if (udtmp & UPDATE_TVRAM) { |
| updatetmp[pos] = (UINT8)(udtmp & (~UPDATE_VRAM)); | updatetmp[pos] = (UINT8)(udtmp & (~UPDATE_TVRAM)); |
| newline = TRUE; | newline = TRUE; |
| ZeroMemory(work, sizeof(work)); | if (udtmp & UPDATE_TRAM) { |
| makechr16(work, pos, fontcy, udtmp); | ZeroMemory(work, sizeof(work)); |
| makechr16(work, pos, fontcy, udtmp); | |
| makemix_mixtext(dst + SURFACE_WIDTH * 0, SURFACE_WIDTH * 2, | |
| work, fontcy); | |
| makemix_mixtext(dst + SURFACE_WIDTH * 1, SURFACE_WIDTH * 2, | |
| work + MAKETEXT_STEP, fontcy); | |
| } | |
| src = gram + (pos << 5); | src = gram + (pos << 5); |
| makemix_mix(dst + SURFACE_WIDTH * 0, SURFACE_WIDTH * 2, | if (udtmp & UPDATE_VRAM0) { |
| work, src + GRAM_BANK0, fontcy); | makemix_mixgrph(dst + SURFACE_WIDTH * 0, SURFACE_WIDTH * 2, |
| makemix_mix(dst + SURFACE_WIDTH * 1, SURFACE_WIDTH * 2, | src + GRAM_BANK0, fontcy); |
| work + MAKETEXT_STEP, src + GRAM_BANK1, fontcy); | } |
| if (udtmp & UPDATE_VRAM1) { | |
| makemix_mixgrph(dst + SURFACE_WIDTH * 1, SURFACE_WIDTH * 2, | |
| src + GRAM_BANK1, fontcy); | |
| } | |
| if (fontcy < makescrn.fontcy) { | if (fontcy < makescrn.fontcy) { |
| makemix_remcpy(dst, fontcy * 2, makescrn.fontcy * 2); | makemix_cpy400(dst, fontcy * 2, makescrn.fontcy * 2); |
| } | } |
| } | } |
| pos = LOW11(pos + 1); | pos = LOW11(pos + 1); |
| Line 143 void width80x12_200h(void) { // 8 | Line 162 void width80x12_200h(void) { // 8 |
| UINT8 *lp; | UINT8 *lp; |
| UINT x; | UINT x; |
| REG8 udtmp; | REG8 udtmp; |
| REG8 dirty; | |
| UINT8 work[MAKETEXT_STEP * 2]; | UINT8 work[MAKETEXT_STEP * 2]; |
| const UINT8 *src; | const UINT8 *src; |
| UINT lines; | UINT lines; |
| Line 158 const UINT8 *src; | Line 178 const UINT8 *src; |
| x = makescrn.surfcx; | x = makescrn.surfcx; |
| do { | do { |
| udtmp = updatetmp[pos]; | udtmp = updatetmp[pos]; |
| if (udtmp & makescrn.dispflag) { | dirty = udtmp & makescrn.dispflag; |
| updatetmp[pos] = (UINT8)(udtmp & (~makescrn.dispflag)); | if (dirty) { |
| updatetmp[pos] = (UINT8)(udtmp ^ dirty); | |
| newline = TRUE; | newline = TRUE; |
| ZeroMemory(work, sizeof(work)); | if (dirty & UPDATE_TRAM) { |
| makechr16(work, pos, fontcy, udtmp); | ZeroMemory(work, sizeof(work)); |
| src = makescrn.disp1 + (LOW10(pos) << 5); | makechr16(work, pos, fontcy, udtmp); |
| makemix_mix(dst, SURFACE_WIDTH * 4, work, src, fontcy); | makemix_mixtext(dst, SURFACE_WIDTH * 4, work, fontcy); |
| makemix_mix(dst + SURFACE_WIDTH * 2, SURFACE_WIDTH * 4, | makemix_mixtext(dst + SURFACE_WIDTH * 2, SURFACE_WIDTH * 4, |
| work + MAKETEXT_STEP, src + GRAM_HALFSTEP, fontcy); | work + MAKETEXT_STEP, fontcy); |
| makemix_doubler(dst, fontcy * 2, 0); | } |
| if (dirty & UPDATE_VRAM) { | |
| src = makescrn.disp1 + (LOW10(pos) << 5); | |
| makemix_mixgrph(dst, SURFACE_WIDTH * 4, src, fontcy); | |
| makemix_mixgrph(dst + SURFACE_WIDTH * 2, SURFACE_WIDTH * 4, | |
| src + GRAM_HALFSTEP, fontcy); | |
| } | |
| // makemix_doubler(dst, fontcy * 2, 0); | |
| if (fontcy < makescrn.fontcy) { | if (fontcy < makescrn.fontcy) { |
| makemix_remcpy(dst, fontcy * 4, makescrn.fontcy * 4); | makemix_cpy200(dst, fontcy * 2, makescrn.fontcy * 2); |
| } | } |
| } | } |
| pos = LOW11(pos + 1); | pos = LOW11(pos + 1); |
| Line 221 const UINT8 *src; | Line 249 const UINT8 *src; |
| x = makescrn.surfcx; | x = makescrn.surfcx; |
| do { | do { |
| udtmp = updatetmp[pos]; | udtmp = updatetmp[pos]; |
| if (udtmp & UPDATE_VRAM) { | if (udtmp & UPDATE_TVRAM) { |
| updatetmp[pos] = (UINT8)(udtmp & (~UPDATE_VRAM)); | updatetmp[pos] = (UINT8)(udtmp & (~UPDATE_TVRAM)); |
| newline = TRUE; | newline = TRUE; |
| ZeroMemory(work, sizeof(work)); | if (udtmp & UPDATE_TRAM) { |
| makechr16(work, pos, fontcy, udtmp); | ZeroMemory(work, sizeof(work)); |
| makechr16(work, pos, fontcy, udtmp); | |
| makemix_mixtext(dst + SURFACE_WIDTH * 0, SURFACE_WIDTH * 4, | |
| work, fontcy); | |
| makemix_mixtext(dst + SURFACE_WIDTH * 1, SURFACE_WIDTH * 4, | |
| work, fontcy); | |
| makemix_mixtext(dst + SURFACE_WIDTH * 2, SURFACE_WIDTH * 4, | |
| work + MAKETEXT_STEP, fontcy); | |
| makemix_mixtext(dst + SURFACE_WIDTH * 3, SURFACE_WIDTH * 4, | |
| work + MAKETEXT_STEP, fontcy); | |
| } | |
| src = gram + (LOW10(pos) << 5); | src = gram + (LOW10(pos) << 5); |
| makemix_mix(dst + SURFACE_WIDTH * 0, SURFACE_WIDTH * 4, | if (udtmp & UPDATE_VRAM0) { |
| work, src + GRAM_BANK0L, fontcy); | makemix_mixgrph(dst + SURFACE_WIDTH * 0, SURFACE_WIDTH * 4, |
| makemix_mix(dst + SURFACE_WIDTH * 1, SURFACE_WIDTH * 4, | src + GRAM_BANK0L, fontcy); |
| work, src + GRAM_BANK1L, fontcy); | makemix_mixgrph(dst + SURFACE_WIDTH * 2, SURFACE_WIDTH * 4, |
| makemix_mix(dst + SURFACE_WIDTH * 2, SURFACE_WIDTH * 4, | src + GRAM_BANK0H, fontcy); |
| work + MAKETEXT_STEP, src + GRAM_BANK0H, fontcy); | } |
| makemix_mix(dst + SURFACE_WIDTH * 3, SURFACE_WIDTH * 4, | if (udtmp & UPDATE_VRAM1) { |
| work + MAKETEXT_STEP, src + GRAM_BANK1H, fontcy); | makemix_mixgrph(dst + SURFACE_WIDTH * 1, SURFACE_WIDTH * 4, |
| src + GRAM_BANK1L, fontcy); | |
| makemix_mixgrph(dst + SURFACE_WIDTH * 3, SURFACE_WIDTH * 4, | |
| src + GRAM_BANK1H, fontcy); | |
| } | |
| if (fontcy < makescrn.fontcy) { | if (fontcy < makescrn.fontcy) { |
| makemix_remcpy(dst, fontcy * 4, makescrn.fontcy * 4); | makemix_cpy400(dst, fontcy * 4, makescrn.fontcy * 4); |
| } | } |
| } | } |
| pos = LOW11(pos + 1); | pos = LOW11(pos + 1); |
| Line 292 void width80x20h(void) { | Line 334 void width80x20h(void) { |
| newline = TRUE; | newline = TRUE; |
| ZeroMemory(work, sizeof(work)); | ZeroMemory(work, sizeof(work)); |
| makechr16(work, pos, fontcy, udtmp); | makechr16(work, pos, fontcy, udtmp); |
| makemix_txt(dst, SURFACE_WIDTH * 2, work, fontcy); | makemix_settext(dst, SURFACE_WIDTH * 2, work, fontcy); |
| makemix_txt(dst + SURFACE_WIDTH, SURFACE_WIDTH * 2, | makemix_settext(dst + SURFACE_WIDTH, SURFACE_WIDTH * 2, |
| work + MAKETEXT_STEP, fontcy); | work + MAKETEXT_STEP, fontcy); |
| if (fontcy < makescrn.fontcy) { | if (fontcy < makescrn.fontcy) { |
| makemix_remcpy(dst, fontcy * 2, makescrn.fontcy * 2); | makemix_cpy400(dst, fontcy * 2, makescrn.fontcy * 2); |
| } | } |
| makemix_ul20(dst + SURFACE_WIDTH * makescrn.fontcy * 2, | makemix_ul20(dst + SURFACE_WIDTH * makescrn.fontcy * 2, pos); |
| pos, 0); | |
| } | } |
| pos = LOW11(pos + 1); | pos = LOW11(pos + 1); |
| dst += 8; | dst += 8; |
| Line 354 void width80x10h(void) { | Line 395 void width80x10h(void) { |
| newline = TRUE; | newline = TRUE; |
| ZeroMemory(work, sizeof(work)); | ZeroMemory(work, sizeof(work)); |
| makechr16(work, pos, fontcy, udtmp); | makechr16(work, pos, fontcy, udtmp); |
| makemix_txt(dst, SURFACE_WIDTH * 4, work, fontcy); | makemix_settext(dst, SURFACE_WIDTH * 4, work, fontcy); |
| makemix_txt(dst + SURFACE_WIDTH * 2, SURFACE_WIDTH * 4, | makemix_settext(dst + SURFACE_WIDTH * 2, SURFACE_WIDTH * 4, |
| work + MAKETEXT_STEP, fontcy); | work + MAKETEXT_STEP, fontcy); |
| makemix_doubler(dst, fontcy * 2, 0); | |
| if (fontcy < makescrn.fontcy) { | if (fontcy < makescrn.fontcy) { |
| makemix_remcpy(dst, fontcy * 4, makescrn.fontcy * 4); | makemix_cpy200(dst, fontcy * 2, makescrn.fontcy * 2); |
| } | } |
| makemix_ul10(dst + SURFACE_WIDTH * makescrn.fontcy * 4, | makemix_ul10(dst + SURFACE_WIDTH * makescrn.fontcy * 4, pos); |
| pos, 0); | |
| } | } |
| pos = LOW11(pos + 1); | pos = LOW11(pos + 1); |
| dst += 8; | dst += 8; |