Doubutsu no Mori
Doubutsu no Mori |
---|
Also known as: Dòngwù Sēnlín (CN) This game has unused areas. This game has a development article This game has a prerelease article This game has a notes page |
Doubutsu no Mori (Animal Forest) is a late-era Japan-only Nintendo 64 game that was re-released for the GameCube in Japan, then updated and released in the western world as Animal Crossing, and that version was re-re-released in Japan and (finally) released to the rest of the world, except for China, which got the original Nintendo 64 version years after its Japanese release.
Weird sentence, weirder story.
To do:
|
Contents
Sub-Pages
Development Info |
Prerelease Info |
Notes |
Unused Maps Where no train has gone before... |
Crash Debugger
Present in the game is a crash debugger similar to the crash debuggers seen in Ocarina of Time and Majora's Mask on the N64. Whenever the game crashes, it will display a small red line at the upper-left corner of the screen. Input the following code which is the same code from Ocarina of Time:
- L + R, then while holding both press Z.
- D-Up
- C-Down
- C-Up
- D-Down
- D-Left
- C-Left
- C-Right
- D-Right
- A + B, then while holding both press Start.
Debug Tools
Memory Usage Display
GameShark code 801DFA64 0001 will display some colorful memory usage bars. What each bar represents is currently unknown.
Debug Mode
There exists a debug mode that will display some build info on the title screen and enable some additional debug displays that can be toggled on and off by pressing buttons on the second controller.
There are 2 modes for this debug mode. Mode 1 allows you to enable or disable other debug features, but you can not manipulate the game with it in any way. Mode 2 allows you to have full control over the debug menu. It also allows using raw iNES Famicom ROMs on Controller Paks outside of its native NESINFO wrapper.
GameShark code 8010FD63 000X can be used to access this mode.
Replace X with 1 (Mode 1) or 2 (Mode 2).
Debug mode can also be enabled by entering the crash debugger code above on controller 2. Holding recenter on controller 1 when entering the code will also activate all Famicom emulator features, even for built-in games.
Normally, mode 2 replaces mode 1 when the game's GUID is set to "NAFJ#" (version code = 23). It can also be forced via a specially-crafted Controller Pak entry, even on iQue.
The color of the letter "D" indicates the current mode:
Color | Description |
---|---|
Yellow | Mode 1, Resetti enabled |
Pink | Mode 1 |
Green | Mode 2, Resetti enabled |
Gray | Mode 2 |
Left of the "D", two error codes will always be displayed when relevant.
Bad Town Data: "X" is displayed if towndata[0xF8AC] is zero.
FLASH error codes: one of the following letters are printed if there is a problem with the game's internal save file.
Error Code | Description |
---|---|
If not displayed, no error is present. | |
N | Not found or no good. A failure occurred during initialization or it's an unrecognized chip ID. |
A | Allocation error. Failed to allocate a 0xF980 byte temporary buffer. |
W | Write error. |
R | Read error. |
C | Checksum error. |
O | Other. Typically due to a mismatch b/w master and its copy. Naturally occurs with uninitialized/erased saves since the copy isn't valid yet. |
All of the combinations below must be done on a controller plugged into port 2. (Some features only work on MODE 2.)
- Pressing A will bring up a heads-up-display that displays coordinates, time, item IDs and other information. If you press R, you can cycle through different clock speeds. The time can only go forward. Settings are roughly an hour a minute, an hour every ten seconds, then restore clock using RTC. When active, the framecount will be displayed on the line just below "D". Only use this feature if a clock is on the board! It does not safely fall back to the default buffer and can lock the game, especially on iQue.
- Pressing C-Right will display different colored numbers on-screen. What they represent is currently unknown.
- Pressing C-Up will display "zelda_malloc" and "graph_malloc" followed by some Japanese text and numbers. What these are for is unknown.
- Pressing D-Pad Down will make text appear that says 'ファミコン' which translates to 'Famicom'. Pressing Start will increase the number, this number represents which Famicom game to place. While inside of your house, pressing Z will force display a Famicom as a furniture item.
- Pressing D-Pad Left will display yellow numbers and text. The periods will change characters based off what is going on in-game. What triggers these to change is unknown.
- Pressing D-Pad Right will display orange numbers, their usage is unknown.
- Pressing D-Pad Up will display a bunch of hex values, as you may have guessed by now, what these represent is unknown.
Memory View/Edit
Most town, player, and character memory registers can be viewed via the debugger. In mode 1 this is solely read-only, but values can be edited, to some degree, in mode 2. Hold the given button while pressing the other to display the menu. While holding the button, press the other again to display additional pages. There are 96 signed 16bit values (hw) in each list (0xC0 per block). When released, use D-Pad up/down to select an address. Press D-Pad left/right to change values; hold C down to change in faster increments. To clear from the screen, input the button sequence for any of the menus below.
HOLD | PRESS | Address (J) | Address (iQue) | Displayed Name |
---|---|---|---|---|
L | R | 801DFE24 | 801F0144 | Y(SBREG) |
L | D-Pad Left | 801DFEE4 | 801F0204 | D(DREG) |
L | D-Pad Right | 801DFFA4 | 801F02C4 | U(UREG) |
L | D-Pad Up | 801E0064 | 801F0384 | I(IREG) |
L | D-Pad Down | 801E02A4 | 801F05C4 | N(NS1) |
L | A | 801DFBE4 | 801EFF04 | P(PREG) |
L | B | 801E0124 | 801F0444 | Z(ZREG) |
L | Z | 801E01E4 | 801F0504 | C(CRV) |
L | Start | 801E0A24 | 801F0D44 | G(GREG) |
L | C Left | 801DFA64 | 801EFD84 | S(SREG) |
L | C Right | 801DFD64 | 801F0084 | M(MREG) |
L | C Up | 801DF9A4 | 801EFCC4 | (REG) |
L | C Down | 801DFB24 | 801EFE44 | O(OREG) |
R | L | 801E05A4 | 801F08C4 | s(DEMOREG) |
R | D-Pad Left | 801E07E4 | 801F0B04 | A(AREG) |
R | D-Pad Right | 801E0AE4 | 801F0E04 | m(mREG) |
R | D-Pad Up | 801E0BA4 | 801F0EC4 | n(nREG) |
R | D-Pad Down | -------- | -------- | *pause execution* |
R | A | 801E0364 | 801F0684 | K(SND) |
R | B | 801E0424 | 801F0744 | X(XREG) |
R | Z | 801E04E4 | 801F0804 | C(CRV2) |
R | Start | 801E0964 | 801F0C84 | H(HREG) |
R | C Left | 801E08A4 | 801F0BC4 | V(VREG) |
R | C Right | 801E0724 | 801F0A44 | W(WREG) |
R | C Up | 801E0664 | 801F0984 | i(TREG) |
R | C Down | 801DFCA4 | 801EFFC4 | Q(QREG) |
Start | L | 801E10E4 | 801F1404 | *(NIIREG) |
Start | R | 801E0C64 | 801F0F84 | B(BREG) |
Start | D-Pad Left | 801E14A4 | 801F17C4 | *(TAKREG) |
Start | D-Pad Right | 801E13E4 | 801F1704 | *(SAKREG) |
Start | D-Pad Up | 801E1324 | 801F1644 | *(CAMREG) |
Start | D-Pad Down | 801E1564 | 801F1884 | *(PL2REG) |
Start | A | 801E0D24 | 801F1044 | d(DORO) |
Start | B | 801E0DE4 | 801F1104 | k(kREG) |
Start | Z | 801E11A4 | 801F14C4 | *(GENREG) |
Start | C Left | 801E0F64 | 801F1284 | *(PLAYERREG) |
Start | C Right | 801E0EA4 | 801F11C4 | b(BAK) |
Start | C Up | 801E1264 | 801F1584 | *(MYKREG) |
Start | C Down | 801E1024 | 801F1344 | *(OTUREG) |
Title Theme
To do: Figure out a way to have the title theme fully playback that doesn't involve the risk of damaging your cart and console through cart tilting. |
In the normal course of play, the game's title theme fades out after a minute and 3 seconds, corresponding with the length of time of the demos played on the title screen. However, the full track runs for an additional 21 seconds. If you don't mind risking the long-term health of your cartridge, it is possible to hear the full title screen by slowly tilting the left side of the cartridge out of the console until the game crashes. If done correctly, the game will continue to play the title screen music on an endless loop.
In-game | Full |
---|---|
Unused Items
Unused Clothing
Two clothing items are present in the game's code but never appear either as obtainable items or as items worn by villagers within the normal course of play:
Name (Japanese) | Name (Chinese) | Name (English translation) | Hexadecimal ID | Image | Texture |
---|---|---|---|---|---|
パーティードレス | 舞会礼服 | Party Dress | 18 14 | ||
タキシード | 晚礼服 | Tuxedo | 18 18 |
Unused Furniture
Several items in the game's files are unused and unobtainable through gameplay. Below is a list of the item's names along with their internal hexadecimal IDs. These items appear in Doubutsu no Mori +, Animal Crossing, and Doubutsu no Mori e+ as well, but with the sole exception of the unused chair in +, their models are replaced with duplicates of the Spooky Wardrobe furniture item (in +) or the DUMMY furniture item (in Animal Crossing and e+).
Build Date
Present at 0x19D00 in the Japanese version and 0x21D50 in the Chinese version is a build date in the same format as Ocarina of Time and Majora's Mask. Curiously, it seems the Chinese version was compiled really early compared to the actual release date, even predating the Chinese version of Ocarina of Time by seven months.
Japanese | Chinese |
---|---|
forest@srd038J.srd.nintendo.co.jp 01-02-14 16:37:16 |
root@indy500 03-03-07 16:48:26 |
Unused Overworld Textures
Most of these textures can be found in the final build of the game. It even survived through the localization process. These textures do not appear in any pre-release screenshots. The textures are also not compatible with the models of the retail build of the game, and they need to be converted in order to be viewed properly. Some of these textures can be seen if you place test acres in your town, but it should also be noted that the models for said early acres are bigger, and overlap surrounding areas in the game.
Dirt
Early | Final |
---|---|
Early | Final |
---|---|
Cliff
Early | Final |
---|---|
Grass/Snow
Early | Final |
---|---|
Early | Final |
---|---|
Sign Board
The early Sign texture resembles its Spaceworld 2000 counterpart, however there are still a few minor differences.
Early | Final |
---|---|
Debugging Text
8003D180 boot 8003D188 idle 8003D190 ../idle.c 8003D19C main 8003D1B0 %ld 8003D1B4 ovlmgr: Out of Memory 8003D1D8 DMA ERROR: %.50s %d 8003D1EC DMA ERROR: %.50s %d 8003D200 DMA ERROR: %.50s 8003D218 %07X %08X %X %.50s 8003D230 percial_DMA 8003D23C ILLIGAL ALIGNMENT 8003D250 アライメント異常 8003D26C Segment Alignment Error 8003D284 セグメント境界をまたがってDMA転送することはできません 8003D2C4 Can't Transfer Segment 8003D2DC 圧縮されたセグメントの途中からはDMA転送することはできません 8003D320 Can't Transfer Segment 8003D338 圧縮されたセグメントの一部だけをDMA転送することはできません 8003D378 DATA DON'T EXIST 8003D38C 該当するデータが存在しません 8003D3AC ILLIGAL DMA-FUNCTION CALL 8003D3C8 パラメータ異常です 8003D3DC dmamgr 8003D3F0 圧縮展開異常 8003D400 slidma slidstart_szs ret=%d 8003D41C src:%08lx dst:%08lx siz:%08lx 8003D440 Interrupt 8003D44C TLB modification 8003D460 TLB exception on load 8003D478 TLB exception on store 8003D490 Address error on load 8003D4A8 Address error on store 8003D4C0 Bus error on inst. 8003D4D4 Bus error on data 8003D4E8 System call exception 8003D500 Breakpoint exception 8003D518 Reserved instruction 8003D530 Coprocessor unusable 8003D548 Arithmetic overflow 8003D55C Trap exception 8003D56C Virtual coherency on inst. 8003D588 Floating point exception 8003D5A4 Watchpoint exception 8003D5BC Virtual coherency on data 8003D5D8 Unimplemented operation 8003D5F0 Invalid operation 8003D604 Division by zero 8003D618 Overflow 8003D624 Underflow 8003D630 Inexact operation 8003D64C fault_AddClient: %08x は既にリスト中にある 8003D684 fault_RemoveClient: %08x リスト不整合です 8003D6BC fault_AddressConverterAddClient: %08x は既にリスト中にある 8003D704 fault_AddressConverterRemoveClient: %08x は既にリスト中にある 8003D748 F%02d:%14.7e 8003D758 F%02d: %08x(16) 8003D76C F%02d:%14.7e 8003D77C F%02d: %08x(16) 8003D790 FPCSR:%08xH 8003D7A0 (%s) 8003D7AC FPCSR:%08xH 8003D7BC (%s) 8003D7C4 THREAD:%d (%d:%s) 8003D7D8 PC:%08xH SR:%08xH VA:%08xH 8003D7F4 AT:%08xH V0:%08xH V1:%08xH 8003D810 A0:%08xH A1:%08xH A2:%08xH 8003D82C A3:%08xH T0:%08xH T1:%08xH 8003D848 T2:%08xH T3:%08xH T4:%08xH 8003D864 T5:%08xH T6:%08xH T7:%08xH 8003D880 S0:%08xH S1:%08xH S2:%08xH 8003D89C S3:%08xH S4:%08xH S5:%08xH 8003D8B8 S6:%08xH S7:%08xH T8:%08xH 8003D8D4 T9:%08xH GP:%08xH SP:%08xH 8003D8F0 S8:%08xH RA:%08xH LO:%08xH 8003D938 THREAD ID:%d (%d:%s) 8003D950 PC:%08xH SR:%08xH VA:%08xH 8003D970 AT:%08xH V0:%08xH V1:%08xH 8003D990 A0:%08xH A1:%08xH A2:%08xH 8003D9B0 A3:%08xH T0:%08xH T1:%08xH 8003D9D0 T2:%08xH T3:%08xH T4:%08xH 8003D9F0 T5:%08xH T6:%08xH T7:%08xH 8003DA10 S0:%08xH S1:%08xH S2:%08xH 8003DA30 S3:%08xH S4:%08xH S5:%08xH 8003DA50 S6:%08xH S7:%08xH T8:%08xH 8003DA70 T9:%08xH GP:%08xH SP:%08xH 8003DA90 S8:%08xH RA:%08xH LO:%08xH 8003DAD8 KeyWaitB (LRZ 上下 上下 左左 右右 BASTART) 8003DB84 %s %08x 8003DB8C PrintDump 8003DB98 %06x 8003DBA0 %08x 8003DBA8 Dump 8003DBB0 SP PC (VPC) 8003DBC8 %08x %08x 8003DBD4 -> %08x 8003DBE0 STACK TRACE SP PC (VPC) 8003DC08 %08x %08x 8003DC14 -> %08x 8003DC24 CallBack (%d) %08x %08x %08x 8003DC48 フォルトマネージャ:OS_EVENT_CPU_BREAKを受信しました 8003DC80 フォルトマネージャ:OS_EVENT_FAULTを受信しました 8003DCB4 フォルトマネージャ:不明なメッセージを受信しました 8003DCE8 __osGetCurrFaultedThread()=%08x 8003DD0C FindFaultedThread()=%08x 8003DD28 STACK TRACE 8003DD34 CONGRATURATIONS! 8003DD50 All Pages are displayed. 8003DD6C THANK YOU! 8003DD88 You are great debugger! 8003DDA4 fault 8003DDAC HungUp on Thread %d 8003DDC4 %s 8003DDC8 (NULL) 8003DDD0 %s 8003DDD4 (NULL) 8003DDDC HungUp on Thread %d 8003DDF4 %s 8003DDF8 (NULL) 8003DE00 %s 8003DE04 (NULL) 8003DE0C HungUp %s:%d 8003E280 (null) 8003E2B0 Reset 8003E310 __osRealloc(%08x, %d) 8003E46C ARENA INFO (0x%08x, %d) 8003E484 Arena is unitialized 8003E49C Memory Block Region status size 8003E4C0 %08x-%08x%c %s %08x 8003E4E0 %08x Block Invalid 8003E4F4 Total Alloc Block Size %08x 8003E514 Total Free Block Size %08x 8003E534 Largest Free Block Size %08x 8003E57C (%08x) 8003E594 (%08x %08x) 8003E900 forest@srd038J.srd.nintendo.co.jp 8003E924 01-02-14 16:37:16 80113310 GLOBAL USE %x 80113320 GLOBAL FREE %x 80113330 GLOBAL RELEASE %x 80113344 GLOBAL RELWAIT %x 80113358 List %x 80113364 Root %x 80116160 %4d %1d%1d %1d%1d %1d%1d %1d%1d 80116184 %1d%1d %4d %1d%1d %1d%1d %1d%1d 801161B0 ACTOR NAME is NULL 801161C8 ACTOR NAME %08x %s 801161DC Actor_draw 80116200 actor_dlftbls %u 80116214 No. RamStart- RamEnd cn Name 80116234 %3d %08x-%08x %3d %s 801163E0 ../m_choice_main.c 801163F4 ../m_choice_main.c 8011640C ../m_choice_main.c 8011641F ../m_choice_main.c 80116450 ../m_collision_bg.c 80116470 ../m_collision_bg.c 801164B4 ../m_collision_bg_rewrite.c_inc 80116830 %s 80116834 %s 80116838 REG 8011683C SREG 80116844 OREG 8011684C PREG 80116854 QREG 8011685C MREG 80116864 SBREG 8011686C DREG 80116874 UREG 8011687C IREG 80116884 ZREG 8011688C CRV 80116890 NS1 80116894 SND 80116898 XREG 801168A0 CRV2 801168A8 DEMOREG 801168B0 TREG 801168B8 WREG 801168C0 AREG 801168C8 VREG 801168D0 HREG 801168D8 GREG 801168E0 mREG 801168E8 nREG 801168F0 BREG 801168F8 DORO 80116900 kREG 80116908 BAK 8011690C PLAY 80116910 ERREG 80116918 OTUREG 80116920 NIIREG 80116928 GENREG 80116830 MYKREG 80116838 CAMREG 80116840 SAKREG 80116848 TAKREG 80116950 PL2REG 80116958 %c(%s) 80116960 %02d%6d 80116964 %s%02d%6d 80116974 zelda_malloc 801169B0 graph_alloc 80116AAC %3d 80116AB4 %3d %02d-%02d-%02d 80116AC4 %c%c%c%c%c%c%c%c 80116D40 %04d %04d %04d 80116D50 %02d %02d %02d %02d 80116D70 ../m_field_make.c 80116D88 ../m_field_make.c 80116D9C ../m_field_make.c 80116DAC ../m_field_make.c 80116DC0 ../m_field_make.c 80116DD4 ../m_field_make.c 80116DE8 ../m_field_make.c 80116DFC ../m_field_make.c 80116E10 ../m_field_make.c 80116E24 ../m_field_make.c 80116E40 ../m_field_info.c 80116E54 %d 80116E58 %d,%d - %4x - %d - %d 80116F30 ../m_font_basic.c 80116F44 ../m_font_basic.c 80116F58 ../m_font_mark.c 80116F6C ../m_font_mark.c 80116FC0 ../m_handbill.c 80116FD0 ../m_handbill.c 80116FE0 ../m_handbill.c 80116FF0 ../m_handbill.c 80117000 ../m_handbill.c 80117010 ../m_handbill.c 80117020 ../m_handbill.c 80117030 ../m_handbill.c 80117040 ../m_handbill.c 80117050 ../m_handbill.c 80117060 ../m_handbill.c 80117070 ../m_handbill.c 80117080 ../m_handbill.c 80117090 ../m_handbill.c 801170B0 ../m_item_name.c 80117250 ../m_msg_main.c 80117260 ../m_msg_main.c 80117270 ../m_msg_main.c 80117280 ../m_msg_main.c 80117290 %5d 80117294 C9ff: ../m_npc.c ../m_npc.c ../m_npc.c ../m_npc.c ../m_npc.c ../m_npc.c ../m_npc.c %4x %3d %3d %4x %3d --- %4x --- %3d %4x --- --- **** %4x %3d **** *** ../m_player_lib.c ../m_player_lib.c ../m_player_lib.c ../m_player_lib.c ../m_player_lib.c ../m_player_lib.c ../m_player_lib.c ../m_player_lib.c ../m_player_lib.c %04x %04x **** %x * %x * %x * ショキカ カワガケセイセイ ウミセイセイ ハシサカセイセイ コウバンヒロバセイセイ ミセユウビンキョクセイセイ イケセイセ ベースセッテイ ウミニカワセイセイ ブロックセンタク ランダムカンリョウ RandomTry %d RandomStep %s ファミコン %d ../m_scene_ftr.c ../m_shop.c ../m_shop.c ../m_shop.c ../m_shop.c Pre End Opn Rnw %d %d %s A%2d,%2d,%2d,%2d,%2d %d %d %s->%d.%d.%d A%2d,%2d,%2d,%2d,%2d B%2d,%2d,%2d,%2d,%2d C%2d,%2d,%2d,%2d,%2d ../m_string.c ../m_string.c ../m_string.c ../m_string.c submenu_ovl player_actor SubmenuArea_visit RamStart-RamEnd Offset %08x-%08x %06x PC:%08x RA:%08x player infomation main_index :%d %d request_main_index :%d %d %d pos :%d %d %d angleY :%d %d ../m_scene.c ../m_scene.c ../m_scene.c ../m_titledemo.c sFRm_flashrom AUDIO SP TIMEOUT2 %08x %08x AUDIO CANSEL&RETRY %d ../cfbinfo.c (予約) ../game.c ../game.c ShowFrameBuffer PAGE 0/1/2 RCP is HUNG UP!! Oh! MY GOD!! ../graph.c ../graph.c CLASS SIZE= %d bytes GAME CLASS MALLOC FAILED GRAPH INF.LOOP %2d %3d %3d %6lu AUDIO INF.LOOP %2d %3d %6lu irqmgr sched audio padmgr graph 何かのパックが抜かれました 何かのパックが差し込まれました 認識しました オーバーランエラーが発生 応答しません ../padmgr.c 標準コントローラを認識しました マウス装置を認識しました 音声認識装置を認識しました 知らない種類のコントローラを認識?しました 応答しません ../sched.c __scHandleRSP:this->curRSPTask == NULL __scHandleRDP:this->curRDPTask == NULL ../sys_initial_check.c SUPERDMA FastCopy FastCopy SLOWCOPY BGCOPY 801F6100 == MML PASS CHECK == 803BA610 ../m_trademark.c
The Animal Crossing series
| |
---|---|
Nintendo 64 | Doubutsu no Mori |
GameCube | Animal Crossing |
Nintendo DS | Wild World |
Wii | City Folk |
Nintendo 3DS | New Leaf • Happy Home Designer |
Wii U | Plaza • amiibo Festival |
iOS/Android | Pocket Camp |
Nintendo Switch | New Horizons |
- Pages missing developer references
- Games developed by Nintendo EAD
- Pages missing publisher references
- Games published by Nintendo
- Games published by iQue
- Nintendo 64 games
- IQue Player games
- Pages missing date references
- Games released in 2001
- Games released in April
- Games released on April 14
- Games with unused areas
- Games with hidden development-related text
- Games with unused objects
- Games with unused graphics
- Games with unused models
- Games with unused items
- Games with unused music
- Games with debugging functions
- Games with hidden level selects
- To do
- Animal Crossing series
Cleanup > Pages missing date references
Cleanup > Pages missing developer references
Cleanup > Pages missing publisher references
Cleanup > To do
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 areas
Games > Games by content > Games with unused graphics
Games > Games by content > Games with unused items
Games > Games by content > Games with unused models
Games > Games by content > Games with unused music
Games > Games by content > Games with unused objects
Games > Games by developer > Games developed by Nintendo > Games developed by Nintendo EPD > Games developed by Nintendo EAD
Games > Games by platform > Nintendo 64 games
Games > Games by platform > Nintendo 64 games > IQue Player games
Games > Games by publisher > Games published by Nintendo
Games > Games by publisher > Games published by Nintendo > Games published by iQue
Games > Games by release date > Games released in 2001
Games > Games by release date > Games released in April
Games > Games by release date > Games released in April > Games released on April 14
Games > Games by series > Animal Crossing series