From 52ca19af39b1ff4a7338ddec58e9dfff3ab562fc Mon Sep 17 00:00:00 2001 From: Rupert Carmichael <5050061-carmiker@users.noreply.gitlab.com> Date: Thu, 10 Sep 2026 20:11:12 -0400 Subject: [PATCH 1/2] Update Geolith doc --- docs/library/geolith.md | 136 +++++++++++++++++++++++++++++++++++----- 1 file changed, 120 insertions(+), 16 deletions(-) diff --git a/docs/library/geolith.md b/docs/library/geolith.md index 24fb8dee2a..9fd70fd784 100644 --- a/docs/library/geolith.md +++ b/docs/library/geolith.md @@ -1,12 +1,15 @@ -# SNK - Neo Geo AES / MVS (Geolith) +# SNK - Neo Geo AES / MVS / CD / CDZ (Geolith) ## Background -Geolith is a highly accurate Neo Geo AES/MVS emulator written in ISO C11. Geolith takes a different approach to Neo Geo emulation than most existing emulators, aiming for a home-console-first experience and using single file ROMs (which never need to be updated) similar to a typical home console emulator. Despite the focus on the home experience, Geolith also fully supports arcade mode. +Geolith is a highly accurate Neo Geo AES/MVS/CD/CDZ emulator written in ISO C11. Geolith takes a different approach to Neo Geo emulation than most existing emulators, aiming for a home-console-first experience and using single file ROMs (which never need to be updated) similar to a typical home console emulator. Despite the focus on the home experience, Geolith also fully supports arcade mode. + +Cartridge systems support TerraOnion's .neo file format only. CD systems support .bin/.cue and .chd disc images. The Geolith core has been authored by - [Rupert Carmichael (carmiker)](https://github.com/carmiker) +- [Romain Tisserand](https://github.com/rtissera) (Neo Geo CD) The Geolith core is licensed under @@ -16,23 +19,36 @@ A summary of the licenses behind RetroArch and its cores can be found [here](../ ## BIOS -Geolith requires a BIOS. +Geolith requires a BIOS. Which BIOS archive is required depends on the system being emulated. Required or optional firmware files go in the frontend's system directory. !!! attention - Geolith requires BIOS files to function. Place the following files in RetroArch's system directory: + Geolith requires BIOS files to function. Place the following files from a recent MAME set in RetroArch's system directory: + +| Filename | Description | +|:-----------------:|:---------------------------------------------------------------:| +| aes.zip | Neo Geo AES BIOS - Required for AES (Home Console) mode | +| neogeo.zip | Neo Geo MVS BIOS - Required for MVS (Arcade) and Universe BIOS | +| neocd.zip | Neo Geo CD BIOS - Required for CD Front Loader and Top Loader | +| neocdz.zip | Neo Geo CDZ BIOS - Required for all CD systems | +| irrmaze.zip | The Irritating Maze BIOS - Optional, required for trackball input| + +Notes on BIOS contents: -| Filename | Description | md5sum | -|:-----------------:|:----------------------------------:|:--------------------------------:| -| aes.zip | Neo Geo AES BIOS - Required | ad9585c72130c56f04ae26aae87c289d | -| neogeo.zip | Neo Geo MVS BIOS - Required | 00dad01abdbf8ea9e79ad2fe11bdb182 | +- AES mode loads `neo-po.bin` (Japan) or `neo-epo.bin` (all other regions) from aes.zip. +- MVS mode loads the region-appropriate System ROM from neogeo.zip: `sp-u2.sp1` (USA), `japan-j3.bin` (Japan), `sp-45.sp1` (Asia), `sp-s2.sp1` (Europe). +- Universe BIOS mode loads `uni-bios_4_0.rom` from neogeo.zip. This file is not part of a standard MAME set and must be added to the archive. +- CD Front Loader loads `front-sp1.bin` and CD Top Loader loads `top-sp1.bin`, both from neocd.zip. Both also require `000-lo.lo`, which is read from neocdz.zip, so **both archives are required** for Front Loader and Top Loader modes. +- CDZ mode loads `neocd.bin` from neocdz.zip, and CD Universe BIOS mode loads `uni-bioscd33.rom` from neocdz.zip. ## Extensions Content that can be loaded by the Geolith core have the following file extensions: - .neo +- .cue +- .chd ## Features @@ -47,8 +63,8 @@ Frontend-level settings or features that the Geolith core respects. | Rewind | ✔ | | Netplay | ✔ | | Core Options | ✔ | -| [Memory Monitoring (achievements)](../guides/memorymonitoring.md) | ✕ | -| RetroArch Cheats | ✕ | +| [Memory Monitoring (achievements)](../guides/memorymonitoring.md) | ✔ | +| RetroArch Cheats | ✔ | | Native Cheats | ✕ | | Controls | ✔ | | Remapping | ✔ | @@ -58,13 +74,16 @@ Frontend-level settings or features that the Geolith core respects. | Camera | ✕ | | Location | ✕ | | Subsystem | ✕ | -| [Softpatching](../guides/softpatching.md) | ✔ | +| [Softpatching](../guides/softpatching.md) | ✕ | | Disk Control | ✕ | | Username | ✕ | | Language | ✕ | | Crop Overscan | ✔ | | LEDs | ✕ | +!!! note + Softpatching is unavailable because the core sets `need_fullpath`, which is required for CHD support. + ### Directories The Geolith core's library name is 'Geolith' @@ -78,6 +97,7 @@ The Geolith core saves/loads to/from these directories. | *.nv | NVRAM save | | *.mcr | Memory Card save | | *.srm | Cartridge battery save | +| *.brm | CD Backup RAM save | **Frontend's State directory** @@ -87,8 +107,8 @@ The Geolith core saves/loads to/from these directories. ### Geometry and timing -- The Geolith core's core provided FPS is 59.599484 for AES and 59.185606 for MVS -- The Geolith core's core provided sample rate is 55943.49Hz for AES and 55555Hz for MVS +- The Geolith core's core provided FPS is 59.599484 for AES and 59.185606 for MVS. CD systems use 59.599484. +- The Geolith core's core provided sample rate is 55943.49Hz for AES and 55555Hz for MVS. On CD systems the chip audio is resampled to match CDDA at 44100Hz. - The Geolith core provides adjustable overscan masking and aspect ratio options ## Core options @@ -97,26 +117,64 @@ The Geolith core has the following options that can be tweaked from the core opt Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch. +Options are grouped into **System**, **Video** and **Hacks** categories. Cartridge-only and CD-only options are shown or hidden automatically depending on the content that is loaded. + +### System + - **System Type (Restart)** [geolith_system_type] (**Neo Geo AES (Home Console)**|Neo Geo MVS (Arcade)|Universe BIOS (Community-enhanced BIOS)) Specify the System Type: AES, MVS, or Universe BIOS System + Cartridge content only. + +- **Universe BIOS Hardware (Restart)** [geolith_unibios_hw] (Neo Geo AES (Home Console)|**Neo Geo MVS (Arcade)**) + + Specify the hardware the Universe BIOS should detect + + Cartridge content only. + +- **CD System Type (Restart)** [geolith_cd_system_type] (Neo Geo CD (Front Loader)|Neo Geo CD (Top Loader)|**Neo Geo CDZ**|Neo Geo CDZ (Universe BIOS)) + + Specify the CD System Type when loading Neo Geo CD disc images + + CD content only. + - **Region (Restart)** [geolith_region] (**USA**|Japan|Asia|Europe) Specify the Region: USA, Japan, Asia, Europe +- **Memory Card** [geolith_memcard] (Off|**On**) + + Enable or Disable the Memory Card + + Cartridge content only. + +- **Memory Card Write Protect** [geolith_memcard_wp] (**Off**|On) + + Enable or Disable the Memory Card Write Protect pin + + Cartridge content only. + - **Setting Mode (Restart, DIP Switch)** [geolith_settingmode] (**Off**|On) Bring up the System ROM menu at boot on arcade systems + Cartridge content only. + - **Four Player Mode (Restart, Asia/Japan MVS Only)** [geolith_4player] (**Off**|On) - Set Four Player (dual MVS cabinet) mode for Asia/Japan MVS systems, for use with Kizuna Encounter or homebrew with four player support + Set Four Player (dual MVS cabinet) mode for Asia/Japan MVS systems + + Cartridge content only. For use with Kizuna Encounter or homebrew with four player support. - **Freeplay (DIP Switch)** [geolith_freeplay] (**Off**|On) Play MVS games without the need to insert coins + Cartridge content only. + +### Video + - **Mask Overscan (Top)** [geolith_overscan_t] (16|12|**8**|4|0) Mask off pixels hidden by a bezel or border on original CRTs (top) @@ -141,13 +199,37 @@ Settings with (Restart) means that core has to be closed for the new setting to Set the Aspect Ratio +### Hacks + - **Sprites-per-line limit (Hack)** [geolith_sprlimit] (**Hardware Accurate (96)**|Double (192)|Triple (288)|MAX 381 MEGA PRO-GEAR SPEC) Set the sprites-per-line limit - increasing causes glitches in some games - **Overclocking (Hack)** [geolith_oc] (**Off**|On) - Annihilate your accuracy with The 24MHz Shock - expect glitches. DO NOT USE THIS FOR ALL GAMES, enable only for specific cases with major slowdown. + Annihilate your accuracy with The 24MHz Shock - expect glitches + +- **Disable ADPCM Accumulator Wrap (Hack)** [geolith_disable_adpcm_wrap] (**Off**|On) + + ADPCM Accumulator Wrap may be disabled to fix sound effects in buggy games, for example Ganryu and Nightmare in the Dark. This is a hack, and should remain Off for most games. + +- **CD Speed Hack** [geolith_cd_speed_hack] (Enabled|**Disabled**) + + Patch BIOS busy-wait loops to reduce loading times (Does not work for Universe BIOS) + + CD content only. + +- **CD DMA Length Limit** [geolith_cd_dma_len_limit] (Enabled|**Disabled**) + + Correct the BIOS upload pointers when a CD buffer DMA is larger than one sector, fixing corrupted sound in Art of Fighting's bonus stage. This is a hack, and real hardware behaviour is unconfirmed. + + CD content only. + +- **Skip CD Loading** [geolith_cd_skip_loading] (Enabled|**Disabled**) + + Fast-forward through CD loading screens + + CD content only. ### Input Devices @@ -184,7 +266,29 @@ Settings with (Restart) means that core has to be closed for the new setting to | Clear Credit | ![](../image/retropad/retro_start.png) | | Coin 1 | ![](../image/retropad/retro_l1.png) | | Coin 2 | ![](../image/retropad/retro_r1.png) | -| Hopper Out | ![](../image/retropad/retro_l2.png) | +| Hopper Out | ![](../image/retropad/retro_r3.png) | + +The Irritating Maze uses a trackball, which is mapped to the left analog stick. This input is only available in MVS mode, and requires irrmaze.zip in the system directory. It is also possible to play The Irritating Maze using the Universe BIOS with a cheat enabled for joystick controls. + +| The Irritating Maze | RetroPad Inputs | +|-------------------------------------|------------------------------------------------| +| Trackball X | Left Analog X | +| Trackball Y | Left Analog Y | +| Left A | ![](../image/retropad/retro_b.png) | +| Left B | ![](../image/retropad/retro_a.png) | +| Right A | ![](../image/retropad/retro_y.png) | +| Right B | ![](../image/retropad/retro_x.png) | +| Start | ![](../image/retropad/retro_start.png) | +| Coin | ![](../image/retropad/retro_select.png) | +| Service | ![](../image/retropad/retro_r3.png) | + +## Compatibility + +- Geolith is compatible with 100% of the commercially released Neo Geo AES and MVS libraries. Most games work in both modes, but some require MVS mode. +- Geolith is compatible with 100% of the commercially released Neo Geo CD library. +- All bootlegs and hacks from the MAME set are compatible, the majority of which require being run in MVS mode. +- Some MVS releases will exhibit glitches when run on an AES BIOS. Home console releases are preferred when running in AES mode. +- Dedicated JAMMA PCB systems and PAL mode are not currently supported. ## External Links From 667cbcb538f60b958e007814a88ca1deb9dde978 Mon Sep 17 00:00:00 2001 From: Rupert Carmichael <5050061-carmiker@users.noreply.gitlab.com> Date: Thu, 10 Sep 2026 20:19:08 -0400 Subject: [PATCH 2/2] Update Nestopia doc --- docs/library/nestopia.md | 228 +++++++++++++++++++++++++++------------ 1 file changed, 161 insertions(+), 67 deletions(-) diff --git a/docs/library/nestopia.md b/docs/library/nestopia.md index 7ad3cbd235..3efe87baa2 100644 --- a/docs/library/nestopia.md +++ b/docs/library/nestopia.md @@ -4,14 +4,16 @@ Nestopia is a cycle accurate emulator for the NES/Famicom. This is the libretro port of the Nestopia emulator, based on the de facto -upstream Nestopia JG fork. The libretro port contains an additional overclocking feature. +upstream Nestopia JG fork. + +The core also plays NSF music files, with an on-screen display and transport controls. ### Author/License The Nestopia core has been authored by - Martin Freij -- R. Danbrook +- Nestopia UE Contributors - [Rupert Carmichael (carmiker)](https://github.com/carmiker) The Nestopia core is licensed under @@ -28,6 +30,7 @@ Content that can be loaded by the Nestopia core have the following file extensio - .fds - .unf - .unif +- .nsf ## Databases @@ -47,6 +50,18 @@ Required or optional firmware files go in the frontend's system directory. |:---------------:|:-----------------------------------------------------------------------------:|:--------------------------------:| | disksys.rom | Family Computer Disk System BIOS - Required for Famicom Disk System emulation | ca30b50f880eb660a320674ed365ef7a | +### ADPCM samples + +A handful of games have ADPCM audio samples on the cartridge which are not part of the ROM data. To use them, extract the samples into subdirectories of `nestopia/samples` in the frontend's system directory, named after the MAME-format .zip file: + +| Sample set | Location | +|:------------:|:-------------------------------------:| +| moepro.zip | system/nestopia/samples/moepro/ | +| moepro88.zip | system/nestopia/samples/moepro88/ | +| mptennis.zip | system/nestopia/samples/mptennis/ | +| terao.zip | system/nestopia/samples/terao/ | +| ftaerobi.zip | system/nestopia/samples/ftaerobi/ | + ## Features Frontend-level settings or features that the Nestopia core respects. @@ -60,7 +75,7 @@ Frontend-level settings or features that the Nestopia core respects. | Rewind | ✔ | | Netplay | ✔ | | Core Options | ✔ | -| [Memory Monitoring (achievements)](../guides/memorymonitoring.md) | ✕ | +| [Memory Monitoring (achievements)](../guides/memorymonitoring.md) | ✔ | | RetroArch Cheats | ✔ | | Native Cheats | ✕ | | Controls | ✔ | @@ -78,6 +93,9 @@ Frontend-level settings or features that the Nestopia core respects. | Crop Overscan | ✕ | | LEDs | ✕ | +!!! note + FDS disks are swapped with the '(FDS) Disk Side Change' and '(FDS) Eject Disk' buttons rather than through the frontend's Disk Control interface. + ### Directories The Nestopia core's internal core name is 'Nestopia' @@ -87,6 +105,7 @@ The Nestopia core saves/loads to/from these directories. **Frontend's Save directory** - 'content-name'.srm (Cartridge battery save) +- 'content-name'.sav / .ups / .ips (Famicom Disk System save, extension depends on the ['FDS Savefile Format' core option](#core-options)) **Frontend's State directory** @@ -95,12 +114,14 @@ The Nestopia core saves/loads to/from these directories. **Frontend's System directory** - custom.pal (Custom palette file) +- NstDatabase.xml (Optional external database, overrides the baked-in one) +- nestopia/samples/ (ADPCM sample sets) ### Geometry and timing -- The Nestopia core's core provided FPS is (FPS) -- The Nestopia core's core provided sample rate is 44100 Hz -- The Nestopia core's core provided aspect ratio is dependent on the ['Preferred aspect ratio' core option](#core-options). +- The Nestopia core's core provided FPS is 60.098814 for NTSC and 50.006979 for PAL and Dendy +- The Nestopia core's core provided sample rate is 48000 Hz +- The Nestopia core's core provided aspect ratio is dependent on the ['Preferred Aspect Ratio' core option](#core-options). ### NstDatabase.xml @@ -113,163 +134,236 @@ The Nestopia core relies on the internal database (built from the NstDatabase.xm - Famicom Disk System games - General proper emulation of games +The database is baked into the core. If an NstDatabase.xml file is present in the frontend's system directory, it is loaded instead of the baked-in copy. + ### Custom color palettes To use custom color palettes in the Nestopia core, the custom color palette file you want to use must be in RetroArch's system directory. Make sure the custom palette file is named 'custom.pal' -Also, the 'Palette' core option must be set to custom. +Also, the 'Palette' core option must be set to Custom. If no custom.pal is found, the core falls back to the Royaltea palette. Custom color palettes for the NES can be generated with either of these tools. - [Bisqwit's NTSC NES palette generator](http://bisqwit.iki.fi/utils/nespalette.php) - [Drag's NTSC NES palette generator](http://drag.wootest.net/misc/palgen.html) +### NSF playback + +When an .nsf file is loaded, the core displays the track title, copyright, artist, track number and an oscilloscope, and User 1 controls playback: + +| NSF transport | RetroPad Input | +|---------------|---------------------------------------------| +| Play | ![](../image/retropad/retro_a.png) | +| Stop | ![](../image/retropad/retro_b.png) | +| Previous song | ![](../image/retropad/retro_dpad_left.png) | +| Next song | ![](../image/retropad/retro_dpad_right.png) | + ## Core options The Nestopia core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded. Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch. -- **Blargg NTSC filter** [nestopia_blargg_ntsc_filter] (**disabled**|composite|svideo|rgb|monochrome) +Options are grouped into **System**, **Video**, **Audio**, **Input** and **Emulation Hacks** categories. + +### System + +- **Favored System (Restart)** [nestopia_favored_system] (**NTSC**|PAL|Famicom|Dendy) + + System to prefer for images that do not say which one they want. Images that do say, and images found in the NstDatabase.xml database file, are unaffected. Only applies while 'Force System' is set to 'Auto'. + +- **Force System** [nestopia_force_system] (**Auto**|NTSC|PAL|Famicom|Dendy) + + Ignore the system the image asks for and use this one instead. Changing this setting will restart the game. + +- **FDS Auto Insert** [nestopia_fds_auto_insert] (**enabled**|disabled) + + Automatically insert first FDS disk on reset. + +- **FDS Savefile Format** [nestopia_fds_savefile_format] (**SAV + UPS (Default)**|UPS (Standalone Nestopia)|IPS (Mesen)) + + Define which format will be used by savefiles generated for FDS games. Based on the format chosen, FDS savefiles might be used interchangeably with other cores and standalone emulators. It is recommended to use with caution, as improper handling may cause undesired overwrites, or deletion of the existing saves. + +### Video + +- **Blargg NTSC Filter** [nestopia_blargg_ntsc_filter] (disabled|**Composite Video**|S-Video|RGB SCART|Monochrome) Enable Blargg NTSC filters. !!! attention "Disclaimer" - These 'Blargg NTSC filter' core option screenshots have been taken with the 'Palette' core option set to cxa2025as. + These 'Blargg NTSC Filter' core option screenshots have been taken with the 'Palette' core option set to CXA2025AS (US). -??? note "Blargg NTSC filter - Off" +??? note "Blargg NTSC Filter - Off" ![](../image/core/nestopia/blargg_off.png) -??? note "Blargg NTSC filter - composite" +??? note "Blargg NTSC Filter - Composite Video" ![](../image/core/nestopia/blargg_composite.png) -??? note "Blargg NTSC filter - svideo" +??? note "Blargg NTSC Filter - S-Video" ![](../image/core/nestopia/blargg_svideo.png) -??? note "Blargg NTSC filter - rgb" +??? note "Blargg NTSC Filter - RGB SCART" ![](../image/core/nestopia/blargg_rgb.png) -??? note "Blargg NTSC filter - monochrome" +??? note "Blargg NTSC Filter - Monochrome" ![](../image/core/nestopia/blargg_monochrome.png) -- **Palette** [nestopia_palette] (**cxa2025as**|consumer|canonical|alternative|rgb|pal|composite-direct-fbx|pvm-style-d93-fbx|ntsc-hardware-fbx|nes-classic-fbx-fs|raw|custom) +- **Palette** [nestopia_palette] (**Royaltea**|CXA2025AS (US)|CXA2025AS (JP)|Consumer|Canonical|Alternative|RGB|PAL|Digital Prime FBX|Magnum FBX|Smooth V2 FBX|Composite Direct FBX|PVM-style D93 FBX|NTSC hardware FBX|NES Classic FBx (fixed)|Restored Wii VC|Wii Virtual Console|Raw|Custom) - Choose which color palette is going to be used. + Color palette to be used. If 'Custom' is selected, the palette used will be taken from the 'custom.pal' file placed in the RetroArch System/BIOS directory. !!! attention "Disclaimer" - These 'Palette' core option screenshots have been taken with the 'Blargg NTSC filter' core option set to Off. + These 'Palette' core option screenshots have been taken with the 'Blargg NTSC Filter' core option set to Off. Palettes added after these screenshots were taken are not pictured. -??? note "Palette - cxa2025as" +??? note "Palette - CXA2025AS (US)" ![](../image/core/nestopia/cxa2025as.png) -??? note "Palette - consumer" +??? note "Palette - Consumer" ![](../image/core/nestopia/consumer.png) -??? note "Palette - canonical" +??? note "Palette - Canonical" ![](../image/core/nestopia/canonical.png) -??? note "Palette - alternative" +??? note "Palette - Alternative" ![](../image/core/nestopia/alternative.png) -??? note "Palette - rgb" +??? note "Palette - RGB" ![](../image/core/nestopia/rgb.png) -??? note "Palette - pal" +??? note "Palette - PAL" ![](../image/core/nestopia/pal.png) -??? note "Palette - composite-direct-fbx" +??? note "Palette - Composite Direct FBX" ![](../image/core/nestopia/composite_direct_fbx.png) -??? note "Palette - pvm-style-d93-fbx" +??? note "Palette - PVM-style D93 FBX" ![](../image/core/nestopia/pvm_style_d93_fbx.png) -??? note "Palette - ntsc-hardware-fbx" +??? note "Palette - NTSC hardware FBX" ![](../image/core/nestopia/ntsc_hardware_fbx.png) -??? note "Palette - nes-classic-fbx-fs" +??? note "Palette - NES Classic FBx (fixed)" ![](../image/core/nestopia/nes_classic_fbx_fs.png) -??? note "Palette - raw" +??? note "Palette - Raw" ![](../image/core/nestopia/raw.png) -- **Remove Sprite Limit** [nestopia_nospritelimit] (**disabled**|enabled) +- **Mask Overscan (Top Vertical)** [nestopia_overscan_v_top] (0|1|2|...|**8**|...|24) - Remove 8-sprites-per-scanline hardware limit. + Mask out (vertically) the potentially random glitchy video output that would have been hidden by the bezel around the edge of a standard-definition television screen. -- **CPU Speed (Overclock)** [nestopia_overclock] (**1x**|2x) +- **Mask Overscan (Bottom Vertical)** [nestopia_overscan_v_bottom] (0|1|2|...|**8**|...|24) - Overclock the emulated CPU. + Mask out (vertically) the potentially random glitchy video output that would have been hidden by the bezel around the edge of a standard-definition television screen. -- **4 Player Adapter** [nestopia_select_adapter] (**auto**|ntsc|famicom) +- **Mask Overscan (Left Horizontal)** [nestopia_overscan_h_left] (**0**|1|2|...|16) - Manually select a 4 Player Adapter if needed. Some games will not recognize the adapter correctly through the internal database, this option should help fix that. + Mask out (horizontally) the potentially random glitchy video output that would have been hidden by the bezel around the edge of a standard-definition television screen. -- **FDS Auto Insntert** [nestopia_fds_auto_insert] (**enabled**|disabled) +- **Mask Overscan (Right Horizontal)** [nestopia_overscan_h_right] (**0**|1|2|...|16) - Automatically insert first FDS disk on reset. + Mask out (horizontally) the potentially random glitchy video output that would have been hidden by the bezel around the edge of a standard-definition television screen. -- **Mask Overscan (Vertical)** [nestopia_overscan_v] (**enabled**|disabled) +- **Preferred Aspect Ratio** [nestopia_aspect] (**Auto**|NTSC|PAL|4:3|Uncorrected) - Mask out (vertically) the potentially random glitchy video output that would have been hidden by the bezel around the edge of a standard-definition television screen. + RetroArch's aspect ratio must be set to 'Core Provided' in the Video settings. 'Auto' will use the [NstDatabase.xml database file](#nstdatabasexml) for aspect ratio autodetection. If there is no database present, it will default to NTSC. -??? note "Mask Overscan (Vertical) - On" - ![](../image/core/nestopia/vert_on.png) +??? note "Preferred Aspect Ratio - NTSC" + ![](../image/core/nestopia/ratio_ntsc.png) -??? note "Mask Overscan (Vertical) - Off" - ![](../image/core/nestopia/vert_off.png) +??? note "Preferred Aspect Ratio - PAL" + ![](../image/core/nestopia/ratio_pal.png) -- **Mask Overscan (Horizontal)** [nestopia_overscan_h] (**disabled**|enabled) +??? note "Preferred Aspect Ratio - 4:3" + ![](../image/core/nestopia/ratio_4by3.png) - Mask out (horizontally) the potentially random glitchy video output that would have been hidden by the bezel around the edge of a standard-definition television screen. +### Audio -??? note "Mask Overscan (Horizontal) - Off" - ![](../image/core/nestopia/horiz_off.png) +- **Audio Output Filter** [nestopia_audio_filter] (**disabled**|enabled) -??? note "Mask Overscan (Horizontal) - On" - ![](../image/core/nestopia/horiz_on.png) + Approximate the analog stage that follows the DAC on real hardware, by applying a first order 220Hz high pass and a first order 14kHz low pass to the mixed output. This removes the DC offset the mixer sits on and rolls off the extreme treble. -- **Preferred aspect ratio** [nestopia_aspect] (**auto**|ntsc|pal|4:3) +- **Show Advanced Audio Settings (Reopen menu)** [nestopia_show_advanced_av_settings] (**disabled**|enabled) - Choose the preferred aspect ratio. RetroArch's aspect ratio must be set to Core provided in the Video settings. 'auto' will use the [internal database](#nstdatabasexml) for aspect ratio autodetection. + Enable configuration of low-level audio channel parameters. The per-channel volume options below are hidden until this is enabled. -??? note "Preferred aspect ratio - ntsc" - ![](../image/core/nestopia/ratio_ntsc.png) +- **Square 1 Channel Volume %** [nestopia_audio_vol_sq1] (0|10|20|30|40|50|60|70|80|85|90|95|**100**) +- **Square 2 Channel Volume %** [nestopia_audio_vol_sq2] (0|10|20|30|40|50|60|70|80|85|90|95|**100**) +- **Triangle Channel Volume %** [nestopia_audio_vol_tri] (0|10|20|30|40|50|60|70|80|85|90|95|**100**) +- **Noise Channel Volume %** [nestopia_audio_vol_noise] (0|10|20|30|40|50|60|70|80|85|90|95|**100**) +- **DPCM Channel Volume %** [nestopia_audio_vol_dpcm] (0|10|20|30|40|50|60|70|80|85|90|95|**100**) +- **FDS Channel Volume %** [nestopia_audio_vol_fds] (0|10|20|30|40|50|60|70|80|85|90|95|**100**) +- **MMC5 Channel Volume %** [nestopia_audio_vol_mmc5] (0|10|20|30|40|50|60|70|80|85|90|95|**100**) +- **VRC6 Channel Volume %** [nestopia_audio_vol_vrc6] (0|10|20|30|40|50|60|70|80|85|90|95|**100**) +- **VRC7 Channel Volume %** [nestopia_audio_vol_vrc7] (0|10|20|30|40|50|60|70|80|85|90|95|**100**) +- **N163 Channel Volume %** [nestopia_audio_vol_n163] (0|10|20|30|40|50|60|70|80|85|90|95|**100**) +- **S5B Channel Volume %** [nestopia_audio_vol_s5b] (0|10|20|30|40|50|60|70|80|85|90|95|**100**) -??? note "Preferred aspect ratio - pal" - ![](../image/core/nestopia/ratio_pal.png) + Modify the volume of the individual APU and expansion audio channels. -??? note "Preferred aspect ratio - 4:3" - ![](../image/core/nestopia/ratio_4by3.png) +### Input -- **Game Genie Sound Distortion** [nestopia_genie_distortion] (**disabled**|enabled) +- **4 Player Adapter** [nestopia_select_adapter] (**Auto**|NTSC|Famicom) - The Game Genie cheat device could inadvertently introduce sound distortion in games. By enabling this, you can simulate the distortion it would add to a game's sound. + Manually select a 4 Player Adapter if needed. Some games will not recognize the adapter correctly through the NstDatabase.xml database, this option should help fix that. -- **System Region** [nestopia_favored_system] (**auto**|ntsc|pal|famicom|dendy) +- **Shift Buttons Clockwise** [nestopia_button_shift] (**disabled**|enabled) - Choose which region the system is from. 'auto' will use the internal database for region autodetection. + Rotate the A/B/X/Y buttons clockwise. When enabled, NES A moves to RetroPad B, NES B moves to RetroPad Y, and Turbo A/Turbo B move to RetroPad A/RetroPad X. -- **RAM Power-on State** [nestopia_ram_power_state] (**0x00**|0xFF|random) +- **Arkanoid device** [nestopia_arkanoid_device] (**Mouse**|Pointer) - Awaiting description. + Select the device you wish to use for the Arkanoid paddle. -- **Turbo Pulse Speed** [nestopia_turbo_pulse] (**2**|3|4|5|6|7|8|9) +- **Arkanoid Paddle Range** [nestopia_arkanoid_paddle_range] (**Combined range of both controllers (32-166)**|Arkanoid I controller range (46-166)|Arkanoid II controller range (32-153)) + + Set the range for the Arkanoid paddle. + +- **Zapper device** [nestopia_zapper_device] (**Light gun**|Mouse|Pointer) + + Select the device you wish to use for the Zapper. + +- **Show Crosshair** [nestopia_show_crosshair] (disabled|**enabled**) + + Set whether to show the crosshair when the Zapper is used. + +- **Turbo Pulse Speed** [nestopia_turbo_pulse] (1|**2**|3|4|5|6|7|8|9) Set the turbo pulse speed for the Turbo B and Turbo A buttons. +### Emulation Hacks + +- **Remove Sprite Limit** [nestopia_nospritelimit] (**disabled**|enabled) + + Remove 8-sprites-per-scanline hardware limit. + +- **DMC Pop Reducer** [nestopia_dmc_pop_reducer] (**disabled**|enabled) + + Halve large direct writes to the DMC level, which are otherwise heard as clicks. Inaccurate, and quietens samples streamed through $4011 as large swings. + +- **Game Genie Sound Distortion** [nestopia_genie_distortion] (**disabled**|enabled) + + The Game Genie cheat device could inadvertently introduce sound distortion in games. By enabling this, you can simulate the distortion it would add to a game's sound. + +- **RAM Power-on State** [nestopia_ram_power_state] (**0x00**|0xFF|Random) + + RAM values on power up. Some games rely on initial RAM values for random number generation as an example. + ## Controllers The Nestopia core supports the following device type(s) in the controls menu, bolded device types are the default for the specified user(s): ### User 1 - 4 device types -- None - Disables input. - **Auto** - Automatically detects the device to use based on the internal database. - Gamepad - Joypad -- Arkanoid - Arkanoid paddle - This should be automatic from the internal database, but this can be changed to Gamepad if you'd prefer using a joypad rather than a paddle. (Port 2 only) -- Zapper - Lightgun - The Nestopia core can emulate Zapper inputs. This is generally done automatically based off of the internal database, but can be manually selected as a device type. (Port 2 only) + +### User 2 additional device types + +- Arkanoid - Arkanoid paddle - This should be automatic from the internal database, but this can be changed to Gamepad if you'd prefer using a joypad rather than a paddle. Whether the paddle reads a mouse or a pointer is set by the ['Arkanoid device' core option](#core-options). (Port 2 only) +- Zapper - Lightgun - The Nestopia core can emulate Zapper inputs. This is generally done automatically based off of the internal database, but can be manually selected as a device type. Whether the Zapper reads a light gun, a mouse or a pointer is set by the ['Zapper device' core option](#core-options). (Port 2 only) ### Multitap support @@ -320,7 +414,7 @@ The Nestopia core uses the internal database to detect which games have multitap |--------------------------------------------------------|------------------| | ![](../image/retromouse/retro_mouse.png) Gun Crosshair | Zapper Crosshair | | Gun Trigger | Zapper Trigger | -| Gun Aux B | Zapper Light On | +| Gun Reload | Zapper Off-screen Shot | ## Compatibility