Close
0%
0%

Super Famicade - Hardcore SNES Arcade Hack

Think Neo Geo MVS 4 Slot, then think Super Nintendo Entertainment System. Put 'em together and you've got yourself a Super Famicade.

Similar projects worth following
Ever seen a Nintendo Super System? This NSS machine was the inspiration for this project. There is a community of arcade enthusiasts over on KLOV that still speak of this machine frequently. Its strengths, its weaknesses, and its untapped potential.

For those who don't know, the Nintendo Super System was essentially an arcade machine with Super Nintendo internals, switchable between 3 different games. The system saw around 12 official game releases. A few of the earlier, more popular games.

A couple of the games for the NSS (like Actraiser, and The Addams Family) had specially designed versions of the games released in order to make the games more arcade friendly. It's a shame that more weren't specially designed for the system.

The goal of this project is to inject a bit more magic into the arcade experience of some of my favorite SNES games.

DONE:

  • Custom Joystick "Controller" board - Built and tested.
  • High Score save hack for Zombies Ate My Neighbors.
  • Number of Lives visible during level -- ZAMN hack.
  • Bloody Game Over sequence and Blood red "Beast" -- ZAMN Hack.
  • HUD Moved to bottom of screen -- ZAMN Hack.
  • Player 1 Coin-up support -- ZAMN Hack
  • Started Hack for SNES Test Program -- SuperFamicadeTestMenu
  • Started writing Game Selection Menu for Super Famicade.
  • Custom multitap circuit is finished. Decided to go with a scratch build rather than using the Arduino (in my other project) to avoid tricky timing issues. Need to clean up the schematic and pcb design before posting...
  • Removed Copy Protection for Megaman X. This is in preparation for using SRAM in my hack. -- MMX Hack

NEXT:

  • Support switchable Coin-up support -- ZAMN Hack.
  • Graphical Changes for "Arcade Mode" -- ZAMN Hack.
  • Code Changes for "Arcade Mode" -- ZAMN Hack
  • Finish TestMenu -- SuperFamicadeTestMenu

GOALS:

  • Super Famicade game selection menu with spc music support and automatic game start and switch. (shared SRAM-- since most of the games planned for hack inclusion didn't originally support SRAM, this becomes slightly less complicated.)
  • Hack of Megaman X - Add Score Tracking, High Score Saving, disable passwords in arcade mode, remove random 1-up pickups during arcade mode, modify HUD to show lives, automatic level selection (random stage for difficulty modifier, best path for easy), remove dialog for arcade mode.
  • Hack of NSS Actraiser to support SuperFamicade coin-up. Support original NSS jumper options if any.
  • Hack of NSS Adams Family to support SuperFamicade coin-up. Support original NSS jumper options if any.
  • Support switching between up to 4(+) arcade-enabled games using a single custom cartridge.

Optional Game Conversions (Ideas):

  • Super Bomberman 5 to support coin-up. Support for external controllers via custom multi-tap circuit.
  • Rushing Beat Shura (Peace Keepers) to support high score display during level, coin-up, high score saving, etc.
  • Rendering Ranger - Seems like it would survive the arcade conversion quite well.
  • Super Buster Brothers
  • Rock n' Roll Racing
  • Pocky and Rocky (KiKiKaiKai) 1 & 2
  • Battletoads & Double Dragon
  • Contra III - The Alien Wars
  • Wild Guns (High Score Save)
  • Shaq Fu (High Score Save)
  • Super Ghouls n' Ghosts
  • Super Punch Out
  • Super R-Type
  • Super Tetris 3 (Supports up to 4 players)
  • Super Turrican 1 & 2
  • Rushing Beat, Rushing Beat Ran
  • Final Fight 1, 2, 3
  • R-Type III

Leave suggestions for Arcade Conversions in the comments. I'll probably consider games that don't have an arcade version first. It's not likely that I'll get to many if any of the games in the optional list (apart from maybe allowing high score saving if feel like it).

SuperFamicadeController_v2.1.zip

Super Famicade Custom Controller Board Parts list and Fritzing sketch. Also includes Gerber production files as well as diy pdf image files. Small change to the pcb where corner holes are now 2.5mm instead of 2.1mm.

Zip Archive - 777.23 kB - 04/01/2016 at 06:00

Download

  • 1 × Custom SNES Multicart Plans still in progress...
  • 1 × SNES console I bought several of these as non-functional (battered) units on eBay.
  • 2 × Custom Controller Board Handles extra button presses... (Fritzing and Gerber files available.)

  • Super Adventure Island

    DackR05/12/2017 at 07:24 0 comments

    I've made some progress with Super Adventure Island.

    Here's a short video I posted on twitter:


    And a proof of concept screenshot:

  • Zombies

    DackR05/10/2017 at 05:11 0 comments

    I finally got around to fixing a bug in the ZAMN hack that was allowing multiple coins to be registered sometimes when it should have only been a single credit.

    I also got around to converting the source code to work with the xkas-plus assembler. It's muuuch better than regular old xkas, and it's also got the best features that were left out of byuu's bass assembler. So, I like it the best at the moment. :)

    I'm working on a plan for implementing difficulty settings. This will mainly focus on the number of weapon pickups and the amount of lives gained per credit. I will try to replace all instances of 1-ups on all levels with a different item.

    I've got to think of things to use the extra Super Famicade jumpers for. Currently, I've only got plans for the jumpers on the Player One side of things. This means I've got 3 more bits and 7 potential options to be utilized... I have no ideas.

    Here's the github link to the changes:

    https://github.com/danielburgess/ZAMN-SuperFamicade

  • Working on a few things

    DackR05/04/2017 at 09:15 0 comments

    *Sudden burst of motivation*

    The last couple of nights I've been working on my hack of Megaman X and doing some planning with regards to different arcade modes. I've included my notes thus far.

    Also, I finally got around to posting the source code for my Super Famicade version of bsnes-plus. This allows me to test the extra inputs used by the Super Famicase without having to test on the hardware. (makes things faster)

    Megaman X Partial notes:

    80be52 This line of code is executed only when the correct stage select button is pressed (or the values below are set)

    Megaman X Stage Triggers

    ------------------------

    7e1e49 - On stage select screen set to 06 to trigger stage start animation (set 1f7a first)

    7e1f7a - On stage select screen set to following values for different stages

    00 - Prologue Stage

    01 - Launch Octopus

    02 - Sting Chameleon

    03 - Armored Armadillo

    04 - Flame Mammoth

    05 - Storm Eagle

    06 - Spark Mandrill

    07 - Boomer Kuwanger

    08 - Chill Penguin

    09 - Sigma Stage 1

    0A - Sigma Stage 2

    0B - Sigma Stage 3

    0C - Sigma Stage 4

    Disable Start Menu

    -------------------

    8081b3 change to 29 00 10 (AND #$1000)

    Super Famicade Options

    ----------------------

    4 difficulty levels

    ----------------------

    Expert: Leg Upgrade Only - No Health Upgrades - No 1-ups EVER

    7e1f99 = 08

    7e1f9c = 00

    Hard: Leg Upgrade Only - 6 Health Upgrades

    7e1f99 = 08

    7e1f9c = 3d

    Medium: Leg, Head, Body Upgrade - 4 Health Upgrades

    7e1f99 = 0d

    7e1f9c = 0f

    Easy: Leg, Head, Body, Buster Upgrade - 8 Health upgrades

    7e1f99 = 0f

    7e1f9c = ff

    Jumpers: (only check during bootup)

    000 = Console Mode - Arcade Mode Off

    001 = Easy Mode

    010 = Medium Mode

    011 = Hard Mode

    100 = Expert Mode

    101 = Easy mode with 1-ups enabled

    110 = Medium mode with 1-ups

    111 = Hard mode with 1-ups

  • Slow Going

    DackR06/28/2016 at 01:48 0 comments

    I've been working on things as I have available time, but I've been busy with other things recently. I did convert a few of my projects from xkas assembly to bass, though I'm not 100% sold on the memory mapping features (or lack of) in bass, or the c-style comments (only supports the double-forward-slash), but I won't go into that here. It's possible that I just don't fully understand bass's way of handling the origin. I much preferred having to convert hirom/lorom addresses in xkas.

    Anyway, this log is more about documenting my thoughts concerning which games I will actually end up modifying for the final project. It's entirely possible that I will only get to one or two of the games on my list... and even that may take me a while. I may just focus my efforts on one game at a time since I tend to spread myself too thin in a sort of schizophrenic manner. I get bored when I start understanding things and begin moving into something I don't understand. I often don't realize I'm doing this until many hours into the next puzzle.

    So- I recently discovered the availability of several SNES competition ROMs. Donkey Kong Country, star fox, super mario kart, mario bros. lost levels, ken griffey, f-zero, pilot wings, and super mario world. I had seen articles on these competitions, but never realized the carts had been dumped. Now that I've come across them, I'm tempted to spend some time hacking them each into some kind of arcade-style competition. Realistically, I'm going to need to wait until I finish work on my ZAMN arcade conversion... But I soooo want to jump on this tangent.

    Maybe soon?

  • SuperFamicade Game Selection

    DackR04/13/2016 at 01:37 0 comments

    Here's a quick preview of what the Game Selection screen currently looks like:

    I still have some more work to do.

    I'm thinking about adding a control explanation to the bottom of the screen. Something to indicate that moving the joystick in any direction will select a game (from any screen you can directly switch to one of four games). The game will begin if the start button or the A button is pressed. Pressing the test button will bring up the menu for testing the system hardware.

    I also want to add some animation to this menu, but I'm still not really close to polishing this up-- Especially since I haven't worked through the cartridge design.

    More soon. ;)

  • Megaman X - Super Famicade Edition

    DackR04/05/2016 at 00:49 1 comment

    So... I started poking through the ROM for Megaman X (V1.1) and noticed some copy protection.

    Some key points:

    • Some of the copy protection routines check for SRAM and will aggressively screw with the game when it is detected.
    • The original MMX cartridge PCB used a 74LS00 chip, which caused some data to be mirrored (show up in the memory map in a couple locations). The game checks to make sure the data is mirrored, but never actually uses the data from mirrored locations.
    • The game checks to see if the copy protection routines are modified. There are also a couple more checks that attempt to detect if these same detection routines have been modified.

    To avoid the protection routines, I simply JMP over each routine. More information and source code here.

  • Super Famicade Test Menu

    DackR04/03/2016 at 03:31 0 comments

    I've been working on the test menu for the Super Famicade. I ended up hacking the Super Nintendo Test Program, removed a menu option to test accessories and added the ability to scroll through the menu with up and down buttons instead of just the linear select button scroll in the original.

  • ZAMN Coin-up Demo

    DackR03/30/2016 at 06:18 0 comments

  • ZAMN Coin-up Support

    DackR03/21/2016 at 06:09 0 comments

    Finally, I got the coin-up code finished enough to work in-game. I ran some tests on it today and the only issue I have now is that less than 2% of the coins inserted don't trigger the coin-up properly and the coin-up sfx only plays on levels where it's used.

    I'll probably make a quick video at some point today to show the coin-up working on real hardware. (i.e. my SuperFamicade setup.) My rig is a bit jank-tastic at the moment since I still need to build the cabinet itself.

    The final cabinet will closely match the look of the Nintendo Playchoice cabinet. The main difference is that I will be using white vinyl with custom side-art graphics.

  • ZAMN SuperFamicade Hack - Code Now Available

    DackR03/14/2016 at 20:21 0 comments

    This is still in-progress, but you can download and compile the latest stable version of the ZAMN hack from my Github repo:

    https://github.com/danielburgess/ZAMN-SuperFamicade

View all 18 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates