Post

Official NES Tag Data for Animal Crossing's NES/FDS ROMs

Explanation

Animal Crossing has a built-in NES emulator that is capable of loading .nes, .bin, and .qd ROMs. These ROMs are customized to have a complex system of tagging metadata. Specific ASCII NES tags are required to be present for Animal Crossing’s emulator to load any game. There are a whopping 24 valid tags that can be included, and Cuyler has a detailed post on all of them here.

This page details the official tags used by Nintendo in all 19 of their default ROMs included in Animal Crossing. These are presented in the order they are stored on the disk.

Clu Clu Land

01_nes_cluclu3.bin.szs:

TagLengthValueOffset
GID2 bytes––
GNM11 bytesCLU CLU LAND–
GNO1 byte0x00–
HSC6 bytes0x00000000 (initial)0x8020

Balloon Fight

02_usa_balloon.nes.szs:

TagLengthValueOffset
GID2 bytes––
GNM11 bytesBALLOON FIGHT–
GNO1 byte0x01–
OFS2 bytes0x0000–
HSC7 bytes0x00000001000x0629
HSC7 bytes0x00000001000x062e
HSC7 bytes0x00000502000x0633

Donkey Kong

03_nes_donkey1_3.bin.szs:

TagLengthValueOffset
GID2 bytes––
GNM11 bytesDONKEY KONG–
GNO1 byte0x02–
OFS2 bytes0x0000–
HSC4 bytes0x0000 (initial)0x0507
HSC4 bytes0x0000 (initial)0x0509

Donkey Kong Jr. Math

04_usa_jr_math.nes.szs:

TagLengthValueOffset
GID2 bytes––
GNM13 bytesDONKY JR MATH–
GNO1 byte0x03–
OFS2 bytes0x0000–
HSC4 bytes0x0000 (initial)0x04d7
HSC4 bytes0x0000 (initial)0x04d9
HSC4 bytes0x0000 (initial)0x04db
HSC4 bytes0x0000 (initial)0x04dd
HSC4 bytes0x0000 (initial)0x04df
HSC4 bytes0x0000 (initial)0x04e1
HSC4 bytes0x0000 (initial)0x04e3
HSC4 bytes0x0000 (initial)0x04e5
HSC4 bytes0x0000 (initial)0x04e7

Pinball

05_pinball_1.nes.szs:

TagLengthValueOffset
GID2 bytes––
GNM7 bytesPINBALL–
GNO1 byte0x04–
OFS2 bytes0x0000–
HSC7 bytes0x000000 (initial)0x010e
HSC7 bytes0x000000 (initial)0x0113

Tennis

06_nes_tennis3.bin.szs:

TagLengthValue
GID2 bytes–
GNM6 bytesTENNIS
GNO1 byte0x05

Golf

07_usa_golf.nes.szs:

TagLengthValueOffset
GID2 bytes––
GNM4 bytesGOLF–
GNO1 byte0x06–
OFS2 bytes0x0000–
HSC3 bytes0x40* (initial)0x000e

*0x40 corresponds to a high score of 64 strokes (-8 from par 72)

Punch-Out!!

08_punch_wh.nes.szs:

TagLengthValueOffset
GID2 bytes––
GNM10 bytesPUNCH-OUT!–
GNO1 byte0x07–
OFS2 bytes0x0000–
HSC12 bytes0x27272727272727272727 (initial)0x0110

Baseball

09_usa_baseball_1.nes.szs:

This game has bugged tag data.

TagLengthValue
GID2 bytes–
GNM6 bytesBASEBA
LLG*78 bytesN/A; bugged data from bad declaration
ONG*32 bytesN/A; bugged data from bad declaration

*not officially recognized tags, but are marked as such in the ROM

Clu Clu Land D

Clu Clu Land D is an important title because it is the only ROM in the game that is actually a Famicom Disk System game rather than a standard NES game. This means it has the file extension .qd rather than .nes and makes the emulator call a custom BIOS specifically to load this one game.

10_cluclu_1.qd.szs:

TagLengthValue
GID3 bytes–
GNM14 bytesCLU CLU LAND D
GNO1 byte0x09
OFS2 bytes0x0000
QDS5 bytes0x00a1700050

Donkey Kong 3

11_usa_donkey3.nes.szs:

TagLengthValueOffset
GID2 bytes––
GNM13 bytesDONKEY KONG 3–
GNO1 byte0x0a–
OFS2 bytes0x0000–
HSC4 bytes0x0000 (initial)0x008c
HSC4 bytes0x0000 (initial)0x008e

Donkey Kong Jr.

12_donkeyjr_1.nes.szs:

TagLengthValueOffset
GID2 bytes––
GNM14 bytesDONKEY KONG JR–
GNO1 byte0x0b–
OFS2 bytes0x0000–
HSC4 bytes0x0000 (initial)0x05d6
HSC4 bytes0x0000 (initial)0x05d8

Soccer

13_soccer.nes.szs:

TagLengthValue
GID2 bytes–
GNM6 bytesSOCCER
GNO1 byte0x0d

Excitebike

Excitebike has a whopping twenty-two HSC tags for all the default record times in each track.

14_exbike.nes.szs:

TagLengthValueOffset
GID2 bytes––
GNM10 bytesEXCITEBIKE–
GNO1 byte0x0c–
OFS2 bytes0x0000–
HSC5 bytes0x011000 (initial)0x8580
HSC5 bytes0x011000 (initial)0x8583
HSC5 bytes0x011000 (initial)0x8586
HSC5 bytes0x010c00 (initial)0x8589
HSC5 bytes0x010600 (initial)0x858c
HSC5 bytes0x011800 (initial)0x8590
HSC5 bytes0x011600 (initial)0x8593
HSC5 bytes0x010a00 (initial)0x8596
HSC5 bytes0x011400 (initial)0x8599
HSC5 bytes0x010600 (initial)0x859c
HSC5 bytes0x0a0000 (initial)0x85a0
HSC5 bytes0x011000 (initial)0x85a3
HSC5 bytes0x011000 (initial)0x85a6
HSC5 bytes0x011000 (initial)0x85a9
HSC5 bytes0x010c00 (initial)0x85ac
HSC5 bytes0x010600 (initial)0x85af
HSC5 bytes0x011800 (initial)0x85b3
HSC5 bytes0x011600 (initial)0x85b6
HSC5 bytes0x010a00 (initial)0x85b9
HSC5 bytes0x011400 (initial)0x85bc
HSC5 bytes0x010600 (initial)0x85bf
HSC5 bytes0x0a0000 (initial)0x85c3

Wario’s Woods

15_usa_wario.nes.szs:

TagLengthValue
GID2 bytes–
GNM13 bytesWARIO’s WOODS
GNO1 byte0x0e
OFS2 bytes0x0000
BBR4 bytes0x1b000004
BBR4 bytes0x1b100034
BBR4 bytes0x1b500010
BBR4 bytes0x1b670003
BBR4 bytes0x1b700002
BBR4 bytes0x1b740002
OFS2 bytes0x0000
BBR4 bytes0x1b6d0002

Ice Climber

16_usa_icecl.nes.szs:

TagLengthValueOffset
GID2 bytes––
GNM11 bytesICE CLIMBER–
GNO1 byte0x0f–
OFS2 bytes0x0000–
HSC5 bytes0x000000 (initial)0x87ed

Mario Bros.

17_nes_mario1_2.bin.szs:

TagLengthValueOffset
GID2 bytes––
GNM11 bytesMARIO BROS.–
GNO1 byte0x10–
OFS2 bytes0x0000–
HSC5 bytes0x000000 (initial)0x0091

Super Mario Bros.

18_smario_0.nes.szs:

TagLengthValueOffset
GID2 bytes––
GNM16 bytesSUPER MARIO BROS–
GNO1 byte0x11–
OFS2 bytes0x0000–
HSC8 bytes0x000000000000 (initial)0x87d7
HSC3 bytes0x00 (initial)0x07fc
HSC3 bytes0x00 (initial)0x87fd

The Legend of Zelda

19_usa_zelda1_1.nes.szs:

TagLengthValue
GID2 bytes–
GNM16 bytesLEGEND OF ZELDA1
GNO1 byte0x12
OFS2 bytes0x0000
BBR4 bytes0x0002051c
SPE1 byte0x01
This post is licensed under CC BY 4.0 by the author.