
            TOPPERS/JSPͥ 桼ޥ˥奢 
    Windows ߥ졼Ķݥåбǥ

            Release 1.4 бǽ: 20-Dec-2003

------------------------------------------------------------------------ 
 TOPPERS/JSP Kernel
     Toyohashi Open Platform for Embedded Real-Time Systems/
     Just Standard Profile Kernel

 Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
                             Toyohashi Univ. of Technology, JAPAN

 嵭Ԥϡʲ (1)(4) ξ狼Free Software Foundation 
 ˤäƸɽƤ GNU General Public License  Version 2 ˵
 ҤƤ˸¤ꡤܥեȥܥեȥ
 ѤΤޤࡥʲƱˤѡʣѡۡʰʲ
 ѤȸƤ֡ˤ뤳Ȥ̵ǵ롥
 (1) ܥեȥ򥽡ɤηѤˤϡ嵭
     ɽѾ浪Ӳ̵ݾڵ꤬Τޤޤηǥ
     ˴ޤޤƤ뤳ȡ
 (2) ܥեȥ򡤥饤֥ʤɡ¾Υեȥȯ˻
     ѤǤǺۤˤϡۤȼɥȡ
     ԥޥ˥奢ʤɡˤˡ嵭ɽѾ浪Ӳ
     ̵ݾڵǺܤ뤳ȡ
 (3) ܥեȥ򡤵Ȥ߹ʤɡ¾Υեȥȯ˻
     ѤǤʤǺۤˤϡΤ줫ξ
     ȡ
   (a) ۤȼɥȡѼԥޥ˥奢ʤɡˤˡ嵭
       ɽѾ浪Ӳ̵ݾڵǺܤ뤳ȡ
   (b) ۤη֤̤ˡˤäơTOPPERSץȤ
       𤹤뤳ȡ
 (4) ܥեȥѤˤľŪޤϴŪ뤤ʤ»
     ⡤嵭ԤTOPPERSץȤդ뤳ȡ

 ܥեȥϡ̵ݾڤ󶡤ƤΤǤ롥嵭Ԥ
 TOPPERSץȤϡܥեȥ˴ؤơŬѲǽ
 ޤơʤݾڤԤʤޤܥեȥѤˤľ
 ŪޤϴŪʤ»˴ؤƤ⡤Ǥʤ

 @(#) $Id: windows.txt,v 1.19 2004/05/27 08:50:32 honda Exp $
------------------------------------------------------------------------

ΥɥȤǤϡTOPPERS/JSP Windowsߥ졼Ķʬˤ
Ʋ⤹롥

-------------------------------------------------------
 Windowsߥ졼Ķ åȰ¸γ
-------------------------------------------------------

--------------------------------
1.1 åȥƥȳȯĶ
--------------------------------

Windowsߥ졼Ķμ¹ԴĶȤƤϡΤΤꤷƤ롥

    Microsoft Windows 2000/XP Pro (x86)
        #Windows XP Home EditionǤθڤϹԤäƤʤ

ޤȯĶȤƼΤΤꤷƤ롥
    Microsoft Visual C++ 6.0
       #Υɤ˥饤󥢥֥ѤƤ뤿ᡢ
       #MSVCʳνϤѤ뤳ȤϤǤʤ

ޤ°ɲõǽѤ뤿ˡΤΤɬפˤʤ礬롥
    Microsoft VisualBASIC 6.0
    Active Template Library 3.0 (Visual C++ 6.0˴ޤޤ)
    Microsoft Foundation Class Library 6.0 (Visual C++ 6.0˴ޤޤ)

­

TOPPERS/JSP Windowsߥ졼ĶγȯϼδĶǹԤƤ롥

   [OS]     Microsoft Windows XP Professional
                + Service Pack 1
   [] Microsoft Visual Studio .NET Academic   (礿볫ȯĶ)
                + .NET Framework ServicePack 1
            Microsoft Visual Studio .NET Enterprise Architect
                + .NET Framework ServicePack 1
            Microsoft Visual Studio 6.0 Enterprise
                + Microsoft Visual Studio 6.0 ServicePack5
                + Microsoft Visual C++ Processor Pack
            RedHat cygwin (API:0.94, 1005.5.0.0)


--------------------------
1.2 ݡȤ뵡ǽγ
--------------------------

Windowsߥ졼Ķ˰¸ǽȤơߥޥѹ
(chg_ixx, get_ixx)ȳߤζػߡ(dis_int, ena_int)򥵥ݡȤ
Ƥ롥ޤǽɾѥƥﻲȵǽ(vxget_tim)򥵥ݡȤƤ롥

Windowsߥ졼Ķϡȥ졼ϵƤ롥Ʊǽ
ϡñεưǤϥեϤηǡǥХߥ졼ǽѻ
ˤCOM̿ηǻѤ뤳ȤǤ롥

-----------------------------------------------------
1.3 TOPPERS/JSP Windowsߥ졼Ķ»
-----------------------------------------------------

    ǥեȤΥʬǽ100ms
        Windowsߥ졼ĶǤϥޥƥå100msȤʤäƤ롥
        ñ̤msΤޤޤǤꡤ50msdly_tskȯԤ 100msø
        Ԥ뤳Ȥˤʤ롥
        ΰѹ뤳Ȥǡ1msˤޤѹǤ롥

    å󥿥ƥѥåϼư
        ƥƥȤɬפʥåWindows뤿ᡤե
        졼ɸ륹åѤʤޤåΰ褬
        ­硤WindowsưŪΰƳƤ롥

------------------------------
1.4 Сˤѹ
------------------------------

Release 1.3  Release 1.4
	- Windows 9xϥͥ򥵥ݡȳ
		# MicrosoftWindows98򥵥ݡоݳȤ
	- ᡼륹åǥǥХߥ졼ǽѻ
	- ǥХߥ졼ΥåϰϤ򼰤
	- ץȥǥ쥯ȥΰưȼѥʤɤѹ


---------------------------------------------
Windowsߥ졼Ķ˰¸ǽ
---------------------------------------------

Ǥϡͥ뤪ӥƥॵӥεǽǡWindowsߥ
Ķ¸ʬˤĤƲ⤹롥

------------
2.1 ǡ
------------

int  unsigned intΥ32ӥåȤǤ롥
 #IA-64ʤ64ӥåܤȤĶϹθƤʤ

----------------------------------
2.2 ߴǽȳߥϥɥ
----------------------------------

Windowsߥ졼ĶǤm68kγߤ򥨥ߥ졼󤷤Ƥ롥
NMI򥵥ݡȤʤᡤƤγߤϥͥδȯ롥
CPUå֤롼Ǥϳߥޥ7ꤵ졤Ƥγ
ػߤ롥

ǥեȤγװ7ĤǤꡤ7ͥ٤Ȥ롥װο
cpu_defs.h:15INT_NUMINTERRUPTS뤳ȤǤդ䤹ȤǽǤ
 (װֹ1˸ꤵƤ)̾勵޳ߤװֹ4
 Ѥ롥ʳγߤϥ桼δؿѤǤդȯ뤳
 ȤǤ롥

    ׵ȯ
        void HALInterruptRequest(unsigned int intno)
        װֹintno˳׵ȯ

DEF_INHǻꤹߥϥɥֹ(inhno)ϡ68000Ǥ㳰٥ֹ
ɽΥǡ(INHNO)unsigned intƤ롥DEF_INH̵
㳰٥ֹꤷưݾڤʤ

Windowsߥ졼Ķ¸εǽȤơߥޥͤѹ
Υӥ chg_imsȡȤ뤿Υӥ get_ims 
ݡȤƤ롥ʤߥޥͤɽǡunsigned intǤ
롥


TOPPERS/JSP WindowsǤϼδؿ򥵥ݡȤƤ롥

BOOL def_int( unsigned int ims, void * rtn);    /* ϥɥ */

ER  ena_int(unsigned int ims);          /*  */
ER  dis_int(unsigned int ims);          /* ػ */
ER  chg_ims(unsigned int ims);          /* ߥ٥ */
ER  get_ims(unsigned int *p_ims);       /* ߥ٥μ */

def_int : ߥϥɥ
    ߥϥɥrtnװֹimsбŤ

ena_int : ߵ
    ׵Ĥ롥̵뤵졤ĤȤʤ

dis_int : ߶ػ
    ׵ػߤ롥̵뤵졤ػߤȤʤ

chg_ims : ߥ٥
    ׵ޥ٥ꤷͤꤷ
    ʹߥޥ٥ʲγ׵϶ػߤȤʤ

get_ims : ߥ٥μ
    ׵ޥ٥Ǽ줿˳Ǽ


------------------------------------
2.3 CPU㳰ǽCPU㳰ϥɥ
------------------------------------

Windowsߥ졼ĶǤϡWindows㳰CPU㳰˳ƤƤ롣

DEF_EXCǻꤹߥϥɥֹ(excno)Windows㳰װֹɽ
Υǡ(EXCNO)unsigned intƤ롥DEF_EXC ǡ㳰٥
ȤͭǤʤͤ䡤CPU㳰бʤֹꤷưݾڤ
ʤ

Windows㳰ȯ硤бդ줿CPU㳰ϥɥư塤¾
Windows㳰ϥɥؽϤǥХåʤɤưƤϥǥХå
ˤäƥϥɥ󥰤뤿ᡤƤξϥ顼ȤʤäƤξߤ
롥

Windowsߥ졼ĶǤϡΰȼäCPU㳰ϥɥư롥

	void cpuexc_handler( EXCEPTION_POINTERS * exc, int * ctrl )
		exc  : 㳰ȯξܺپޤ๽¤ΤؤΥݥ
		ctrl : 㳰ȯư

ctrl㳰ȯ塢㳰ϥɥ󥰥롼ưꤹ롣ͤ˳Ǽ
ͤϡUnhandledExceptionFilter֤٤ͤǤ롣
EXCEPTION_CONTINUE_SEARCHꤵ줿Ͼ̤㳰ϥɥ󥰥롼
ܤEXCEPTION_CONTINUE_EXECUTIONꤵ줿㳰ȯ
¹ԤƳ롣EXCEPTION_CONTINUE_EXECUTIONꤹˤϡ
㳰ȯθȤʤäװʤС㳰ȯ뤳Ȥդ
줿ܺ٤MSDN饤֥ʤɤ򻲹ͤΤȡ

------------------
2.4 ͥ륿
------------------

Windowsߥ졼ĶǤϡͥ륿ޤ򼡤3ΥޤΤ
Ǥ롥

	Windowsɸॿ		: ٤١Ǿƥå10ms
	ޥǥ	: ٤١Ǿƥå1ms
	ޤʤ			: ץˤäȼ˶뤹硥

ޤѹϡsys_defs.h:65-67ΤбԤΥ
¾ι(#define TIMER_ǻϤޤ)򥳥ȥȤ롥

ƥå100msꤵƤ뤬hw_timer.h:59
TIMER_CLOCK_WINDOWS뤳ȤѹǤ롣
TIMER_WINDOWSTIMER10msʲư뤳ȤϤǤޤ
TIMER_MULTIMEDIATIMERԤŤᡢޤˤûꤷ
ȥ޽CPU֤Ȥڤ붲줬롣


-------------------------------------------
Windowsߥ졼Ķ˸ͭʵǽ
-------------------------------------------

----------------------------
3.1 ꥢ륨ߥ졼
----------------------------

TOPPERS/JSP Windowsϡ󥽡Ϥꥢ륨ߥ졼ǽ
Ƥ롥ƱǽѤȡ̤ˡ֥ꥢϡפ̾Ť줿
ɥɽꥢϤ줿Ƥɽ롥ޤƱɥ­
ƹԤ줿Ϥ򥷥ꥢϤȤƥץꥱΤ롥


----------------------
3.2 ǥХå󥽡
----------------------

TOPPERS/JSP Windowsߥ졼ĶǤϡǥХåʸϤ뤿
ѥ󥽡󶡤Ƥ롥ǥХå󥽡ǤϴñʵҤǥǥХåʸ
Ϥ뤳ȤǤ̾ΥꥢѤʤȤ̤ǥեΥǥ
åʤɤԤ롥
 #ItIs/WinܤƤͥɽ̥˥åȤȤʤä

ǥХå󥽡ͭˤˤsys_defs.h:56
 //#define DEBUG_ENABLE
ΥȤϤͭˤ뤳ȤѲǽȤʤ롥
̵ˤˤϳĽޤϥȥȤФ褤

TOPPERS/JSP Windowsߥ졼ĶǤϡΥǥХåѵǽ󶡤Ƥ
롥

OnDebug : ǥХåΤͭȤʤԤˤĤ
    ԤƬOnDebugĤ뤳ȤǡDEBUG_ENABLEˤΤͭȤʤԤñ
    뤳ȤǤ롥
    
    DEBUG_ENABLE   : #define OnDebug(x) x
    DEBUG_ENABLE : #define OnDebug(x)

    
        OnDebug(wsprintf(buffer,"i = %d",i));

unsigned int DebugOut(LPCSTR text) : ǥХå󥽡ؤν
    DebugOutؿϥǥХå󥽡ʸϤ롥
    
    DEBUG_ENABLEˤϥȹԤˤʤ롥


------------------------------
3.3 ȥ쥤 (Notify Icon)
------------------------------

TOPPERS/JSP Windowsߥ졼ĶǤϡ̾ץϸʤ¸ߤ
ư롥ǤϥץνλǧʤʤʤäƤޤ
ȼΤWindowsߥ졼ĶǤϲ̱Υȥ쥤
˥ɽ졤ץब߼¹Ǥ뤫ɤǧǤ褦
ˤʤäƤ롥

ޤΥȥ쥤Υ򱦥å뤳Ȥǡץλ
ȤǽǤ롥

DEBUG_ENABLEˤTOPPERS/JSP Windowsߥ졼ΤȤʤ륦ɥ
Ūɽ褦ˤʤäƤ롥ξΤȤʤ륦ɥλ
Ȥǥץλ뤳ȤǤ롥


----------------------------
3.4 ǥХߥ졼
----------------------------

TOPPERS/JSP Windowsߥ졼ĶǤϡƥ³줿ǥХ
(LEDʤ)򥨥ߥ졼Ȥ뤿εäƤ롥ǥХߥ졼
ǤϼΤ褦ʤȤǤ롥

    ͥ뤬Ϥ򥢥硢ǥХΤ
    ͥФƳߤȯ
    ͥεưӽλǥХΤ
        줾εѴؿ̤Ѥ

ޥåԥоݤȤʤ֤ϼ¥Ȥϰۤʤ֤Ǥ (Intelץå
I/OݡȤꤷƤ)Τޥåԥ󥰤줿줿֤
ΥѴؿ𤷤ƹԤǥХ϶֤ʣʤʣư
뤳ȤǽǤ롣ޤͥʣư뤳ȤǽǤ뤬ǥ
ߥ졼󵡹ѤǤ륫ͥϥƥñǤ롣

ǥХߥ졼ϥǥեȤ̵ȤʤäƤ뤬config/windows
/sys_defs.h:58ΥȤ뤳ȤͭˤǤ롣̵ˤˤϳ
Ԥ٥ȥȤСϢƤιܤ̵Ȥʤ롣

ͥ뤫ѤǤǥХߥ졼Ϣδؿ򲼤˼
ޤƤδؿϥǥХߥ졼̵ˤϥȹԤȤư롣

--- ITRONǥХɥ饤Хɥ饤ߴ󥿥ե ---

VB sil_reb_mem(VP mem), VH sil_reh_mem(VP mem), VW sil_rew_mem(VP mem),
void sil_rek_mem(VP mem, VP data, UINT len)
    ꤵ줿ǡꤵ줿ɥ쥹˥ޥåԥ󥰤ƤǥХ
	꡼ɤԤҤDeviceReadΥåѡ

void sil_wrb_mem(VP mem, VB data), void sil_wrh_mem(VP mem, VH data)
void sil_wrw_mem(VP mem, VW data), void sil_wrk_mem(VP mem, VP data, UINT len)
    ꤵ줿ǡꤵ줿ɥ쥹˥ޥåԥ󥰤ƤǥХ
	إߤԤҤDeviceWriteΥåѡ


--- ȼ󥿡ե ---
void InitializeComSupportModule(void)
    ǥХߥ졼ϢνԤ
    Ū˥ͥ뤬ư˽Ԥᡢ桼ƤɬפϤʤ

void FinalizeComSupportModule(void)
    ǥХߥ졼ϢνλԤ
    ͥæл˽λԤäƤΤǡǽưŪ˸ƤɬפϤʤ

int DeviceRead(unsigned long address, unsigned long size, void * storage)
    ǥХɽФ
        address : ǥХ̤뤿Υɥ쥹ͤʤ
                   (¥֤ȤΩ)
        size    : ɤ߽ФĹ
        storage : ǼؤΥݥ
        ֵ  : ɤ߽Ф줿ǡΥХȿ ޤ -1()
    
    address˥ޥåԥ󥰤줿ǥХsizeХȤΥǡɽФ
    storage˳Ǽ롣ޥåԥ󥰤줿ǥХʤ硢ؿ-1
    ֵѤ롣ȯԻΥå֤ϡ/ƥΤΤɤ餫
	Ǥ (ǥեȤϥƥ)

int DeviceWrite(unsigned long address, unsigned long size, void * storage)
    ǥХؤν
        address : ǥХ̤뤿Υɥ쥹ͤʤ
                   (¥֤ȤΩ)
        size    : 񤭹Ĺ
        storage : ϥǡǼΰؤΥݥ
        ֵ  : 񤭹ޤ줿ǡΥХȿ ޤ -1()

    address˥ޥåԥ󥰤줿ǥХstorage˳Ǽ줿sizeХȤΥ
    񤭹ࡢstorage˳Ǽ롣ޥåԥ󥰤줿ǥХʤ
    ؿ-1ֵѤ롣ȯԻΥå֤ϥ/ƥΤ
	ǽ
----------------------------

ǥХߥ졼ǽϡȯԻ˥ƥΤå뤫ȯ
Τߤå뤫򤹤뤳ȤǤ롥ǥեȤǤϡȯ
ԻˤϥƥΤå롥åϰϤ򥿥Τߤѹ硤
com_support.cpp:697-698򼡤Τ褦˽롥

---8<---
	typedef class Request DeviceRequest;
//	typedef class ExclusiveDeviceRequest DeviceRequest;
---8<---

ǥХΤӥǥХޥ͡˴ؤƤϸҤ5.1򻲾ȤΤȡ

-----------------------------------
3.5 ͥȥ졼 (¹)
-----------------------------------

Windows¸ǤϡTOPPERS/JSP rel 1.4饫ͥΥȥ졼ǽ
Ƥ롣ܵǽITRONǥХå󥰥󥿥եͤ˽सƼ
Ƥ롣ʲܵǽ𤷤ѤǤ(٥)󤲤롣å
Ϥ줾Υ٥ȤǼǤܺپ򼨤 (ϳĥǽ)

	ITRONǥХå󥰥󥿥ե(1.00.00)ˤ줿
		- ߥϥɥεư  λ
				(ֹ)
		- ǥѥåγ  λ
				(ֹ, ƥȾ)
		- ϥɥγ  λ
				(ϥɥID, ĥ)
		- /CPU㳰γ  λ
				(ֹ, 㳰ѥ / 㳰ֹ)
		- Ѳ
				# ITRON-DBIFǤReadyRun̤ʤ (ǥѥå)
		- ӥ륳εư  λ
			[¹] ǽ, , ƽиɥ쥹()
			[λ] ǽ, 顼
				# ӥ뽪λѥ᡼ϥ顼ɤΤ
				# ¸//ȼؿоݳ

̵ͥˤˤϡconfig/windows/sys_defs.h
EVENTLOG_ENABLE򥳥ȥȤ롣ͥϥǥեȤͭȤ
äƤ뤬config/windows/sys_defs.h򥳥ȥȤ뤳Ȥ
̵ˤǤ롣

ȥ졼ǽѤˤϡ饤ȥեȥɬפˤʤ롣
TOPPERS/JSP release 1.4Ǥϡjsp/windev/cmdwatch˥ޥɥ饤ư
ɽץबƱƤꡢƱץ¹Ը˥ͥ
ư뤳Ȥǡ̤˥ͥΥϤ뤳ȤǤ롣
 # cmdwatchμ¹ԤˤϡǥХޥ͡㤬ɬפȤʤ롣
 # ǥХޥ͡˴ؤƤϡҤ5.1򻲾Ȥ줿

VisualBASICѤϡjsp/windev/watcherӥɤ
ƱȥѤ롣

ͥΥȥ졼ϡͥƱ˽Ϥ롣Τᡢ
Ϲܤ¿硢ͥ뤬񤹤̤礷ꡢͥ
ưȥƤפʤȤ롣ޤͥ뽪λƤΥ
Ϥ뤿ᡢλĹȤ롣

Ϥ޻ߤˤϡͥǼ̿¹Ԥ롣

߳/λ޻
		BOOL set_intlogmask( unsigned int ims, BOOL mask );
			ims  : װֹ
			mask : Ϥ (TRUE) / ޻ߤ (TRUE)


------------------
ȯĶι
------------------

------------------
4.1 ȯĶγ
------------------

ͥ¹ԤˤϡJSPͥۥåȤ˴ޤޤʳˡʲ
ġ뤪ӥ饤֥꤬ɬפǤ롥

Microsoft Visual C ++ (6.0/.NET/.NET 2003ˤƳǧ)
    ñΤˤưǽ

ʤTOPPERS/JSP release 1.3 (patchlevel=1)Ǥcygwin+gccǤΥѥ
ϹԤʤTOPPERS/JSP release 1.4 ѤcygwinбɤϡTOPPERSץ
ȤʪǤϤʤᡤ꡼ˤϴޤƤʤ

-----------------------------------------------
4.1.1 Microsoft Visual C++Ѥ (ư)
-----------------------------------------------

ȯԤäƤĶWindows Scripting Hostμ¹ԴĶľ硢Ļ
ѤƤϤMicrosoft VisualC++ 6.0Ǥ˸¤ꡢTOPPERS/JSP
˼ưץȤѤǤ롣
 # .NET / .NET2003ˤб

) ưץȤϡƥ֥ץȤư뤿ˡWindows 
Scripting HostεǽǤWScript.WshShell.Run᥽åɤѤƤ롣
ΥƥեȥϾ嵭᥽åɤѤ륹ץȤ򰭼Ƚ
Ǥ¹Ԥ֥å礬롣

ưץȤϡ jsp/WINDOWS/configure.vbs Ȥ̾ǳǼ
롣ΥץȤ¹Ԥȡե졼ӥǥХ
ߥ졼ԤVisual C++ư奵ץץȤ
ۤȤɤξǤϡΤޤޥץȤΥӥɤԤС
TOPPERS/JSP Windowsߥ졼Ķμ¹Է뤳ȤǤ롣

Υե¹Ԥ뤳ȤǡġʤȤ뤳ȤǽǤ롣
	ե졼/å : jsp/cfg/vc_project/make.vbs
	ǥХߥ졼			: jsp/windev/make.vbs

-----------------------------------------------
4.1.2 Microsoft Visual C++Ѥ (ư)
-----------------------------------------------

ޤե졼롥ե졼/cfg/VC_Project/
ˤMicrosoft Visual C++ץȥե򳫤Ȥˤꡤ
Ȥ¨ӥɤǽʾ֤ˤʤ롥ɸǤϡcfg.exejsp/cfg/cfg.exe
ƺƤ롥

ΤȤƱ˥ͥå롣ͥåӥɤ
ˤϡ˥塼֥ץȡס֥ƥ֥ץȤס
checkerפ򤷡ӥɥ˥塼ӥɤ򤹤롣ͥå
 "Windows ImageHlp API"ѤƤ뤿ᡢˤϥ饤֥
IMAGEHLP.LIBɬפˤʤ롣ץץȥեˤϡץ
बѤ饤֥⥸塼ȤIMAGEHLP.LIBɲäƤ롣
˥ӥɤλȡɸǤϡ¹ԥեjsp/cfg/chk.exeȤƺ
Ƥ롣

TOPPERS/JSP Windowsߥ졼ĶιۤMicrosoft Visual C++Υ
 ڡѤ롥/config/WINDOWS/vc_projectˤ
ץȥե뤪ӥڡ򳫤Ȥǡۤɬפ
ƽ֤ǵư롥

 #ΥץȤǤϥץץब褦ˤʤäƤ

°ΥץץǤϤǤ꤬Ƥ뤬ץʳΥ
ե졼եѤ硤ե졼kernel_id.
hkernel_cfg.cɬפ롥ʲˡ򼨤
 (Ǥϡե졼/jsp/cfg/cfg.exeǤȤƤ)

  (a) Visual C++ ˹Ԥ碌
      1.  оݤȤʤcfgե򤷡ƥȥ˥塼(å)
          򤹤롥
      2.  ̤־˥ӥɥƥåפѡפͭˤ
      3.  ӥɥ֤衤ޥ˼ΥޥɤǤ
			---8<---  ---8<---
			cd $(InputDir)
			cl /E /I "../../kernel" /I "../../include" /I "../../config/windows" \
				$(InputName).cfg | ..\cfg\cfg.exe -s -c -v -obj -lj -cpu windows
			---8<--- ޤ ---8<---
           #\ΤԤϹ\³Ԥ³Ϥ

      4.  ˼ΥեǤ
            kernel_cfg.c
            kernel_id.h
      5.  ˥塼֥ץȡספ򤷡Υ
          ֥ӥɸνפ򤹤
      6.  ӥɸνޥɤȤơΥޥɤϤ롣
			---8<---  ---8<---
			cd ..
			..\..\cfg\chk.exe -m toppers.exe -cs windows.chk -obj -v -lj
			---8<--- ޤ ---8<---

  (b) ޥɥ饤󤫤ľǤľ
      1. Visual C++򥤥󥹥ȡ뤷Binեˤ
          VCVARS32.BAT¹Ԥ
           
           #󥹥ȡˡ֥ޥɥ饤󤫤¹Ԥ뤿
           #ХåʤפȻꤹȤΥեϤʤ
           
      2. ե졼եΤǥ쥯ȥ
         ΥޥɤϤ
			---8<---  ---8<---
			cl /E /I "../../kernel" /I "../../include" /I "../../config/windows" \
				<ե̾> | ..\..\cfg\cfg.exe -s -c -v -obj -lj -cpu windows
			---8<--- ޤ ---8<---
           #\ΤԤϹ\³Ԥ³Ϥ

kernel_id.hkernel_cfg.c줿顤ΥեץȤ
äVisual C++ӥɤԤХץब롥

°ΥץȥեǤϡ줾Ŭڤʥե˥ե뤬Ǽ
褦ˤʤäƤ롥桼ץSource FilesHeader Files˳Ǽ롥
ץʳΥץѤ硤2ĤΥե˳ǼƤ
ץȤƤ顤ץɲäɬפ롥


--------------------------
üʵ˴ؤ
--------------------------

----------------------------
5.1 ǥХߥ졼
----------------------------

----------------------------------------
5.1.1 ǥХߥ졼Ķκ
----------------------------------------

ǥХߥ졼󵡹3ĤΥץफʤ롣
    ͥ
        ǥХ椹륢ץꥱܤ줿ץࡣ
        оݤȤʤ륫ͥϥƥñ (ưʤʣ)
    ǥХޥ͡
        ͥ뤫׵ФŬڤʥǥХ׵ץ
         (٥ȥǥѥå)ͥޤϥǥХư
        COMˤäƼưŪ˵ư롣ƥñ졣
    ǥХ
        ǥХΥߥ졼Ԥץࡣͥ뤫ȯԤ
        ׵ˤäƽԤޥåԥ󥰶֤ʣʤʣ
        ưǽVisualBASICѤ뤳ȤǤ롣

ͥΥǥХߥ졼ǽκ˴ؤƤ 3.4ǥХߥ
졼 򻲾Ȥ줿

ǥХޥ͡㤪VisualBASICѥǥХȥκˤϼ
ġ뤬ɬפˤʤ롣
    Microsoft Visual C++ 6.0/.NET/.NET2003
    Microsoft VisualBASIC 6.0/.NET/.NET2003 
    COM¹ԴĶ (Windows 2000/XP)
    Active Template Library 3.0 (Visual C++ 6.0ʹߤ˴ޤޤ)

		 VisualBASIC6.0.NETδ֤Ǹͤ礭ѲƤ뤿ᡤ
		   .NETʹߤξ硤ҤκϤΤޤޤǤϻѤǤʤ

ǥХޥ͡ϼΤ褦ˤƺ롣
ŪˡӥɤԤǥϿӥץ/ϿԤ

   (0. ƥ֤ʹDebugˤ뤫㳰Ѥ)
    1. Visual C++ưץȥڡdevicemanager.dsw
        
    2. ӥɤԤ
    3. OLE ViewưInterfacesIDeviceIKernel뤳Ȥ
        ǧ (ץ/DLLΥ󥹥ȡǧ)

 ץ/DLLƳʤϡκȤפ롥
    1. ޥɥץץȤư
    2. Visual C++򥤥󥹥ȡ뤷ǥ쥯ȥbin/VCVARS32.BAT¹Ԥ
        Ϣġ뤬Ȥ褦ˤ
    3. ץȤΤǥ쥯ȥذư
    4. Υޥɤ¹Ԥ
        nmake devicemanagerps.mk
    5. Υޥɤ¹Ԥ
        regsvr32 devicemanagerps.dll

 ǥХޥ͡μ¹ԥץξưˤϡ
 κȤפ롥
    1. devicemanager.exeư
    2. ưǡΥޥɤ¹Ԥ
        regsvr32 devicemanager.exe

ǥХޥ͡ưˤϡκȤפ롣

    1. ޥɥץץȤư¹ԥեư
    2. ư塢ץ "/RegServer" ĤƼ¹Ԥ
        > devicemanager.exe /RegServer

ǥХޥ͡ˤϡκȤפ롣

    1. ޥɥץץȤ饪ץ "/UnregServer" ĤƼ¹Ԥ
        > devicemanager.exe /UnregServer
    2. ¹ԥե


VisualBASICѥǥХȥκˤϡκȤפ롣
ŪˡӥɤԤǥϿӥץ/ϿԤ

    1. Visual C++ưץȥڡdevice.dsw򳫤
    2. ӥɤԤ
    3. OLEViewưInterfacesIDeviceControl뤳Ȥ
        ǧ

VisualBASICѥǥХȥΰưˤϡκȤפ롣

    1. device.dllư
    2. ޥɥץץȤ鼡ΥޥɤȯԤ
        regsvr32 (ư)\device.dll

VisualBASICѥǥХȥκˤϡκȤפ롣

    1. ޥɥץץȤ鼡ΥޥɤȯԤ
        regsvr32 /u (󥹥ȡ)\device.dll
    2. DLL

-----------------------------------------------
5.1.2 VisualBASICѥǥХȥλȤ
-----------------------------------------------

TOPPERS/JSP Windows ΥǥХߥ졼ѤǥХϡVi
sualBASICѤƤǽǤ롣VisualBASICѤ뤳Ȥǡû
ǥߥ졼Ǥ롣ܹǤVisualBASICѥǥХȥ
פȡñʺ򼨤

TOPPERS/JSP on Windows Device Component󶡤뵡ǽϼ̤

֥ DeviceControl

    ᥽å Public Sub Connect()
        ǥХޥ͡Ȥ̿Ω롣
        ΩConnectʳΥ᥽åɤ¹ԤȼԤ롣
        ԤE_FAIL֤롣
    
    ᥽å Public Sub Close()
        ǥХޥ͡Ȥ̿λ롣
        ԤE_FAIL֤롣

    ᥽å Public Sub RaiseInterrupt(ByVal inhno as long)
        ͥץ˥ϥɥֹinhnoγߤȯ롣
        ԤE_FAIL֤롣0ʲͤǤʤ

    ᥽å Public Sub Map(ByVal address as long, ByVal size as long)
        ΥǥХ򥢥ɥ쥹addresssizeХȤΥǥޥåԥ󥰤롣
        ʸ塢оΰ˥ȡ٥Ȥȯ롣
    
    ᥽å Public Sub Unmap(ByVal address as long)
        ɥ쥹addressޤ褦ʥޥå׺ѤΰΥޥåԥ󥰤롣
        ʸ塢оΰ˥äƤ⥤٥Ȥȯʤ
    
    ץѥƥ Public Valid as BOOL [R]
        ΥǥХͭǤȤˤTrueȤʤ롣
    
    ץѥƥ Public IsKernelStarted as BOOL [R]
        ͥ뤬ưƤTrueȤʤ롣
    
    ץѥƥ Public Offset as long [RW]
        ǡХåեΥեåȰ֤/롣
        ñ̤ϥХñ̤Ǥ롣
    
    ץѥƥ Public AccessSize as short [RW]
        ñ̤/롣
        ͤ1,2,4Τ줫Ǥ롣
    
    ץѥƥ Public Value as long [RW]
        ץѥƥOffsetΰ֤ץѥƥAccessSizeХȤ
        ȥ륨ǥ˽ɽΤ/ꤹ롣
        ԤOffsetͤAccessSizeä롣
        
        ٥OnReadˤɹߤ̵Ȥʤ롣
        ٥OnWriteˤ񤭹ߤ̵Ȥʤ롣
    
    ٥ Private Sub OnRead(ByVal address as long, ByVal sz as long)
        ͥ뤫addressϤФszХȤɹߤäȤ
        Τ롣ǥХϤȤʤͤǼʤФʤʤ
        ٥ȯˤOffsetϾ0Ȥʤ롣
        OnRead٥ȯˤValueФɹߤϤǤʤ
        
    ٥ Private Sub OnWrite(ByVal address as long, ByVal sz as long)
        ͥ뤫addressϤФszХȤνߤäȤ
        Τ롣ǥХϤͤŬڤʽԤʤФʤʤ
        ٥ȯˤOffsetϾ0Ȥʤ롣
        OnWrite٥ȯˤValueФ񤭹ߤϤǤʤ
    
    ٥ Private Sub OnKernelStart()
        ͥ뤬ưȤΤ롣
    
    ٥ Private Sub OnKernelExit()
        ͥ뤬λȤΤ롣


ǥХ֥Ȥǡñ˰ˡ˥Хåե
äƤ롣ΥХåեϥץѥƥAccessSize, Offset, Value3
ѤƼ/ꤹ뤳ȤǽȤʤ롣

Ȥơͥ뤫0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xefȤ
8ХȤΥǡƤ硢Value˳ǼƤǡϤ줾
AccessSize˽äƼΤ褦˼롣ޤValue˥ȼư
ŪOffsetAccessSizeʬ󥯥Ȥ뤿ᡢϢ³ƼϢ³
ǡ뤳Ȥˤʤ롣

        ɽ: AccessSizeˤValueͤѲ
        +----+----------------------------+
        |    |          AccessSize        |
        |+------+--------+------------+
        |    |   1  |     2  |      4     |
        +----+------+--------+------------+
        +----+------+--------+------------+
        |  1 | 0x01 | 0x2301 | 0x67452301 |
        |  2 | 0x23 | 0x6745 | 0xefcdab89 |
        |  3 | 0x45 | 0xab89 |  -̤-  |
        |  4 | 0x67 | 0xefcd |  -̤-  |
        |  5 | 0x89 | ̤ |  -̤-  |
        |  6 | 0xab | ̤ |  -̤-  |
        |  7 | 0xcd | ̤ |  -̤-  |
        |  8 | 0xef | ̤ |  -̤-  |
        |  9 |̤| ̤ |  -̤-  |
        +----+------+--------+------------+


sample1.c¤ơưƤ륿ֹɽ褦ʥǥХ
򼨤β¤VisualBASIC 6.0ǤεҤǤ롥VB.NETʹ
ѤƤ硤Ŭڤʷ˽뤳ȡ

1. Visual C++ ưͥΥץȤ򳫤

2. sample1.c #include "device.h" ɲä

3. sample1.c:387syslogμ˼ιԤ
    DeviceWrite(0x1234, 1, &tskno);
        #̿ˤäƥݡ0x1234Ϥ1ХȤΥ쥸
        #ǥХ˥ǡϤǤ

4. ӥɤ

5. VisualBASIC 6.0ưɸEXEפ򤷡

6. ˥塼֥ץ -> ݡͥȡפ򤹤

7.ȥ椫
    TOPPERS/JSP on Windows Device Component Type Libraryפåơ
    OK򲡤

8.ġܥåDeviceControl򤷡եŽ(DeviceControl1)

9.٥ҤȤĥեŽ(Label1)

10.ե֥륯åForm_Load

    Private Sub Form_Load()
        DeviceControl1.connect       'ǥХޥ͡³
        DeviceControl1.Map &H1234, 1 '0x1234Ϥ1ХȤΥ쥸ޥåפ
    End Sub

11.³Form_Unload

    Private Sub Form_Unload(Cancel As Integer)
        DeviceControl1.Close    'ǥХޥ͡Ȥ³
    End Sub

12.ư򵭽Ҥ뤿ˡDeviceControl1_OnWrite

    Private Sub DeviceControl1_OnWrite(ByVal address As Long, ByVal sz As Long)
        Label1 = Str(DeviceControl1.Value)
    End Sub

13.ץ¹Ԥͥư
14.ꥢϤ'r'ϤơɽѲOK

­
 ǥХVisibleץѥƥFalseꤹС¹Ի˳ɽʤ

ץȤơwindev/devicecontrol/sampleˤWINDOWS/sample2.cѤǤ
ǥХΥ桼󥿥եVisualBASICץब롣sample2.cΥ
ͥȤȤ˻ѤСߤůؼԤξɽƤ롣

--------------------------------
5.1.3 ǥХޥ͡ˡ
--------------------------------

TOPPERS/JSP 1.4°ΥǥХޥ͡㤫顤ȥ쥤ɽ
褦ˤʤäƤ롥ȥ쥤򱦥å뤳Ȥǥ˥塼ɽ
ȤǤ롥

˥塼ˤϡߤΥͥư֡³ѤߥǥХպѤ߶
³Ѥߥåɽ졤ޤǥХȶλιܤ
롥

ǥХޥ͡ϡͥ뤪³ǥХ³å㤬
ȤĤʤʤäƤ֤в᤹ȼưŪ˽λ롥ǥХ
ޥ͡㤬ưΤ˽λʤˤϡ˥塼鶯λ
뤳ȤǤ롥äƤΥǥХλƤ˥塼³ǥХ
0ˤʤʤ硤ޤͥⵯưƤʤˤؤ餺
塼ˡ֥ͥ뵯ưפɽϡλ뤳ȤǥǥХ
ߥ졼ǽưǤ褦ˤʤ롥

---------------------------
5.1.4 ?Ȼפä
---------------------------

ɤƤưƤʤ
    - sys_defs.hDEVICE_ENABLEιԤͭˤʤäƤޤ
    - 쥸ȥ˼Υ뤫Ĵ٤ƤߤƤ
        51789667-9F20-40AF-AF7F-9856325DFB0B
      ΥϡΥLocalServer32˵Ҥ줿ե뤬
      Ȥ뤫ɤĴ٤ƤߤƤޤͥ¹
      Υե¹ԤƤ뤫ΤƸƤ
    - VBΥǥХ¦ǤDevice.Connectȼ¹ԤƤ뤫Ĵ٤Ƥߤ
      

ޥåԥ󥰤ǼԤ
    Ǥ˥ǥХޥ͡㤬ưƤꡢݡȤޤäƤ
    פǤǽޤCtrl+Alt+Del䡢ޥ͡
    Ȥäơ˾󤷤ƤǥХޥ͡ٽλƤ顢
    ټ¹ԤƤߤȤޤԤ⤷ޤ


--------------------
5.2 ȥ졼ǽ
--------------------

----------------------------
5.2.1 ȥ졼Ķκ
----------------------------

ȥ졼ϡ3ĤΥץफ鹽Ƥ롣
	ͥ
		оݤȤʤ륫ͥ롣ӥоݤȤʤ륫ͥ
		ƥñ (ʣˤϷٹ𤢤)
	ǥХޥ͡
		ͥ뤬ϤŬڤʥå˲ץ
		 (٥ȥǥѥå)ͥ ޤ å
		ưȡCOMˤäƼưư롣ƥñ졣
	å (å)
		ѤԤץࡣͥ뤬
		˱ơ͡ʽԤʣưǽ

ȥ졼ǽϡΥǥХߥ졼ǽĥ
Ƥ롣Ķιˡ˴ؤƤϡ5.1.1򻲾ȤΤȡ

ͥΰϡǥХޥ͡ˤä󶡤Ƥ롣ǥ
ޥ͡ϿˤĤƤϡ5.1.1 ǥХߥ졼
Ķκפ򻲾Ȥ줿

VisualBASICѥå㥳ȥ(COM)κˤϡκȤפ
롣ŪˡӥɤԤǥϿӥץ/Ͽ


    1. Visual C++ưץȥڡwatcher.dsw򳫤
    2. ӥɤԤ
    3. OLEViewưInterfacesIKernelLogControl뤳Ȥ
        ǧ

VisualBASICѥå㥳ȥ(COM)ΰưˤϡκȤפ롣

    1. device.dllư
    2. ޥɥץץȤ鼡ΥޥɤȯԤ
        regsvr32 (ư)\watcher.dll

VisualBASICѥå㥳ȥ(COM)κˤϡκȤפ롣

    1. ޥɥץץȤ鼡ΥޥɤȯԤ
        regsvr32 /u (󥹥ȡ)\watcher.dll
    2. DLL


-----------------------------------
5.2.2 ޥɥ饤 å
-----------------------------------

ޥɥ饤åϡͥɽƱˡ
"kernel-log-[]-[].log"Ȥեƥ¸롣
ϥͥεư٥뤿ᡢޥɥ饤
åϰٵưСͥεư˵ưʤɬפ̵

ץˤϡVisual C++ 6.0ʤɤMSϽϤ
jsp/windev/cmdwatch/cmdwatch.dsw򳫤ӥɤԤФ褤

ޥɥ饤åCtrl-C٥ȤեåƤΤǡץ
λˤCtrl-C򲡲Ф褤Ctrl-C򲡲и߽Ϥ
ե򥯥ץߤ롣

ܥץϥѤ뤿δĶ󶡤Ʊˡ
ץݤΥץǤ⤢롣

Windowsϥ󥽡륢ץꥱʸɽ٤ͥΥ
ϥå®٤˰¸뤿ᡢޥɥ饤å
ȥͥ®٤㲼롣ɽɬפʤΤǤСɥ
򥢥󲽤ꡢcmdwatch.cppPrintfؿǲ̤ؽϤƤĽ
ȥȤʤɤ®٤򤢤뤳ȤǤ롣

------------------------------------
5.2.3 VBѥå㥳ȥ
------------------------------------

VBѥå㥳ȥϡͥ뤬ϤVisual BASIC
ץꥱǻѤ뤿ΥȥǤ롣ܥȥѤ
뤳ȤǡMicrosoft ExcelʤɤѤ׽μưʤɤԤ롣

ITRON-DBIFȵܤΤĽ˴ؤƤϡITRONǥХå󥰥󥿥
 1.00.00 򻲾Ȥ줿

	᥽å Public  Sub Open()
		åޥ͡Ͽ롣

	᥽å Public  Sub Close()
		åϿ롣

	ץѥƥ Public Type as Long [R]
		Ǹȯμ̤롣

	ץѥƥ Public Logtim as Long [R]
		ǸȯΥͥ (ñ̤ms)

	ץѥƥ Public isValid as Bool [R]
		å㤬ưƤȤTRUE֤

	ץѥƥ Public Param (index as Long) as Long [R]
		ƥɲþ롣
		ܤ˴ؤƤITRON-DBIF򻲾Ȥ줿

	٥ Private Sub OnKernelStart()
		ͥ뤬ưȤΤ롣

	٥ Private Sub OnkernelExit()
		ͥ뤬λȤΤ롣

	٥ Private Sub OnLogEvent( ByVal type as Long )
		٥ȤȯΤ롣
			type : ٥ȼ (ITRON-DBIF)
					0x1 : ߥϥɥ鳫		0x81 : Ʊλ
					0x2 : ISR (󥵥ݡ)		0x82 : Ʊλ (NOSPT)
					0x3 : ϥɥ鳫			0x83 : Ʊλ
					0x4 : CPU㳰				0x84 : Ʊλ
					0x5 : 㳰			0x85 : Ʊλ
					0x6 : Ѳ
					0x7 : ->ǥѥå	0x87 : ->
					0x8 : SVC¹Գ				0x88 : SVC¹Խλ

------------------
5.2.4 ե
------------------

ȥ졼ǽϡҤΥǥХޥ͡𤷤ƥϤˡ
ۤˡեľܥפˡ롣Ʊˡͭˤ뤿
ˤϡcom_support.cpp:585-586ˤ򼡤Τ褦ؤ롣

---  ---
//typedef class EventDumpRequest EventRequest;
  typedef class Request          EventRequest;
---  ---
  typedef class EventDumpRequest EventRequest;
//typedef class Request          EventRequest;
--------------

  嵭ԤȥǥХޥ͡˥Ϥʤᡢ
    å㤬ۤ뤳Ȥαդ줿

EventDumpRequestեϡITRONǥХå󥰥󥿥ե
ͤɸǤϤʤƱͤ줿ѹ¤ΤΥץ
Ǥ롣Ʊե/Խץ(winwatch)ϡ
TOPPERSץȤʪǤϤʤᡢ꡼ˤϴޤޤʤ


----------
¾
----------

------------------------------
6.1 ǥ쥯ȥꡦե빽
------------------------------

------------------------------------------
6.1.1 TOPPERS/JSP Windows-HAL ե
------------------------------------------

[jsp]
  +- [config]
  |   +- [windows]
  |       +- api.h              : API̲ե
  |       +- com_support.cpp    : COMϢǽ
  |       +- com_support.h      : COMϢǽ
  |       +- cpu_config.c       : ץå¸⥸塼
  |       +- cpu_config.h       : ץå¸⥸塼
  |       +- cpu_context.h      : ƥ롼
  |       +- cpu_defs.c         : m68kγߥߥ졼
  |       +- cpu_defs.h         : m68kγߥߥ졼
  |       +- cpu_rename.h       : ܥ̾Ͳإåե
  |       +- cpu_rename.def     : Ͳ򥷥ܥ̾ե
  |       +- cpu_unrename.h     : ܥ̾Ͳإåե
  |       +- debugout.c         : ǥХå󥽡⥸塼
  |       +- debugout.h         : ǥХå󥽡ե
  |       +- device.h           : ǥХߥ졼ե
  |       +- eventlog.c         : ȥ졼ǽ ؿ
  |       +- eventlog.h         ; ȥ졼ǽ ؿ
  |       +- hal_msg.h          : ͥ륷ߥ졼 åե
  |       +- hal_resource.rc    : TOPPERS/JSP Windows ꥽ե
  |       +- hw_timer.h         : 
  |       +- hw_serial.h        : ꥢ륨ߥ졼 إå
  |       +- hw_serial.c        : ꥢ륨ߥ졼 
  |       +- icon1.ico          : ե
  |       +- messages.h         : ǥХߥ졼å
  |       +- primary_thread.c   : ȥ
  |       +- resource.h         : ꥽IDե
  |       +- sys_config.c       : ƥ¸⥸塼
  |       +- sys_config.h       : ƥ¸⥸塼
  |       +- sys_defs.h         : ƥ¸ե
  |       +- sys_rename.h       : ܥ̾Ͳإåե
  |       +- sys_rename.def     : Ͳ򥷥ܥ̾ե
  |       +- sys_unrename.h     : ܥ̾Ͳإåե
  |       +- vitron.h           : itron.hͲѥإåե
  |       +- vwindows.h         : windows.hͲѥإåե
  +- [tools/WINDOWS]
      +- configure.vbs          : ưץ
      +- kernel_cfg.c           : ե졼ե
      +- kernel_id.h            : ưIDե
      +- sample1.c              : ץץ
      +- sample1.h              : ץץ إå
      +- sample1.cfg            : ץץ ͥ빽ե
      +- sample2.c              : ץץ2 ůؼ
      +- sample2.h              : ץץ2 إå
      +- sample2.cfg            : ץץ2 ͥ빽ե
      +- windows.chk            : Windowsѥåץȥե
      +- [vc_project]
          +- Toppers.dsp        : Visual C++ ץȥե
          +- Toppers.dsw        : Visual C++ ڡ


---------------------------------------------------------
6.1.2 TOPPERS/JSP Windows ݡȥ⥸塼 ե
---------------------------------------------------------

[windev]
  +- make.vbs                   : ưץ
  |
  +- [cmdwatch]                 : ޥɥ饤١ å
  |   +- cmdwatch.cpp           : å
  |   +- cmdwatch.dsw           : Visual C++ ڡե
  |   +- cmdwatch.dsp           : Visual C++ ץȥե
  |
  +- [devicemanager]            : ǥХޥ͡(COM)
  |   +- device.cpp             : ǥХ֥
  |   +- device.h               : ǥХ֥ե
  |   +- device.rgs             : ǥХ֥Ͽե
  |   +- devicemanager.cpp      : ᥤץ
  |   +- devicemanager.dsp      : Visual C++ ץȥե
  |   +- devicemanager.dsw      : Visual C++ ڡ
  |   +- devicemanager.h        : ֥ե
  |   +- devicemanager.idl      : MIDL֥ȵҥե
  |   +- devicemanager.rc       : ꥽ե
  |   +- devicemanager.rgs      : AppID쥸ȥ졼ե
  |   +- devicemanagerCP.h      : ͥݥȥץ
  |   +- devicemanager_?.c      : ץ/֥
  |   +- devicemanagerps.def    : ץ/
  |   +- devicemanagerps.mk     : ץ/ Makefile
  |   +- icon1.ico				: ȥ쥤ѥ
  |   +- informat.bin           : Information֥Ͽե
  |   +- information.cpp        : 󶡥֥
  |   +- information.h          : 󶡥֥ե
  |   +- information.rgs        : Information쥸ȥ졼ե
  |   +- kernel.cpp             : ͥ륪֥
  |   +- kernel.h               : ͥ륪֥ե
  |   +- kernel.rgs             : ͥϿե
  |   +- messages.h             : åե (С)
  |   +- range.h                : 󥸷ե
  |   +- resource.h             : ꥽ե
  |   +- stdafx.cpp             : ᥤ󥪥֥
  |   +- stdafx.h               : ץꥳѥоݥإå
  |
  +- [devicecontrol]            : VBѥǥХȥ(COM)
  |   +- bmp00001.bmp           : ȥɽѥ
  |   +- device.cpp             : DLLϢ
  |   +- device.def             : ץե
  |   +- device.dsp             : Visual C++ ץ
  |   +- device.dsw             : Visual C++ ڡ
  |   +- device.h               : ֥ե
  |   +- device.idl             : MIDL֥ե
  |   +- device.rc              : ꥽ե
  |   +- deviceCP.h             : ͥݥȥץ
  |   +- deviceco.bmp           : ץꥱ󥢥
  |   +- devicecontrol.cpp      : ǥХȥ
  |   +- devicecontrol.h        : ǥХȥե
  |   +- deviceps.def           : ץ/
  |   +- resource.h             : ꥽ե
  |   +- stdafx.h               : ץꥳѥоݥإå
  |   +- stdafx.cpp             : (äˤʤ)
  |   +- [sample]               : ǥХΥץ
  |       +- form1.frm          : ե (ƥ)
  |       +- form1.frx          : ե (Хʥ)
  |       +- sample2_ui.vbp     : VisualBASICץȥե
  |       +- sample2_ui.vbw     : VisualBASICڡ
  |
  +- [watcher]                  : VBѥå㥳ȥ(COM)
      +- kernello.bmp           : å㥢
      +- kernellogcontrol.cpp   : ͥå 
      +- kernellogcontrol.h     : ͥå إåե
      +- resource.h             : ꥽IDե
      +- stdafx.h               : ץꥳѥоݥإåե
      +- stdafx.cpp             : (äˤʤ)
      +- watcher.cpp            : ȥ롼
      +- watcher.def            : ץե
      +- watcher.dsp            : ץȥե
      +- watcher.dsw            : ڡ
      +- watcher.rc             : ꥽ե
      +- watcher_?.c            : ץ/֥
      +- watcherCP.h            : ͥݥե
      +- watcherps.def          : ץ/ե

------------------
С
------------------

С3夫ꡢJSPΥСֹȰפ롣Сʳ
̾ΤĤƤΤϡ/ü(ץȥפʤ)̣롣

	2003ǯ1219  Release 1.4
		꡼
		ץȥǥ쥯ȥΰưȼ
			- ɥ
			- ץȥե

	2003ǯ12 3  Release 1.4 - Prerelease 
		ǥѥåػ˳ߤȥǥѥåХ
		ǥХޥ͡ȥ쥤˺ܤƥ˥塼ɲ
		COM̿ꥯȤExclusiveRequestɲ

	2003ǯ1110  Release 1.4 - Prerelease 4 (³)
		ʨƭݥåȤȤ礬ʤäƤΤ/Ĵ
			- ǥХޥ͡Υɤΰե
			- ET2003ΥǥѤ˥å
		ǥХޥ͡Υ˥塼˥ޥå׺ѤߥǥХɲ

	2003ǯ 821  Release 1.4 - Prerelease 4 (³)
		cygwinǥѥǤ褦˼ä
		ޥץåѤAffinityMask
		󥽡νѥľ

	2003ǯ 617  Release 1.4 - Prerelease 4
		ꥢɥ饤Фι˹碌Ƥľ
		ȥ졼ե˥פ뵡ǽɲ

	2003ǯ 5 9  Release 1.4 - Prerelease 3
		COM̿롼ޤľ
		ƥåƳ
		ǥХåѿ򤤤ĤƳ
		ޥǥޤ

	2003ǯ 2 1  Release 1.4 - Prerelease 2
		DesignWaveϿˤ뤿˥Ȥʤɤ

	2003ǯ 119  Release 1.4 - Prerelease 2
		toppers-staff (1.4 Release Candidate)
			- Release 1.4 ν
			- ꥢ륳󥽡뤬С˾ʤΤ
			- sys_putcμ

	2002ǯ1220  Release 1.4 - Prerelease 1
		ץȥи
			- ͥݥ ȿ
			-  Хե
			- μ

	2002ǯ 9 4  Release 1.4 - Technical Preview
		󥿥ե
			- ͥݥ
			- ǥХޥ͡˥롼
			- å

	2002ǯ 7 7  Release 1.3.1(³)
		㳰åɾǼ¹ԤƤޤΤ
			νˤMSVCǤΥѥ뤬ɬܤ
		ߥߥ졼ena_int/dis_intѤ
		Ȥɤ˥Ȥ򤦤
		DebugOutؿ¤

	2002ǯ 630  Release 1.3.1
		Release 1.3ΤȤľȻפäƤꥢɥ饤ФΥХ
			- åɤJSPδؿȤХ
		Release 1.3θ˸ĤäХΥեå
			- ɥȤν (ǥХޥ͡ 塼ȥꥢ)
			- ͥ¦ΥǥХߥϥɥ饹åɤDispatchMessage
				ѥ᡼ݥ󥿤ˤʤäƤʤäΤ
			- ShellNotifyIconκ˻ȤäƤhWndϿȰۤʤäƤ
				λ⥢󤬺ʤäХ
		ǥХޥ͡ν
			- ͥKeepAliveǧߤ֤ͥ붯λ
				ǥХޥ͡³ǤʤʤХ
			- ¿ťͥ뵯ưˡɤ³뤫ǧ褦˽

	2002ǯ 4 6  Release 1.3
		Release 1.3˸ޤĴ
			- WSHưץȤƳ
			- ե졼ؤб
			- ե졼åǥեȤǻѤ褦
			- ΥɥȤν

	2001ǯ1115  Release 1.2
		Release1.2꡼
			- ȳΥС碌뤿ᡢrel 1.2򥹥å

    2001ǯ1112  Release 1.1.6
        Release1.2˸ޤޤĴ
            - ɸӥѥڡ & ץȤѹ
            - ̵ԤѶåȥ󥹥åɤƳ
            - ΥɥȤν

    2001ǯ11 1  Release 1.1.5
        sample1.cΥӥ
            - ɥsample1.cΥӥˡˤcfg.exeΥѥְäƤΤ
                # jsp/WINDOWS/cfg.exe -> jsp/cfg/cfg.exe
            - 嵭ȼsample1.cѤΥץȥڡ

    2001ǯ1024  Release 1.1.4
        ǥХߥ˽к
            - COMǥХߥ夬γ׵ʤХ

    2001ǯ 913  Release 1.1.3
        ͽк
            - sns_dpnCPU㳰FALSEȤʤХ
            - ShellNotifyIconäʤХ
            - sample1.cCPU㳰򥢥ȿ顢桼㳰ؽ (㳰к)

    2001ǯ 729  Release 1.1.2
        ꥢ륳󥽡ˤ륹å˲β
            - KeyEventTrapperCALLBACK꤬­ƤΤ

    2001ǯ 324  Release 1.1.1
        ͥΥǥХλ̵Ԥβ
            - ǥХλ٥ȤSIGNAL֤ˤ˺Ƥޤ
               ͥ뤬̵Ԥ˴٤äƤޤХ

    2001ǯ 223  Release 1.1
        TOPPERS/JSP release 1.1˹碌
            - ǥХޥ͡Υե̾˽
            - ǥХȥΥե̾˽
            - sample2.cǥХǥѤ˽ľ

    2001ǯ 220  Release 1.0.8
        ХեåȤ
            - HALMSG_MESSAGESWM_USERWM_APP
            - PrimaryDialogHandle֤

    2001ǯ 129  Release 1.0.7
        ǥХȥ꡼Ѥ˽
            - եåν/ɲ
            - OnDrawؿν
            - IDL helpstringɲ
            - device_com.cpp˥Ȥɲ

    2001ǯ 112  Release 1.0.6
        ޥ˥奢ΥǥХݡȤ˴ؤɲ

    2001ǯ 1 4  Release 1.0.5
        sys_defs.hɤФ
        λ롼ΰ

    2000ǯ1230  Release 1.0.4
        ǥХݡȵĤ (COM)
        ΥϥɥɽʤΤˤ (HANDLE->HWNDʤ)

    2000ǯ1221  Release 1.0.3
        ǥХݡȵĤ (᡼륹å)

    2000ǯ1212  Release 1.0.2
        Visual C++Υץȥեΰ֤ư
        ʸϤΥߥ

    2000ǯ1124  Release 1.0.1
        㳰ȯʤХ
        󥽡륷ꥢɥ饤Фå˲Τ
    
    2000ǯ1115  Release 1.0
        ǽΥ꡼

ʾ
