How are these people finding VGA cables in the street :S I needed like 10 or so VGA cables recently for an art installation and asked everyone I could and nobody had any lying around... I ended up having to buy new ones which seems a shame considering how many are thrown away!
You would be surprised how much trash there is in the city around us, that you suddenly start noticing when you have a diy project. Let me share you some moments of my own with you.
I was leaving university campus with my buddies, talking about building magnetic card reader to check contents of my campus library card. Just as I was explaining magnetic heads to one of the guys I see a random cassette player few meters from us, in pile of illegaly dumped trash. Mid sentence I stop, grab and smash the radio open on the curb, pull out the magnetic head and continue talking about the said magnetic head. Guys were bewildered.
At other time I was watching a video about TV fresnel lens based lighting fixture, waiting for my date. After the date while taking the girl to the car I spotted a flat TV next to a dumpster box. Car was right across the street so I took the TV home. She quickly learned I'm no stranger to dumpster adventures. I had the light don't by the morning.
Almost 2 years before that I needed a short (30cm max) ac plug with wire to fix something in the workshop, and I remembered seeing a broken electric tea pot behind our local dumpster while taking out the trash, it was exactly the right length of wire, and awh better than I needed.
Recently, I was renovating something with my wife, and I needed a vacuum cleaner for the drywall sanding and other dust and spills related to that. Just few days after settingy eyes on karcher vacuum I find one in the dumpster as we were walking from the cinema back home. I opened it up next day and realized previous owner had thrown away brand new vacuum cleaner. They had not unpacked and set the filter, hair and piece of cloth got into the air sucking fins and got it stuck. I pulled the trash out, set the filter and voila!
Over the last 10 years I had many more situations like that :)
A million years ago, I spent two cold nights standing on my head in the driver's side footwell of my E36 BMW, installing an inexpensive Wal-Mart-sourced CodeAlarm remote starter to make my then-wife happy.
It worked great. It could even operate the door locks and roll the windows up with the fob (none of which sounds very special for a modern vehicle, but my car was not equipped with remote-anything from the factory so all of this was very nice).
Over a decade later, the fob got destroyed in an unfortunate boating incident. I was bummed. Replacements were available to purchase and I hemmed and hawed about buying one, or maybe upgrading to a fancier system, or just getting over it and continuing to use the key in the lock cylinder (like some commoner!) to lock and unlock the doors.
And then I was walking down the street in Bexley, Ohio, and I saw a broken laundry basket full of discarded things ("illegally dumped" things) on the curb. It appeared to have all manner of random household trash.
But on the top of that basket of stuff was a plastic clamshell. And inside that clamshell was an identical remote starter kit -- exactly the same as the one I'd bought forever ago.
It was unopened.
A few careful slashes with my pocket knife later, and I had a new remote. Even the ancient tiny little 12V (A23) alkaline battery still worked -- and kept working for months. (I left the rest of the trash where it was.)
Sometimes the universe does provide for those who keep their eyes open.
(Pairing the new remote was interesting because it involved operating the brake pedal switch while the car was turned off, and the E36 turns off the brake light circuit completely when the car is turned off... But those are just BMW problems. I got it sorted.)
Unfortunately, some of use are not so lucky, at least I am not, haha.
I got the idea to tinker with satellite dishes to make a simple radio telescope. I remember riding around and constantly seeing old DirectTV satellite dishes constantly on the side of the road for trash. Before this idea. So I figured, oh, I can easily get my hands on one. As soon as I committed to that project, I never saw a single satellite dish sitting by the street as I rode around.
This is becoming less common among electro-trash as SMD rules the day instead of larger, more discrete, more easy-to-separate components. For example, try pulling anything useful - camera lens, buttons, memory, ICs, anything - from any mobile phone tossed away.
My personal favourite save is a Bosch dishwasher that was kerbside. The drain motor was stuck, had melted plastic around the impeller. I have it in my workshop but it’s better than the one in the house.
Someone had abandoned a vacuum cleaner identical to my own (10+ year old) model from a not so common make in the ground floor lobby of my apartment block. It was surreal walking past it for months, just sitting there alone in the corner.
My own vacuum cleaner was missing an attachment, but I never touched the abandoned one because I wasn't sure whether it was truly abandoned.
A few weeks later I found the same cleaner had gone missing, checked the dumpster - yep, there it was. Fished it out and now I have a complete set of attachments again.
> Mid sentence I stop, grab and smash the radio open on the curb, pull out the magnetic head and continue talking about the said magnetic head. Guys were bewildered.
In what world is this acceptable to take some trash and make the trash situation worse by bashing it apart in the street?
The thrift stores in my area have tonnes of VGA cables.
If you're the type of person who regularly visits thrift stores, taking the time to go through the cables and wall-warts is worth it. The staff don't know what they have and everything is priced more-or-less the same. You can end up getting some quality and rare cables for a pittance. It is one of the few sections of modern thrift stores that feel like thrift stores of old.
A hill I will die on is that tech products should just stop bundling cables, for anything, with the possible exception of unit-specific power adapters. A while back I purchased a KVM switch - it came with 3 DP cables, which went straight into my e-waste box. I've also seen office fit-outs where mountains of cables that came with monitors went straight from factory to landfill because they were the wrong length.
I understand some of the reason it happens - it's not a great experience to buy a product and then be unable to start using it immediately because you don't have the right cables. And there are a lot of low-quality cables out there which might have the right connectors but not actually work - I bought at least 3 different 5m DP cables before I found one that reliably worked at 4K. But surely that can't justify the literal mountains of e-waste the practice creates.
Sadly I don't think it'll ever change without regulation.
> possible exception of unit-specific power adapters
No. Unit-specific power adapters should not exist. Either put a USB-C or a 120v/240v AC connector on the device, depending on power requirements. It's really not that hard.
Note: it must be connector, not a fixed cable. I.e. an IEC C8 or C14.
A really bad one now is devices providing crappy power only usb micro cables, very often these will still have the 4 pin head. I've started instantly binning them to avoid situations where I need to transfer data and can only find these ones lying around
You won't die alone on that hill. I think it's a great thing that many phones no longer ship with chargers. The mild inconvenience of having to buy a separate charger should not outweigh the reduction amount of waste we produce with new chargers.
Brazil has made it illegal to sell a phone without a charger which IMO is a total step backwards. If anything, it should be illegal to not give the option to unbundle cables from the package.
I save at least one example of every kind of computer, RF, or AV wire, but I only keep what I deem to be current-gen for my own world. The stuff that doesn't make the cut get sold by the pound periodically at a local scrap yard after I prep them by snipping the connectors off, which generates a meaningful amount of folding cash -- enough for a coney dog and some ice cream from around the corner, anyway. (Rules vary; the scrap yard near me is very happy to buy deconnectorized insulated computer-ish cables. Some might buy them with the connectors attached. Some might not want this kind of wire at all.)
I like having what I might need on-hand, but I also dislike the notion of hoarding. I try to keep it balanced.
Sometimes, this bites me. I hadn't use a VGA cable for years during the last culling so they all got recycled, and then I needed one a few months ago for an old Compaq server. I found a beige HD15 cable at work that functioned well-enough, but it was a blurry mess (real VGA cables have coax inside, and this cable did not).
I even ran out of bog-standard IEC computer power cords a couple of years ago and had to -- you know -- actually buy one. I never thought this would be a possibility.
At some point, you have boxes and boxes of stuff that may contain something that might be useful someday on the off-chance that you can actually find that thing when you need it. I'd love to connect everything to the person--including future me--who would find it useful (or thinks they would in the moment) but it's often not practical.
I feel like a lot of major urban centers have "that" store whose entire business model is collecting electronics from failing businesses and then selling that. Great way to get a bunch of extremely underpowered Windows laptops or Android tablets. Terrible computing devices in general but if you're lucky it'll work well enough.
Any business with an IT department should be drowning in them. Monitors still ship with VGA cables even though they are rarely used. So if you know anyone in a smaller IT dept that doesn't have really draconian rules over assets they would be more than happy to give you a pile of them.
I get most of my “old” tech by volunteering community computer refurbishing places. Good way to meet people and stock up on tech supplies at the same time!
I think that applies to most cables, BTW. Always look in thrift stores first if you can afford to spend some of your time in exchange for reducing ewaste! (In Japan you're guaranteed to find boxes full of old and some new VGA cables at any Hard Off store.) If you don't have time but don't mind some time lag, you can buy used ones from ebay or similar. (E.g., search for 'vga cables lot')
Where I live I can only find discarded beer cans and (used) Costa Coffee cups, and inverted broken umbrellas, because itś windy. These people must live in a nicer part of a nicer city ;-)
BTW, in which city can I find a discarded DEC V230/240 or 330 terminal on the street? I need it as a reference implementation of Tektronix graphics ate ReGIS. I promised the VTE crowd I'd work on that.
Lot of people keep/store old cables. I personally have several hundred cables of various types collected over the years put away in couple of plastic crates. Sometimes I find them at work that are just sitting in boxes waiting to be thrown away or just extra cables that come with monitors or other devices. They come in handy for projects or when I’m tinkering with old hardware.
In every city I lived there were either some local recycling facilities/organizations where you can buy old things dirt cheap. So not really found in the streets but easily findable.
Also second hand market offer a lot of obsolete stuff for very little money.
I was considering doing something like that for an Amiga, running AmigaOS 3.2. It's a cute idea, especially once you 3D print a shell that looks like the original (shrunken down).
I do think that the lack of an old school floppy drive means that something is kinda missing from the experience, but I do like the idea of having a machine dedicated to running this instead of just firing up an emulator on my existing desktop PC. (Edit: And I love how this MicroMac project isn't just "running Linux and an existing emulator" but actually trying to go lower level, essentially the RP2040 acting as a 68k)
A500 Mini isn't as cool IMO. It's just a generic arm board running linux with an Amiga emulator. The keys don't even work. May as well just use a Pi or a PC.
Yeah, I have one, and the keyboard being non-functional is a real bummer. It's a neat mini console (especially once you add some additional games), but I wish they would make a version with a working keyboard, like they made TheC64. But the quality of the case is great, and the tank mouse definitely is the way to use workbench)
We need doubly-curved OLED screens. We can already do Trinitron (cylindrical) ones with the flexible displays we have.
It is an interesting problem, though. I noticed in Disney's Loki, they used a combination of VFX and lenses on top of flat panels to give the impression they were using CRTs (notably in their ADM-3 lookalikes). For a 9~14" CRT it'd be a fairly large lens that would need to be optically connected to the panel below (so not to have internal reflections).
With a 4K display and HDR, we can actually do really decent CRT emulation. It seems a bit ridiculous to need 4K/HDR to emulate 40 year old display tech, but you need the resolution to do the aperture grille in a way that's small enough to work, and you need HDR for that phosphor glow.
The Retrotink 4K has been pretty eye opening (and eye-watering, given the $750 price tag) in terms of where we are with CRT emulation these days.
This is a really impressive project! It was a fun read. Thanks for sharing! I like this writing style.
> As an aside, I try to create a dual-target build for all my embedded projects, with a native host build for rapid prototyping/debugging
I find myself doing the same thing on my embedded projects, including at my job. I actually find myself using the PC build much more frequently than the hardware for my day-to-day work now that the hardware layer is stable and tested. More people should do this!
Sorry, I somehow missed your comment until now. Didn't get any notifications. I tend to do it more like what you first said, mocking low-level calls.
I typically put all hardware-specific code for one platform into its own directory. Then I can have multiple directories for different hardware implementations, like MCU #1, MCU #2, and PC. I just implement the same API in all three. It's basically just a HAL. Each build only compiles one of those directories -- the one that matches the architecture I'm building for.
For example I might have a function that does an SPI transaction. On the two hardware builds it will actually communicate with the SPI peripheral in the MCU, but on the PC build it will talk to something I've written to pretend to be the SPI device. So it does take a little bit of up-front work writing code that pretends to be the various devices. In some ways you could call that an emulator, but not in the way you were asking I think.
You can make it as simple or complex as you want to. You could do a full-fledged object-oriented SPI class in C++ (or "class" in C), with different class implementations for different hardware builds. Or you could just make a single function that does SPI stuff and reimplement it for each hardware build.
In one case I have a Qt GUI that pretends to be the UI for the device so the PC hardware-specific code ends up providing its own main() and runs the actual shared codebase in a separate thread. So that particular codebase has a provision to rename the shared main() to not actually be main() on the PC build so it plays nicely with Qt needing to actually provide main().
One downside is you won't catch certain bugs on the PC. There have been a few bugs that slipped past because the hardware build was 32-bit but my PC build was 64-bit for example. But those errors are fairly rare. I probably should be doing the PC build as 32-bit to make it more similar anyway. Still, it wouldn't catch every little problem that might pop up on hardware. It definitely accelerates my productivity though!
I had a Saturday job at a computer shop when the Mac came out, and we got one as a demo. I remember just staring at the genius of those rounded corners in the corners of the screen, and thinking how beautiful it was that they'd thought of that.
On my first actual job, we did that with Apple II software. You don't only lose the corners, but you need to lose a whole column of pixels to make the rounded corner work on a checkered background.
I feel like this is missing a link to spritesmod[0], which might use a little bit of a bigger platform (esp32) but a functional Mac plus that fits in your palm is absurd.
I would never have thought you could do what OP did, rp2040 looks way too small, amazing work!
It makes me wonder what the smallest/barest SBC one could get away with for emulating the last 68k Macs or average mid-to-late 90s PPC Mac at full performance might be. Retrofitting a modernish laptop body of some sort with one of those so it would be capable of running System 7.6.1 up through Mac OS 9.x could make for a surprisingly useful "zen mode" laptop.
Holy cow. I took a stab at hacking vMac to run on an ESP32 and gave up (it’s been done on some models, but not on the one I had handy), but this is several levels above and beyond.
It's a shame monitors don't provide 5V from pin9 of the VGA connector... Would be nice to be able to power things from the monitor connection. IIRC, SCART provides +9V.
Pin 9 is there to power the EEPROM in the monitor fromthe computer even when the monitor is turned off, so monitors providing 5V there would lead to same kind of problems as there are with DisplayPort pin 20 and cheap cables that connect this pin through (which would be correct for DP 1.0, but there are no DP 1.0 products).
I was leaving university campus with my buddies, talking about building magnetic card reader to check contents of my campus library card. Just as I was explaining magnetic heads to one of the guys I see a random cassette player few meters from us, in pile of illegaly dumped trash. Mid sentence I stop, grab and smash the radio open on the curb, pull out the magnetic head and continue talking about the said magnetic head. Guys were bewildered.
At other time I was watching a video about TV fresnel lens based lighting fixture, waiting for my date. After the date while taking the girl to the car I spotted a flat TV next to a dumpster box. Car was right across the street so I took the TV home. She quickly learned I'm no stranger to dumpster adventures. I had the light don't by the morning.
Almost 2 years before that I needed a short (30cm max) ac plug with wire to fix something in the workshop, and I remembered seeing a broken electric tea pot behind our local dumpster while taking out the trash, it was exactly the right length of wire, and awh better than I needed.
Recently, I was renovating something with my wife, and I needed a vacuum cleaner for the drywall sanding and other dust and spills related to that. Just few days after settingy eyes on karcher vacuum I find one in the dumpster as we were walking from the cinema back home. I opened it up next day and realized previous owner had thrown away brand new vacuum cleaner. They had not unpacked and set the filter, hair and piece of cloth got into the air sucking fins and got it stuck. I pulled the trash out, set the filter and voila!
Over the last 10 years I had many more situations like that :)
It worked great. It could even operate the door locks and roll the windows up with the fob (none of which sounds very special for a modern vehicle, but my car was not equipped with remote-anything from the factory so all of this was very nice).
Over a decade later, the fob got destroyed in an unfortunate boating incident. I was bummed. Replacements were available to purchase and I hemmed and hawed about buying one, or maybe upgrading to a fancier system, or just getting over it and continuing to use the key in the lock cylinder (like some commoner!) to lock and unlock the doors.
And then I was walking down the street in Bexley, Ohio, and I saw a broken laundry basket full of discarded things ("illegally dumped" things) on the curb. It appeared to have all manner of random household trash.
But on the top of that basket of stuff was a plastic clamshell. And inside that clamshell was an identical remote starter kit -- exactly the same as the one I'd bought forever ago.
It was unopened.
A few careful slashes with my pocket knife later, and I had a new remote. Even the ancient tiny little 12V (A23) alkaline battery still worked -- and kept working for months. (I left the rest of the trash where it was.)
Sometimes the universe does provide for those who keep their eyes open.
(Pairing the new remote was interesting because it involved operating the brake pedal switch while the car was turned off, and the E36 turns off the brake light circuit completely when the car is turned off... But those are just BMW problems. I got it sorted.)
I got the idea to tinker with satellite dishes to make a simple radio telescope. I remember riding around and constantly seeing old DirectTV satellite dishes constantly on the side of the road for trash. Before this idea. So I figured, oh, I can easily get my hands on one. As soon as I committed to that project, I never saw a single satellite dish sitting by the street as I rode around.
> After the date... She quickly learned I'm no stranger to dumpster adventures.
Ah, was there another date?
> Recently, I was renovating something with my wife
Any relationship to dumpster adventuress?
My own vacuum cleaner was missing an attachment, but I never touched the abandoned one because I wasn't sure whether it was truly abandoned.
A few weeks later I found the same cleaner had gone missing, checked the dumpster - yep, there it was. Fished it out and now I have a complete set of attachments again.
In what world is this acceptable to take some trash and make the trash situation worse by bashing it apart in the street?
If you're the type of person who regularly visits thrift stores, taking the time to go through the cables and wall-warts is worth it. The staff don't know what they have and everything is priced more-or-less the same. You can end up getting some quality and rare cables for a pittance. It is one of the few sections of modern thrift stores that feel like thrift stores of old.
Also home theater speakers.
I understand some of the reason it happens - it's not a great experience to buy a product and then be unable to start using it immediately because you don't have the right cables. And there are a lot of low-quality cables out there which might have the right connectors but not actually work - I bought at least 3 different 5m DP cables before I found one that reliably worked at 4K. But surely that can't justify the literal mountains of e-waste the practice creates.
Sadly I don't think it'll ever change without regulation.
No. Unit-specific power adapters should not exist. Either put a USB-C or a 120v/240v AC connector on the device, depending on power requirements. It's really not that hard.
Note: it must be connector, not a fixed cable. I.e. an IEC C8 or C14.
Brazil has made it illegal to sell a phone without a charger which IMO is a total step backwards. If anything, it should be illegal to not give the option to unbundle cables from the package.
I save at least one example of every kind of computer, RF, or AV wire, but I only keep what I deem to be current-gen for my own world. The stuff that doesn't make the cut get sold by the pound periodically at a local scrap yard after I prep them by snipping the connectors off, which generates a meaningful amount of folding cash -- enough for a coney dog and some ice cream from around the corner, anyway. (Rules vary; the scrap yard near me is very happy to buy deconnectorized insulated computer-ish cables. Some might buy them with the connectors attached. Some might not want this kind of wire at all.)
I like having what I might need on-hand, but I also dislike the notion of hoarding. I try to keep it balanced.
Sometimes, this bites me. I hadn't use a VGA cable for years during the last culling so they all got recycled, and then I needed one a few months ago for an old Compaq server. I found a beige HD15 cable at work that functioned well-enough, but it was a blurry mess (real VGA cables have coax inside, and this cable did not).
I even ran out of bog-standard IEC computer power cords a couple of years ago and had to -- you know -- actually buy one. I never thought this would be a possibility.
What happened to your own stash of VGA cables?
BTW, in which city can I find a discarded DEC V230/240 or 330 terminal on the street? I need it as a reference implementation of Tektronix graphics ate ReGIS. I promised the VTE crowd I'd work on that.
An example I found in like 2 minutes: https://www.govdeals.com/asset/22/22839
Also second hand market offer a lot of obsolete stuff for very little money.
I say sketchy as in no name brand anything, 100% chinesium electronics
I do think that the lack of an old school floppy drive means that something is kinda missing from the experience, but I do like the idea of having a machine dedicated to running this instead of just firing up an emulator on my existing desktop PC. (Edit: And I love how this MicroMac project isn't just "running Linux and an existing emulator" but actually trying to go lower level, essentially the RP2040 acting as a 68k)
Just kidding. Apple would NEVER allow that.
It is an interesting problem, though. I noticed in Disney's Loki, they used a combination of VFX and lenses on top of flat panels to give the impression they were using CRTs (notably in their ADM-3 lookalikes). For a 9~14" CRT it'd be a fairly large lens that would need to be optically connected to the panel below (so not to have internal reflections).
The Retrotink 4K has been pretty eye opening (and eye-watering, given the $750 price tag) in terms of where we are with CRT emulation these days.
> As an aside, I try to create a dual-target build for all my embedded projects, with a native host build for rapid prototyping/debugging
I find myself doing the same thing on my embedded projects, including at my job. I actually find myself using the PC build much more frequently than the hardware for my day-to-day work now that the hardware layer is stable and tested. More people should do this!
I typically put all hardware-specific code for one platform into its own directory. Then I can have multiple directories for different hardware implementations, like MCU #1, MCU #2, and PC. I just implement the same API in all three. It's basically just a HAL. Each build only compiles one of those directories -- the one that matches the architecture I'm building for.
For example I might have a function that does an SPI transaction. On the two hardware builds it will actually communicate with the SPI peripheral in the MCU, but on the PC build it will talk to something I've written to pretend to be the SPI device. So it does take a little bit of up-front work writing code that pretends to be the various devices. In some ways you could call that an emulator, but not in the way you were asking I think.
You can make it as simple or complex as you want to. You could do a full-fledged object-oriented SPI class in C++ (or "class" in C), with different class implementations for different hardware builds. Or you could just make a single function that does SPI stuff and reimplement it for each hardware build.
In one case I have a Qt GUI that pretends to be the UI for the device so the PC hardware-specific code ends up providing its own main() and runs the actual shared codebase in a separate thread. So that particular codebase has a provision to rename the shared main() to not actually be main() on the PC build so it plays nicely with Qt needing to actually provide main().
One downside is you won't catch certain bugs on the PC. There have been a few bugs that slipped past because the hardware build was 32-bit but my PC build was 64-bit for example. But those errors are fairly rare. I probably should be doing the PC build as 32-bit to make it more similar anyway. Still, it wouldn't catch every little problem that might pop up on hardware. It definitely accelerates my productivity though!
I would never have thought you could do what OP did, rp2040 looks way too small, amazing work!
[0]: http://spritesmods.com/?art=minimacplus&page=7
It makes me wonder what the smallest/barest SBC one could get away with for emulating the last 68k Macs or average mid-to-late 90s PPC Mac at full performance might be. Retrofitting a modernish laptop body of some sort with one of those so it would be capable of running System 7.6.1 up through Mac OS 9.x could make for a surprisingly useful "zen mode" laptop.
I take off my metaphorical hat to you, sir.
https://imgur.com/gallery/raspberry-pi-running-mini-vmac-cus...
Sadly, when people invented HDMI, that was a lot more obvious.