このメールは、OSASK-ML投稿フォームから書き込まれた内容です。 お名前: 清水 清水です。 このようなロジックを使っているのですが、 lib_readmodulesize(0x0210); で止まっています。原因はわかりますか? // load classes wrp file into memory static void loadWrpWarpFile() { uchar *fp, *fp0; int filesize, areasize, i; areasize = lib_readCSd(0x0014) & ~0xfff /* file:指定値取得 */ - 65536 /* copybufの最初の4バイト、有効バイト数64KB */; /* 設定ファイル読み込み */ /* 正しくない設定ファイルを読ませるとあっさりと暴走するだろう */ lib_initmodulehandle0(0x0008, 0x0210); /* user-dirに初期化 */ lib_steppath0(0, 0x0210 /* slot */, "CLASSES.WRP", 16 /* sig */); do { i = getsignalw(); fputc(i); fputs("\n"); } while (i < 16); if (i == 16) { filesize = lib_readmodulesize(0x0210); fputs("filesize="); fputc(filesize); fputs("\n"); /* クラスマップ用領域確保 */ classesMap = malloc(filesize); /* モジュールマッピング(fopenに相当) */ lib_mapmodule(0x0000 /* opt */, 0x0210 /* slot */, 0x5 /* R-mode */, areasize /* map-window size */, fp0, 0); /* ファイル読み込み */ fp = fp0; for (i = 0; i < filesize - 1; i++) { fputc((int)(*fp++)); classesMap[i] = *fp; } fputs("\n"); } numClassRecords = getUInt32(classesMap+4); fputs("numClassRecords="); fputc(numClassRecords); fputs("\n"); for ( i=0 ; i<numClassRecords ; i++ ) { classRecordOfs[i] = getUInt32(classesMap+8+4*i); classRecordSize[i] = getUInt32(classesMap+12+4*i)-classRecordOfs[i]; } }