New Game, Old Ways: Cramming An NES Game Into 40 KB

Why would anyone bother to create new content for a console system that’s staring down its 40th birthday? Perhaps just for the challenge of fitting a game into 40 kilobytes of storage.

That at least seems to be the motivation behind [Morphcat Games] pending release of Micro Mages, a new game for the Nintendo Entertainment System console that takes its inspiration from Super Mario Bros. The interesting bit here is how they managed to stuff so much content into so little space. The video below goes into great detail on that, and it’s a fascinating lesson in optimization. The game logic itself is coded in assembler, which of course is far more efficient than higher level languages. Even so, that took 32 kB of ROM, leaving a mere 8 kB for background elements and foreground sprites.

Through a combination of limited sprite size, tiling of smaller sprites to make larger characters, and reusing tiles by flipping them horizontally or vertically, an impressively complete palette of animated characters was developed. Background elements were similarly deconstructed and reused, resulting in a palette of tiles used to generate all the maps for the game that takes up just 60 bytes. Turning those into playable levels involves more mirroring and some horizontal shifting of tiles, and it looks like quite an engaging playfield.

Yes, there’s a Kickstarter for the game, but we’re mainly intrigued by what it takes to cram a playable game into so little space. Don’t get us wrong – we love the Retro Pie builds too, but seeing the tricks that early game developers relied upon to make things work really gets the creative juices flowing.

Continue reading “New Game, Old Ways: Cramming An NES Game Into 40 KB”

WiFi Remote Control Those Cheap LED Strips With An ESP8266 Passthrough

The explosion of cheap LED lighting products has given a never-ending array of opportunities for the resourceful hacker. A few dollars can secure strings of colourful illumination, but without further expenditure they lack the extra utility of electronic control. This is something that [Albert David has addressed] with his simple ESP8266-based WiFi switcher that he’s added to a string of USB-powered LEDs, and he’s neatly mounted the ESP-12 module it used atop a USB plug.

The circuitry is pretty straightforward, with only a couple of I/O lines being used. A transistor takes care of the heavy lifting, and the software comes courtesy of the Tasmota firmware for Sonoff (and similar) devices. We suspect with this economy of connection, the same task could be achieved even with the limited resources provided by the lesser ESP-01 module.

There was a time not so long ago when performing a task such as controlling a light over a wireless network involved significant cost, power, and complexity. In the nearly five years since we reported on the arrival of the ESP8266 we have progressed to the point at which that task is a simple project using commodity components, and that represents something of a miracle.

Preserving Floppy Disks Via Logic Analyser

The floppy disk is a technology that is known only to the youth of today as the inspiration for the Save icon. There’s a lot of retro computing history tied up in these fragile platters, thus preservation is key. But how to go about it? [CHZ-Soft] has found an easy way, using a logic analyzer and a healthy dose of Python.

Floppy drives have particularly low-level interfaces, offering up little more than a few signals to indicate the position of the head on the disk, and pulses to indicate changes in magnetic flux. The data is encoded in the pattern of flux changes. This has important implications as far as preservation goes – it’s best to record the flux changes themselves, and create an image of the exact magnetic state of the disk, and then process that later, rather than trying to decode the disk at the time of reading and backing up just the data itself. This gives the best likelihood of decoding the disk and preserving an accurate image of floppy formats as they existed in the real world. It’s also largely platform agnostic – you can record the flux changes, then figure out the format later.

[CHZ-Soft] takes this approach, explaining how to use a Saleae logic analyser and a serial port to control a floppy drive and read out the flux changes on the disk. It’s all controlled automatically through a Python script, which automates the process and stores the results in the Supercard Pro file format, which is supported by a variety of software. This method takes about 14MB to store the magnetic image of a 720KB disk, and can even reveal a fingerprint of the drive used to write the disk, based on factors such as jitter and timing.

It’s an impressive hack that shows that preservation-grade backups of floppy disks can be achieved without spending big money or using specialist hardware. We’ve seen other projects in this space before, too.

CES 1996 Las Vegas Convention Center

Retrotechtacular: HGTV, The Place For Everything CES 1996

It’s January, and that means it’s time once again for the Consumer Electronics Show. CES is the place where electronic manufacturers from all across the globe to show off their future products and make promises they probably can’t keep. Of course there is no better indicator of a company’s future than looking at the past, and thanks to [Home & Garden Television] we have a comprehensive look at what CES was twenty three years ago. The cable channel aired a special, “Plugged In with Wil Shriner”, covering CES 1996 and it is certainly illuminating to see in hindsight. Plus it even comes complete with “cable money” tier mid 90s motion graphics.

Over on YouTube, user [videoholic] has uploaded the HGTV CES ’96 special into five separate segments (links provided below). Some of the highlights include:

Part 1 – Home Video

  • Canon introduces IR eye tracking (akin to the New 3DS) in their camcorder line
  • Dual recording VCR from Sharp on one VHS tape provided you can fix the tracking with the remote.
  • The term “I triple E 1394” may just have been said for the first (and last) time ever on cable television.

Part 2 – Audio

  • A digital alarm clock from Oregon Scientific (called the Time Machine) that will tell you the weather.
  • Magellan thought, “Who needs a cell phone when you can have a satellite phone for $8000”.
  • Soundtube, the fashionable beer cozy for your gigantic speakers as seen on MTV Beach House.

Part 3 – Games & Multimedia

  • Noise Cancellation Technologies INC wanted to turn your cars headliner into a big ol’ speaker.
  • Cyber Pong promised online multiplayer a full decade before Rockstar’s Table Tennis on Xbox 360.
  • The Simpsons Cartoon Studio helps create fan fiction on multimedia CD-ROM.

Part 4 – Home & Office

  • Compaq’s PC keyboard with an integrated fax machine.
  • Norris Communication’s handheld voice recorder full of flash memory to offload to your PDA.
  • Crestron’s idea of home automation involved a touchscreen to operate a light switch (some things never change).

Part 5 – Digital Video

Make Your Own Dowels At Home

Dowels are a useful woodworking technology making it easy to connect several pieces of timber, particularly with the aid of adhesive. However, depending on where you live, it can be difficult to come by a wide variety of stock. This is particularly important if you’re concerned about appearances – cheap pine dowels could spoil the look of a delicately finished hardwood piece, for example.

Thankfully, it’s easy to make your own dowels at home. [Pask Makes] has used a simple dowel plate before, but this time, decided to build the deluxe version. A thick steel plate is drilled with a series of holes, and then mounted to a wooden block. Square stock can then be forced through the holes to produce the dowels.

[Pask] notes that there are several methods to use the dowel plate. Hammering the wood stock through the holes works best for hardwoods, while fitting the square stock into the chuck of a power drill and forcing it through while spinning gives a better finish on softer woods. There are also useful tips on how best to produce dowels, with notes on strength and grain orientation.

It’s a useful tool to have in your workshop, and means you can turn just about any wood into dowels for your woodworking projects. If you’re fresh to the world of wood, worry not – we’ve got the primer to get you started. Video after the break.

Continue reading “Make Your Own Dowels At Home”

Vintage Programmer Gets Modern Chip Adapter

While trying to revive a Donkey Kong Jr arcade board, [Jelmer Bruijn] found himself in the market for an EPROM programmer and became the proud owner of a 1990’s era Dataman S4. Despite its age, it’s a fairly nice tool which allows you to read and write a laundry list of different EPROM types, all without being tied to a computer. The only catch is that a few types of chips need an adapter to work in the Dataman S4, some of which are unsurprisingly no longer available.

After some above and beyond support from the current crew at Dataman set him on the right track, [Jelmer] decided to try his hand at reverse engineering how the old adapters worked so he could build his own. His ultimate goal was to read 40 pin EPROMs on the 32 pin Dataman S4, but in the end he says the information he gathered should be applicable for building other adapters if you ever find yourself in need of such things.

As you might expect, there’s a bit more to the project than a simple pin adapter. [Jelmer] assumed some kind of shift register or latching arrangement would be required to make up for the shortage of pins on the Dataman S4’s ZIF socket. It was just a matter of figuring out how it all went together.

Luckily, [Jelmer] found that the programmer would happily attempt to perform operations on a 16 bit EPROM even though no adapter was physically present. This gave him a chance to probe around with a logic analyzer to figure out what it was trying to accomplish. The trick turned out to be splitting the 16 bit bus into two 8 bit buses which are requested sequentially.

With careful observation, close studying of 16 bit chip datasheets, and much brow furrowing, he was eventually able to come up a design that used five 74xx573 latches and put a schematic together in Eagle. There were a few kinks to iron out when the boards finally arrived, but ultimately the design worked on the first try. [Jelmer] says the same technique should work for 42 pin EPROMs, but as Dataman still actually sell adapters for those he decided not to supply schematics for it.

[Jelmer] tells us that he was inspired to send this success story our way after reading how our very own [Elliot Williams] took the long away around to erase a couple UV EPROMs recently While this isn’t the first time we’ve seen somebody have to hack support for 16 bit EPROMs into their programmer, it’s good to see that the manufacturer at least had the customer’s back in this case.

Bad Apple!! Via The Arduino Mega

The Arduino Mega is a useful tool for the maker. Generally, once one has come up with plans for blinking LEDs that require more IO than is available on the Arduino Uno, one graduates to the Mega and goes for broke. However, it’s not typically what we’d consider as our first choice for video work. [Stephane] begs to differ, and coded this Bad Apple!! demo for the Arduino Mega 2560.

For those unfamiliar, video on the Arduino is actually somewhat of a solved problem – merely requiring a pair of resistors and some nifty code. The real meat of this hack is the video storage itself. It’s been done before, but by streaming data off an SD card or serial link. [Stephane] was determined to store everything on the Arduino itself, and thus the hack begun. Video data is stored as 1 bit per pixel, as it’s a simple black and white video as per the original inspiration. LZ77 compression was used to cram the data down without requiring too much RAM, which is a limited resource on the Mega. It’s video only, as the Mega is tapped out handling 3 minutes and 39 seconds of video storage, but future work may include syncing with a second Arduino to deliver the soundtrack.

It’s a hack that shows off [Stephane]’s ability to get impressive performance out of limited platforms. We’ve seen this before, with his excellent Star Fox port to the Arduboy. Video after the break.

Continue reading “Bad Apple!! Via The Arduino Mega”