Back in the 90s me and some of my classmates made a 3 fingers robot hand with 3 stepper motors controlled with a intel 386 PC, via two parallel ports. We used darlington transistors instead of a motor controller shield. The programing was made in turbo Pascal. I was our graduation project :)
@@salvbri There were "Jewish Princess" jokes going around in the early 90s, I think the phenomenon even got on a front page of Time magazine. Also then, SJW was short for "single Jewish woman" in personals (which were just moving from print to online). It took me a while to figure out in the 2000s the "social justice warrior" abbreviation, and I was thinking "internet posters are sure bold about their antisemitism these days". I'm not sure if I was entirely wrong about that, either.
This could really only be interesting to people who weren’t around when it was the only way to control something. Par port controlled everything.. scanners, printers, EPROM programmers, row of lights, or whatever... then the beauty of microcontrollers was you didn’t need to run a whole PC to do some simple I/O unless the program is complicated enough to require it. Funny how the old way could become novel again. Still, I see no reason to rely on any OS and it’s APIs to run such a program. That’s a whole bunch of junk to potentially make something unreliable.
Yeah, nice that people think about how to reuse old hardware, but this is definitely one of the many ways where it doesn't make sense, mainly because of power usage. Only way I know is to get all old harddrives together and build a file server just for backups which you don't start often, but then I would go down to Athlon XP or similar, something that is just fast enough for Network but doesn't use too much power and so the board doesn't play a big role compared to the power usage of the harddrives, but seriously have no idea what to do else with old pc hardware except of harvesting parts from it.
A PC's printer port is pretty resilient but make it a habit to use a resistor for each LED to limit the current that goes through it. Not only makes sure you printer port lives long but also your LEDs. Also having all the LEDS on at the same time and all of them using current even with the resistors can damage the printerport. On motherboards this printerport is often integrated in one of the big chips and you don't want to blow that one up. Probably your keyboard/mouse will also stop working, maybe even more. Best solution is to use a 'buffer' chip like a 74HCT541 and lookup the source capacity of the pins in the datasheet. Often it is around 30ma for each pin, but also about 150ma for all pins combined. At least when you do something wrong you blow up this buffer chip (a few cents) and not a part on your motherboard (10's of dollars or even difficult to replace). So have fun, but don't forget the basic I=E/R (current is voltage divided by resistance.) :)
Yes I was thinking the same, a buffer chip or individual transistors would definitely be a good idea & if you want to be really careful about protecting your old faithful, a set of opto couplers as well ! :)
Great video, thanks for the nostalgia. Two suggestions: 1) Use the TIMER variable. It counts milliseconds. In GW-BASIC: 1000 REM Delay - can be down as low as hundredths of a second 1010 CURR = TIMER 1020 IF TIMER < CURR + DELAY THEN 1020 2) Use the power rails on your breadboard. You could put the LEDs in to the breadboard with the cathodes (shorter leads) in the blue (negative) rail, and that would save you all of those jumper wires going over to the right side of your breadboard. It would also be a bit safer to use 360 ohm resistors in series with each LED; those could go across the trough for each column of the breadboard that has an LED.
I did this exact thing in 1987 to control X-Y tables used in production in a laser machining lab. We upgraded to a Centent CN0170 after some issues with repeatability and speed ramping. Within its limitations, it was cheap, effective and versatile.
If you connected all the led's to the -ve rail on the breadboard you could have saved heaps of wires and some time as it would have put those legs in parallel.
LOVE IT !!!!! I grew up with old XTs, then later learning DOS at University doing Mechanical Engineering and using GW Basic and then Fortran about the time that 486DX4’s first came out. The Computer Lab at Uni had 386s for student use and the mainframe was a DEC10. Massive in physical size!!!! My first hard drive had a 20 Mb capacity!!!!!!!
Ah, the ol' Seagate ST-225. I installed a lot of those back in the day. I remember when the ST-4096 came out - a full height 80MB HD. The thing was a brick.
I have liked this decision, but it have large size and low energy efficiency for system of automation. But I think, this idea is great for teaching. Great work!
Back before we had access to DACs, I remember toggling the cassette relay on a BBC Microcomputer at different rates to achieve a basic form of PWM to make music with different toggle frequencies. LOL.
For some reason this video was suggested for me, and I'm glad! I appreciate this is an old(ish) video but still worth commenting on. As others have said, use a buffer or logic IC when interfacing a parallel port as that was how it was designed. It is also possible to use serial ports to achieve the same thing, but it's more complex electronically. Watching this reminds me of a parallel port project I bought years ago that had eight relays in it and you turned the relays on by sending the appropriate characters to it. It was simple to control in that even a DOS batch file could 'print' a control character to it. In this way it was possible to have DIY peripherals turn on or off when a certain program was started with a batch file. The main point of all this is that it was so SIMPLE to interface to a PC in those days! The parallel port is very simple, as is the serial port, and data can be sent from the command line without ANY drivers needing to be loaded. The USB port, by comparison, is an absolute nightmare because so much is required just to do the simplest thing. If you want to try and interface directly then, basically, forget it! If you don't mind using third-party ready-made electronics then there are USB-to-Parallel and USB-to-Serial interfaces that may help provided you can sort the appropriate drivers out for these interfaces. The old parallel and serial ports may be more complex electrically and not even provide any power but they are simple to use in software, whereas USB is the opposite in that it is (relatively) simple electrically but far more complex software-wise. Fortunately, the are a few add-in cards that will proved serial or parallel ports properly, as well as a few modern motherboards that have a serial port on them (even if it is just a header for a wired port).
I wish I would have learned this when I was a kid. Basic is the perfect language to teach programming to beginners. The sintax is simple yet robust enough to do many complex applications. Thanks for the video.
I look back to when I was a kid and wish I'd had a subscription to BYTE or one of the other computer magazines, because I had oftentimes wondered if this was possible on my Commodore. I would have had a blast with it right up until I shorted out the user port and fried the computer. Hrm, now that I think of it, maybe it's for the best that I didn't... I don't really agree about BASIC, though. Doing simple things in BASIC is easy, but doing complex things is BASIC is much harder than languages that have things like call stacks and dynamic memory. I'm not a Python fan myself but that's the language I usually recommend for beginners - it's true to the "spirit" of BASIC, and when you need more advanced functionality it's there for you.
Instead of wiring all the cathodes of the LEDs in parallel you could have used the power rail of your breadboard. Also LEDs need resistors in series...
Kaustuv Akash the cathode sides of the led’s are already wired together. You just need to wire the anode sides to be able to control each light individually. Doing this wouldn’t change the circuit really, it would just save time.
1:07 REALLY wanted you to jump-cut to the motherboard starting to boot with the screwdriver still lying on it, and just continue the video as though nothing strange had happened.
Clueless people commenting: "I keep throwing my screwdriver on my mobo and I can't get it to boot. I even tried different screwdrivers... no luck. Should I hit it with a hammer?"
Lenard Segnitz: YES Lenard Segnitzthe hammer idear would be good and what happened after that you would not be back here on you-tube commenting...........
way back when pcs had the horrific ISA slots you could get proto slot cards. i remember maplin electronics sold an isa projects book that worked using qbasis. if i remember correctly yoy can also use some of the parralell pins to up the anti to bi-directional transmission. so you have input and output.. i think maplin also did an RS232 projects book.
Such prototyping cards were available with PCI, too, but they needed a PCI bridge for the protocol and speed and presumably, were too complex to reach for amateurs, so they went the whole way to FPGA solutions for development or low unit count, for companys without fabs.
My dad used one of those to make a card to control a small pipe organ. It all still works. The closest thing today is FPGA dev boards on a PCIe card with lots of different I/O. literally 1000x more expensive however!
Fantastic video! Glad to see someone keeping it real with discrete components, rather than some off-the-shelf Arduino garbage! As for the delay issue, instead of the annoying "beep" statements , you might try setting a variable to some low integer value, such as "Del = 10", then replace each beep command with "For X = 1 to Del: Next X". That way, you get good control over the speed (not to mention peace and quite), just by changing the value of the "Del" variable. Thanks for the terrific vid - I look forward to seeing more of your fine handiwork! Cheers!
WOW, you reinvented something that was hot topic 3 decennia ago.... Made some stuff myself in the eighties but it lasted not til today. Idea is simple if you have an old pc laying around. Try to make a relais setting and switch some devices at home on and off, like 1: startup the coffee machine, 2: turn on the radio/cd whatever suits, 3: turn on the lights and wake up with the smell of coffee, mmmmm (-:
If you'd used a DB25 connector, you could have kept the cable intact. I used to use a similar method to control relays from the parallel port and did temperature sampling using some 1-wire sensors and a PIC via the serial port.
I just acquired an old pc that fits this description perfectly. I would really like to see a lot more project specific tutorials, so I can choose one to best fit my interest.
You could also get an old parallel port ribbon cable riser and plug into that. That's how I have my buffered break out board setup. I cringed a bit when he drove the LEDs right off the parallel port. There's no spec for how much current a parallel port can source or sink. Believe me I looked. Although you can pretty much count on getting a few milliamps out of each line. At least 3 ma. Past that you're living dangerously.
i found a new life for that (those'(2)) motherboards, i had a lot of fun programming the USER port on my C64 and getting to use QBasic, gwbasic was a new learning curve, now you've upped my interest in this idea, i use my old boards again . .....cheers and a big thank you, Arduino can sit on the side for little bit
Back in the 80's hobbyists used the joystick ports on their Atari and C64 to do this. If I knew then what I know now, I could have built much cooler stuff.
if i got this video in 1995 i dont trashed my obsolete computers we have now 10g 3$ atiny85 and the 10$ esp32 more powerfull than old 8086 8mhz 512k who remind the tape recorder memory storage
Joystick ports were input only. Also, using ports as outputs on the C64 will drive you to a complete mess, the port being scanned every interruption for the keyboard.
@@glennleader8880 what a waste myself i sweared at the amiga500 and my parent drived me to amstrad pc against all my wish but they did the good choise of text versus video and sound tought it disgusted me of the programation until arduino
@@ugh.idontwanna That depends on speed, BASIC is slow AF but good for learning/prototyping. C or C++ would be faster by a massive margin, at the cost of slightly more difficult code.
@@alexrawson8492 -- If you can't handle 'C', you shouldn't be wanting to work with microcontrollers in the first place. Of course, when *I* first started writing stuff for microcontrollers, your only choice was that particular microcontroller's assembly language. Having to program in BASIC though? Yeah, it *can* be done, but you'll feel *dirty* afterwards... Like crawling around in hog shit...
Yes, there was an 'automation/control something' life before Arduino was invented ... and todays 'Makers' were even born... ^_^ .... older people (tm) like myself know and fondly remember these times... thanks for this vid!
Man, just got it in my notifications. This is exactly my setup when I first time started programing. Qbasic, on very old laptop without even soundcard in late 90s. It was so much fun. Funny thing is that the whole IDE and space for programs was just single floppy. Nice video!
excellent! only a little recomendation: when soldering to male pins like that, insert a female strip first (or a breadboard), so the plasticdoesn't bend. Make sure to not insert them all the way in or the female part could melt
I used QuickBasic back when it first came out (1990) to program Star Trek games and mess a bit with databases. This video isn't much of a functional "wow" thing, but it's pretty interesting in a historical and educational sense. Now if you actually had QuickBasic(and not just QBasic) you could compile your code into an .exe file and that stepper motor would be hauling some serious butt. Cool video! (Edit - I'm assuming that you may not have the full QuickBasic, but if that's what you're using, give the compiling a try)
Some great info here! I'm a LONG time, original QuickBASIC fan. Today I learned about FreeDOS and a good use of the parallel port. Well done! I have thumbs-up and subscribed!
@@eduardoavila646 the problem was the PSU Old amd socket a drew a lot of 5V power, I discovered that the 5v rail gave 20amps! Apart of socket a, i also got 478 motherboard too Both seems to be working with only socket 478 cooler has a bit of problem
Nice video! I did similar around the turn of the millennium. I used the box (486 computer) and Visual Basic 4 DOS. The syntax is very similar to FreeDos. Since I didn't have the printer cable anymore, I got me an RS232 plug and soldered wires on it. To protect the printer port, I used TTL NAND chip 7400. I gave up since using the Arduino is more convenient.
back then, we used a simple loop to check how fast the processor was: TIMER ON ON TIMER(1) GOSUB exitcpuspeed DO speed# = speed# + 1 LOOP exitcpuspeed: TIMER OFF that gives us a number of how many do-loops your computer does in one second. then you can use that loop to create a finer resolved timer: DO dummy# = dummy# + 1 LOOP UNTIL dummy# > (speed# / 10) that gives you just a little bit over 0.1 second delay - because you put a few cpu cycles extra for the comparison into the delayloop
I remember DOS games that were written with timing loops that way... They quickly became unplayable when the IBM PC/AT was introduced since it was 6 times faster than the original PC... The game Centipede wasn't a slow crawl anymore, it was a very fast race to the bottom... People actually developed TSR programs that would take processor cycles to slow the PC down so that the old games could be played...
@@jakeblanton6853 it doesnt matter how fast the processor is. Timingloops always work as long as the number fits into the variable Check my code. It checks te cpu speed and takes that as a base
@@TechTomVideo -- But that wasn't the way that timing loops tended to be used back then since the developers did not tend to take into the account that the processor speed by eventually change. Basically, the developers figured that there was just one type of PC and it ran on a 4.77 MHz 8088, so all PCs ran the same speed. They started to get an indication that was an incorrect assumption when a couple of the PC clones came out with 8086 processors (which I remember being 8 Mhz, but I think some 10Mhz might have also been around). It's been a long time and my memory is a bit hazy about the specifics. Although the 8086 was developed first, the 8088 was used for the original PCs because of it being cheaper to create a PC from it.
@@jakeblanton6853 please try to understand my code. Your argument doesnt make sense here. We were timing steppermotors and cnc machines that way and the programs worked as long as tere was any DOS available because you need single task realtime.
This takes me back to the 80's early 90's. Many hours tinkering with LED's and the printer port. The bit I was happy with (in 90's) was with my Amstrad CPC 64, (upgraded to 128k, woop woop!!), peeking and poking into games and the like. And the other, an Amstrad PCW, 256k memory, was my hero PC when self employed back then. Today though, much so easier with Arduino / Raspberry PI, but still enjoyable.
Huh, this video popped up after i was looking for info on system speaker. I had this idea of using PC as a microcontroller, glad to see it in action. There's so much potential in this, no uC can get even close to a system with OS installed
You can literally make an Arduino with a couple of dollars worth of components and run it for months or even years off of a cheap lithium cell. The ESP8266 is rarely utilised even close to its full potential. If you want to waste money and resources unnecessarily for a lack of wanting to learn something different that's your prerogative.
At the same time there's so much a full pc cannot do while a $2 Arduino does it flawlessly... Also the power consumption of an Arduino is typically bellow .5 watts while such PCs will be well above 50, sometimes even higher, really limits the cases where a 1000x increase in power consumption is worth it for slower performance in most cases. The microcontroller allows very low level access, this tries to do something similar but is severely limited in its capabilities sadly. If you need the performance of a pc but the electronic benefits of a microcontroller: combine the two... Setup a UART/RS232 or use the ESP with wifi to get the two to communicate, this is how it's already been done for ages because it makes much more sense than this approach which is slower, limited and rather backwards even.
I'd forgotten the old parallel port. I used it to control a speech chip for my final year project way back when I was a student. Really enjoyed your video. Who cares about their electric bill when you can have this much fun.
comments are hilarious, people crying over a free cable (since they are no longer needed), over the electricity bill (while air cond or heating is ON), comparing PC with arduino... :)
XD there are a lot of reasons why i think this would be rather odd for application, but i do think this is a great video and honestly it is a great way to get people out of the mentality that an arduino is somehow unique. I/O is a constant in computers, it exists on all levels, even electrical XD. I do think... the size, overall power draw, and normally not accessible(if you have a unused old pc sure but most people don't... although i do.) aspect of it makes it rather abnormal. XD .... but I have seen other channels do stuff like this, like the 8bit guy. I mostly would be put off by the size, the power draw would also be a factor but if i needed something that could push power to third party units or needed a lot of IO i could see using this if it was sitting around and I didn't want to wait... although i would have just used jumpers on the pins on the end of the cable XD nothing wrong with cutting it and making it work differently.
@ PCs like these draw around 100W I think. Let's say 150W just to be sure. If you use them 10 hours a day, that would be 1.5 kWh per day, and 10.5 kWh per week. A Raspberry pi costs $35. That would mean you're paying $3.3 per kWh and idk where do you live that has such high energy costs.
I have a kill-o-watt meter and my conclusion is: you can use a old laptop (with the screen off) for a server..... The power that use range from 8 watts for an atom cpu to 25 watts for core 2 duos that start with a P, to 35 watts for core 2 duo that starts with a t. If you use a processor that is an i3, i5 or i7 that has a U in the processor name then it will use as low as 15 watts but will have 10-20 times the processing power of a raspberry pi. They scale.. when not in use their cpu draws less power. I forgot to mention some celerons that have very low power draw. For example I have a small cheap laptop g40-30 (or is it g30-40?) That draws very little power. You can find laptops that are free or for very cheap that might lack a battery or have missing keys or a cracked screen.. but you don't care about that stuff since you can use it through vnc or remote desktop
5:46 The 6th LED doesn't light up. It looks like a screwdriver or something must have fell on the computer. It couldn't be a rock, that would caused 2 LED's to go out.
Nice. That's how I started connecting electronics to computers. My pride back then was creating a text display with only eight leds by scanning through a matrix of "1" and "0" (yes, strings. didn't know better then^^) and moving the parallel cable with the leds really fast. Always dreamed of converting an old printer into a scanner but never got that far until quite suddenly the knowledge increased past that point and I knew I could do that but it didn't seem interesting enough anymore.
This is a cool thing to do with an old PC. I was doing this back in the 90s on my production machine and it taught me a lot about using computers to control mechanical processes.
This guy makes a good point, I want to create a production line that’s fully automated and considered esp and arduino varients as well as other SBC like Pi to operate PLC actuators belts for a full autonomous production facility employing 0 or the least people but the one problem always arises, no way of securing it since you can’t configure a zero vulnerability effected system but I have several old but hood boards I can configure to be 110% air gapped making it zero connected to the web , since there’s tons of information on them being old it makes it alot easier then using new boards which are extremely vulnerable to things like cyber attacks. Great video.
Computer boards arent that great for an industrial enviornment depending on what you have. If you have an old server motherboard with ECC memory that would be a lot more stable than a regular PC board. Look at Delta PLCs or automation direct PLCs, that would be a better option depending on your budget. But if you really want to use a PC motherboard I would recommend looking at old server. They are built for non-stop operation and have bios settings that are helpful, like automatically booting back up after a brown out/power outage
@@SciCynicalInventing I don’t know about that. A custom cheap case anyone could even make which in my case would be lead enclosure vented and filtered to protect against hackers trying by any means like RF sniffing all hard wired to DIY programmable logics shielded wire since those can also be easily sniffed for data if unprotected and a host of other apparatus makes it doable , programming pics aren’t hard anymore and since a lot of old systems of various types still have PIC chips in them which are easily recoverable and recycled it’s easily affordable to build from the floor up, just takes planning.
I did just that at the 1994 science fair at school ..... but I automated a race track with counting ... I also used a toy crane ... I used a card reader to access people .... .all done in basic
Interesting... reminds me of where I left off with the Zenith and Packard Bell's we had. Then tried to keep the stalkers away, though only bought the books, played a little video game work and just work as much as I can mind. Bought em those first years in college era, though still have em to read... Programming the Parallel Port: Interfacing the PC for Data Acquisition and Process Control and Parallel Port Complete are around somewhere where the later is the OG on the bounce back, albeit brief while I was still in school and not haunted by a fearless remote sensing stations concealed wireless assault weapon operations operator idiot that wanted to be in that house.
this basically addresses something I was always wondering about and now I know its doable. I always thought couldn't the pc just output signals but not by way of a microcontroller but just directly off some pins somehow? This says yes!
@@1pcfred : OK ... what are you rambling on about? Where did I *even remotely* say otherwise? I guess this is my fault for not using full sentences, so let me restate the whole thing all at once for you. LinuxCNC is based around the concept of using the parallel port to control the electromechanics as directly as possible. This is in stark contrast to most other CNC systems, which use some other SBC (single board computer) between the CAM (computer-aided machining) computer, and the electromechanics. I hope this clears up your misunderstandings?
@@JustAnotherAlchemist you are not entirely right. LinuxCNC does not care what interface you use. There is a company called MESA Electronics that makes hardware that supports Linux and it plugs into the PCI bus. MESA boards run up to 50 MHz pulse streams. MESA boards also have 50 or more I/O lines. Let me state for you that I have been using LinuxCNC for a long time. Since back in the BDI days when it was called EMC2.
Looking good, BUT: microcontroller (like Arduino for example) gives you GPIO's and more: ADC's, I2C, SPI, interrupt pins and more, which is not available on parallel port. Without deeper view (schematic maybe) of your mainboard you won't have a possibility to play with more advanced topics. Blinking LEDs, yes, but how long would you be happy with it? More useful project for this PC would be to install some linux and learn something then. And in current prices and availability of cheap prototype boards (Not only Arduino, try STM Nucleo series or TI Stellaris launchpad) this may be just a kind of day or two days project.
In fact if you use some Level Shifter (12 to 5 v) you could use some arduino modules, something that occurs to me that would be possible is to use the a4988 modules to create a 3d printer commanded by the parallel port. (sorry for my bad English)
I never even thought of this. I used to do this sort of tinkering when I was back in the DOS days. Qbasic was my first programming language. This is a great place to start for the beginner.
I never thought of it like this. I have a lot of old computers lying around, and now maybe I could give them jobs! Maybe have some if/then situations with sensors and servos?
So much waste of computational power though. Throw a lightweight linux distro into the pc and make it a fully functional computer. Arduinos' are pretty cheap. It is not worth doing it except for educational and experiment purpose.
@@geovani60624 Then either you have incredible luck or you're doing something wrong with those arduinos ;) These pc's are at the end of their life in terms of wear and tear, the power supply usually being the biggest issue here... They're just waiting to break down while the Arduino will just work for decades unless you mess up the wiring and fry it, which can also happen here...
Thanks for all the comments that guides your primitive way to use things in a right way, the world is full of good, polite and informative people ❤️. A pattern in this video reminds me of StyroPyro channel or something like that.
I have definitely gotten PCs for cheaper than even far eastern counterfeit Arduino boards. Although the PC I run my CNC machine on I paid the princely sum of $6 for. It is a dual core 2.5 GHz model.
Popped into my recommended. I used to use my PC to control projects I built years ago. You can use the serial port if you have feedback you want the computer to use. It was great fun. Nowadays I'll use ESP32's and relays to control stuff in my house.
Nice Video which uncovers the basics of computing- what MS Windows is disguising. BTW, I bought me a 25pole plug for the parallel port. Further I am using Visual Basic for DOS to have a graphical interface (coding is like QB). When you need inputs (4 are possible) you have to dig deeper into the parallel port programming. For an analog input you make it like in Apple2, you use a 555 and measure the time on an digital input (I never tested it).
I used to use Turbo CNC in conjunctuon with s parallel port to control a 3 axis CNC machine back in the day... ut worked very well and all i used for a driver were IRLZ44 mosfets straight off the port pins
I remember doing this kind of stuff as a kid in the early 90s. It was so hard to get any useful information back then so it was a lot of trial and error.
I have been waiting years for someone to show me how to do this.............. Now how about showing us how to input data the same way instead of out put, this will also be very good, also use the serial bus to do so in another video so I could get a computer to switch devices ON/OFF in a next room ......... {{ "A VERY NICE VIDEO" }} I LIKE IT.........
of course, there are many applications for an old PC and using it for build usefull things is a smart move. Having said that, it will never be a match for the cheaper, smaller and energy-saving arduinos e Pi's.
this is so cool. i love to experiment with electronics but some of the components are either unavailable or too expensive to buy. this video might help people with limited resources like me. keep it up!!
I absolutely love the part where it's just a PAINFULLY SLOW Turtle crossing an empty 4 lane highway.. I'm sorry, that was just a video of a Ford Mustang sped up 100x.. It's easy to make such a mistake since both scenarios look almost exactly the same, minus MAYBE one or two teeny tiny differences. Hardly noticeable tbh... I just don't understand how the Mudstain..err, I mean Mustang, could have come in Second Place? He was the only car on the track.. *sigh* I hope that everyone had a day every bit as amazing as you are confused after reading the first half of my message lol. Much love and respect from Indiana, USA sir.
I like your thinking. Never understood the PI concept and I have ARM devices from the 90s running on 2 AA batteries. I played with a printer back then and the serial port is fun as well.
Funny. I was just playing with qbasic yesterday. You don't need to chop the serial cable if you just buy a serial breadboard connector. Also in qbasic people use for loops and nested for loops to make short delays. If you really want to understand this though, assembly is still your best bet. I don't have patience for ASM, so I'll stick with C
The high calculation power of a PC prozessor is really usefull for some projekts, i hope there is a pcie solution for newer PCs that can be used within the OS
making sacrifice of a parallel cable is not the way I choose. I got some DB25 M to F cables (from SCSI scanners or ZIP drives) and I use male DB25 connectors soldered directly to my circuits.
To make this more practical, power usage wise, The motherboard VRM could be modded to undervolt therefore saving power and the power supply could be swapped out for something like a pico psu and laptop charger.