46 comments

[ 1.5 ms ] story [ 85.8 ms ] thread
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.

I wonder if the EE folks wonder other way around?

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.

[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

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:

https://github.com/AkBKukU/CM153-Repro

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).

In this case it is effectively a fancy serial port, which means all the chips do all the work for you, no programming needed.
The ISA bus is basically connected directly to the CPU.

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.

Gotta love that he felt the need to abort his wolfenstein play before the nazi flags became too visible and triggered content detection.
Love, or hate?

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

> there was even a subreddit "watchpeopledie"

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.

> 1990's VHS series 'Many Faces of Death'

Yeah, fun times.

To a certain degree I get it.

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.

please tell me the pile of 20 year old ISA cards I refused to throw out all these years are my path to retirement lol
If you have a stack of Adlib Gold cards, that might be true.
had to google it - wow they sell for thousands?!

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.

Check out vogons.org to see which ones are valuable, if any.
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.

In Windows NT, you'd need a kernel mode program to do this. Then your device gets exposed as a special kind of file.
>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!

What an amazing world?

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.

Drilling and plating vias is the hard part they were skipping.
You guys are getting your vias plated? /meme

We had to stick a big blob of solder in the hole.

(comment deleted)
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.
(comment deleted)
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.