PicoROM, A DIP-32 8-Bit ROM Emulator

As we all know, when developing software for any platform or simply hacking a bit of code to probe how something works, the ability to deploy code rapidly is a huge help. [Martin Donlon], aka [wickerwaka], is well known in retro gaming and arcade hardware reverse engineering circles and had the usual issues figuring out how an arcade CPU board worked while developing a MiSTer core. Some interesting ASICs needed quite a bit of poking, and changing the contents of socketed ERPOMs is a labour-intensive process. The solution was PicoROM, a nicely designed ROM emulator in a handy DIP-32 form factor.

As the title suggests, PicoROM is based on the Raspberry Pi RP2040. It emulates an 8-bit ROM up to 2MBits in size with speeds up to 100ns. Since it uses the RP2040, USB connectivity is simple, enabling rapid uploading of new images to one (or more) PicoROMs in mere seconds. A vertically orientated USB-C connector allows multiple PicoROMs to be cabled to the host without interfering with neighbouring hardware. The firmware running on core 1 passes data from the internal 264K SRAM, using the PIO block as a bus interface to the target. A neat firmware feature is the addition of a mechanism to use a ROM region as a bidirectional control channel, which the software running on the target can use to communicate back to the host computer. This allows remote triggering of actions and the reporting of responses. Responses which may not be physically observable externally. [Martin] is using this feature extensively to help probe the functionality of some special function chips on the target boards, which is still a slow process but helped massively by reducing that critical software iteration time. The PCB was designed with KiCAD. The project files for which can be found here.

This isn’t the first time we’ve seen the RP2040 used for ROM emulation; here’s a pile of wires that does the same job. It just isn’t as pretty. Of course, if you really must use EPROMs, then you could give this sweet programmer a look over.

Continue reading “PicoROM, A DIP-32 8-Bit ROM Emulator”

DIY Core Rope Memory Z80 Demonstrator Generating A Fibonacci Sequence

We’ve seen a few retro products using core rope memory, such as telephone autodiallers. Obviously, we’ve covered the Apollo program computers, but we don’t think we’ve seen a complete and functional DIY computer using core rope memory for program storage until now. [P-lab] presents their take on the technology using it to store the program for a Z80-based microprocessor demoboard, built entirely through-hole on a large chunk of veroboard.

For the uninitiated, core rope memory is a simple form of ROM where each core represents a bit in the data word. Each wire represents a single program location. Passing a wire through the core sets the corresponding bit to a logic 1, else 0. These wires are excited with an AC waveform, which is coupled to the cores that host a wire, passing along the signal to a pickup coil. This forms an array of rudimentary transformers. All that is needed is a rectifier/detector to create a stable logic signal to feed onto the data bus.

Continue reading “DIY Core Rope Memory Z80 Demonstrator Generating A Fibonacci Sequence”

Build Your Own Core Rope Memory Module?

[Luizão] wanted to create some hardware to honour the memory of the technology used to put man on the moon and chose the literal core of the project, that of the hardware used to store the software that provided the guidance. We’re talking about the magnetic core rope memory used in the Colossus and Luminary guidance computers. [Luizão] didn’t go totally all out and make a direct copy but instead produced a scaled-down but supersized demo board with just eight cores, each with twelve addressable lines, producing a memory with 96 bits.

The components chosen are all big honking through-hole parts, reminiscent of those available at the time, nicely laid out in an educational context. You could easily show someone how to re-code the memory with only a screwdriver to hand; no microscope is required for this memory. The board was designed in EasyEDA, and is about as simple as possible. Being an AC system, this operates in a continuous wave fashion rather than a pulsed operation mode, as a practical memory would. A clock input drives a large buffer transistor, which pushes current through one of the address wires via a 12-way rotary switch. The cores then act as transformers. If the address wire passes through the core, the signal is passed to the secondary coil, which feeds a simple rectifying amplifier and lights the corresponding LED. Eight such circuits operate in parallel, one per bit. Extending this would be easy.

Continue reading “Build Your Own Core Rope Memory Module?”

The ROM programmer on display, with an OLED screen attached

Relatively Universal ROM Programmer Makes Retro Tech Hacking Accessible

There’s treasures hidden in old technology, and you deserve to be able to revive it. Whether it’s old personal computer platforms, vending machines, robot arms, or educational kits based on retro platforms, you will need to work with parallel EEPROM chips at some point. [Anders Nielsen] was about to do just that, when he found out that a TL866, a commonly used programmer kit for such ROMs, would cost entire $70 – significantly raising the budget of any parallel ROM-involving hacking. After months of work, he is happy to bring us a project – the Relatively Universal ROM Programmer, an open-source parallel ROM programmer board that you can easily assemble or buy.

Designed in the Arduino shield format, there’s a lot of care and love put into making this board as universal as reasonably possible, so that it fits any of the old flash chips you might want to flash – whether it’s an old UV-erasable ROM that wants a voltage up to 30 V to be written, or the newer 5 V-friendly chips. You can use ICs with pin count from 24 to 32 pins, it’s straightforward to use a ZIF socket with this board, there’s LED indication and silkscreen markings so that you can see and tweak the programming process, and it’s masterfully optimized for automated assembly.

You can breadboard this programmer platform as we’ve previously covered, you can assemble our own boards using the open-source files, and if you don’t want to do either, you can buy the assembled boards from [Anders Nielsen] too! The software is currently work in progress, since that’s part of the secret sauce that makes the $70 programmers tick. You do need to adjust the programming voltage manually, but that can be later improved with a small hardware fix. In total, if you just want to program a few ROM chips, this board saves you a fair bit of money.

Continue reading “Relatively Universal ROM Programmer Makes Retro Tech Hacking Accessible”

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”