Ejemplo n.º 1
0
        private void table_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e)
        {
            int row = e.RowIndex + viewOffset;

            if (row >= Data.GetROMSize())
            {
                return;
            }
            switch (e.ColumnIndex)
            {
            case 0: e.Value = Data.GetLabel(Util.ConvertPCtoSNES(row)); break;

            case 1: e.Value = Util.NumberToBaseString(Util.ConvertPCtoSNES(row), Util.NumberBase.Hexadecimal, 6); break;

            case 2: e.Value = (char)Data.GetROMByte(row); break;

            case 3: e.Value = Util.NumberToBaseString(Data.GetROMByte(row), DisplayBase); break;

            case 4: e.Value = Util.PointToString(Data.GetInOutPoint(row)); break;

            case 5:
                int len = Manager.GetInstructionLength(row);
                if (row + len <= Data.GetROMSize())
                {
                    e.Value = Util.GetInstruction(row);
                }
                else
                {
                    e.Value = "";
                }
                break;

            case 6:
                int ia = Util.GetIntermediateAddressOrPointer(row);
                if (ia >= 0)
                {
                    e.Value = Util.NumberToBaseString(ia, Util.NumberBase.Hexadecimal, 6);
                }
                else
                {
                    e.Value = "";
                }
                break;

            case 7: e.Value = Util.TypeToString(Data.GetFlag(row)); break;

            case 8: e.Value = Util.NumberToBaseString(Data.GetDataBank(row), Util.NumberBase.Hexadecimal, 2); break;

            case 9: e.Value = Util.NumberToBaseString(Data.GetDirectPage(row), Util.NumberBase.Hexadecimal, 4); break;

            case 10: e.Value = Util.BoolToSize(Data.GetMFlag(row)); break;

            case 11: e.Value = Util.BoolToSize(Data.GetXFlag(row)); break;

            case 12: e.Value = Data.GetComment(Util.ConvertPCtoSNES(row)); break;
            }
        }
Ejemplo n.º 2
0
        // trim to length
        private static string GetCode(int offset, int length)
        {
            int    bytes = GetLineByteLength(offset);
            string code  = "";

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

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

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

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

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

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

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

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

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

            return(string.Format("{0," + (length * -1) + "}", code));
        }