From: hikarupsp Date: Tue, 11 Mar 2014 14:05:49 +0000 (+0900) Subject: ソース整形 X-Git-Url: http://git.osdn.net/view?p=heavyosecpu%2FHeavyOSECPU.git;a=commitdiff_plain;h=15e8ccd4779ade33dfd1f6703cb25f93b361aace ソース整形 --- diff --git a/function.c b/function.c index 23c11a6..c5ddf68 100644 --- a/function.c +++ b/function.c @@ -107,9 +107,9 @@ void devFunc0006(int mod, int sx, int sy, int x, int y, int c, int len, unsigned } x++; } - } - else + } else{ x += sx; + } } x -= sx * 8; y++; @@ -134,10 +134,18 @@ void devFunc0004(int mod, int x0, int y0, int x1, int y1, int c) else { for (y = y0; y <= y1; y++) { for (x = x0; x <= x1; x++) { - if (mod == 1) mainWindow.vram[x + y * mainWindow.xsize] |= c; - if (mod == 2) mainWindow.vram[x + y * mainWindow.xsize] ^= c; - if (mod == 3) mainWindow.vram[x + y * mainWindow.xsize] &= c; - } + switch (mod) { + case 1: + mainWindow.vram[x + y * mainWindow.xsize] |= c; + break; + case 2: + mainWindow.vram[x + y * mainWindow.xsize] ^= c; + break; + case 3: + mainWindow.vram[x + y * mainWindow.xsize] &= c; + break; + } + } } } return; @@ -147,9 +155,11 @@ int devFunc0016(int buflen, unsigned char *buf, int plen, unsigned char *p, int { int i = 0, base, j, k; char sign; + while (plen > 0) { - if (i >= buflen) + if (i >= buflen){ (*(r->errHndl))(r); + } if (*p != 0x01) { buf[i++] = *p++; plen--; @@ -157,28 +167,42 @@ int devFunc0016(int buflen, unsigned char *buf, int plen, unsigned char *p, int } p++; plen--; - if (qlen < 4) + if (qlen < 4){ (*(r->errHndl))(r); + } base = q[0]; sign = 0; - if (base == 0) base = 16; + if (base == 0){ + base = 16; + } #if (REVISION == 1) - if (base == -3) base = 10; + if (base == -3){ + base = 10; + } #endif - if (base == -1) base = 10; - if (base < 0 || base > 16) + if (base == -1){ + base = 10; + } + if (base < 0 || base > 16){ (*(r->errHndl))(r); - if (q[1] + i > buflen) + } + if (q[1] + i > buflen){ (*(r->errHndl))(r); + } j = q[3]; if ((q[2] & 4) == 0) { // jは符号付き整数. - if ((q[2] & 8) != 0 && j > 0) sign = '+'; - if (j < 0) { sign = '-'; j *= -1; } - } - else { + if ((q[2] & 8) != 0 && j > 0){ + sign = '+'; + } + if (j < 0) { + sign = '-'; j *= -1; + } + } else{ // jは符号無し整数. - if ((q[2] & 8) != 0 && j != 0) sign = '+'; + if ((q[2] & 8) != 0 && j != 0){ + sign = '+'; + } } for (k = q[1] - 1; k >= 0; k--) { buf[i + k] = (j % base) + 0x10; @@ -187,21 +211,26 @@ int devFunc0016(int buflen, unsigned char *buf, int plen, unsigned char *p, int k = 0; if ((q[2] & 2) == 0 && j == 0) { for (k = 0; k < q[1] - 1; k++) { - if (buf[i + k] != 0x10) break; + if (buf[i + k] != 0x10){ + break; + } buf[i + k] = ' '; } } if (sign != 0) { - if (k > 0) k--; + if (k > 0){ + k--; + } buf[i + k] = sign; } if ((q[2] & 1) != 0 && buf[i] == ' ') { - for (j = 0; k < q[1]; k++, j++) + for (j = 0; k < q[1]; k++, j++){ buf[i + j] = buf[i + k]; + } i += j; - } - else + } else{ i += q[1]; + } qlen -= 4; q += 4; } @@ -211,13 +240,17 @@ int devFunc0016(int buflen, unsigned char *buf, int plen, unsigned char *p, int void devFunc(HOSECPU_RuntimeEnvironment *r) { FILE *fp; - r = (HOSECPU_RuntimeEnvironment *) (((char *)r) - 128); /* サイズを節約するためにEBPを128バイトずらしているのを元に戻す */ - int i, c; + int i, c; int x, y, len, dx, dy; unsigned char *puc; unsigned char pucbuf[256]; - if (r->winClosed != 0) + + //サイズを節約するためにEBPを128バイトずらしているのを元に戻す + r = (HOSECPU_RuntimeEnvironment *) (((char *)r) - 128); + + if (r->winClosed != 0){ longjmp(*(r->setjmpEnv), 1); + } if (0xff44 <= r->ireg[0x30] && r->ireg[0x30] <= 0xff48) { if (mainWindow.vram == NULL) { mainWindow.xsize = 640; @@ -231,15 +264,16 @@ void devFunc(HOSECPU_RuntimeEnvironment *r) } } - switch (r->ireg[0x30]) { + switch (r->ireg[0x30]){ case 0xff00: printf("R31=%d(dec)\n", r->ireg[0x31]); break; case 0xff01: /* return: R30, P31 */ - if (r->buf0 == NULL) + if (r->buf0 == NULL){ r->buf0 = malloc(1024 * 1024); + } if (r->mainArgc <= r->ireg[0x31]) { fprintf(stderr, "devFunc: error: R30=ff01: argc error: R31=%08X\n", r->ireg[0x31]); exit(1); @@ -283,8 +317,9 @@ void devFunc(HOSECPU_RuntimeEnvironment *r) case 0xff03: /* return: P31 */ - if (r->buf1 == NULL) + if (r->buf1 == NULL){ r->buf1 = malloc(1024 * 1024); + } r->preg[0x31].p = r->buf1; r->preg[0x31].p0 = r->buf1; r->preg[0x31].p1 = r->buf1 + 1024 * 1024; @@ -316,10 +351,12 @@ void devFunc(HOSECPU_RuntimeEnvironment *r) // R32: level // R33: debugInfo1 checkString(r, 0x34, 0x31); - if (r->ireg[0x33] < 0 || r->ireg[0x33] > 15 || r->debugInfo1 > 15) + if (r->ireg[0x33] < 0 || r->ireg[0x33] > 15 || r->debugInfo1 > 15){ (*(r->errHndl))(r); - for (i = 0; i < r->maxLabels; i++) + } + for (i = 0; i < r->maxLabels; i++){ r->label[i].opt = 0; + } puc = r->preg[0x31].p; i = jitCompiler(r->jitbuf, r->jitbuf1, puc, puc + r->ireg[0x34], puc, r->label, r->maxLabels, r->ireg[0x32], di1_serial, JITC_NOSTARTUP + 0); if (i == 0) { @@ -370,8 +407,12 @@ void devFunc(HOSECPU_RuntimeEnvironment *r) case 0xff41: /* R31とR32でサイズを指定、R33とR34でx0,y0指定 */ - if (r->ireg[0x31] == -1) { r->ireg[0x31] = mainWindow.xsize; r->ireg[0x33] &= 0; } - if (r->ireg[0x32] == -1) { r->ireg[0x32] = mainWindow.ysize; r->ireg[0x34] &= 0; } + if (r->ireg[0x31] == -1) { + r->ireg[0x31] = mainWindow.xsize; r->ireg[0x33] &= 0; + } + if (r->ireg[0x32] == -1) { + r->ireg[0x32] = mainWindow.ysize; r->ireg[0x34] &= 0; + } checkRect(r, 0x31); drv_flshWin(r->ireg[0x31], r->ireg[0x32], r->ireg[0x33], r->ireg[0x34]); break; @@ -381,16 +422,21 @@ void devFunc(HOSECPU_RuntimeEnvironment *r) r->autoSleep = 1; longjmp(*(r->setjmpEnv), 1); } - if (r->ireg[0x32] < 0) + if (r->ireg[0x32] < 0){ (*(r->errHndl))(r); + } r->autoSleep = 0; - if ((r->ireg[0x31] & 1) == 0 && mainWindow.vram != NULL) + if ((r->ireg[0x31] & 1) == 0 && mainWindow.vram != NULL){ drv_flshWin(mainWindow.xsize, mainWindow.ysize, 0, 0); + } for (;;) { - if (r->winClosed != 0) + if (r->winClosed != 0){ longjmp(*(r->setjmpEnv), 1); + } drv_sleep(r->ireg[0x32]); - if ((r->ireg[0x31] & 2) != 0 && keybuf_c <= 0) continue; + if ((r->ireg[0x31] & 2) != 0 && keybuf_c <= 0){ + continue; + } break; } break; @@ -403,15 +449,20 @@ void devFunc(HOSECPU_RuntimeEnvironment *r) // 32: 左右のshift系を区別する. if (r->ireg[0x31] == 2) { // なぜ3にしなかったのか... r->ireg[0x30] = fgetc(stdin); - if (r->ireg[0x30] == EOF) + if (r->ireg[0x30] == EOF){ r->ireg[0x30] = -1; + } break; } r->ireg[0x30] |= -1; if (keybuf_c > 0) { r->ireg[0x30] = keybuf[keybuf_r]; - if ((r->ireg[0x31] & 16) == 0) r->ireg[0x30] &= 0x3e3effff; - if ((r->ireg[0x31] & 32) == 0) r->ireg[0x30] |= (r->ireg[0x30] >> 8) & 0xff0000; + if ((r->ireg[0x31] & 16) == 0){ + r->ireg[0x30] &= 0x3e3effff; + } + if ((r->ireg[0x31] & 32) == 0){ + r->ireg[0x30] |= (r->ireg[0x30] >> 8) & 0xff0000; + } if ((r->ireg[0x31] & 1) != 0) { keybuf_c--; keybuf_r = (keybuf_r + 1) & (KEYBUFSIZ - 1); @@ -426,37 +477,65 @@ void devFunc(HOSECPU_RuntimeEnvironment *r) case 0xff44: c = loadColor(r, 0x34); - if (r->ireg[0x32] < 0 || r->ireg[0x32] >= mainWindow.xsize || r->ireg[0x33] < 0 || r->ireg[0x33] >= mainWindow.ysize) + if (r->ireg[0x32] < 0 || r->ireg[0x32] >= mainWindow.xsize || + r->ireg[0x33] < 0 || r->ireg[0x33] >= mainWindow.ysize){ (*(r->errHndl))(r); - if ((r->ireg[0x31] & 3) == 0) mainWindow.vram[r->ireg[0x32] + r->ireg[0x33] * mainWindow.xsize] = c; - if ((r->ireg[0x31] & 3) == 1) mainWindow.vram[r->ireg[0x32] + r->ireg[0x33] * mainWindow.xsize] |= c; - if ((r->ireg[0x31] & 3) == 2) mainWindow.vram[r->ireg[0x32] + r->ireg[0x33] * mainWindow.xsize] ^= c; - if ((r->ireg[0x31] & 3) == 3) mainWindow.vram[r->ireg[0x32] + r->ireg[0x33] * mainWindow.xsize] &= c; + } + + switch ((r->ireg[0x31] & 3)) { + case 0: + mainWindow.vram[r->ireg[0x32] + r->ireg[0x33] * mainWindow.xsize] = c; + break; + case 1: + mainWindow.vram[r->ireg[0x32] + r->ireg[0x33] * mainWindow.xsize] |= c; + break; + case 2: + mainWindow.vram[r->ireg[0x32] + r->ireg[0x33] * mainWindow.xsize] ^= c; + break; + case 3: + mainWindow.vram[r->ireg[0x32] + r->ireg[0x33] * mainWindow.xsize] &= c; + break; + } break; case 0xff45: //drawLine c = loadColor(r, 0x36); - if (r->ireg[0x32] < 0 || r->ireg[0x32] >= mainWindow.xsize || r->ireg[0x33] < 0 || r->ireg[0x33] >= mainWindow.ysize) + if (r->ireg[0x32] < 0 || r->ireg[0x32] >= mainWindow.xsize || + r->ireg[0x33] < 0 || r->ireg[0x33] >= mainWindow.ysize){ (*(r->errHndl))(r); - if (r->ireg[0x34] < 0 || r->ireg[0x34] >= mainWindow.xsize || r->ireg[0x35] < 0 || r->ireg[0x35] >= mainWindow.ysize) + } + if (r->ireg[0x34] < 0 || r->ireg[0x34] >= mainWindow.xsize || + r->ireg[0x35] < 0 || r->ireg[0x35] >= mainWindow.ysize){ (*(r->errHndl))(r); + } dx = r->ireg[0x34] - r->ireg[0x32]; dy = r->ireg[0x35] - r->ireg[0x33]; x = r->ireg[0x32] << 10; y = r->ireg[0x33] << 10; - if (dx < 0) dx = -dx; - if (dy < 0) dy = -dy; + if (dx < 0){ + dx = -dx; + } + if (dy < 0){ + dy = -dy; + } if (dx >= dy) { len = dx + 1; dx = 1024; - if (r->ireg[0x32] > r->ireg[0x34]) dx *= -1; - if (r->ireg[0x33] > r->ireg[0x35]) dy *= -1; + if (r->ireg[0x32] > r->ireg[0x34]){ + dx *= -1; + } + if (r->ireg[0x33] > r->ireg[0x35]){ + dy *= -1; + } dy = (dy << 10) / len; - } - else { + } else { len = dy + 1; dy = 1024; - if (r->ireg[0x33] > r->ireg[0x35]) dy *= -1; - if (r->ireg[0x32] > r->ireg[0x34]) dx *= -1; + if (r->ireg[0x33] > r->ireg[0x35]){ + dy *= -1; + } + if (r->ireg[0x32] > r->ireg[0x34]){ + dx *= -1; + } dx = (dx << 10) / len; } if ((r->ireg[0x31] & 3) == 0) { @@ -469,9 +548,19 @@ void devFunc(HOSECPU_RuntimeEnvironment *r) } for (i = 0; i < len; i++) { // if ((r->ireg[0x31] & 3) == 0) vram[(x >> 10) + (y >> 10) * v_xsiz] = c; - if ((r->ireg[0x31] & 3) == 1) mainWindow.vram[(x >> 10) + (y >> 10) * mainWindow.xsize] |= c; - if ((r->ireg[0x31] & 3) == 2) mainWindow.vram[(x >> 10) + (y >> 10) * mainWindow.xsize] ^= c; - if ((r->ireg[0x31] & 3) == 3) mainWindow.vram[(x >> 10) + (y >> 10) * mainWindow.xsize] &= c; + switch ((r->ireg[0x31] & 3)) { + case 1: + mainWindow.vram[(x >> 10) + (y >> 10) * mainWindow.xsize] |= c; + break; + case 2: + mainWindow.vram[(x >> 10) + (y >> 10) * mainWindow.xsize] ^= c; + break; + case 3: + mainWindow.vram[(x >> 10) + (y >> 10) * mainWindow.xsize] &= c; + break; + default: + break; + } x += dx; y += dy; } @@ -485,8 +574,7 @@ void devFunc(HOSECPU_RuntimeEnvironment *r) int mod3 = r->ireg[0x31] & 3, x0 = r->ireg[0x34], y0 = r->ireg[0x35], x1 = r->ireg[0x34] + r->ireg[0x32] - 1, y1 = r->ireg[0x35] + r->ireg[0x33] - 1; if ((r->ireg[0x31] & 0x20) == 0) { devFunc0004(mod3, x0, y0, x1, y1, c); - } - else { // drawRect + } else { // drawRect devFunc0004(mod3, x0, y0, x1, y0, c); devFunc0004(mod3, x0, y1, x1, y1, c); devFunc0004(mod3, x0, y0, x0, y1, c); @@ -497,10 +585,16 @@ void devFunc(HOSECPU_RuntimeEnvironment *r) case 0xff47: // fillOval(opt:R31, xsiz:R32, ysiz:R33, x0:R34, y0:R35, c:R36) // これの計算精度はアーキテクチャに依存する. c = loadColor(r, 0x36); - if (r->ireg[0x32] == -1) { r->ireg[0x32] = mainWindow.xsize; r->ireg[0x34] &= 0; } - if (r->ireg[0x33] == -1) { r->ireg[0x33] = mainWindow.ysize; r->ireg[0x35] &= 0; } + if (r->ireg[0x32] == -1) { + r->ireg[0x32] = mainWindow.xsize; r->ireg[0x34] &= 0; + } + if (r->ireg[0x33] == -1) { + r->ireg[0x33] = mainWindow.ysize; r->ireg[0x35] &= 0; + } checkRect(r, 0x32); - double dcx = 0.5 * (r->ireg[0x32] - 1), dcy = 0.5 * (r->ireg[0x33] - 1), dcxy = (dcx + 0.5) * (dcy + 0.5) - 0.1; + double dcx = 0.5 * (r->ireg[0x32] - 1); + double dcy = 0.5 * (r->ireg[0x33] - 1); + double dcxy = (dcx + 0.5) * (dcy + 0.5) - 0.1; dcxy *= dcxy; mod3 = r->ireg[0x31] & 3; x1 = r->ireg[0x32]; @@ -510,14 +604,17 @@ void devFunc(HOSECPU_RuntimeEnvironment *r) double dty = (y - dcy) * dcx; for (x = 0; x < x1; x++) { double dtx = (x - dcx) * dcy; - if (dtx * dtx + dty * dty > dcxy) continue; + if (dtx * dtx + dty * dty > dcxy){ + continue; + } mainWindow.vram[(x + r->ireg[0x34]) + (y + r->ireg[0x35]) * mainWindow.xsize] = c; } } - } - else { + } else { #define DRAWOVALPARAM 1 - double dcx1 = 0.5 * (r->ireg[0x32] - (1 + DRAWOVALPARAM * 2)), dcy1 = 0.5 * (r->ireg[0x33] - (1 + DRAWOVALPARAM * 2)), dcxy1 = (dcx1 + 0.5) * (dcy1 + 0.5) - 0.1; + double dcx1 = 0.5 * (r->ireg[0x32] - (1 + DRAWOVALPARAM * 2)); + double dcy1 = 0.5 * (r->ireg[0x33] - (1 + DRAWOVALPARAM * 2)); + double dcxy1 = (dcx1 + 0.5) * (dcy1 + 0.5) - 0.1; dcxy1 *= dcxy1; for (y = 0; y < y1; y++) { double dty = (y - dcy) * dcx; @@ -525,14 +622,28 @@ void devFunc(HOSECPU_RuntimeEnvironment *r) for (x = 0; x < x1; x++) { double dtx = (x - dcx) * dcy; double dtx1 = (x - dcx) * dcy1; - if (dtx * dtx + dty * dty > dcxy) continue; + if (dtx * dtx + dty * dty > dcxy){ + continue; + } if (DRAWOVALPARAM <= x && x < x1 - DRAWOVALPARAM && DRAWOVALPARAM <= y && y < y1 - DRAWOVALPARAM) { - if (dtx1 * dtx1 + dty1 * dty1 < dcxy1) continue; + if (dtx1 * dtx1 + dty1 * dty1 < dcxy1){ + continue; + } + } + switch (mod3) { + case 0: + mainWindow.vram[(x + r->ireg[0x34]) + (y + r->ireg[0x35]) * mainWindow.xsize] = c; + break; + case 1: + mainWindow.vram[(x + r->ireg[0x34]) + (y + r->ireg[0x35]) * mainWindow.xsize] |= c; + break; + case 2: + mainWindow.vram[(x + r->ireg[0x34]) + (y + r->ireg[0x35]) * mainWindow.xsize] ^= c; + break; + case 3: + mainWindow.vram[(x + r->ireg[0x34]) + (y + r->ireg[0x35]) * mainWindow.xsize] &= c; + break; } - if (mod3 == 0) mainWindow.vram[(x + r->ireg[0x34]) + (y + r->ireg[0x35]) * mainWindow.xsize] = c; - if (mod3 == 1) mainWindow.vram[(x + r->ireg[0x34]) + (y + r->ireg[0x35]) * mainWindow.xsize] |= c; - if (mod3 == 2) mainWindow.vram[(x + r->ireg[0x34]) + (y + r->ireg[0x35]) * mainWindow.xsize] ^= c; - if (mod3 == 3) mainWindow.vram[(x + r->ireg[0x34]) + (y + r->ireg[0x35]) * mainWindow.xsize] &= c; } } } @@ -547,7 +658,6 @@ void devFunc(HOSECPU_RuntimeEnvironment *r) // **** junkApi_rand(i, max) **** // 0 <= i <= maxとなるiを返す。 // max==0のとき、iはSINT32全体を範囲とする乱数となる。 - r->ireg[0x30] = randGetNextUInt32(); if (r->ireg[0x31] > 0){ r->ireg[0x30] = (r->ireg[0x30] & 0x7fffffff) % (r->ireg[0x31] + 1); @@ -575,9 +685,15 @@ void devFunc(HOSECPU_RuntimeEnvironment *r) mod3 = r->ireg[0x31] & 3; dx = r->ireg[0x34]; dy = r->ireg[0x35]; - if (dy == 0) dy = dx; - if (r->ireg[0x32] == -1) { r->ireg[0x32] = mainWindow.xsize / dx; r->ireg[0x36] &= 0; } - if (r->ireg[0x33] == -1) { r->ireg[0x33] = mainWindow.ysize / dy; r->ireg[0x37] &= 0; } + if (dy == 0){ + dy = dx; + } + if (r->ireg[0x32] == -1) { + r->ireg[0x32] = mainWindow.xsize / dx; r->ireg[0x36] &= 0; + } + if (r->ireg[0x33] == -1) { + r->ireg[0x33] = mainWindow.ysize / dy; r->ireg[0x37] &= 0; + } for (y = 0; y < r->ireg[0x33]; y++) { y0 = y * dy + r->ireg[0x37]; for (x = 0; x < r->ireg[0x32]; x++) { @@ -591,7 +707,7 @@ void devFunc(HOSECPU_RuntimeEnvironment *r) default: printf("devFunc: error: R30=%08X\n", r->ireg[0x30]); - exit(1); + exit(EXIT_FAILURE); } return; diff --git a/randmt.c b/randmt.c index 0502178..a449960 100644 --- a/randmt.c +++ b/randmt.c @@ -26,10 +26,12 @@ void randStatInit(unsigned seed) randStat.stat[1] = randStat.mat1 = 0x8f7011ee; randStat.stat[2] = randStat.mat2 = 0xfc78ff1f; randStat.stat[3] = randStat.tmat = 0x3793fdff; - for (i = 1; i < 8; i++) + for (i = 1; i < 8; i++){ randStat.stat[i & 3] ^= i + ((unsigned)1812433253) * (randStat.stat[(i - 1) & 3] ^ (randStat.stat[(i - 1) & 3] >> 30)); - for (i = 0; i < 8; i++) + } + for (i = 0; i < 8; i++){ randStatNext(); + } return; }