MicroMac, a Macintosh for under £5
axio.ms
axio.ms
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?
It actually amazes me that this isn't a well-solved problem by now. We've got various marketplaces for used items (eBay, CL, FB Marketplace, etc.) and we've got various rental/sharing platforms for niche things (Uber, Airbnb, etc.) and those are decent for what they are, yet somehow the inherent inefficiencies (effort to list an item, effort to discover an item, platform fees, etc.) suggest that there is a lot of room for improvement.
It's kind of like how scheduling assistant features/products, such as Calendly, offer a massive improvement over writing messages back and forth along the lines of "send me your availability," yet a verbal/synchronous discussion isn't nearly as bad as written/async, since it gets you across the finish line quickly despite many round trips, so lots of people are fine doing that instead of using efficient tools, so there's no mass adoption/demand.
There were a bunch of ideas associated with the early Web like sharing tools and so forth that just don't make sense outside an informal neighborhood "economy" (and often not even there).
I'd give anyone stuff from my cabling and computer parts collection as long as they had a use for it. I'd do this without cost if I could.
Except: It isn't usually free to get things from my empire of dirt to anyone else's empire of dirt.
By the time I boxed up a widget and sent it on its way, it is likely that more money has been spent than just procuring a new widget to begin with.
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.
[0] to my surprise the one I grabbed had an internal mono speaker(not beeper) somewhere in the case.
I say sketchy as in no name brand anything, 100% chinesium electronics
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 :)
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.
I scored an old Primestar dish and LNBF. This was the easy part: I just talked to one of the guys at a small local company that dealt with things like consumer satellite, and asked nice. He was curious what I wanted to use it for (Primestar was dead by that point), so I told him, and he thought that was a fun idea so he gave me one or two that he had kicking around in the shop.
The idea was to toss the LNBF and put a biquad antenna made from wire at just the right spot where the parabola focused. It seemed easy enough, but my fabrication skills 20 years ago were lacking, and I didn't have any measurement gear beyond a multimeter and a tape measure, so the project never went anywhere.
But nowadays, with modern accessible CAD and 3D printing and sendcutsend and JLC and SDR dongles and Harbor Freight and everything else? With the RF gear I either own these days, or have access to? Yeah, I'd probably be able to make it work. I might even be able to turn a new feedhorn on my buddy's lathe to increase efficiency. FFS, there's probably already parametric models out there for OpenSCAD that just do this thing.
It seems much, much more do-able with today's resources than it was back then.
Except, also these days: If I wanted a big parabolic wifi antenna, I'd probably just buy one that was made in a factory...and use it. :)
* Circuit Board Medics, but I understand there are others.
> 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?
Not what I was expecting. Perhaps the model was not a reliable source.
My wife is not the same lady, she prefers store bought items, however she does appreciate my resourcedulness. As a well paid professional and somewhat functional member of society I have minimizedy trash utilization activities (I lack space in our new town).
I don’t mean to boast but I’m kind of a big deal—I was able to get 3 shopping carts off the free section of Craigslist when a local food bank discarded them. One awesome part about living here in the Seattle suburbs is excellent free stuff that doesn’t even require larceny to obtain.
My wife is tolerant of these activities too but prefers I stay out of dumpsters. How dare she ;)
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.)
And because every part is indexed in the BMW ETK, it's simple (and actually usually very cheap) to find very high quality parts from the original source using BMW part numbers, and sidestep the usual quagmire of globalized aftermarket trash that AutoZone sells.
It's a whole different way of doing things compared to, say, a Chevy or Honda of similar vintage.
I kind of feel you dropped the lede here. Need to hear this story as well.
> Need to hear this story as well.
I bet it's "dropped her keys into the lake." Perhaps after awkwardly balancing them a place that, in hindsight, should not have been used.
She was at the front like some sort of living maidenhead while I leisurely rowed at the back with the entrenching tool that I kept in the car, one evening at an outdoor music festival somewhere in the Midwest. It was all very beautiful; the girl was beautiful, the sky was beautiful, the music was beautiful, and the place itself was beautiful; everything was approximately perfect. There was such a profound feeling of rightness as the sun set, and I wished it would never end.
Except: I had to pee.
So I stood up to take care of that and the stolen canoe simply went sideways. My entrenching tool disappeared (along with one of my sandals, and the boat itself), the girl went for a swim, and most importantly my key fob got drenched.
We swam to the nearest shore and hiked back through the dense young trees and brush using the flashlight on my Galaxy S5.
Once we got back to camp, the phone died for real.
It was all very much a bummer in a great number of ways.
The next day some kids there found and recovered the boat and my missing sandal.
We didn't make it, she and I. But several months later, that dead S5 came back to life like nothing had ever happened.
(Don't do drugs, kids. Maybe.)
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?
Also second hand market offer a lot of obsolete stuff for very little money.
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.
I suspect the reason why this didn't go on to become standard across all classes of device, is because since 2010 or so, the average or median margin on accessories has cratered thanks to Amazon Marketplace sellers. You could realistically end up needing to buy a Belkin $30 printer cable in 2005, unless you'd heard of Monoprice. Today by contrast if you just search Amazon for it, you'll have one for $4.94-$6.49 delivered within 2 days. If margins were still what they used to be on cables and stuff, I think you'd have a strong incentive for places like Amazon and Walmart to pressure suppliers to make cables a la carte (officially for environmental reasons, but also, for great profits, lol)
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.
Bundled power bricks are also much less likely to directly be e-wasted without being used.
Sounds like a job for Power-over-Ethernet :)
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.
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
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)
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).
Although X-rays are not used to draw the image, they are generated as an unwanted side effect. The phosphorescent screen emits X-rays when struck by the electron beam. To protect the user, the glass must be a special kind of glass to absorb those X-rays, and the accelerator voltage has to be set not too high.
CTRL-F for "X-ray" gives me 1 result, "-ray" gives me 13 results ;)
Absolutely agree that X-Rays are generated in the phosphorent screen, but they are not emitted by the CRT.
> […] and the accelerator voltage has to be set not too high.
Yes, with electrons only so high that they reach the screen, which is low enough to only generate very minor secondary X-rays in the screen, which is then nicely shielded. If the phosphorous screen would be blasted with X-rays, the shielding of the screen would need to be much thicker and expensive.
(I’m working with shielded microCT machines, so speaking with a bit of experience)
CRTs produce a (low-intensity) electron beam that has just high enough energy for exciting the phosphorous screen.
Therac-25 was able to produce both a high-intensity electron beam or an X-ray beam, depending on the therapy need.
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.
Just kidding. Apple would NEVER allow that.
The software it uses, amiberry, is open source and was made for the more powerful, useful and common Raspberry Pi boards. Getting one of these is a much better idea.
I wish someone would make an Amiga shell for a Raspberry Pi that's quality like that. I can 3D print my own, but injection molded plastic is still a quality level above.
> 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!
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.
The neat thing about the ESP32 chips is you can extend their internal memory with external SPI PSRAM chips.
https://cdn-shop.adafruit.com/product-files/4677/4677_esp-ps...
https://www.bigmessowires.com/2017/12/07/fpga-based-disk-con...
(or your subset of favorites)
It still kinda is as long as macOS supports Intel, but the writing is on the wall: https://news.ycombinator.com/item?id=39728146
Anyways, curious what you have in mind.
If I couldn't afford the hardware I would definitely get a hackintosh. One weekend of suffering to get it working, vs a lifetime of suffering with Linux.
From the numbering scheme, the "4" in "RP2040" is log2(ram/16K). If we wanted to emulate a Lisa, we'd need 1MB of RAM, which would mean, at least, an RP2060 chip (log2(1024/16) = 6) or, more comfortably, an RP4x70 or RP2x80). Those parts, unfortunately, don't exist yet. Maybe they get inspired with their IPO and start making those parts.
I think "Atto Mac" rolls off the tongue nicely.
Sometimes this happens.
To be honest, I'd bet Bill Atkinson knew every trick in the book and used many for making MacPaint work in the original constraints provided.
I'm not sure that's a fair fight for the author.
As microcontrollers get faster, the cycle-accurate timing becomes less relevant, as you can still match external timings with software and have the support of an RTOS to help with that.
Although, it might be cool with e-ink, low refresh rate notwithstanding.
Would be interesting to see how the ROM deals with changes in display geometry (the Portable wasn’t 512x284) - how hard would it be to make a 1024x768 portrait Mac or some other versions that never existed.
Mini vMac lets you change the emulated resolution: https://www.gryphel.com/c/minivmac/options.html#option_xres. Works very well in my experience.