protected override string Generate(int offset, int length)
        {
            var bytes = LogCreator.GetLineByteLength(offset);
            var code  = "";

            switch (Data.GetFlag(offset))
            {
            case FlagType.Opcode:
                code = Data.GetInstruction(offset);
                break;

            case FlagType.Unreached:
            case FlagType.Operand:
            case FlagType.Data8Bit:
            case FlagType.Graphics:
            case FlagType.Music:
            case FlagType.Empty:
                code = Data.GetFormattedBytes(offset, 1, bytes);
                break;

            case FlagType.Data16Bit:
                code = Data.GetFormattedBytes(offset, 2, bytes);
                break;

            case FlagType.Data24Bit:
                code = Data.GetFormattedBytes(offset, 3, bytes);
                break;

            case FlagType.Data32Bit:
                code = Data.GetFormattedBytes(offset, 4, bytes);
                break;

            case FlagType.Pointer16Bit:
                code = Data.GeneratePointerStr(offset, 2);
                break;

            case FlagType.Pointer24Bit:
                code = Data.GeneratePointerStr(offset, 3);
                break;

            case FlagType.Pointer32Bit:
                code = Data.GeneratePointerStr(offset, 4);
                break;

            case FlagType.Text:
                code = Data.GetFormattedText(offset, bytes);
                break;
            }

            return(Util.LeftAlign(length, code));
        }