Folders and File naming - MiSTer-devel/Wiki_MiSTer GitHub Wiki

File names and folder names are case insensitive. You may put .rbf files on the root of your SD card, or in their folders with names shown below.

Example of valid top level folder layout with BIOS and Bootroms in separate folder

Show

/media/fat
β”œβ”€β”€ _Arcade
β”œβ”€β”€ bootrom
β”œβ”€β”€ cheats
β”œβ”€β”€ _Computer
β”œβ”€β”€ config
β”œβ”€β”€ _Console
β”œβ”€β”€ Filters
β”œβ”€β”€ games
β”œβ”€β”€ Gamma
β”œβ”€β”€ linux
β”œβ”€β”€ saves
β”œβ”€β”€ Scripts
β”œβ”€β”€ updater-pc
└── _Utility
Example of the files in the root of your SD card.
Show

/media/flash
β”œβ”€β”€ menu.jpg
β”œβ”€β”€ menu.rbf
β”œβ”€β”€ MiSTer
└──MiSTer.ini
example of naming in the _Arcade folder
Show

_Arcade
β”œβ”€β”€ 1942_20190226.rbf
β”œβ”€β”€ 1943_20190509.rbf
β”œβ”€β”€ Alibaba_20180313.rbf
β”œβ”€β”€ Amidar_20180313.rbf
└── Arkanoid_20190227.rbf
You may put bootrom and bios files in the bootrom folder if you want to separate it from your games. If you want to do that use a naming convention such as this.
Show

bootrom
β”œβ”€β”€ a.1942.rom
β”œβ”€β”€ a.1943.rom
β”œβ”€β”€ a.alibbt.rom
β”œβ”€β”€ a.amidar.rom
β”œβ”€β”€ a.arkanoid.rom
β”œβ”€β”€ C64.rom
β”œβ”€β”€ ColecoVision.rom
β”œβ”€β”€ Genesis.rom
β”œβ”€β”€ jtbiocom.rom
β”œβ”€β”€ jtbtiger.rom
β”œβ”€β”€ jtcom.rom
β”œβ”€β”€ jtf1drm.rom
β”œβ”€β”€ jtgng.rom
β”œβ”€β”€ jtgun.rom
β”œβ”€β”€ jttora.rom
β”œβ”€β”€ jtvulgus.rom
β”œβ”€β”€ MacPlus.rom
β”œβ”€β”€ MegaCD.rom
β”œβ”€β”€ Odyssey2.rom
β”œβ”€β”€ QL.rom
β”œβ”€β”€ SNES.rom
β”œβ”€β”€ Spectrum.rom
β”œβ”€β”€ TGFX16.rom
β”œβ”€β”€ TI-99_4A.rom
β”œβ”€β”€ TSConf.rom
β”œβ”€β”€ Vectrex.rom
└── X68000.rom
You may put cheats in cheats with a naming convention like the games folder, like so
Show

cheats
β”œβ”€β”€ GameBoy
β”œβ”€β”€ Genesis
β”œβ”€β”€ NES
β”œβ”€β”€ SMS
β”œβ”€β”€ SNES
└── TGFX16
You may put computers cores can be put in _Computer if you do not want to put them on the root of the SD card. The updater scripts recognizes the _Computer folder. The following is an example of file names in _Computer folder that the updater scripts will recognize.
Show

_Computer
β”œβ”€β”€ Altair8800_20181113.rbf
β”œβ”€β”€ Amstrad_20190923.rbf
β”œβ”€β”€ ao486_20190927.rbf
β”œβ”€β”€ Apogee_20190927.rbf
β”œβ”€β”€ Apple-I_20190812.rbf
β”œβ”€β”€ Apple-II_20191005.rbf
β”œβ”€β”€ Aquarius_20190927.rbf
β”œβ”€β”€ Archie_20191204.rbf
β”œβ”€β”€ Atari800_20190927.rbf
β”œβ”€β”€ BBCMicro_20190927.rbf
β”œβ”€β”€ BK0011M_20190926.rbf
β”œβ”€β”€ C16_20190924.rbf
β”œβ”€β”€ C64_20190927.rbf
β”œβ”€β”€ ht1080z_20190805.rbf
β”œβ”€β”€ Jupiter_20190927.rbf
β”œβ”€β”€ MacPlus_20190928.rbf
β”œβ”€β”€ minimig_20170626.rbf
β”œβ”€β”€ Minimig_20191204.rbf
β”œβ”€β”€ MSX_20190928.rbf
β”œβ”€β”€ MultiComp_20180629.rbf
β”œβ”€β”€ ORAO_20181230.rbf
β”œβ”€β”€ PDP1_20190101.rbf
β”œβ”€β”€ PET2001_20191117.rbf
β”œβ”€β”€ QL_20190928.rbf
β”œβ”€β”€ SAMCoupe_20190928.rbf
β”œβ”€β”€ SharpMZ_20180926.rbf
β”œβ”€β”€ Specialist_20190926.rbf
β”œβ”€β”€ Ti994a_20191020.rbf
β”œβ”€β”€ TSConf_20190928.rbf
β”œβ”€β”€ Vector-06C_20190926.rbf
β”œβ”€β”€ VIC20_20190927.rbf
β”œβ”€β”€ X68000_20171103.rbf
β”œβ”€β”€ ZX81_20190928.rbf
└── ZX-Spectrum_20191116.rbf
The following is an example of naming convention in the config folder
Show

config
β”œβ”€β”€ A.GnG_scaler.cfg
β”œβ”€β”€ Genesis.CFG
β”œβ”€β”€ inputs
β”œβ”€β”€ MENU.CFG
β”œβ”€β”€ NES_scaler.cfg
β”œβ”€β”€ SNES_scaler.cfg
└── TGFX16_scaler.cfg
You may put console cores can be put in _Console if you do not want to put them on the root of the SD card. The updater scripts recognizes the _Console folder. The following is an example of file names in the _Console folder that the updater scripts will recognize.
Show

_Console
β”œβ”€β”€ Astrocade_20190927.rbf
β”œβ”€β”€ Atari2600_20190927.rbf
β”œβ”€β”€ Atari5200_20190927.rbf
β”œβ”€β”€ ColecoVision_20190927.rbf
β”œβ”€β”€ Gameboy_20190929.rbf
β”œβ”€β”€ GBA_20191204.rbf
β”œβ”€β”€ Genesis_20191117.rbf
β”œβ”€β”€ MegaCD_20191205.rbf
β”œβ”€β”€ NeoGeo_20191205.rbf
β”œβ”€β”€ NES_20191117.rbf
β”œβ”€β”€ Odyssey2_20181221.rbf
β”œβ”€β”€ Pong_20191006.rbf
β”œβ”€β”€ SMS_20190928.rbf
β”œβ”€β”€ SNES_20191117.rbf
β”œβ”€β”€ TurboGrafx16_20190928.rbf
└── Vectrex_20190928.rbf
The following is an example layout of the Filters folder
Show

_Filters
β”œβ”€β”€ Interpolation (Sharp).txt
β”œβ”€β”€ LCD Color (Gameboy Color).txt
β”œβ”€β”€ LCD Effects
β”œβ”€β”€ LCD Monochrome (Gameboy).txt
β”œβ”€β”€ Misc
β”œβ”€β”€ No Interpolation.txt
β”œβ”€β”€ Normal Upscaling
β”œβ”€β”€ Scanlines (Bright)
β”œβ”€β”€ Scanlines (Bright Sharp).txt
β”œβ”€β”€ Scanlines (Bright Soft).txt
β”œβ”€β”€ Scanlines (Sharp).txt
β”œβ”€β”€ Scanlines (Soft).txt
β”œβ”€β”€ Scanlines (Vertical)
β”œβ”€β”€ SNES Interpolation (Sharp).txt
β”œβ”€β”€ SNES Specific
β”œβ”€β”€ Vertical Scanlines (Sharp).txt
└── Vertical Scanlines (Soft).txt
You may put games in games inside a subfolder for each core. You may also but BIOS files in the same folder as the ROMs for each system and name it boot.rom, if the core does not use a BIOS file you can rename a ROM file to boot.rom and it will autostart with that ROM. You may also just put BIOS or autostart ROMs in its own folder, see above for naming. Here is an example of folder names inside the games folder
Show

games
β”œβ”€β”€ Altair8800
β”œβ”€β”€ Amiga
β”œβ”€β”€ Amstrad
β”œβ”€β”€ ao486
β”œβ”€β”€ APOGEE
β”œβ”€β”€ Apple-I
β”œβ”€β”€ Apple-II
β”œβ”€β”€ AQUARIUS
β”œβ”€β”€ ARCHIE
β”œβ”€β”€ Astrocade
β”œβ”€β”€ ATARI2600
β”œβ”€β”€ ATARI5200
β”œβ”€β”€ ATARI800
β”œβ”€β”€ BBCMicro
β”œβ”€β”€ BK0011M
β”œβ”€β”€ C16
β”œβ”€β”€ C64
β”œβ”€β”€ Coleco
β”œβ”€β”€ Doom
β”œβ”€β”€ GAMEBOY
β”œβ”€β”€ GBA
β”œβ”€β”€ Genesis
β”œβ”€β”€ HT1080Z
β”œβ”€β”€ Jupiter
β”œβ”€β”€ MACPLUS
β”œβ”€β”€ MegaCD
β”œβ”€β”€ MSX
β”œβ”€β”€ MultiComp
β”œβ”€β”€ NeoGeo
β”œβ”€β”€ NES
β”œβ”€β”€ ODYSSEY2
β”œβ”€β”€ ORAO
β”œβ”€β”€ PDP1
β”œβ”€β”€ PET2001
β”œβ”€β”€ QL
β”œβ”€β”€ SAMCOUPE
β”œβ”€β”€ SHARP MZ SERIES
β”œβ”€β”€ SMS
β”œβ”€β”€ SNES
β”œβ”€β”€ Spectrum
β”œβ”€β”€ SPMX
β”œβ”€β”€ TGFX16
β”œβ”€β”€ TI-99_4A
β”œβ”€β”€ TSConf
β”œβ”€β”€ VECTOR06
β”œβ”€β”€ VECTREX
β”œβ”€β”€ VIC20
β”œβ”€β”€ X68000
└── ZX81
Example files for the Gamma folder
Show

Gamma
β”œβ”€β”€ Poly 2.3.txt
β”œβ”€β”€ Poly 2.4.txt
β”œβ”€β”€ Poly 2.5.txt
β”œβ”€β”€ Poly 2.6.txt
β”œβ”€β”€ Poly 2.7.txt
β”œβ”€β”€ Poly 2.8.txt
β”œβ”€β”€ Poly 2.9.txt
β”œβ”€β”€ Poly 3.0.txt
β”œβ”€β”€ Poly_Gamma
└── Pure_Gamma
Example files in the linux folder, these files are case sensitive.
Show

linux
β”œβ”€β”€ bluetooth
β”œβ”€β”€ linux.img
β”œβ”€β”€ MidiLink.INI
β”œβ”€β”€ mt32-rom-data
β”œβ”€β”€ ppp_options
β”œβ”€β”€ _samba.sh
β”œβ”€β”€ soundfonts
β”œβ”€β”€ uboot.img
β”œβ”€β”€ unrar-nonfree
β”œβ”€β”€ updateboot
β”œβ”€β”€ _wpa_supplicant.conf
β”œβ”€β”€ wpa_supplicant.conf
└── zImage_dtb
Example folder names inside the saves folder, they use the same names as the games folder
Show

saves
β”œβ”€β”€ GBA
β”œβ”€β”€ Genesis
β”œβ”€β”€ NES
β”œβ”€β”€ SMS
└── SNES
Example view of the Scripts folder
Show

Scripts
β”œβ”€β”€ bluetooth_pair.sh
β”œβ”€β”€ build_mame_roms.sh
β”œβ”€β”€ change_ini_properties.sh.inc
β”œβ”€β”€ change_ini_property.sh.inc
β”œβ”€β”€ cifs_mount.sh
β”œβ”€β”€ cifs_umount.sh
β”œβ”€β”€ core_manager.sh
β”œβ”€β”€ firewall_off.sh
β”œβ”€β”€ firewall_on.sh
β”œβ”€β”€ ftp_off.sh
β”œβ”€β”€ ftp_on.sh
β”œβ”€β”€ gdrive_config_download.sh
β”œβ”€β”€ gdrive_config_upload.sh
β”œβ”€β”€ gdrive_saves_download.sh
β”œβ”€β”€ gdrive_saves_upload.sh
β”œβ”€β”€ gdrive.sh.inc
β”œβ”€β”€ ini_settings.sh
β”œβ”€β”€ mac_address_change.sh
β”œβ”€β”€ rclone_config_download.sh
β”œβ”€β”€ rclone_config_upload.sh
β”œβ”€β”€ rclone_saves_download.sh
β”œβ”€β”€ rclone_saves_upload.sh
β”œβ”€β”€ rclone.sh.inc
β”œβ”€β”€ reboot.sh
β”œβ”€β”€ rtc.sh
β”œβ”€β”€ samba_off.sh
β”œβ”€β”€ samba_on.sh
β”œβ”€β”€ security_fixes.sh
β”œβ”€β”€ soundfont_install.sh
β”œβ”€β”€ ssh_off.sh
β”œβ”€β”€ ssh_on.sh
β”œβ”€β”€ timezone.sh
β”œβ”€β”€ update.ini
β”œβ”€β”€ update.sh
β”œβ”€β”€ video_mode_ntsc_pal_off.sh
β”œβ”€β”€ video_mode_ntsc_pal_on.sh
β”œβ”€β”€ video_settings_compatibility.sh
β”œβ”€β”€ video_settings_optimal.sh
└── wifi.sh
If you want to connect your SD card to a computer and run the Updater, without connecting your MiSTer device to the internet. You can get the updater-pc tool (for Windows and Linux). You can run the bat file in Windows or the sh file in Linux. The only file that is really needed if you are on Linux and dont need Windows is the curl-ca-bundle.crt and the update-linux.sh files. The rest of the files (except the license folder) are for windows functionallity. Example view of the updater-pc folder:
Show

updater-pc
β”œβ”€β”€ awk
β”œβ”€β”€ bash.exe
β”œβ”€β”€ cat.exe
β”œβ”€β”€ curl-ca-bundle.crt
β”œβ”€β”€ curl.exe
β”œβ”€β”€ cygattr-1.dll
β”œβ”€β”€ cygbz2-1.dll
β”œβ”€β”€ cyggcc_s-1.dll
β”œβ”€β”€ cyggmp-10.dll
β”œβ”€β”€ cygiconv-2.dll
β”œβ”€β”€ cygintl-8.dll
β”œβ”€β”€ cygmpfr-6.dll
β”œβ”€β”€ cygncursesw-10.dll
β”œβ”€β”€ cygpcre-1.dll
β”œβ”€β”€ cygreadline7.dll
β”œβ”€β”€ cygwin1.dll
β”œβ”€β”€ date.exe
β”œβ”€β”€ gawk.exe
β”œβ”€β”€ grep.exe
β”œβ”€β”€ head.exe
β”œβ”€β”€ libcurl.dll
β”œβ”€β”€ licenses
β”œβ”€β”€ md5sum.exe
β”œβ”€β”€ mkdir.exe
β”œβ”€β”€ mktemp.exe
β”œβ”€β”€ mv.exe
β”œβ”€β”€ ps.exe
β”œβ”€β”€ rm.exe
β”œβ”€β”€ sed.exe
β”œβ”€β”€ sync.exe
β”œβ”€β”€ touch.exe
β”œβ”€β”€ tr.exe
β”œβ”€β”€ unzip.exe
β”œβ”€β”€ update-linux.sh
└── update-win.bat
You may put utility cores can be put in _Utility if you do not want to put them on the root of the SD card. The updater scripts recognizes the _Utility folder. The following is an example of file names in _Utility folder that the updater scripts will recognize.
Show

_Utility
└── memtest_20190920.rbf
⚠️ **GitHub.com Fallback** ⚠️