I saw this video yesterday -- cool to see it pop up here today.
I also watched this Defcon breakdown on hardware hacking where the presenter goes over the specialized tools to both mount the chips as well as the software to pull firmware at rest to reverse engineer it. Video: https://www.youtube.com/watch?v=Kxvpbu9STU4
YouTube channels like My Mate Vince, Northridge Fix, Necroware, and others show folks without any electronics degrees troubleshooting and fixing hardware and I just can't help but want to watch them and think about how fun it would be to get involved...unfortunately I already am at a limit to my hobbies.
The older I get, the more I enjoy thinking about EE topics and wondering where I would be today if I would have found out more about this discipline vs going a more traditional administration/IT route.
> The older I get, the more I enjoy thinking about EE topics and wondering where I would be today if I would have found out more about this discipline vs going a more traditional administration/IT route.
EE here. Not really about admin/IT. But I do wonder sometimes if I should have done software as a career. Mostly it's a grass is greener feeling when I hear about the high end of the salaries. But I do very well financially, the jobs are stable, and I write cool software to solve my own problems, rather than grinding on someone else's Jira tasks. I do lots of IT and computer admin stuff too, but also on my own terms. Setting up simulation clusters, remote hardware automation, development environments, storage, etc... so much so that our department hired a guy to take on some of that work.
Another EE here. I suspect that there is a lot of "greener grass" going on (oh look! I spy with my little eye, grass beginning with G). I've been doing software dev for most of the past quarter century. My current hobby is Eurorack synthesis and I build/solder about half of the items from DIY kits. The ones that I'm mostly into are built around STM32 microcontrollers (I threw out all my C/C++ books about 15 years ago - oops!).
I was a firmware engineer (now doing web development) and knew plenty of ASIC designers who wished they did software. They were good at what they did but felt the pay and opportunities were better in software development.
The projects I mention here are not clones themselves but ever cheaper PCB prototypes and microcontrollers make it a fantastic time to create hardware for old systems (e.g. ISA). Enjoy these examples:
there is PicoGUS [0], a Gravis Ultrasound emulation, a Raspi Pico based PCMCIA WLAN card [1], EDO/FPM RAM modules [2], "Snark Barker", a soundblaster 1.0 clone [3]...
If you want more electronics stuff, I suggest you follow the creators of these on Twitter.
Same thought I have. 15 years of SysAdmin and wanting to move on to something else. What boggles my mind in this video as example. Do the DOS drivers as an example actually communicate with the chips on the PCB, or are there firmware/data burnt on to the chips?
I'm confused in that what it looks like is all you need to do is design a schematic and place chips down on to a PCB and then write software drivers. I thought chips had to be coded too.
The card for the CD drive actually uses only stock logic chips but no microcontrollers at all and therefore need no ROM dump of an existing card to work.
You can find the list on the Github page of the project:
ISA bus is basically just quasi-memory bus with some extras. You get address, you either get data or send data, done.
You just set an address and write/read data to it.
All you need to do simple input/output on it is to
* wait for "right" address on bus and "right" pins to light up
* either latch the data, or output the data
* bang the right control bit.
It is entirely doable using basic logic chips, because back then any kind of programmable logic was super expensive.
Compare it to usb-c where you need tens of thousands of lines of code to even negotiate some power stuff (or use specialized chips... that have those tens of thousands of lines of code baked in).
The lines marked Addr are address lines, and Data are data lines. Things that appear readable/writeable to the CPU as RAM manipulate the MEMW/MEMR lines, and things that appear readable/writeable to the CPU using its "I/O port" instructions manipulate the IOW/IOR lines. I don't know the low level protocols used there but there is definitely one and why some simple logic chips had to often be added I guess (74SNxxxxx chips very common).
RAM basically does the same thing, as well as anything built in like the clock chip, keyboard controller, serial ports, floppy controller, etc.
One big disadvantage of ISA is that the bus when it was introduced had to run at the same speed as the CPU. When CPUs started getting faster than 8Mhz something was done to keep the ISA bus as 8Mhz, but not sure what.
The other big disadvantage is that this was intimately tied to the 8088 Intel CPU signal lines. PCI (and other things like NuBus and MCA) were CPU independent and required a chipset or other controller to interface, and that's where the complexity started to take off.
I damage my brain by scrolling Instagram reels (which are just TikTok reels) too much, and when people caption their stuff, they already censor or change words, like "seggs" instead of "sex". Fucking hell, what world did we end up in where people now act like fifth graders in a Catholic school?
That's what religion and their threats to companies does.
But violence? We're cool with torture porn and hard violence. Up to a few years ago, there was even a subreddit "watchpeopledie". There's plenty more subreddits and shock sites that focus on hyperviolence. It's normal and expected.
Violence, dismemberment, and torture are cool. Sex, or even a female (not a male) nipple just destroys lives.... /cringe
And it was the simplest way to show a bunch of people what would happen if they decided to skip some safety steps, especially on those high torque lathes.
And for "this is the reason we have OSHA" in that context, I would say it's essential to show those videos.
But, "watching people die" was an entertainment subreddit, not a "this is the horrible thing that happened due to lack of safety and how to prevent". At the base of it, it was a torture porn subreddit ala Saw or the 1990's VHS series 'Many Faces of Death'.
> "watching people die" was an entertainment subreddit
It was, but because it was on Reddit => karma generating content => abused to hell. Compare it to r/OSHA.
I'm not sure there is a way to have the content like this and somehow prevent/discourage the abuse. Though a simple disablement of post/comment karma in subreddits like this would had an immense effect, I've seen that numerous times in phpBB/derived forums in the literal "Flame" section. Disabling comments would somewhat work too, but not for the old Reddit.
If enough of the population (well, not the human population but the financial population, where everyone is inherently not born equal) agrees that a particular thing is morally wrong then it makes sense as a business to follow the tide.
To end this practice, non-religious people would need to form a bank that can facilitate electronic payments on the scope of VISA or Mastercard. That is the kind of undertaking that would need a Jeff Bezos or Elon Musk to pull off, and both of them are under the current electronic payment systems thumb.
If you knew someone like Carlos Slim and they were willing to risk being blacklisted by VISA and Mastercard and having their names dragged through the mud for it while putting up the several tens of billions of dollars to try to create a successful alternative payments system then you might have a chance of creating a rival to the big 4 that websites that host fringe content could rely on for processing payments.
Otherwise, you could try to crowdsource is but organizing enough people who were willing to front the money for likely vaporware would be a task difficulty on par with organizing enough people to be elected president of the united states without participating in the two major political extremist parties.
Indeed. Killing no problem, but if the things you were killing were nazis the automation (might) hates you...
Of course, I dunno if it actually would detect and punish the content-- but that's the situation we've created: Where no one can know what the rules are and you're always policing yourself to reduce the risk of unexplained content removal or worse-- an unappealable de-platforming.
The "Gold" cards are rare because Creative paid off Yamaha to delay the release of the Gold's OPL chip for long enough to make Ad Lib Inc go bankrupt, so very very few Gold cards saw the light of day: https://en.wikipedia.org/wiki/Ad_Lib,_Inc.#AdLib_Gold_1000_(...
Let's see: I kept a Diamond Multimedia 16 bit ISA card (meh!), an 8-bit SBPro 2 on the original packaging (this one is somewhat valuable) and, I think, an SBLive! Value (this one is PCI). Might have kept a 3Com 56K modem and some assorted LAN cards (also meh). I wish I had kept my SB AWE64. I also have an original P5 Pentium 60 with the FDIV bug (https://en.wikipedia.org/wiki/List_of_Intel_Pentium_processo...) and a Samsung 5.25 floppy which may be useful to get a file from a disk some day.
The ISA bus was really a very approachable way to add hardware to a system. I worked at a place where a couple of electrical engineers wanted to build a bridge from a PC to a specialized industrial control network. So, with very little knowledge of computer programming (they were low level guys) or bus technologies they banged out an ISA card and an application to throw bytes out onto the network. Since ISA cards basically just showed up in memory space you just told the application they wrote which chunk of memory it was using and the application wrote to a specific offset to write data to the network and read from another offset to see what came back in.
They had a pretty successful little business from that idea. And those cards were STILL selling pretty well into the early 00's--I think they sold them until 2008. Of course the application was never updated and you couldn't just write to random memory locations post Windows 95...so thats the only OS (and DOS) that I ever saw that card run on.
>So, with very little knowledge of computer programming (they were low level guys) or bus technologies they banged out an ISA card and an application to throw bytes out onto the network.
IBM's PC technical reference manual was so detailed that it was possible to design a card without ever having seen the actual hardware.
This video is DOS drivers in a nutshell. They never just worked, and it was always a driver problem and not a hardware problem. It could take days of troubleshooting to get a new device working.
[spoilers] The moment it worked, you could see he was almost in tears. I was almost in tears with him, and I didn't even spend over a month tediously reverse engineering this ISA card.
What an amazing world we live in where we can design PCBs and get them professionally produced for a pittance. When I was in high school, we were taught how to make PCBs using the old masking and acid etching method. We drew our traces by hand and drilled our own vias. And that was only ~15 years ago! What a magical world we live in!
15 years ago, there was a shop down the corner that would print me PCBs for a pittance. The only thing I had to do was to drill the vias by hand, something which I would do with a simple mount for an off-the-shelf drill.
Today, that shop has been replaced by some brand clothes store of which there are other 17 quasi-identical ones in town.
If anything, it is harder today to get this done than it was 15 years ago.
TBH, I never had any vias plated. I would always use solder and consider soldering overall the most difficult task of the entire process without any doubt, much more annoying and difficult than drilling.
That doesn't scale if you're doing a design that needs lots of vias. Particularly so when stitching together ground puddles on 2-layer boards. Soldering jumpers into hundreds of holes isn't practical.
If you gave a hacker space in town, maybe at your local library, and they have a decent CNC router, you can probably still get PCBs made locally. I don't know how the price would compare to the big bois like PCBway. They wouldn't end up looking quite as "professional", but it all depends on the price you can get and how much same-day and shopping locally matters to you.
Providing one had enough knowledge of the protocol the drive was using, would it have been possible to not recreate the ISA card and make the drive functional using software emulation?
(Obviously, one would need some kind of hardware interface to the drive.) BUt would it have been possible to use a more modern hardware interface and then do the rest in software?
Sure, if you have the documentation you could connect it to a parallel port (assuming it’s quick enough and level compatible) and write a device driver compatible with MSCDEX, but that’s also no easy task
I'm pretty shocked and thrilled at the same time that someone would waste their talent getting an obsolete CD-ROM drive to work. I mean, there's a plethora of ways to read a CD-ROM still.
46 comments
[ 1.5 ms ] story [ 85.8 ms ] threadI also watched this Defcon breakdown on hardware hacking where the presenter goes over the specialized tools to both mount the chips as well as the software to pull firmware at rest to reverse engineer it. Video: https://www.youtube.com/watch?v=Kxvpbu9STU4
YouTube channels like My Mate Vince, Northridge Fix, Necroware, and others show folks without any electronics degrees troubleshooting and fixing hardware and I just can't help but want to watch them and think about how fun it would be to get involved...unfortunately I already am at a limit to my hobbies.
The older I get, the more I enjoy thinking about EE topics and wondering where I would be today if I would have found out more about this discipline vs going a more traditional administration/IT route.
I wonder if the EE folks wonder other way around?
The future is here for STM32: https://github.com/stm32-rs/stm32-rs
there is PicoGUS [0], a Gravis Ultrasound emulation, a Raspi Pico based PCMCIA WLAN card [1], EDO/FPM RAM modules [2], "Snark Barker", a soundblaster 1.0 clone [3]...
If you want more electronics stuff, I suggest you follow the creators of these on Twitter.
[0] https://github.com/polpo/picogus
[1] https://www.yyzkevin.com/pcmcia-pico-w-card/
[2] https://twitter.com/0xCats/status/1524708654913662977
[3] https://github.com/schlae/snark-barker
I'm confused in that what it looks like is all you need to do is design a schematic and place chips down on to a PCB and then write software drivers. I thought chips had to be coded too.
You can find the list on the Github page of the project:
https://github.com/AkBKukU/CM153-Repro
You just set an address and write/read data to it.
All you need to do simple input/output on it is to
* wait for "right" address on bus and "right" pins to light up * either latch the data, or output the data * bang the right control bit.
It is entirely doable using basic logic chips, because back then any kind of programmable logic was super expensive.
Compare it to usb-c where you need tens of thousands of lines of code to even negotiate some power stuff (or use specialized chips... that have those tens of thousands of lines of code baked in).
See its pinout - site is in German but there is a nice diagram. https://de-academic.com/dic.nsf/dewiki/643647
The lines marked Addr are address lines, and Data are data lines. Things that appear readable/writeable to the CPU as RAM manipulate the MEMW/MEMR lines, and things that appear readable/writeable to the CPU using its "I/O port" instructions manipulate the IOW/IOR lines. I don't know the low level protocols used there but there is definitely one and why some simple logic chips had to often be added I guess (74SNxxxxx chips very common).
RAM basically does the same thing, as well as anything built in like the clock chip, keyboard controller, serial ports, floppy controller, etc.
One big disadvantage of ISA is that the bus when it was introduced had to run at the same speed as the CPU. When CPUs started getting faster than 8Mhz something was done to keep the ISA bus as 8Mhz, but not sure what.
The other big disadvantage is that this was intimately tied to the 8088 Intel CPU signal lines. PCI (and other things like NuBus and MCA) were CPU independent and required a chipset or other controller to interface, and that's where the complexity started to take off.
I damage my brain by scrolling Instagram reels (which are just TikTok reels) too much, and when people caption their stuff, they already censor or change words, like "seggs" instead of "sex". Fucking hell, what world did we end up in where people now act like fifth graders in a Catholic school?
But violence? We're cool with torture porn and hard violence. Up to a few years ago, there was even a subreddit "watchpeopledie". There's plenty more subreddits and shock sites that focus on hyperviolence. It's normal and expected.
Violence, dismemberment, and torture are cool. Sex, or even a female (not a male) nipple just destroys lives.... /cringe
And it was the simplest way to show a bunch of people what would happen if they decided to skip some safety steps, especially on those high torque lathes.
But, "watching people die" was an entertainment subreddit, not a "this is the horrible thing that happened due to lack of safety and how to prevent". At the base of it, it was a torture porn subreddit ala Saw or the 1990's VHS series 'Many Faces of Death'.
It was, but because it was on Reddit => karma generating content => abused to hell. Compare it to r/OSHA.
I'm not sure there is a way to have the content like this and somehow prevent/discourage the abuse. Though a simple disablement of post/comment karma in subreddits like this would had an immense effect, I've seen that numerous times in phpBB/derived forums in the literal "Flame" section. Disabling comments would somewhat work too, but not for the old Reddit.
> 1990's VHS series 'Many Faces of Death'
Yeah, fun times.
If enough of the population (well, not the human population but the financial population, where everyone is inherently not born equal) agrees that a particular thing is morally wrong then it makes sense as a business to follow the tide.
To end this practice, non-religious people would need to form a bank that can facilitate electronic payments on the scope of VISA or Mastercard. That is the kind of undertaking that would need a Jeff Bezos or Elon Musk to pull off, and both of them are under the current electronic payment systems thumb.
If you knew someone like Carlos Slim and they were willing to risk being blacklisted by VISA and Mastercard and having their names dragged through the mud for it while putting up the several tens of billions of dollars to try to create a successful alternative payments system then you might have a chance of creating a rival to the big 4 that websites that host fringe content could rely on for processing payments.
Otherwise, you could try to crowdsource is but organizing enough people who were willing to front the money for likely vaporware would be a task difficulty on par with organizing enough people to be elected president of the united states without participating in the two major political extremist parties.
Of course, I dunno if it actually would detect and punish the content-- but that's the situation we've created: Where no one can know what the rules are and you're always policing yourself to reduce the risk of unexplained content removal or worse-- an unappealable de-platforming.
I know I have an adlib card in there somewhere but not sure if "gold" model
I knew to save the name brand ones vs cheap clones
Some massive scsi controllers that were hundreds of dollars, just can't put them into a landfill.
They had a pretty successful little business from that idea. And those cards were STILL selling pretty well into the early 00's--I think they sold them until 2008. Of course the application was never updated and you couldn't just write to random memory locations post Windows 95...so thats the only OS (and DOS) that I ever saw that card run on.
IBM's PC technical reference manual was so detailed that it was possible to design a card without ever having seen the actual hardware.
What an amazing world we live in where we can design PCBs and get them professionally produced for a pittance. When I was in high school, we were taught how to make PCBs using the old masking and acid etching method. We drew our traces by hand and drilled our own vias. And that was only ~15 years ago! What a magical world we live in!
15 years ago, there was a shop down the corner that would print me PCBs for a pittance. The only thing I had to do was to drill the vias by hand, something which I would do with a simple mount for an off-the-shelf drill.
Today, that shop has been replaced by some brand clothes store of which there are other 17 quasi-identical ones in town.
If anything, it is harder today to get this done than it was 15 years ago.
We had to stick a big blob of solder in the hole.
If you want to know what's possible today at which prices, check out these prototyping services for example: https://jlcpcb.com, https://www.pcbway.com, https://oshpark.com
(Obviously, one would need some kind of hardware interface to the drive.) BUt would it have been possible to use a more modern hardware interface and then do the rest in software?