/*********************************************************************************
Module# (init.c)+13,16

	Title: イニシャライズモジュール

	File : INIT.C  Ver.1.0  written on Jan.19.1996 by M.M.

**********************************************************************************/
#include "m9401.h"
#define PG_DUM  5

extern float Ers_v,Ers_th;
extern float Xc,Yc;
extern float V,Th,Om;
extern int Z_ref;
extern float Z;
extern float Th0;
extern int flag;
extern int Seg[];
extern int Led1;
extern int Led2;

extern unsigned char outportu();/*  */
extern int inportb();/*  */
extern int outportb();/*  */
extern int disp();
extern int Act;

void rtc_clr();

int init()
{
	int ch,i;

	rtc_clr();

     /*  MMI PIT0 */
	outportb(PGCR0 ,0x00);	/*	clear PGCR0	*/
	outportb(PADDR0,0xff);	/*	all output	*/
	outportb(PBDDR0,0x10);  /*      RRRWRRRR        */
	outportb(PACR0 ,0x80);
	outportb(PBCR0 ,0x80);
	outportb(PGCR0 ,0x02);	/*	mode 0		*/

	outportb(TCR0,0x00);	/*	clear TCR0	*/
	outportb(CPRH0,0x00);
	outportb(CPRM0,0x00);
	outportb(CPRL0,0x3f);   /*	TOUT 2kHz	*/
	outportb(TCR0,0x41);	/*	square wave	*/
      /*  PWM PIT1 */
	outportb(PGCR1 ,0x00);  /*	clear PGCR1	*/
	outportb(PADDR1,0xff);	/*	all output	*/
	outportb(PBDDR1,0xff);	/*	all output	*/
	outportb(PACR1 ,0x80);	/*	submode 1x	*/
	outportb(PBCR1 ,0x80);	/*	submode 1x	*/
	outportb(PGCR1 ,0x00);  /*  mode0 & H1,H2,H3,H4  disable*/

	outportb(TCR1  ,0x00);	
	outportb(CPRH1  ,0x00);
	outportb(CPRM1  ,0x00);
	outportb(CPRL1  ,0x01);	/* Toutの出力は125[kHz] */	
	outportb(TCR1  ,0x41);	/*	square wave	*/

		  /* SSS & PHOTO PIT2 */
	outportb(PGCR2 ,0x00);	/*	clear PGCR2	*/
	outportb(PSRR2, 0x1c); 
	outportb(PACR2 ,0x20);
	outportb(PADDR2,0x03);
	outportb(PBCR2, 0xA0);   
	outportb(PBDDR2,0x00);
	outportb(PGCR2 ,0x18);  /*mode0 &  H3,H4  disable*/

	outportb(TCR2  ,0x00);
	outportb(CPRH2 ,0x00);
	outportb(CPRM2 ,0x14);
	outportb(CPRL2 ,0x4c);	/* アンダーフローまで 16[msec] としている */
	outportb(TCR2  ,0xba);

	outportb(TIVR2,72+0);    /*      sss interrupt causes by tout*/ 

       outportb(MSR,0x0c);
       inportb(0xfdfe07);
       outportb(MSR,0x4c);
       outportb(RTMR,0x08);
       outportb(PFIC,0x10);
       outportb(MSR,0x0c);
 



/*	RE/TS	*/
	outportb(TSIE,0x00);	/*	Touch Sensor Interrupt Enable	*/
	outportb(CRST,0x03);	/*	counter reset	*/	

	outportb(TCR2  ,0xbb); 
	 /* outportb(RTMR ,0x08);*/

	outportu(PADR1,0);
	outportu(PBDR1,0);

		/* Dummy Read of Encoders */
	outportb(CRST,0x03);
	for (ch=0;ch