------------------------------------------------------------------------------
HSP3f[^tH[}bg v0.2                     HSP : Hot Soup Processor  
zbgX[vvZbT                     copyright 2011 (c) onion software  
------------------------------------------------------------------------------

E͂߂

	̎́AHot Soup Processor ver3.0ȍ~̃t@CdlA
	ċLqĂ܂B

	HSP3f[^tH[}bǵAOpenHSP̈ꕔƂČJĂA
	OpenHSPƓl̃CZXKpĂ܂B

	у\[XR[h́Al̗pApƂĎRɉ҂
	gB҂̂lbgŌJꍇApsȂ
	ȂǕs葽ɌĴ쐬ꍇ́AOɍ҂܂Ń[ɂ
	AƊł(`ł͂܂)B
	HSP2AHSP3܂Hot Soup Processor(zbgX[vvZbT[)
	dĺAOnion Software/onitamaSƂȂĕێǗsȂ
	܂B
	̃[U[̗֐D悵AȂ`ŁAHSP̎dlǗ
	pčsȂ߂ɂ͒ΊłB

	Ƃɍ쐬ꂽhLgTIPŚA܂̓c[ɊւẮA
	RɌJĂč\܂B

	HSP3f[^tH[}bǵABSDCZX{ƂĎRɉҁA
	AJAzz邱Ƃł܂B
	hJꍇɂ́Aȉ̒쌠\𖾎悤
	ĂB
	܂AKvł΁AҎ҂̒쌠\t悤ɂĂB

OpenHSP
Copyright (C) 1997-2011, Onion Software/onitama.
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 
Neither the name of the Onion Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Ehsp3R[ho

	HSP3R[hWFl[^[(hspcmp.dll)́AeLXg`HSP3\[X
	R[hAax`t@C(HSPIuWFNgt@C)ɕϊ܂B
	̍ۂɁA\[XR[hhsp3ԃR[hɒu܂B
	vvZbT߂}N`߁AxOQƏȂǂ
	ϊɉAK؂Ȍ`ɕϊ܂B
	HSP^C(hsp3.exe)́Aax`t@Cǂݍ݁A
	hsp3ԃR[h𒀎ǂݏoȂssȂ܂B

		HSP3\[XR[h(.hsp)
			
		vvZXɒԃR[hu
			
		ax`t@C(.ax)


Eaxt@CtH[}bg

	ax`t@C(HSPIuWFNgt@C)ɂ́Aȉ̂悤ȃf[^i[
	Ă܂Bꂼ̃ubŃAAXwb_񂩂ItZbgQ
	`Ńt@C̈ʒu肷邱Ƃł܂B

		
		     AXwb_     
		
		 Option Info(OPTBUF)  
		
		   Code Segment(CS)   
		
		   Data Segment(DS)   
		
		    Object Temp(OT)   
		
		  Debug Info(DINFO)   
		
		    Lib Info(LINFO)   
		
		   Func Info(FINFO)   
		
		  Module Info(MINFO)  
		
		  Func Info2(FINFO2)  
		
		    HPI Info(HPIBUF)  
		

	ꂼ̃f[^\̓éAȉ̒ʂłB

	EAXwb_

	AXwb_̏ڍׂ́Aȉ̍\̂QƂĂB
	(hsp3struct.hŒ`)

	typedef struct HSPHED
	{
	//		HSP3.0 header structure
	//

	char	h1;					// magic code1
	char	h2;					// magic code2
	char	h3;					// magic code3
	char	h4;					// magic code4
	int		version;			// version number info
	int		max_val;			// max count of VAL Object
	int		allsize;			// total file size

	int		pt_cs;				// ptr to Code Segment
	int		max_cs;				// size of CS
	int		pt_ds;				// ptr to Data Segment
	int		max_ds;				// size of DS

	int		pt_ot;				// ptr to Object Temp
	int		max_ot;				// size of OT
	int		pt_dinfo;			// ptr to Debug Info
	int		max_dinfo;			// size of DI

	int		pt_linfo;			// ptr to LibInfo(2.3)
	int		max_linfo;			// size of LibInfo(2.3)
	int		pt_finfo;			// ptr to FuncInfo(2.3)
	int		max_finfo;			// size of FuncInfo(2.3)

	int		pt_minfo;			// ptr to ModInfo(2.5)
	int		max_minfo;			// size of ModInfo(2.5)
	int		pt_finfo2;			// ptr to FuncInfo2(2.5)
	int		max_finfo2;			// size of FuncInfo2(2.5)

	int		pt_hpidat;			// ptr to HPIDAT(3.0)
	short		max_hpi;			// size of HPIDAT(3.0)
	short		max_varhpi;			// Num of Vartype Plugins(3.0)
	int		bootoption;			// bootup options
	int		runtime;			// ptr to runtime name

	} HSPHED;

	uptr to`vĂ̂́AۂɃf[^݂t@C擪
	ItZbglłB
	usize of`vĂ̂́Af[^ubÑTCYłB

	magic code1`4́AuHSP3v̕R[h܂B
	versiońAR[hWFl[^[̃o[W܂B
	(3.1̏ꍇ́A0x0301ƂȂ܂B)

	bootoptiońAȉ̃tOi[܂B

	#define HSPHED_BOOTOPT_DEBUGWIN 1	// NfobOEChD\
	#define HSPHED_BOOTOPT_RUNTIME 0x1000	// I^CLɂ

	I^Cw莞́AruntimeɃ^C(t@C)̃f[^
	ubN̈ʒu(t@C擪̃ItZbg)i[܂B


	ECode Segment(CS)

		\[XWJHSPԃR[htH[}bg̏񂪊i[Ă܂B
		\[XXNvg̐擪珇AԃR[hɒuĊi[܂B
		R[h̏ڍׂ́Auhsp3ԃR[htH[}bgv̍ڂQƂĂB

	EData Segment(DS)

		Ȃǂ̌Œf[^i[Ă܂B
		TCY͕sŁAf[^Ȃǂi[܂B
		ȍ~A̍ڂQƂꍇAuDSItZbglvƌĂт܂B

	EObject Temp(OT)

		xIDɑΉCS̃ItZbgli[Ă܂B

	EDebug Info(DINFO)

		sԍɑΉCS̈ʒu񂪊i[Ă܂B
		ڂ́AuDebug Info(DINFO)ڍׁvQƂĂB

	ELib Info(LINFO)

		OĂяo(DLL)̏񂪊i[Ă܂B

	EFunc Info(FINFO)
	EFunc Info2(FINFO2)

		W[DLL`̍\Ɋւ񂪊i[Ă܂B

	EMod Info(MINFO)

		W[Ɋւ񂪊i[Ă܂B

	EHPI Info(HPIBUF)

		HSP3gvOCɊւ񂪊i[Ă܂B
		́AHPIDAT\(hsp3struct.hŒ`)̔zƂď܂܂B

		typedef struct HPIDAT {
			short	flag;		// flag info
			short	option;
			int	libname;	// lib name index (DS)
			int	funcname;	// function name index (DS)
			void	*libptr;	// lib handle
		} HPIDAT;

		libnamefuncnaméADLLA֐DSItZbglɂȂ܂B
		libptŕA^Csɏނ߂̗\̈łB
		HPIDAT\̂́A܂łHSP3gvOĈ߂̏ŁA
		HSP2.x݊̃vOC͊ODLLĂяoƂȂAɂ
		܂܂Ă܂B

	EOption Info(OPTBUF)

		RpCɎw肳ꂽ^CȂǂ̃IvV񂪊i[Ă܂B


Ehsp3ԃR[htH[}bg

	HSṔA\[XXNvg𒆊ԃR[hɕϊɎssȂC^v^łB
	XNvgɊ܂܂L[[hAAlȂǂ𒆊ԃR[hɕϊĂ܂B
	hsp3ԃR[htH[}bǵAhsp2ŎgpĂtH[}bgɋ߂`
	쐬Ă܂B

	ԃR[hɂ́A舵l͈̔͂ɍ킹2ނ̌`݂܂B


	[32bit code]
		MSB                          LSB
		
		 0 Ex2 Ex1 Ex0    Type    
		
		                   +
		
		           @Code(16bit)    @  @
		

	[48bit code]
		MSB                          LSB
		
		 1 Ex2 Ex1 Ex0    Type    
		
		                   +
		
		           @Code(32bit)    @  @
		

	{16bit(short)lP̒PʂƂȂ܂B
	TypeĺAbit0`bit11 (0`0xfff)B(CSTYPE}NŃ}XNl`)
	Ex0ĺAbit12 (0x1000)B(EXFLG_0}NŒl`)
	Ex1ĺAbit13 (0x2000)B(EXFLG_1}NŒl`)
	Ex2ĺAbit14 (0x4000)B(EXFLG_2}NŒl`)
	CodelA0x0000`0xffff(Ȃ)܂ł̏ꍇ́ATCY팸̂߂
	32bitcode`Ŋi[܂B
	CodelA0x10000ȏ̏ꍇ́A48bit`32bittɊi[܂B
	48bit`̏ꍇ́Aŏ16bitɂbit15(0x8000)ONɂȂ܂B

	TypeĺAi[R[h̎ނ肵܂B

	   Type  | }N         | 
	-----------------------------------------------------------
	      0  | TYPE_MARK      | L(code=R[h)
	      1  | TYPE_VAR       | [U[`ϐ(code=ϐID)
	      2  | TYPE_STRING    | (code=DSItZbg)
	      3  | TYPE_DNUM      | l(code=DSItZbg)
	      4  | TYPE_INUM      | l(code=l)
	      5  | TYPE_STRUCT    | W[ϐE\(code=minfoID)
	      6  | TYPE_XLABEL    | gp
	      7  | TYPE_LABEL     | x(code=OTItZbg)
	      8  | TYPE_INTCMD    | HSP(RA)(code=R}hID)
	      9  | TYPE_EXTCMD    | HSPg(@ˑ)(code=R}hID)
	     10  | TYPE_EXTSYSVAR | HSPg(@ˑ)VXeϐ(code=R}hID)
	     11  | TYPE_CMPCMD    | r(code=R}hID)
	     12  | TYPE_MODCMD    | [U[g߁E֐(code=R}hID)
	     13  | TYPE_INTFUNC   | HSP(RA)֐(code=R}hID)
	     14  | TYPE_SYSVAR    | HSP(RA)VXeϐ(code=R}hID)
	     15  | TYPE_PROGCMD   | vO䖽(code=R}hID)
	     16  | TYPE_DLLFUNC   | ODLLg߁E֐(code=R}hID)
	     17  | TYPE_DLLCTRL   | gDLLRg[R}h(code=R}hID)
	     18  | TYPE_USERDEF   | HSP3gvOCR}h(code=R}hID)


	Ex1ĺAsł邱ƂtO(1Ȃ΍sƂȂ)A
	Ex2ĺAp[^[̋؂ł邱ƂtO(1Ȃ΋؂)
	ƂȂĂ܂B
	Ex0ĺAp[^[Zϐ܂܂ȂP̒lł邱Ƃ
	tOƂĎgp܂(HSP3.3ȍ~Œǉ)B

	TYPE_USERDEF^Cvȍ~́AvOCɂĊgꂽ߂ȂǂŎgp
	Ă܂B(^Cvl̍ő́A0x1fffɂȂ܂)

	HSPɕWŐݒ肳Ă\L[[htypeƃR[h͈ȉ̒ʂłB
	(R[hWFl[^[hspcmd.cpp甲)

	char 	s_rec[1]= "", *hsp_prestr[] =
	{
	//
	//	label check
	//	  | opt value
	//	  | |
	//	  | | type
	//	  | | | keyword
	//	  | | |  |
	//	  | | |  |
	//	"$000 8 goto",
	//
	s_rec,

	//	program control commands (ver3.0)

	"$000 15 goto",
	"$001 15 gosub",
	"$002 15 return",
	"$003 15 break",
	"$004 15 repeat",
	"$005 15 loop",
	"$006 15 continue",
	"$007 15 wait",
	"$008 15 await",

	"$009 15 dim",
	"$00a 15 sdim",
//	"$00d 15 skiperr",				// delete
	"$00b 15 foreach",				// (ver3.0)
//	"$00c 15 eachchk",				// (ver3.0) hidden
	"$00d 15 dimtype",				// (ver3.0)
	"$00e 15 dup",
	"$00f 15 dupptr",				// (ver3.0)

	"$010 15 end",
	"$011 15 stop",
	"$012 15 newmod",				// (ver3.0)
//	"$013 15 setmod",				// (ver3.0)
	"$014 15 delmod",				// (ver3.0)
//	"$015 15 alloc",				// (changed 3.0)
	"$016 15 mref",					// (ver2.5)
	"$017 15 run",
	"$018 15 exgoto",				// ver2.6
	"$019 15 on",					// ver2.6
	"$01a 15 mcall",				// (ver3.0)
	"$01b 15 assert",				// (ver3.0)
	"$01c 15 logmes",				// (ver3.0)
	"$01d 15 newlab",				// (ver3.2)
	"$01e 15 resume",				// (ver3.2)
	"$01f 15 yield",				// (ver3.2)

//	"$015 15 logmode",				// (ver2.55)
//	"$016 15 logmes",				// (ver2.55)

	//	enhanced command (ver2.6)

	"$10000 8 onexit",
	"$10001 8 onerror",
	"$10002 8 onkey",
	"$10003 8 onclick",
	"$10004 8 oncmd",

	"$011 8 exist",
	"$012 8 delete",
	"$013 8 mkdir",
	"$014 8 chdir",

	"$015 8 dirlist",
	"$016 8 bload",
	"$017 8 bsave",
	"$018 8 bcopy",
	"$019 8 memfile",				// (changed on ver2.6*)

	//	no macro command (ver2.61)
	//
	"$000 11 if",
	"$001 11 else",

	//	normal commands

	"$01a 8 poke",
	"$01b 8 wpoke",
	"$01c 8 lpoke",
	"$01d 8 getstr",
	"$01e 8 chdpm",					// (3.0)
	"$01f 8 memexpand",				// (3.0)
	"$020 8 memcpy",				// (ver2.55)
	"$021 8 memset",				// (ver2.55)

	"$022 8 notesel",				// (changed on ver2.55)
	"$023 8 noteadd",				// (changed on ver2.55)
	"$024 8 notedel",				// (changed on ver2.55)
	"$025 8 noteload",				// (changed on ver2.6*)
	"$026 8 notesave",				// (changed on ver2.6*)
	"$027 8 randomize",				// (changed on ver3.0)
	"$028 8 noteunsel",				// (changed on ver3.0)
	"$029 8 noteget",				// (changed on ver2.55)
	"$02a 8 split",					// (ver3.2)

	//	enhanced command (ver2.2)

	"$10000 9 button",

	"$001 9 chgdisp",
	"$002 9 exec",
	"$003 9 dialog",

//	"$007 9 palfade",				// delete
//	"$009 9 palcopy",				// delete

	"$008 9 mmload",
	"$009 9 mmplay",
	"$00a 9 mmstop",
	"$00b 9 mci",

	"$00c 9 pset",
	"$00d 9 pget",
	"$00e 9 syscolor",				// (ver3.0)

	"$00f 9 mes",
	"$00f 9 print",
	"$010 9 title",
	"$011 9 pos",
	"$012 9 circle",				// (ver3.0)
	"$013 9 cls",
	"$014 9 font",
	"$015 9 sysfont",
	"$016 9 objsize",
	"$017 9 picload",
	"$018 9 color",
	"$019 9 palcolor",
	"$01a 9 palette",
	"$01b 9 redraw",
	"$01c 9 width",
	"$01d 9 gsel",
	"$01e 9 gcopy",
	"$01f 9 gzoom",
	"$020 9 gmode",
	"$021 9 bmpsave",

//	"$022 9 text",					// delete

	"$022 9 hsvcolor",				// (ver3.0)
	"$023 9 getkey",

	"$024 9 listbox",
	"$025 9 chkbox",
	"$026 9 combox",

	"$027 9 input",
	"$028 9 mesbox",
	"$029 9 buffer",
	"$02a 9 screen",
	"$02b 9 bgscr",

	"$02c 9 mouse",
	"$02d 9 objsel",
	"$02e 9 groll",
	"$02f 9 line",

	"$030 9 clrobj",
	"$031 9 boxf",

	//	enhanced command (ver2.3)

	"$032 9 objprm",
	"$033 9 objmode",
	"$034 9 stick",
//	"$041 9 objsend",				// delete
	"$035 9 grect",					// (ver3.0)
	"$036 9 grotate",				// (ver3.0)
	"$037 9 gsquare",				// (ver3.0)
	"$038 9 gradf",					// (ver3.2)
	"$039 9 objimage",				// (ver3.2)
	"$03a 9 objskip",				// (ver3.2)
	"$03b 9 objenable",				// (ver3.2)
	"$03c 9 celload",				// (ver3.2)
	"$03d 9 celdiv",				// (ver3.2)
	"$03e 9 celput",				// (ver3.2)

	//	enhanced command (ver3.0)

	"$000 17 newcom",
	"$001 17 querycom",
	"$002 17 delcom",
	"$003 17 cnvstow",
	"$004 17 comres",
	"$005 17 axobj",
	"$006 17 winobj",
	"$007 17 sendmsg",
	"$008 17 comevent",
	"$009 17 comevarg",
	"$00a 17 sarrayconv",
	//"$00b 17 variantref",

	"$100 17 callfunc",
	"$101 17 cnvwtos",
	"$102 17 comevdisp",
	"$103 17 libptr",

	//	3.0 system vals

	"$000 14 system",
	"$001 14 hspstat",
	"$002 14 hspver",
	"$003 14 stat",
	"$004 14 cnt",
	"$005 14 err",
	"$006 14 strsize",
	"$007 14 looplev",					// (ver2.55)
	"$008 14 sublev",					// (ver2.55)
	"$009 14 iparam",					// (ver2.55)
	"$00a 14 wparam",					// (ver2.55)
	"$00b 14 lparam",					// (ver2.55)
	"$00c 14 refstr",
	"$00d 14 refdval",					// (3.0)

	//	3.0 internal function
	"$000 13 int",
	"$001 13 rnd",
	"$002 13 strlen",
	"$003 13 length",					// (3.0)
	"$004 13 length2",					// (3.0)
	"$005 13 length3",					// (3.0)
	"$006 13 length4",					// (3.0)
	"$007 13 vartype",					// (3.0)
	"$008 13 gettime",
	"$009 13 peek",
	"$00a 13 wpeek",
	"$00b 13 lpeek",
	"$00c 13 varptr",					// (3.0)
	"$00d 13 varuse",					// (3.0)
	"$00e 13 noteinfo",					// (3.0)
	"$00f 13 instr",
	"$010 13 abs",						// (3.0)
	"$011 13 limit",					// (3.0)

	//	3.0 string function
	"$100 13 str",
	"$101 13 strmid",
	"$103 13 strf",
	"$104 13 getpath",
	"$105 13 strtrim",					// (3.2)

	//	3.0 math function
	"$180 13 sin",
	"$181 13 cos",
	"$182 13 tan",
	"$183 13 atan",
	"$184 13 sqrt",
	"$185 13 double",
	"$186 13 absf",
	"$187 13 expf",
	"$188 13 logf",
	"$189 13 limitf",
	"$18a 13 powf",						// (3.3)

	//	3.0 external sysvar,function

	"$000 10 mousex",
	"$001 10 mousey",
	"$002 10 mousew",					// (3.0)
	"$003 10 hwnd",						// (3.0)
	"$004 10 hinstance",				// (3.0)
	"$005 10 hdc",						// (3.0)

	"$100 10 ginfo",
	"$101 10 objinfo",
	"$102 10 dirinfo",
	"$103 10 sysinfo",

	"$ffffffff 5 thismod",

	"*"
	};


Ehsp3ԃR[hWJ(p[^[)

	hsp3ԃR[hł́A߂ɑăp[^[̋LqsȂ܂B
	p[^[́At|[h@ɂX^bNƂ̉ZsȂ܂B

	^Cۂ̃p[^[ZɍsȂ菇͈ȉ̒ʂłB

	p[^[AϐŒlꍇ(TYPE_VARATYPE_INUM)́A
	̒lX^bNɐς݂܂B
	p[^[Zq̂łꍇ(TYPE_MARK)́A
	X^bNɐς܂ĂQvf̉ZsȂAʂX^bNɐς݂܂B
	ZqƂĉ߂CodeĺAȉ̒ʂłB

	 Codel     }N        e
	--------------------------------------------------------------
	      0     CALCCODE_ADD    Z(+)
	      1     CALCCODE_SUB    Z(-)
	      2     CALCCODE_MUL    ώZ(*)
	      3     CALCCODE_DIV    Z(/)
	      4     CALCCODE_MOD    ](\)
	      5     CALCCODE_AND    _(&)
	      6     CALCCODE_OR     _a(|)
	      7     CALCCODE_XOR    rI_a(^)
	      8     CALCCODE_EQ     r(=)
	      9     CALCCODE_NE     񓯈r(!)
	     10     CALCCODE_GT     傫(<)
	     11     CALCCODE_LT     菬(>)
	     12     CALCCODE_GTEQ   ȏ(<=)
	     13     CALCCODE_LTEQ   ȉ(>=)
	     14     CALCCODE_RR     rbgVtgE(>>)
	     15     CALCCODE_LR     rbgVtg(<<)

	CodelƂāA0x3f(63)gp邱Ƃ܂B
	́Ap[^[̏ȗsȂꍇɁA_~[̃R[hƂ
	}̂łB
	(u1,,2v̂悤ȏȗ܂ރp[^[̎w莞ɂ́A
	u1vu_~[vu2v̂悤Ȍ`Ń_~[}܂B)


Ehsp3ԃR[hWJ(ϐ)

	ԃR[hŁATYPE_VAR̃^Cvp[^[́Aϐ̎w
	Ă܂B̃^CvCodeĺAϐID܂B

	ϐID́A^CReLXg(HSPCTX\)́A
	mem_varoێϐz̗vfɂȂ܂B
	܂Ahspctx->mem_var[0]ID0̕ϐɂȂ܂B

	܂Az̎w肪sȂĂꍇɂ́A
	TYPE_MARK^Cv'('CodeԃR[h܂B
	̌Azvfp[^[ƓlɓWJA
	ŌTYPE_MARK^Cv')'CodeԃR[h܂B

	s(ŏ̒ԃR[h)ɁATYPE_VAR̃^CvR[h
	ꍇ́Aϐ܂B
	ϐɑāAZqTYPE_VAR̃^Cvp[^[Ƃ
	w肳܂BZq̃R[h́Ap[^[Ɠl̃}N
	(CALCCODE_*)𗘗p邱Ƃ\łB


Ehsp3ԃR[hWJ(r)

	ԃR[hŁATYPE_CMPCMD̃^CvR[h́Ar߂
	Ă܂B
	̃^CvCodeĺA0̏ꍇif߂A1̏ꍇelse߂܂B

	r߂̏ꍇɌAԃR[h̒16bit̃ItZbgl
	ߍ܂Ă܂B
	ItZbgĺAr߂Ȃ(if߈ȍ~XLbv
	ꍇ)CSWv悪ΒlƂċL^Ă܂B


EDebug Info(DINFO)ڍ

	Debug Info(DINFO)ZOgɂ́AXNvg̃fobOɊւ
	i[Ă܂BɁA^CŃG[̕\AfobO
	EBhEł̕\⏕ɗp܂B
	(DINFÕf[^́AHSP2.x̃fobOf[^̏ʌ݊ɂȂĂ܂B)
	Debug Info(DINFO)́A[X(exet@C쐬)̃IuWFNgɂ
	܂܂ȂB

	DINFÕf[^́AȂ8bitf[^̗񂪑Ă܂B

	 l      e
	--------------------------------------------------------------
	 255     f[^̏I[
	 254     \[Xt@Cw(*1)
	 253     ϐf[^w(*2)
	 252     16bitlAs܂łCSItZbg
	 ̑  s܂łCSItZbgl

	*1
	  24bitl\[Xt@CDSItZbglƂȂB
	  ɑ16bitlQƂsԍ̒lƂȂB
	  DSItZbgl0̏ꍇ͍sԍ݂̂̎wƂȂB
	*2
	  24bitlϐւDSItZbglƂȂB
	  ɑ16bitl̓_~[lƂ0i[ĂB
	  ̃f[^́AϐID̏Debug Info(DINFO)ZOg
	  AĐݒ肳ĂB


EXV

	2011/05/12 ver0.2

		HSP3.3ɍ킹ĈꕔB

	2007/11/01 ver0.1

		ŏ̃o[WB


EA

OpenHSPɊւ邨₢킹AzAӌȂǂ͈ȉ̃[AhX܂ł񂹉B
[̕ԐMɂ܂ẮAԂꍇ܂̂ŗ\߂B

        Homepage: http://www.onionsoft.net/openhsp/
                  http://hsp.tv/
        e-mail  : onitama@onionsoft.net

-------------------------------------------------------------------------------
                                                HSP users manual / end of file 
-------------------------------------------------------------------------------
