UI: add register view
authorJan Vrany <jan.vrany@fit.cvut.cz>
Thu, 27 Sep 2018 21:27:59 +0100
changeset 110 7150377a44e1
parent 109 8cd32ab019a4
child 111 a70313e80780
UI: add register view
Make.proto
Make.spec
VDBAbstractPresenter.st
VDBDebuggerApplication.st
VDBRegisterListApplication.st
VDBRegisterPresenter.st
VDBStackApplication.st
VDBVariableObjectListApplication.st
abbrev.stc
application/Make.proto
application/abbrev.stc
application/bc.mak
application/builder/baseline.rbspec
application/builder/package.deps.rake
application/jv_vdb_application.st
application/modules.c
application/modules.stx
bc.mak
jv_vdb.st
libInit.cc
tests/bc.mak
--- a/Make.proto	Thu Sep 27 21:00:01 2018 +0100
+++ b/Make.proto	Thu Sep 27 21:27:59 2018 +0100
@@ -142,6 +142,7 @@
 $(OUTDIR)VDBIconLibrary.$(O) VDBIconLibrary.$(C) VDBIconLibrary.$(H): VDBIconLibrary.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)VDBInstructionBasicBlock.$(O) VDBInstructionBasicBlock.$(C) VDBInstructionBasicBlock.$(H): VDBInstructionBasicBlock.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)VDBSettingsApplication.$(O) VDBSettingsApplication.$(C) VDBSettingsApplication.$(H): VDBSettingsApplication.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libtool/AbstractSettingsApplication.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
+$(OUTDIR)VDBStartup.$(O) VDBStartup.$(C) VDBStartup.$(H): VDBStartup.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/StandaloneStartup.$(H) $(STCHDR)
 $(OUTDIR)VDBVirtualMemoryMap.$(O) VDBVirtualMemoryMap.$(C) VDBVirtualMemoryMap.$(H): VDBVirtualMemoryMap.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)VDBVirtualMemoryRegion.$(O) VDBVirtualMemoryRegion.$(C) VDBVirtualMemoryRegion.$(H): VDBVirtualMemoryRegion.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)VDBWindowsDebuggerConsoleView.$(O) VDBWindowsDebuggerConsoleView.$(C) VDBWindowsDebuggerConsoleView.$(H): VDBWindowsDebuggerConsoleView.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(INCLUDE_TOP)/stx/libview/View.$(H) $(INCLUDE_TOP)/stx/libwidg/EditTextView.$(H) $(INCLUDE_TOP)/stx/libwidg/ListView.$(H) $(INCLUDE_TOP)/stx/libwidg/TextCollector.$(H) $(INCLUDE_TOP)/stx/libwidg/TextView.$(H) $(INCLUDE_TOP)/stx/libwidg2/TerminalView.$(H) $(STCHDR)
@@ -153,13 +154,14 @@
 $(OUTDIR)VDBAbstractUnixConsoleApplication.$(O) VDBAbstractUnixConsoleApplication.$(C) VDBAbstractUnixConsoleApplication.$(H): VDBAbstractUnixConsoleApplication.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
 $(OUTDIR)VDBBreakpointApplication.$(O) VDBBreakpointApplication.$(C) VDBBreakpointApplication.$(H): VDBBreakpointApplication.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
 $(OUTDIR)VDBBreakpointPresenter.$(O) VDBBreakpointPresenter.$(C) VDBBreakpointPresenter.$(H): VDBBreakpointPresenter.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractPresenter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg2/AbstractHierarchicalItem.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR)
-$(OUTDIR)VDBDebuggerApplication.$(O) VDBDebuggerApplication.$(C) VDBDebuggerApplication.$(H): VDBDebuggerApplication.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
+$(OUTDIR)VDBDebuggerApplication.$(O) VDBDebuggerApplication.$(C) VDBDebuggerApplication.$(H): VDBDebuggerApplication.st $(INCLUDE_TOP)/jv/libgdbs/GDBStopReasons.$(H) $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
 $(OUTDIR)VDBEventLogApplication.$(O) VDBEventLogApplication.$(C) VDBEventLogApplication.$(H): VDBEventLogApplication.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
 $(OUTDIR)VDBFrameApplication.$(O) VDBFrameApplication.$(C) VDBFrameApplication.$(H): VDBFrameApplication.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
 $(OUTDIR)VDBFramePresenter.$(O) VDBFramePresenter.$(C) VDBFramePresenter.$(H): VDBFramePresenter.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractPresenter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg2/AbstractHierarchicalItem.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR)
 $(OUTDIR)VDBInstructionPresenter.$(O) VDBInstructionPresenter.$(C) VDBInstructionPresenter.$(H): VDBInstructionPresenter.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractPresenter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg2/AbstractHierarchicalItem.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR)
 $(OUTDIR)VDBInstructionsAndSourcePresenter.$(O) VDBInstructionsAndSourcePresenter.$(C) VDBInstructionsAndSourcePresenter.$(H): VDBInstructionsAndSourcePresenter.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractPresenter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg2/AbstractHierarchicalItem.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR)
 $(OUTDIR)VDBMemoryApplication.$(O) VDBMemoryApplication.$(C) VDBMemoryApplication.$(H): VDBMemoryApplication.st $(INCLUDE_TOP)/jv/libgdbs/GDBOutputFormats.$(H) $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
+$(OUTDIR)VDBRegisterPresenter.$(O) VDBRegisterPresenter.$(C) VDBRegisterPresenter.$(H): VDBRegisterPresenter.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractPresenter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg2/AbstractHierarchicalItem.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR)
 $(OUTDIR)VDBSourceApplication.$(O) VDBSourceApplication.$(C) VDBSourceApplication.$(H): VDBSourceApplication.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
 $(OUTDIR)VDBThreadGroupPresenter.$(O) VDBThreadGroupPresenter.$(C) VDBThreadGroupPresenter.$(H): VDBThreadGroupPresenter.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractPresenter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg2/AbstractHierarchicalItem.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR)
 $(OUTDIR)VDBThreadPresenter.$(O) VDBThreadPresenter.$(C) VDBThreadPresenter.$(H): VDBThreadPresenter.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractPresenter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg2/AbstractHierarchicalItem.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR)
@@ -167,6 +169,7 @@
 $(OUTDIR)VDBWindowsDebuggerConsoleApplication.$(O) VDBWindowsDebuggerConsoleApplication.$(C) VDBWindowsDebuggerConsoleApplication.$(H): VDBWindowsDebuggerConsoleApplication.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommandStatus.$(H) $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
 $(OUTDIR)VDBAbstractTreeApplication.$(O) VDBAbstractTreeApplication.$(C) VDBAbstractTreeApplication.$(H): VDBAbstractTreeApplication.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/jv/vdb/VDBAbstractListApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
 $(OUTDIR)VDBBreakpointListApplication.$(O) VDBBreakpointListApplication.$(C) VDBBreakpointListApplication.$(H): VDBBreakpointListApplication.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/jv/vdb/VDBAbstractListApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
+$(OUTDIR)VDBRegisterListApplication.$(O) VDBRegisterListApplication.$(C) VDBRegisterListApplication.$(H): VDBRegisterListApplication.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/jv/vdb/VDBAbstractListApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
 $(OUTDIR)VDBTabbingContainer.$(O) VDBTabbingContainer.$(C) VDBTabbingContainer.$(H): VDBTabbingContainer.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/jv/vdb/VDBAbstractContainer.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
 $(OUTDIR)VDBUnixDebuggerConsoleApplication.$(O) VDBUnixDebuggerConsoleApplication.$(C) VDBUnixDebuggerConsoleApplication.$(H): VDBUnixDebuggerConsoleApplication.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/jv/vdb/VDBAbstractUnixConsoleApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
 $(OUTDIR)VDBUnixInferiorConsoleApplication.$(O) VDBUnixInferiorConsoleApplication.$(C) VDBUnixInferiorConsoleApplication.$(H): VDBUnixInferiorConsoleApplication.st $(INCLUDE_TOP)/jv/vdb/VDBAbstractApplication.$(H) $(INCLUDE_TOP)/jv/vdb/VDBAbstractUnixConsoleApplication.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
--- a/Make.spec	Thu Sep 27 21:00:01 2018 +0100
+++ b/Make.spec	Thu Sep 27 21:27:59 2018 +0100
@@ -59,6 +59,7 @@
 	VDBIconLibrary \
 	VDBInstructionBasicBlock \
 	VDBSettingsApplication \
+	VDBStartup \
 	VDBVirtualMemoryMap \
 	VDBVirtualMemoryRegion \
 	VDBWindowsDebuggerConsoleView \
@@ -77,6 +78,7 @@
 	VDBInstructionPresenter \
 	VDBInstructionsAndSourcePresenter \
 	VDBMemoryApplication \
+	VDBRegisterPresenter \
 	VDBSourceApplication \
 	VDBThreadGroupPresenter \
 	VDBThreadPresenter \
@@ -84,6 +86,7 @@
 	VDBWindowsDebuggerConsoleApplication \
 	VDBAbstractTreeApplication \
 	VDBBreakpointListApplication \
+	VDBRegisterListApplication \
 	VDBTabbingContainer \
 	VDBUnixDebuggerConsoleApplication \
 	VDBUnixInferiorConsoleApplication \
@@ -91,7 +94,6 @@
 	VDBInstructionListApplication \
 	VDBStackApplication \
 	VDBVariableObjectListApplication \
-	VDBStartup \
 
 
 
@@ -105,6 +107,7 @@
     $(OUTDIR)VDBIconLibrary.$(O) \
     $(OUTDIR)VDBInstructionBasicBlock.$(O) \
     $(OUTDIR)VDBSettingsApplication.$(O) \
+    $(OUTDIR)VDBStartup.$(O) \
     $(OUTDIR)VDBVirtualMemoryMap.$(O) \
     $(OUTDIR)VDBVirtualMemoryRegion.$(O) \
     $(OUTDIR)VDBWindowsDebuggerConsoleView.$(O) \
@@ -123,6 +126,7 @@
     $(OUTDIR)VDBInstructionPresenter.$(O) \
     $(OUTDIR)VDBInstructionsAndSourcePresenter.$(O) \
     $(OUTDIR)VDBMemoryApplication.$(O) \
+    $(OUTDIR)VDBRegisterPresenter.$(O) \
     $(OUTDIR)VDBSourceApplication.$(O) \
     $(OUTDIR)VDBThreadGroupPresenter.$(O) \
     $(OUTDIR)VDBThreadPresenter.$(O) \
@@ -130,6 +134,7 @@
     $(OUTDIR)VDBWindowsDebuggerConsoleApplication.$(O) \
     $(OUTDIR)VDBAbstractTreeApplication.$(O) \
     $(OUTDIR)VDBBreakpointListApplication.$(O) \
+    $(OUTDIR)VDBRegisterListApplication.$(O) \
     $(OUTDIR)VDBTabbingContainer.$(O) \
     $(OUTDIR)VDBUnixDebuggerConsoleApplication.$(O) \
     $(OUTDIR)VDBUnixInferiorConsoleApplication.$(O) \
@@ -137,7 +142,6 @@
     $(OUTDIR)VDBInstructionListApplication.$(O) \
     $(OUTDIR)VDBStackApplication.$(O) \
     $(OUTDIR)VDBVariableObjectListApplication.$(O) \
-    $(OUTDIR)VDBStartup.$(O) \
     $(OUTDIR)extensions.$(O) \
 
 
--- a/VDBAbstractPresenter.st	Thu Sep 27 21:00:01 2018 +0100
+++ b/VDBAbstractPresenter.st	Thu Sep 27 21:27:59 2018 +0100
@@ -244,6 +244,10 @@
     ^ false
 !
 
+isRegisterPresenter
+    ^ false
+!
+
 isThreadGroupPresenter
     ^ false
 
--- a/VDBDebuggerApplication.st	Thu Sep 27 21:00:01 2018 +0100
+++ b/VDBDebuggerApplication.st	Thu Sep 27 21:27:59 2018 +0100
@@ -555,6 +555,11 @@
                   isVisible: true
                 )
                (MenuItem
+                  label: 'Registers'
+                  itemValue: doOpenToolRegisters
+                  isVisible: true
+                )
+               (MenuItem
                   label: 'Breakpoints'
                   itemValue: doOpenToolApplicationClass:
                   isVisible: true
@@ -1210,6 +1215,18 @@
     "Modified (format): / 08-03-2015 / 15:49:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+doOpenToolRegisters
+    | registers application |
+
+    registers := (AspectAdaptor forAspect:#registers)
+                    subjectChannel: self selectedFrameHolder.
+    application := VDBRegisterListApplication new
+                    registerListHolder: registers.
+    self doOpenToolApplication: application.
+
+    "Created: / 27-09-2018 / 21:01:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 doOpenToolVariables
     | variables application |
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/VDBRegisterListApplication.st	Thu Sep 27 21:27:59 2018 +0100
@@ -0,0 +1,266 @@
+"
+jv:vdb - Visual / VM Debugger
+Copyright (C) 2015-now Jan Vrany
+
+This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
+
+You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
+"
+"{ Package: 'jv:vdb' }"
+
+"{ NameSpace: Smalltalk }"
+
+VDBAbstractTreeApplication subclass:#VDBRegisterListApplication
+	instanceVariableNames:'registerListHolder selectedRegisterHolder'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'VDB-UI-Others'
+!
+
+!VDBRegisterListApplication class methodsFor:'documentation'!
+
+copyright
+"
+jv:vdb - Visual / VM Debugger
+Copyright (C) 2015-now Jan Vrany
+
+This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
+
+You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
+"
+! !
+
+!VDBRegisterListApplication class methodsFor:'accessing'!
+
+windowTitle
+    ^ 'Registers'
+
+    "Created: / 11-07-2017 / 16:37:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 27-09-2018 / 20:32:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBRegisterListApplication class methodsFor:'interface specs'!
+
+columnsSpec
+    "This resource specification was automatically generated
+     by the DataSetBuilder of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the DataSetBuilder may not be able to read the specification."
+
+    "
+     DataSetBuilder new openOnClass:VDBFrameApplication andSelector:#columnsSpec
+    "
+
+    <resource: #tableColumns>
+
+    ^#(
+      (DataSetColumnSpec
+         label: 'Value'
+         labelAlignment: left
+         labelButtonType: Button
+         width: 1.0
+         height: heightOfFirstRow
+         menuFromApplication: false
+         printSelector: value
+         backgroundSelector: backgroundColor
+         showRowSeparator: false
+         showColSeparator: false
+       )
+      )
+    
+! !
+
+!VDBRegisterListApplication class methodsFor:'plugIn spec'!
+
+aspectSelectors
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this. If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "Return a description of exported aspects;
+     these can be connected to aspects of an embedding application
+     (if this app is embedded in a subCanvas)."
+
+    ^ #(
+        #debuggerHolder
+        #registerListHolder
+        #selectedRegisterHolder
+      ).
+
+    "Modified: / 27-09-2018 / 20:32:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBRegisterListApplication class methodsFor:'startup-web applications'!
+
+initialPageSpec
+    "this is only required for web-applications"
+
+    ^ self shouldImplement
+!
+
+pageSpecs
+    "this is only required for web-applications"
+
+    ^ self shouldImplement
+! !
+
+!VDBRegisterListApplication methodsFor:'aspects'!
+
+backgroundColorFor: aVDBRegisterPresenter
+    ^ aVDBRegisterPresenter register hasChanged
+        ifTrue:[ Color yellow lighter lighter ]
+        ifFalse:[ nil ]
+
+    "Created: / 01-02-2018 / 09:08:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 27-09-2018 / 20:41:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+registerListHolder
+    "return/create the 'variableObjectListHolder' value holder (automatically generated)"
+
+    registerListHolder isNil ifTrue:[
+        registerListHolder := ValueHolder with: #().
+        registerListHolder addDependent:self.
+    ].
+    ^ registerListHolder
+
+    "Created: / 27-09-2018 / 20:31:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+registerListHolder:something
+    "set the 'variableObjectListHolder' value holder (automatically generated)"
+
+    |oldValue newValue|
+
+    registerListHolder notNil ifTrue:[
+        oldValue := registerListHolder value.
+        registerListHolder removeDependent:self.
+    ].
+    registerListHolder := something.
+    registerListHolder notNil ifTrue:[
+        registerListHolder addDependent:self.
+    ].
+    newValue := registerListHolder value.
+    oldValue ~~ newValue ifTrue:[
+        self update:#value with:newValue from:registerListHolder.
+    ].
+
+    "Created: / 27-09-2018 / 20:31:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+selectedRegisterHolder
+    "return/create the 'selectedVariableHolder' value holder (automatically generated)"
+    
+    selectedRegisterHolder isNil ifTrue:[
+        selectedRegisterHolder := ValueHolder new.
+        selectedRegisterHolder addDependent:self.
+    ].
+    ^ selectedRegisterHolder
+
+    "Created: / 27-09-2018 / 20:31:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+selectedRegisterHolder:something 
+    "set the 'selectedVariableHolder' value holder (automatically generated)"
+    
+    | oldValue  newValue |
+
+    selectedRegisterHolder notNil ifTrue:[
+        oldValue := selectedRegisterHolder value.
+        selectedRegisterHolder removeDependent:self.
+    ].
+    selectedRegisterHolder := something.
+    selectedRegisterHolder notNil ifTrue:[
+        selectedRegisterHolder addDependent:self.
+    ].
+    newValue := selectedRegisterHolder value.
+    oldValue ~~ newValue ifTrue:[
+        self 
+            update:#value
+            with:newValue
+            from:selectedRegisterHolder.
+    ].
+
+    "Created: / 27-09-2018 / 20:31:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBRegisterListApplication methodsFor:'change & update'!
+
+update:aspect with:param from:sender
+    "Invoked when an object that I depend upon sends a change notification."
+
+    sender == registerListHolder ifTrue:[ 
+         self enqueueDelayedUpdateInternalList.
+         ^ self.
+    ].
+    super update:aspect with:param from:sender
+
+    "Modified: / 03-02-2018 / 09:47:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBRegisterListApplication methodsFor:'change & update-delayed'!
+
+delayedUpdateInternalList
+    | registers registerPs |
+
+    registers := self registerListHolder value ? #().
+    registerPs := registers collect:[ :reg | VDBRegisterPresenter new setRegister: reg ].
+    self internalListHolder root 
+        children: registerPs;
+        expand.
+
+    "Modified: / 28-09-2018 / 06:50:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+delayedUpdateSelection
+    | internalSelection |
+
+    internalSelection := self internalSelectionHolder value.
+    internalSelection notNil ifTrue:[
+        self selectedRegisterHolder value: internalSelection register
+    ] ifFalse:[ 
+        self selectedRegisterHolder value: nil
+    ].
+
+    "Modified: / 27-09-2018 / 21:08:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBRegisterListApplication methodsFor:'drag & drop'!
+
+dropObjects:aCollectionOfDropObjects
+    "drop manager wants to drop.
+     This is ony sent, if #canDrop: returned true.
+     Must be redefined in order for drop to work."
+
+    ^ self shouldImplement
+! !
+
+!VDBRegisterListApplication methodsFor:'event handling'!
+
+onStoppedEvent: aGDBStoppedEvent
+    self enqueueDelayedInvalidateInternalList
+
+    "Created: / 01-02-2018 / 23:14:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBRegisterListApplication methodsFor:'initialization & release'!
+
+subscribe   
+    "Register for debugger events. To be overrided by subclasses"
+
+    debugger announcer
+        when: GDBStoppedEvent               send: #onStoppedEvent: to: self
+
+    "Created: / 01-02-2018 / 23:07:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBRegisterListApplication class methodsFor:'documentation'!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/VDBRegisterPresenter.st	Thu Sep 27 21:27:59 2018 +0100
@@ -0,0 +1,138 @@
+"
+jv:vdb - Visual / VM Debugger
+Copyright (C) 2015-now Jan Vrany
+
+This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
+
+You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
+"
+"{ Package: 'jv:vdb' }"
+
+"{ NameSpace: Smalltalk }"
+
+VDBAbstractPresenter subclass:#VDBRegisterPresenter
+	instanceVariableNames:'register'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'VDB-Presentation'
+!
+
+!VDBRegisterPresenter class methodsFor:'documentation'!
+
+copyright
+"
+jv:vdb - Visual / VM Debugger
+Copyright (C) 2015-now Jan Vrany
+
+This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
+
+You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
+"
+! !
+
+!VDBRegisterPresenter class methodsFor:'menu specs'!
+
+contextMenu
+    "This resource specification was automatically generated
+     by the MenuEditor of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the MenuEditor may not be able to read the specification."
+
+
+    "
+     MenuEditor new openOnClass:VDBRegisterPresenter andSelector:#contextMenu
+     (Menu new fromLiteralArrayEncoding:(VDBRegisterPresenter contextMenu)) startUp
+    "
+
+    <resource: #menu>
+
+    ^ 
+     #(Menu
+        (
+         (MenuItem
+            label: 'Copy Value'
+            itemValue: doCopyValue
+            isVisible: true
+          )
+         )
+        nil
+        nil
+      )
+! !
+
+!VDBRegisterPresenter methodsFor:'accessing'!
+
+label
+    ^ register name
+
+    "Created: / 27-02-2015 / 15:57:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 27-09-2018 / 21:04:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+register
+    ^ register
+
+    "Created: / 27-09-2018 / 20:39:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+subject
+    "Return an instance of GDB object that this presenter displays."
+
+    ^ register
+
+    "Modified: / 05-02-2018 / 13:08:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+tooltip
+    ^ self valueString
+
+    "Created: / 29-07-2018 / 21:35:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+value
+    ^ register value
+
+    "Created: / 02-06-2017 / 07:32:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 28-01-2018 / 22:49:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+valueString
+    ^ register value
+
+    "Created: / 11-06-2017 / 23:25:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 01-09-2018 / 00:55:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBRegisterPresenter methodsFor:'initialization'!
+
+setRegister:aGDBRegisterWithValue 
+    register := aGDBRegisterWithValue
+
+    "Created: / 27-09-2018 / 20:38:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBRegisterPresenter methodsFor:'menu actions'!
+
+doCopyValue
+    self doCopy: register value.
+
+    "Created: / 16-01-2018 / 23:28:56 / jv"
+    "Modified: / 28-01-2018 / 22:55:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBRegisterPresenter methodsFor:'protocol-queries'!
+
+hasChildren
+    ^ false
+
+    "Created: / 28-01-2018 / 22:49:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 27-09-2018 / 20:38:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!VDBRegisterPresenter methodsFor:'testing'!
+
+isRegisterPresenter
+    ^ true
+! !
+
--- a/VDBStackApplication.st	Thu Sep 27 21:00:01 2018 +0100
+++ b/VDBStackApplication.st	Thu Sep 27 21:27:59 2018 +0100
@@ -310,13 +310,13 @@
 
 onRunningEvent: event
     self selectedFrameHolder value notNil ifTrue:[ 
-        self internalSelectionHolder value: nil.
+        self internalSelectionHolder value: nil withoutNotifying: self.
     ].
     self delayedInvalidateInternalList
 
     "Created: / 30-09-2014 / 00:02:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 17-01-2018 / 06:59:11 / jv"
-    "Modified: / 09-04-2018 / 20:43:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 27-09-2018 / 21:30:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 onStoppedEvent: event
--- a/VDBVariableObjectListApplication.st	Thu Sep 27 21:00:01 2018 +0100
+++ b/VDBVariableObjectListApplication.st	Thu Sep 27 21:27:59 2018 +0100
@@ -11,7 +11,7 @@
 "{ NameSpace: Smalltalk }"
 
 VDBAbstractTreeApplication subclass:#VDBVariableObjectListApplication
-	instanceVariableNames:'frameHolder variableObjectListHolder selectedVariableObjectHolder'
+	instanceVariableNames:'variableObjectListHolder selectedVariableObjectHolder'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'VDB-UI-Others'
--- a/abbrev.stc	Thu Sep 27 21:00:01 2018 +0100
+++ b/abbrev.stc	Thu Sep 27 21:27:59 2018 +0100
@@ -9,6 +9,7 @@
 VDBIconLibrary VDBIconLibrary jv:vdb 'VDB-UI-Support' 0
 VDBInstructionBasicBlock VDBInstructionBasicBlock jv:vdb 'VDB-UI-Support' 0
 VDBSettingsApplication VDBSettingsApplication jv:vdb 'VDB-UI-Others' 2
+VDBStartup VDBStartup jv:vdb 'VDB-UI' 1
 VDBVirtualMemoryMap VDBVirtualMemoryMap jv:vdb 'VDB-Tools' 0
 VDBVirtualMemoryRegion VDBVirtualMemoryRegion jv:vdb 'VDB-Tools' 0
 VDBWindowsDebuggerConsoleView VDBWindowsDebuggerConsoleView jv:vdb 'VDB-UI-Console-Windows' 2
@@ -27,6 +28,7 @@
 VDBInstructionPresenter VDBInstructionPresenter jv:vdb 'VDB-Presentation' 0
 VDBInstructionsAndSourcePresenter VDBInstructionsAndSourcePresenter jv:vdb 'VDB-Presentation' 0
 VDBMemoryApplication VDBMemoryApplication jv:vdb 'VDB-UI-Others' 2
+VDBRegisterPresenter VDBRegisterPresenter jv:vdb 'VDB-Presentation' 0
 VDBSourceApplication VDBSourceApplication jv:vdb 'VDB-UI-Source' 2
 VDBThreadGroupPresenter VDBThreadGroupPresenter jv:vdb 'VDB-Presentation' 0
 VDBThreadPresenter VDBThreadPresenter jv:vdb 'VDB-Presentation' 0
@@ -34,6 +36,7 @@
 VDBWindowsDebuggerConsoleApplication VDBWindowsDebuggerConsoleApplication jv:vdb 'VDB-UI-Console-Windows' 2
 VDBAbstractTreeApplication VDBAbstractTreeApplication jv:vdb 'VDB-UI-Abstract' 2
 VDBBreakpointListApplication VDBBreakpointListApplication jv:vdb 'VDB-UI-Others' 2
+VDBRegisterListApplication VDBRegisterListApplication jv:vdb 'VDB-UI-Others' 2
 VDBTabbingContainer VDBTabbingContainer jv:vdb 'VDB-UI-Containers' 2
 VDBUnixDebuggerConsoleApplication VDBUnixDebuggerConsoleApplication jv:vdb 'VDB-UI-Console-Unix' 2
 VDBUnixInferiorConsoleApplication VDBUnixInferiorConsoleApplication jv:vdb 'VDB-UI-Console-Unix' 2
--- a/application/Make.proto	Thu Sep 27 21:00:01 2018 +0100
+++ b/application/Make.proto	Thu Sep 27 21:27:59 2018 +0100
@@ -23,7 +23,7 @@
 NOAUTOLOAD=1
 NOSUBAUTOLOAD=1
 
-LOCALINCLUDES= -I$(INCLUDE_TOP)/jv/libgdbs -I$(INCLUDE_TOP)/jv/vdb -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/libtool
+LOCALINCLUDES= -I$(INCLUDE_TOP)/jv/vdb -I$(INCLUDE_TOP)/stx/libbasic
 LOCALDEFINES=
 GLOBALDEFINES=
 MAIN_DEFINES=-DIGNORE_IMAGE -DNO_DISPLAY
@@ -69,7 +69,6 @@
  libstx_libview \
  libstx_libui \
  libstx_libview2 \
- libstx_goodies_sunit \
  libstx_libwidg \
  libstx_goodies_magritte \
  libstx_libhtml \
@@ -92,7 +91,6 @@
  $(TOP)/libview/libstx_libview$(O_EXT) \
  $(TOP)/libui/libstx_libui$(O_EXT) \
  $(TOP)/libview2/libstx_libview2$(O_EXT) \
- $(TOP)/goodies/sunit/libstx_goodies_sunit$(O_EXT) \
  $(TOP)/libwidg/libstx_libwidg$(O_EXT) \
  $(TOP)/goodies/magritte/libstx_goodies_magritte$(O_EXT) \
  $(TOP)/libhtml/libstx_libhtml$(O_EXT) \
@@ -115,7 +113,6 @@
  libstx_libview$(O_EXT) \
  libstx_libui$(O_EXT) \
  libstx_libview2$(O_EXT) \
- libstx_goodies_sunit$(O_EXT) \
  libstx_libwidg$(O_EXT) \
  libstx_goodies_magritte$(O_EXT) \
  libstx_libhtml$(O_EXT) \
@@ -440,19 +437,6 @@
 $(TOP)/libview2/makefile: $(TOP)/libview2/Make.proto
 	$(TOP)/rules/stmkmf --cd $(TOP)/libview2
 
-libstx_goodies_sunit.so: $(TOP)/goodies/sunit/libstx_goodies_sunit.so
-	ln -sf $(TOP)/goodies/sunit/libstx_goodies_sunit.so .
-
-$(TOP)/goodies/sunit/libstx_goodies_sunit.so: $(TOP)/goodies/sunit/makefile $(FORCE)
-	@if [ -f "$(TOP)/goodies/sunit/.NOSOURCE" ]; then \
-	    echo "skip make in $(TOP)/goodies/sunit (no source)"; \
-	else \
-	    cd $(TOP)/goodies/sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "; \
-	fi
-
-$(TOP)/goodies/sunit/makefile: $(TOP)/goodies/sunit/Make.proto
-	$(TOP)/rules/stmkmf --cd $(TOP)/goodies/sunit
-
 libstx_libwidg.so: $(TOP)/libwidg/libstx_libwidg.so
 	ln -sf $(TOP)/libwidg/libstx_libwidg.so .
 
@@ -609,7 +593,6 @@
 	-rm -f vdb.do *.img *.sav
 
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
-$(OUTDIR)VDBStartup.$(O) VDBStartup.$(C) VDBStartup.$(H): VDBStartup.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/StandaloneStartup.$(H) $(STCHDR)
 $(OUTDIR)jv_vdb_application.$(O) jv_vdb_application.$(C) jv_vdb_application.$(H): jv_vdb_application.st $(INCLUDE_TOP)/stx/libbasic/ApplicationDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
--- a/application/abbrev.stc	Thu Sep 27 21:00:01 2018 +0100
+++ b/application/abbrev.stc	Thu Sep 27 21:27:59 2018 +0100
@@ -1,5 +1,4 @@
 # automagically generated by the project definition
 # this file is needed for stc to be able to compile modules independently.
 # it provides information about a classes filename, category and especially namespace.
-VDBStartup VDBStartup jv:vdb/application 'VDB-UI' 1
 jv_vdb_application jv_vdb_application jv:vdb/application '* Projects & Packages *' 3
--- a/application/bc.mak	Thu Sep 27 21:00:01 2018 +0100
+++ b/application/bc.mak	Thu Sep 27 21:27:59 2018 +0100
@@ -58,7 +58,7 @@
 LIBNAME=libjv_vdb_application
 MODULE_PATH=vdb\application
 STCOPT="+optinline"
-LOCALINCLUDES= -I$(INCLUDE_TOP)\jv\libgdbs -I$(INCLUDE_TOP)\jv\vdb -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\libtool
+LOCALINCLUDES= -I$(INCLUDE_TOP)\jv\vdb -I$(INCLUDE_TOP)\stx\libbasic
 LOCALDEFINES=
 GLOBALDEFINES=
 
@@ -96,7 +96,6 @@
  libstx_libview.dll \
  libstx_libui.dll \
  libstx_libview2.dll \
- libstx_goodies_sunit.dll \
  libstx_libwidg.dll \
  libstx_goodies_magritte.dll \
  libstx_libhtml.dll \
@@ -193,23 +192,23 @@
 	stx_RESOURCES stx_STYLES stx_BITMAPS
 
 
-vdb.do_RESOURCES: resources\jv\vdb\application\NUL
+vdb.do_RESOURCES: resources\jv\vdb\application
 	-copy ..\resources\*.rs resources\jv\vdb\application\..
 	-copy ..\resources\*.style resources\jv\vdb\application\..
 
-vdb.do_BITMAPS: resources\jv\vdb\application\bitmaps\NUL
+vdb.do_BITMAPS: resources\jv\vdb\application\bitmaps
 	-copy *.ico resources\jv\vdb\application\bitmaps
 	-copy *.gif resources\jv\vdb\application\bitmaps
 
-resources\jv\vdb\application\bitmaps\NUL: resources\jv\vdb\application\NUL
+resources\jv\vdb\application\bitmaps: resources\jv\vdb\application
 	mkdir resources\jv\vdb\application\bitmaps
 
-resources\jv\vdb\application\NUL: resources\jv\vdb\NUL
+resources\jv\vdb\application: resources\jv\vdb
 	mkdir resources\jv\vdb\application
 
-resources\jv\vdb\NUL: resources\jv\NUL
+resources\jv\vdb: resources\jv
 	mkdir resources\jv\vdb
-resources\jv\NUL: resources\NUL
+resources\jv: resources
 	mkdir resources\jv
 
 
@@ -217,7 +216,7 @@
 stx_RESOURCES: \
 	keyboard.rc \
 	keyboardMacros.rc \
-	host.rc \        
+	host.rc \         
 	display.rc \
 	d_win32.rc \
 	libbasic_RESOURCES \
@@ -241,65 +240,65 @@
 d_win32.rc: $(TOP)\projects\smalltalk\d_win32.rc
 	copy $(TOP)\projects\smalltalk\d_win32.rc *.*
 
-stx_STYLES: resources\stx\libview\NUL resources\stx\libview\styles\NUL
+stx_STYLES: resources\stx\libview  resources\stx\libview\styles
 	-copy $(TOP)\libview\styles\*.style resources\stx\libview\styles\*.*
 	-copy $(TOP)\libview\styles\*.common resources\stx\libview\styles\*.*
 
 stx_BITMAPS: \
 	libwidg_BITMAPS
 
-libwidg_BITMAPS: resources\stx\libwidg\bitmaps\NUL
+libwidg_BITMAPS: resources\stx\libwidg\bitmaps
 	-copy $(TOP)\libwidg\bitmaps\*.xpm resources\stx\libwidg\bitmaps\*.*
 
-libbasic_RESOURCES: resources\stx\libbasic\NUL
+libbasic_RESOURCES: resources\stx\libbasic
 	-copy $(TOP)\libbasic\resources\*.rs resources\stx\libbasic\*.*
 
-libtool_RESOURCES: resources\stx\libtool\NUL
+libtool_RESOURCES: resources\stx\libtool
 	-copy $(TOP)\libtool\resources\*.rs resources\stx\libtool\*.*
 
-libtool2_RESOURCES: resources\stx\libtool2\NUL
+libtool2_RESOURCES: resources\stx\libtool2
 	-copy $(TOP)\libtool2\resources\*.rs resources\stx\libtool2\*.*
 
-libview_RESOURCES: resources\stx\libview\NUL 
+libview_RESOURCES: resources\stx\libview 
 	-copy $(TOP)\libview\resources\*.rs resources\stx\libview\*.*
 
-libview2_RESOURCES: resources\stx\libview2\NUL
+libview2_RESOURCES: resources\stx\libview2
 	-copy $(TOP)\libview2\resources\*.rs resources\stx\libview2\*.*
 
-resources\stx\libbasic\NUL: resources\stx\NUL
+resources\stx\libbasic: resources\stx
 	mkdir resources\stx\libbasic
 
-resources\stx\libtool\NUL: resources\stx\NUL
+resources\stx\libtool: resources\stx
 	mkdir resources\stx\libtool
 
-resources\stx\libtool2\NUL: resources\stx\NUL
+resources\stx\libtool2: resources\stx
 	mkdir resources\stx\libtool2
 
-resources\stx\libview\NUL: resources\stx\NUL
+resources\stx\libview: resources\stx
 	mkdir resources\stx\libview
 
-resources\stx\libview\styles\NUL: resources\stx\libview\NUL
+resources\stx\libview\styles: resources\stx\libview
 	mkdir resources\stx\libview\styles
 
-resources\stx\libview2\NUL: resources\stx\NUL
+resources\stx\libview2: resources\stx
 	mkdir resources\stx\libview2
 
-resources\stx\libwidg\bitmaps\NUL: resources\stx\libwidg\NUL
+resources\stx\libwidg\bitmaps: resources\stx\libwidg
 	mkdir resources\stx\libwidg\bitmaps
 
-resources\stx\libwidg\NUL: resources\stx\NUL
+resources\stx\libwidg: resources\stx
 	mkdir resources\stx\libwidg
 
-resources\stx\NUL: resources\NUL
+resources\stx: resources
 	mkdir resources\stx
 
-resources\NUL:
+resources:
 	mkdir resources
 
-bitmaps\NUL:
+bitmaps:
 	mkdir bitmaps
 
-doc\NUL:
+doc:
 	mkdir doc
 
 
@@ -367,12 +366,6 @@
 ..\..\..\stx\libview2\$(OBJDIR)\libstx_libview2.dll: $(FORCE)
 	pushd ..\..\..\stx\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
-libstx_goodies_sunit.dll: ..\..\..\stx\goodies\sunit\$(OBJDIR)\libstx_goodies_sunit.dll
-	copy ..\..\..\stx\goodies\sunit\$(OBJDIR)\libstx_goodies_sunit.dll *.*
-
-..\..\..\stx\goodies\sunit\$(OBJDIR)\libstx_goodies_sunit.dll: $(FORCE)
-	pushd ..\..\..\stx\goodies\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-
 libstx_libwidg.dll: ..\..\..\stx\libwidg\$(OBJDIR)\libstx_libwidg.dll
 	copy ..\..\..\stx\libwidg\$(OBJDIR)\libstx_libwidg.dll *.*
 
@@ -436,7 +429,7 @@
       
 
 
-sources\NUL: 
+sources: 
 	mkdir sources
 
 show:
@@ -574,7 +567,6 @@
 	@rem  stupid win-make does not allow empty
 
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
-$(OUTDIR)VDBStartup.$(O) VDBStartup.$(C) VDBStartup.$(H): VDBStartup.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\StandaloneStartup.$(H) $(STCHDR)
 $(OUTDIR)jv_vdb_application.$(O) jv_vdb_application.$(C) jv_vdb_application.$(H): jv_vdb_application.st $(INCLUDE_TOP)\stx\libbasic\ApplicationDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
--- a/application/builder/baseline.rbspec	Thu Sep 27 21:00:01 2018 +0100
+++ b/application/builder/baseline.rbspec	Thu Sep 27 21:27:59 2018 +0100
@@ -24,7 +24,6 @@
   package "stx:libview"
   package "stx:libui"
   package "stx:libview2"
-  package "stx:goodies/sunit"
   package "stx:libwidg"
   package "stx:goodies/magritte"
   package "stx:libhtml"
--- a/application/builder/package.deps.rake	Thu Sep 27 21:00:01 2018 +0100
+++ b/application/builder/package.deps.rake	Thu Sep 27 21:27:59 2018 +0100
@@ -22,9 +22,6 @@
 
 task "stx:goodies/regex" => "stx:libbasic"
 
-task "stx:goodies/sunit" => "stx:libbasic"
-task "stx:goodies/sunit" => "stx:libview2"
-
 task "stx:goodies/xml/vw" => "stx:libbasic"
 
 
@@ -88,7 +85,6 @@
 task "jv:vdb/application" => "stx:goodies/magritte"
 task "jv:vdb/application" => "stx:goodies/refactoryBrowser/parser"
 task "jv:vdb/application" => "stx:goodies/regex"
-task "jv:vdb/application" => "stx:goodies/sunit"
 task "jv:vdb/application" => "stx:goodies/xml/vw"
 task "jv:vdb/application" => "stx:libbasic"
 task "jv:vdb/application" => "stx:libbasic2"
--- a/application/jv_vdb_application.st	Thu Sep 27 21:00:01 2018 +0100
+++ b/application/jv_vdb_application.st	Thu Sep 27 21:27:59 2018 +0100
@@ -96,10 +96,7 @@
      Please also take a look at the #mandatoryPreRequisites method"
 
     ^ #(
-        #'jv:libgdbs'    "GDBDebugger - referenced by VDBStartup class>>main:"
-        #'jv:vdb'    "RR - referenced by VDBStartup class>>main:"
-        #'stx:libbasic2'    "UUID - referenced by VDBStartup class>>applicationUUID"
-        #'stx:libtool'    "DebugView - referenced by VDBStartup class>>main:"
+        #'jv:vdb'    "VDBStartup - referenced by jv_vdb_application class>>startupClassName"
     )
 !
 
--- a/application/modules.c	Thu Sep 27 21:00:01 2018 +0100
+++ b/application/modules.c	Thu Sep 27 21:27:59 2018 +0100
@@ -8,13 +8,11 @@
  */
 typedef void (*vf)();
 
-extern void _VDBStartup_Init();
 extern void _jv_137vdb_137application_Init();
 
 
 static vf modules[] = {
-    _VDBStartup_Init,
-_jv_137vdb_137application_Init,
+    _jv_137vdb_137application_Init,
 
     (vf)0
 };
--- a/application/modules.stx	Thu Sep 27 21:00:01 2018 +0100
+++ b/application/modules.stx	Thu Sep 27 21:27:59 2018 +0100
@@ -25,7 +25,6 @@
 libstx_libview
 libstx_libui
 libstx_libview2
-libstx_goodies_sunit
 libstx_libwidg
 libstx_goodies_magritte
 libstx_libhtml
--- a/bc.mak	Thu Sep 27 21:00:01 2018 +0100
+++ b/bc.mak	Thu Sep 27 21:27:59 2018 +0100
@@ -72,7 +72,7 @@
 
 
 
-test: $(TOP)\goodies\builder\reports\NUL
+test: $(TOP)\goodies\builder\reports
 	pushd $(TOP)\goodies\builder\reports & $(MAKE_BAT)
 	$(TOP)\goodies\builder\reports\report-runner.bat -D . -r Builder::TestReport -p $(PACKAGE)
         
@@ -89,6 +89,7 @@
 $(OUTDIR)VDBIconLibrary.$(O) VDBIconLibrary.$(C) VDBIconLibrary.$(H): VDBIconLibrary.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)VDBInstructionBasicBlock.$(O) VDBInstructionBasicBlock.$(C) VDBInstructionBasicBlock.$(H): VDBInstructionBasicBlock.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)VDBSettingsApplication.$(O) VDBSettingsApplication.$(C) VDBSettingsApplication.$(H): VDBSettingsApplication.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libtool\AbstractSettingsApplication.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
+$(OUTDIR)VDBStartup.$(O) VDBStartup.$(C) VDBStartup.$(H): VDBStartup.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\StandaloneStartup.$(H) $(STCHDR)
 $(OUTDIR)VDBVirtualMemoryMap.$(O) VDBVirtualMemoryMap.$(C) VDBVirtualMemoryMap.$(H): VDBVirtualMemoryMap.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)VDBVirtualMemoryRegion.$(O) VDBVirtualMemoryRegion.$(C) VDBVirtualMemoryRegion.$(H): VDBVirtualMemoryRegion.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)VDBWindowsDebuggerConsoleView.$(O) VDBWindowsDebuggerConsoleView.$(C) VDBWindowsDebuggerConsoleView.$(H): VDBWindowsDebuggerConsoleView.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(INCLUDE_TOP)\stx\libview\View.$(H) $(INCLUDE_TOP)\stx\libwidg\EditTextView.$(H) $(INCLUDE_TOP)\stx\libwidg\ListView.$(H) $(INCLUDE_TOP)\stx\libwidg\TextCollector.$(H) $(INCLUDE_TOP)\stx\libwidg\TextView.$(H) $(INCLUDE_TOP)\stx\libwidg2\TerminalView.$(H) $(STCHDR)
@@ -100,13 +101,14 @@
 $(OUTDIR)VDBAbstractUnixConsoleApplication.$(O) VDBAbstractUnixConsoleApplication.$(C) VDBAbstractUnixConsoleApplication.$(H): VDBAbstractUnixConsoleApplication.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
 $(OUTDIR)VDBBreakpointApplication.$(O) VDBBreakpointApplication.$(C) VDBBreakpointApplication.$(H): VDBBreakpointApplication.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
 $(OUTDIR)VDBBreakpointPresenter.$(O) VDBBreakpointPresenter.$(C) VDBBreakpointPresenter.$(H): VDBBreakpointPresenter.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractPresenter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg2\AbstractHierarchicalItem.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR)
-$(OUTDIR)VDBDebuggerApplication.$(O) VDBDebuggerApplication.$(C) VDBDebuggerApplication.$(H): VDBDebuggerApplication.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
+$(OUTDIR)VDBDebuggerApplication.$(O) VDBDebuggerApplication.$(C) VDBDebuggerApplication.$(H): VDBDebuggerApplication.st $(INCLUDE_TOP)\jv\libgdbs\GDBStopReasons.$(H) $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
 $(OUTDIR)VDBEventLogApplication.$(O) VDBEventLogApplication.$(C) VDBEventLogApplication.$(H): VDBEventLogApplication.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
 $(OUTDIR)VDBFrameApplication.$(O) VDBFrameApplication.$(C) VDBFrameApplication.$(H): VDBFrameApplication.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
 $(OUTDIR)VDBFramePresenter.$(O) VDBFramePresenter.$(C) VDBFramePresenter.$(H): VDBFramePresenter.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractPresenter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg2\AbstractHierarchicalItem.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR)
 $(OUTDIR)VDBInstructionPresenter.$(O) VDBInstructionPresenter.$(C) VDBInstructionPresenter.$(H): VDBInstructionPresenter.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractPresenter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg2\AbstractHierarchicalItem.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR)
 $(OUTDIR)VDBInstructionsAndSourcePresenter.$(O) VDBInstructionsAndSourcePresenter.$(C) VDBInstructionsAndSourcePresenter.$(H): VDBInstructionsAndSourcePresenter.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractPresenter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg2\AbstractHierarchicalItem.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR)
 $(OUTDIR)VDBMemoryApplication.$(O) VDBMemoryApplication.$(C) VDBMemoryApplication.$(H): VDBMemoryApplication.st $(INCLUDE_TOP)\jv\libgdbs\GDBOutputFormats.$(H) $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
+$(OUTDIR)VDBRegisterPresenter.$(O) VDBRegisterPresenter.$(C) VDBRegisterPresenter.$(H): VDBRegisterPresenter.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractPresenter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg2\AbstractHierarchicalItem.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR)
 $(OUTDIR)VDBSourceApplication.$(O) VDBSourceApplication.$(C) VDBSourceApplication.$(H): VDBSourceApplication.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
 $(OUTDIR)VDBThreadGroupPresenter.$(O) VDBThreadGroupPresenter.$(C) VDBThreadGroupPresenter.$(H): VDBThreadGroupPresenter.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractPresenter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg2\AbstractHierarchicalItem.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR)
 $(OUTDIR)VDBThreadPresenter.$(O) VDBThreadPresenter.$(C) VDBThreadPresenter.$(H): VDBThreadPresenter.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractPresenter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg2\AbstractHierarchicalItem.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR)
@@ -114,6 +116,7 @@
 $(OUTDIR)VDBWindowsDebuggerConsoleApplication.$(O) VDBWindowsDebuggerConsoleApplication.$(C) VDBWindowsDebuggerConsoleApplication.$(H): VDBWindowsDebuggerConsoleApplication.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommandStatus.$(H) $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
 $(OUTDIR)VDBAbstractTreeApplication.$(O) VDBAbstractTreeApplication.$(C) VDBAbstractTreeApplication.$(H): VDBAbstractTreeApplication.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\jv\vdb\VDBAbstractListApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
 $(OUTDIR)VDBBreakpointListApplication.$(O) VDBBreakpointListApplication.$(C) VDBBreakpointListApplication.$(H): VDBBreakpointListApplication.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\jv\vdb\VDBAbstractListApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
+$(OUTDIR)VDBRegisterListApplication.$(O) VDBRegisterListApplication.$(C) VDBRegisterListApplication.$(H): VDBRegisterListApplication.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\jv\vdb\VDBAbstractListApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
 $(OUTDIR)VDBTabbingContainer.$(O) VDBTabbingContainer.$(C) VDBTabbingContainer.$(H): VDBTabbingContainer.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\jv\vdb\VDBAbstractContainer.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
 $(OUTDIR)VDBUnixDebuggerConsoleApplication.$(O) VDBUnixDebuggerConsoleApplication.$(C) VDBUnixDebuggerConsoleApplication.$(H): VDBUnixDebuggerConsoleApplication.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\jv\vdb\VDBAbstractUnixConsoleApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
 $(OUTDIR)VDBUnixInferiorConsoleApplication.$(O) VDBUnixInferiorConsoleApplication.$(C) VDBUnixInferiorConsoleApplication.$(H): VDBUnixInferiorConsoleApplication.st $(INCLUDE_TOP)\jv\vdb\VDBAbstractApplication.$(H) $(INCLUDE_TOP)\jv\vdb\VDBAbstractUnixConsoleApplication.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
--- a/jv_vdb.st	Thu Sep 27 21:00:01 2018 +0100
+++ b/jv_vdb.st	Thu Sep 27 21:27:59 2018 +0100
@@ -108,6 +108,7 @@
         VDBIconLibrary
         VDBInstructionBasicBlock
         VDBSettingsApplication
+        VDBStartup
         VDBVirtualMemoryMap
         VDBVirtualMemoryRegion
         VDBWindowsDebuggerConsoleView
@@ -126,6 +127,7 @@
         VDBInstructionPresenter
         VDBInstructionsAndSourcePresenter
         VDBMemoryApplication
+        VDBRegisterPresenter
         VDBSourceApplication
         VDBThreadGroupPresenter
         VDBThreadPresenter
@@ -133,6 +135,7 @@
         VDBWindowsDebuggerConsoleApplication
         VDBAbstractTreeApplication
         VDBBreakpointListApplication
+        VDBRegisterListApplication
         VDBTabbingContainer
         VDBUnixDebuggerConsoleApplication
         VDBUnixInferiorConsoleApplication
@@ -140,7 +143,6 @@
         VDBInstructionListApplication
         VDBStackApplication
         VDBVariableObjectListApplication
-	VDBStartup
     )
 !
 
--- a/libInit.cc	Thu Sep 27 21:00:01 2018 +0100
+++ b/libInit.cc	Thu Sep 27 21:27:59 2018 +0100
@@ -24,6 +24,7 @@
 extern void _VDBIconLibrary_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 extern void _VDBInstructionBasicBlock_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 extern void _VDBSettingsApplication_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _VDBStartup_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 extern void _VDBVirtualMemoryMap_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 extern void _VDBVirtualMemoryRegion_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 extern void _VDBWindowsDebuggerConsoleView_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
@@ -42,6 +43,7 @@
 extern void _VDBInstructionPresenter_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 extern void _VDBInstructionsAndSourcePresenter_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 extern void _VDBMemoryApplication_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _VDBRegisterPresenter_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 extern void _VDBSourceApplication_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 extern void _VDBThreadGroupPresenter_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 extern void _VDBThreadPresenter_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
@@ -49,6 +51,7 @@
 extern void _VDBWindowsDebuggerConsoleApplication_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 extern void _VDBAbstractTreeApplication_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 extern void _VDBBreakpointListApplication_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _VDBRegisterListApplication_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 extern void _VDBTabbingContainer_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 extern void _VDBUnixDebuggerConsoleApplication_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 extern void _VDBUnixInferiorConsoleApplication_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
@@ -56,7 +59,6 @@
 extern void _VDBInstructionListApplication_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 extern void _VDBStackApplication_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 extern void _VDBVariableObjectListApplication_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
-extern void _VDBStartup_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 
 extern void _jv_137vdb_extensions_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
 
@@ -79,6 +81,7 @@
     _VDBIconLibrary_Init(pass,__pRT__,snd);
     _VDBInstructionBasicBlock_Init(pass,__pRT__,snd);
     _VDBSettingsApplication_Init(pass,__pRT__,snd);
+    _VDBStartup_Init(pass,__pRT__,snd);
     _VDBVirtualMemoryMap_Init(pass,__pRT__,snd);
     _VDBVirtualMemoryRegion_Init(pass,__pRT__,snd);
     _VDBWindowsDebuggerConsoleView_Init(pass,__pRT__,snd);
@@ -97,6 +100,7 @@
     _VDBInstructionPresenter_Init(pass,__pRT__,snd);
     _VDBInstructionsAndSourcePresenter_Init(pass,__pRT__,snd);
     _VDBMemoryApplication_Init(pass,__pRT__,snd);
+    _VDBRegisterPresenter_Init(pass,__pRT__,snd);
     _VDBSourceApplication_Init(pass,__pRT__,snd);
     _VDBThreadGroupPresenter_Init(pass,__pRT__,snd);
     _VDBThreadPresenter_Init(pass,__pRT__,snd);
@@ -104,6 +108,7 @@
     _VDBWindowsDebuggerConsoleApplication_Init(pass,__pRT__,snd);
     _VDBAbstractTreeApplication_Init(pass,__pRT__,snd);
     _VDBBreakpointListApplication_Init(pass,__pRT__,snd);
+    _VDBRegisterListApplication_Init(pass,__pRT__,snd);
     _VDBTabbingContainer_Init(pass,__pRT__,snd);
     _VDBUnixDebuggerConsoleApplication_Init(pass,__pRT__,snd);
     _VDBUnixInferiorConsoleApplication_Init(pass,__pRT__,snd);
@@ -111,7 +116,6 @@
     _VDBInstructionListApplication_Init(pass,__pRT__,snd);
     _VDBStackApplication_Init(pass,__pRT__,snd);
     _VDBVariableObjectListApplication_Init(pass,__pRT__,snd);
-    _VDBStartup_Init(pass,__pRT__,snd);
 
     _jv_137vdb_extensions_Init(pass,__pRT__,snd);
   __END_PACKAGE__();
--- a/tests/bc.mak	Thu Sep 27 21:00:01 2018 +0100
+++ b/tests/bc.mak	Thu Sep 27 21:27:59 2018 +0100
@@ -59,7 +59,7 @@
 
 
 
-test: $(TOP)\goodies\builder\reports\NUL
+test: $(TOP)\goodies\builder\reports
 	pushd $(TOP)\goodies\builder\reports & $(MAKE_BAT)
 	$(TOP)\goodies\builder\reports\report-runner.bat -D . -r Builder::TestReport -p $(PACKAGE)