Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
systems:naomi [2021/12/02 06:49] – created atarisystems:naomi [2025/07/23 17:46] (current) – [Troubleshooting] hankerde
Line 1: Line 1:
 <WRAP group> <WRAP group>
 <WRAP round box twothirds column> <WRAP round box twothirds column>
-{{ https://raw.githubusercontent.com/fabricecaruso/es-theme-carbon/master/art/logos/naomi.svg?nolink&300 }}+{{ https://raw.githubusercontent.com/fabricecaruso/es-theme-carbon/master/art/logos/naomi.svg?nolink&360 }}
  
 ====== Sega NAOMI ====== ====== Sega NAOMI ======
Line 32: Line 32:
 ===== BIOS ===== ===== BIOS =====
  
 +The BIOS is optional but should be included for best results. For Batocera FIXME and above:
 ^ MD5 checksum ^ Share file path ^ Description ^ ^ MD5 checksum ^ Share file path ^ Description ^
-| ''eb4099aeb42ef089cfe94f8fe95e51f6'' | ''bios/naomi.zip'' | |+| ''eb4099aeb42ef089cfe94f8fe95e51f6'' | ''bios/dc/naomi.zip''NAOMI MAME BIOS | 
 + 
 +For Batocera FIXME and below: 
 +^ MD5 checksum ^ Share file path ^ Description ^ 
 +| ''eb4099aeb42ef089cfe94f8fe95e51f6'' | ''bios/naomi.zip'' | NAOMI MAME BIOS | 
 + 
 +Some games use extra BIOS files.  They are required when using [[#libretro:_flycast|libretro: Flycast]], and optional when using [[#flycast|Flycast]] but should be included for best results. 
 + 
 +^ MD5 checksum ^ Share file path ^ Description ^ 
 +| | ''bios/dc/hod2bios.zip'' | The House of the Dead 2 MAME BIOS | 
 +| | ''bios/dc/f355dlx.zip'' | Ferrari F355 Challenge Deluxe MAME BIOS | 
 +| | ''bios/dc/f355bios.zip'' | Ferrari F355 Challenge Twin/Deluxe MAME BIOS | 
 +| | ''bios/dc/airlbios.zip'' | Airline Pilots Deluxe MAME BIOS |
  
 ===== ROMs ===== ===== ROMs =====
  
-Place your Sega NAOMI ROMs in ''/userdata/roms/naomi''.+Place your Sega NAOMI ROMs in ''/userdata/roms/naomi''. Flycast uses the [[:arcade#romsets|MAME ROMset]].
  
 [[https://github.com/libretro/flycast/issues/136|User-friendly compatibility list for Flycast]]. [[https://github.com/libretro/flycast/issues/136|User-friendly compatibility list for Flycast]].
  
 If you're willing to search through code, [[https://github.com/libretro/flycast/blob/master/core/hw/naomi/naomi_roms.h#L243|here's the list of all the expected ROM hashes]]. If you're willing to search through code, [[https://github.com/libretro/flycast/blob/master/core/hw/naomi/naomi_roms.h#L243|here's the list of all the expected ROM hashes]].
 +
 +Some NAOMI boards use just ZIP ROMs to run, but most others use a ZIP in addition to an image (or [[:disk_image_compression#chd|CHD]]) file. In order to use ROMs that come with a image, the image must be placed in a subfolder with the same name as the game's ZIP file with the MAME ID as its filename. For example:
 +
 +<code>
 +roms/
 +└─ naomi/
 +   ├─ ikaruga/
 +   │  └─ gdl-0010.chd
 +   └─ ikaruga.zip
 +</code>
  
 ===== Emulators ===== ===== Emulators =====
Line 53: Line 76:
 RetroArch offers a **Quick Menu** accessed by pressing ''[HOTKEY]'' + {{:wiki:south.png?nolink&20|South button (B SNES)}} which can be used to alter various things like [[:advanced_retroarch_settings|RetroArch and core options]], and [[:remapping_controls_per_emulator|controller mapping]]. Most RetroArch related settings can be altered from Batocera's EmulationStation. RetroArch offers a **Quick Menu** accessed by pressing ''[HOTKEY]'' + {{:wiki:south.png?nolink&20|South button (B SNES)}} which can be used to alter various things like [[:advanced_retroarch_settings|RetroArch and core options]], and [[:remapping_controls_per_emulator|controller mapping]]. Most RetroArch related settings can be altered from Batocera's EmulationStation.
  
-Standardized features available to all libretro cores: ''naomi.videomode'', ''naomi.ratio'', ''naomi.smooth'', ''naomi.shaders'', ''naomi.pixel_perfect'', ''naomi.decoration'', ''naomi.game_translation''+Standardized features available to all libretro cores: ''naomi.videomode'', ''naomi.ratio'', ''naomi.shaderset'', ''naomi.smooth'', ''naomi.integerscale'', ''naomi.bezel'', ''naomi.bezel_stretch'', ''naomi.hud'', ''naomi.bezel.tattoo'', ''naomi.bezel.tattoo_corner'', ''naomi.bezel.tattoo_file'', ''naomi.bezel.resize_tattoo'', ''naomi.ai_service_enabled'', ''naomi.ai_target_lang'', ''naomi.ai_service_url'', ''naomi.ai_service_pause'', ''naomi.integerscale'', ''naomi.runahead'', ''naomi.secondinstance'', ''naomi.video_frame_delay_auto'', ''naomi.vrr_runloop_enable'', ''naomi.video_threaded''
  
 ^ ES setting name ''batocera.conf_key'' ^ Description => ES option ''key_value'' ^ ^ ES setting name ''batocera.conf_key'' ^ Description => ES option ''key_value'' ^
Line 59: Line 82:
 | **GRAPHICS BACKEND ''naomi.gfxbackend''** | Choose your graphics rendering\\ => OpenGL ''opengl'', Vulkan ''vulkan''. | | **GRAPHICS BACKEND ''naomi.gfxbackend''** | Choose your graphics rendering\\ => OpenGL ''opengl'', Vulkan ''vulkan''. |
 | **AUDIO LATENCY ''naomi.audio_latency''** | Audio latency in milliseconds, turn it up if you hear crackles\\ => 256 ''256'', 192 ''192'', 128 ''128'', 64 ''64'', 32 ''32'', 16 ''16'', 8 ''8''. | | **AUDIO LATENCY ''naomi.audio_latency''** | Audio latency in milliseconds, turn it up if you hear crackles\\ => 256 ''256'', 192 ''192'', 128 ''128'', 64 ''64'', 32 ''32'', 16 ''16'', 8 ''8''. |
-| **THREADED VIDEO ''naomi.video_threaded''** | Improves performance at the cost of latency and more video stutteringUse only if full speed cannot be obtained otherwise.\\ => On ''true'', Off ''false''. |+| **ALLOW ROTATION ''naomi.video_allow_rotate''** | Allow cores to set rotation.\\ => On ''true'', Off ''false''
 +| **CONTROLLER TO LIGHTGUN ''naomi.lightgun_map''** | Map controller inputs to lightgun inputs\\ => On ''true'', Off ''false''. |
  
 === libretro: Flycast === === libretro: Flycast ===
Line 69: Line 93:
 ^ ES setting name ''batocera.conf_key'' ^ Description => ES option ''key_value'' ^ ^ ES setting name ''batocera.conf_key'' ^ Description => ES option ''key_value'' ^
 ^ Settings that apply to all systems this core supports || ^ Settings that apply to all systems this core supports ||
-| **SYNCHRONOUS RENDERING ''global.reicast_synchronous_rendering''** | Wait for the GPU to render frames instead of skipping\\ => Off ''disabled'', On ''enabled''. | +| **SYNCHRONOUS RENDERING ''global.reicast_synchronous_rendering''** | When threaded rendering is on (on by default), waits for the GPU to finish rendering the frame before dropping the current one. This can avoid certain emulation issues (flashing screens, glitchy video). Significant performance cost. Recommended "Off" for most games as they don't experience issues (or you have a weak machine), "On" if the game has these particular issues.\\ => Off ''disabled'', On ''enabled''. | 
-| **VIDEO RESOLUTION ''global.reicast_internal_resolution''** | Improve the fidelity of 3D models (does not affect 2D sprites)\\ => 640x480 ''640x480'', 800x600 ''800x600'', 960x720 ''960x720'', 1024x768 ''1024x768'', 1280x960 ''1280x960'', 1440x1080 ''1440x1080'', 1600x1200 ''1600x1200'', 1920x1440 ''1920x1440'', 2560x1920 ''2560x1920'', 3200x2400 ''3200x2400'', 3840x2880 ''3840x2880'', 4480x3360 ''4480x3360'', 5120x3840 ''5120x3840'', 5760x4320 ''5760x4320'', 6400x4800 ''6400x4800'', 7040x5280 ''7040x5280'', 7680x5760 ''7680x5760''. | +| **RENDERING RESOLUTION ''global.reicast_internal_resolution''** | Enhancement. Increases the rendering resolution. Makes 3D objects clearer. Significant performance cost. Use 640x480 for native. Absurdly high values can degrade image quality (pixels beginning to shimmer).\\ => 640x480 ''640x480'', 800x600 ''800x600'', 960x720 ''960x720'', 1024x768 ''1024x768'', 1280x960 ''1280x960'', 1440x1080 ''1440x1080'', 1600x1200 ''1600x1200'', 1920x1440 ''1920x1440'', 2560x1920 ''2560x1920'', 3200x2400 ''3200x2400'', 3840x2880 ''3840x2880'', 4480x3360 ''4480x3360'', 5120x3840 ''5120x3840'', 5760x4320 ''5760x4320'', 6400x4800 ''6400x4800'', 7040x5280 ''7040x5280'', 7680x5760 ''7680x5760''. | 
-| **TEXTURE MIP-MAPPING (BLUR) ''global.reicast_mipmapping''** | Smooths out textures on 3D objects\\ => Off ''disabled'', On ''enabled''. | +| **TEXTURE MIP-MAPPING (BLUR) ''global.reicast_mipmapping''** | Enables [[:anti-aliasing#mip-mapping|mip-mapping]] to smooth out textures on distant 3D objects based on distance and angle. Dreamcast games natively utilized mipmapping to get extra performance out of the hardware, but the extra bluriness from doing this is more apparent on modern, higher fidelity screens. Has a minimal performance cost. ''enabled'' should be used in conjunction with anisotropic filtering to mitigate bluriness. Some users may prefer the 'sharpness' of ''disabled'' better.\\ => Off ''disabled'', On ''enabled''. | 
-| **ANISOTROPIC FILTERING ''global.reicast_anisotropic_filtering''** | Enhance the quality of distant perspective textures\\ => Off ''False'', 2x ''2'', 4x ''4'', 8x ''8'', 16x ''16''. | +| **ANISOTROPIC FILTERING ''global.reicast_anisotropic_filtering''** | Enables [[:anti-aliasing#anisotropic_filtering|anisotropic filtering]] to enhance perspective textures. Dramatically improves the clarity of textures on distant 3D objects when mip-mapping is turned on, especially at higher internal resolutions. Test Drive: Le Mans is the only Dreamcast game that natively utilizes this. Has a small performance cost. Generally safe to use 16x when mip-mapping is also enabled, leave on "Off" otherwise.\\ => Off ''False'', 2x ''2'', 4x ''4'', 8x ''8'', 16x ''16''. | 
-| **TEXTURE UPSCALING (XBRZ) ''global.reicast_texupscale''** | Upscaling 2D pixel art graphics (2D Games Only)\\ => Off ''False'', 2x ''2x'', 4x ''4x'', 6x ''6x''. | +| **TEXTURE UPSCALING (XBRZ) ''global.reicast_texupscale''** | Enhancement. Applies [[:anti-aliasing#texture_enhancement|xBRZ upscaling to textures]] to improve their clarity. Improvements are subjective.\\ => Off ''False'', 2x ''2x'', 4x ''4x'', 6x ''6x''. | 
-| **RENDER TO TEXTURE UPSCALING ''global.reicast_render_to_texture_upscaling''** | Upscaling textures resolution on 3D objetcs\\ => Off ''1x'', 2x ''2x'', 3x ''3x'', 4x ''4x'', 8x ''8x''. | +| **FRAMESKIP ''global.reicast_frame_skipping''** | Skip frames to improve performance, at the cost of choppy motion. Higher values can cause motion sickness if used for extended periods. Should only be turned up on weak hardware and if immune to motion sickness.\\ => Off ''disabled'', 1 ''1'', 2 ''2'', 3 ''3'', 4 ''4'', 5 ''5'', 6 ''6''. | 
-| **FRAME SKIP ''global.reicast_frame_skipping''** | Skip frames to improve performance (smoothness)\\ => Off ''disabled'', 1 ''1'', 2 ''2'', 3 ''3'', 4 ''4'', 5 ''5'', 6 ''6''. | +| **FORCE WINDOWS CE MODE ''global.reicast_force_wince''** | Some Dreamcast games (marked "Powered by Microsoft Windows CE" on the box, eg. Sega Rally 2) utilized the MMU Windows Compact Edition API on the Dreamcast to run. Batocera should automatically detect this but in case it doesn't you can manually override it here. Significant performance cost.\\ => Off ''disabled'', On ''enabled''. | 
-| **FORCE WINDOWS CE MODE ''global.reicast_force_wince''** | Enable full MMU emulation for Windows CE games\\ => Off ''disabled'', On ''enabled''. | +| **WIDESCREEN CHEAT (PRIORITY) ''global.reicast_widescreen_cheats''** | Enhancement. Flycast has database of cheats that can enable widescreen support in certain games, rendering them in [[wp>Anamorphic_widescreen|anamorphic widescreen]] without changing the internal resolution. Some games also natively support widescreen in their in-game options. A 16/9 ratio must be used and bezels must be disabled.\\ => Off ''disabled'', On ''enabled''. | 
-| **WIDESCREEN CHEAT (PRIORITY) ''global.reicast_widescreen_cheats''** | You must use a 16/9 RATIO and disable BEZEL\\ => Off ''disabled'', On ''enabled''. | +| **WIDESCREEN HACK ''global.reicast_widescreen_hack''** | Enhancement. Changes the internal resolution to widescreen ratio (eg. 640x480 becomes 853x480). Somewhat glitchy. Some games also natively support widescreen in their in-game options. A 16/9 ratio must be used and bezels must be disabled.\\ => Off ''disabled'', On ''enabled''. | 
-| **WIDESCREEN HACK ''global.reicast_widescreen_hack''** | You must use a 16/9 RATIO and disable BEZEL\\ => Off ''disabled'', On ''enabled''. | +| **CONTROLLER 1 TYPE ''global.controller1_dc''** | Chooses the controller plugged into port 1.\\ => Gamepad ''1'', Keyboard ''3'', Mouse ''2'', Light Gun ''4''. | 
-| **CONTROLLER 1 TYPE ''global.controller1_dc''** | Select Gamepad, Keyboard, Mouse or Light Gun\\ => Gamepad ''1'', Keyboard ''3'', Mouse ''2'', Light Gun ''4''. | +| **CONTROLLER 2 TYPE ''global.controller2_dc''** | Same as above for port 2.\\ => Gamepad ''1'', Keyboard ''3'', Mouse ''2'', Light Gun ''4''. | 
-| **CONTROLLER 2 TYPE ''global.controller2_dc''** | Select Gamepad, Keyboard, Mouse or Light Gun\\ => Gamepad ''1'', Keyboard ''3'', Mouse ''2'', Light Gun ''4''. | +| **CONTROLLER 3 TYPE ''global.controller3_dc''** | Same as above for port 3.\\ => Gamepad ''1'', Keyboard ''3'', Mouse ''2'', Light Gun ''4''. | 
-| **CONTROLLER 3 TYPE ''global.controller3_dc''** | Select Gamepad, Keyboard, Mouse or Light Gun\\ => Gamepad ''1'', Keyboard ''3'', Mouse ''2'', Light Gun ''4''. | +| **CONTROLLER 4 TYPE ''global.controller4_dc''** | Same as above for port 4.\\ => Gamepad ''1'', Keyboard ''3'', Mouse ''2'', Light Gun ''4''. |
-| **CONTROLLER 4 TYPE ''global.controller4_dc''** | Select Gamepad, Keyboard, Mouse or Light Gun\\ => Gamepad ''1'', Keyboard ''3'', Mouse ''2'', Light Gun ''4''. |+
 ^ Settings specific to atomiswave || ^ Settings specific to atomiswave ||
 | **SCREEN ORIENTATION ''atomiswave.screen_rotation_atomiswave''** | Rotate screen for some arcade games\\ => Horizontal ''horizontal'', Vertical ''vertical''. | | **SCREEN ORIENTATION ''atomiswave.screen_rotation_atomiswave''** | Rotate screen for some arcade games\\ => Horizontal ''horizontal'', Vertical ''vertical''. |
Line 98: Line 121:
 === Flycast configuration === === Flycast configuration ===
  
-Standardized features available to all cores of this emulator: ''naomi.videomode'', ''naomi.ratio''+Standardized features available to all cores of this emulator: ''dreamcast.videomode'', ''dreamcast.videomode'', ''dreamcast.bezel'', ''dreamcast.bezel_stretch'', ''dreamcast.hud'', ''dreamcast.bezel.tattoo'', ''dreamcast.bezel.tattoo_corner'', ''dreamcast.bezel.tattoo_file'', ''dreamcast.bezel.resize_tattoo''
  
-Flycast cannot be configured in EmulationStation; all other configuration must be done via the ''flycast-config'' in the Applications folder (''[F1]'' on the systems screen).+^ ES setting name ''batocera.conf_key'' ^ Description => ES option ''key_value''
 +^ Settings that apply to all cores of this emulator || 
 +| **SCREEN RATIO ''naomi.flycast_ratio''** | Choose which screen ratio you want to use.\\ => Default ''False'', Widescreen ''True''. | 
 +| **RENDER RESOLUTION ''naomi.flycast_render_resolution''** | Choose which internal rendering resolution you want to use.\\ => 320x240 (Half) ''240'', 640x480 (Native) ''480'', 960x720 (x1.5) ''720'', 1280x960 (x2) ''960'', 1600x1200 (x2.5) ''1200'', 1920x1440 (x3) ''1440'', 2560x1920 (x4) ''1920'', 2880x2160 (x4.5) ''2160''. | 
 +| **GRAPHICS API ''naomi.flycast_renderer''** | Choose your graphics renderer.\\ => OpenGL (Default) ''0'', Vulkan ''4''. | 
 +| **ROTATE SCREEN 90 DEGREES ''naomi.flycast_rotate''** | Rotate the screen by 90 degrees.\\ => Normal ''False'', Rotate ''True''. | 
 + 
 +All other configuration must be done via the ''flycast-config'' in the Applications folder (''[F1]'' on the systems screen).
  
 ===== Controls ===== ===== Controls =====
Line 113: Line 143:
  
 ===== Troubleshooting ===== ===== Troubleshooting =====
 +
 +==== I cannot deactivate "Free Play" in some games ====
 +
 +Emulationstation as of v41 (and current v42_beta) has no switch to deactivate “Free Play” on the NAOMI and NAOMI 2 systems. You have to use Retroarch core settings according to the Wiki, see https://wiki.batocera.org/advanced_retroarch_settings.
 +
 +Sadly, when setting “Free Play” to “OFF” in this Retroarch menu, the setting is //ignored// by most of the games.
 +
 +To get this setting accepted, you have to access the "System Menu" of the NAOMI game in question and set "COIN/CREDIT SETTING" to "# 1":
 +
 +  - Enter the Retroarch menu (when in game, Hotkey + South).
 +  - Go to "Core Options" -> "System"
 +  - Set "Allow Arcade Service Buttons" to "ON" and "Set NAOMI Games to Free Play" to "OFF"
 +  - Exit the Retroarch menu using "Restart".
 +  - When in game, press "L3" to enter the System Menu of the game. "R3" is used to navigate this menu, "L3" to select an entry.
 +   - Navigate this way to "COIN ASSIGNMENTS"
 +  - Set "COIN/CREDIT SETTING" to "# 1".
 +  - Exit the System Menu by selecting "EXIT" twice.
 +  - Optionally you can now set "Allow Arcade Service Buttons" to "OFF" to prevent accidental entering of the game's system menu.
 +
 +
 +If "COIN/CREDIT SETTING" is set to "# 1", the game in question will respect the Retroarch setting for "Free Play", even if you set "Free Play" to "ON" in Retroarch again.
  
 ==== Further troubleshooting ==== ==== Further troubleshooting ====
  • systems/naomi.1638427749.txt.gz
  • Last modified: 5 years ago
  • by atari