Commodore 64 And Nintendo Make Beautiful Music Together With SYNCART

Cyncart

[Dan] has been hard at work developing CYNCART to get his Commodore 64 and original NES to play together. We’ve seen [Dan’s] handiwork before, and it’s pretty clear that he is serious about his chip tunes.

This project starts with something called a Cynthcart. The Cynthcart is a Commodore 64 cartridge that allows you to control the computer’s SID chip directly. In effect, it turns your Commodore 64 into a synthesizer. [Dan] realized that the Commodore’s user port sends out simple eight bit values, which happens to match perfectly with the NES’ controller ports. In theory, he should be able to get these two systems communicating with each other.

[Dan] first modified the Cynthcart to send data out of the user port on the Commodore. This data gets sent directly to the NES’ 4021 shift register chip in the second player controller port. The NES runs a program to turn this data into sound on the NES’ audio chip. The first player controller can then be used to modify some other sound settings on the NES. Musical notes are played on the Commodore’s keyboard. This setup can also be used to play music on both systems at the same time. Be sure to watch the video of the system in action below.

Continue reading “Commodore 64 And Nintendo Make Beautiful Music Together With SYNCART”

Dual Port RAM Teaches An Old NES New Tricks

nesDPR

[Andrew] is developing a game for the Nintendo Entertainment System (NES). Emulators are great for this, but [Andy] loves running on the real iron. To help, he’s created a dual port RAM interface for his NES. As the name implies, a dual port RAM is a memory with two separate data and address buses. The Cypress Semiconductor CY7C136 [Andy] used also includes arbitration logic to ensure that both ports don’t attempt to access the same memory cell and cause data corruption. In [Andy’s] case the NES was on one side, oblivious to the new hardware. On the other side of the dual port RAM, [Andy] installed an ATmega164 running his own custom firmware.

The new hardware gives [Andy] a live view of what’s going on in the NES’s memory. He added a live memory view/edit screen similar to the FCEUX emulator. The window runs on a PC while the game itself is running on an NES. [Andy] was even able to add rudimentary break and step features by connecting his circuit to the Non Maskable Interrupt (NMI) line of the NES. By holding the NMI asserted, the ATmega can essentially freeze the game in progress.

[Andy] has even used his circuit to teach the NES some new tricks. By reading the timer and score memory locations on Ice Hockey, he was able to create a scoreboard and goal light. Similar techniques were used to give Contra a muzzle flash light which puts Ambilight systems to shame.

We don’t know what [Andy] is planning next, but we hope it’s a source release so we can start hacking some some games ourselves!

Click past the break to see a couple of [Andy’s] Vine videos.

Continue reading “Dual Port RAM Teaches An Old NES New Tricks”

NES Cartridge Hack Makes Great Novelty Gift

NES cartridge with arduino

Most all of us recall the Blinking Screen of Death on original NES systems. This was caused by a bad connection between the cartridge and the NES cartridge connector. For whatever reason, it became a very popular idea to give a quick blow down the cartridge, even though this didn’t really help. [Dale] decided to play on this annoying problem by making the NES Blow Cart!

Inspired by a previous cartridge hack, [Dale] mounted a custom made circuit sporting the ever popular ATtiny85 in a Super Mario / Duck Hunt cartridge. A small microphone sits where the original cartridge connector was, along with the on/off switch and program header. A quick blow triggers the ATtiny85 to play a song.

The most difficult part for [Dale] was to figure out how to get the ATtiny to play “music”. This was solved with the discovery of a library called Rtttl. This allowed him to take old Nokia Super Mario and Zelda ringtones and get them on the Attiny85. All files, including the rtttl library are available on his github. Be sure to stick around after the break for a video of the project in action.

Continue reading “NES Cartridge Hack Makes Great Novelty Gift”

Vacuum Formed Portable N64 Is The Real Deal

1_zpsc457798c

This portable N64 looks good enough to be sold in stores — that’s because [Bungle] vacuum formed the case!

He started by creating a wooden template of his controller, using bondo to add grips and features. Once satisfied with the overall look and feel of the controller, he threw it into his own vacuum former and created two shiny plastic halves.

He’s chosen a nice little 3.5″ LCD screen for the display, with a 7.4V 4400mAh battery pack that will last just over 4 hours of constant play — he’s included a battery indicator as well! An old N64 controller takes care of electronics, but [Bungle’s] gone and made custom buttons and is using a Gamecube style joystick as well. He’s included both the rumble pack and an internal memory card which can be changed with the flick of a switch. A tiny HMDX Go portable audio amp and speakers are also integrated directly into the controller.

Continue reading “Vacuum Formed Portable N64 Is The Real Deal”

Super Mario On A Human-Machine-Interface!

super mario

Getting Super Mario to work on your TI-83 calculator is almost a rite of passage for young geeks, so we really liked this project where [Chad Boughton] managed to get it running on a PLC’s HMI screen instead!

He’s using a Danfoss DP600LX microcontroller with an HMI display along with a CAN bus joystick. This kind of equipment is typically used to control hydraulic systems, as well as display sensor data — [Chad] was curious to see if he could do animation with it as well — it looks like he’s succeeded! The funny thing is we’ve seen those “joysticks” before and it’s cool to see them used for something like this — like [Chad] said, they’re normally used for actuating hydraulic and pneumatic cylinders.

Stick around after the break to see Mario eat some mushrooms.

Continue reading “Super Mario On A Human-Machine-Interface!”

A Deep Dive Into NES Tetris

Tetris AI

Back in 1989, Nintendo released Tetris for the NES. This detailed article first explains the mechanics of how Tetris works, then builds an AI to play the game.

To understand the mechanics of the game, the ROM source was explored. Since the NES was based of the MOS 6502 microprocessor, this involves looking at the 6502 assembly. The article details how the blocks (called Tetriminos) are created and how they move across the screen. The linear feedback shift register used for random number generation is examined. Even details of the legal screen and demo mode are explained.

After the tour through how Tetris works, an algorithm for the AI is presented. This AI is implemented in Lua inside of the FCEUX NES/Famicom emulator. It works by evaluating all of the possible places to put each new Tetrimino, and choosing the best based on a number of criteria. The weighting for each criterion was determined by using a particle swarm optimization.

The source for both the Lua version and a Java version of the code is available with the article. Everything you need to run the AI is available for free, except the Tetris ROM. If you’re interested in how 8 bit games were built, this dissection is a great read.

[via Reddit]