[pspplayer commit] r586 - in trunk: Dependencies/Be.Windows.Forms.HexBox Noxa.Emulation.Psp.Cpu.R4000Ultra

3 views
Skip to first unread message

codesite...@google.com

unread,
Mar 23, 2008, 6:37:33 PM3/23/08
to psppla...@googlegroups.com
Author: ben.vanik
Date: Sun Mar 23 15:36:54 2008
New Revision: 586

Modified:
trunk/Dependencies/Be.Windows.Forms.HexBox/Be.Windows.Forms.HexBox.xml
trunk/Noxa.Emulation.Psp.Cpu.R4000Ultra/R4000AdvancedBlockBuilder.cpp
trunk/Noxa.Emulation.Psp.Cpu.R4000Ultra/R4000Controller.cpp
trunk/Noxa.Emulation.Psp.Cpu.R4000Ultra/R4000Hook.cpp
trunk/Noxa.Emulation.Psp.Cpu.R4000Ultra/R4000Hook.h

Log:
Replaced dictionary lookups for breakpoints cause dictionaries are bad, mmmk?
Fixed stepping breakpoints - they work great now (pretty much - not across threads...)
Fixed breakpoint insertion during code gen - this was causing issues where the generated code overlapped, caused by bad apps. PB exhibited this behavior cause the user main function ended with a jal so the block analysis thought that it continued on into the module start block.


Modified: trunk/Dependencies/Be.Windows.Forms.HexBox/Be.Windows.Forms.HexBox.xml
==============================================================================
--- trunk/Dependencies/Be.Windows.Forms.HexBox/Be.Windows.Forms.HexBox.xml (original)
+++ trunk/Dependencies/Be.Windows.Forms.HexBox/Be.Windows.Forms.HexBox.xml Sun Mar 23 15:36:54 2008
@@ -4,5 +4,1280 @@
<name>Be.Windows.Forms.HexBox</name>
</assembly>
<members>
+ <member name="T:Be.Windows.Forms.HexCasing">
+ <summary>
+ Specifies the case of hex characters in the HexBox control
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexCasing.Upper">
+ <summary>
+ Converts all characters to uppercase.
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexCasing.Lower">
+ <summary>
+ Converts all characters to lowercase.
+ </summary>
+ </member>
+ <member name="T:Be.Windows.Forms.BytePositionInfo">
+ <summary>
+ Represents a position in the HexBox control
+ </summary>
+ </member>
+ <member name="T:Be.Windows.Forms.HexBox">
+ <summary>
+ Represents a hex box control.
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox.THUMPTRACKDELAY">
+ <summary>
+ Contains the thumptrack delay for scrolling in milliseconds.
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._recContent">
+ <summary>
+ Contains the hole content bounds of all text
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._recLineInfo">
+ <summary>
+ Contains the line info bounds
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._recHex">
+ <summary>
+ Contains the hex data bounds
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._recStringView">
+ <summary>
+ Contains the string view bounds
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._stringFormat">
+ <summary>
+ Contains string format information for text drawing
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._charSize">
+ <summary>
+ Contains the width and height of a single char
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._iHexMaxHBytes">
+ <summary>
+ Contains the maximum of visible horizontal bytes
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._iHexMaxVBytes">
+ <summary>
+ Contains the maximum of visible vertical bytes
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._iHexMaxBytes">
+ <summary>
+ Contains the maximum of visible bytes.
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._scrollVmin">
+ <summary>
+ Contains the scroll bars minimum value
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._scrollVmax">
+ <summary>
+ Contains the scroll bars maximum value
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._scrollVpos">
+ <summary>
+ Contains the scroll bars current position
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._vScrollBar">
+ <summary>
+ Contains a vertical scroll
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._thumbTrackTimer">
+ <summary>
+ Contains a timer for thumbtrack scrolling
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._thumbTrackPosition">
+ <summary>
+ Contains the thumbtrack scrolling position
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._lastThumbtrack">
+ <summary>
+ Contains the Enviroment.TickCount of the last refresh
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._recBorderLeft">
+ <summary>
+ Contains the border´s left shift
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._recBorderRight">
+ <summary>
+ Contains the border´s right shift
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._recBorderTop">
+ <summary>
+ Contains the border´s top shift
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._recBorderBottom">
+ <summary>
+ Contains the border bottom shift
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._startByte">
+ <summary>
+ Contains the index of the first visible byte
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._endByte">
+ <summary>
+ Contains the index of the last visible byte
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._bytePos">
+ <summary>
+ Contains the current byte position
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._byteCharacterPos">
+ <summary>
+ Contains the current char position in one byte
+ </summary>
+ <example>
+ "1A"
+ "1" = char position of 0
+ "A" = char position of 1
+ </example>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._hexStringFormat">
+ <summary>
+ Contains string format information for hex values
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._keyInterpreter">
+ <summary>
+ Contains the current key interpreter
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._eki">
+ <summary>
+ Contains an empty key interpreter without functionality
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._ki">
+ <summary>
+ Contains the default key interpreter
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._ski">
+ <summary>
+ Contains the string key interpreter
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._caretVisible">
+ <summary>
+ Contains True if caret is visible
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._abortFind">
+ <summary>
+ Contains true, if the find (Find method) should be aborted.
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._findingPos">
+ <summary>
+ Contains a value of the current finding position.
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox._insertActive">
+ <summary>
+ Contains a state value about Insert or Write mode. When this value is true and the ByteProvider SupportsInsert is true bytes are inserted instead of overridden.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.#ctor">
+ <summary>
+ Initializes a new instance of a HexBox class.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.PerformScrollThumbTrack(System.Object,System.EventArgs)">
+ <summary>
+ Performs the thumbtrack scrolling after an delay.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.ScrollByteIntoView">
+ <summary>
+ Scrolls the selection start byte into view
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.ScrollByteIntoView(System.Int64)">
+ <summary>
+ Scrolls the specific byte into view
+ </summary>
+ <param name="index">the index of the byte</param>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.Select(System.Int64,System.Int64)">
+ <summary>
+ Selects the hex box.
+ </summary>
+ <param name="start">the start index of the selection</param>
+ <param name="length">the length of the selection</param>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.PreProcessMessage(System.Windows.Forms.Message@)">
+ <summary>
+ Preprocesses windows messages.
+ </summary>
+ <param name="m">the message to process.</param>
+ <returns>true, if the message was processed</returns>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.Find(System.Byte[],System.Int64)">
+ <summary>
+ Searches the current ByteProvider
+ </summary>
+ <param name="bytes">the array of bytes to find</param>
+ <param name="startIndex">the start index</param>
+ <returns>the SelectionStart property value if find was successfull or
+ -1 if there is no match
+ -2 if Find was aborted.</returns>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.AbortFind">
+ <summary>
+ Aborts a working Find method.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.Copy">
+ <summary>
+ Copies the current selection in the hex box to the Clipboard.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.CanCopy">
+ <summary>
+ Return true if Copy method could be invoked.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.Cut">
+ <summary>
+ Moves the current selection in the hex box to the Clipboard.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.CanCut">
+ <summary>
+ Return true if Cut method could be invoked.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.Paste">
+ <summary>
+ Replaces the current selection in the hex box with the contents of the Clipboard.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.CanPaste">
+ <summary>
+ Return true if Paste method could be invoked.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.OnPaintBackground(System.Windows.Forms.PaintEventArgs)">
+ <summary>
+ Paints the background.
+ </summary>
+ <param name="e">A PaintEventArgs that contains the event data.</param>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.OnPaint(System.Windows.Forms.PaintEventArgs)">
+ <summary>
+ Paints the hex box.
+ </summary>
+ <param name="e">A PaintEventArgs that contains the event data.</param>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.OnInsertActiveChanged(System.EventArgs)">
+ <summary>
+ Raises the InsertActiveChanged event.
+ </summary>
+ <param name="e">An EventArgs that contains the event data.</param>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.OnReadOnlyChanged(System.EventArgs)">
+ <summary>
+ Raises the ReadOnlyChanged event.
+ </summary>
+ <param name="e">An EventArgs that contains the event data.</param>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.OnByteProviderChanged(System.EventArgs)">
+ <summary>
+ Raises the ByteProviderChanged event.
+ </summary>
+ <param name="e">An EventArgs that contains the event data.</param>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.OnSelectionStartChanged(System.EventArgs)">
+ <summary>
+ Raises the SelectionStartChanged event.
+ </summary>
+ <param name="e">An EventArgs that contains the event data.</param>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.OnSelectionLengthChanged(System.EventArgs)">
+ <summary>
+ Raises the SelectionLengthChanged event.
+ </summary>
+ <param name="e">An EventArgs that contains the event data.</param>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.OnLineInfoVisibleChanged(System.EventArgs)">
+ <summary>
+ Raises the LineInfoVisibleChanged event.
+ </summary>
+ <param name="e">An EventArgs that contains the event data.</param>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.OnStringViewVisibleChanged(System.EventArgs)">
+ <summary>
+ Raises the StringViewVisibleChanged event.
+ </summary>
+ <param name="e">An EventArgs that contains the event data.</param>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.OnBorderStyleChanged(System.EventArgs)">
+ <summary>
+ Raises the BorderStyleChanged event.
+ </summary>
+ <param name="e">An EventArgs that contains the event data.</param>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.OnUseFixedBytesPerLineChanged(System.EventArgs)">
+ <summary>
+ Raises the UseFixedBytesPerLineChanged event.
+ </summary>
+ <param name="e">An EventArgs that contains the event data.</param>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.OnBytesPerLineChanged(System.EventArgs)">
+ <summary>
+ Raises the BytesPerLineChanged event.
+ </summary>
+ <param name="e">An EventArgs that contains the event data.</param>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.OnVScrollBarVisibleChanged(System.EventArgs)">
+ <summary>
+ Raises the VScrollBarVisibleChanged event.
+ </summary>
+ <param name="e">An EventArgs that contains the event data.</param>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.OnHexCasingChanged(System.EventArgs)">
+ <summary>
+ Raises the HexCasingChanged event.
+ </summary>
+ <param name="e">An EventArgs that contains the event data.</param>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.OnHorizontalByteCountChanged(System.EventArgs)">
+ <summary>
+ Raises the HorizontalByteCountChanged event.
+ </summary>
+ <param name="e">An EventArgs that contains the event data.</param>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.OnVerticalByteCountChanged(System.EventArgs)">
+ <summary>
+ Raises the VerticalByteCountChanged event.
+ </summary>
+ <param name="e">An EventArgs that contains the event data.</param>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.OnCurrentLineChanged(System.EventArgs)">
+ <summary>
+ Raises the CurrentLineChanged event.
+ </summary>
+ <param name="e">An EventArgs that contains the event data.</param>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.OnCurrentPositionInLineChanged(System.EventArgs)">
+ <summary>
+ Raises the CurrentPositionInLineChanged event.
+ </summary>
+ <param name="e">An EventArgs that contains the event data.</param>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.OnMouseDown(System.Windows.Forms.MouseEventArgs)">
+ <summary>
+ Raises the MouseDown event.
+ </summary>
+ <param name="e">An EventArgs that contains the event data.</param>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.OnMouseWheel(System.Windows.Forms.MouseEventArgs)">
+ <summary>
+ Raises the MouseWhell event
+ </summary>
+ <param name="e">An EventArgs that contains the event data.</param>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.OnResize(System.EventArgs)">
+ <summary>
+ Raises the Resize event.
+ </summary>
+ <param name="e">An EventArgs that contains the event data.</param>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.OnGotFocus(System.EventArgs)">
+ <summary>
+ Raises the GotFocus event.
+ </summary>
+ <param name="e">An EventArgs that contains the event data.</param>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.OnLostFocus(System.EventArgs)">
+ <summary>
+ Raises the LostFocus event.
+ </summary>
+ <param name="e">An EventArgs that contains the event data.</param>
+ </member>
+ <member name="E:Be.Windows.Forms.HexBox.InsertActiveChanged">
+ <summary>
+ Occurs, when the value of InsertActive property has changed.
+ </summary>
+ </member>
+ <member name="E:Be.Windows.Forms.HexBox.ReadOnlyChanged">
+ <summary>
+ Occurs, when the value of ReadOnly property has changed.
+ </summary>
+ </member>
+ <member name="E:Be.Windows.Forms.HexBox.ByteProviderChanged">
+ <summary>
+ Occurs, when the value of ByteProvider property has changed.
+ </summary>
+ </member>
+ <member name="E:Be.Windows.Forms.HexBox.SelectionStartChanged">
+ <summary>
+ Occurs, when the value of SelectionStart property has changed.
+ </summary>
+ </member>
+ <member name="E:Be.Windows.Forms.HexBox.SelectionLengthChanged">
+ <summary>
+ Occurs, when the value of SelectionLength property has changed.
+ </summary>
+ </member>
+ <member name="E:Be.Windows.Forms.HexBox.LineInfoVisibleChanged">
+ <summary>
+ Occurs, when the value of LineInfoVisible property has changed.
+ </summary>
+ </member>
+ <member name="E:Be.Windows.Forms.HexBox.StringViewVisibleChanged">
+ <summary>
+ Occurs, when the value of StringViewVisible property has changed.
+ </summary>
+ </member>
+ <member name="E:Be.Windows.Forms.HexBox.BorderStyleChanged">
+ <summary>
+ Occurs, when the value of BorderStyle property has changed.
+ </summary>
+ </member>
+ <member name="E:Be.Windows.Forms.HexBox.BytesPerLineChanged">
+ <summary>
+ Occurs, when the value of BytesPerLine property has changed.
+ </summary>
+ </member>
+ <member name="E:Be.Windows.Forms.HexBox.UseFixedBytesPerLineChanged">
+ <summary>
+ Occurs, when the value of UseFixedBytesPerLine property has changed.
+ </summary>
+ </member>
+ <member name="E:Be.Windows.Forms.HexBox.VScrollBarVisibleChanged">
+ <summary>
+ Occurs, when the value of VScrollBarVisible property has changed.
+ </summary>
+ </member>
+ <member name="E:Be.Windows.Forms.HexBox.HexCasingChanged">
+ <summary>
+ Occurs, when the value of HexCasing property has changed.
+ </summary>
+ </member>
+ <member name="E:Be.Windows.Forms.HexBox.HorizontalByteCountChanged">
+ <summary>
+ Occurs, when the value of HorizontalByteCount property has changed.
+ </summary>
+ </member>
+ <member name="E:Be.Windows.Forms.HexBox.VerticalByteCountChanged">
+ <summary>
+ Occurs, when the value of VerticalByteCount property has changed.
+ </summary>
+ </member>
+ <member name="E:Be.Windows.Forms.HexBox.CurrentLineChanged">
+ <summary>
+ Occurs, when the value of CurrentLine property has changed.
+ </summary>
+ </member>
+ <member name="E:Be.Windows.Forms.HexBox.CurrentPositionInLineChanged">
+ <summary>
+ Occurs, when the value of CurrentPositionInLine property has changed.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.CurrentFindingPosition">
+ <summary>
+ Gets a value that indicates the current position during Find method execution.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.BackColor">
+ <summary>
+ Gets or sets the background color for the control.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.Font">
+ <summary>
+ The font used to display text in the hexbox.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.Text">
+ <summary>
+ Not used.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.RightToLeft">
+ <summary>
+ Not used.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.BackColorDisabled">
+ <summary>
+ Gets or sets the background color for the disabled control.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.ReadOnly">
+ <summary>
+ Gets or sets if the count of bytes in one line is fix.
+ </summary>
+ <remarks>
+ When set to True, BytesPerLine property determine the maximum count of bytes in one line.
+ </remarks>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.BytesPerLine">
+ <summary>
+ Gets or sets the maximum count of bytes in one line.
+ </summary>
+ <remarks>
+ UsedFixedBytesPerLine property must set to true
+ </remarks>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.UseFixedBytesPerLine">
+ <summary>
+ Gets or sets if the count of bytes in one line is fix.
+ </summary>
+ <remarks>
+ When set to True, BytesPerLine property determine the maximum count of bytes in one line.
+ </remarks>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.VScrollBarVisible">
+ <summary>
+ Gets or sets the visibility of a vertical scroll bar.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.ByteProvider">
+ <summary>
+ Gets or sets the ByteProvider.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.LineInfoVisible">
+ <summary>
+ Gets or sets the visibility of a line info.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.BorderStyle">
+ <summary>
+ Gets or sets the hex box´s border style.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.StringViewVisible">
+ <summary>
+ Gets or sets the visibility of the string view.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.HexCasing">
+ <summary>
+ Gets or sets whether the HexBox control displays the hex characters in upper or lower case.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.SelectionStart">
+ <summary>
+ Gets and sets the starting point of the bytes selected in the hex box.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.SelectionLength">
+ <summary>
+ Gets and sets the number of bytes selected in the hex box.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.LineInfoForeColor">
+ <summary>
+ Gets or sets the line info color. When this property is null, then ForeColor property is used.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.SelectionBackColor">
+ <summary>
+ Gets or sets the background color for the selected bytes.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.SelectionForeColor">
+ <summary>
+ Gets or sets the foreground color for the selected bytes.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.ShadowSelectionVisible">
+ <summary>
+ Gets or sets the visibility of a shadow selection.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.ShadowSelectionColor">
+ <summary>
+ Gets or sets the color of the shadow selection.
+ </summary>
+ <remarks>
+ A alpha component must be given!
+ Default alpha = 100
+ </remarks>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.HorizontalByteCount">
+ <summary>
+ Gets the number bytes drawn horizontally.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.VerticalByteCount">
+ <summary>
+ Gets the number bytes drawn vertically.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.CurrentLine">
+ <summary>
+ Gets the current line
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.CurrentPositionInLine">
+ <summary>
+ Gets the current position in the current line
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.HexBox.InsertActive">
+ <summary>
+ Gets the a value if insertion mode is active or not.
+ </summary>
+ </member>
+ <member name="T:Be.Windows.Forms.HexBox.IKeyInterpreter">
+ <summary>
+ Defines a user input handler such as for mouse and keyboard input
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.IKeyInterpreter.Activate">
+ <summary>
+ Activates mouse events
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.IKeyInterpreter.Deactivate">
+ <summary>
+ Deactivate mouse events
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.IKeyInterpreter.PreProcessWmKeyUp(System.Windows.Forms.Message@)">
+ <summary>
+ Preprocesses WM_KEYUP window message.
+ </summary>
+ <param name="m">the Message object to process.</param>
+ <returns>True, if the message was processed.</returns>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.IKeyInterpreter.PreProcessWmChar(System.Windows.Forms.Message@)">
+ <summary>
+ Preprocesses WM_CHAR window message.
+ </summary>
+ <param name="m">the Message object to process.</param>
+ <returns>True, if the message was processed.</returns>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.IKeyInterpreter.PreProcessWmKeyDown(System.Windows.Forms.Message@)">
+ <summary>
+ Preprocesses WM_KEYDOWN window message.
+ </summary>
+ <param name="m">the Message object to process.</param>
+ <returns>True, if the message was processed.</returns>
+ </member>
+ <member name="M:Be.Windows.Forms.HexBox.IKeyInterpreter.GetCaretPointF(System.Int64)">
+ <summary>
+ Gives some information about where to place the caret.
+ </summary>
+ <param name="byteIndex">the index of the byte</param>
+ <returns>the position where the caret is to place.</returns>
+ </member>
+ <member name="T:Be.Windows.Forms.HexBox.EmptyKeyInterpreter">
+ <summary>
+ Represents an empty input handler without any functionality.
+ If is set ByteProvider to null, then this interpreter is used.
+ </summary>
+ </member>
+ <member name="T:Be.Windows.Forms.HexBox.KeyInterpreter">
+ <summary>
+ Handles user input such as mouse and keyboard input during hex view edit
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox.KeyInterpreter._hexBox">
+ <summary>
+ Contains the parent HexBox control
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox.KeyInterpreter._shiftDown">
+ <summary>
+ Contains True, if shift key is down
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox.KeyInterpreter._mouseDown">
+ <summary>
+ Contains True, if mouse is down
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox.KeyInterpreter._bpiStart">
+ <summary>
+ Contains the selection start position info
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.HexBox.KeyInterpreter._bpi">
+ <summary>
+ Contains the current mouse selection position info
+ </summary>
+ </member>
+ <member name="T:Be.Windows.Forms.HexBox.StringKeyInterpreter">
+ <summary>
+ Handles user input such as mouse and keyboard input during string view edit
+ </summary>
+ </member>
+ <member name="T:Be.Windows.Forms.ByteCollection">
+ <summary>
+ Represents a collection of bytes.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.ByteCollection.#ctor">
+ <summary>
+ Initializes a new instance of ByteCollection class.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.ByteCollection.#ctor(System.Byte[])">
+ <summary>
+ Initializes a new instance of ByteCollection class.
+ </summary>
+ <param name="bs">an array of bytes to add to collection</param>
+ </member>
+ <member name="M:Be.Windows.Forms.ByteCollection.Add(System.Byte)">
+ <summary>
+ Adds a byte into the collection.
+ </summary>
+ <param name="b">the byte to add</param>
+ </member>
+ <member name="M:Be.Windows.Forms.ByteCollection.AddRange(System.Byte[])">
+ <summary>
+ Adds a range of bytes to the collection.
+ </summary>
+ <param name="bs">the bytes to add</param>
+ </member>
+ <member name="M:Be.Windows.Forms.ByteCollection.Remove(System.Byte)">
+ <summary>
+ Removes a byte from the collection.
+ </summary>
+ <param name="b">the byte to remove</param>
+ </member>
+ <member name="M:Be.Windows.Forms.ByteCollection.RemoveRange(System.Int32,System.Int32)">
+ <summary>
+ Removes a range of bytes from the collection.
+ </summary>
+ <param name="index">the index of the start byte</param>
+ <param name="count">the count of the bytes to remove</param>
+ </member>
+ <member name="M:Be.Windows.Forms.ByteCollection.InsertRange(System.Int32,System.Byte[])">
+ <summary>
+ Inserts a range of bytes to the collection.
+ </summary>
+ <param name="index">the index of start byte</param>
+ <param name="bs">an array of bytes to insert</param>
+ </member>
+ <member name="M:Be.Windows.Forms.ByteCollection.GetBytes">
+ <summary>
+ Gets all bytes in the array
+ </summary>
+ <returns>an array of bytes.</returns>
+ </member>
+ <member name="M:Be.Windows.Forms.ByteCollection.Insert(System.Int32,System.Byte)">
+ <summary>
+ Inserts a byte to the collection.
+ </summary>
+ <param name="index">the index</param>
+ <param name="b">a byte to insert</param>
+ </member>
+ <member name="M:Be.Windows.Forms.ByteCollection.IndexOf(System.Byte)">
+ <summary>
+ Returns the index of the given byte.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.ByteCollection.Contains(System.Boolean)">
+ <summary>
+ Returns true, if the byte exists in the collection.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.ByteCollection.CopyTo(System.Byte[],System.Int32)">
+ <summary>
+ Copies the content of the collection into the given array.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.ByteCollection.ToArray">
+ <summary>
+ Copies the content of the collection into an array.
+ </summary>
+ <returns>the array containing all bytes.</returns>
+ </member>
+ <member name="P:Be.Windows.Forms.ByteCollection.Item(System.Int32)">
+ <summary>
+ Gets or sets the value of a byte
+ </summary>
+ </member>
+ <member name="T:Be.Windows.Forms.DynamicByteProvider">
+ <summary>
+ Byte provider for a small amount of data.
+ </summary>
+ </member>
+ <member name="T:Be.Windows.Forms.IByteProvider">
+ <summary>
+ Defines a byte provider for HexBox control
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.IByteProvider.ReadByte(System.Int64)">
+ <summary>
+ Reads a byte from the provider
+ </summary>
+ <param name="index">the index of the byte to read</param>
+ <returns>the byte to read</returns>
+ </member>
+ <member name="M:Be.Windows.Forms.IByteProvider.WriteByte(System.Int64,System.Byte)">
+ <summary>
+ Writes a byte into the provider
+ </summary>
+ <param name="index">the index of the byte to write</param>
+ <param name="value">the byte to write</param>
+ </member>
+ <member name="M:Be.Windows.Forms.IByteProvider.InsertBytes(System.Int64,System.Byte[])">
+ <summary>
+ Inserts bytes into the provider
+ </summary>
+ <param name="index"></param>
+ <param name="bs"></param>
+ <remarks>This method must raise the LengthChanged event.</remarks>
+ </member>
+ <member name="M:Be.Windows.Forms.IByteProvider.DeleteBytes(System.Int64,System.Int64)">
+ <summary>
+ Deletes bytes from the provider
+ </summary>
+ <param name="index">the start index of the bytes to delete</param>
+ <param name="length">the length of the bytes to delete</param>
+ <remarks>This method must raise the LengthChanged event.</remarks>
+ </member>
+ <member name="M:Be.Windows.Forms.IByteProvider.HasChanges">
+ <summary>
+ True, when changes are done.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.IByteProvider.ApplyChanges">
+ <summary>
+ Applies changes.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.IByteProvider.SupportsWriteByte">
+ <summary>
+ Returns a value if the WriteByte methods is supported by the provider.
+ </summary>
+ <returns>True, when it´s supported.</returns>
+ </member>
+ <member name="M:Be.Windows.Forms.IByteProvider.SupportsInsertBytes">
+ <summary>
+ Returns a value if the InsertBytes methods is supported by the provider.
+ </summary>
+ <returns>True, when it´s supported.</returns>
+ </member>
+ <member name="M:Be.Windows.Forms.IByteProvider.SupportsDeleteBytes">
+ <summary>
+ Returns a value if the DeleteBytes methods is supported by the provider.
+ </summary>
+ <returns>True, when it´s supported.</returns>
+ </member>
+ <member name="P:Be.Windows.Forms.IByteProvider.Length">
+ <summary>
+ Returns the total length of bytes the byte provider is providing.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.IByteProvider.Offset">
+ <summary>
+ Offset, in bytes, that the provider starts at.
+ </summary>
+ </member>
+ <member name="E:Be.Windows.Forms.IByteProvider.LengthChanged">
+ <summary>
+ Occurs, when the Length property changed.
+ </summary>
+ </member>
+ <member name="E:Be.Windows.Forms.IByteProvider.Changed">
+ <summary>
+ Occurs, when bytes are changed.
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.DynamicByteProvider._hasChanges">
+ <summary>
+ Contains information about changes.
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.DynamicByteProvider._bytes">
+ <summary>
+ Contains a byte collection.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicByteProvider.#ctor(System.Byte[])">
+ <summary>
+ Initializes a new instance of the DynamicByteProvider class.
+ </summary>
+ <param name="data"></param>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicByteProvider.#ctor(Be.Windows.Forms.ByteCollection)">
+ <summary>
+ Initializes a new instance of the DynamicByteProvider class.
+ </summary>
+ <param name="bytes"></param>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicByteProvider.OnChanged(System.EventArgs)">
+ <summary>
+ Raises the Changed event.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicByteProvider.OnLengthChanged(System.EventArgs)">
+ <summary>
+ Raises the LengthChanged event.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicByteProvider.HasChanges">
+ <summary>
+ True, when changes are done.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicByteProvider.ApplyChanges">
+ <summary>
+ Applies changes.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicByteProvider.ReadByte(System.Int64)">
+ <summary>
+ Reads a byte from the byte collection.
+ </summary>
+ <param name="index">the index of the byte to read</param>
+ <returns>the byte</returns>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicByteProvider.WriteByte(System.Int64,System.Byte)">
+ <summary>
+ Write a byte into the byte collection.
+ </summary>
+ <param name="index">the index of the byte to write.</param>
+ <param name="value">the byte</param>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicByteProvider.DeleteBytes(System.Int64,System.Int64)">
+ <summary>
+ Deletes bytes from the byte collection.
+ </summary>
+ <param name="index">the start index of the bytes to delete.</param>
+ <param name="length">the length of bytes to delete.</param>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicByteProvider.InsertBytes(System.Int64,System.Byte[])">
+ <summary>
+ Inserts byte into the byte collection.
+ </summary>
+ <param name="index">the start index of the bytes in the byte collection</param>
+ <param name="bs">the byte array to insert</param>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicByteProvider.SupportsWriteByte">
+ <summary>
+ Returns true
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicByteProvider.SupportsInsertBytes">
+ <summary>
+ Returns true
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicByteProvider.SupportsDeleteBytes">
+ <summary>
+ Returns true
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.DynamicByteProvider.Bytes">
+ <summary>
+ Gets the byte collection.
+ </summary>
+ </member>
+ <member name="E:Be.Windows.Forms.DynamicByteProvider.Changed">
+ <summary>
+ Occurs, when the write buffer contains new changes.
+ </summary>
+ </member>
+ <member name="E:Be.Windows.Forms.DynamicByteProvider.LengthChanged">
+ <summary>
+ Occurs, when InsertBytes or DeleteBytes method is called.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.DynamicByteProvider.Length">
+ <summary>
+ Gets the length of the bytes in the byte collection.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.DynamicByteProvider.Offset">
+ <summary>
+ See <see cref="P:Be.Windows.Forms.IByteProvider.Offset"/> for more information.
+ </summary>
+ </member>
+ <member name="T:Be.Windows.Forms.Design.HexFontEditor">
+ <summary>
+ Display only fixed-piched fonts
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.Design.HexFontEditor.#ctor">
+ <summary>
+ Initializes an instance of HexFontEditor class.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.Design.HexFontEditor.EditValue(System.ComponentModel.ITypeDescriptorContext,System.IServiceProvider,System.Object)">
+ <summary>
+ Edits the value
+ </summary>
+ </member>
+ <member name="T:Be.Windows.Forms.FileByteProvider">
+ <summary>
+ Byte provider for (big) files.
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.FileByteProvider._writes">
+ <summary>
+ Contains all changes
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.FileByteProvider._fileName">
+ <summary>
+ Contains the file name.
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.FileByteProvider._fileStream">
+ <summary>
+ Contains the file stream.
+ </summary>
+ </member>
+ <member name="F:Be.Windows.Forms.FileByteProvider._readOnly">
+ <summary>
+ Read-only access.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.FileByteProvider.#ctor(System.String)">
+ <summary>
+ Initializes a new instance of the FileByteProvider class.
+ </summary>
+ <param name="fileName"></param>
+ </member>
+ <member name="M:Be.Windows.Forms.FileByteProvider.Finalize">
+ <summary>
+ Terminates the instance of the FileByteProvider class.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.FileByteProvider.OnChanged(System.EventArgs)">
+ <summary>
+ Raises the Changed event.
+ </summary>
+ <remarks>Never used.</remarks>
+ </member>
+ <member name="M:Be.Windows.Forms.FileByteProvider.HasChanges">
+ <summary>
+ Returns a value if there are some changes.
+ </summary>
+ <returns>true, if there are some changes</returns>
+ </member>
+ <member name="M:Be.Windows.Forms.FileByteProvider.ApplyChanges">
+ <summary>
+ Updates the file with all changes the write buffer contains.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.FileByteProvider.RejectChanges">
+ <summary>
+ Clears the write buffer and reject all changes made.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.FileByteProvider.ReadByte(System.Int64)">
+ <summary>
+ Reads a byte from the file.
+ </summary>
+ <param name="index">the index of the byte to read</param>
+ <returns>the byte</returns>
+ </member>
+ <member name="M:Be.Windows.Forms.FileByteProvider.WriteByte(System.Int64,System.Byte)">
+ <summary>
+ Writes a byte into write buffer
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.FileByteProvider.DeleteBytes(System.Int64,System.Int64)">
+ <summary>
+ Not supported
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.FileByteProvider.InsertBytes(System.Int64,System.Byte[])">
+ <summary>
+ Not supported
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.FileByteProvider.SupportsWriteByte">
+ <summary>
+ Returns true
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.FileByteProvider.SupportsInsertBytes">
+ <summary>
+ Returns false
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.FileByteProvider.SupportsDeleteBytes">
+ <summary>
+ Returns false
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.FileByteProvider.Dispose">
+ <summary>
+ Releases the file handle used by the FileByteProvider.
+ </summary>
+ </member>
+ <member name="E:Be.Windows.Forms.FileByteProvider.Changed">
+ <summary>
+ Occurs, when the write buffer contains new changes.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.FileByteProvider.FileName">
+ <summary>
+ Gets the name of the file the byte provider is using.
+ </summary>
+ </member>
+ <member name="E:Be.Windows.Forms.FileByteProvider.LengthChanged">
+ <summary>
+ Never used.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.FileByteProvider.Length">
+ <summary>
+ Gets the length of the file.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.FileByteProvider.Offset">
+ <summary>
+ See <see cref="P:Be.Windows.Forms.IByteProvider.Offset"/> for more information.
+ </summary>
+ </member>
+ <member name="T:Be.Windows.Forms.FileByteProvider.WriteCollection">
+ <summary>
+ Represents the write buffer class
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.FileByteProvider.WriteCollection.Add(System.Int64,System.Byte)">
+ <summary>
+ Adds a byte into the collection
+ </summary>
+ <param name="index">the index of the byte</param>
+ <param name="value">the value of the byte</param>
+ </member>
+ <member name="M:Be.Windows.Forms.FileByteProvider.WriteCollection.Contains(System.Int64)">
+ <summary>
+ Determines if a byte with the given index exists.
+ </summary>
+ <param name="index">the index of the byte</param>
+ <returns>true, if the is in the collection</returns>
+ </member>
+ <member name="P:Be.Windows.Forms.FileByteProvider.WriteCollection.Item(System.Int64)">
+ <summary>
+ Gets or sets a byte in the collection
+ </summary>
+ </member>
+ <member name="T:Be.Windows.Forms.DynamicFileByteProvider">
+ <summary>
+ Implements a fully editable byte provider for file data of any size.
+ </summary>
+ <remarks>
+ Only changes to the file are stored in memory with reads from the
+ original data occurring as required.
+ </remarks>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicFileByteProvider.#ctor(System.String)">
+ <summary>
+ Constructs a new <see cref="T:Be.Windows.Forms.DynamicFileByteProvider"/> instance.
+ </summary>
+ <param name="fileName">The name of the file from which bytes should be provided.</param>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicFileByteProvider.#ctor(System.String,System.Boolean)">
+ <summary>
+ Constructs a new <see cref="T:Be.Windows.Forms.DynamicFileByteProvider"/> instance.
+ </summary>
+ <param name="fileName">The name of the file from which bytes should be provided.</param>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicFileByteProvider.ReadByte(System.Int64)">
+ <summary>
+ See <see cref="M:Be.Windows.Forms.IByteProvider.ReadByte(System.Int64)"/> for more information.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicFileByteProvider.WriteByte(System.Int64,System.Byte)">
+ <summary>
+ See <see cref="M:Be.Windows.Forms.IByteProvider.WriteByte(System.Int64,System.Byte)"/> for more information.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicFileByteProvider.InsertBytes(System.Int64,System.Byte[])">
+ <summary>
+ See <see cref="M:Be.Windows.Forms.IByteProvider.InsertBytes(System.Int64,System.Byte[])"/> for more information.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicFileByteProvider.DeleteBytes(System.Int64,System.Int64)">
+ <summary>
+ See <see cref="M:Be.Windows.Forms.IByteProvider.DeleteBytes(System.Int64,System.Int64)"/> for more information.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicFileByteProvider.HasChanges">
+ <summary>
+ See <see cref="M:Be.Windows.Forms.IByteProvider.HasChanges"/> for more information.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicFileByteProvider.ApplyChanges">
+ <summary>
+ See <see cref="M:Be.Windows.Forms.IByteProvider.ApplyChanges"/> for more information.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicFileByteProvider.SupportsWriteByte">
+ <summary>
+ See <see cref="M:Be.Windows.Forms.IByteProvider.SupportsWriteByte"/> for more information.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicFileByteProvider.SupportsInsertBytes">
+ <summary>
+ See <see cref="M:Be.Windows.Forms.IByteProvider.SupportsInsertBytes"/> for more information.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicFileByteProvider.SupportsDeleteBytes">
+ <summary>
+ See <see cref="M:Be.Windows.Forms.IByteProvider.SupportsDeleteBytes"/> for more information.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicFileByteProvider.Finalize">
+ <summary>
+ See <see cref="M:System.Object.Finalize"/> for more information.
+ </summary>
+ </member>
+ <member name="M:Be.Windows.Forms.DynamicFileByteProvider.Dispose">
+ <summary>
+ See <see cref="M:System.IDisposable.Dispose"/> for more information.
+ </summary>
+ </member>
+ <member name="E:Be.Windows.Forms.DynamicFileByteProvider.LengthChanged">
+ <summary>
+ See <see cref="E:Be.Windows.Forms.IByteProvider.LengthChanged"/> for more information.
+ </summary>
+ </member>
+ <member name="E:Be.Windows.Forms.DynamicFileByteProvider.Changed">
+ <summary>
+ See <see cref="E:Be.Windows.Forms.IByteProvider.Changed"/> for more information.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.DynamicFileByteProvider.Length">
+ <summary>
+ See <see cref="P:Be.Windows.Forms.IByteProvider.Length"/> for more information.
+ </summary>
+ </member>
+ <member name="P:Be.Windows.Forms.DynamicFileByteProvider.Offset">
+ <summary>
+ See <see cref="P:Be.Windows.Forms.IByteProvider.Offset"/> for more information.
+ </summary>
+ </member>
</members>
</doc>

Modified: trunk/Noxa.Emulation.Psp.Cpu.R4000Ultra/R4000AdvancedBlockBuilder.cpp
==============================================================================
--- trunk/Noxa.Emulation.Psp.Cpu.R4000Ultra/R4000AdvancedBlockBuilder.cpp (original)
+++ trunk/Noxa.Emulation.Psp.Cpu.R4000Ultra/R4000AdvancedBlockBuilder.cpp Sun Mar 23 15:36:54 2008
@@ -61,6 +61,7 @@
#ifdef DEBUGGING
// In R4000Controller
void SetBreakpoint( Breakpoint^ breakpoint );
+void SetBreakpoint( Breakpoint^ breakpoint, CodeBlock* block );
#endif

#define ENDADDRESS ( startAddress + ( maxCodeLength << 2 ) )
@@ -96,7 +97,7 @@
byte* mainMemory = _memory->MainMemory;

#ifdef DEBUGGING
- List<int>^ breakpoints = gcnew List<int>();
+ List<Breakpoint^>^ breakpoints = gcnew List<Breakpoint^>();
#endif

int maxCodeLength = MAXCODELENGTH;
@@ -284,16 +285,28 @@

// See if this instruction has a breakpoint defined
if( ( _cpu->_hook != nullptr ) &&
- ( _cpu->_hook->BreakpointLookup != nullptr ) )
+ ( _cpu->_hook->Breakpoints != nullptr ) )
{
- int breakpointId;
- if( _cpu->_hook->BreakpointLookup->TryGetValue( address, breakpointId ) == true )
- breakpoints->Add( breakpointId );
-
+ bool hasStepping = false;
for each( Breakpoint^ bp in _cpu->_hook->SteppingBreakpoints )
{
if( bp->Address == address )
- breakpoints->Add( bp->ID );
+ {
+ hasStepping = true;
+ breakpoints->Add( bp );
+ break;
+ }
+ }
+ if( hasStepping == false )
+ {
+ for each( Breakpoint^ bp in _cpu->_hook->Breakpoints )
+ {
+ if( bp->Address == address )
+ {
+ breakpoints->Add( bp );
+ break;
+ }
+ }
}
}

@@ -802,10 +815,16 @@

#ifdef DEBUGGING
// Add breakpoints that are defined in this method
- for( int n = 0; n < breakpoints->Count; n++ )
+ for each( Breakpoint^ bp in breakpoints )
{
- Breakpoint^ bp = _cpu->_hook->Breakpoints[ breakpoints[ n ] ];
- SetBreakpoint( bp );
+ switch( bp->Type )
+ {
+ case BreakpointType::Stepping:
+ case BreakpointType::CodeExecute:
+ case BreakpointType::BiosFunction:
+ SetBreakpoint( bp, block );
+ break;
+ }
}
#endif

Modified: trunk/Noxa.Emulation.Psp.Cpu.R4000Ultra/R4000Controller.cpp
==============================================================================
--- trunk/Noxa.Emulation.Psp.Cpu.R4000Ultra/R4000Controller.cpp (original)
+++ trunk/Noxa.Emulation.Psp.Cpu.R4000Ultra/R4000Controller.cpp Sun Mar 23 15:36:54 2008
@@ -53,7 +53,7 @@
_debugResumeMode = DEBUG_RESUME_CONTINUE;
_debugResumeParam = 0;

- array<Instruction^>^ _analysisInstructions = gcnew array<Instruction^>{
+ _analysisInstructions = gcnew array<Instruction^>{
gcnew Instruction( "beq", 0x10000000, 0xFC000000, AddressBits::Bits16, InstructionType::Branch ),
gcnew Instruction( "beql", 0x50000000, 0xFC000000, AddressBits::Bits16, InstructionType::Branch ),
gcnew Instruction( "bgez", 0x04010000, 0xFC1F0000, AddressBits::Bits16, InstructionType::Branch ),
@@ -178,7 +178,27 @@
R4000Cpu^ cpu = R4000Cpu::GlobalCpu;

Breakpoint^ breakpoint;
- if( cpu->_hook->Breakpoints->TryGetValue( breakpointId, breakpoint ) == false )
+ for each( Breakpoint^ bp in cpu->_hook->SteppingBreakpoints )
+ {
+ if( bp->ID == breakpointId )
+ {
+ breakpoint = bp;
+ break;
+ }
+ }
+ if( breakpoint == nullptr )
+ {
+ for each( Breakpoint^ bp in cpu->_hook->Breakpoints )
+ {
+ if( bp->ID == breakpointId )
+ {
+ breakpoint = bp;
+ break;
+ }
+ }
+ }
+ Debug::Assert( breakpoint != nullptr, "Could not find breakpoint" );
+ if( breakpoint == nullptr )
{
// Not found? Inconceivable!
Log::WriteLine( Verbosity::Critical, Feature::Debug, "breakpoint {0} not found on __debugHandler - wtf?", breakpointId );
@@ -228,17 +248,19 @@
case BreakpointType::Stepping:
UnsetBreakpoint( breakpoint );
// See if we need to handle/reset an old breakpoint
- int oldBreakpointId;
- if( cpu->_hook->BreakpointLookup->TryGetValue( breakpoint->Address, oldBreakpointId ) == true )
+ for each( Breakpoint^ bp in cpu->_hook->Breakpoints )
{
- Breakpoint^ oldBreakpoint = cpu->_hook->Breakpoints[ oldBreakpointId ];
- oldBreakpoint->HitCount++;
- if( oldBreakpoint->Mode == BreakpointMode::Trace )
- HandleTracepoint( oldBreakpoint );
- SetBreakpoint( oldBreakpoint );
+ if( ( bp->Address == breakpoint->Address ) &&
+ ( bp->Enabled == true ) )
+ {
+ bp->HitCount++;
+ if( bp->Mode == BreakpointMode::Trace )
+ HandleTracepoint( bp );
+ SetBreakpoint( bp );
+ break;
+ }
}
Diag::Instance->Client->Handler->OnStepComplete( breakpoint->Address );
- cpu->_hook->Breakpoints->Remove( breakpoint->ID );
cpu->_hook->SteppingBreakpoints->Remove( breakpoint );
break;
default:
@@ -261,10 +283,23 @@
case DEBUG_RESUME_STEP:
{
uint findStepAddress = FindStepAddress( cpu->_controller, breakpoint->Address, _debugResumeParam );
- Breakpoint^ newBreakpoint = gcnew Breakpoint( Diag::Instance->Client->AllocateID(), BreakpointType::Stepping, findStepAddress );
- cpu->_hook->Breakpoints->Add( newBreakpoint->ID, newBreakpoint );
- cpu->_hook->SteppingBreakpoints->Add( newBreakpoint );
- SetBreakpoint( newBreakpoint );
+ // If there's a brekapoint there, then no need to do anything, it'll get hit
+ bool breakpointExists = false;
+ for each( Breakpoint^ bp in cpu->_hook->Breakpoints )
+ {
+ if( ( bp->Address == findStepAddress ) &&
+ ( bp->Enabled == true ) )
+ {
+ breakpointExists = true;
+ break;
+ }
+ }
+ if( breakpointExists == false )
+ {
+ Breakpoint^ newBreakpoint = gcnew Breakpoint( Diag::Instance->Client->AllocateID(), BreakpointType::Stepping, findStepAddress );
+ cpu->_hook->SteppingBreakpoints->Add( newBreakpoint );
+ SetBreakpoint( newBreakpoint );
+ }
}
break;
case DEBUG_RESUME_SET_NEXT:
@@ -424,6 +459,21 @@
extern void AddMemoryBreakpoint( int id, uint address, bool isRead );
extern void RemoveMemoryBreakpoint( uint address, bool isRead );

+void SetBreakpoint( Breakpoint^ breakpoint, CodeBlock* block )
+{
+ int size;
+ byte* start = FindInstructionStart( block, breakpoint->Address, &size );
+
+ // Write break jump bytes (see __debugThunk for more info)
+ Debug::Assert( start[ 0 ] == 0x90 );
+ start[ 0 ] = 0x68;
+ *( ( int* )( &start[ 1 ] ) ) = breakpoint->ID;
+ start[ 5 ] = 0xB8;
+ *( ( int* )( &start[ 6 ] ) ) = ( int )&__debugThunk;
+ start[ 10 ] = 0xFF;
+ start[ 11 ] = 0xD0;
+}
+
void SetBreakpoint( Breakpoint^ breakpoint )
{
R4000Cpu^ cpu = R4000Cpu::GlobalCpu;
@@ -439,17 +489,7 @@
for( int n = 0; n < blockCount; n++ )
{
CodeBlock* block = blocks[ n ];
- int size;
- byte* start = FindInstructionStart( block, breakpoint->Address, &size );
-
- // Write break jump bytes (see __debugThunk for more info)
- assert( start[ 0 ] == 0x90 );
- start[ 0 ] = 0x68;
- *( ( int* )( &start[ 1 ] ) ) = breakpoint->ID;
- start[ 5 ] = 0xB8;
- *( ( int* )( &start[ 6 ] ) ) = ( int )&__debugThunk;
- start[ 10 ] = 0xFF;
- start[ 11 ] = 0xD0;
+ SetBreakpoint( breakpoint, block );
}
}
break;

Modified: trunk/Noxa.Emulation.Psp.Cpu.R4000Ultra/R4000Hook.cpp
==============================================================================
--- trunk/Noxa.Emulation.Psp.Cpu.R4000Ultra/R4000Hook.cpp (original)
+++ trunk/Noxa.Emulation.Psp.Cpu.R4000Ultra/R4000Hook.cpp Sun Mar 23 15:36:54 2008
@@ -27,8 +27,7 @@
{
this->Cpu = cpu;

- this->Breakpoints = gcnew Dictionary<int, Breakpoint^>();
- this->BreakpointLookup = gcnew Dictionary<uint, int>();
+ this->Breakpoints = gcnew List<Breakpoint^>();
this->SteppingBreakpoints = gcnew List<Breakpoint^>();
}

@@ -36,60 +35,63 @@

void R4000Hook::RefreshBreakpointTable()
{
- // We assume we have free reign over everything now (no codegen, etc)
- Monitor::Enter( this->BreakpointLookup );
- try
- {
- this->BreakpointLookup->Clear();
- for each( KeyValuePair<int, Breakpoint^>^ pair in this->Breakpoints )
- {
- uint address;
- switch( pair->Value->Type )
- {
- case BreakpointType::CodeExecute:
- address = pair->Value->Address;
- break;
- case BreakpointType::BiosFunction:
- if( pair->Value->CachedFunction == nullptr )
- {
- pair->Value->CachedFunction = this->Cpu->Emulator->Bios->FindFunction( pair->Value->Function );
- if( pair->Value->CachedFunction == nullptr )
- {
- Log::WriteLine( Verbosity::Critical, Feature::Debug, "function {0} not registered - cannot set breakpoint yet", pair->Value->Function );
- continue;
- }
- }
- if( pair->Value->CachedFunction->StubAddress == 0x0 )
- {
- Log::WriteLine( Verbosity::Critical, Feature::Debug, "stub address for {0} not found (unused?) - cannot set breakpoint yet", pair->Value->Function );
- continue;
- }
- else
- address = pair->Value->CachedFunction->StubAddress;
- break;
- case BreakpointType::MemoryAccess:
- address = pair->Value->Address;
- break;
- }
- this->BreakpointLookup->Add( address, pair->Key );
- }
- }
- finally
- {
- Monitor::Exit( this->BreakpointLookup );
- }
+ //// We assume we have free reign over everything now (no codegen, etc)
+ //Monitor::Enter( this->Breakpoints );
+ //try
+ //{
+ // this->BreakpointLookup->Clear();
+ // for each( KeyValuePair<int, Breakpoint^>^ pair in this->Breakpoints )
+ // {
+ // uint address;
+ // switch( pair->Value->Type )
+ // {
+ // case BreakpointType::CodeExecute:
+ // address = pair->Value->Address;
+ // break;
+ // case BreakpointType::BiosFunction:
+ // if( pair->Value->CachedFunction == nullptr )
+ // {
+ // pair->Value->CachedFunction = this->Cpu->Emulator->Bios->FindFunction( pair->Value->Function );
+ // if( pair->Value->CachedFunction == nullptr )
+ // {
+ // Log::WriteLine( Verbosity::Critical, Feature::Debug, "function {0} not registered - cannot set breakpoint yet", pair->Value->Function );
+ // continue;
+ // }
+ // }
+ // if( pair->Value->CachedFunction->StubAddress == 0x0 )
+ // {
+ // Log::WriteLine( Verbosity::Critical, Feature::Debug, "stub address for {0} not found (unused?) - cannot set breakpoint yet", pair->Value->Function );
+ // continue;
+ // }
+ // else
+ // address = pair->Value->CachedFunction->StubAddress;
+ // break;
+ // case BreakpointType::MemoryAccess:
+ // address = pair->Value->Address;
+ // break;
+ // }
+ // this->Breakpoints->Add( address, pair->Key );
+ // }
+ //}
+ //finally
+ //{
+ // Monitor::Exit( this->Breakpoints );
+ //}
}

void R4000Hook::AddBreakpoint( Breakpoint^ breakpoint )
{
Debug::Assert( breakpoint != nullptr );
- if( this->Breakpoints->ContainsKey( breakpoint->ID ) == true )
+ for each( Breakpoint^ bp in this->Breakpoints )
{
- Debug::Assert( false );
- return;
+ if( bp->ID == breakpoint->ID )
+ {
+ Debug::Assert( false, "Adding duplicate breakpoint ID" );
+ return;
+ }
}

- this->Breakpoints->Add( breakpoint->ID, breakpoint );
+ this->Breakpoints->Add( breakpoint );
this->RefreshBreakpointTable();
if( breakpoint->Enabled == true )
SetBreakpoint( breakpoint );
@@ -97,22 +99,29 @@

Breakpoint^ R4000Hook::FindBreakpoint( int id )
{
- Breakpoint^ breakpoint;
- if( this->Breakpoints->TryGetValue( id, breakpoint ) == true )
- return breakpoint;
- else
- return nullptr;
+ for each( Breakpoint^ bp in this->Breakpoints )
+ {
+ if( bp->ID == id )
+ return bp;
+ }
+ return nullptr;
}

bool R4000Hook::UpdateBreakpoint( Breakpoint^ newBreakpoint )
{
Debug::Assert( newBreakpoint != nullptr );
- Breakpoint^ old;
- if( this->Breakpoints->TryGetValue( newBreakpoint->ID, old ) == false )
+ Breakpoint^ old = nullptr;
+ for each( Breakpoint^ bp in this->Breakpoints )
{
- Debug::Assert( false );
- return false;
+ if( bp->ID == newBreakpoint->ID )
+ {
+ old = bp;
+ break;
+ }
}
+ Debug::Assert( old != nullptr, "Could not find original breakpoint" );
+ if( old == nullptr )
+ return false;

// Mode and Enabled are the only ones we care about that can change
// We don't even bother with mode - that is used by the handler - we just copy
@@ -134,12 +143,19 @@
void R4000Hook::RemoveBreakpoint( int id )
{
Breakpoint^ breakpoint;
- if( this->Breakpoints->TryGetValue( id, breakpoint ) == false )
+ for each( Breakpoint^ bp in this->Breakpoints )
{
- Debug::Assert( false );
- return;
+ if( bp->ID == id )
+ {
+ breakpoint = bp;
+ break;
+ }
}
- this->Breakpoints->Remove( id );
+ Debug::Assert( breakpoint != nullptr, "Could not find breakpoint" );
+ if( breakpoint == nullptr )
+ return;
+
+ this->Breakpoints->Remove( breakpoint );
this->RefreshBreakpointTable();
if( breakpoint->Enabled == true )
UnsetBreakpoint( breakpoint );

Modified: trunk/Noxa.Emulation.Psp.Cpu.R4000Ultra/R4000Hook.h
==============================================================================
--- trunk/Noxa.Emulation.Psp.Cpu.R4000Ultra/R4000Hook.h (original)
+++ trunk/Noxa.Emulation.Psp.Cpu.R4000Ultra/R4000Hook.h Sun Mar 23 15:36:54 2008
@@ -29,7 +29,7 @@
public:
R4000Cpu^ Cpu;

- Dictionary<int, Breakpoint^>^ Breakpoints;
+ List<Breakpoint^>^ Breakpoints;

public:
R4000Hook( R4000Cpu^ cpu );
@@ -64,7 +64,6 @@
virtual array<uint>^ GetMethodBody( Method^ method );

public:
- Dictionary<uint, int>^ BreakpointLookup;
List<Breakpoint^>^ SteppingBreakpoints;
void RefreshBreakpointTable();
};

Reply all
Reply to author
Forward
0 new messages