The Strangest Gameboy Emulator We’ve Seen Yet

In the secret Hackaday bunker, we have some emacs users, some vi users, and some people who don’t really care. However, even the staunchest of our emacs supporters had to do a double take at [Vreeze’s] project that creates a GameBoy emulator using the venerable text editor. You can see [Alexei Nunez’s] reaction to the emulator in the video below.

The Eboy uses unicode characters to output the graphics. You can use emacs commands to load ROM images and use your keyboard to control the game.

Continue reading “The Strangest Gameboy Emulator We’ve Seen Yet”

Corn Starch Fixes A Game Boy Screen

Nintendo’s Game Boy was the handheld of the 1990s. Like many of their products, it was famous for its ability to stand up to punishment from angry children and military strikes alike. Its biggest weakness is perhaps its unbacklit LCD screen. Retrogamers and chiptuners alike find themselves modifying and replacing these regularly.

A common problem during these swaps is “Newton rings” – an issue where the polarizer comes into contact with the LCD glass, causing unsightly visual artifacts. Thankfully, there is a simple fix. It’s possible to keep the two separated with the application of microscopic particles, too small to see. [esotericsean] uses cornstarch, while [bogamanz] favors diatomaceous earth. For best results, a makeup brush can be used to apply a fine coating, and compressed air used to clean out the Game Boy and remove any excess.

It’s rare to fix a delicate screen problem with a household staple, but gratifying when it works. The results are hard to see on camera, but many report this fixing the frustrating issue. So, if you’re planning to backlight your Game Boy, keep this in your bag of tricks. It’ll allow you to get the best possible result, and may be useful on other old-school LCDs as well. Video after the break.

Continue reading “Corn Starch Fixes A Game Boy Screen”

Playing Pokemon On A CRT Thanks To A Powerful Microcontroller

Microcontrollers come in a broad swathe of capabilities these days. There are the venerable 8-bit micros that have been around forever and valiantly crunch away, all the way up to modern 32-bit powerhouses with advanced peripherals and huge amounts of RAM and ROM. If you’re blinking a few LEDs or opening a garage door, the former is fine. For what [Jared] had in mind, a little more horsepower was required.

[Jared]’s project started out as an experiment with composite video output on a STM32F446RE microcontroller. Using a 4-bit resistor DAC, the device was able to output NTSC signals, using interrupts and NOPs to handle timing. The hardware worked, and was tested by playing the entirety of Star Wars: A New Hope from an SD card.

Attention then turned to creating a Game Boy emulator for the platform. After many hurdles with various bugs and edge cases, things started working, albeit slowly. The Pokemon game ROM wouldn’t fit in the microcontroller’s limited flash storage, so [Jared] implemented a complicated bank switching scheme. This combined with the limited computational resources meant the game was playable, but limited to just 10 FPS.

Enter the STM32H7. With over double the clock speed and capable of 856 DMIPS versus 225 of the original chip, things were coming together. Pokemon now ran at 60 FPS, and the built-in DAC greatly improved the sound. The DMA subsystem allowed further performance gains, and even running in debug mode, performance far exceeded that of the previous hardware.

With unit prices of most microcontrollers being remarkably low, it goes to show that once you’ve tapped out on performance on one platform, there’s usually a faster option available. It’s possible to emulate the Game Boy on the ESP-32 too, as Sprite_TM showed us in 2016. Video after the break.

[Thanks to Ben for the tip!]

Continue reading “Playing Pokemon On A CRT Thanks To A Powerful Microcontroller”

SNES Portable Leverages Flash Cart For More Games

Handheld consoles have to make a lot of design choices that their TV connected brethren don’t have to worry about. Battery life is important, as is screen visibility, and the games can’t be too bulky or unwieldy if you’re going to be carrying them around all day. [Chris] is no stranger to building handheld versions of home consoles, and took a few of these lessons on board in his latest portable SNES build.

The motherboard was provided by a SNES Jr., a lightweight, compact model released towards the end of the console’s reign. This was small enough that it required no trimming, however [Chris] elected to replace the inefficient 7805 with a more modern switching regulator. The case was 3D printed on a typical FDM setup, while the buttons were produced on a Form 2 for better dimensional accuracy and surface finish.

The flash cart PCB is permanently wired to the motherboard.

The real party piece, however, is the use of an SD2SNES flash cart. This allows a huge variety of ROMs to be loaded onto a single SD card, and played on the original console hardware. This is particularly useful in a portable build, as it becomes possible to carry all the games you could want, rather than having to juggle several full-sized SNES cartridges. The SD2SNES is wired in place permanently inside the console, with an impressive number of patch wires between the motherboard and the cartridge PCB. Despite the long lead length, [Chris] reports no issues with the connection.

There are some limitations – the flash cart doesn’t work properly for games using extra chips on the cartridge, like the SuperFX in Star Fox, for example. Despite this, it’s an excellent, high quality build that we’re sure is a lot of fun to play out and about.

We’ve seen [Chris]’s work before – this portable N64 is a particularly nice example. Video after the break.

Continue reading “SNES Portable Leverages Flash Cart For More Games”

Nintendo 64 Homebrew Via Game Shark

The Nintendo 64 is a classic console now, and much loved, despite losing in commercial stakes to the dominating PlayStation from Sony. It’s one that doesn’t always get as much attention in the homebrew and hacker scene, compared to platforms like the NES and Game Boy. This means the tools required to work with the console aren’t as well-known. However, there’s a remarkably easy way to load homebrew on to the Nintendo 64, if you’ve got the right hardware.

To pull this off, you’ll need a N64 Gameshark, particularly a version higher than 3.0. These included a parallel port and the relevant onboard logic to allow the console to receive data and commands from an attached computer. [Nathan] demonstrates using the gs_libusb utility to deliver homebrew code to the console, using a USB to parallel adapter to make it easy from a modern computer.

The tools are available on github if you wish to try the hack for yourself. Most hacks we see of the platform are of the portable variety, but if you’ve got something fresh, you know who to call.

Continue reading “Nintendo 64 Homebrew Via Game Shark”

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”

Pokemon Cries And How They Work

If you grew up watching the Pokémon TV series, you’d naturally be familiar with the cries of all your favourite Pocket Monsters. Most of the creatures in the anime tend to say their own name, over and over again. Pour one out for the legions of parents who, upon hearing a distant “PIKA PIKA!”,  still involuntarily twitch to this day.

However, the games differ heavily in this area. Generation I of Pokémon was released on the Game Boy, which simply didn’t have the sound capabilities to deliver full bitstream audio. Instead, sounds were synthesized for the various Pokémon based on various parameters. It’s quite a deep and involved system, but never fear – help is at hand via [Retro Game Mechanics Explained].

The video breaks down, at a bitwise level, how the parameters are stored for each Pokémon’s cry, and how they are synthesized. It’s broken down into easily understandable chunks, explaining first how the Game Boy’s sound hardware works, with two pulse channels and a noise channel, before later expanding upon why some Pokémon have the same or similar cries.

It’s a tour de force in retro game reverse engineering, and expertly presented with high quality graphical guides as to what’s going on at the software level. There’s even an emulator you can use to explore the various cries from the original game, and generate your own, too.

Now that we’re up to speed with Pokémon, how about fixing bugs in a 37 year old game? Video after the break.

Continue reading “Pokemon Cries And How They Work”