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
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
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
Daniel Kirschten [Wed, 25 Sep 2019 16:33:07 +0000 (18:33 +0200)]
Adjusted default HLS debug shell depth
Daniel Kirschten [Wed, 25 Sep 2019 16:10:27 +0000 (18:10 +0200)]
Removed model.am2900 from plugin.core's required bundles
Daniel Kirschten [Wed, 25 Sep 2019 16:10:02 +0000 (18:10 +0200)]
IndirectModelComponentCreator now supports clearing the component cache
Daniel Kirschten [Wed, 25 Sep 2019 16:09:12 +0000 (18:09 +0200)]
SimulationViewEditor now reacts better to machine changes
Daniel Kirschten [Wed, 25 Sep 2019 15:57:43 +0000 (17:57 +0200)]
setViewerInput now is much faster and doesn't cause text to flicker
Daniel Kirschten [Wed, 25 Sep 2019 13:26:43 +0000 (15:26 +0200)]
Made clock overridable by a ManualSwitch
Daniel Kirschten [Wed, 25 Sep 2019 10:44:00 +0000 (12:44 +0200)]
Reserialized components
Daniel Kirschten [Wed, 25 Sep 2019 10:42:07 +0000 (12:42 +0200)]
SVE now supports context changes better (untested)
Daniel Kirschten [Wed, 25 Sep 2019 10:40:28 +0000 (12:40 +0200)]
Re-added instruction preview to SimulationViewEditor
Daniel Kirschten [Wed, 25 Sep 2019 10:06:27 +0000 (12:06 +0200)]
Fixed an exception being thrown when the application exits
Daniel Kirschten [Wed, 25 Sep 2019 09:58:17 +0000 (11:58 +0200)]
SimulationViewEditor now supports machine context changes (untested)
Daniel Kirschten [Wed, 25 Sep 2019 09:57:25 +0000 (11:57 +0200)]
Merge remote-tracking branch 'origin/development' into development
# Conflicts:
# plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/views/LogicUIPart.java
Fabian Stemmler [Wed, 25 Sep 2019 08:40:35 +0000 (10:40 +0200)]
Switched BooleanEditingSupport back to ´CheckBoxCellEditor
Fabian Stemmler [Tue, 24 Sep 2019 18:18:19 +0000 (20:18 +0200)]
Numbers in MemoryView and mpm editor now have leading zeros
Daniel Kirschten [Tue, 24 Sep 2019 14:51:00 +0000 (16:51 +0200)]
Made simulation view / LogicUIPart to an Editor
Daniel Kirschten [Tue, 24 Sep 2019 14:50:05 +0000 (16:50 +0200)]
Made infinite depth for HLS combo selectable in Eclipse preferences
Fabian Stemmler [Tue, 24 Sep 2019 14:29:34 +0000 (16:29 +0200)]
Merge branch 'development' of
https://gitlab.lrz.de/lrr-tum/students/eragp-misim-2019.git into
development
Conflicts:
plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/views/LogicUIPart.java
Daniel Kirschten [Tue, 24 Sep 2019 14:21:37 +0000 (16:21 +0200)]
Made HLSShell component combo box shorter
Fabian Stemmler [Tue, 24 Sep 2019 14:17:47 +0000 (16:17 +0200)]
Added Step by step execution to LogicUIPart
Fabian Stemmler [Tue, 24 Sep 2019 14:17:29 +0000 (16:17 +0200)]
Added clock to Am2900
Fabian Stemmler [Tue, 24 Sep 2019 11:46:07 +0000 (13:46 +0200)]
Improved error handling when opening and saving .mpm files
Daniel Kirschten [Tue, 24 Sep 2019 09:26:59 +0000 (11:26 +0200)]
Merge remote-tracking branch 'origin/development' into development
Christian Femers [Tue, 24 Sep 2019 04:28:12 +0000 (06:28 +0200)]
Added the two Combos mentioned in the prev. commit to test them.
While one is only there for experiments, the other can later be used to
switch active projects.
Christian Femers [Tue, 24 Sep 2019 04:26:39 +0000 (06:26 +0200)]
Tool class for creating Combos that allow to select machines/projects
Christian Femers [Tue, 24 Sep 2019 04:24:18 +0000 (06:24 +0200)]
Fixed detection problems with ProjectMachineContext
Other problems still remain; e.g. PRE-CLOSE et al. makes the listeners
unable to detect a closed project, because it was not yet marked as
such. There should also be a register of open, but currently unused
projects.
Christian Femers [Tue, 24 Sep 2019 04:19:43 +0000 (06:19 +0200)]
Marked old MachineContext deprecated
Christian Femers [Tue, 24 Sep 2019 03:19:36 +0000 (05:19 +0200)]
Renamed the simulation view in the plugin.xml (had a "view1" id)
Christian Femers [Tue, 24 Sep 2019 03:18:06 +0000 (05:18 +0200)]
Added listener and event structure to ProjectMachineContexts
Christian Femers [Tue, 24 Sep 2019 03:13:46 +0000 (05:13 +0200)]
Allow to listen for changes in the MachineRegistry
Christian Femers [Tue, 24 Sep 2019 03:12:39 +0000 (05:12 +0200)]
Renamed method to its actual function
Christian Femers [Tue, 24 Sep 2019 03:11:56 +0000 (05:11 +0200)]
Added id to machine definition (was only set in the extension point)
MachineRegistry will check for consistency
Daniel Kirschten [Mon, 23 Sep 2019 15:43:48 +0000 (17:43 +0200)]
Made InstructionTable a bit easier to use
Christian Femers [Mon, 23 Sep 2019 14:53:05 +0000 (16:53 +0200)]
Create a new machine when a MachineContext is used and has a definition.
This might be refined in future to a somewhat more lazy creation, but
for now it fixes the bug that a machine context has no machine at the
start, and it is not clear, when else it should be created.
Daniel Kirschten [Mon, 23 Sep 2019 12:06:07 +0000 (14:06 +0200)]
Added missing call to super.dispose()
Daniel Kirschten [Mon, 23 Sep 2019 12:04:37 +0000 (14:04 +0200)]
Updated to new SWTHelper version
Fabian Stemmler [Sun, 22 Sep 2019 18:13:22 +0000 (20:13 +0200)]
Project now correctly identified from file
Fabian Stemmler [Sun, 22 Sep 2019 17:32:52 +0000 (19:32 +0200)]
Switched Instruction View to project associated MachineContext
Christian Femers [Sat, 21 Sep 2019 21:25:51 +0000 (23:25 +0200)]
Added hover text to make clear that pressing running will pause the sim.
This might still need a better solution from an UX perspective
Christian Femers [Sat, 21 Sep 2019 21:22:02 +0000 (23:22 +0200)]
Added logo resources to the core plugin
Fabian Stemmler [Sat, 21 Sep 2019 11:34:42 +0000 (13:34 +0200)]
Added NewWizard for mpm files and fixed mpm content binding
Fabian Stemmler [Fri, 20 Sep 2019 16:23:46 +0000 (18:23 +0200)]
Merge branch 'development' of
https://gitlab.lrz.de/lrr-tum/students/eragp-misim-2019.git into
development
Conflicts:
plugins/net.mograsim.machine/src/net/mograsim/machine/mi/MicroInstructionMemoryParser.java
plugins/net.mograsim.plugin.core/META-INF/MANIFEST.MF
Fabian Stemmler [Fri, 20 Sep 2019 16:00:31 +0000 (18:00 +0200)]
Machine name is no in mpm files
Fabian Stemmler [Fri, 20 Sep 2019 14:53:09 +0000 (16:53 +0200)]
Simulation can now be slowed and paused
Daniel Kirschten [Thu, 19 Sep 2019 19:39:33 +0000 (21:39 +0200)]
Fixed a very stupid bug in InstructionView#highlight