/****************************************************
 *   FM-TOWNS CRTC register access library : crtc   *
 *             Program made by K,Ajima              *
 *           Copyright  ajyan soft l.t.d.           *
 ****************************************************/



/*** crtc ****************************************************************

  ＦＭ−ＴＯＷＮＳのＣＲＴＣ関連レジスタにアクセスするライブラリです。

  ソースファイルにｃｒｔｃ．ｈをインクルードしｃｒｔｃｘ．ｌｉｂとリンクし
ます。

ｃｒｔｃ＿ｘｘｘｘｘ（）        ：  ＣＲＴＣレジスタにアクセスする関数。

**************************************************************************/



#ifndef _CRTC_HEADER_INCLUDED



#define _CRTC_HEADER_INCLUDED



/********************************************************************
 *
 *	crtc_関数群
 *
 *
 *
 *
 *



/********************************************************************
 *	CRTCレジスタ名マクロ
 ********************************************************************/
#define CRTC_CRTC_HSW1	0	/* 水平同期幅1 */
#define CRTC_CRTC_HSW2	1	/* 水平同期幅2 */
#define CRTC_CRTC_HST	4	/* 水平同期周期 */

#define CRTC_CRTC_VST1	5	/* 垂直同期時間1 */
#define CRTC_CRTC_VST2	6	/* 垂直同期時間2 */
#define CRTC_CRTC_EET	7	/* 等化パルス有効時間 */
#define CRTC_CRTC_VST	8	/* 垂直同期周期 */

#define CRTC_CRTC_HDS0	9	/* 水平表示開始位置0 */
#define CRTC_CRTC_HDE0	10	/* 水平表示終了位置0 */
#define CRTC_CRTC_HDS1	11	/* 水平表示開始位置1 */
#define CRTC_CRTC_HDE1	12	/* 水平表示終了位置1 */

#define CRTC_CRTC_VDS0	13	/* 垂直表示開始位置0 */
#define CRTC_CRTC_VDE0	14	/* 垂直表示終了位置0 */
#define CRTC_CRTC_VDS1	15	/* 垂直表示開始位置1 */
#define CRTC_CRTC_VDE1	16	/* 垂直表示終了位置1 */

#define CRTC_CRTC_FA0	17	/* フレーム先頭アドレス0 */
#define CRTC_CRTC_HAJ0	18	/* 水平アジャスト0 */
#define CRTC_CRTC_FO0	19	/* フィールド間アドレスオフセット0 */
#define CRTC_CRTC_LO0	20	/* ライン間アドレスオフセット0 */

#define CRTC_CRTC_FA1	21	/* フレーム先頭アドレス1 */
#define CRTC_CRTC_HAJ1	22	/* 水平アジャスト1 */
#define CRTC_CRTC_FO1	23	/* フィールド間アドレスオフセット1 */
#define CRTC_CRTC_LO1	24	/* ライン間アドレスオフセット1 */

#define CRTC_CRTC_EHAJ	25	/* 外部同期水平アジャスト */
#define CRTC_CRTC_EVAJ	26	/* 外部同期垂直アジャスト */

#define CRTC_CRTC_ZOOM	27	/* 水平垂直拡大 */

#define CRTC_CRTC_CR0	28	/* コントロールレジスタ0 */
#define CRTC_CRTC_CR1	29	/* コントロールレジスタ1 */
#define CRTC_CRTC_FR	30	/* ダミーレジスタ */
#define CRTC_CRTC_CR2	31	/* コントロールレジスタ2 */



/********************************************************************
 *	VIDEOレジスタ名マクロ
 ********************************************************************/
#define CRTC_VIDEO_CTRL		0	/* コントロールレジスタ */
#define CRTC_VIDEO_PRIOLITY	1	/* プライオリティーレジスタ */



/********************************************************************
 *	CRTCレジスタセット
 *		1. レジスタ名
 *		2. セットする値
 ********************************************************************/
extern void _fastcall crtc_set_crtcreg(int crtc_name,unsigned int crtc_reg);



/********************************************************************
 *	ビデオ出力コントローラＩ／Ｏレジスタ設定
 *		1. レジスタ名
 *		2. セットする値
 ********************************************************************/
extern void _fastcall crtc_set_videoreg(int crtc_name,int crtc_reg);



/********************************************************************
 *	CRTC出力コントロールレジスタ設定
 *		設定する値
 ********************************************************************/
extern void _fastcall crtc_set_crtcoutreg(int crtc_reg);



#endif

