OSDN Git Service
(root)
/
heavyosecpu
/
HeavyOSECPU.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
アライメントエラーはポインタレジスタ構造体をコピーする際のmovdqaのせいだと判明。
[heavyosecpu/HeavyOSECPU.git]
/
main.c
diff --git
a/main.c
b/main.c
index
8674023
..
c0f99e4
100644
(file)
--- a/
main.c
+++ b/
main.c
@@
-4,6
+4,7
@@
int *keybuf, keybuf_r, keybuf_w, keybuf_c;
HOSECPU_Device_Window mainWindow;
\r
//デバッグ用。プログラム中の随所で加算される変数
\r
int di1_serial;
\r
HOSECPU_Device_Window mainWindow;
\r
//デバッグ用。プログラム中の随所で加算される変数
\r
int di1_serial;
\r
+HOSECPU_RuntimeEnvironment *dbg_env;
\r
\r
\r
\r
\r
\r
\r
@@
-22,6
+23,7
@@
void putKeybuf(int i)
\r
int HeavyOSECPUMain(int argc, char **argv)
\r
{
\r
\r
int HeavyOSECPUMain(int argc, char **argv)
\r
{
\r
+ HOSECPU_RuntimeEnvironment env;
\r
FILE *fp;
\r
unsigned char *jitbuf, *sysjit00, *sysjit;
\r
unsigned char *systmp0, *systmp1, *systmp2;
\r
FILE *fp;
\r
unsigned char *jitbuf, *sysjit00, *sysjit;
\r
unsigned char *systmp0, *systmp1, *systmp2;
\r
@@
-33,25
+35,26
@@
int HeavyOSECPUMain(int argc, char **argv)
unsigned char *syslib;
\r
int argDebug = 0, stacksiz = 1;
\r
const char *cp;
\r
unsigned char *syslib;
\r
int argDebug = 0, stacksiz = 1;
\r
const char *cp;
\r
- HOSECPU_RuntimeEnvironment env;
\r
void(*jitfunc)(char *);
\r
unsigned char *jp;
\r
\r
void(*jitfunc)(char *);
\r
unsigned char *jp;
\r
\r
- //Initialize mainWindow
\r
+ // For debug
\r
+ dbg_env = &env;
\r
+
\r
+ // Initialize mainWindow
\r
mainWindow.vram = NULL;
\r
mainWindow.xsize = 0;
\r
mainWindow.ysize = 0;
\r
di1_serial = 0;
\r
\r
mainWindow.vram = NULL;
\r
mainWindow.xsize = 0;
\r
mainWindow.ysize = 0;
\r
di1_serial = 0;
\r
\r
- //実行環境初期化
\r
+ //
実行環境初期化
\r
env.mainArgc = argc;
\r
env.mainArgv = (const char **)argv;
\r
env.appBin = malloc(APPSIZ1);
\r
env.executionLevel = JITC_LV_SLOWEST;
\r
env.mainArgc = argc;
\r
env.mainArgv = (const char **)argv;
\r
env.appBin = malloc(APPSIZ1);
\r
env.executionLevel = JITC_LV_SLOWEST;
\r
- jitbuf = mallocRWE(1024 * 1024); /* とりあえず1MBで */
\r
- //unsigned char *sysjit0 = mallocRWE(SJITSIZ1), *sysjit1 = sysjit0, *sysjit00 = sysjit0;
\r
+ jitbuf = mallocRWE(APPJITSIZE); /* とりあえず1MBで */
\r
// syslib.oseのjitc結果を格納する領域を確保。
\r
// syslib.oseのjitc結果を格納する領域を確保。
\r
- sysjit00 = mallocRWE(SJITSIZ1);
\r
+ sysjit00 = mallocRWE(S
YS
JITSIZ1);
\r
sysjit = sysjit00;
\r
// 現在の、jitc結果を格納するメモリへの書き込み位置のアドレス
\r
// sysjit: 現在のjitc書き込み位置
\r
sysjit = sysjit00;
\r
// 現在の、jitc結果を格納するメモリへの書き込み位置のアドレス
\r
// sysjit: 現在のjitc書き込み位置
\r
@@
-80,7
+83,7
@@
int HeavyOSECPUMain(int argc, char **argv)
sysjit = jitCompInit(sysjit);
\r
sysjit00 = sysjit;
\r
// labelはjitc0()内で初期化される。
\r
sysjit = jitCompInit(sysjit);
\r
sysjit00 = sysjit;
\r
// labelはjitc0()内で初期化される。
\r
- i = jitc0(&sysjit, sysjit00 + SJITSIZ1, syslib + 32, syslib + SYSLIBSIZ1, JITC_LV_SLOWEST+9, label);
\r
+ i = jitc0(&sysjit, sysjit00 + S
YS
JITSIZ1, syslib + 32, syslib + SYSLIBSIZ1, JITC_LV_SLOWEST+9, label);
\r
if (i != 0){
\r
fputs("syslib-file JITC error.\n", stderr);
\r
return 1;
\r
if (i != 0){
\r
fputs("syslib-file JITC error.\n", stderr);
\r
return 1;
\r