A Low-Cost ROM Programmer With An AI Twist

There are 0x10 ways to look at ROM programmers: they’re either relatively low-cost tools that let you quickly get about the business of programming vintage ROMs and get back to your retrocomputing activities, or they’re egregiously overpriced on a per-use basis. [Anders Nielsen] seems to land in the latter camp, firmly enough that he not only designed a dedicated ROM programmer for his 65uino ecosystem, but also suffered the indignities of enlisting ChatGPT to “help” him program the thing.

We’ll explain. [Anders]’ 65uino project has been going on for a while, with low-cost ROM programming only the latest effort. To his way of thinking, a $60 or $70 programmer might just be a significant barrier to those trying to break into retrocomputing, and besides, he seems to be more about the journey than the destination. He recently tackled the problem of generating the right programming voltages; here he turns his attention to putting that to work programming vintage ROMs like the W27C512.

Doing so with a 6502-based Arduino-compatible microcontroller requires some silicon calisthenics, including a trio of shift registers to do the addressing using a minimum of GPIO. As for the ChatGPT part, [Anders] thought asking the chatbot to help write some of the code would be a great way to increase his productivity. We thought so too, at least once, and like us, [Anders] concluded that while perhaps helpful in a broad sense, the amount of work you put into checking a chatbot’s work probably exceeds the work saved. But no matter, because in the end the code and the hardware came together to create a prototype ROM programmer for only about $10 worth of parts.

True, the resulting circuit is a bit complex, at least on a breadboard. It should clean up nicely for an eventual PCB version, though, one that plugs right into the 65uino board or even other microcontrollers. Either way, it could make creating custom ROMs for the 65uino a little more accessible.

Continue reading “A Low-Cost ROM Programmer With An AI Twist”

Two pictures of the mobo side by side, both with kapton tape covering everything other than the flash chip. On the left, the flash chip is populated, whereas on the right it's not

Enabling Intel AMT For BIOS-over-WiFi

Intel ME, AMT, SMT, V-Pro… All of these acronyms are kind of intimidating, all we know about them is that they are tied to remote control technologies rooted deep in Intel CPUs, way deeper than even operating systems go. Sometimes though, you want remote control for your own purposes, and that’s what [ABy] achieved. He’s got a HP ProDesk 600 G3 Mini, decided to put it into a hard to reach spot in his flat, somewhere you couldn’t easily fetch a monitor and a keyboard for any debugging needs. So, he started looking into some sort of remote access option in case he’d need to access the BIOS remotely, and went as far as it took to make it work. (Google Translate)

The features he needed are covered by Intel AMT — specifically, BIOS access over a WiFi connection. However, his mini PC only had SMT enabled from the factory, the cut-down version of AMT without features like wireless support. He figured out that BIOS dumping was the way, promptly did just that, found a suitable set of tools for his ME region version, and enabled AMT using Intel’s FIT (Flash Image Tool) software.

Now, dumping the image could be done from a running system fully through software, but apparently, flashing back requires an external programmer. He went with the classic CH341, did the 3.3 V voltmod that’s required to make it safe for flash chip use, and proceeded to spend a good amount of time making it work. Something about the process was screwy, likely the proprietary CH341 software. Comments under the article highlight that you should use flashrom for these tasks, and indeed, you should.

This article goes into a ton of detail when it comes to working with Intel BIOS images — whichever kind of setting you want to change, be it AMT support or some entirely different but just as tasty setting, you will be well served by this write-up. Comments do point out that you might want to upgrade the Intel ME version while at it, and for what it’s worth, you can look into disabling it too; we’ve shown you a multitude of reasons why you should, and a good few ways you could.

Switching Converter For EEPROM Programmer Taxes Solderless Breadboard

We all know that solderless breadboards have their limitations. All that stray capacitance can play hell with circuits, especially high-speed stuff, but they’re so darn useful that avoiding them in favor of some other prototyping method can be really hard. So we often just forge ahead, plugging in our parts and hoping for the best

A recent veteran of the breadboard battle is [Anders Nielsen], who kicked off a new project by prototyping this high-voltage boost converter on a breadboard, with mixed results. The project is a scratch-built programmer for old-school ROM chips, a task normally farmed out to a dedicated programmer, but where’s the sport in that? Besides, this is the future, and generating the 12 to 14 volts needed should be a snap. And it would be, except for the fact that his chosen chip, a MIC2288 switching boost regulator, is only available in an SMD package. Getting the chip and a few other SMD support components onto breadboard-compatible breakouts proved to be challenging, and getting it working once it was there was even more work.

A lot of the trouble was down to simple breadboarding errors, but the big problem was the input capacitance, which [Anders] had to fiddle with quite a bit to get the converter to 14 volts. The current maxes out at about 25 mA before the voltage starts dropping, which just might be enough to burn those old chips, so we’ll call this a provisional win and see what happens when he builds the rest of the programmer.

[Anders]’ experience here raises a good question: what’s the best way to prototype using fussy SMD components? PCBs are cheap enough that it’s tempting to go straight to one, but swapping parts in and out like he had to do here to get everything just right would be much harder that way. We’re not sure we know the answer, but we’re pretty sure we’ll hear your thoughts on that in the comments section.

Continue reading “Switching Converter For EEPROM Programmer Taxes Solderless Breadboard”

A Flasher Mac, 25 Years Later

Apple Macintosh computers of the 1990s came with a system ROM containing an Open Firmware implementation and the Mac Toolbox required to start the operating system. In many cases this was on a SIMM-like daughter board, and it would have been a true ROM that was unable to be reprogrammed. This is not the end of the story though, and [Doug Brown] set out on the trail of a Flash-based ROM module allowing the firmware on these machines to be updated.

The trail was warm thanks to an Apple developer utility found on a secondhand Mac prototype, allowing ROM flashing. A little disassembly allowed a list of valid IDs to be made, and this info coupled with a bit of reverse engineering from online photos of a real Apple Flash ROM from the ’90s allowed a new board to be created with four Am28F020  chips. He can now flash at will, with such oddities as running ROMs from different machines with the “wrong” startup chime. It’s an interesting little piece of 1990s Mac trivia, settled.

This isn’t the first time we’ve peered at Apple ROMs, indeed some of the older ones had plenty of Easter eggs hidden within.

Stuffing A 32-Pin Chip Into A 28-Pin Socket

What’s the difference between a 64k ROM in a 28-pin DIP and a 128k ROM in a 32-pin DIP? Aside from the obvious answers of “64k” and “four pins,” it turns out that these two chips have a lot in common, enough so that it only takes a little bodging to make them interchangeable — more or less.

For a variety of reasons revealed in the video below, [Anders Nielsen] use the SST39SF010, a Flash ROM in a 32-pin DIP, in place of the old standby W27C512, an EEPROM in a 28-pin DIP. To deal with those pesky extra pins on the Flash ROM, [Anders] dug into the data sheets and found that thanks to JEDEC standards, almost everything about the pinouts of the two chips is identical. The only real difference is the location of Vcc, plus the presence of a 16th address bus line on the more capacious Flash ROM.

Willing to sacrifice the upper half of the Flash chip’s capacity, [Anders] set about bodging the 32-pin chip to work in a 28-pin socket. The mods include a jumper from pin 32 to pin 30 on the Flash chip, which puts Vcc in the right place, and adding a couple of pull-up resistors for write-enable and A16. Easy enough changes, but unfortunately, [Anders] chose a Flash ROM with heavily oxidized pins, leading to some cold solder joints and intermittent problems while testing. There’s also the fact that not all boards have room for overhanging pins, a problem solved by adding a socket to create a little vertical clearance.

We found this to be a neat little hack, one that should make it a bit easier to use the wrong chip for the job. If you want to see where [Anders] is using these chips, check out his 6502 in an Arduino footprint or the bring-up of an old XT motherboard.

Continue reading “Stuffing A 32-Pin Chip Into A 28-Pin Socket”

HP1973 Project Highlights Workings Of HP-45 Calculator

[Sarah K Marr] dabbles in retrocomputing and has a fascination with the Hewlett Packard HP-45 calculator, the second calculator in HP’s series introduced in 1973. Over a year ago, she wrote an HP-45 emulator for use on a terminal, dubbed HP45TERM. Not content with success, she upped the challenge and decided to build an even better emulator with a full-featured GUI written in Python. Oh, and she made it multi-platform as well. The result is the HP1973 project.

[Sarah] thought it would take just a few days, but it grew into a much bigger project, as often happens. We’re glad it did because the results are fantastic. The emulator gives you access not only to the calculator itself but can see everything under the hood. The emulator provides full ROM visibility, hardware registers, and standard debugging operations like single stepping. ROM images are available for the HP-45, the HP-35, and the HP-80. The GUI display is configurable, and there’s a plethora of help and information explaining the calculator’s internals. Pre-built binaries are available for MacOS, Windows, and Python source code (3.10.10+) for all operating systems (you’ll need to `pip install numpy` first). The emulation is faithful to the original calculator, and even the hidden timer function can be accessed.

Check this out if you’re into retro calculators. Our own Al Williams wrote about the history of the HP-35 back in 2018 if you want to learn more. Thanks to [J Peterson] for sending in the tip.

Smooth Animations, Slick Bar Graphs, But No Custom Characters On This 16×2 OLED

Sometimes, finding new ways to use old hardware requires awesome feats of reverse engineering, software sleight of hand, and a healthy dose of good fortune. Other times, though, it’s just as simple as reading the data sheet and paying attention to details.

Not that we’re knocking [upir]’s accomplishment with these tricked-out 16×2 OLED displays. Far from it, in fact — the smoothly animated bar graph displays alphanumerics look fantastic. What’s cool about this is that he accomplished all this without resorting to custom characters. We’ve seen him use this approach before; this time around, the hack involves carefully shopping for a 16×2 OLED display with the right driver chip — a US2066 chip. You’ll still need a few tricks to get things working, like extra pull-up resistors to get the I2C display talking to an Arduino, plus a little luck that you got a display with the right character ROM.

Once all that is taken care of, getting the display to do what you want is mainly a matter of coding. In the video below, [upir] does a great job of walking through the finer points, and the results look great. The bar graphs in particular look fantastic, with silky-smooth animations.

Continue reading “Smooth Animations, Slick Bar Graphs, But No Custom Characters On This 16×2 OLED”