Package mars.tools
Class KeyboardAndDisplaySimulator
java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
javax.swing.JFrame
mars.tools.AbstractMarsToolAndApplication
mars.tools.KeyboardAndDisplaySimulator
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Observer
,Accessible
,RootPaneContainer
,WindowConstants
,MarsTool
Keyboard and Display Simulator. It can be run either as a stand-alone Java application having
access to the mars package, or through MARS as an item in its Tools menu. It makes
maximum use of methods inherited from its abstract superclass AbstractMarsToolAndApplication.
Pete Sanderson
Version 1.0, 24 July 2008.
Version 1.1, 24 November 2008 corrects two omissions: (1) the tool failed to register as an observer of kernel text memory when counting instruction executions for transmitter ready bit reset delay, and (2) the tool failed to test the Status register's Exception Level bit before raising the exception that results in the interrupt (if the Exception Level bit is 1, that means an interrupt is being processed, so disable further interrupts). Version 1.2, August 2009, soft-codes the MMIO register locations for new memory configuration feature of MARS 3.7. Previously memory segment addresses were fixed and final. Now they can be modified dynamically so the tool has to get its values dynamically as well. Version 1.3, August 2011, corrects bug to enable Display window to scroll when needed. Version 1.4, August 2014, adds two features: (1) ASCII control character 12 (form feed) when transmitted will clear the Display window. (2) ASCII control character 7 (bell) when transmitted with properly coded (X,Y) values will reposition the cursor to the specified position of a virtual text-based terminal. X represents column, Y represents row.
Version 1.0, 24 July 2008.
Version 1.1, 24 November 2008 corrects two omissions: (1) the tool failed to register as an observer of kernel text memory when counting instruction executions for transmitter ready bit reset delay, and (2) the tool failed to test the Status register's Exception Level bit before raising the exception that results in the interrupt (if the Exception Level bit is 1, that means an interrupt is being processed, so disable further interrupts). Version 1.2, August 2009, soft-codes the MMIO register locations for new memory configuration feature of MARS 3.7. Previously memory segment addresses were fixed and final. Now they can be modified dynamically so the tool has to get its values dynamically as well. Version 1.3, August 2011, corrects bug to enable Display window to scroll when needed. Version 1.4, August 2014, adds two features: (1) ASCII control character 12 (form feed) when transmitted will clear the Display window. (2) ASCII control character 7 (bell) when transmitted with properly coded (X,Y) values will reposition the cursor to the specified position of a virtual text-based terminal. X represents column, Y represents row.
- See Also:
- Serialized Form
-
Nested Class Summary
Nested classes/interfaces inherited from class java.awt.Window
Window.Type
Nested classes/interfaces inherited from class java.awt.Component
Component.BaselineResizeBehavior
-
Field Summary
FieldsFields 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_CURSOR
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
-
Constructor Summary
ConstructorsConstructorDescriptionSimple constructor, likely used by the MARS Tools menu mechanismKeyboardAndDisplaySimulator(String title, String heading)
Simple constructor, likely used to run a stand-alone keyboard/display simulator. -
Method Summary
Methods inherited from class mars.tools.AbstractMarsToolAndApplication
action, go, update
Methods inherited from class javax.swing.JFrame
getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setTransferHandler, update
Methods 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, setUndecorated
Methods 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, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
Methods 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, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, dispatchEvent, enable, enable, enableInputMethods, 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, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
-
Field Details
-
preferredTextAreaDimension
-
RECEIVER_CONTROL
public static int RECEIVER_CONTROL -
RECEIVER_DATA
public static int RECEIVER_DATA -
TRANSMITTER_CONTROL
public static int TRANSMITTER_CONTROL -
TRANSMITTER_DATA
public static int TRANSMITTER_DATA
-
-
Constructor Details
-
KeyboardAndDisplaySimulator
Simple constructor, likely used to run a stand-alone keyboard/display simulator.- Parameters:
title
- String containing title for title barheading
- String containing text for heading shown in upper part of window.
-
KeyboardAndDisplaySimulator
public KeyboardAndDisplaySimulator()Simple constructor, likely used by the MARS Tools menu mechanism
-
-
Method Details
-
main
Main provided for pure stand-alone use. Recommended stand-alone use is to write a driver program that instantiates a KeyboardAndDisplaySimulator object then invokes its go() method. "stand-alone" means it is not invoked from the MARS Tools menu. "Pure" means there is no driver program to invoke the application. -
getName
Required MarsTool method to return Tool name.- Specified by:
getName
in interfaceMarsTool
- Specified by:
getName
in classAbstractMarsToolAndApplication
- Returns:
- Tool name. MARS will display this in menu item.
-