Super Mario 64 (Nintendo 64DD)
Super Mario 64: Disk Version |
---|
Developer: Nintendo This game has hidden development-related text. |
This game was never completed and/or given a public release. As a result of this, keep in mind that the developers might have used or deleted some of the content featured here, had the game actually been released. |
This prototype is documented on Hidden Palace.
The 64DD version of Super Mario 64 would've taken the Nintendo 64 version and made the purchase of the expensive disk drive really worth it. Definitely.
It was displayed on a 64DD demo unit during Shoshinkai 1996, but considering the game's primitive nature and strong lack of changes compared to the original version, it's likely that this was only meant to be a tech demo and that no public release was ever planned.
This version has much longer load times, but that's to be expected since it runs from the proprietary disk format rather than a cartridge.
Contents
Duplicate Sound Effects
In Nintendo 64 games, the audiotable is the file that contains all of the raw binary sound effects and instruments a game uses. The 64DD version of Super Mario 64 is unique because it contains two copies of the audiotable, possibly indicating the developers might not have been concerned about optimizing 64DD disk space. These audiotables also contain duplicate sound effects for particular sounds, which varies from the US/Japanese release counterparts that store each sound effect only once.
The sound effect of Mario saying "Bye-Bye!" that was introduced in the 1997 Japanese Shindou edition also exists in this version:
Unused Graphics
A handful of graphics are scattered around the disk in RGBA5551 format. These include...
Found around 0x1BBF50, three pictures of Nintendo employee Atsushi Watanabe - part of Integrated Research and Development Division Design Technology Group.
A couple of renders from Mario Kart 64 - Wario and Yoshi.
Differences From N64 Release
Audio Differences
The N64 cartridge version of Super Mario 64 contains 35 audio sequences used for music. The 64DD version has 36 sequences, with the extra sequence containing an alternate introduction with a slightly-modified jingle. This jingle is used in the European version:
N64 | 64DD |
---|---|
The audio sequence for the Peach's Castle music contains notes that are less staccato than the Nintendo 64 release:
N64 | 64DD |
---|---|
The sequence for the star door sound in the 64DD version plays the same noise twice instead of 2 different noises:
N64 | 64DD |
---|---|
Text Differences
Please elaborate. Having more detail is always a good thing. Specifically: How does this differ? |
The 64DD version has the Japanese text saved to the disk twice, which varies from the retail release that contains the Japanese script just once.
Gameplay Differences
Entering the inside of the island in Tiny-Huge Island, where Wiggler and red coins reside, will crash the game. This makes collecting all 120 Stars impossible on this version.
When Wiggler is initialized, his health value is 2048 for a single frame - like all objects - before being reset to 4. Wiggler uses his health to index into a table to get his speed (to move faster when at lower health); 2048 causes it to index out of range and read a denormalized floating-point number as his health, which causes an unimplemented operation exception since the N64 does not implement any operations on denormalized floats except comparisons. The original Japanese and US releases do not crash from this programming oversight as a coincidence.
Error Messages
Found at 0x120320 and repeated at 0xB08560 are several error messages. Many of these seem to have come from Mario Kart 64, while others are related to the 64DD itself.
Terminate-Canceled Channel %d,Phase %d Copy %d %d->%d pitch %x: delaybytes %d : olddelay %d cont %x: delaybytes %d : olddelay %d Warning:Kill Note %x Kill Voice %d (ID %d) %d Warning: Running Sequence's data disappear! Audio:Memory:Heap OverFlow : Not Allocate %d! Audio:Memory:DataHeap Not Allocate StayHeap Not Allocate %d AutoHeap Not Allocate %d Status ID0 : %d ID1 : %d id 0 is Stopping id 0 is Stop id 1 is Stopping id 1 is Stop WARNING: NO FREE AUTOSEQ AREA. WARNING: NO STOP AUTO AREA AND TRY FORCE TO STOP SIDE Check ID0 (seq ID %d) Useing ... Check ID1 (seq ID %d) Useing ... No Free Seq area. CH %d: ID %d TWO SIDES ARE LOADING... ALLOC CANCELED. WARNING: Before Area Overlaid After. WARNING: After Area Overlaid Before. MEMORY:SzHeapAlloc ERROR: sza->side %d Audio:MEMORY:SzHeap Overflow error. (%d bytes) Auto Heap Unhit for ID %d Heap Reconstruct Start %x AHPBASE %x AHPCUR %x HeapTop %x SynoutRate %d / %d FXSIZE %d FXCOMP %d FXDOWN %d WaveCacheLen: %d SpecChange Finished Fbank Seq %x Already Load Type %d,ID %d Warning:Emem Over,not alloc %d Write %d Check Wave Bank ID %d Wave ID %d This Table is DISK-ROM Already Table is staying. %x Diskcopy %x -> %x ,size %x Diskcopy end Slow Diskcopy %x -> %x ,size %x Slow Diskcopy end Slow 4096Diskcopy %x -> %x ,size %x Slow 4096Diskcopy End Wave-Load from %x size %x Error: No Wave Load Memory. Table Load from ROM %x to RDRAM %x SIZE %x Count %d, %d INSTTOP %x INSTMAP[0] %x already flags %d already flags %d Offset %x / TableBase %x CAUTION:WAVE CACHE FULL %d LOAD Rom :%x -> Ram :%x Len:%x BASE %x %x LOAD %x %x %x INSTTOP %x INSTMAP[0] %x already flags %d already flags %d ERR:SLOW BANK DMA BUSY ERR:SLOW DMA BUSY Check %d bank %d Cache Check NO BANK ERROR BANK %d LOADING START BANK %d LOAD MISS (NO MEMORY)!
BANK %d ALREADY CACHED Table is none. Bank and Wave Reload BANK LOAD MISS! FOR %d Seq %d Loading Start Heap Overflow Error SEQ %d ALREADY CACHED Ok,one bank slow load Start Sorry,too many %d bank is none.fast load Start Seq %d:Default Load Id is %d Seq Loading Start Error:Before Sequence-SlowDma remain Cancel Seq Start. SEQ %d ALREADY CACHED Clear Workarea %x -%x size %x AudioHeap is %x Heap reset.Synth Change %x Heap %x %x %x Main Heap Initialize ---------- Init Completed. ------------ Syndrv :[%6d] Seqdrv :[%6d] audiodata :[%6d] --------------------------------------- Audio: setvol: volume minus %f Audio: setvol: volume overflow %f Audio: setpitch: pitch minus %f Audio: voiceman: No bank error %d Audio: voiceman: progNo. overflow %d,%d Audio: voiceman: progNo. undefined %d,%d Audio: voiceman: No bank error %d Audio: voiceman: Percussion Overflow %d,%d Audio: voiceman: Percussion table pointer (bank %d) is irregular Audio: voiceman: Percpointer NULL %d,%d --4 %x Stoped Voice CAUTION:SUB IS SEPARATED FROM GROUP Error:Wait Track disappear Slow Release Batting @ Audio:Wavemem: Bad voiceno (%d) Audio: C-Alloc : Dealloc voice is NULL Alloc Error:Dim voice-Alloc %d Error:Same List Add Already Cut Audio: C-Alloc : lowerPrio is NULL Sub Limited Warning: Drop Voice Warning: Drop Voice Warning: Drop Voice Warning: Drop Voice Env-Clear 0 Audio:Envp: overflow %f Audio:Track:Warning: No Free Notetrack SUBTRACK DIM Audio:Track: Warning :SUBTRACK had been stolen by other Group SEQID %d,BANKID %d ERR:SUBTRACK %d NOT ALLOCATED Error:Same List Add Macro Level Over Error! Macro Level Over Error! WARNING: NPRG: cannot change %d Audio:Track:NOTE:UNDEFINED NOTE COM. %x Audio: Note:Velocity Error %d Error: Subtrack no prg ERR %x Error: Your assignchannel is stolen Audio:Track :Call Macro Level Over Error! Audio:Track :Loops Macro Level Over Error! SUB:ERR:BANK %d NOT CACHED SUB:ERR:BANK %d NOT CACHED Audio:Track: CTBLCALL Macro Level Over Error! [%2x] Err :Sub %x ,address %x:Undefined SubTrack Function %x Disappear Sequence or Bank %d Macro Level Over Error! Macro Level Over Error! Group:Undefine upper C0h command (%x) Group:Undefined Command
Messages For N64 Libraries
Found at 0x1255C0 and 0xB0D800 are several strings related to N64 libraries. Several of these strings exist in the original release of Super Mario 64, but many are unique to the 64DD version.
AUTOSEQ AUTOBNK STAYSEQ [%2x] <%5x / %5x>%2x \ STAYBNK [%2x] <%5x / %5x>%2x 0123456789ABCDEF0123456789ABCDEF01234567 -------------------------------------------- SEQ %1x BNK %1x FIXHEAP %4x / %4x DRVHEAP %5x / %5x DMACACHE %4d Blocks CHANNELS %2d / MAX %3d TEMPOMAX %d TEMPO G0 %d TEMPO G1 %d TEMPO G2 %d DEBUGFLAG %8x COUNT %8d Error : Queue is not empty ( %x ) specchg error Opening Voice Canceled Stage Change Start %d ActiveCourse %d ActiveLevel %d ActiveScene %d ActiveStage %d Second1 Load Start Second2 Load Start Second3 Load Start DAC:Lost 1 Frame DMA: Request queue over( %d ) DMA [ %d lines] TIMEOUT Warning: WaveDmaQ contains %d msgs Audio:now-max tasklen is %d / %d Audio:Warning:ABI Tasklist length over (%d) AudioSend: %d -> %d (%d) Undefined Port Command mq != NULL /io/viseteventcmodep != NULL /io/visetmode.c frameBufPtr != NULL /io/viswapbuf.c ASSERTION FAULT: (devAddr & 0x7) == 0 /io/sprawdma.c ((u32)dramAddr & 0x7) == 0 /io/sprawdma.c(size & 0x7) == 0 /io/sprawdma.c (devAddr & 0x3) == 0 /io/sirawread.c data != NULL /io/sirawread.c
(devAddr & 0x3) == 0 /io/sirawwrite.c data != NULL /io/pirawread.c ((u32)dramAddr & 0x3) == 0 /io/sirawdma.c data != NULL /io/epirawread.c NaNInf0 ReadMem @ %08x for %d WriteMem Long unaligned write RCP write not an integral number of words ListProcesses LoadProgram GetExeNameimemrmon GetRegionCount GetRegions StopThreads %d Couldn't stop thread %d Couldn't stop thread %d ListThreads ThreadStatus %d method %d StopThread %d RunThread %d SetFault PANIC!! SetComm GetGRegisters SetGRegisters GetFRegisters SetFRegisters GetSRegisters SetSRegisters GetVRegisters SetVRegs Set temp BP at %08x and %08x ClearTempBreak @ %08x ClearTempBreak @ %08x SetBreak at %08x, method %d* (%08x) = %08x (was %08x) ListBreak ClearBreak SingleStep Break %d in thread %d HitBreak Hit SP Break HitCpuFault Brk in thread %d @ %08x, inst %08x rmon: Thread %d created rmon: Thread %d destroyed (devAddr & 0x3) == 0 /io/sprawwrite.c (devAddr & 0x3) == 0 /io/sprawreadcdata != NULL /io/sprawread.c
- Pages missing developer references
- Games developed by Nintendo
- Nintendo 64DD games
- Games with hidden development-related text
- Games with unused graphics
- Games with unused sounds
- Games with debugging functions
- Games with hidden level selects
- Unreleased Nintendo 64DD games
- Unreleased games
- Articles requiring elaboration
- Mario series
Cleanup > Articles requiring elaboration
Cleanup > Pages missing developer references
Games
Games
Games > Games by content > Games with debugging functions
Games > Games by content > Games with hidden development-related text
Games > Games by content > Games with hidden level selects
Games > Games by content > Games with unused graphics
Games > Games by content > Games with unused sounds
Games > Games by developer > Games developed by Nintendo
Games > Games by platform > Nintendo 64 games > Nintendo 64DD games
Games > Games by release date > Unreleased games
Games > Games by release date > Unreleased games > Unreleased Nintendo 64DD games
Games > Games by series > Mario series