BlinkenBone as approach for SimH device visualisation

Parent Category: Projects Category: BlinkenBone Written by Administrator

The REALCONS extension to SimH is part of the "BlinkenBone" project.

Now there are plans to use it as an generic "SimH device visualisation framework". To support the coders of SimH, the concepts behind REALCONS are explained here.

SimH Source code is available on GitHub.

In fact, this is just another article about the BlinkenBone architecture, but here the focus is on SimH.

As usual, such an abstract document is incomprehensible unless you hold an actual demo application against it. So you might try the PDP-11/40 simulation again.

Dreaming of a visual extension on SimH

 A visual extension on SimH would have these features:

REALCONS was designed to implement all this.

However, in the current code, REALCONS implements only the CPU device for PDP-11/40.

Inside REALCONS

The REALCONS extensions consists of several software modules. When you try understand the code, the following function diagram may help. (Again: only the CPU device is implemented at the moment).

 simh device visualisation

(Click on the image for the updated PDF)

Overview, concepts

deviceGUI logic inside SimH

Network connection between deviceGUI logic and deviceGUI graphic

"ONC RPC" was choosen instead of raw socket communication, because it has some advantages:

In short, RPC gives you all for free what you would have to code on your own if using raw sockets.

 

The visual GUI (deviceGUI graphics)

Extended "controls"

At the moment, a Blinkenlight API "control" (as part of the shared data structure) is defined as "interface element for users" (primary lights or switches).
The visualisation of a control is meant to be a list of picture, were depending on the control value only one picture at a time is shown.

In the future, a "control" should be interpreted much boader as "some part of a computer, whose appearance is controlled by SimH".
The visualisation of a control can also be a movie (visually emebedded into the pictore of the whol computer system) or a sound beeing played.

Examples for some extended "control" are:

Extending the meaning of a "control" would not cause an programming effort in the "Blinkenlight API" layer, it is just a mental thing.

 

Extending REALCONS: what needs to be done

 When REALCONS is used integraded in SimH as generic device visualisation extension, the following changes should be made: