Package mars.tools
Class MemoryReferenceVisualization
java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
javax.swing.JFrame
mars.tools.AbstractMarsTool
mars.tools.MemoryReferenceVisualization
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,EventListener,Accessible,RootPaneContainer,WindowConstants,Memory.Listener,MarsTool
Memory reference visualization.
Pete Sanderson, verison 1.0, 14 November 2006.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JFrame
JFrame.AccessibleJFrameNested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrameNested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow, Window.TypeNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
Fields inherited from class mars.tools.AbstractMarsTool
dialogFields inherited from class javax.swing.JFrame
accessibleContext, rootPane, rootPaneCheckingEnabledFields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSORFields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTHFields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected JComponentMethod that constructs the main display area.protected JComponentOverrides default method, to provide a Help button for this tool/app.getName()Required MarsTool method to return Tool name.protected voidThe only post-GUI initialization is to create the initial Grid object based on the default settings of the various combo boxes.protected voidInitialize all JComboBox choice structures not already initialized at declaration.voidmemoryRead(int address, int length, int value, int wordAddress, int wordValue) Update display when connected MIPS program accesses memory.voidmemoryWritten(int address, int length, int value, int wordAddress, int wordValue) Update display when connected MIPS program accesses memory.protected voidreset()Method to reset counters and display when the Reset button selected.protected voidOverride the inherited method, which registers us as an Observer over the static data segment (starting address 0x10010000) only.protected voidUnregister this tool as a listener of memory and/or registers, if applicable.Methods inherited from class mars.tools.AbstractMarsTool
action, buildButtonArea, buildContentPane, closeTool, handleCloseMethods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, updateMethods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecoratedMethods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFrontMethods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTreeMethods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface mars.tools.MarsTool
getIcon, getToolMenuOrderMethods inherited from interface mars.mips.hardware.Memory.Listener
memoryResetMethods inherited from interface java.awt.MenuContainer
getFont, postEvent
-
Constructor Details
-
MemoryReferenceVisualization
public MemoryReferenceVisualization()Construct an instance of this tool. This will be used by theToolManager.
-
-
Method Details
-
getName
Required MarsTool method to return Tool name.- Specified by:
getNamein interfaceMarsTool- Specified by:
getNamein classAbstractMarsTool- Returns:
- Tool name. MARS will display this in menu item.
-
startObserving
protected void startObserving()Override the inherited method, which registers us as an Observer over the static data segment (starting address 0x10010000) only. This version will register us as observer over the the memory range as selected by the base address combo box and capacity of the visualization display (number of visualization elements times the number of memory words each one represents). -
stopObserving
protected void stopObserving()Description copied from class:AbstractMarsToolUnregister this tool as a listener of memory and/or registers, if applicable. This method is called when the tool is closed by the user. Does nothing by default.- Overrides:
stopObservingin classAbstractMarsTool- See Also:
-
buildMainDisplayArea
Method that constructs the main display area. It is organized vertically into two major components: the display configuration which an be modified using combo boxes, and the visualization display which is updated as the attached MIPS program executes.- Specified by:
buildMainDisplayAreain classAbstractMarsTool- Returns:
- the GUI component containing these two areas
-
memoryRead
public void memoryRead(int address, int length, int value, int wordAddress, int wordValue) Update display when connected MIPS program accesses memory.- Parameters:
address- The address which was read from.length- The number of bytes read. Will always be 1 (single byte),Memory.BYTES_PER_HALFWORD, orMemory.BYTES_PER_WORD.value- The value which was read.wordAddress- The address of the word affected by the operation.wordValue- The full value of the word.
-
memoryWritten
public void memoryWritten(int address, int length, int value, int wordAddress, int wordValue) Update display when connected MIPS program accesses memory.- Parameters:
address- The address which was written to.length- The number of bytes written. Will always be 1 (single byte),Memory.BYTES_PER_HALFWORD, orMemory.BYTES_PER_WORD.value- The value which was written.wordAddress- The address of the word affected by the operation.wordValue- The resulting value of the word.
-
initializePreGUI
protected void initializePreGUI()Initialize all JComboBox choice structures not already initialized at declaration. Overrides inherited method that does nothing.- Overrides:
initializePreGUIin classAbstractMarsTool
-
initializePostGUI
protected void initializePostGUI()The only post-GUI initialization is to create the initial Grid object based on the default settings of the various combo boxes. Overrides inherited method that does nothing.- Overrides:
initializePostGUIin classAbstractMarsTool
-
reset
protected void reset()Method to reset counters and display when the Reset button selected. Overrides inherited method that does nothing.- Overrides:
resetin classAbstractMarsTool
-
getHelpComponent
Overrides default method, to provide a Help button for this tool/app.- Overrides:
getHelpComponentin classAbstractMarsTool
-