;
;	System Management & Peripheral Control Library
;					1995/02/20  by 'Artemis' T.Ono


 Tv

	 rsȂĂ̂ŁA}`vZXł̎gp\B
	 R[h̑啝toB
		rlob荞ݏ֐ł̏Ԃ̒ZkсA
		I[o[wbhɕۂĂ邽߁AytFf[^擾
		œKĂ鎞ł^CI[o[ɂB
	 AvP[V炠^C~OŌĂяołB
		rlobR}hNGXgt[ŊɃC^vgobN
		sĂꍇAR}hLbVɃL[COA
		̂uuNœK؂ɂrlobւ̃R}hssȂB
	 C^vgobNsEf[^W͑SB
		[U[f[^W̐ݒύXƁÃt[
		IɃC^vgobN𔭍săf[^WsȂB
		rlobf[^WłȑÕf[^QƂłA
		t[ςuuNɍŐV̏ɐ؂ւB
	 ytFڑ|[g̃XLbv@\B
		}`^bv؈ӎKvB
	 X[ubot̃R}hsʁB
		iAzzłł̓ANZXtöׁA
		X[uboťĂяo͋ĂȂj


 ֐ڍ

	߂l Bool ̊֐́AsʂԂB
		OK ... 
		NG ... s

	sꍇAȉ̏󋵂lB

		SĂ̊֐

			 Z}tH̎擾łȂivZXɂăbNj

		ytF|[go͊֐

			 C^vgobNݒ肪Ă

		R}hNGXg֐

			 R}hLbVI[o[t[
			 X[ubot̃R}hsɒG

		R}hNGXg֐̂Arlob̃R}hsI҂
		сAslClockChange352, slClockChange320

			 C^vgobNsĂ

		C^vgobNݒ֐

			 ytF|[go͐ݒ肪Ȃ
			 X[ubot̃R}hsɒG

		̑At̃}Ngpɕsȃp[^p
		R}hNGXgꍇ

	 

;-------------------------------------------------------------------------------;
;	ytF̏
;		Prottype	: void slInitPeripheral(void)
;		Contents	: slInitSystem ̒ŌĂяoĂ̂
;				: [U[ĂԕKv͂Ȃ
;-------------------------------------------------------------------------------;

	 ytF|[go
		 rgQ_CNg[hł̐Ɏgp

;-------------------------------------------------------------------------------;
;	ytF|[gP̓o͕擾
;		Prottype	: Uint8 slGetPortDir1(void)
;		Contents	: ʂVrbĝݗL
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ytF|[gQ̓o͕擾
;		Prottype	: Uint8 slGetPortDir2(void)
;		Contents	: ʂVrbĝݗL
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ytF|[gP̓o͕ݒ
;		Prottype	: Bool slSetPortDir1(Uint8)
;		Contents	: ʂVrbĝݗL
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ytF|[gQ̓o͕ݒ
;		Prottype	: Bool slSetPortDir2(Uint8)
;		Contents	: ʂVrbĝݗL
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ytF|[gP̃f[^擾
;		Prottype	: Uint8 slGetPortData1(void)
;		Contents	: ʂVrbĝݗL
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ytF|[gQ̃f[^擾
;		Prottype	: Uint8 slGetPortData2(void)
;		Contents	: ʂVrbĝݗL
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ytF|[gP̃f[^ݒ
;		Prottype	: void slSetPortData1(Uint8)
;		Contents	: ʂVrbĝݗL
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ytF|[gQ̃f[^ݒ
;		Prottype	: void slSetPortData2(Uint8)
;		Contents	: ʂVrbĝݗL
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ytF|[gP̓o̓ZNg[h擾
;		Prottype	: Uint8 slGetPortSelect1(void)
;		Contents	: SMPC_CONTROL    ... rlobRg[ilj
;				: SMPC_SH2_DIRECT ... rgQ_CNg
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ytF|[gQ̓o̓ZNg[h擾
;		Prottype	: Uint8 slGetPortSelect2(void)
;		Contents	: SMPC_CONTROL    ... rlobRg[ilj
;				: SMPC_SH2_DIRECT ... rgQ_CNg
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ytF|[gP̓o̓ZNg[hݒ
;		Prottype	: Bool slSetPortSelect1(Uint8)
;		Contents	: SMPC_CONTROL    ... rlobRg[ilj
;				: SMPC_SH2_DIRECT ... rgQ_CNg
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ytF|[gQ̓o̓ZNg[hݒ
;		Prottype	: Bool slSetPortSelect2(Uint8)
;		Contents	: SMPC_CONTROL    ... rlobRg[ilj
;				: SMPC_SH2_DIRECT ... rgQ_CNg
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ytF|[gP̊Ob`̓[h擾
;		Prottype	: Uint8 slGetPortExt1(void)
;		Contents	: SMPC_EXL_DIS ... Ob`͋֎~ilj
;				: SMPC_EXL_ENA ... Ob`͋
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ytF|[gQ̊Ob`̓[h擾
;		Prottype	: Uint8 slGetPortExt2(void)
;		Contents	: SMPC_EXL_DIS ... Ob`͋֎~ilj
;				: SMPC_EXL_ENA ... Ob`͋
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ytF|[gP̊Ob`̓[hݒ
;		Prottype	: Bool slSetPortExt1(Uint8)
;		Contents	: SMPC_EXL_DIS ... Ob`͋֎~ilj
;				: SMPC_EXL_ENA ... Ob`͋
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ytF|[gQ̊Ob`̓[hݒ
;		Prottype	: Bool slSetPortExt2(Uint8)
;		Contents	: SMPC_EXL_DIS ... Ob`͋֎~ilj
;				: SMPC_EXL_ENA ... Ob`͋
;-------------------------------------------------------------------------------;

	 ytFRg[[h
		 AvP[V̎dlɂAKvȂݒ

;-------------------------------------------------------------------------------;
;	ytF擾ԍœK[h擾
;		Prottype	: Uint8 slGetOptimize(void)
;		Contents	: SMPC_OPT_ENA ... 擾ԍœKilj
;				: SMPC_OPT_DIS ... 擾ԍœK֎~
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ytF擾ԍœK[hݒ
;		Prottype	: Bool slSetOptimize(Uint8)
;		Contents	: SMPC_OPT_ENA ... 擾ԍœKilj
;				: SMPC_OPT_DIS ... 擾ԍœK֎~
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ytF|[gP̃|[g[h擾
;		Prottype	: Uint8	slGetPortMode1(void)
;		Contents	: SMPC_PORT_15   ... PToCg[hilj
;				: SMPC_PORT_255  ... QTToCg[h
;				: SMPC_PORT_ZERO ... OoCg[h
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ytF|[gQ̃|[g[h擾
;		Prottype	: Uint8	slGetPortMode2(void)
;		Contents	: SMPC_PORT_15   ... PToCg[hilj
;				: SMPC_PORT_255  ... QTToCg[h
;				: SMPC_PORT_ZERO ... OoCg[h
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ytF|[gP̃|[g[hݒ
;		Prottype	: Bool	slSetPortMode1(Uint8)
;		Contents	: SMPC_PORT_15   ... PToCg[hilj
;				: SMPC_PORT_255  ... QTToCg[h
;				: SMPC_PORT_ZERO ... OoCg[h
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ytF|[gQ̃|[g[hݒ
;		Prottype	: Bool	slSetPortMode2(Uint8)
;		Contents	: SMPC_PORT_15   ... PToCg[hilj
;				: SMPC_PORT_255  ... QTToCg[h
;				: SMPC_PORT_ZERO ... OoCg[h
;-------------------------------------------------------------------------------;

	 Ԑ

;-------------------------------------------------------------------------------;
;	rlobZbg{^Ԃ擾
;		Prottype	: Uint8 slCheckReset(void)
;		Contents	: SMPC_RES_OFF ... Zbg{^neeilj
;				: SMPC_RES_ON  ... Zbg{^nm
;				: x ON ɂȂ slClearReset ĂԂ܂ŕωȂ
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlobZbg{^ԂNA
;		Prottype	: Bool slClearReset(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	C^vgobNݒ蒆tONA
;		Prottype	: Bool slIntBackCancel(void)
;				: C^vgobNݒ鎞Ɏgp
;-------------------------------------------------------------------------------;

	 rlobϊT[rX
		 rlobێANZXɎgp

;-------------------------------------------------------------------------------;
;	rlobԍ擾
;		Prottype	: Uint8 slGetLanguage(void)
;		Contents	: SMPC_ENGLISH  ... p
;				: SMPC_DEUTSCH  ... hCc
;				: SMPC_FRANCAIS ... tX
;				: SMPC_ESPANOL  ... XyC
;				: SMPC_ITALIANO ... C^A
;				: SMPC_JAPAN    ... {
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlobԍݒ
;		Prottype	: void slSetLanguage(Uint8)
;		Contents	: SMPC_ENGLISH  ... p
;				: SMPC_DEUTSCH  ... hCc
;				: SMPC_FRANCAIS ... tX
;				: SMPC_ESPANOL  ... XyC
;				: SMPC_ITALIANO ... C^A
;				: SMPC_JAPAN    ... {
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlobʉ[h擾
;		Prottype	: Uint8 slGetSoundEffect(void)
;		Contents	: SMPC_EFFECT_ON  ... ʉnm
;				: SMPC_EFFECT_OFF ... ʉnee
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlobʉ[hݒ
;		Prottype	: void slSetSoundEffect(Uint8)
;		Contents	: SMPC_EFFECT_ON  ... ʉnm
;				: SMPC_EFFECT_OFF ... ʉnee
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlobo̓[h擾
;		Prottype	: Uint8 slGetSoundOutput(void)
;		Contents	: SMPC_SOUND_STEREO ... XeI
;				: SMPC_SOUND_MONO   ... m
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlobo̓[hݒ
;		Prottype	: void slSetSoundOutput(Uint8)
;		Contents	: SMPC_SOUND_STEREO ... XeI
;				: SMPC_SOUND_MONO   ... m
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlobwvEBhE[h擾
;		Prottype	: Uint8 slGetHelpWindow(void)
;		Contents	: SMPC_HELP_ENA ... \
;				: SMPC_HELP_DIS ... \Ȃ
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlobwvEBhE[hݒ
;		Prottype	: void slSetHelpWindow(Uint8)
;		Contents	: SMPC_HELP_ENA ... \
;				: SMPC_HELP_DIS ... \Ȃ
;-------------------------------------------------------------------------------;

	 rlobR}hNGXgi NO_WAIT j
		 rlob̃R}hsI҂Ȃ
		 C^vgobNsĂR}hLbVgp
		 ȉ̊֐͂qnl[`Ăяo߁A
			EGCg[hƂȂALbVgps
			slClockChange352, slClockChange320

;-------------------------------------------------------------------------------;
;	}X^@rgQ@nm
;		Prottype	: Bool slMasterOn(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	X[u@rgQ@nm
;		Prottype	: Bool slSlaveOn(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	X[u@rgQ@nee
;		Prottype	: Bool slSlaveOff(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	TEh@nm
;		Prottype	: Bool slSoundOn(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	TEh@nee
;		Prottype	: Bool slSoundOff(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	bc@nm
;		Prottype	: Bool slCDOn(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	bc@nee
;		Prottype	: Bool slCDOff(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	VXeS̃Zbg
;		Prottype	: Bool slSystemReset(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	NbN`FWRTQ[h
;		Prottype	: Bool slClockChange352(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	NbN`FWRQO[h
;		Prottype	: Bool slClockChange320(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	mlhNGXg
;		Prottype	: Bool slNMIRequest(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ZbgCl[u
;		Prottype	: Bool slResetEnable(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ZbgfBXG[u
;		Prottype	: Bool slResetDisable(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlobݒ
;		Prottype	: Bool slSetSmpcMemory(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ݒ
;		Prottype	: Bool slSetDateTime(void)
;-------------------------------------------------------------------------------;

	 rlobR}hNGXgi WAIT j
		 rlob̃R}hsI҂
		 C^vgobNsĂ玸s

;-------------------------------------------------------------------------------;
;	}X^@rgQ@nm
;		Prottype	: Bool slMasterOnWait(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	X[u@rgQ@nm
;		Prottype	: Bool slSlaveOnWait(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	X[u@rgQ@nee
;		Prottype	: Bool slSlaveOffWait(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	TEh@nm
;		Prottype	: Bool slSoundOnWait(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	TEh@nee
;		Prottype	: Bool slSoundOffWait(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	bc@nm
;		Prottype	: Bool slCDOnWait(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	bc@nee
;		Prottype	: Bool slCDOffWait(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	mlhNGXg
;		Prottype	: Bool slNMIRequestWait(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ZbgCl[u
;		Prottype	: Bool slResetEnableWait(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ZbgfBXG[u
;		Prottype	: Bool slResetDisableWait(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlobݒ
;		Prottype	: Bool slSetSmpcMemoryWait(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ݒ
;		Prottype	: Bool slSetDateTimeWait(void)
;-------------------------------------------------------------------------------;

	 C^vgobNݒ
		 xĂׂ΂悭AݒύX鎞ɂ̂܂܌Ăׂ
		 ̃t[ݒ肪LƂȂAf[^WJn
		 ݒύXꍇÃt[ŎWf[^
			̃t[ł̎Qƃf[^ɔfA
			̃t[ł̎Wf[^
			Vݒ肪f
		 āAWf[^QƂł̂
			ݒQt[ڂƂȂ
		CuŃAslInitSystem ŃytFf[^̂ݎ擾
			ݒĂ̂ŁAEGCgɃytF̎QƂ
			Jn鎖ł

;-------------------------------------------------------------------------------;
;	C^vgobNirlobXe[^XEytFf[^擾j
;		Prottype	: Bool slGetStatus(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	C^vgobNiytFf[^̂ݎ擾j
;		Prottype	: Bool slGetPeripheral(void)
;-------------------------------------------------------------------------------;


 gp@

	 őSĂ킩I
		ytFTvvO

;-------------------------------------------------------------------------------;

void main()
{
	slInitSystem(TV_320x224, NULL, 1);
	{
		slSetLanguage(SMPC_JAPAN);
		slSetSoundEffect(SMPC_EFFECT_ON);
		slSetSoundOutput(SMPC_SOUND_STEREO);
		slSetHelpWindow(SMPC_HELP_ENA);
		(void)slSetSmpcMemory();
	}

	{
		SmpcDateTime* dt = &(Smpc_Status->rtc);

		dt->year = 0x1999;
		dt->month = SMPC_FRI | SMPC_DEC;
		dt->date = 0x31;
		dt->hour = 0x23;
		dt->minute = 0x59;
		dt->second = 0x59;
		(void)slSetDateTime();
	}

	(void)slResetDisable();
	(void)slCDOn();
	(void)slSoundOn();

	while(TRUE) {
		if(slCheckReset() == SMPC_RES_ON) {
			(void)slClearReset();
			break;
		}

		if(Per_Connect1) {
			PerDigital* pad;

			pad = Smpc_Peripheral + 0;
			if(!(pad->data & PER_DGT_ST)) break;
		}
		slSynch();
	}

	(void)slSoundOff();
	(void)slCDOff();
	(void)slResetEnable();
	(void)slIntBackCancel();

	while(TRUE) slSynch();
}

;-------------------------------------------------------------------------------;


 Cugp̋ւ肨сA
	t@NVR[菇ɂss̗

	 X[urgQ̌Ăяo͋֎~B
		zzłł͓[NGALbVX[̈ɎĂȂ̂ŁA
		삪sƂȂB
		ɔr䂪ɍsȂȂׁArlobfbhbNȂǂ
		sB
		AX[urgQ̌ĂяoT|[gKvꍇ
		[NGALbVX[AhXɂĈ݂ŉB

	 "slGetPeripheral"  "slGetStatus" sA
		ȉ̊֐ĂяoꂽɃCgobNR}hsꍇA
		sɎsB
		̓EGCg[hł̂rlobR}hNGXg
		R}hLbVgpȂOƂĂ邽߁B

		slCDOffWait
		slCDOnWait
		slMasterOnWait
		slNMIRequestWait
		slResetDisableWait
		slResetEnableWait
		slSetDateTimeWait
		slSetSmpcMemoryWait
		slSlaveOffWait
		slSlaveOnWait
		slSoundOffWait
		slSoundOnWait

		L̎ssɂ́A"slIntBackCancel" ĂяoA
		̃t[ŃR}hs΂悢B

		ȉ̊֐̓CgobNR}hsłȂĂsɎsB
		͂rlobݒԈȊOł̃CgobNR}h̔s
		֎~Ă邽߁B

		slSetPortDir1,2
		slSetPortExt1,2
		slSetPortSelect1,2

		L̎ssɂ́A"slIntBackCancel" Ăяo΂悢B

	 "slIntBackCancel" sAȉ̏ݒ肵ꍇA
		"slGetPeripheral" ̌ďoŎsƂȂB

		"slSetPortSelect1,2" łrlobRg[[hɂ|[gɂ
			"slSetPortDir1,2" ŏo͐ݒɂB
			"slSetPortExt1,2" ŊOb`͂B
			Lꂩ̏ꍇсAݒ肵ꍇB

		͂rlobݒԈȊOł̃CgobNR}h̔s
		֎~Ă邽߁B

		"slSetPortSelect1,2" Ń|[gPEQɂrgQ_CNg[hɂB

		͂rlob|[go͐ݒɊւ炸A
		|[gZNgɂrgQ_CNg[h̎́A
		ytFf[^݂̂ԂCgobNR}h
		s֎~Ă邽߁B

	 "slIntBackCancel" sAȉ̏ݒ肵ꍇA
		"slGetStatus" ̌ďoŎsƂȂB

		"slSetPortSelect1,2" łrlobRg[[hɂ|[gɂ
			"slSetPortDir1,2" ŏo͐ݒɂB
			"slSetPortExt1,2" ŊOb`͂B
			Lꂩ̏ꍇсAݒ肵ꍇB

		͂rlobݒԈȊOł̃CgobNR}h̔s
		֎~Ă邽߁B


 E\

	 őLbVOR}h   ... RP
	 őytFf[^TCY ... PToCg  RO|[g
		XTNSP݂ŔĂytFfoCXсA
		㔭ytFfoCX̂PToCg[hł
		f[^擾ɑΉB
		VXeϐ "Smpc_Result"  "Smpc_Peripheral" ւ
		[U[`obt@AhX̓o^ɂA
		QTToCg[hɂf[^擾\B
		AfoCXŗL̃f[^ϊsȂɂ
		CuT|[gKvB


 ܂

	 Cu[J֐dl
		ڂ̓AZu\[Xt@CĂ

;-------------------------------------------------------------------------------;
;	rlobZ}tH̊l
;		Prottype	: Bool slGetSmpcSemaphore(void)
;		Contents	: OK ... 
;				: NG ... s
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlobZ}tH̉
;		Prottype	: Bool slSendSmpcSemaphore(Bool)
;		Contents	: ƓlԂ
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	{^f[^
;		Prottype	: void slPerInitButton(Uint16, void*)
;		Contents	: Data, Push, Pull ̏
;				: ͋Uł
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	{^f[^ݒ
;		Prottype	: void slPerSetButton(Uint16, void*)
;		Contents	: Data, Push, Pull ̐ݒ
;				: ɐVfW^f[^n
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	gpf[^]
;		Prottype	: void* slPerReserved(void*, void*)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	T^[Wpbhf[^]
;		Prottype	: void* slPerSaturnPad(void*, void*)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	T^[[VORg[[f[^]
;		Prottype	: void* slPerSaturnLacing(void*, void*)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	T^[AiOWCXeBbNf[^]
;		Prottype	: void* slPerSaturnAnalog(void*, void*)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	T^[}EXf[^]
;		Prottype	: void* slPerSaturnMouse(void*, void*)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	T^[L[{[hf[^]
;		Prottype	: void* slPerSaturnKeyBoard(void*, void*)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	KhCuR{^pbhf[^]
;		Prottype	: void* slPerMega3ButtonPad(void*, void*)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	KhCuU{^pbhf[^]
;		Prottype	: void* slPerMega6ButtonPad(void*, void*)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	gTCYfW^foCXf[^]
;		Prottype	: void* slExtDigitalDev(void*, void*)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	gTCYAiOfoCXf[^]
;		Prottype	: void* slExtAnalogDev(void*, void*)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	gTCY|CeBOfoCXf[^]
;		Prottype	: void* slExtPointingDev(void*, void*)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	gTCYL[{[hfoCXf[^]
;		Prottype	: void* slExtKeyBoardDev(void*, void*)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	gTCYKhCufoCXf[^]
;		Prottype	: void* slExtMegaDriveDev(void*, void*)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	sfoCXf[^]
;		Prottype	: void* slPerUnknownDev(void*, void*)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ڑf[^]
;		Prottype	: void* slPerNotConnect(void*, void*)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlobR}hԍrlobR}he[uAhXɕϊ
;		Prottype	: void* slGetSmpcComTbl(Uint8)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	C^vgobNݒ̃`FbN
;		Prottype	: Bool slIntBackCondition(void)
;		Contents	: OK ... 
;				: NG ... s
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ytFo̓ZNg[h̃`FbN
;		Prottype	: Bool slIntBackSelect(void)
;		Contents	: OK ... 
;				: NG ... s
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ytF|[g[h̃`FbN
;		Prottype	: Uint32 slIntBackPortMode(Uint32)
;		Contents	: OK ... 
;				: NG ... s
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlobR}hLbVɒǉ
;		Prottype	: Bool slRequestQueue(void*, Uint8)
;		Contents	: OK ... 
;				: NG ... s
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	C^vgobNstÕ`FbN
;		Prottype	: Bool slCheckIntBackReq(void)
;		Contents	: OK ... 
;				: NG ... s
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	C^vgobNݒ蒆tÕ`FbN
;		Prottype	: Bool slCheckIntBackSet(void)
;		Contents	: OK ... 
;				: NG ... s
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	C^vgobNݒ蒆tOZbg
;		Prottype	: void slSetIntBack(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlobZbg{^JE^[XV
;		Prottype	: void slUpdateResetCount(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlobytFf[^
;		Prottype	: void slClearPeripheral(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlobytFf[^ݒ
;		Prottype	: Uint8 slSetPeripheral(Uint8**, void**)
;		Contents	: ڑĂytFɁA
;				: f[^]֐Ăяo
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlobUgf[^ݒ
;		Prottype	: void slSetResultData(void)
;		Contents	: |[g̓]
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlobR}hLbV̑M
;		Prottype	: void slSmpcCashSend(void)
;		Contents	: V_Blank_In 荞ݏ֐A
;				: t[Pʁit[̕ςځjŌĂяo
;				: IntBack R}hsōsȂ
;				: 300[us] ĂĂł
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlobR}hLbV̔ro
;		Prottype	: void slSmpcCashBlow(void)
;		Contents	: V_Blank_Out 荞ݏ֐A
;				: iujĂяo
;				: IntBack ĂȂɁALbVOĂ
;				: R}hŏ
;				: iuuNɔsȂ܂ށj
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlobXe[^X擾
;		Prottype	: void slGetSmpcStatus(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlobUgf[^擾
;		Prottype	: void slGetSmpcResult(void)
;		Contents	: łRQoCg擾鉎[`ǁA
;				: rlobɂ͂ꂪœKłH
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlob荞ݏ
;		Prottype	: void slSmpcIntBack(void)
;		Contents	: IntBack ̔łĂ΂
;				: OREG 擾ȊOȂ
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	C^vgobNR}hp[^ݒ
;		Prottype	: void slComPrmIntBack(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlobݒR}hp[^ݒ
;		Prottype	: void slComPrmSetMemory(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ݒR}hp[^ݒ
;		Prottype	: void slComPrmSetTime(void)
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlobR}hs
;		Prottype	: Bool slSendSmpcCommand(void*, Uint8)
;		Contents	: OK ... 
;				: NG ... s
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ZbgnR}hs
;		Prottype	: Bool slExecBasicCommand(void*, Uint8)
;		Contents	: OK ... 
;				: NG ... s
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	VXeS̃Zbgs
;		Prottype	: Bool slExecSystemReset(void*, Uint8)
;		Contents	: OK ... 
;				: NG ... s
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	NbN`FWs
;		Prottype	: Bool slExecClockChange(void*, Uint8)
;		Contents	: OK ... 
;				: NG ... s
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	Xe[^X擾s
;		Prottype	: Bool slExecGetStatus(void*, Uint8)
;		Contents	: OK ... 
;				: NG ... s
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ytF擾s
;		Prottype	: Bool slExecGetPeripheral(void*, Uint8)
;		Contents	: OK ... 
;				: NG ... s
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlobݒs
;		Prottype	: Bool slExecSetMemory(void*, Uint8)
;		Contents	: OK ... 
;				: NG ... s
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	ݒs
;		Prottype	: Bool slExecSetTime(void*, Uint8)
;		Contents	: OK ... 
;				: NG ... s
;-------------------------------------------------------------------------------;

;-------------------------------------------------------------------------------;
;	rlobR}h̃NGXg
;		Prottype	: Bool slRequestCommand(Uint8, Uint8)
;		Contents	: OK ... 
;				: NG ... s
;-------------------------------------------------------------------------------;

