We just released a Feb. 5 '89 prototype of DuckTales for the NES!
If you'd like to support our preservation efforts (and this wasn't cheap), please consider donating or supporting us on Patreon. Thank you!

Doubutsu no Mori

From The Cutting Room Floor
Jump to navigation Jump to search
This page contains changes which are not marked for translation.
Other languages:
English • ‎español • ‎日本語 • ‎한국어

Title Screen

Doubutsu no Mori

Also known as: Dòngwù Sēnlín (CN)
Developer: Nintendo
Publisher: Nintendo
Platforms: Nintendo 64, iQue Player
Released in JP: April 14, 2001
Released in CN: June 1, 2006

AreasIcon.png This game has unused areas.
DevTextIcon.png This game has hidden development-related text.
DebugIcon.png This game has debugging material.
LevelSelectIcon.png This game has a hidden level select.

NotesIcon.png 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 US 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:
  • The crash debugger button combination also opens a debug mode when pressed on Controller 2. Document this.
  • Source code for iQue version leaked. Interesting variants and secrets in there.

Map Select

The game contains a map select screen that is very similar in design to those found in The Legend of Zelda: Ocarina of Time and The Legend of Zelda: Majora's Mask. The screen can be accessed using the GameShark codes below. Enter the codes and start the game (make sure you have a save file), and when Totakeke on the screen prompts you to start, hold R and hit the second option of each prompt until he starts to freak out. Hit the second option one last time and he will "erase" you (it won't work). After that, the test menu will come up. The D-Pad is used to choose an area, and Start will load it.

D0145B31 0010
81106F14 0073
D0145B31 0010
81106F16 F4D0
D0145B31 0010
81106F18 0074
D0145B31 0010
81106F1A 1A40
D0145B31 0010
81106F1C 8080
D0145B31 0010
81106F1E 0000
D0145B31 0010
81106F20 8080
D0145B31 0010
81106F22 2570
D0145B31 0010
81106F28 8080
D0145B31 0010
81106F2A 1A34
D0145B31 0010
81106F2C 8080
D0145B31 0010
81106F2E 1A28
D0145B31 0010
81106F3E 0240
(Source: xdaniel, access method by Cendamos)
1: Field Course 1
2: Field Course 2
3: Fielde Course 3
4: Water Test Course
5: Footprint Test Course
6: npc Test Course
7: NPC Arrangement Room
8: NPC Random Course
9: FG Tool for Field
10: Shop
11: BG Preview (No River)
12: BG Preview (River)
13: Shadow Broker Shop
14: FG Tool for Room Interior
15: Post Office
16: start demo 1
17: start demo 2
18: Police Box
19: Covered Wagon
20: Player Select
21: My Room (size S)
22: My Room (size M)
23: My Room (size L)
24: Convenience Store
25: Supermarket
26: Department Store 1F
27: Test Course 5
28: Player Select 2
29: Player Select 3
30: Department Store 2F
31: Event Kokuchi
32: Snow Hut
33: for field tool
34: Idle Demo
35: Player Select 4


2000/01/01 <SAT>
Steps   : **m**s
Weather : Sakura
Gender  : Girl
Face    : Type 6
Bug Bite: Doesn't Hurt
Data    : Real Deal
Clothes : 009
Event   : ---
Please elaborate.
Having more detail is always a good thing.
Specifically: Lots of stuff to do here...
To do:
Document the map select options, document the maps (most, if not all, are for debugging/testing or something?), everything else.


From top to bottom, the labels are Step, Weather, Gender, Face, Bee Sting, Data, Shirt, Event.

1: Field Course 1

Animalforest fieldcourse1.png Watch your step! Animalforest fieldtest1train.png Porter really screwed this one up. Animalforest fieldtest1trees.png

Acre 1 has 5 NPCs that have a conversation, then immediately get either angry or depressed. They all disappear if you leave the acre. There is also a bulletin board. Another acre has trees in each stage of growth. There are also fruit trees bearing every kind of fruit. Other highlights include rivers that appear out of nowhere, two lighthouses, a train stuck in midair, another acre of trees (this time with money growing on them), and hills covered in pitfalls.

2: Field Course 2

Animalforest fieldtest2start.png Animalforest fieldtest2cubes.png

Features several instances of Nook's Cranny, a few houses intended for the player, many more NPCs, a soccer ball, and two landfills. The complete lack of trees in this map compensates for their overabundance in the previous one. This map is unused in the GameCube version as well. It also includes a giant unused yellow cube-like figure, which other than multiplying and pushing the player around does not do much.

3: Field Course 3

Animalforest field3copper.png I'll never be hungry again! (Insert Jesus joke here.) Animalforest stumprow.png Porter, you really suck at your job.

A bunch of apples and pitfalls can be found in one area. Copper is also present. Oddities include a villager walking on water, a rectangle made of tree stumps, and another flying train. Also present in the GameCube version.

4: Water Test Course

Animalforest watertest.png Animalforest watertestbees.png

Bees spawn at the starting point of the map, so (ahem) be warned. There is also a steep hill and a waterfall. Surprisingly normal compared to the previous maps.

5: Footprint Test Course

All we get to see.

Crashes the game.

6: NPC Test Course

Animalforest npctest.png

A single-acre map with three NPCs and nothing else.

7: NPC Arrange Room

Animalforest npcarrange.png

A copy of Nosegay's house interior, albeit with different wallpaper and flooring. Going outside takes you to Field Course 1.

8: NPC Random Course

Doesn't load.

9: FG Tool, Field Mode

Generic four-acre map. Nothing to see here.

10: Shop

Sold out of everything.

Nook's Cranny without anything to buy. Exit leads to Field Course 1.

11: BG Preview Without Rivers

Looks like... cookie chunks.

An early map geometry test without proper textures. In other words, it is a glitched cliff.

12: BG Preview With Rivers

Slime Land

A very early river test with primitive textures. The player walks around on the water and cannot get up on dry land. You can also get stuck behind one corner of the dock.

13: Shady Broker's Shop

Animalforest shadybroker.png

Also known as the Black Market or Crazy Redd's. Exit leads to Field Course 1.

14: FG Tool, Room Interior Mode

Same as 7, but may be different. No idea what special function it has. Exit leads to Field Course 1.

15: Post Office

The Post Office, obviously. Exit leads to Field Course 1, as usual.

16: start demo 1

The scene where you meet Rover on the train at the beginning of the game. After the questionnaire is completed, the screen fades to black and the train sound effect is played on an endless loop.

Screenshot 2020-12-06 at 3.13.45 AM.png

17: start demo 2

The meeting with Rover again, only he doesn't ask for the date in this one.

18: Police Station

The Police Station, of course. The exit leads to everybody's favorite test map, Field Course 1.

19: Fortune Telling Tent

The Fortune Telling Tent. Guess where the exit leads. I dare you.

20: Player Select

Presumably used to select player 1. If you have no save file, it replays Totakeke's beginning speech.

21: My Room size S

Animalforest myrooms.png

Drops you in a small house. Oddly enough, you can't exit.

22: My Room size M

Animalforest myroomm.png

Drops you in a medium house. The camera is fixed, and you still can't exit.

23: My Room size L

Animalforest myrooml.png

Same as above, only you're in an even larger house.

24: Convenience Store

Starts you off in Nook 'n' Go, the first upgrade to Nook's store. No items are for sale. Exit leads to Field Course 1.

25: Supermarket

Starts you off in Nookway, the second upgrade to Nook's store. No items are for sale. Exit leads to Field Course 1.

26: Department Store 1F

Starts you off on the first floor of Nookington's, the third and final upgrade to Nook's store. The stairway to the second floor functions normally. No items are for sale. Exit leads to Field Course 1.

27: Test Course 5

A small map that only has ponds and grass areas.

28: Player Select 2

Brings up the load player screen with some sheep talking to you instead of Totakeke. Presumably used to load player 2.

29: Player Select 3

Brings up the load player screen with Totakeke. Presumably used to load player 3.

30: Department Store 2F

Starts you off on the second floor of Nookington's. The stairway functions normally, and the exit again deposits you at Field Course 1.

31: Event Announcements

A bunch of acres with sign poles in the same place. One acre will crash the game.

32: Igloo

Animalforest iglootest.png

Specifically, an igloo made by hollowing out a pile of snow.

33: for field tool

An "almost" normal town, except something is buried in cement, the animals have graphically glitched houses that all lead to NPC arrange room (#7 in the menu), and the post office and dump are missing.

34: Waiting For Visitors Demo

This will load the title screen with a demo of your town, but you are fully playable. Pressing the Start button takes you to Totakeke's speech/player select.

35: Player Select 4

Brings back the sheep to help load your game. Presumably used to select player 4.

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:

  1. L + R, then while holding both press Z.
  2. D-Up
  3. C-Down
  4. C-Up
  5. D-Down
  6. D-Left
  7. C-Left
  8. C-Right
  9. D-Right
  10. A + B, then while holding both press Start.
(Source: Fkualol)

Debug Displays


Screenshot 2020-12-06 at 3.33.12 AM.png

GameShark code 801DFA64 0001 will display some colorful memory usage bars.


GameShark code 8010FD63 0001 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.

(Source: Nekokabu)

Title Theme

To do:
See if there's a way to access the full title theme in the N64 version.

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; while this extended outro is accessible in the GameCube re-releases by ejecting the game disc during the first demo that plays when booting the game up, there isn't a known method of accessing the full theme in the original N64 version without datamining.

In-game Full

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
01-02-14 16:37:16
03-03-07 16:48:26

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
8003D250 アライメント異常
8003D26C Segment Alignment Error
8003D284 セグメント境界をまたがってDMA転送することはできません
8003D2C4 Can't Transfer Segment
8003D2DC 圧縮されたセグメントの途中からはDMA転送することはできません
8003D320 Can't Transfer Segment
8003D338 圧縮されたセグメントの一部だけをDMA転送することはできません
8003D38C 該当するデータが存在しません
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
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
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
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:
%4x %3d %3d
%4x %3d ---
%4x --- %3d
%4x --- ---
%4x %3d 
**** *** 
RandomTry %d
RandomStep %s
ファミコン %d
%d %d %s
%d %d %s->%d.%d.%d
RamStart-RamEnd  Offset
%08x-%08x %06x
player infomation
main_index         :%d %d
request_main_index :%d %d %d
pos :%d %d %d
angleY :%d %d
ShowFrameBuffer PAGE 0/1/2
Oh! MY GOD!!
CLASS SIZE= %d bytes
GRAPH INF.LOOP %2d %3d %3d %6lu
AUDIO INF.LOOP %2d %3d     %6lu
__scHandleRSP:this->curRSPTask == NULL
__scHandleRDP:this->curRDPTask == NULL
801F6100 == MML PASS CHECK ==
803BA610 ../m_trademark.c