A. kon.cfg ν

void ReadConfig(void)

kon.cfg Ƥϴؿ ReadConfig() ˤäƽޤ ReadConfig()
ϥȥ̾Ƚؿбɽ򥵡ơɤ߹ȥ꣱ģ
ĤˤĤбؿƤӽФޤ бɽϰʲι¤Τ
٤ΤǤ

	static struct capability {
		const char *name;	    ȥ̾
		void (*func)(const char*);  ؿ
		int initialized;	     1
		const char *def_value;	    ǥե͡ NULLʤɬܥȥ
	};

ؿϥȥͤʸȤԤʤޤ

kon.cfg ɤ߽ȡؿƤӽФʤäȥˤĤƥǥե
ͤꤵƤ뤫ɤĴ١ꤵƤФΥǥեͤ
ؿƤӽФޤ ꤵƤʤХ顼Ȥʤޤ


void DefineCap(const char *name, initializer *func, const char *def_value)

ʥȥơ֥˲äޤ VGA ɥ饤Ф PELS 
ȥɬפȤΤǡδؿȤäɬܥȥɲäƤޤ

void DelCap(const char* name)

бɽΥȥ̾ name νؿޤ ƽκݤ
ȤäƤޤ


B. ӥǥɥ饤ФΥ󥿡ե

¤ vInfo

ӥǥɥ饤ФФϤ٤ƹ¤ vInfo ̤ƹԤʤޤ

struct videoInfo {
	bool	has_hard_scroll;	ϡɥ뤬Ȥ뤫ɤ
	void	(*init)(void),		
		(*text_mode)(void),	ƥȥ⡼ɤؤ
		(*graph_mode)(void),	եå⡼ɤؤ
		(*wput)(u_char *code, u_char fc, u_char bc),
				        
		(*sput)(u_char *code, u_char fc, u_char bc),
				        ANK
		(*set_cursor_address)(struct cursorInfo *c, u_int x, u_int y),
					 c Υɥ쥹 (x, y) 
		(*set_address)(u_int i),˽ʸΥɥ쥹 i ʸܤ
		(*cursor)(bool),	on/off
		(*clear_all)(void),	̥ꥢ
		(*screen_saver)(bool),	꡼󥻡(TRUEǥ֡FALSE)

		/* ϡɥ뤬ȤʤаʲNULL */
		(*set_start_address)(),	ɽϥɥ쥹
		(*hard_scroll_up)(int lines),   ϡɥ륢å
		(*hard_scroll_down)(int lines); ϡɥ
} vInfo;


void ConfigDisplay(const char *config)

ӥǥɥ饤Хȥνؿ ConfigDisplay() ϡȥʸ
 config κǽιԤ򥭡Ȥƥӥǥɥ饤ؿ򤷤ޤ 
ӥǥɥ饤ؿ dInfo  vInfo ˤΥɥ饤ФȤͤ
ꤷޤޤVGA, VGAFM ɥ饤Фξϥ쥸ͤ config ʸ
ƥɥ饤ѿ˵ޤ
