Mograsim.git
5 years agoMerge remote-tracking branch 'origin/development' into development
Daniel Kirschten [Wed, 2 Oct 2019 14:05:18 +0000 (16:05 +0200)]
Merge remote-tracking branch 'origin/development' into development

5 years agoHighLevelStates now support adding/removing listeners
Daniel Kirschten [Wed, 2 Oct 2019 14:04:33 +0000 (16:04 +0200)]
HighLevelStates now support adding/removing listeners

5 years agoFixed ModelClock's high level state:
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

5 years agoMade WireForcingAtomicHighLevelStateHandler.getHighLevelState cleaner
Daniel Kirschten [Wed, 2 Oct 2019 13:41:40 +0000 (15:41 +0200)]
Made WireForcingAtomicHighLevelStateHandler.getHighLevelState cleaner

5 years agoChanged getCurrentMicroInstructionAddress to use HighLevelStates
Daniel Kirschten [Tue, 1 Oct 2019 14:35:04 +0000 (16:35 +0200)]
Changed getCurrentMicroInstructionAddress to use HighLevelStates

5 years agoDisplay now accessed via PlatformUI for e.g. highlight requests
Fabian Stemmler [Wed, 2 Oct 2019 01:17:04 +0000 (03:17 +0200)]
Display now accessed via PlatformUI for e.g. highlight requests

5 years agoAdded hot replace functionality for modified mpm files
Fabian Stemmler [Wed, 2 Oct 2019 01:14:04 +0000 (03:14 +0200)]
Added hot replace functionality for modified mpm files

5 years agoMemoryEditor Font can now be configured
Fabian Stemmler [Tue, 1 Oct 2019 15:27:02 +0000 (17:27 +0200)]
MemoryEditor Font can now be configured

5 years agoMade renderSymbol/Outline final to force components to set Renderers
Daniel Kirschten [Tue, 1 Oct 2019 14:26:19 +0000 (16:26 +0200)]
Made renderSymbol/Outline final to force components to set Renderers

5 years agoMade get/setHLS final to force components to set a HLSHandler
Daniel Kirschten [Tue, 1 Oct 2019 14:25:58 +0000 (16:25 +0200)]
Made get/setHLS final to force components to set a HLSHandler

5 years agoAdded missing package to model.am2900's MANIFEST
Daniel Kirschten [Tue, 1 Oct 2019 14:21:15 +0000 (16:21 +0200)]
Added missing package to model.am2900's MANIFEST

5 years agoEnabled other memory renderings provided by org.eclipse.debug.ui
Daniel Kirschten [Tue, 1 Oct 2019 07:40:32 +0000 (09:40 +0200)]
Enabled other memory renderings provided by org.eclipse.debug.ui

5 years agoMerge remote-tracking branch 'origin/development' into development
Daniel Kirschten [Tue, 1 Oct 2019 07:38:25 +0000 (09:38 +0200)]
Merge remote-tracking branch 'origin/development' into development

5 years agoMainMemoryBlockExtension now reports the correct endianness
Daniel Kirschten [Tue, 1 Oct 2019 07:36:27 +0000 (09:36 +0200)]
MainMemoryBlockExtension now reports the correct endianness

5 years agoSingleSWTRequest utility class now actually does what it is supposed to
Fabian Stemmler [Tue, 1 Oct 2019 00:42:21 +0000 (02:42 +0200)]
SingleSWTRequest utility class now actually does what it is supposed to

5 years agoFixed a bug: colors/fonts did not update properly in InstructionTable
Fabian Stemmler [Mon, 30 Sep 2019 21:24:58 +0000 (23:24 +0200)]
Fixed a bug: colors/fonts did not update properly in InstructionTable

5 years agoAm2900Machine now has registers
Daniel Kirschten [Mon, 30 Sep 2019 21:51:43 +0000 (23:51 +0200)]
Am2900Machine now has registers

5 years agoMainMemoryBlockExtension now throttles firing of content change events
Daniel Kirschten [Mon, 30 Sep 2019 20:14:49 +0000 (22:14 +0200)]
MainMemoryBlockExtension now throttles firing of content change events

5 years agoMarked fields/methods related to activeMachine as deprecated in MContext
Daniel Kirschten [Mon, 30 Sep 2019 16:55:59 +0000 (18:55 +0200)]
Marked fields/methods related to activeMachine as deprecated in MContext

5 years agoMade SimulationView(Editor) a View again
Daniel Kirschten [Mon, 30 Sep 2019 16:34:57 +0000 (18:34 +0200)]
Made SimulationView(Editor) a View again

5 years agoFixed crashbug in ActiveInstructionPreviewContentProvider
Daniel Kirschten [Mon, 30 Sep 2019 16:34:38 +0000 (18:34 +0200)]
Fixed crashbug in ActiveInstructionPreviewContentProvider

5 years agoIntroduced execution speed listeners in MachineDebugTarget
Daniel Kirschten [Mon, 30 Sep 2019 16:33:39 +0000 (18:33 +0200)]
Introduced execution speed listeners in MachineDebugTarget

5 years agoIntroduced getters for executionSpeed
Daniel Kirschten [Mon, 30 Sep 2019 16:33:04 +0000 (18:33 +0200)]
Introduced getters for executionSpeed

5 years agoFixed annoying sporadic crashes
Daniel Kirschten [Mon, 30 Sep 2019 16:32:16 +0000 (18:32 +0200)]
Fixed annoying sporadic crashes

5 years agoInstruction Table Editing Support now uses the correct font
Fabian Stemmler [Mon, 30 Sep 2019 13:42:05 +0000 (15:42 +0200)]
Instruction Table Editing Support now uses the correct font

5 years agoMerge branch 'machines-are-launch-configs' into development
Daniel Kirschten [Mon, 30 Sep 2019 12:10:38 +0000 (14:10 +0200)]
Merge branch 'machines-are-launch-configs' into development

5 years agoLauch configuration attribute "Initial RAM" now has an effect
Daniel Kirschten [Mon, 30 Sep 2019 12:07:55 +0000 (14:07 +0200)]
Lauch configuration attribute "Initial RAM" now has an effect

5 years agoMemoryEditor now actually works
Daniel Kirschten [Mon, 30 Sep 2019 12:07:09 +0000 (14:07 +0200)]
MemoryEditor now actually works

5 years agoCreated MainMemoryParser
Daniel Kirschten [Mon, 30 Sep 2019 12:06:54 +0000 (14:06 +0200)]
Created MainMemoryParser

5 years agoActiveInstructionChangedListener moved to Machine and updated
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()

5 years agoRemoved MachineProcess
Daniel Kirschten [Sun, 29 Sep 2019 22:02:02 +0000 (00:02 +0200)]
Removed MachineProcess

5 years agoMainMachineLaunchConfigTab's selection dialogs now look better
Daniel Kirschten [Sun, 29 Sep 2019 21:44:38 +0000 (23:44 +0200)]
MainMachineLaunchConfigTab's selection dialogs now look better

5 years agoMainMachineLaunchConfigTab now looks better
Daniel Kirschten [Sun, 29 Sep 2019 21:31:08 +0000 (23:31 +0200)]
MainMachineLaunchConfigTab now looks better

5 years agoThe user can now specify a RAM file (but doesn't have to)
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)

5 years agoA Machine now can be run, not only debugged (doesn't make a difference)
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)

5 years agoMPM file gets loaded when MainMachineLaunchConfigTab is created
Daniel Kirschten [Sun, 29 Sep 2019 21:10:03 +0000 (23:10 +0200)]
MPM file gets loaded when MainMachineLaunchConfigTab is created

5 years agoReplaced hardcoded string with reference to MGSActivater.PLUGIN_ID
Daniel Kirschten [Sun, 29 Sep 2019 20:52:35 +0000 (22:52 +0200)]
Replaced hardcoded string with reference to MGSActivater.PLUGIN_ID

5 years agoMade MPM configurable; changed startup exec speed from 10 to 1
Daniel Kirschten [Sun, 29 Sep 2019 20:51:48 +0000 (22:51 +0200)]
Made MPM configurable; changed startup exec speed from 10 to 1

5 years agoFixed a bug in MainMemoryBlockExtension
Daniel Kirschten [Sun, 29 Sep 2019 16:38:36 +0000 (18:38 +0200)]
Fixed a bug in MainMemoryBlockExtension

5 years agoMade main memory access via the Memory view work
Daniel Kirschten [Sun, 29 Sep 2019 16:26:04 +0000 (18:26 +0200)]
Made main memory access via the Memory view work

5 years agoFurther work on machine launch configs
Daniel Kirschten [Sun, 29 Sep 2019 12:36:56 +0000 (14:36 +0200)]
Further work on machine launch configs

5 years agoInsured InstructionTable removes all Listeners
Fabian Stemmler [Sun, 29 Sep 2019 00:14:55 +0000 (02:14 +0200)]
Insured InstructionTable removes all Listeners

5 years agoModified values cells are now in italic
Fabian Stemmler [Sat, 28 Sep 2019 23:04:01 +0000 (01:04 +0200)]
Modified values cells are now in italic

5 years agoMade highlighted/modified cells bold; New default modified cell color
Fabian Stemmler [Sat, 28 Sep 2019 22:48:43 +0000 (00:48 +0200)]
Made highlighted/modified cells bold; New default modified cell color

5 years agoRemoved version attributes of org.eclipse.debug.core/ui dependencies
Daniel Kirschten [Sat, 28 Sep 2019 16:28:23 +0000 (18:28 +0200)]
Removed version attributes of org.eclipse.debug.core/ui dependencies

5 years agoAdded a test launch config
Daniel Kirschten [Sat, 28 Sep 2019 14:31:45 +0000 (16:31 +0200)]
Added a test launch config

5 years agoFixed issue with row highlighting
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.

5 years agoNon-default values are now highlighted in the InstructionTable
Fabian Stemmler [Fri, 27 Sep 2019 19:15:18 +0000 (21:15 +0200)]
Non-default values are now highlighted in the InstructionTable

5 years agoUpdated project structure (bc SWTInput)
Christian Femers [Fri, 27 Sep 2019 01:59:33 +0000 (03:59 +0200)]
Updated project structure (bc SWTInput)

5 years agoFixed MemoryTableContentProvider#update throwing an exception
Daniel Kirschten [Thu, 26 Sep 2019 23:23:51 +0000 (01:23 +0200)]
Fixed MemoryTableContentProvider#update throwing an exception

5 years agoMade Clock slow enough for the slowest microinstruction I could find
Daniel Kirschten [Thu, 26 Sep 2019 23:22:40 +0000 (01:22 +0200)]
Made Clock slow enough for the slowest microinstruction I could find

5 years agoUpdated feature.xml to new dependencies and removed sizes
Christian Femers [Thu, 26 Sep 2019 23:06:07 +0000 (01:06 +0200)]
Updated feature.xml to new dependencies and removed sizes

5 years agoMake project selector handle MachineContexts and small improvements
Christian Femers [Thu, 26 Sep 2019 22:20:26 +0000 (00:20 +0200)]
Make project selector handle MachineContexts and small improvements

5 years agoSmall adjustment to the validity quality of a MachineContext
Christian Femers [Thu, 26 Sep 2019 22:18:43 +0000 (00:18 +0200)]
Small adjustment to the validity quality of a MachineContext

5 years agologic.core.tests now depends on logic.core, not logic.model
Daniel Kirschten [Thu, 26 Sep 2019 22:08:16 +0000 (00:08 +0200)]
logic.core.tests now depends on logic.core, not logic.model

5 years agoUpdated project references; also plugin.core no longer depends on itself
Daniel Kirschten [Thu, 26 Sep 2019 21:56:07 +0000 (23:56 +0200)]
Updated project references; also plugin.core no longer depends on itself

5 years agoMerge branch 'development' of https://gitlab.lrz.de/lrr-tum/students/eragp-misim...
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

5 years agoSetting simulation speed higher should no longer have an effect on logic
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

5 years agoRemoved debug sysouts to make the plugin "silent"
Daniel Kirschten [Thu, 26 Sep 2019 20:21:06 +0000 (22:21 +0200)]
Removed debug sysouts to make the plugin "silent"

5 years agoAdded "Reload machine" button
Daniel Kirschten [Thu, 26 Sep 2019 18:41:16 +0000 (20:41 +0200)]
Added "Reload machine" button

5 years agoA machine change now leaves user-defined sim speeds intact
Daniel Kirschten [Thu, 26 Sep 2019 18:40:14 +0000 (20:40 +0200)]
A machine change now leaves user-defined sim speeds intact

5 years agoSimulation speed now can be edited via a text field
Daniel Kirschten [Thu, 26 Sep 2019 18:35:16 +0000 (20:35 +0200)]
Simulation speed now can be edited via a text field

5 years agoFixed a stupid bug causing LogicExecuter to eat your CPU
Daniel Kirschten [Thu, 26 Sep 2019 18:06:49 +0000 (20:06 +0200)]
Fixed a stupid bug causing LogicExecuter to eat your CPU

5 years agoSwitched default mouse buttons for action and drag.
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.

5 years agoChanged simulation speed slider to a scale (not sure if this is better?)
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?)

5 years agoRemoved MemoryView from plugin.xml
Daniel Kirschten [Thu, 26 Sep 2019 17:28:53 +0000 (19:28 +0200)]
Removed MemoryView from plugin.xml

5 years agoMade preference page a bit easier to use
Daniel Kirschten [Thu, 26 Sep 2019 17:28:28 +0000 (19:28 +0200)]
Made preference page a bit easier to use

5 years agoAdded preferences for mouse button assignments
Daniel Kirschten [Thu, 26 Sep 2019 17:15:46 +0000 (19:15 +0200)]
Added preferences for mouse button assignments

5 years agoDeleted legacy MachineContext
Daniel Kirschten [Thu, 26 Sep 2019 16:17:26 +0000 (18:17 +0200)]
Deleted legacy MachineContext

5 years agoFixed typo in SimulationViewEditor
Daniel Kirschten [Thu, 26 Sep 2019 16:17:06 +0000 (18:17 +0200)]
Fixed typo in SimulationViewEditor

5 years agoMade MemoryView to an Editor
Daniel Kirschten [Thu, 26 Sep 2019 16:16:11 +0000 (18:16 +0200)]
Made MemoryView to an Editor

5 years agoSet reasonable default values for Am2900 MicroInstructions
Fabian Stemmler [Thu, 26 Sep 2019 15:11:51 +0000 (17:11 +0200)]
Set reasonable default values for Am2900 MicroInstructions

5 years agoCreated CyclingCellEditor for BooleanEditingSupport
Fabian Stemmler [Thu, 26 Sep 2019 14:43:53 +0000 (16:43 +0200)]
Created CyclingCellEditor for BooleanEditingSupport

5 years agoAdded MnemonicFamilyBuilder and set most Mnemonics to 'X' by default
Fabian Stemmler [Thu, 26 Sep 2019 13:03:34 +0000 (15:03 +0200)]
Added MnemonicFamilyBuilder and set most Mnemonics to 'X' by default

5 years agoFixed execution freezing when the next queued event has a long delta
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

5 years agoSped up logic core execution by 1000%
Daniel Kirschten [Thu, 26 Sep 2019 12:42:09 +0000 (14:42 +0200)]
Sped up logic core execution by 1000%

5 years agoPauseableTimeFunction now supports non-integral speed factors
Daniel Kirschten [Thu, 26 Sep 2019 12:41:34 +0000 (14:41 +0200)]
PauseableTimeFunction now supports non-integral speed factors

5 years agoAdded a reset button to SimulationViewEditor
Daniel Kirschten [Thu, 26 Sep 2019 11:31:20 +0000 (13:31 +0200)]
Added a reset button to SimulationViewEditor

5 years agoFixed Am2900Machine#reset (broke when deleting clock ManualSwitch)
Daniel Kirschten [Thu, 26 Sep 2019 11:30:21 +0000 (13:30 +0200)]
Fixed Am2900Machine#reset (broke when deleting clock ManualSwitch)

5 years agoInstructionView now reacts to memory reassignments and machine changes
Daniel Kirschten [Thu, 26 Sep 2019 09:29:06 +0000 (11:29 +0200)]
InstructionView now reacts to memory reassignments and machine changes

5 years agoMade sure listeners get removed when SimulationViewEditor gets disposed
Daniel Kirschten [Thu, 26 Sep 2019 09:26:48 +0000 (11:26 +0200)]
Made sure listeners get removed when SimulationViewEditor gets disposed

5 years agoReworked some parts of the MachineContext to make its status clear.
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.

5 years agoFixed the MograsimBuilder a bit, but it will likely get removed
Christian Femers [Thu, 26 Sep 2019 04:57:08 +0000 (06:57 +0200)]
Fixed the MograsimBuilder a bit, but it will likely get removed

5 years agoDocumented the ProjectMachineContext
Christian Femers [Thu, 26 Sep 2019 04:56:01 +0000 (06:56 +0200)]
Documented the ProjectMachineContext

5 years agoReordered the disposal of the old resources, because of errors
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.

5 years agoAdded comment on MachineRegistry
Christian Femers [Thu, 26 Sep 2019 04:50:17 +0000 (06:50 +0200)]
Added comment on MachineRegistry

5 years agoModified README.md a bit; deleted build_from_source.txt
Daniel Kirschten [Wed, 25 Sep 2019 19:41:27 +0000 (21:41 +0200)]
Modified README.md a bit; deleted build_from_source.txt

5 years agoRemoved the clock ManualSwitches and made the clock slower
Daniel Kirschten [Wed, 25 Sep 2019 18:45:11 +0000 (20:45 +0200)]
Removed the clock ManualSwitches and made the clock slower

5 years agoBZ/PC and IR now get written at the rising clock edge
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

5 years agoReserialized components
Daniel Kirschten [Wed, 25 Sep 2019 18:27:23 +0000 (20:27 +0200)]
Reserialized components

5 years agoMade Am2900 memory reads work if Am2901Dest=QREG ...
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.

5 years agoFixed two small bugs in the two Delegating...Handlers:
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

5 years agoHLSShell now closes when the according LogicUICanvas is disposed
Daniel Kirschten [Wed, 25 Sep 2019 16:33:27 +0000 (18:33 +0200)]
HLSShell now closes when the according LogicUICanvas is disposed

5 years agoAdjusted default HLS debug shell depth
Daniel Kirschten [Wed, 25 Sep 2019 16:33:07 +0000 (18:33 +0200)]
Adjusted default HLS debug shell depth

5 years agoRemoved model.am2900 from plugin.core's required bundles
Daniel Kirschten [Wed, 25 Sep 2019 16:10:27 +0000 (18:10 +0200)]
Removed model.am2900 from plugin.core's required bundles

5 years agoIndirectModelComponentCreator now supports clearing the component cache
Daniel Kirschten [Wed, 25 Sep 2019 16:10:02 +0000 (18:10 +0200)]
IndirectModelComponentCreator now supports clearing the component cache

5 years agoSimulationViewEditor now reacts better to machine changes
Daniel Kirschten [Wed, 25 Sep 2019 16:09:12 +0000 (18:09 +0200)]
SimulationViewEditor now reacts better to machine changes

5 years agosetViewerInput now is much faster and doesn't cause text to flicker
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

5 years agoMade clock overridable by a ManualSwitch
Daniel Kirschten [Wed, 25 Sep 2019 13:26:43 +0000 (15:26 +0200)]
Made clock overridable by a ManualSwitch

5 years agoReserialized components
Daniel Kirschten [Wed, 25 Sep 2019 10:44:00 +0000 (12:44 +0200)]
Reserialized components