/*****************************************************
test.h : 
  μITRONトレーナcmtoy サンプルプログラム
  Copyright(C) 2002 佐々木芳

タスクの実装

Windowsのシミュレーション環境上で動作するアプリケーションプログラムのコンパイル時には以下のマクロ定義が必要
	_CMTOY
*****************************************************/


void DisplayDecimal(int num);
void SetPnCode(BYTE* addr, int size);


#define ADDR_REG		0x0000		//no banks	RW
#define SIZE_REG		0x0100
#define ADDR_MEM_IO		0x8000		//2 banks	RW
#define SIZE_MEM_IO		0x2000
#define ADDR_RO			0xa000		//no banks	R
#define SIZE_RO			0x1000
#define ADDR_EXRAM		0xc000		//8 banks	RW
#define SIZE_EXRAM		0x1000		//bytes
extern BOOL g_PN_type;
extern WORD g_PN_value;

#define ADDR_IO			0x0000		//IO
#define SIZE_IO			0x0010

#define SW_READ_OR_WRITE	0x01	//SW0
#define SW_x86_MEM			0x02	//SW1

#ifdef _CMTOY
/**********************/
/*simulator*/
/**********************/
#define SELECT_8000_MEM(x)								\
			halSelectBank(ADDR_MEM_IO,(x) & 0x1)	
#define GET_8000_MEM									\
			halGetCurrentBank(ADDR_MEM_IO)
#define SELECT_c000_MEM(x)								\
			halSelectBank(ADDR_EXRAM,(x) & 0x7)	
#define GET_9000_MEM									\
			halGetCurrentBank(ADDR_EXRAM)


#else
/**********************/
/*TARGET*/
/**********************/

#endif/*_CMTOY*/



