Esempio n. 1
0
 public static void CheckLZ77(uint lz77addr, List <ErrorSt> errors, Type cond, uint addr, uint tag = U.NOT_FOUND)
 {
     CheckAlien4(lz77addr, errors, cond, addr, tag);
     if (!LZ77.iscompress(Program.ROM.Data, lz77addr))
     {
         errors.Add(new FELint.ErrorSt(cond, U.toOffset(addr)
                                       , R._("アドレス({0})はlz77で圧縮されていません。\r\nデータが壊れています。", U.To0xHexString(lz77addr)), tag));
     }
 }
Esempio n. 2
0
 public static void CheckLZ77Errors(uint lz77addr, List <ErrorSt> errors, Type cond, uint addr, uint tag = U.NOT_FOUND)
 {
     if (!U.isSafetyOffset(lz77addr))
     {//無効なポインタ
         errors.Add(new FELint.ErrorSt(cond, U.toOffset(addr)
                                       , R._("アドレス「{0}」は無効なアドレスです。", U.To0xHexString(lz77addr)), tag));
     }
     if (!U.isPadding4(lz77addr))
     {
         errors.Add(new FELint.ErrorSt(cond, U.toOffset(addr)
                                       , R._("アドレス「{0}」は4で割り切れない数字です。\r\n実行時にクラッシュする可能性があります。", U.To0xHexString(lz77addr)), tag));
     }
     if (!LZ77.iscompress(Program.ROM.Data, lz77addr))
     {
         errors.Add(new FELint.ErrorSt(cond, U.toOffset(addr)
                                       , R._("アドレス({0})はlz77で圧縮されていません。\r\nデータが壊れています。", U.To0xHexString(lz77addr)), tag));
     }
 }