--- np2/vram/sdraw.c 2004/02/18 02:03:37 1.4 +++ np2/vram/sdraw.c 2004/02/29 03:10:03 1.5 @@ -18,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 @@ -28,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 @@ -36,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 @@ -89,7 +92,6 @@ static const SDRAWFN *tbl[] = { #endif }; - const SDRAWFN *sdraw_getproctbl(const SCRNSURF *surf) { int proc; @@ -103,5 +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