|
|
| version 1.5, 2004/02/09 20:39:39 | version 1.6, 2004/02/29 03:10:03 |
|---|---|
| Line 142 const SDRAWFN *sdrawfn; | Line 142 const SDRAWFN *sdrawfn; |
| if (surf == NULL) { | if (surf == NULL) { |
| goto sddr_exit1; | goto sddr_exit1; |
| } | } |
| #if defined(SUPPORT_PC9821) | |
| if (gdc.analog & 2) { | |
| sdrawfn = sdraw_getproctblex(surf); | |
| } | |
| else | |
| #endif | |
| sdrawfn = sdraw_getproctbl(surf); | sdrawfn = sdraw_getproctbl(surf); |
| if (sdrawfn == NULL) { | if (sdrawfn == NULL) { |
| goto sddr_exit2; | goto sddr_exit2; |
| Line 149 const SDRAWFN *sdrawfn; | Line 155 const SDRAWFN *sdrawfn; |
| bit = 0; | bit = 0; |
| if (gdc.mode1 & 0x80) { // ver0.28 | if (gdc.mode1 & 0x80) { // ver0.28 |
| #if defined(SUPPORT_PC9821) | |
| if ((gdc.analog & 6) == 6) { | |
| bit |= 0x01; | |
| } | |
| else | |
| #endif | |
| if (gdcs.grphdisp & 0x80) { | if (gdcs.grphdisp & 0x80) { |
| bit |= (1 << gdcs.disp); | bit |= (1 << gdcs.disp); |
| } | } |
| Line 167 const SDRAWFN *sdrawfn; | Line 179 const SDRAWFN *sdrawfn; |
| } | } |
| } | } |
| height = surf->height; | height = surf->height; |
| do { | |
| #if defined(SUPPORT_PC9821) | |
| if (gdc.analog & 2) { | |
| break; | |
| } | |
| #endif | |
| #if defined(SUPPORT_CRT15KHZ) | #if defined(SUPPORT_CRT15KHZ) |
| if (gdc.crt15khz & 2) { | if (gdc.crt15khz & 2) { |
| sdrawfn += 12; | sdrawfn += 12; |
| height >>= 1; | height >>= 1; |
| } | break; |
| else { | } |
| #endif | #endif |
| if (gdc.mode1 & 0x10) { | if (gdc.mode1 & 0x10) { |
| sdrawfn += 4; | sdrawfn += 4; |
| Line 180 const SDRAWFN *sdrawfn; | Line 198 const SDRAWFN *sdrawfn; |
| sdrawfn += 4; | sdrawfn += 4; |
| } | } |
| } | } |
| #if defined(SUPPORT_CRT15KHZ) | } while(0); |
| } | |
| #endif | |
| switch(bit & 7) { | switch(bit & 7) { |
| case 1: // grph1 | case 1: // grph1 |
| sdrawfn += 2; | sdrawfn += 2; |
| Line 217 const SDRAWFN *sdrawfn; | Line 233 const SDRAWFN *sdrawfn; |
| sdraw.y = 0; | sdraw.y = 0; |
| sdraw.xalign = surf->xalign; | sdraw.xalign = surf->xalign; |
| sdraw.yalign = surf->yalign; | sdraw.yalign = surf->yalign; |
| if ((!gdc.analog) || (palevent.events >= PALEVENTMAX)) { | if (((gdc.analog & 3) != 1) || (palevent.events >= PALEVENTMAX)) { |
| (*(*sdrawfn))(&sdraw, height); | (*(*sdrawfn))(&sdraw, height); |
| } | } |
| else { | else { |