OSDN Git Service

表示画面が更新されないバグを修正。
authorhikarupsp <hikarupsp@users.sourceforge.jp>
Tue, 11 Mar 2014 12:51:13 +0000 (21:51 +0900)
committerhikarupsp <hikarupsp@users.sourceforge.jp>
Tue, 11 Mar 2014 12:51:13 +0000 (21:51 +0900)
main.c
osecpu.h

diff --git a/main.c b/main.c
index 0234778..a65315f 100644 (file)
--- a/main.c
+++ b/main.c
@@ -1,5 +1,12 @@
 #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);
 
@@ -16,7 +23,6 @@ void putKeybuf(int i)
 int HeavyOSECPUMain(int argc, char **argv)
 {
     FILE *fp;
-    
     unsigned char *jitbuf, *sysjit00, *sysjit;
     unsigned char *systmp0, *systmp1, *systmp2;
     unsigned char *opTbl;
@@ -32,6 +38,10 @@ int HeavyOSECPUMain(int argc, char **argv)
        void(*jitfunc)(char *);
     unsigned char *jp;
     
+    //グローバル変数初期化
+    vram = NULL;
+    di1_serial = 0;
+    
     //実行環境初期化
     env.mainArgc = argc;
     env.mainArgv = (const char **)argv;
@@ -101,7 +111,7 @@ int HeavyOSECPUMain(int argc, 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);
@@ -195,6 +205,7 @@ int HeavyOSECPUMain(int argc, char **argv)
        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;
@@ -217,6 +228,7 @@ int HeavyOSECPUMain(int argc, char **argv)
         }
                while (env.winClosed == 0){
                        drv_sleep(100);
+            drv_flshWin(v_xsiz, v_ysiz, 0, 0);
         }
        }
        if (env.lastConsoleChar != '\n'){
index a854077..667080f 100644 (file)
--- a/osecpu.h
+++ b/osecpu.h
@@ -149,14 +149,13 @@ struct Regs {
 #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