As you maybe know from previous posts, I am a big Lego fan, I am especially a big fan of the Dacta (Educational) and Technic lines of Lego. Over the years I have collected many special and old lego electronics: Interface's A and B's, RCX's and much more. With those electronics came the desire to use them one day in something...
In that time I have purchased 5(!) IBM thinkpads, these included era appropriate x32 architecture machines (X32, T21 and later R60's) and a T61 x64 machine, all with the purpose of running the ControlLab software, designed to control the Lego Interface B's.
However I never was able to get anything to work, the X32 had win95 (the correct OS) but I never was able to install the software on it because of various issues, the T21 had win2000, a compatible OS (for the software) and I was able to install the software but for some reason it stopped working after 10-15 seconds (similar to the issue Nonsensewars have in there review video) after trying many things I gave up...On the T61 and R60's I also tried various OS's (win7 x32 and x64, win Vista...) but it never really worked or gave the same issue as the T21. Finally I tried on Linux with WINE and other compatibility layers but it didnt work then...
...and I gave up.
Recently I found a youtube video of a Britich man who was able to run the ControlLab software on a linux machine under the compatibility layer that is WINE. This made me wanting to try it myself.
Why Linux?We dont have a lot of options to run old software these days. Most era appropriate hardware is getting rarer, sketchy and more expensive. Setting up a proper OS for the hardware also requires more time, it is also getting harder and harder to find the appropriate drivers and whatnot.
Linux these days has solid support for windows applications. This support extends to older types of software, including our software.
Installing Linux mint1) Download the.iso from linuxmint.com
I downloaded version 22.2 'Zara' Cinnamon edition. Click the black download button, scroll down and find a distributor (in your country) to download from.
2) Create a bootable USB flashdrive
Now that you have the.iso you need to make it a bootable drive. For this you will need a program like BalenaEtcher (Windows and Linux). You need to select the usb drive, the.iso and click "flash".
If BalenaEtcher for some reason fails you can also use Rufus on windows only or Fedora Media Writer for Linux, Windows and Mac.
3) Install the Operating System
Installing the OS is very straightforward. If it is unclear you can always find hundred of videos on Youtube.
Some notable choices I made:
- connect to the internet => yes, not necessary for installation but it helps
- install multimedia codecs => yes
- erase disk and install Linux Mint => yes, this removes EVERYTHING from the installed drive! I recommend you to not install linux next to windows, windows can screw with your linux OS, especially win11
4) Configuring the Operating System
Linux Mint is already good as it is but now is a good time to set up the OS as you prefer and get a hang of it, it is not that hard, you cant really do anything wrong. Just download some software and play around!
5) Checking hardware
After the OS is installed and fully set up you can test if the usb-serial cable is properly working. You can do this by plugging it in and writing 'lsusb' in the terminal. You will see a list with all usb devices including the serial adapter cable.
6) Installing some useful software (optional)
Most software can be installed from the Software Manager itself. There is some software that I like to install on every (Linux) device I use:
- Mullvad webbrowser (mullvad.net/en/browser)
- Portmaster by (safings.io), it is a very good local firewall that adds extra protection and privacy!
- Flatseal to manage flatpaks you install
- Freetube and Grayjay to watch media on the internet faster and with better privacy
- Onlyoffice, an alternative to libreoffice, very easy to use
Now the fun begins!
1) Installing WINE
Installing wine itself is very straightforward, just as previously installed software you can find WINE in the Software manager of Linux Mint.
Be sure to install the "Windows API implementation - standard suite". WINE will be an easy to use terminal controlled application.
After WINE is installed you can costumize it by typing in terminal "winecfg"
Under "graphics" I changed screen resolution to 144 dpi, so everything is a little bit bigger.
useful WINE terminal commands:
- "wine explorer" or "wine file" shows a file structure like windows where you can view all installed files
- "wine cfg" a configuration window for wine
- "wine regedit" a registary editor for wine, similar to windows
2) Installing ControlLab and testing
Now you need to install the ControlLab software. You need the Lego Control Lab for Windows 95 software. just download the zip. Open the zip in downloads. Go to the folder where the "setop.exe" is. Now right click and "open in terminal". Then type "wine setup.exe".
Now WINE should do the heavy lifting and you should be able to install the original program on the computer. if the software opens in fullscreen the install can begin. Just click accept on everything until the software in installed, there is no need to change settings.
When the software is installed you will receive an error message that there are no serial port available or that they are all in use. Or that the software cant find any interface box.
The software should look like this:
Under file>preferences you should be able to select the "Interface connection" (COM port), there should be about 32 COM ports. In the next chapter we will fix COM1 so it works.
3) Configuring the USB passtrough in WINE
To be honest I am not really sure what changes are needed exactly. I just tried things until it worked. All recommendations were taken from forums or documentation.
3.1) check if you are in the dialout groupand adding yourself
Lets first see if you have complete access to all serial ports on the device. This can be done by opening the terminal, typing "groups [username]".
The terminal shows that I am in the "dialout" group, which means I have complete access to all serial devices.
Just to be sure you can easily add yourself to the dialout group. To add yourself you need to type "sudo adduser [username] dialout". If you are already in the dialout group you will receive a message saying so. If you are not in the dialout group you will have a conformation message that you have been added.
3.2) check via the terminal what the COM ports are connected
To see all the COM ports WINE makes available for our software we needs to first get to the correct folder in our terminal. To do so type in "cd ~/.wine/dosdevices/". Now we are in the correct folder. Then type "ls -l" this shows all the COM ports and what they are connected to.
Your list will have all yellow values, not red ones. Red ones are modified or added entries to the list. notice that the yellow values end with "ttyS##" and not something like "ttyUSB#". This means they have not USB access. The blue values or other folders or drives the software will have access to.
Do not close this terminal yet!
3.4) go the the ~/.wine/dosdevices/ folder in the computer
Just to properly set up our COM1 port we will have to delete our existing COM1 port. you can easily do this by going to your file manager in Linux and going to "/home/[username]/.wine/dosdevices", just like in the terminal.
COM1 will be 0 bytes big. Delete COM1.
3.5) make a new COM1 port
To create the new COM1 port we need to be in the terminal. If you accidentally closed it you need to open a new one and go to the correct folder by typing "cd ~/.wine/dosdevices/". Press enter and next to your username some text appears.
Make the new COM1 port by typing in "ln -s /dev/ttyUSB0 com1". press enter.
You can check the folder on the computer of a new file is made, this file shouldn't be 0 bytes. See the image above.
3.6) the registry edit
in the terminal type in "wine regedit" and press enter. then a window appears.
In that registry go to My computer>HKEY_LOCAL_MACHINE>Software>Wine>Ports. There you need to make a new string, name it "COM1" and give it a value data of "/dev/ttyUSB0". Then press ok.
3.8) reboot your computer and test
Just restart your computer. open the ControlLab software and test. you will receive an error message if the interface B is not plugged in into the right port. after you plug it in and restart the software there should be no error. You know the interface B is connected if there is no red light on it.
ConclusionFinally after all this time, many trials and errors and purchasing way to many laptops I have a working solution! I hope to use it in many projects. I will also see if this can be used to run other Lego software but that is for a different time.
Links and sourcesControlLab: https://archive.org/details/lego-dacta_202012
Nonsensewars video: https://youtu.be/YdOHWZ6IkAU
the british guy video: https://youtu.be/WDm06weHqIU
Linux OS: linuxmint.com
WINE compatibility layer: winehq.org



Comments