⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 machine_md.h

📁 java 1.1 gemini 08_16
💻 H
📖 第 1 页 / 共 2 页
字号:
	#define METHODSTACKCACHING                      (1)
	#define USEINTSRAM								(1)	
#endif   /* ASMBYTECODE */

/*************************************************************************
 * Debug Control Option
 *************************************************************************/
/* Enable debug output from memory manager */
/* #define MIDP_MALLOC_DEBUG */

/* Enable debug VM */

/* Enable debug File system */
/* #define MIDP_FILE_DEBUG */

/* Enable debug connection */                                                               
/* #define MIDP_CONNECTION_DEBUG */

/* Enable HEAP debug information */

/* Enable push debug information */
/* #define MIDP_PUSH_DEBUG */

/* Enable MMAPI debug information */
/* #define MMAPI_DEBUG */

/* Enable KDWP debug information */
/* #define KDWP_DEBUG */

/*************************************************************************
 * Platform-specific macros and function prototypes
 *************************************************************************/
#define InitializeVM()
#define FinalizeVM()

#define RandomNumber_md() 					rand()

#define IS_RESTRICTED_PACKAGE_NAME(name) 	checkRestrictedPackageName(name)

/* Override the sleep function defined in main.h */
#define SLEEP_UNTIL(wakeupTime)                    					\
    {																\
		long64 delta = (long64)(wakeupTime - CurrentTime_md()); 	\
		kal_sleep_task( (kal_uint32)(delta>>2) );					\
    }

/*************************************************************************
 * The following are about Fast Bytecode Flash Version
 *************************************************************************/
#if ENABLEFASTBYTECODES                                               
	#ifndef FASTBYTECODEFLASHVER
		#define FASTBYTECODEFLASHVER 			1
		#ifndef HITRATETEST
			#define HITRATETEST          		0
		#endif   /* */
	#endif   /* FASTBYTECODEFLASHVER */

extern kal_uint32 FASTBYTECODELOWMEMORY;
extern kal_bool ROMRemapping_enabled;

	#if FASTBYTECODEFLASHVER
		#define FLASHCACHEPOINTERONLYBITS     	8
		#define FLASHCACHEPOINTERONLYSIZE     	256   /* (1<<FLASHCACHEPOINTERONLYBITS) */
extern unsigned int *flashcachePointerOnly;
		#define FLASHCACHEPOINTERONLYADDR(IP) (unsigned int *)((unsigned int)flashcachePointerOnly+(((unsigned int)(IP)&0x000000FF)<<2))
		#if HITRATETEST
extern int flashcachePointerOnlyHit;
extern int flashcachePointerOnlyMiss;
		#endif   /* HITRATETEST */

		#define FLASHCACHEBITS       			9
		#define FLASHCACHESIZE       			512   /* (1<<FLASHCACHEBITS) */
extern unsigned int *flashcache;
		#define FLASHCACHEADDR(IP)   (unsigned int *)((unsigned int)flashcache+(((unsigned int)(IP)&0x000001FF)<<3))
		#if HITRATETEST
extern int flashcacheHit;
extern int flashcacheMiss;
		#endif   /* HITRATETEST */
	#endif   /* FASTBYTECODEFLASHVER */
#endif   /* ENABLEFASTBYTECODES */

/*************************************************************************
 * Platform-specific datatype definitions
 *************************************************************************/
#if !COMPILER_SUPPORTS_LONG
	#error "Compiler must support long long type"
#endif /* COMPILER_SUPPORTS_LONG */

typedef long             Long;
typedef char             Boolean;

#ifndef __MTK_TARGET__
typedef __int64                                 long64;
typedef unsigned __int64                        ulong64;
typedef __int64                                 jlong;
#else
typedef long long                               long64;	   /* 64-bit signed integer type */
typedef unsigned long long                      ulong64;   /* 64-bit unsigned integer type */
typedef long long                               jlong;	   /* Added for KNI */
#endif /* !__MTK_TARGET__ */

#ifndef Calendar_md
unsigned long *Calendar_md(void);
#endif /* !Calendar_md */

#define SLEEP_FOR(delta)  						kal_sleep_task((kal_uint32)(delta>>2))

/*************************************************************************
 * Platform-specific function prototypes
 *************************************************************************/
#define InitializeVM()
#define FinalizeVM()
#define RandomNumber_md() 						rand()

extern void InitializeWindowSystem(void);
extern void FinalizeWindowSystem(void);

/* Thread processing routines */
extern void releaseAsyncThread(void);
extern void processAcyncThread(void);
extern void Yield_md(void);

/*************************************************************************
 * MIDP
 *************************************************************************/
#define USING_LCD_SHADOW_BUFFER 				1
#define USING_LCD_HIDE_SHADOW_BUFFER			0
#define USING_JAVAHEAP_AS_IMAGEBUFFER			1
#define FAST_KNI								1

#ifndef __MTK_TARGET__
	#define __align(a)
#endif /* __MTK_TARGET__ */

/* 2003 0818 Hsu BackBuffer Data Structure */
typedef struct _MyImage_ {
	int            flag_mutable;
	int            prop;
	unsigned char  *imageMask;
	unsigned short reserved1;
	unsigned char  TAG;
	unsigned char  TRNS;
	unsigned short width;
	unsigned short height;

	/* M3G need PNG datatype to determine Image2D's type, and it use bit to determine datatype */
	int            data_type;

#if USING_JAVAHEAP_AS_IMAGEBUFFER
	union {
		unsigned short *datap;
		unsigned short data[1];
	}u;
#else
	unsigned short *data;
#endif /* USING_JAVAHEAP_AS_IMAGEBUFFER */
}ImageGC, *pImageGC;

#ifndef COMPILING_ROMJAVA
	#include "gui_data_types.h"
extern kal_int32 j2me_custom_lcd_rgb_to_hw(kal_uint32 r, kal_uint32 g, kal_uint32 b);
extern kal_int32 j2me_custom_lcd_rgb32_to_hw(kal_uint32 RGB32);
extern void j2me_custom_hw_to_mmi_color(kal_uint32 RGB, kal_int32 alpha, color* c);
#endif

extern kal_uint8 j2me_r_mask, j2me_g_mask, j2me_b_mask;
extern unsigned short j2me_color_depth;
extern unsigned short j2me_custom_lcd_hw_format(kal_uint8 r, kal_uint8 g, kal_uint8 b);
extern unsigned char j2me_custom_lcd_hw_color(int color, kal_uint16 value);

#define INTtoSHORT(i) 	j2me_custom_lcd_hw_format(((i>>16)&0xff), ((i>>8)&0xff), ((i)&0xff))

/*************************************************************************
 * Audio
 *************************************************************************/
extern void J2ME_StopPlayTone(void);

typedef struct {
	kal_int32 *toneseq;
	kal_int32 tonelen;
	kal_int32 curTone;
	kal_int32 curMTime;
	kal_int32 thread;
	kal_int32 playerid;
	kal_int32 playid;
	kal_uint8 play;
	kal_uint8 volume;
	kal_uint8 firsttime;
} TONESEQ;

/*************************************************************************
 * JAM Event
 *************************************************************************/
typedef struct j2me_keyevent_data_struct {
	kal_uint8 ref_count;
	kal_uint16 msg_len;
	kal_uint16 keycode;
	kal_uint16 keytype;
} j2me_keyevent_data;

/*************************************************************************
 * Global Variable and Function Declaration
 *************************************************************************/
/*************************************************************************
 * The following are used in several different places, and its worthwhile
 * to define them just once
 *************************************************************************/
#if USESTATIC
extern void* allocateVirtualMemory_md(long size);
extern void  freeVirtualMemory_md(void *address, long size);

enum {
	PVM_NoAccess, PVM_ReadOnly, PVM_ReadWrite
};
extern void  protectVirtualMemory_md(void *address, long size, int protection);
#endif   /* USESTATIC */

extern void InitializeWindowSystem(void);
extern void FinalizeWindowSystem(void);
/* 
 * override IS_RESTRICTED_PACKAGE_NAME macro in main.h to add more 
 * restricted namespace.
 *
 * return type for checkRestrictedPackageName() is "unsigned char" 
 * instead of "jboolean" because trying to include kni.h causes
 * compilation errors.
 */
extern unsigned char checkRestrictedPackageName(const char *name);

/* Added by Justin. Use the function To get MIDlet suite ID by 
 * it's storage name. Use it after initializeStorage() and 
 * midpInitializeMemory have been called
 */
extern int getStorageNumberFromName(char* MIDletStorageName);

extern java_mode_enum Java_mode;
extern kal_uint64 CurrentTime_md(void);

#endif /* _MACHINE_MD_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -