enum {
MAKETEXT_ROW = 8,
MAKETEXT_STEP = 24
};
#ifdef __cplusplus
extern "C" {
#endif
extern const UINT8 patx2[256];
extern const UINT32 to256colex[256];
#define PATx2LEFT(p) (makescrn.patx2[(p) >> 4])
#define PATx2RIGHT(p) (makescrn.patx2[(p) >> 0])
// ---- make pattern
typedef void (*MAKETXTFN)(UINT8 *dst, UINT8 *term, const UINT8 *src);
extern const MAKETXTFN maketxtlfn[32];
void maketxt8_make(UINT8 *dst, UINT8 *term, const UINT8 *src,
REG8 type, REG8 attr);
void makepcg8_make(UINT8 *dst, UINT8 *term, const UINT8 *src,
REG8 type, REG8 attr);
// ---- make attributes
typedef void (*MAKEATRFN)(UINT8 *dst, UINT8 *term);
extern const MAKEATRFN makeatr8[16];
// ---- make character
void makechr8(UINT8 *dst, const MAKESCRN *m, UINT32 pos_cy, REG8 udtmp);
void makechr16(UINT8 *dst, UINT pos, UINT count, REG8 udtmp);
// ---- make mixer
#if defined(ADV_SIMULATE)
void makemix_mixstep(BRESULT x2);
void makemix_mixtext40(UINT8 *dst, const UINT8 *txt, UINT count);
void makemix_mixgrph40(UINT8 *dst, const UINT8 *grp, UINT count);
void makemix_mixtext80(UINT8 *dst, const UINT8 *txt, UINT count);
void makemix_mixgrph80(UINT8 *dst, const UINT8 *grp, UINT count);
#else
void __attribute__((long_call)) makemix_mixstep(BRESULT x2);
void __attribute__((long_call)) makemix_mixtext40(UINT8 *dst, const UINT8 *txt, UINT count);
void __attribute__((long_call)) makemix_mixgrph40(UINT8 *dst, const UINT8 *grp, UINT count);
void __attribute__((long_call)) makemix_mixtext80(UINT8 *dst, const UINT8 *txt, UINT count);
void __attribute__((long_call)) makemix_mixgrph80(UINT8 *dst, const UINT8 *grp, UINT count);
#endif
#if 0
void makemix_mixtext(UINT8 *dst, UINT align, const UINT8 *txt, UINT count);
void makemix_mixgrph(UINT8 *dst, UINT align, const UINT8 *grp, UINT count);
void makemix_settext(UINT8 *dst, UINT align, const UINT8 *txt, UINT count);
void makemix_ul20(UINT8 *dst, UINT pos);
void makemix_ul10(UINT8 *dst, UINT pos);
void makemix_cpy200(UINT8 *dst, UINT pos, UINT count);
void makemix_cpy400(UINT8 *dst, UINT pos, UINT count);
// void makemix_txt(UINT8 *dst, UINT align, const UINT8 *txt, UINT count);
// void makemix_mix(UINT8 *dst, UINT align,
// const UINT8 *txt, const UINT8 *grp, UINT count);
// void makemix_doubler(UINT8 *dst, UINT count, UINT32 skipline);
// void makemix_remcpy(UINT8 *dst, UINT pos, UINT count);
#endif
// ---- make screens
void width40x25_200l(UINT pos); // 40x25 200line
void width80x25_200l(UINT pos); // 80x25 200line
void width40x12_200l(UINT pos); // 40x12 200line
void width80x12_200l(UINT pos); // 80x12 200line
#if 0
void width80x20l(void); // 80x20
void width80x10l(void); // 80x10
void width80x25_400h(void); // 80x25 400line
void width80x12_400h(void); // 80x12 400line
void width80x20h(void); // 80x20
void width80x10h(void); // 80x10
#endif
#ifdef __cplusplus
}
#endif
RetroPC.NET-CVS <cvs@retropc.net>