--- np2/vram/sdraw.c 2003/10/18 10:00:29 1.2 +++ np2/vram/sdraw.c 2004/02/29 03:10:03 1.5 @@ -4,6 +4,7 @@ #include "sdraw.h" #include "palettes.h" +#if !defined(SIZE_QVGA) || defined(SIZE_VGATEST) #if defined(SUPPORT_8BPP) #define SDSYM(sym) sdraw8##sym @@ -17,6 +18,7 @@ #define SDSYM(sym) sdraw16##sym #define SDSETPIXEL(ptr, pal) *(UINT16 *)(ptr) = np2_pal16[(pal)] #include "sdraw.mcr" +#include "sdrawex.mcr" #undef SDSYM #undef SDSETPIXEL #endif @@ -27,6 +29,7 @@ (ptr)[RGB24_G] = np2_pal32[(pal)].p.g; \ (ptr)[RGB24_B] = np2_pal32[(pal)].p.b #include "sdraw.mcr" +#include "sdrawex.mcr" #undef SDSYM #undef SDSETPIXEL #endif @@ -35,6 +38,7 @@ #define SDSYM(sym) sdraw32##sym #define SDSETPIXEL(ptr, pal) *(UINT32 *)(ptr) = np2_pal32[(pal)].d #include "sdraw.mcr" +#include "sdrawex.mcr" #undef SDSYM #undef SDSETPIXEL #endif @@ -88,7 +92,6 @@ static const SDRAWFN *tbl[] = { #endif }; - const SDRAWFN *sdraw_getproctbl(const SCRNSURF *surf) { int proc; @@ -102,3 +105,62 @@ const SDRAWFN *sdraw_getproctbl(const SC return(tbl[proc]); } + +// ---- PC-9821 + +#if defined(SUPPORT_PC9821) + +static const SDRAWFN *tblex[] = { + NULL, +#if defined(SUPPORT_16BPP) + sdraw16pex, +#else + NULL, +#endif +#if defined(SUPPORT_24BPP) + sdraw24pex, +#else + NULL, +#endif +#if defined(SUPPORT_32BPP) + sdraw32pex, +#else + NULL, +#endif + +#if defined(SUPPORT_NORMALDISP) + NULL, +#if defined(SUPPORT_16BPP) + sdraw16nex, +#else + NULL, +#endif +#if defined(SUPPORT_24BPP) + sdraw24nex, +#else + NULL, +#endif +#if defined(SUPPORT_32BPP) + sdraw32nex, +#else + NULL, +#endif +#endif +}; + +const SDRAWFN *sdraw_getproctblex(const SCRNSURF *surf) { + + int proc; + + proc = ((surf->bpp >> 3) - 1) & 3; +#if defined(SUPPORT_NORMALDISP) + if (surf->extend) { + proc += 4; + } +#endif + return(tblex[proc]); +} +#endif + +#endif +