Daniel Kirschten [Thu, 3 Oct 2019 14:47:48 +0000 (16:47 +0200)]
The selection of the SBSEButton now follows the actual state
Daniel Kirschten [Thu, 3 Oct 2019 11:23:20 +0000 (13:23 +0200)]
Fixed SimulationView spamming exceptions in some situations:
When closing the SimulationView while it is displaying a machine, the
content provider still had its ActiveMicroInstructionChangedListener
registered in this machine, causing updateElement to be called when the
machine does a cycle, causing the log to be spammed with exceptions
Daniel Kirschten [Thu, 3 Oct 2019 10:53:57 +0000 (12:53 +0200)]
Fixed / worked around Am2900Machine not booting sometimes
Daniel Kirschten [Wed, 2 Oct 2019 17:05:04 +0000 (19:05 +0200)]
CoreClock now starts as 1 to make Am2900Machine work again
Daniel Kirschten [Wed, 2 Oct 2019 16:05:04 +0000 (18:05 +0200)]
Added register listeners
Daniel Kirschten [Wed, 2 Oct 2019 14:12:49 +0000 (16:12 +0200)]
Fixed a NullPointerException in Modeldff4_finewe
Daniel Kirschten [Wed, 2 Oct 2019 14:12:35 +0000 (16:12 +0200)]
Fixed a check in HLSShell
Daniel Kirschten [Wed, 2 Oct 2019 14:05:18 +0000 (16:05 +0200)]
Merge remote-tracking branch 'origin/development' into development
Daniel Kirschten [Wed, 2 Oct 2019 14:04:33 +0000 (16:04 +0200)]
HighLevelStates now support adding/removing listeners
Daniel Kirschten [Wed, 2 Oct 2019 14:02:42 +0000 (16:02 +0200)]
Fixed ModelClock's high level state:
Was inverted when read before wireTravelTime elapsed
Daniel Kirschten [Wed, 2 Oct 2019 13:41:40 +0000 (15:41 +0200)]
Made WireForcingAtomicHighLevelStateHandler.getHighLevelState cleaner
Daniel Kirschten [Tue, 1 Oct 2019 14:35:04 +0000 (16:35 +0200)]
Changed getCurrentMicroInstructionAddress to use HighLevelStates
Fabian Stemmler [Wed, 2 Oct 2019 01:17:04 +0000 (03:17 +0200)]
Display now accessed via PlatformUI for e.g. highlight requests
Fabian Stemmler [Wed, 2 Oct 2019 01:14:04 +0000 (03:14 +0200)]
Added hot replace functionality for modified mpm files
Fabian Stemmler [Tue, 1 Oct 2019 15:27:02 +0000 (17:27 +0200)]
MemoryEditor Font can now be configured
Daniel Kirschten [Tue, 1 Oct 2019 14:26:19 +0000 (16:26 +0200)]
Made renderSymbol/Outline final to force components to set Renderers
Daniel Kirschten [Tue, 1 Oct 2019 14:25:58 +0000 (16:25 +0200)]
Made get/setHLS final to force components to set a HLSHandler
Daniel Kirschten [Tue, 1 Oct 2019 14:21:15 +0000 (16:21 +0200)]
Added missing package to model.am2900's MANIFEST
Daniel Kirschten [Tue, 1 Oct 2019 07:40:32 +0000 (09:40 +0200)]
Enabled other memory renderings provided by org.eclipse.debug.ui
Daniel Kirschten [Tue, 1 Oct 2019 07:38:25 +0000 (09:38 +0200)]
Merge remote-tracking branch 'origin/development' into development
Daniel Kirschten [Tue, 1 Oct 2019 07:36:27 +0000 (09:36 +0200)]
MainMemoryBlockExtension now reports the correct endianness
Fabian Stemmler [Tue, 1 Oct 2019 00:42:21 +0000 (02:42 +0200)]
SingleSWTRequest utility class now actually does what it is supposed to
Fabian Stemmler [Mon, 30 Sep 2019 21:24:58 +0000 (23:24 +0200)]
Fixed a bug: colors/fonts did not update properly in InstructionTable
Daniel Kirschten [Mon, 30 Sep 2019 21:51:43 +0000 (23:51 +0200)]
Am2900Machine now has registers
Daniel Kirschten [Mon, 30 Sep 2019 20:14:49 +0000 (22:14 +0200)]
MainMemoryBlockExtension now throttles firing of content change events
Daniel Kirschten [Mon, 30 Sep 2019 16:55:59 +0000 (18:55 +0200)]
Marked fields/methods related to activeMachine as deprecated in MContext
Daniel Kirschten [Mon, 30 Sep 2019 16:34:57 +0000 (18:34 +0200)]
Made SimulationView(Editor) a View again
Daniel Kirschten [Mon, 30 Sep 2019 16:34:38 +0000 (18:34 +0200)]
Fixed crashbug in ActiveInstructionPreviewContentProvider
Daniel Kirschten [Mon, 30 Sep 2019 16:33:39 +0000 (18:33 +0200)]
Introduced execution speed listeners in MachineDebugTarget
Daniel Kirschten [Mon, 30 Sep 2019 16:33:04 +0000 (18:33 +0200)]
Introduced getters for executionSpeed
Daniel Kirschten [Mon, 30 Sep 2019 16:32:16 +0000 (18:32 +0200)]
Fixed annoying sporadic crashes
Fabian Stemmler [Mon, 30 Sep 2019 13:42:05 +0000 (15:42 +0200)]
Instruction Table Editing Support now uses the correct font
Daniel Kirschten [Mon, 30 Sep 2019 12:10:38 +0000 (14:10 +0200)]
Merge branch 'machines-are-launch-configs' into development
Daniel Kirschten [Mon, 30 Sep 2019 12:07:55 +0000 (14:07 +0200)]
Lauch configuration attribute "Initial RAM" now has an effect
Daniel Kirschten [Mon, 30 Sep 2019 12:07:09 +0000 (14:07 +0200)]
MemoryEditor now actually works
Daniel Kirschten [Mon, 30 Sep 2019 12:06:54 +0000 (14:06 +0200)]
Created MainMemoryParser
Fabian Stemmler [Mon, 30 Sep 2019 00:32:39 +0000 (02:32 +0200)]
ActiveInstructionChangedListener moved to Machine and updated
The listener is now only called on the rising edge of the clock cycle.
Fixed a stupid bug in innerHighlight, creating Optionals of potential
null values with of()
Daniel Kirschten [Sun, 29 Sep 2019 22:02:02 +0000 (00:02 +0200)]
Removed MachineProcess
Daniel Kirschten [Sun, 29 Sep 2019 21:44:38 +0000 (23:44 +0200)]
MainMachineLaunchConfigTab's selection dialogs now look better
Daniel Kirschten [Sun, 29 Sep 2019 21:31:08 +0000 (23:31 +0200)]
MainMachineLaunchConfigTab now looks better
Daniel Kirschten [Sun, 29 Sep 2019 21:30:14 +0000 (23:30 +0200)]
The user can now specify a RAM file (but doesn't have to)
Daniel Kirschten [Sun, 29 Sep 2019 21:14:47 +0000 (23:14 +0200)]
A Machine now can be run, not only debugged (doesn't make a difference)
Daniel Kirschten [Sun, 29 Sep 2019 21:10:03 +0000 (23:10 +0200)]
MPM file gets loaded when MainMachineLaunchConfigTab is created
Daniel Kirschten [Sun, 29 Sep 2019 20:52:35 +0000 (22:52 +0200)]
Replaced hardcoded string with reference to MGSActivater.PLUGIN_ID
Daniel Kirschten [Sun, 29 Sep 2019 20:51:48 +0000 (22:51 +0200)]
Made MPM configurable; changed startup exec speed from 10 to 1
Daniel Kirschten [Sun, 29 Sep 2019 16:38:36 +0000 (18:38 +0200)]
Fixed a bug in MainMemoryBlockExtension
Daniel Kirschten [Sun, 29 Sep 2019 16:26:04 +0000 (18:26 +0200)]
Made main memory access via the Memory view work
Daniel Kirschten [Sun, 29 Sep 2019 12:36:56 +0000 (14:36 +0200)]
Further work on machine launch configs
Fabian Stemmler [Sun, 29 Sep 2019 00:14:55 +0000 (02:14 +0200)]
Insured InstructionTable removes all Listeners
Fabian Stemmler [Sat, 28 Sep 2019 23:04:01 +0000 (01:04 +0200)]
Modified values cells are now in italic
Fabian Stemmler [Sat, 28 Sep 2019 22:48:43 +0000 (00:48 +0200)]
Made highlighted/modified cells bold; New default modified cell color
Daniel Kirschten [Sat, 28 Sep 2019 16:28:23 +0000 (18:28 +0200)]
Removed version attributes of org.eclipse.debug.core/ui dependencies
Daniel Kirschten [Sat, 28 Sep 2019 14:31:45 +0000 (16:31 +0200)]
Added a test launch config
Fabian Stemmler [Sat, 28 Sep 2019 12:41:27 +0000 (14:41 +0200)]
Fixed issue with row highlighting
Too many highlight requests were being sent to the SWT Eventqueue when
running the simulation at a faster speed. Now there can be at most one
such request at the same time.
Fabian Stemmler [Fri, 27 Sep 2019 19:15:18 +0000 (21:15 +0200)]
Non-default values are now highlighted in the InstructionTable
Christian Femers [Fri, 27 Sep 2019 01:59:33 +0000 (03:59 +0200)]
Updated project structure (bc SWTInput)
Daniel Kirschten [Thu, 26 Sep 2019 23:23:51 +0000 (01:23 +0200)]
Fixed MemoryTableContentProvider#update throwing an exception
Daniel Kirschten [Thu, 26 Sep 2019 23:22:40 +0000 (01:22 +0200)]
Made Clock slow enough for the slowest microinstruction I could find
Christian Femers [Thu, 26 Sep 2019 23:06:07 +0000 (01:06 +0200)]
Updated feature.xml to new dependencies and removed sizes
Christian Femers [Thu, 26 Sep 2019 22:20:26 +0000 (00:20 +0200)]
Make project selector handle MachineContexts and small improvements
Christian Femers [Thu, 26 Sep 2019 22:18:43 +0000 (00:18 +0200)]
Small adjustment to the validity quality of a MachineContext
Daniel Kirschten [Thu, 26 Sep 2019 22:08:16 +0000 (00:08 +0200)]
logic.core.tests now depends on logic.core, not logic.model
Daniel Kirschten [Thu, 26 Sep 2019 21:56:07 +0000 (23:56 +0200)]
Updated project references; also plugin.core no longer depends on itself
Fabian Stemmler [Thu, 26 Sep 2019 21:49:15 +0000 (23:49 +0200)]
Merge branch 'development' of https://gitlab.lrz.de/lrr-tum/students/eragp-misim-2019.git into development
Fabian Stemmler [Thu, 26 Sep 2019 21:49:05 +0000 (23:49 +0200)]
Setting simulation speed higher should no longer have an effect on logic
Daniel Kirschten [Thu, 26 Sep 2019 20:21:06 +0000 (22:21 +0200)]
Removed debug sysouts to make the plugin "silent"
Daniel Kirschten [Thu, 26 Sep 2019 18:41:16 +0000 (20:41 +0200)]
Added "Reload machine" button
Daniel Kirschten [Thu, 26 Sep 2019 18:40:14 +0000 (20:40 +0200)]
A machine change now leaves user-defined sim speeds intact
Daniel Kirschten [Thu, 26 Sep 2019 18:35:16 +0000 (20:35 +0200)]
Simulation speed now can be edited via a text field
Daniel Kirschten [Thu, 26 Sep 2019 18:06:49 +0000 (20:06 +0200)]
Fixed a stupid bug causing LogicExecuter to eat your CPU
Daniel Kirschten [Thu, 26 Sep 2019 17:35:26 +0000 (19:35 +0200)]
Switched default mouse buttons for action and drag.
This makes it easier to move the view using the touchpad of a laptop.
Also it reflects that the user will rarely want to interact with the
model (via clicking), but frequently want to look around.
Daniel Kirschten [Thu, 26 Sep 2019 17:30:02 +0000 (19:30 +0200)]
Changed simulation speed slider to a scale (not sure if this is better?)
Daniel Kirschten [Thu, 26 Sep 2019 17:28:53 +0000 (19:28 +0200)]
Removed MemoryView from plugin.xml
Daniel Kirschten [Thu, 26 Sep 2019 17:28:28 +0000 (19:28 +0200)]
Made preference page a bit easier to use
Daniel Kirschten [Thu, 26 Sep 2019 17:15:46 +0000 (19:15 +0200)]
Added preferences for mouse button assignments
Daniel Kirschten [Thu, 26 Sep 2019 16:17:26 +0000 (18:17 +0200)]
Deleted legacy MachineContext
Daniel Kirschten [Thu, 26 Sep 2019 16:17:06 +0000 (18:17 +0200)]
Fixed typo in SimulationViewEditor
Daniel Kirschten [Thu, 26 Sep 2019 16:16:11 +0000 (18:16 +0200)]
Made MemoryView to an Editor
Fabian Stemmler [Thu, 26 Sep 2019 15:11:51 +0000 (17:11 +0200)]
Set reasonable default values for Am2900 MicroInstructions
Fabian Stemmler [Thu, 26 Sep 2019 14:43:53 +0000 (16:43 +0200)]
Created CyclingCellEditor for BooleanEditingSupport
Fabian Stemmler [Thu, 26 Sep 2019 13:03:34 +0000 (15:03 +0200)]
Added MnemonicFamilyBuilder and set most Mnemonics to 'X' by default
Daniel Kirschten [Thu, 26 Sep 2019 12:56:22 +0000 (14:56 +0200)]
Fixed execution freezing when the next queued event has a long delta
Daniel Kirschten [Thu, 26 Sep 2019 12:42:09 +0000 (14:42 +0200)]
Sped up logic core execution by 1000%
Daniel Kirschten [Thu, 26 Sep 2019 12:41:34 +0000 (14:41 +0200)]
PauseableTimeFunction now supports non-integral speed factors
Daniel Kirschten [Thu, 26 Sep 2019 11:31:20 +0000 (13:31 +0200)]
Added a reset button to SimulationViewEditor
Daniel Kirschten [Thu, 26 Sep 2019 11:30:21 +0000 (13:30 +0200)]
Fixed Am2900Machine#reset (broke when deleting clock ManualSwitch)
Daniel Kirschten [Thu, 26 Sep 2019 09:29:06 +0000 (11:29 +0200)]
InstructionView now reacts to memory reassignments and machine changes
Daniel Kirschten [Thu, 26 Sep 2019 09:26:48 +0000 (11:26 +0200)]
Made sure listeners get removed when SimulationViewEditor gets disposed
Christian Femers [Thu, 26 Sep 2019 05:08:37 +0000 (07:08 +0200)]
Reworked some parts of the MachineContext to make its status clear.
While this is much better at tracking the status, Eclipse is still
"greedy" about the information that can be tracked concerning projects.
The current handling allows for more detailed listening to the machine
context status, and detects deleted or closed projects and "deactivates"
their machines. In addition to that, the machines get initialized in a
lazy way, as they are needed. This is currently done be requesting an
active machine, as putting it into getActiveMachine() caused troubles
with the SimulationViewEditor's recreate being called double (once
during get, and then as listener). This is not near an optimal solution
right now, but works reasonably well.
Christian Femers [Thu, 26 Sep 2019 04:57:08 +0000 (06:57 +0200)]
Fixed the MograsimBuilder a bit, but it will likely get removed
Christian Femers [Thu, 26 Sep 2019 04:56:01 +0000 (06:56 +0200)]
Documented the ProjectMachineContext
Christian Femers [Thu, 26 Sep 2019 04:53:59 +0000 (06:53 +0200)]
Reordered the disposal of the old resources, because of errors
Apparently this was able to lead to "widget disposed" exceptions, and
for some reason the old canvas sill stays at it's place, causing two
canvases side by side.
Christian Femers [Thu, 26 Sep 2019 04:50:17 +0000 (06:50 +0200)]
Added comment on MachineRegistry
Daniel Kirschten [Wed, 25 Sep 2019 19:41:27 +0000 (21:41 +0200)]
Modified README.md a bit; deleted build_from_source.txt
Daniel Kirschten [Wed, 25 Sep 2019 18:45:11 +0000 (20:45 +0200)]
Removed the clock ManualSwitches and made the clock slower
Daniel Kirschten [Wed, 25 Sep 2019 18:43:11 +0000 (20:43 +0200)]
BZ/PC and IR now get written at the rising clock edge
to make timing requirements less strict
Daniel Kirschten [Wed, 25 Sep 2019 18:27:23 +0000 (20:27 +0200)]
Reserialized components
Daniel Kirschten [Wed, 25 Sep 2019 18:00:57 +0000 (20:00 +0200)]
Made Am2900 memory reads work if Am2901Dest=QREG ...
at the expense of U forming shortly in the D bus when the second cycle
of a read starts, if the D bus is used in the first cycle; due to the
memory controller's TriStateBuffers being en- and disabled earlier than
the other TriStateBuffers writing to the buses.
U also forms in the D bus when the cycle after the second one of a read
starts, but this is due to the RAM chip shortly outputting U due to the
address changing to X, because the A bus holds Z in the second cycle of
a read.
Writes don't have these kind of problems since the memory controller
obviously doesn't output anything on the D bus when writing.
Daniel Kirschten [Wed, 25 Sep 2019 16:42:18 +0000 (18:42 +0200)]
Fixed two small bugs in the two Delegating...Handlers:
1. DelegatingSubcomponentHighLevelStateHandler#getParamsForSerializing
now throws a meaningful exception when the delegate target was destroyed
2. Both now support serializing delegating to the parent
Daniel Kirschten [Wed, 25 Sep 2019 16:33:27 +0000 (18:33 +0200)]
HLSShell now closes when the according LogicUICanvas is disposed