Hi Rob,
See here
http://retrocmp.com/projects/blinkenbone/169-blinkenbone-architecture-overv…
and adjactent pages.
I use photos of each button and each lamp, in every state.
So first operation is taking picture of a real panel.
Then I use Photoshop, to cut out all the lamps & switches into separate
layers
- a photoshop script scales them to different screen reloutions, and
names the resulting images with <resolution>_<controlname>_<state>
- Photoshop generates also a text file with coordinates of each control,
so they can be painted at right position later.
I tried other approaches, but this has best quality. Even scaling the
images at run time was not as perfect as scaling with Photoshop.
To get a clickable image of the panel I use a Java program.
It paints the current control states onto screen, and decodes
mouse-click positions into activated switches.
I choose Java with the old AWT framework, because graphic is relatively
easy there, and it is platform independent. The graphic should follow
SimH onto as much different platforms as possible.
So I have a simulator written in C (SimH) and a Java display.
Both communicate over an network interface, written with RPC
(
https://de.wikipedia.org/wiki/Remote_Procedure_Call)
RPC is a 1990's technic, so very fast on today machines.
if you look at
https://github.com/j-hoppe/BlinkenBone
you find the Java sources at
projects/09_javapanelsim,
and the image directories (example for the PDP-11/70) at
projects/09_javapanelsim/resources/blinkenbone/panelsim/panelsim1170/images
The extensions on SimH-side reside in
projects/02.3_simh/4.x+realcons/src/REALCONS/
and as small extensions in scp.c and the *_cpu.c sources of the
simulated machines. Every change is marked with "#if USE_REALCONS",
so I know what to merge into new SimHs.
I do not use the "frontpanel" interface of SimH, as my project was ready
before this was introduced.
I confess my approach is maximal over-engineered, but I want to be as
good as possible, and I'm enhancing it since years.
best regards,
Joerg
Am 28.03.2018 um 14:19 schrieb Rob Jarratt:
Hello Joerg,
I am looking to do a graphical front panel simulation of a machine I am in the process of
building an emulator for. I am not very good on the graphical side and would love to
understand how this was done. Can you point me at the area of the code that does this
simulation, and can you offer any tips? For instance do you use photos of each
button/switch etc or do you draw them in code?
Thanks
Rob
-----Original Message-----
From: cctalk [mailto:cctalk-bounces at
classiccmp.org] On Behalf Of J?rg Hoppe
via cctalk
Sent: 28 March 2018 12:06
To: General Discussion: On-Topic Posts <cctech at classiccmp.org>
Subject: Photorealistic frontpanels for DEC PDP simulations under SimH
Guys,
there are updates to the photorealistic PDP-8/10/11/15 panel simulations for
SimH, code name "BlinkenBone".
* Added bigger images for 3000 pixel width screens.
* made PDP-11/70 panel behaviour compatible with the real machine
(after tests performed at the PDP-11/70 "Miss Piggy" at LCM in Seattle,
thanks to Rich Alderson & Josh Dersch).
Oscar Vermeulen's upcoming PiDP1170 replica will also benefit.
* Added Mike Hill's BLINKY animation as PDP-11/70 application.
* Optically enhanced the PDP-10KI10 panel:
Added rack background of the real KI10 at LCM.
* Merged with SimH code base from march 2018
* Some people want to reanimate a physical panel with "BlinkenBone" too, or
did already.
http://retrocmp.com/projects/blinkenbone/setting-up-a-blinkenbone-project
Finally I can supply the hardware, a tested set of BeagleBone Black,
BlinkenCape and BlinkenBoard.
I can't get the price below 200?, there's this penalty for manual small
batch
production (including some self-exploit).
Doc root page:
http://www.retrocmp.com/projects/blinkenbone
Download:
https://github.com/j-hoppe/BlinkenBone/releases
As usual, there are precompiled distributions for Win32, Ubuntu x86 & x64,
Raspberry Pi and Beaglebone.
Just unzip and start some of the shell scripts.
Enjoy,
Joerg