--- xmil/io/crtc.h 2004/08/08 15:14:08 1.3 +++ xmil/io/crtc.h 2004/08/12 17:57:36 1.6 @@ -3,6 +3,13 @@ extern "C" { #endif +enum { + CRTC_PALB = 0, + CRTC_PALR = 1, + CRTC_PALG = 2, + CRTC_PLY = 3 +}; + #define PAL_NORMAL 0x00 #define PAL_HIGHRESO 0x01 @@ -59,34 +66,24 @@ enum { typedef struct { - UINT8 PAL_B; - UINT8 PAL_R; - UINT8 PAL_G; - UINT8 PLY; -// UINT8 TEXT_PAL[8]; + UINT8 rgbp[4]; UINT8 SCRN_BITS; UINT8 CRTC_NUM; - WORD DISP_PAGE; - WORD FNT_XL; - WORD FNT_YL; + BYTE _FNT_YL; BYTE TXT_XL; BYTE TXT_YL; BYTE TXT_YS; - WORD GRP_XL; - WORD GRP_YL; -// BYTE CPU_BANK; -// BYTE CRT_BANK; - - WORD CRT_YL; - WORD CRT_VS; - WORD CRT_VL; + +// WORD CRT_YL; +// WORD CRT_VS; +// WORD CRT_VL; BYTE TXT_VL; BYTE TXT_VLA; WORD TXT_TOP; - WORD fnty; +// WORD fnty; UINT8 BLACKPAL; UINT8 EXTPALMODE; @@ -99,6 +96,16 @@ typedef struct { UINT8 *gram; // curvram UINT updatemask; // updatemsk UINT8 updatebit; // curupdt + UINT8 dispmode; + UINT8 pal_bank; + UINT8 pal_disp; + + UINT fonty; + UINT yl; + + UINT dl; + UINT vs; + UINT vl; } CRTCEXT; typedef struct { @@ -116,7 +123,8 @@ typedef struct { // ---- -void vrambank_patch(void); +void crtc_bankupdate(void); // vrambank_patch +void crtc_regupdate(void); void IOOUTCALL crtc_o(UINT port, REG8 value); // x1_crtc_w @@ -146,6 +154,7 @@ REG8 IOINPCALL blackctrl_i(UINT port); void crtc_initialize(void); void crtc_reset(void); +void crtc_forcesetwidth(REG8 width); #ifdef __cplusplus }