|
|
| version 1.1, 2004/08/07 07:19:56 | version 1.4, 2004/08/12 13:32:52 |
|---|---|
| Line 1 | Line 1 |
| #include "compiler.h" | #include "compiler.h" |
| #include "scrnmng.h" | #include "scrnmng.h" |
| #include "pccore.h" | #include "pccore.h" |
| #include "iocore.h" | |
| #include "vram.h" | #include "vram.h" |
| #include "scrndraw.h" | #include "scrndraw.h" |
| #include "makescrn.h" | #include "makescrn.h" |
| Line 9 | Line 8 |
| #include "font.h" | #include "font.h" |
| extern BYTE dispflg; | |
| extern BYTE *dispp; | |
| void width80x25_200h(void) { // 80x25 200line | void width80x25_200h(void) { // 80x25 200line |
| UINT fontcy; | UINT fontcy; |
| Line 29 const UINT8 *src; | Line 24 const UINT8 *src; |
| UINT i; | UINT i; |
| fontcy = min(makescrn.fontcy, MAKETEXT_ROW); | fontcy = min(makescrn.fontcy, MAKETEXT_ROW); |
| pos = crtc.s.TXT_TOP; | pos = makescrn.vramtop; |
| dst = screenmap; | dst = screenmap; |
| newline = FALSE; | newline = FALSE; |
| y = makescrn.surfcy; | y = makescrn.surfcy; |
| Line 38 const UINT8 *src; | Line 33 const UINT8 *src; |
| x = makescrn.surfcx; | x = makescrn.surfcx; |
| do { | do { |
| udtmp = updatetmp[pos]; | udtmp = updatetmp[pos]; |
| if (udtmp & dispflg) { | if (udtmp & makescrn.dispflag) { |
| updatetmp[pos] = (UINT8)(udtmp & (~dispflg)); | updatetmp[pos] = (UINT8)(udtmp & (~makescrn.dispflag)); |
| newline = TRUE; | newline = TRUE; |
| ZeroMemory(work, sizeof(work)); | ZeroMemory(work, sizeof(work)); |
| makechr16(work, pos, fontcy, udtmp); | makechr16(work, pos, fontcy, udtmp); |
| src = dispp + (pos << 5); | src = makescrn.disp1 + (pos << 5); |
| makemix_mix(dst, SURFACE_WIDTH * 2, work, src, fontcy); | makemix_mix(dst, SURFACE_WIDTH * 2, work, src, fontcy); |
| makemix_mix(dst + SURFACE_WIDTH, SURFACE_WIDTH * 2, | makemix_mix(dst + SURFACE_WIDTH, SURFACE_WIDTH * 2, |
| work + MAKETEXT_STEP, src, fontcy); | work + MAKETEXT_STEP, src, fontcy); |
| Line 91 const UINT8 *src; | Line 86 const UINT8 *src; |
| UINT i; | UINT i; |
| fontcy = min(makescrn.fontcy, MAKETEXT_ROW); | fontcy = min(makescrn.fontcy, MAKETEXT_ROW); |
| pos = crtc.s.TXT_TOP; | pos = makescrn.vramtop; |
| dst = screenmap; | dst = screenmap; |
| newline = FALSE; | newline = FALSE; |
| y = makescrn.surfcy; | y = makescrn.surfcy; |
| Line 105 const UINT8 *src; | Line 100 const UINT8 *src; |
| newline = TRUE; | newline = TRUE; |
| ZeroMemory(work, sizeof(work)); | ZeroMemory(work, sizeof(work)); |
| makechr16(work, pos, fontcy, udtmp); | makechr16(work, pos, fontcy, udtmp); |
| src = GRP_RAM + (pos << 5); | src = gram + (pos << 5); |
| makemix_mix(dst + SURFACE_WIDTH * 0, SURFACE_WIDTH * 2, | makemix_mix(dst + SURFACE_WIDTH * 0, SURFACE_WIDTH * 2, |
| work, src + GRAM_BANK0, fontcy); | work, src + GRAM_BANK0, fontcy); |
| makemix_mix(dst + SURFACE_WIDTH * 1, SURFACE_WIDTH * 2, | makemix_mix(dst + SURFACE_WIDTH * 1, SURFACE_WIDTH * 2, |
| Line 154 const UINT8 *src; | Line 149 const UINT8 *src; |
| UINT i; | UINT i; |
| fontcy = min(makescrn.fontcy, MAKETEXT_ROW); | fontcy = min(makescrn.fontcy, MAKETEXT_ROW); |
| pos = crtc.s.TXT_TOP; | pos = makescrn.vramtop; |
| dst = screenmap; | dst = screenmap; |
| newline = FALSE; | newline = FALSE; |
| y = makescrn.surfcy; | y = makescrn.surfcy; |
| Line 163 const UINT8 *src; | Line 158 const UINT8 *src; |
| x = makescrn.surfcx; | x = makescrn.surfcx; |
| do { | do { |
| udtmp = updatetmp[pos]; | udtmp = updatetmp[pos]; |
| if (udtmp & dispflg) { | if (udtmp & makescrn.dispflag) { |
| updatetmp[pos] = (UINT8)(udtmp & (~dispflg)); | updatetmp[pos] = (UINT8)(udtmp & (~makescrn.dispflag)); |
| newline = TRUE; | newline = TRUE; |
| ZeroMemory(work, sizeof(work)); | ZeroMemory(work, sizeof(work)); |
| makechr16(work, pos, fontcy, udtmp); | makechr16(work, pos, fontcy, udtmp); |
| src = dispp + (LOW10(pos) << 5); | src = makescrn.disp1 + (LOW10(pos) << 5); |
| makemix_mix(dst, SURFACE_WIDTH * 4, work, src, fontcy); | makemix_mix(dst, SURFACE_WIDTH * 4, work, src, fontcy); |
| makemix_mix(dst + SURFACE_WIDTH * 2, SURFACE_WIDTH * 4, | makemix_mix(dst + SURFACE_WIDTH * 2, SURFACE_WIDTH * 4, |
| work + MAKETEXT_STEP, src + GRAM_HALFSTEP, fontcy); | work + MAKETEXT_STEP, src + GRAM_HALFSTEP, fontcy); |
| Line 217 const UINT8 *src; | Line 212 const UINT8 *src; |
| UINT i; | UINT i; |
| fontcy = min(makescrn.fontcy, MAKETEXT_ROW); | fontcy = min(makescrn.fontcy, MAKETEXT_ROW); |
| pos = crtc.s.TXT_TOP; | pos = makescrn.vramtop; |
| dst = screenmap; | dst = screenmap; |
| newline = FALSE; | newline = FALSE; |
| y = makescrn.surfcy; | y = makescrn.surfcy; |
| Line 231 const UINT8 *src; | Line 226 const UINT8 *src; |
| newline = TRUE; | newline = TRUE; |
| ZeroMemory(work, sizeof(work)); | ZeroMemory(work, sizeof(work)); |
| makechr16(work, pos, fontcy, udtmp); | makechr16(work, pos, fontcy, udtmp); |
| src = GRP_RAM + (LOW10(pos) << 5); | src = gram + (LOW10(pos) << 5); |
| makemix_mix(dst + SURFACE_WIDTH * 0, SURFACE_WIDTH * 4, | makemix_mix(dst + SURFACE_WIDTH * 0, SURFACE_WIDTH * 4, |
| work, src + GRAM_BANK0L, fontcy); | work, src + GRAM_BANK0L, fontcy); |
| makemix_mix(dst + SURFACE_WIDTH * 1, SURFACE_WIDTH * 4, | makemix_mix(dst + SURFACE_WIDTH * 1, SURFACE_WIDTH * 4, |
| Line 283 void width80x20h(void) { | Line 278 void width80x20h(void) { |
| UINT i; | UINT i; |
| fontcy = min(makescrn.fontcy, MAKETEXT_ROW); | fontcy = min(makescrn.fontcy, MAKETEXT_ROW); |
| pos = crtc.s.TXT_TOP; | pos = makescrn.vramtop; |
| dst = screenmap; | dst = screenmap; |
| newline = FALSE; | newline = FALSE; |
| y = makescrn.surfcy; | y = makescrn.surfcy; |
| Line 345 void width80x10h(void) { | Line 340 void width80x10h(void) { |
| UINT i; | UINT i; |
| fontcy = min(makescrn.fontcy, MAKETEXT_ROW); | fontcy = min(makescrn.fontcy, MAKETEXT_ROW); |
| pos = crtc.s.TXT_TOP; | pos = makescrn.vramtop; |
| dst = screenmap; | dst = screenmap; |
| newline = FALSE; | newline = FALSE; |
| y = makescrn.surfcy; | y = makescrn.surfcy; |