|
|
| version 1.1, 2004/08/04 17:09:25 | version 1.10, 2004/08/15 11:14:42 |
|---|---|
| Line 3 | Line 3 |
| extern "C" { | extern "C" { |
| #endif | #endif |
| enum { | |
| CRTC_PALB = 0, | |
| CRTC_PALR = 1, | |
| CRTC_PALG = 2, | |
| CRTC_PLY = 3 | |
| }; | |
| #define PAL_NORMAL 0x00 | #define PAL_NORMAL 0x00 |
| #define PAL_HIGHRESO 0x01 | #define PAL_HIGHRESO 0x01 |
| Line 34 extern "C" { | Line 41 extern "C" { |
| #define SCRN64_320x100x4096 10 | #define SCRN64_320x100x4096 10 |
| #define SCRN_24KHZ 0x01 // 0:15KHz 1:24KHz | |
| #define SCRN_200LINE 0x02 // 0:400line 1:200line | |
| #define SCRN_TEXTYx2 0x04 // 0:ノーマル 1:縦に拡大 | |
| #define SCRN_DISPVRAM 0x08 // 0:表 1:裏 | |
| #define SCRN_ACCESSVRAM 0x10 // 0:表 1:裏 | |
| #define SCRN_PCGMODE 0x20 // 0:互換 1:高速 | |
| #define SCRN_CPUFONT 0x40 // 0:8ラスタ 1:16ラスタ | |
| #define SCRN_UNDERLINE 0x80 // 0:なし 1:あり | |
| #define SCRN_DISPCHANGE (SCRN_24KHZ | SCRN_200LINE | \ | // SCRN_24KHZ 0x01 // 0:15KHz 1:24KHz |
| SCRN_TEXTYx2 | SCRN_UNDERLINE) | // SCRN_200LINE 0x02 // 0:400line 1:200line |
| // SCRN_TEXTYx2 0x04 // 0:ノーマル 1:縦に拡大 | |
| // SCRN_DISPVRAM 0x08 // 0:表 1:裏 | |
| // SCRN_ACCESSVRAM 0x10 // 0:表 1:裏 | |
| // SCRN_PCGMODE 0x20 // 0:互換 1:高速 | |
| // SCRN_CPUFONT 0x40 // 0:8ラスタ 1:16ラスタ | |
| // SCRN_UNDERLINE 0x80 // 0:なし 1:あり | |
| enum { | |
| SCRN_24KHZ = 0x01, | |
| SCRN_200LINE = 0x02, | |
| SCRN_TEXTYx2 = 0x04, | |
| SCRN_DISPVRAM = 0x08, | |
| SCRN_ACCESSVRAM = 0x10, | |
| SCRN_PCGMODE = 0x20, | |
| SCRN_CPUFONT = 0x40, | |
| SCRN_UNDERLINE = 0x80, | |
| SCRN_DISPCHANGE = SCRN_24KHZ|SCRN_200LINE|SCRN_TEXTYx2|SCRN_UNDERLINE | |
| }; | |
| enum { | |
| CRTCREG_HSIZE = 0, | |
| CRTCREG_HDISP = 1, | |
| CRTCREG_HSYNC = 2, | |
| CRTCREG_PULSE = 3, | |
| CRTCREG_VSIZE = 4, | |
| CRTCREG_VSIZEA = 5, | |
| CRTCREG_VDISP = 6, | |
| CRTCREG_VSYNC = 7, | |
| CRTCREG_CHRCY = 9, | |
| CRTCREG_POSH = 12, | |
| CRTCREG_POSL = 13, | |
| CRTCREG_MAX = 18 | |
| }; | |
| typedef struct { | typedef struct { |
| UINT8 PAL_B; | |
| UINT8 PAL_R; | |
| UINT8 PAL_G; | |
| UINT8 PLY; | |
| UINT8 TEXT_PAL[8]; | |
| UINT8 SCRN_BITS; | UINT8 SCRN_BITS; |
| UINT8 CRTC_NUM; | UINT8 width40; |
| UINT8 regnum; | |
| WORD DISP_PAGE; | UINT8 padding; |
| WORD FNT_XL; | UINT8 rgbp[4]; |
| WORD FNT_YL; | UINT8 reg[CRTCREG_MAX]; |
| 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; | |
| BYTE TXT_VL; | |
| BYTE TXT_VLA; | |
| WORD TXT_TOP; | |
| WORD fnty; | |
| UINT8 BLACKPAL; | UINT8 BLACKPAL; |
| UINT8 EXTPALMODE; | UINT8 EXTPALMODE; |
| UINT8 EXTGRPHPAL; | UINT8 EXTGRPHPAL; |
| Line 85 typedef struct { | Line 96 typedef struct { |
| } CRTCSTAT; | } CRTCSTAT; |
| typedef struct { | typedef struct { |
| SINT32 rasterclock8; | |
| SINT32 rasterdisp8; | |
| UINT fonty; | |
| UINT yl; | |
| SINT32 frameclock; | |
| UINT8 *gram; // curvram | UINT8 *gram; // curvram |
| UINT updatemask; // updatemsk | UINT updatemask; // updatemsk |
| UINT8 updatebit; // curupdt | UINT8 updatebit; // curupdt |
| UINT8 dispmode; | |
| UINT8 pal_bank; | |
| UINT8 pal_disp; | |
| UINT pos; | |
| SINT32 dispclock; | |
| SINT32 vsyncstart; | |
| SINT32 vpulseclock; | |
| } CRTCEXT; | } CRTCEXT; |
| typedef struct { | typedef struct { |
| UINT8 text[8]; | |
| UINT16 grph[2][64]; | |
| UINT16 grph4096[4096]; | |
| } CRTCPAL; | |
| typedef struct { | |
| CRTCSTAT s; | CRTCSTAT s; |
| CRTCEXT e; | CRTCEXT e; |
| CRTCPAL p; | |
| } CRTC; | } CRTC; |
| extern BYTE crtc_TEXTPAL[8]; | // ---- |
| extern WORD crtc_GRPHPAL[2][64]; | |
| extern WORD crtc_PAL4096[4096]; | |
| //********************************************************************** | |
| void vrambank_patch(void); | void crtc_setwidth(REG8 width40); |
| void crtc_update(void); | |
| // void crtc_bankupdate(void); // vrambank_patch | |
| // void crtc_regupdate(void); | |
| void IOOUTCALL crtc_o(UINT port, REG8 value); // x1_crtc_w | void IOOUTCALL crtc_o(UINT port, REG8 value); // x1_crtc_w |
| Line 133 REG8 IOINPCALL blackctrl_i(UINT port); | Line 164 REG8 IOINPCALL blackctrl_i(UINT port); |
| void crtc_initialize(void); | void crtc_initialize(void); |
| void crtc_reset(void); | void crtc_reset(void); |
| void crtc_forcesetwidth(REG8 width); | |
| #ifdef __cplusplus | #ifdef __cplusplus |
| } | } |