User:Zzo38/Metadata INI
You can have a INI file, with the .nes.ini (or .unif.ini or .fds.ini or .qdi.ini) extension, to describe preferred controllers and other information about a game other than what is in the ROM image file. Anything in the file not understood by whatever program is reading this file, should be ignored. Everything is optional.
If numbers are expected in a value, they are normally decimal, and can be hexadecimal by 0x prefix.
(Note: For QDI format disk images, the INI file must correspond to the file for the bootable side.)
Blocks
Main
Title
The title of this game. This does not have to be the same as the title in a UNIF or mapper 768 ROM image file.
TV
Specify the TV mode supported, separated by vertical bars if there is more than one.
- NTSC: NTSC Famicom or NTSC NES.
- RGB: RGB Famicom.
- PAL: PAL NES.
- Dendy: Dendy PAL Famiclone.
License
Specify if the game is officially licensed.
- Official means it is licensed by Nintendo.
- Unofficial means that it is not licensed by Nintendo; for example, homebrew software.
CRC
Specify the CRC32 checksum. If it doesn't match, it is error.
Bootgod
The ID number for the game in bootgod database. Emulators should not use klugy hacks to work with specific games if the INI file exists and does not have the Bootgod entry specified.
Text
Absolute address into ROM image file of a null-terminatd text. It is not required for UNIF, although it is still allowed.
Controller
Players
Tells how many players. Can be 1, 2, 3, 4, or can be multiples separated by vertical bars.
Player1
Specify the device connected to the first NES controller port. You can have multiple values separated by vertical bars; it can also be blank entries meaning nothing is connected.
- Standard: The standard controller of NES/Famicom.
- Mouse: SNES mouse.
- LightGun: Light gun.
- Arkanoid: Arkanoid.
- SuperNintendo: Super Nintendo standard controller.
- SuperPakPak: Super PakPak analog controller.
- FourScore: NES Four Score.
- VsSystem: VS System. Player 1 VS system controller must be specified in the player 2 slot and vice versa.
- VsLightGun: VS System light gun. Player 1 VS system controller must be specified in the player 2 slot and vice versa.
- PowerPad: Power Pad.
- PowerPadA: Power Pad A side.
- PowerPadB: Power Pad B side.
- PowerPadDDR: Power Pad DDR orientation.
- StandardDDR: Dance mat which is using the protocol of the standard controller.
Player2
Specify the device connected to the second NES controller port. They are the same as Player1 devices, except for the following:
- Standard: Does not include SELECT and START buttons.
- StandardSelectStart: Does include SELECT and START buttons.
- StandardMicrophone: Uses the microphone.
Player3
Used with four players adapters.
Player4
Used with four players adapters.
Expansion
Specify the device connected to the Famicom expansion port. (In case of some devices that work on Player2 or the expansion port, it can be specified either way.)
- Keyboard: Famicom keyboard.
- OekaKids: Oeka Kids tablet.
- LightGun: Light gun.
- KeyboardTape: Famicom keyboard and tape recorder.
- FourPlayers: Four players game.
- FamilyTrainer: Family Trainer.
- FamilyTrainerA: Family Trainer A side.
- FamilyTrainerB: Family Trainer B side.
- FamilyTrainerDDR: Family Trainer DDR orientation.
- ExciteBoxing: Exciting boxing.
License
Mapper
Information of mapper.
Name
Name of the mapper. You can have multiple values separated by vertical bars.
Number
The iNES mapper number, multiplied by sixteen, plus the submapper number. You can have multiple values separated by vertical bars.
Mirror
Set the mirroring. You can have multiple values separated by vertical bars.
- H: Horizontal.
- V: Vertical.
- 1: One screen.
- 4: Four screen.
RAM
Specify the amount of PRG RAM used in the cartridge, in bytes.
BusConflict
Specify if bus conflict is used. You can have multiple values separated by vertical bars.
- No: Require not bus conflict.
- Yes: Require bus conflict.
Audio
Use of expansion audio. Can be No and Yes.
Switch
This block specifies the name and default settings of VS Unisystem switches. The names are given by Name0 to Name7, and the default value is given by Default0 to Default7 which have the values 0 and 1.
Emulator
Specify klugy features of specific emulators. The key is the name of the emulator; the value is not described here.
Dump
Example
[Main] Title="Famicom Hangman" TV=NTSC|RGB ; NTSC and RGB both work (emphasis bits are not used) License=Unofficial ; Not officially license by Nintendo [Controller] Players=1 ; Single player game Player1= ; Player 1 controller is explicitly not used. Expansion=Keyboard ; Using Famicom keyboard Player2=|StandardMicrophone ; Player 2 controller is optional, and can use the microphone if available [License] Name="Public domain" Watermark=No ; Copies are not watermarked Copy=Allow Modify=Allow Commercial=Allow [Mapper] Mirror=H|V|1|4 ; Program doesn't care about nametablem mirroring RAM=0 ; PRG RAM is not used (this line is redundant if the ROM image is NES 2.0) BusConflict=No|Yes ; Program doesn't care if bus conflicts are used or not