Reading Out An EPROM – With DIP Switches

We’re all too spoiled nowadays with our comfortable ways to erase and write data to persistent memory, whether it’s our microcontroller’s internal flash or some external EEPROM. Admittedly, those memory technologies aren’t exactly new, but they stem from a time when their predecessors had to bathe under ultraviolet light in order to make space for something new. [Taylor Schweizer] recently came across some of these quartz-window decorated chips, and was curious to find out what is stored in them. Inspired by the BIOS reverse engineering scene in Halt and Catch Fire, he ended up building his own simple reader to display the EPROM’s content.

The 2732 he uses is a standard EPROM with 32kbit memory. Two pins, Chip Enable and Output Enable, serve as main control interface, while 12 address pins select the data stored in the chip’s internal 4K x 8 arrangement, to output it on the 8 data output pins. You could of course hook up the EPROM to a microcontroller and send what you read via serial line, but [Taylor] opted for a more hands-on approach that lets him read out the data in a manual way. He simply uses a bank of DIP switches to set the address and control pins, and added a row of LEDs as display.

As you can see from the short demonstration in the video after the break, reading out the entire EPROM would be a rather tedious task this way. If you do have more serious intentions to read out the content, you could have a look at one of those microcontroller based solutions sending data via serial line after all.

Continue reading “Reading Out An EPROM – With DIP Switches”

Spectre And Meltdown: How Cache Works

The year so far has been filled with news of Spectre and Meltdown. These exploits take advantage of features like speculative execution, and memory access timing. What they have in common is the fact that all modern processors use cache to access memory faster. We’ve all heard of cache, but what exactly is it, and how does it allow our computers to run faster?

In the simplest terms, cache is a fast memory. Computers have two storage systems: primary storage (RAM) and secondary storage (Hard Disk, SSD). From the processor’s point of view, loading data or instructions from RAM is slow — the CPU has to wait and do nothing for 100 cycles or more while the data is loaded. Loading from disk is even slower; millions of cycles are wasted. Cache is a small amount of very fast memory which is used to hold commonly accessed data and instructions. This means the processor only has to wait for the cache to be loaded once. After that, the data is accessible with no waiting.

A common (though aging) analogy for cache uses books to represent data: If you needed a specific book to look up an important piece of information, you would first check the books on your desk (cache memory). If your book isn’t there, you’d then go to the books on your shelves (RAM). If that search turned up empty, you’d head over to the local library (Hard Drive) and check out the book. Once back home, you would keep the book on your desk for quick reference — not immediately return it to the library shelves. This is how cache reading works.

Continue reading “Spectre And Meltdown: How Cache Works”

The King Of All Game Genies In An Arduino

While Nintendo is making a killing on nostalgic old consoles, there is a small but dedicated group of hackers still working with the original equipment. Since the original NES was rolled out in the 80s, though, there are a few shortcomings with the technology. Now, though, we have Arduinos, cheap memory, and interesting toolchains. What can we do with this? Absolutely anything we want, like playing modern video games on this antiquated system. [uXe] added dual-port memory to his ancient NES console, opening up the door to using the NES as a sort of video terminal for an Arduino. Of course, this is now also the King of All Game Genies and an interesting weekend project to boot.

Most NES cartridges have two bits of memory, the PRG and CHR ROMs. [uXe] is breaking out the cartridge connector onto an exceptionally wide rainbow ribbon cable, and bringing it into a custom Arduino Mega shield loaded up with two 16K dual-port RAM chips. These RAM chips effectively replace the PRG and CHR ROMs Since these are dual-port RAM chips, they can be written to by the Arduino and read by the NES simultaneously.

The NES sees one port of the RAM and can read and write from it while the Arduino still has access to make changes to the other post while that’s happening. A trick like this opens up a whole world of possibilities, most obviously with tiling and other graphics tricks that can push beyond the console’s original capabilities. [uXe] is currently playing Arduboy games on the NES — a really neat trick to pull off. Well done [uXe]!

Be sure to check out the video below of the NES running some games from the Arduboy system. It seems to integrate seamlessly into the hardware, so if you’ve always had a burning desire to fix crappy graphics on some of your favorite games, or run some special piece of software on an NES, now might just be your time to shine.

Continue reading “The King Of All Game Genies In An Arduino”

Magnetic Tape Storage May Not Be Retro

Magnetic storage is quickly becoming an antiquated technology but IBM may have given it a few more years. Currently, magnetic storage is still manufactured as hard disk drives (HDDs) but you won’t find a tape drive in a modern consumer computer. That’s not likely to change but IBM is pushing the envelope to make a tape drive that will be smaller and more economical than other massive storage options. In many ways, they’re the antithesis of solid state drives (SSDs) because tape drives are slow to retrieve data but capable of holding a lot inexpensively.

Three advances are responsible for this surge in capacity. Firstly, the tape “grains,” where each bit is recorded, have been shrunk by sputtering metal to a film instead of painting it on. Secondly, better servo control allows the reading mechanisms to read those tiny grains with the necessary accuracy. Lastly, stronger computation is used to read the data by using error detection and correction because when your tape is traveling four meters per second, it takes a long time to go back and double-check something.

IBM’s tape drive won’t replace your hard drive but it could back it up daily, many times over.

Check this out if your wetware needs a memory boost or this if your breakfast needs a memory boost.

Chest Of Drawers Stores Audio Memories

Some people collect stamps, some collect barbed wire, and some people even collect little bits of silicon and plastic. But the charmingly named [videoschmideo] collects memories, mostly of his travels around the world with his wife. Trinkets and treasures are easy to keep track of, but he found that storing the audio clips he collects a bit more challenging. Until he built this audio memory chest, that is.

Granted, you might not be a collector of something as intangible as audio files, and even if you are, it seems like Google Drive or Dropbox might be the more sensible place to store them. But the sensible way isn’t always the best way, and we really like this idea. Starting with what looks like an old card catalog file — hands up if you’ve ever greedily eyed a defunct card catalog in a library and wondered if it would fit in your shop for parts storage — [videoschmideo] outfitted 16 drawers with sensors to detect when they’re opened. Two of the drawers were replaced by speaker grilles, and an SD card stores all the audio files. When a drawer is opened, a random clip from that memory is played while you look through the seashells, postcards, and what-have-yous. Extra points for using an old-school typewriter for the drawer labels, and for using old card catalog cards for the playlists.

This is a simple idea, but a powerful one, and we really like the execution here. This one manages to simultaneously put us in the mood for some world travel and a trip to a real library.

Continue reading “Chest Of Drawers Stores Audio Memories”

Hack Your Memory

Imagine a fire hydrant being lifted high into the air by a large helium balloon. It goes higher and higher, but suddenly gas starts to leak out of the nozzle, which makes it sound like it’s trying to talk… but with a distinct lisp. A colorful bumblebee then lands on the balloon, licks it, and says “really yum!”  Then the bee takes out its stinger and bores on to the balloon. It pops, causing the fire hydrant to come crashing down. It smashes into a military jeep causing a massive explosion… as if it had been destroyed by a car bomb. Fortunately, the owner of the jeep, a general, was out on his rowing boat at the time. He likes to row his boat at night, and is known as the “night-rowing general” around the base. He was rowing with a bit more exertion than usual, and had to don an oxygen mask to help him breath. But the mask was full of fluoride, which turned his teeth bright neon colors.

You’re probably wondering what the hell you just read. Maybe you’re thinking the author had a stroke. Has the site been hacked? Maybe it’s a prank? What if I told you that you’ve just memorized the first 10 elements of the periodic table.

The Night-Rowing-General via Memorize Academy
  • Fire hydrant – Hydrogen
  • Helium balloon – Helium
  • Lisp – Lithium
  • Bee says “really yum” – Beryllium
  • Bee “Bores on” – Boron
  • Car bomb – Carbon
  • The night-rowing-general – Nitrogen
  • Oxygen mask – Oxygen
  • Fluoride – Florine
  • Neon teeth – Neon

Much of your memory is stored in the form of associations. Encoding things you need to remember into a silly story takes advantage of this fact. The memory of a ‘night-rowing-general’ is already in your head. You can see him in the theater of your mind… rowing his boat under a black sky… the silver stars on his green hat reflecting the moonlight. Associating this visual representation of the night-rowing-general with the term ‘Nitrogen’ is very easy for your brain to do.

You’re probably already familiar with this type of learning. Does “Bad Boys Run Over Yellow Gardenias Behind Victory Garden Walls” ring a bell?  It’s nothing new. In fact, storing memories in the form of mental images was the preferred memorization method of the scholars in ancient times. Today, it has allowed people to perform staggering feats of memorization. Want to know how [Akira Haraguchi] was able to memorize 111,700 digits of Pi?

Continue reading “Hack Your Memory”

Best Product Entry: Emulating Memory

For this year’s Hackaday Prize, we’re giving everyone the opportunity to be a hardware startup. This is the Best Product portion of the Hackaday Prize, a contest that will award $30,000 and a residency in our Design Lab to the best hardware project that is also a product.

Imagine all the memory chips in all the landfills in the world. What if we could easily recover those hosed motherboards and swap out ROM files on malware-damaged chips. That’s the promise of [Blecky]’s EEPROM/Flash Emulator project on Hackaday.io. This project seeks to be the ultimate memory interface, emulating SPI-interface EEPROM or Flash memory chipsets with ease. It can also be used as a security device, checking the BIOS for untoward changes.

The EEEmu packs an Atmel SAM4S Cortex-M4 processor-based microcontroller, an SD card reader, a micro USB for reprogramming, boost converter, voltage regulator, and includes additional 3.3V GPIO/I2C ports, all on a wee 51.5x20mm circuit board. Version 2 is slated to include more features to facilitate use as a normal micro controller: more GPIO pins, USB voltage monitoring, and high-Z control for SPI output.

EEEmu is completely open source, with [Blecky] sharing his code on GitHub and even has created an EEEmu Fritzing part, also found in his repository.