elude visibility
BS-X, Prototype, Unreleased & Other Unique ROMs
Super Noah's Ark 3D (USA) (Source Code)
- - Matthew Callis

This is the source code to the unlicensed Super Noah’s Ark 3D SNES game by Wisdom Tree, known for their unlicensed NES games. The game is notably “the only commercially released SNES game in the U.S. that was not officially sanctioned by Nintendo”, as well as using the same game engine for the Super Nintendo version of Wolfenstein 3D under license from id Software.

Origin

I bought this off of eBay in November of 2018 and got 4 diskettes and an official seal of authenticity (deep irony) for the disks on official Wisdom Tree letterhead. The disks were zipped using PKZIP, an old version that split it across 4 3.5 inch disks. This was a huge pain to unzip, given no modern tools support this specific format and required old software on old hardware to successfully extract. The disks were zipped sometime on of after November 13th 1994, 10:31AM, which is the latest date on any files in the disks. The original files from the diskettes are included as well as an extractable archive of the contents. All files are available on GitHub as well.

Interesting Contents

There were a few notable items in the archives I will share below. First (not below) is the full set of tools provided by id Software to extract and repackage the contents of Wolfenstein 3D, as well as the C source code for it.

There are several emails from John Carmack himself as well as code he wrote for the sole purpose of cloning Wolfenstein. The sound driver was written by John Carmack and Rebecca Heineman credited as Bill Heineman. If you dig in and find more interesting items, please update on the Super Famicom Development Wiki and TCRF Super 3D Noah’s Ark (SNES) article.

Update from Rebecca Heineman: The sound code was originally written for RPM Racing, using the Apple IIgs Merlin assembler with macros to build for the custom Sony SPC700 CPU. It was improved over time for Wolf3D.

Rebecca Heineman: Kewl. I found the source to my old audio tools for the SNES. At the time they were written, I had no docs to the SNES because of licensing issues with Sony. This code was created by reverse engineering the audio hardware and figuring out how it worked.

Rebecca Heineman: I even learned Japanese, so I could read the patents, Sony docs on the SPC 700 CPU I found “elsewhere” and other bits I could gather to complete the sound driver. Sugoi!

Rebecca Heineman: I think for the xmas break, I’ll get the game to compile with my current 65816 build tools.

John Carmack: I gave you huge respect for learning enough Japanese back then to get through the tech docs!

From johnc@idcube.idsoftware.com Fri Aug 19 13:46:52 1994
Date: Thu, 18 Aug 94 20:21:29 -0600
From: John Carmack <johnc@idcube.idsoftware.com>
To: Vance Kozik <vance@crl.com>
Subject: Re: SNES snds

Ok, here is the code for the utility that generated SNES sounds (a
tiny NeXT program).  I wrote this, but only because the original
development plan fell apart.  I make no claim that the sound code in
wolf is worth a damn.

John Carmack
From johnc@idcube.idsoftware.com Thu Aug 25 14:48:29 1994
Date: Wed, 24 Aug 94 19:38:27 -0600
From: John Carmack <johnc@idcube.idsoftware.com>
To: jimt@crl.com
Subject: sndlink

I think the sounds were all 22khz 16 bit samples, but it has been a
LOOOONG time since I looked at that stuff.

I think you have the cmdlib.[ch] files from other stuff.  Here is
sndlink.c:
printf ("sndlink 0.1 by John Carmack\n");

printf ("Sndlink (v0.1) by John Carmack\n\n");

//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//						   WOLFENSTEIN 3D
//						   by John Carmack
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

=============================================================================

							  SNESGRAB

						  by John Carmack

=============================================================================

=============================================================================

							  WALLGRAB

						  by John Carmack

=============================================================================
;--------------------------------------------------------------------
; Id's SNES sound driver - decoded from 'driver.s' provided by Id in
; an 'encoded' state (simply and each character with $7F to get in
; ASCII range - for some reason this was the ONLY file provided by
; Id that was encoded...).  It includes 'SPC700.MACS' which was not
; provided by Id but it appears to be only a macro file so the SNES
; sound chip code could be compiled by their regular 65816 assembler!
;--------------------------------------------------------------------


		LST	OFF
		TR	ON
		USE	SPC700.MACS	;Write this in SPC700
		REL

**************************************************
*
*
*  SuperFamicom Music Low Level Sound Driver     *
*
      By Bill Heineman and John Carmack          *
*
*
**************************************************

// JAPVERSION has mission pics instead if briefing

//#define	JAPVERSION


// If PALCHECK is defined, aborts on NTSC version, else abort on PAL

//#define	PALCHECK

Assets and other files all seem in place, as well as some tools I was not able to find anything for online, which I believe could be the iD assembler mentioned in the file above as regular 65816 assembler:

MSD RomEm(R)-PLUS Interactive Control Program --
Copyright (C) 1988-1993,
Microsystems Development, San Jose, California, USA,
ALL RIGHTS RESERVED --
Copyright (C) 1988-1993,
John Golini, Los Gatos, California, USA,
ALL RIGHTS RESERVED
***************************************
**   Zardoz 65C816 Macro Assembler   **
**                                   **
**     Version%s- %s    **
***************************************

  2.0h Aug 11 1994
2.0h Aug 11 199404:58:09       Copyright (C) 1992,1993 by Zardoz Software, Inc.

Screenshots

Screenshot Screenshot Screenshot Screenshot

Street Fighter 2 Zero (Japan) (Prototype)
- - Matthew Callis

This is an early Street Fighter Alpha 2 / Street Fighter Zero 2 (ストリートファイターZERO 2) prototype, notable due to the fact is does not yet use the special chip and is very early in development. There were several auctions sold by safestuff1 and I bought 2 copies and decided not to buy any more after they were identical and board images were not posted and showed more final character select screens. The date on the first auction has the EEPROMs labeled with the date 6/11, while the date from the other board is 9/15.

HELP WANTED: There are several items I know I will never get to, if you can help with this game or any other with any of the following items, [please contribute on GitHub! Think of this as more of a living wiki (without spam) and contribute in any way that you can. Feel free to reach out to me on Twitter if you need help or want to contribute but aren’t sure where to start.

  • Check music against the retail version
  • Check sprites against the retail version
  • Check character move set against retail version
  • Animated GIF to compare

Screenshots

Starting with the title screen, it actually looks better in the prototype and now squished like in the final, a larger and nice typeface for Push Start Button!! and slightly different, less detailed background:

Title - Prototype
Title - Final
2-Up Swipe Onion Skin

Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot

Characters & Sprites

This section is thanks to Kiddo Cabbusses / サテラビュー好きの外人さん. I don’t know if I got this well in this image (below) but the short of it is; Zangief’s stance has more frames of animation in the prototype compared to the final, and by golly it looks a LOT better for it. The final game looks jank in comparison. His stance is the only thing in the prototype, he’s otherwise nothing - not even able to attack or get hurt like Ken who is also buggy.

Screenshot

Chun-Li and Dhalsim are actually SURPRISINGLY close to completion. They have some missing graphical effects (Chun-Li’s Kikoushou, Dhalsim’s Yoga Fire/Flame/Breath/Inferno) and sometimes crash the game. But every now and then you can play through a whole match with them. They may had been intended to be playable by the time this was put out, but the few missing things got in the way. Ken is buggy. Rolento has a stance like Zangief and otherwise does nothing. The buggy Nash-Akuma is crash-prone.

On that note, trivial commentary on the development from what I can perceive: From the characters ready to demo and the ones close to being ready to being demoed, we have 4 SF2 vets, an Alpha 1 character (Charlie) that’s basically a reskin of a SF2 vet, and the only “new” character introduced in Alpha 2. Likewise, of the incomplete characters, the ones furthest in are SF2 vets and a character whose first SF appearance is Alpha 2. This gives me an impression that characters were intentionally prioritized - I’m assuming likely in case space issues required them to outright cut someone.

If you win a round with Ken in the SFZ2 proto it will crash. Also it looks like for some reason Ken has programming that’s meant to be for Akuma’s Teleport move. If you do quarter-circle back + punch he’ll move towards the other player at the same speed as the teleport, but he can’ phase through and there’s no graphical effects.

As reported by Josh Smith, Sakura has all three of her jump kick animations from the arcade version in this prototype. The release version removes the animation from the medium kick and replaces it with the weak kick animation.

Stages

The stage layouts are different than the final version, some drastically different.

Adon Stage - Prototype
Adon Stage - Final
2-Up Swipe Onion Skin
Dan Stage - Prototype
Dan Stage - Final
2-Up Swipe Onion Skin
Gouki / Akuma Stage - Prototype
Gouki / Akuma Stage - Final
2-Up Swipe Onion Skin
Ryu Stage - Prototype
Ryu Stage - Final
2-Up Swipe Onion Skin
Vega / Bison Stage - Prototype
Vega / Bison Stage - Final
2-Up Swipe Onion Skin
Zangeif Stage - Prototype
Zangeif Stage - Final
2-Up Swipe Onion Skin

Player Portraits

Portraits have small to noticeable alterations, and there are more complete portraits than stages. Ryu, Chun Li and Sakura have the most changes.

Vega / Bison Portraits - Prototype
Vega / Bison Portraits - Final
2-Up Swipe Onion Skin
Charlie Portraits - Prototype
Charlie Portraits - Final
2-Up Swipe Onion Skin
Chun Li Portraits - Prototype
Chun Li Portraits - Final
2-Up Swipe Onion Skin
Dhalsim Portraits - Prototype
Dhalsim Portraits - Final
2-Up Swipe Onion Skin
Ken Portraits - Prototype
Ken Portraits - Final
2-Up Swipe Onion Skin
Rolento Portraits - Prototype
Rolento Portraits - Final
2-Up Swipe Onion Skin
Ryu Portraits - Prototype
Ryu Portraits - Final
2-Up Swipe Onion Skin
Sakura Portraits - Prototype
Sakura Portraits - Final
2-Up Swipe Onion Skin
Zangeif Portraits - Prototype
Zangeif Portraits - Final
2-Up Swipe Onion Skin

Hacking & How-To Explore

All of this is with the most amazing thanks to Revenant for literally making all this extraction possible. Below you will find notes on how to explore the various functions in the game and possibly find more! These codes are included in the download below as a CHT file.


Notes: Each character slot on the select screen has 4 bytes that determine which slot to move to when pressing a direction on the D-pad, and some of the unfinished characters are "still there", sort of, in that they will skip over other adjacent characters if you are actually able to select them- if that makes any sense. So it seems like more characters may have been planned to/close to actually being included on the select screen.

Sprite Debug Controls:
  Controller 1:
    Y: Step Pose Frame
    X: Animate Pose Infinite
    B: Reset Pose
    A: Animate Pose to End
    Start: Change Table
  Controller 2:
    L: Previous Palette
    R: Next Palette
    X: Previous Pose
    Y: Hold to orient sprite / hitbox
    B: Next Pose
    A: Hold to orient sprite / hitbox
    Start: Toggle Hit Boxes

There is a dummied 6th option on the stage select to play on Zangief's stage, but it doesn't have background animation. All characters' theme music seems to be intact.

Pro Action Replay Codes:
  9FA6C1xx - char select music modifier

  C0367005 + C0368C06 = add zangief stage to menu
  (invisible + displays glitched banner but otherwise works)

  DFA7EFxx - ryu stage modifier
      00 = ryu
      02 = akuma
      05 = adon
      0a = bison
      0c = dan
      10 = zangief
      other stages up through 10 have music but no background

  C031A4xx - replace ryu with character on menu
      00 - ryu
      01 - ken
      03 - charlie
      04 - chun li
      0a - bison
      0d - sakura
      0e - rolento
      0f - dhalsim
      10 - zangief
      (values are actually the same as stage values above, but usable ones differ)

      other characters use wrong sprites/portrait, but possibly correct palette?
      (i.e. 02 is akuma, and appears to still use his palette)
      not sure how any of the missing characters actually behave if selected

  7E0492 - p1 char ingame
  7E0712 - p2 char ingame
  7E00C7 = 08 -> character debug

  C0201608 - enable during match (uses current p1 character)

  7E00C4 = 04 -> stage debug

  C01DF504 - enable on boot
      for some reason, loads stage number from address normally used for p1 input
      so holding down R button (value $10) goes to zangief stage.
      only values of $10, $20, $30 etc. can be entered this way, so most stages can't be
      but if button X ($40) is held down it will specifically load $05 (adon stage) instead

  C03B5800 + C03B5Axx - debug stage modifier (see above for values)

ROM Information

The ROM information (below) also has a different internal title, the retail title is STREET FIGHTER ALPHA2:

---------------------Internal ROM Info----------------------
       File: sf2z.sfc
       Name: Super Street Fighter2    Company: Capcom
     Header: None                        Bank: HiROM
Interleaved: None                        SRAM: 0 Kb
       Type: Normal                       ROM: 32 Mb
    Country: Japan                      Video: NTSC
  ROM Speed: 120ns (FastROM)         Revision: 1.0
   Checksum: Bad 0xE210 != 0x0000   Game Code:
---------------------------Hashes---------------------------
      CRC32: 349D8084
        MD5: 1BDF3D1524794B36745FDE718E2BA646
      SHA-1: CC4CC2F858D25280FD984F5A9F8164DC120860EB

Board / Cartridge Images

Images from the auction itself until I have time to update them.

Auction 1 Cart Auction 2 Cart Back Auction 2 Cart Front

Playthrough Video

A gameplay video play through played by Kiddo Cabbusses | サテラビュー好きの外人さん:

Super Nazo Puyo Tsuu - Rulue no Tetsuwan Hanjouki (Japan) ('96 Tokyo Toy Show)
- - Matthew Callis

This is a version of the game that was used at the ‘96 Tokyo Toy Fair / ‘96東京おもちゃショー and very closely resembles the Satellaview release. So closely in fact that only 1 non-header byte is different. At 0x04EAA0 the Satellaview copy has 0x02 and the Tokyo Toy Fair version has 0x09. Both ROMs actually contain both banners, the value at 0x7FF4 controls the for banner image, with 0x00 being the Tokyo Toy Fair, 0x01 or any other value being the Satellaview banner. Other than that the game is the same as the Satellaview version. The very cute Act Against AIDS banner is present in all versions of the game.

On a more personal level, I lost a copy of this at auction many years ago, and felt terrible about it. Finding it was a my white whale moment, and belated birthday present. 🌺

For Screen - '96 Tokyo Toy Show
For Screen - Satellaview
2-Up Swipe Onion Skin

Screenshots

Town Scene 1 Town Scene 2 Title Screen for '96東京おもちゃショー Game Info Contact Screen Story Act Against AIDS

Transcriptions & Translations

Game Info

ジャンル … パズル 対応機種 … スーパーファミコン メディア … ROMカートリッジ 12M+BB 発売日 … 96-6-26 価格 … 6800

Genre … Puzzle Compatible Model … Super Famicom Media … ROM Cartridge 12M+BB Release Date … 96-6-26 (June 26th, 1996) Price … 6800


Contact Screen

?? Promotion 期間:1996年6月28 ~ 12月28 抽選で: 3000名榚 (?500?)に ★オリジナ儿テレカ★を プレゼント!!

詳しくは 取扱説明書を 読んでねv

?? Campaign Period: 1996-06-28 - 12-28 Lottery: 3000 People ★ Original Phone Card ★ Present!!

For details, [game] please read [game’s] the instruction manual♡

Playthrough Video

A gameplay video play through played by Kiddo Cabbusses | サテラビュー好きの外人さん:

Shin Nippon Pro Wrestling - Toukon Sanjushi (Japan) (Sample)
- - Matthew Callis

新日本プロレスリング 闘魂三銃士

A Varie / プロレス Gameboy sample. No differences checked for. The title is also seen as Shin Nihon Pro Wrestling Tokon Sanjushi (J).

The string TOUKONSANJYUUSHI is found very early in the ROM, also present in the final ROM.

Shin Nippon Pro Wrestling - Toukon Sanjushi (Japan) (Sample) Shin Nippon Pro Wrestling - Toukon Sanjushi (Japan) (Sample) Shin Nippon Pro Wrestling - Toukon Sanjushi (Japan) (Sample) Shin Nippon Pro Wrestling - Toukon Sanjushi (Japan) (Sample) Shin Nippon Pro Wrestling - Toukon Sanjushi (Japan) (Sample) Shin Nippon Pro Wrestling - Toukon Sanjushi (Japan) (Sample) Shin Nippon Pro Wrestling - Toukon Sanjushi (Japan) (Sample) Shin Nippon Pro Wrestling - Toukon Sanjushi (Japan) (Sample) Shin Nippon Pro Wrestling - Toukon Sanjushi (Japan) (Sample) Shin Nippon Pro Wrestling - Toukon Sanjushi (Japan) (Sample)

MD5 (Shin Nihon Pro Wrestling Tokon Sanjushi (J).gb) = 037fcc5f7d7750b9dfd1c8946b64cf4f
MD5 (Shin Nippon Pro Wrestling - Toukon Sanjushi (Japan) (Sample).gb) = edfd07c3e47abffaae2441d75110d4a7
Super Disc System Cartridge (Japan) (Prototype)
- - LuigiBlood

The SNES CD BIOS ROM dump of the cartridge that came with the Super Famicom Play Station unit found by Terry and Dan Diebold. The ROM was dumped using a Game Doctor and released in 2016/03/01. Also officially named “Super Disc System Cartridge”.

This cartridge would have been used to play Sony SNES CD games. Contains a bunch of BIOS functions in the ROM, alongside 256KB of WRAM (S-WRAM chips) and 8KB of battery backed RAM for saves.

A monitor debug menu can be accessed by pressing A + X at the main screen.

These strings can be found inside the ROM:

Super Disc boot ROM ver.0.95 Jul. 14, 1992 by Tomomi Abe at SONY

Super Disc BIOS program ver.0.93 by Tomomi Abe. May. 26 1992 at SONY.

Download Super Disc System Cartridge (Japan) (Prototype)

The Cutting Room Floor’s page (contains more information and translations)

Screenshots

Main Screen Monitor Menu Self-Check 1 Self-Check 2 ADPCM Communication CXD-1800 BACKUP RAM