[OSASK 6458] FORM: ファイル読み込み失敗します

このメールは、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];
  }
}



ML番号でジャンプ
ML単語検索