THIS IS THE TEST SITE OF EUROBRICKS!
Everything posted by alexGS
-
LEGO Interface A (9750/9771) – LEGO Technic Control 1 (TC1) reference/ideas thread
alexGS replied to Toastie's post in a topic in LEGO Technic, Mindstorms, Model Team and Scale ModelingI think the C64 LEGO Lines works similarly - it has a ‘loader’ written in BASIC that displays the title screen, but the main part is written in assembly language for speed. I’d never gone further with working out how the code worked but there are similar registers in the C64 for user port data direction and bit values. Well done for figuring it out, Thorsten :)
-
LEGO Interface A (9750/9771) – LEGO Technic Control 1 (TC1) reference/ideas thread
alexGS replied to Toastie's post in a topic in LEGO Technic, Mindstorms, Model Team and Scale ModelingThat’s Alex Lukazi - a different Alex. I’m Alex Shepherd :)
-
LEGO Interface A (9750/9771) – LEGO Technic Control 1 (TC1) reference/ideas thread
alexGS replied to Toastie's post in a topic in LEGO Technic, Mindstorms, Model Team and Scale ModelingLINES material was designed around set 1090 (never 9700) but the parts and concepts are similar (for example, there is an instructed washing machine build in both). 9700 has two switches and an optosensor, while 1090 has two optosensors. The instructions for set 1090 may be particularly hard to find online (if you want to make the exact models) but I eventually bought a physical copy. We can refer to Evan’s collection for programming examples. This teacher’s guide was the typical reference for LINES (versions exist for BBC, Apple II): https://archive.org/details/lego-lines-teacher-materials/page/n15/mode/1up The C64 LINES software that I translated (mostly) to English included four samples, WASH, BELT, and so on, which were provided in Dutch and I converted across. You could open this in a C64 emulator to see the programs https://archive.org/details/en-legolines_202112 There is TCLogo material in the collection, for both 1090 and 9700. This workbook has fairly complex TCLogo examples: https://archive.org/details/technic-control-i-resource-guide
-
LEGO Interface A (9750/9771) – LEGO Technic Control 1 (TC1) reference/ideas thread
alexGS replied to Toastie's post in a topic in LEGO Technic, Mindstorms, Model Team and Scale ModelingA razor blade (of the type used in a scraper) is the best tool for spreading the cross-cut pins. They should be a nice tight fit - particularly the 4.5V Technic motors tend to suffer from a loose fit, but by expanding the pins you will greatly improve reliability. This is essential in 12V train layouts too :)
-
LEGO Interface A (9750/9771) – LEGO Technic Control 1 (TC1) reference/ideas thread
alexGS replied to Toastie's post in a topic in LEGO Technic, Mindstorms, Model Team and Scale ModelingLol… And winter holidays? That’s a long time to wait - summer has just started on the 1st of December 😛 Seriously, good idea Evan, thank you for including me. From about 2pm onwards (your time) would be good here
-
LEGO Interface A (9750/9771) – LEGO Technic Control 1 (TC1) reference/ideas thread
alexGS replied to Toastie's post in a topic in LEGO Technic, Mindstorms, Model Team and Scale ModelingGood point! 😁 Evan has diligently collected all of the LEGO software and accompanying materials - in his Internet Archive collection - making them available for all to use, and yet - he seems not to use them himself, stating (on Facebook) that he works in AppleSoft BASIC. Evan knows my disappointment about that 😉 and how I am interested to hear why he would not use Lines or TCLogo. He is a University professor of computing, teaching hardware and software; highly analytical and I doubt I could ever change his mind. So I couldn’t resist the chance to point out here that the LEGO software is the ‘correct’ way, if we’re going to be pedantic about the hardware 😁 You are of course correct that BASIC routines were provided in the 9771 instructions (complete with the famous typo in the bitwise mask), but I still see that as a ‘hack’ because it doesn’t provide the framework for solving an actual problem - much is left to the reader, and four programmers would come up with four different solutions - there is no ‘right’ way. The use of LEGO Lines creates a quick, consistent, and easily-understood solution. It actually highlights the actions on the display as the program runs. TCLogo is necessarily more complex but still with a high degree of imposed structure, allowing for code re-use, and it is backed up by many examples in the LEGO materials. Logo went on to form the basis of Control Lab as well, where it was beautifully woven into objects such as buttons and text boxes. Personally I always find it odd working with Logo variables (using Make, and then remembering the reference colon seems to elude me) but I’ve managed to explain the operation of my functions at this year’s NZ shows quite easily; people can see how a complex task is broken into small steps (functions), and how variables are passed from one function to another. I think I would have a harder time explaining an equivalent BASIC program. Anyway - the important thing is to have fun, as you said! 😁
-
LEGO Interface A (9750/9771) – LEGO Technic Control 1 (TC1) reference/ideas thread
alexGS replied to Toastie's post in a topic in LEGO Technic, Mindstorms, Model Team and Scale ModelingAnd then, the only correct way to program it (ie. not just testing but actually programming a model) is to use either LEGO Lines or TCLogo, not any of the hacks with BASIC etc. :) Still, BRICK Lines does sound clever, sounds like it implements the programmability of LEGO Lines with the same conditional capabilities - I’ll try it out! If it is ‘code compatible’ with Lines but runs on modern hardware, that is surely a good thing
-
Dacta Control Lab Software
alexGS replied to Dazmundo's post in a topic in LEGO Technic, Mindstorms, Model Team and Scale ModelingI think the Windows 95 Control Lab software from LEGO is still the best choice, in terms of usability :) The Mac version doesn’t make full use of the display, being limited to a fixed window size. The DOS version is clever (looks like it’s emulating a Mac) but same applies, you run out of space on the screen fairly quickly when writing actual code and designing a button interface.
-
Dacta Control Lab Software
alexGS replied to Dazmundo's post in a topic in LEGO Technic, Mindstorms, Model Team and Scale ModelingThanks Lars, sorry I didn’t respond sooner (I’m on the other side of the world) but I see Thorsten and BPB have got here first with the right answers 🙂 I found a null-modem cable for sale locally but it’s also possible to make your own with a pinout like https://www.delock.com/infothek/Nullmodemkabel_RS-232/nullmodemkabel_e.html
-
Dacta Control Lab Software
alexGS replied to Dazmundo's post in a topic in LEGO Technic, Mindstorms, Model Team and Scale ModelingHello, welcome - you’re in the right place :) With the Interface B disconnected from a computer, the green power light should come on and not be flashing, the red Stop light should also be on (I just checked mine now). The Stop light goes out once the software has started and the Interface B is connected to the computer. To get the green and red lights on, I suggest first trying another plugpack power supply in case the one you have is failing under load. Older modems/routers often have AC power supplies (9V AC). The underside of my Interface B says 9-12V AC. I think the original LEGO power supply is the same as the 9V train regulator power supply of the period. You’re possibly right about the electrolytic capacitor that you mentioned. I’ve never seen a schematic for Interface B. I did have to replace a similar capacitor in one of my Interface As.
-
LEGO Interface A (9750/9771) – LEGO Technic Control 1 (TC1) reference/ideas thread
alexGS replied to Toastie's post in a topic in LEGO Technic, Mindstorms, Model Team and Scale ModelingThanks for the video link! I hadn’t seen it - the video is produced to a very high standard, well-edited, nice and concise, very clear (accent is pleasant to those of us overseas), no egregious errors in the technicalities that we know so well. This would be an ideal sales video for @evank ; he has some of these hardware/software packages available 😁
-
Control Lab sensors, wire replacement
alexGS replied to alexGS's post in a topic in LEGO Technic, Mindstorms, Model Team and Scale ModelingPerfect - thank you - that was my objective with this thread :) I wanted to help people make a neat job of cutting them open; my first efforts were a bit rough and I’d seen a video somewhere showing the use of a Dremel etc. My own need for repairing sensors became apparent when the rotation sensors became flaky during a LEGO show and stopped working reliably. It’s very satisfying to restore proper function, and I think they will all need repairing at some point. I really appreciate that you completed the information as requested by ‘1974’ with not just a link to the wire but a link to a guide for fixing the standard connector wires. That’s the strength of a forum! Sorry for leaving out that information - here is the wire that I use. I order the 26AWG 5-core (make sure size is correct and also choose Color ‘5p 10m’) so the wire with the white stripe can be removed - yields 20m of 2-way cable. It’s wasteful throwing away the unwanted wire, but there isn’t a way to order the cable without the white stripe on one of the wires. https://a.aliexpress.com/_mMnpxd8
-
Control Lab sensors, wire replacement
alexGS replied to alexGS's post in a topic in LEGO Technic, Mindstorms, Model Team and Scale ModelingThe early 9701 sets came with sensors having 104-stud wires (106 studs for the temperature sensor; the measurement includes the sensor body) and rather nice blue or yellow 2x2 connectors. Later 9701 sets had much shorter wires, I think because the light sensor and rotation sensor were shared with Mindstorms RCX. Later 9701 sets also included 5x 69-stud wires to extend the sensor wires. Occasionally it’s a nuisance to incorporate the extra 2x2x4/3rd-height connection in moving parts of the builds. I think from now on, I’ll make all the sensors with 104-stud long wires, even though I don’t have the coloured connectors. I suppose this will confuse historians like myself when sorting the sets, but the wire is not original anyway (original wires flaking apart are a real nuisance). What do we think?
-
Control Lab sensors, wire replacement
alexGS replied to alexGS's post in a topic in LEGO Technic, Mindstorms, Model Team and Scale ModelingOh - I get what you mean, soldering wires in the 2x2 connectors :) That would be a reliable solution and a good idea. I don’t actually do that for 2x2 connectors; I use the original crimp method, which works fairly reliably with this correct-size silicone cable. But even so, sometimes the fingers (cutting blades) in the connector top get bent over and don’t work - I just straighten them and try again. I think the topic of connector wire replacements has been covered quite well elsewhere; but I reckoned it was worth noting how to repair the sensors, since all but the earliest (shiny) wire is failing by now. The first few I cut open were a bit of a mess, but I’ve got better and I’m now doing all my sensors to be rid of the flaking wire problem for good. Cheers for your thoughts!
-
Control Lab sensors, wire replacement
This is probably only of possible interest to a few people - the name BatteryPoweredBricks comes to mind :) I nearly posted it on the Control Lab Software thread before remembering that it is hardware, not software. Also, this isn’t a post asking for help. It’s just an opportunity to share solutions (and learn any additional techniques that work) :) The ‘rotting wires’ problem will be familiar to anyone who collects Control Lab, RCX, Scout, or Cybermaster LEGO from 1998-ish. Interestingly the insulation disintegration happens even inside the sensor housings as you can see in the first photo… … so it clearly has nothing to do with sunlight, handling, cleaning products, or anything else - I think it is an unavoidable problem of the rubber-based material breaking down. The replacement wire I use comes from China as silicone-insulated 5-way ribbon cable with a generous number of tinned strands (I think it claims to be 26AWG) - nearly as much wire inside as the original. 24AWG would be even better, but make sure the outer diameter is the same - 1.4mm per wire - 3.05mm across two wires (original is slightly wider at 3.18mm). Here you can see a rotation sensor, a touch sensor, and a temperature sensor opened, with the replacement wires fitted. The light sensor (not shown) is similar to the rotation sensor. For all sensors, I find it best to slice the corners where the housing is glued into the grey base. You can see where the blue or yellow housing material is sliced off flush with the base. A sharp, new craft knife is best for this. The four or six tabs along the sides of the housings should usually come out of the base as you pry them carefully apart with a blunt kitchen knife (if you use a screwdriver, only insert it where the wire is, to avoid marking the sides). If you are very lucky, the cable retaining tab will come out of the housing with the cable (as it did here for the rotation sensor), but usually it will break off. To replace that, a thick cable tie can be cut into a short ~4mm serrated section that will press into the slot and hold the new wire securely. The new wire has to be soldered in. The silicone insulation helps, as it does not melt back when you heat the wire. It also helps to use desoldering braid (or a vacuum pump) to clear the holes in the tiny circuit board of the rotation/light sensors. For the temperature sensor, I don’t try to remove the soft grey potting compound, but instead tease out two pigtails of the original wires and solder the new wires to those. It’s neat enough, and the instructions say not to immerse the sensor anyway, even though the original construction was clearly designed to be waterproof. When you glue things back together with the superglue, be sparing, as you don’t want to create a big mess. A dot on the previously-sliced corners should suffice. I find those welding clamp pliers - Vise Grips with wide flat plates for jaws - very useful for holding parts tightly together without damage. Woodworking clamps wood work, too :D If I’ve missed anything obvious or could have done a tidier job, please add your suggestions to this thread :) Thanks for reading!
-
42160 Audi RS Q e-tron
alexGS replied to keymaker's post in a topic in LEGO Technic, Mindstorms, Model Team and Scale ModelingI found the same - calibration does not seem to work. You’d think it would measure the centre position easily, but no - always ends up slightly left. I think it’s more likely a software problem, since the responsiveness of the steering motor to the slide control seems erratic. It doesn’t ‘try’ to move much of the time, so maybe the calibration process is erratic too. I was really disappointed in the lack of drive power (forward and back) - but fortunately I didn’t buy it for being an RC car; I bought it as a parts collection and I’m not disappointed at all in the assortment of black-coloured parts at the price :) I paid NZ$259 which is €144, but I’ve just seen it even cheaper at NZ$235 (€130) although that has shipping to pay (I bought the last one in a local store).
-
A challenge! Lego 9750 "Interface A" hacking
alexGS replied to evank's post in a topic in LEGO Technic, Mindstorms, Model Team and Scale ModelingThanks for starting this thread - I’m watching with nervous excitement :) I don’t know anything about Pascal and the chances of finding those libraries seem slim, but at least we’re a bit closer to learning how the 1092 plotter was programmed in an old scan/photo I saw somewhere (where Pascal was shown).
-
LEGO Interface A (9750/9771) – LEGO Technic Control 1 (TC1) reference/ideas thread
alexGS replied to Toastie's post in a topic in LEGO Technic, Mindstorms, Model Team and Scale ModelingThanks for the idea, Thorsten :) Worth a try, using the 4V to supply the Interface A’s optocouplers instead of relying on parallel port control outputs. The laptop PCs that were having problems turning on the outputs were new enough to have USB ports, so I decided taking the 5V from USB was the easier ‘fix’; I think it’s electrically better to have the 5V coming from the PC rather than externally, but I could be wrong. There doesn’t seem much ‘rhyme or reason’, i.e. no obvious pattern to which laptops can turn on enough outputs or which laptops need this 5V boost. I was disappointed that my 2004 Compaq Evo laptop had difficulty where my 2002 Toshiba did not. I think on balance, Toshiba seems a good choice of retro laptop :) Thank you for your efforts to move the Interface A software discussion into a new thread. It was confusing me when I had email notifications about the Control Lab thread updates. Incidentally, for the sake of completeness in this thread, here is my document about the parallel port cable (trying to make it easy for anyone who stumbles into this). https://bricksafe.com/files/alexGSofNZ/interface-a-tc-logo/ParallelPortInterfaceAConnection.pdf
-
A challenge! Lego 9750 "Interface A" hacking
alexGS replied to evank's post in a topic in LEGO Technic, Mindstorms, Model Team and Scale ModelingIndeed - I think everything from this post onwards needs to be a new discussion, as it doesn’t have anything to do with Control Lab? I was confused :) There is Thorsten’s thread about Interface A, but it’s long already
-
LEGO Interface A (9750/9771) – LEGO Technic Control 1 (TC1) reference/ideas thread
alexGS replied to Toastie's post in a topic in LEGO Technic, Mindstorms, Model Team and Scale ModelingNice one, Thorsten - again, I really respect that you have developed the idea of the old software on modern hardware with a new USB interface as a workable solution :) And then; yes, writing one’s own software opens up all kinds of platforms and possibilities! An Amiga from the period has a parallel port, perhaps it’s possible to control with AmigaBASIC, I mean to try that. And someone gave me a Psion Organiser - a handheld thing that appears to include BBC BASIC and a number of I/O lines. I joined the dots and wondered if it’s possible to control Interface A with it; the two-line LCD is rudimentary, may not be worth the trouble ;) but it would be a ‘period’ hack… Then finally there’s the idea of using a RaspberryPi, with programming in Python or Scratch (a modern hack). Although at that point it’s perhaps easier to forgo the Interface A altogether and use modern motor controllers and IR sensors (something I’ve done already). -Alex
-
LEGO Interface A (9750/9771) – LEGO Technic Control 1 (TC1) reference/ideas thread
alexGS replied to Toastie's post in a topic in LEGO Technic, Mindstorms, Model Team and Scale ModelingHello Ry - sorry I’m late to the party (again) - not enough free time here at the moment, sometimes I have a lot and other times little (self-employed)… Thorsten has made a nice diagram above showing that there are different approaches, and he has done an enormous amount of work to test and refine the Arduino-based serial-to-parallel conversion for a modern PC. Meanwhile, I’d like to point out that the parallel cable approach (B) is still a simple way to go - IF you happen to have suitable old PCs lying around that have parallel ports and boot into DOS or Windows 3.1/95/98. My requirement is that it must allow the use of the TC-LOGO programming environment as described in the original materials (e.g. the Reference Guide downloadable from EvanK’s page at the Internet archive; search ‘vintage LEGO robotics). That’s why the hack came about; to allow TC-LOGO to run without the original ISA card. And the PWM (Setpower) still works, since that’s done in software as Thorsten proved. I happen to have a 1995 Compaq Contura 410/1994 Contura Aero (Win 3.1), 1999 Toshiba Satellite 4800 (Win 98), and 2004 Compaq Evo n620c (Win 98) - actually a couple of each - and these are all laptops with native parallel ports that work with the interface cable. The 9750 interface with the flat-top LEDs may require a ‘boost’ from a USB port to supply the 5V to the interface, which is easy on the latter two machines as they include USB ports. The older 9750 interface with round-top LEDs doesn’t require the ‘boost’. EDIT: I just tested with the Contura 410C and the flat-top LED interface works fine without the extra ‘boost’. So that’s still the way I do it, just a parallel cable without Arduino and without DOSBox (although I feel guilty for not using Thorsten’s solution!) I think it’s up to you to decide which path you’d like to take. I like collecting and restoring early laptops - 1994-era is old enough for Interface A in my opinion, even though it also works with Control Lab (Interface B). To quote a LEGO ideas book from the 1980s - “the most important thing is to use the bricks you have in new ways. Have fun!” -Alex
-
LEGO Interface A (9750/9771) – LEGO Technic Control 1 (TC1) reference/ideas thread
alexGS replied to Toastie's post in a topic in LEGO Technic, Mindstorms, Model Team and Scale ModelingHello Thorsten - nice work with proving the operation of the 1ms interrupt timer for the PWM - that explains how it works consistently across systems of different speeds. I think you will be successful in your quest to use the same approach from QuickBASIC (or QBASIC?) Thank you for your kind words about my ‘hacking’ - and for proving that the use of the port address in three places is (i) for testing the port, (ii) for outputs, and (iii) for inputs - I appreciate that. Meanwhile, I have had some difficulties with parallel port use on later laptops from the early 2000s, but since these usually have USB ports as well, I hope to try using USB to feed the (relatively hungry) 5V supply to the Interface A of the later type with the flat-top LEDs. I need to do a little more testing to check this solves the problem of not being able to activate more than two or three outputs simultaneously. The parallel port alone cannot supply enough current in this situation (it can for the earlier interfaces, or for earlier laptops). Last night I became aware of this rather-bizarre piece of new hardware: https://www.aliexpress.us/item/1005005528944178.html It has sold out already, even at the rather high price for what it is. You’ll notice that while it doesn’t have a printer port, it does expose the ISA bus - so could support a version of the LEGO 9771 card - check your post above for the typo under “PWM Signal Generation” ;) All the best -Alex
-
LEGO Interface A (9750/9771) – LEGO Technic Control 1 (TC1) reference/ideas thread
alexGS replied to Toastie's post in a topic in LEGO Technic, Mindstorms, Model Team and Scale ModelingHello Thorsten - you’ve done extremely well, I’m impressed by your work in checking the timing. I’m sure that 1ms timer resolution isn’t a coincidence ;) I wonder how those baud rate instructions can be added in to the TCLOGO program. Are you confident we can add assembly-language instructions, or should we just start it by a .BAT file instead? :)
-
LEGO Interface A (9750/9771) – LEGO Technic Control 1 (TC1) reference/ideas thread
alexGS replied to Toastie's post in a topic in LEGO Technic, Mindstorms, Model Team and Scale ModelingYes, exactly right. Using the original software allows us to ‘play along’ with all the original LEGO teaching material available on the Archive. For us the Arduino is just serving as an interface that works with a more modern PC. I hoped perhaps the use of interrupts for inputs might give some inspiration for how you might code the Arduino to catch the inputs - I haven’t really got my head around it all! :)
-
LEGO Interface A (9750/9771) – LEGO Technic Control 1 (TC1) reference/ideas thread
alexGS replied to Toastie's post in a topic in LEGO Technic, Mindstorms, Model Team and Scale ModelingHello Thorsten, Oh! That is interesting - I wasn’t expecting that serial data to work! So now there’s just the problem of inputs to solve, by having the Arduino ‘poll’ the inputs and send data back to the PC? Thank you for your work on this it will be great to have a solution for the newer PCs as well as the DOS dinosaurs.
Sponsored Links