Coder Shah Posted July 12, 2020 Posted July 12, 2020 Hi, Compiled a list of RCX resources and links here: https://lehubbycodershah.blogspot.com/p/rcx.html Have fun! Quote
Toastie Posted July 12, 2020 Posted July 12, 2020 7 hours ago, Coder Shah said: Compiled a list of RCX resources and links here That is very nice! However, it is not necessary to install "Virtual Box" for most of the programs you have compiled. See here: https://www.eurobricks.com/forum/index.php?/forums/topic/157550-lego-history-programming-20-years-old-mindstorms-rcx%E2%80%99-on-modern-computers/ Best, Thorsten Quote
Coder Shah Posted July 13, 2020 Author Posted July 13, 2020 (edited) 5 hours ago, Toastie said: However, it is not necessary to install "Virtual Box" for most of the programs you have compiled. That is a fantastic and detailed guide for Windows 10 users! But I use a Mac running macOS 10.15 Catalina, so unfortunately I do have to. Edited July 13, 2020 by Coder Shah Quote
Mr Hobbles Posted July 14, 2020 Posted July 14, 2020 One other thing to add to this: there are a couple of projects actively maintaining NQC on modern systems. I've used https://github.com/BrickBot/nqc just this week using the USB tower on macOS Catalina with no issues. :) Quote
Coder Shah Posted July 14, 2020 Author Posted July 14, 2020 2 hours ago, Mr Hobbles said: One other thing to add to this: there are a couple of projects actively maintaining NQC on modern systems. I've used https://github.com/BrickBot/nqc just this week using the USB tower on macOS Catalina with no issues. :) Excellent! Thank you! Quote
Toastie Posted July 14, 2020 Posted July 14, 2020 3 hours ago, Mr Hobbles said: using the USB tower on macOS Catalina with no issues @Mr Hobbles, that is a very nice project!!! However, I was more aiming at getting all the old software to run on Win10, 64 bit. Catalina is 32 bit, isn't it? If not, would you have a link to the 64bit driver for the USB tower? I searched quite a bit at various places - to no avail. There apparently was such a driver shipping with Robolab or the like, but again, no find. Best Thorsten Quote
Tcm0 Posted July 14, 2020 Posted July 14, 2020 1 hour ago, Toastie said: @Mr Hobbles, that is a very nice project!!! However, I was more aiming at getting all the old software to run on Win10, 64 bit. Catalina is 32 bit, isn't it? If not, would you have a link to the 64bit driver for the USB tower? I searched quite a bit at various places - to no avail. There apparently was such a driver shipping with Robolab or the like, but again, no find. Best Thorsten You can find the 64 bit windows usb driver at http://www.legoengineering.com/rcx-usb-tower-support/ BTW linux has a driver integrated into the kernel (although it needs some permission tweaking). Quote
Toastie Posted July 14, 2020 Posted July 14, 2020 (edited) 9 hours ago, Tcm0 said: You can find the 64 bit windows usb driver Well, sort of, isn't it? I found that resource during my search for a 64bit driver, but I was rather overwhelmed with what I needed to do. But: Now that you have pointed to this source as well, I will give it a try. So far, I downloaded the NI-VISA software suite, installed it. It indeed found the USB tower connected to my laptop, and it created an .INF file. Next step is to download some Win SDKs - actually I downloaded the Microsoft Enterprise Windows Driver Kit so be able to create and certify a .CAT file. I am struggling with that, but I'll go on and do my best. I believe the issue is the certificate required for Win10, is that true? (Otherwise, the driver itself could be put somewhere for download ...) Best Thorsten Update: Did all that - generated .inf file with NI-VISA, created cat file with the MEWD (12 GByte ...), created a personal certificate and placed that in the Trusted Certificate Whatever Root Whatever, certified the inf/cat with the.cer file generated. All said: Success. Installed the .inf file: There was a memory error. Will do that again - maybe I missed something ... Edited July 14, 2020 by Toastie Quote
Mr Hobbles Posted July 14, 2020 Posted July 14, 2020 (edited) 8 hours ago, Toastie said: @Mr Hobbles, that is a very nice project!!! However, I was more aiming at getting all the old software to run on Win10, 64 bit. Catalina is 32 bit, isn't it? If not, would you have a link to the 64bit driver for the USB tower? I searched quite a bit at various places - to no avail. There apparently was such a driver shipping with Robolab or the like, but again, no find. Best Thorsten Catalina is 64bit, but I’m afraid I’m unfamiliar with how it works with the USB tower. I assume no driver is required on macOS and the NQC binary speaks the protocol natively, but I’m not sure. I certainly didn’t install any. Edited July 14, 2020 by Mr Hobbles Quote
Toastie Posted July 14, 2020 Posted July 14, 2020 2 hours ago, Mr Hobbles said: I assume no driver is required on macOS and the NQC binary speaks the protocol natively OK, but then this suggests that the USB tower is much "more generic" than I thought (IR/VIS light conversion and then using an USB virtual com port), isn't it? I mean, why should Apple make something specific for an almost 20 years old rather special device? I believe NQC is just doing plain serial com port communication - it does that with NXT via Bluetooth communication as well. Oh well. Best Thorsten Quote
Mr Hobbles Posted July 14, 2020 Posted July 14, 2020 (edited) 46 minutes ago, Toastie said: OK, but then this suggests that the USB tower is much "more generic" than I thought (IR/VIS light conversion and then using an USB virtual com port), isn't it? I mean, why should Apple make something specific for an almost 20 years old rather special device? I believe NQC is just doing plain serial com port communication - it does that with NXT via Bluetooth communication as well. Oh well. Best Thorsten I don't believe Apple did anything specific for it either, so I took a little look at the NQC codebase to see how it's doing it. It looks like it doesn't use drivers on macOS - it opens a IO file to the USB device and speaks the raw protocol, sending and receiving bytes and interpreting them, bypassing the need for a driver since it does all the work. On Windows it looks like it has a header file that maps to the functions in the driver. As a result the macOS implementation in NQC has a lot more code, but doesn't need a driver. Edited July 14, 2020 by Mr Hobbles Quote
Toastie Posted July 14, 2020 Posted July 14, 2020 (edited) 1 hour ago, Mr Hobbles said: On Windows it looks like it has a header file that maps to the functions in the driver That is sort of going into the direction I understand the Windows driver model (WDM). When you plug something into an USB port on a Windows machine, something is going on - as judged by the thinking time and sounds. It appears as if the device tells Windows what it is. When the device informs Windows it is a plain vanilla HDI, all is good because these drivers are always there. The moment Windows does not recognize the device info, it simply asks or searches for a driver - even when it is just USB over a virtual serial com port. And yes - I believe this is the purpose of this WDM: Reduced the amount of code you have to write for e.g. I/O operation. When installing the 32bit USB driver on a 32bit Windows machine, you also get a little program that allows you to set things within the driver space/layer: time out times, buffer lengths etc. so that you don't have to deal with that when coding. As I have outed myself before: I am still using VB6 on this Win10 64bit Precision laptop. Using the serial tower (with a USB2serial converter including driver) all works fine, as VB6 talks to the serial tower through a) the VPBCom ActiveX control that came with the Mindstorms (RCX) SDK - and the driver for the converter. I don't see any of this during programming; I just call "findport", which gets the next "free" tower, serial only as the USB tower driver is not there, then "openport" the found port and then use the implemented methods to read/write (serial) e.g. characters. So I believe without a matching driver installed, the info from the USB tower "I am a LEGO USB tower" makes Windows to go into "gimme a driver mode". Tried NQC without driver installation - I just does not respond at all - even no error message. It simply does nothing. But this is a very luxury problem, as the serial tower with a USB serial adapter works fine. However, for some reason it really bothers me - mostly because the USB tower did also "speak" the VLL protocol (SCOUT, MicroScout, and Spybotics do that as well) as it has both IR and VIS LEDs/receivers on board. Oh well - maybe I get the driver @Tcm0 was pointing to running. I tried it before, but gave up because of the certification hassle. That really sucks - particularly when you have no clue, what you are doing - on the command line level. Grew up with that ... but well - it was easier those days, I must confess. But I'll try that again. Best Thorsten Edited July 14, 2020 by Toastie Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.