#include "osecpu.h"
+int *keybuf, keybuf_r, keybuf_w, keybuf_c;
+int *vram, v_xsiz, v_ysiz;
+//デバッグ用。プログラム中の随所で加算される変数
+int di1_serial;
+
+
+
unsigned char *Init_LoadSysLib(char argv0[], unsigned char *tmpWorkMemory);
void LoadAppBin(HOSECPU_RuntimeEnvironment *env);
int HeavyOSECPUMain(int argc, char **argv)
{
FILE *fp;
-
unsigned char *jitbuf, *sysjit00, *sysjit;
unsigned char *systmp0, *systmp1, *systmp2;
unsigned char *opTbl;
void(*jitfunc)(char *);
unsigned char *jp;
+ //グローバル変数初期化
+ vram = NULL;
+ di1_serial = 0;
+
//実行環境初期化
env.mainArgc = argc;
env.mainArgv = (const char **)argv;
if (cp != NULL){
argDebug = *cp - '0';
}
- //スタックサイズ指定
+ //スタックサイズ指定(MiB単位)
cp = searchArg(argc, (const char **)argv, "stack:", 0);
if (cp != NULL){
stacksiz = strtol(cp, NULL, 0);
env.jitbuf = jp;
env.jitbuf1 = jitbuf + 1024 * 1024;
env.errHndl = &errorHandler;
+
env.dbgr = 0;
if (searchArg(argc, (const char **)argv, "dbgr:1", 0) != NULL){
env.dbgr = 1;
}
while (env.winClosed == 0){
drv_sleep(100);
+ drv_flshWin(v_xsiz, v_ysiz, 0, 0);
}
}
if (env.lastConsoleChar != '\n'){
#define KEY_DEL 0x1029
//
-// Grobal static values
+// Grobal values
//
-static int *keybuf, keybuf_r, keybuf_w, keybuf_c;
-static int *vram = NULL, v_xsiz, v_ysiz;
-
+extern int *keybuf, keybuf_r, keybuf_w, keybuf_c;
+extern int *vram, v_xsiz, v_ysiz;
//デバッグ用。プログラム中の随所で加算される変数
-static int di1_serial = 0;
+extern int di1_serial;
//
// Functions