Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .github/workflows/reviewdog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Reviewdog Suggester

on:
pull_request:
branches: [master]

permissions:
contents: read
pull-requests: write # required for PR annotations and code suggestions

jobs:
reviewdog:
name: Spell Check with Reviewdog
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v5

- name: Spell Check Repo with Reviewdog
uses: reviewdog/action-suggester@v1
with:
tool_name: typos
20 changes: 0 additions & 20 deletions .github/workflows/typos.yml

This file was deleted.

35 changes: 21 additions & 14 deletions _typos.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,26 @@ extend-exclude = [
"archive/*", # Archive files
]

# Regex patterns for identifiers
[default]
extend-ignore-re = [
"\\b(?:betwee|messag|openin|runnin)\\.mp3\\b", # A real 8.3-truncated PrBoom DOS asset filenames (library/prboom.md)
"2ND", # part of "Button 2ND" (library/numero.md)
"ACCOMODATE_", # ACCOMODATE_POSSIBLE_DYNAMIC_LOOPS, a real CRT-Royale shader macro (shader/crt_royale.md)
"ba4980-c-sdk", # Minimal C language development kit for BuBuGao (BBK) A-series electronic dictionaries
"BLOAD", # MSX-BASIC BLOAD command (library/bluemsx.md)
"CONSOL_(SELECT|START)", # Atari 8-bit CONSOL_SELECT/CONSOL_START hardware register (library/atari800.md)
"KEY_ALIS", # KEY_ALIS, an example keytool placeholder (development/retroarch/compilation/android.md)
"Sentris", # Sentris, a real game title (image/Button_Pack/Readme.txt)
"Sintax", # Sintax, a real Game Boy bootleg mapper (library/gearboy.md)
"som_msu1.sfc", # som_msu1.sfc, a real filename (library/snes9x.md)
"textureLodOffset", # GLSL textureLodOffset substring (development/shader/slang-shaders.md)
"(?i).*lod.*", # Level of Detail (LOD) substrings in identifiers, options, and paths
"THQ", # THQ, a real video game publisher (library/compatibility/gba.md)
"UPnP", # Universal Plug and Play
"\\bVirtua\\b", # Sega's specific branding used in game titles (Virtua Fighter, Virtua Cop, Virtua Racing, Virtua Gun)
]

# Match Inside a Word - Case Insensitive
[default.extend-words]
ue = "ue" # Nestopia UE
Expand All @@ -12,33 +32,20 @@ kernal = "kernal" # Commodore's low-level Operating System
gam = "gam" # GAM4980 core name / .gam file extension
noo = "noo" # NooDS core name (library/noods.md)
wirth = "wirth" # Niklaus Wirth, designer of Oberon (library/oberon.md)
bload = "bload" # MSX-BASIC BLOAD command (library/bluemsx.md)
consol = "consol" # Atari 8-bit CONSOL_SELECT/CONSOL_START hardware register (library/atari800.md)
trak = "trak" # TrakBall, a real Stella controller type (library/stella.md)
pn = "pn" # UPnP substring (ppsspp.md, netplay-faq.md, netplay-getting-started.md)
lod = "lod" # GLSL textureLodOffset substring (development/shader/slang-shaders.md)
accomodate = "accomodate" # ACCOMODATE_POSSIBLE_DYNAMIC_LOOPS, a real CRT-Royale shader macro (shader/crt_royale.md)
betwee = "betwee" # betwee.mp3, a real 8.3-truncated PrBoom DOS asset filename (library/prboom.md)
messag = "messag" # messag.mp3, ditto
openin = "openin" # openin.mp3, ditto
runnin = "runnin" # runnin.mp3, ditto
bumpter = "bumpter" # Vita_Bumpter_Left.png, a real Button_Pack asset filename
outter = "outter" # Remote_Circle_Outter.png, ditto
tilda = "tilda" # Keyboard_*_Tilda.png, ditto
sentris = "sentris" # Sentris, a real game title (image/Button_Pack/Readme.txt)
cruzes = "cruzes" # Cruzes, a real (stub) core entry (guides/core-list.md)
ment = "ment" # part of "Greg DeMent", a real person's surname (library/prosystem.md)
nd = "nd" # part of "Button 2ND" (library/numero.md)
som = "som" # som_msu1.sfc, a real filename (library/snes9x.md)
hsi = "hsi" # .hsi file extension (guides/softwarelist-getting-started.md)
updat = "updat" # PS3UPDAT.PUP, the PS3 firmware file name (library/rpcs3.md)
discernable = "discernable" # a widely-accepted alternate spelling of "discernible" (guides/rgui.md)
alis = "alis" # KEY_ALIS, an example keytool placeholder (development/retroarch/compilation/android.md)
ba = "ba" # part of the "ba4980-c-sdk" tool-repo URL slug (library/gam4980.md)
thq = "thq" # THQ, a real video game publisher (library/compatibility/gba.md)
mis = "mis" # part of the valid "mis-matched" hyphenation (guides/softwarelist-getting-started.md)
informations = "informations" # only remaining match is the quick-informations.md FILENAME itself (kept as-is: many other pages link to it by this exact path); every genuine prose occurrence of this typo was fixed
rewinded = "rewinded" # Technical term for rewinding process
wizzard = "wizzard" # WizzardSK, a real GitHub username (library/cemu.md, library/pcee2.md, library/armsx2.md, library/nuance.md)
ahd = "ahd" # a real Hatari option value (library/hatarib.md)
langage = "langage" # LANGAGE, a real EmuSCV core option name (library/emuscv.md)
sintax = "sintax" # Sintax, a real Game Boy bootleg mapper (library/gearboy.md)
2 changes: 1 addition & 1 deletion docs/guides/change-directories.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ Table of special values limited to some variables:

## Cores

This is the location for all your cores. To [install them using the user interface](download-cores.md#installing-cores-through-retroarch-interface), this setting needs to point to a writeable directory.
This is the location for all your cores. To [install them using the user interface](download-cores.md#installing-cores-through-retroarch-interface), this setting needs to point to a writable directory.

!!! note
The Ubuntu PPA does not point this to a user-writable directory because cores are modified by the package manager. If you want to change it manually, you might want to change this directory from "retroarch.cfg" with a text editor since the RetroArch file browser doesn't show hidden folders by default. *libretro_directory =* is what you need to change in the config file. Some distributions use `~/.config/retroarch/cores/`
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/install-steamlink.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ Find out the IP address that SteamLink receives, which you can learn from your r

FileZilla

| Host | Username | Passoword | Port |
| Host | Username | Password | Port |
|---|---|---|---|
| 192.168.1.5 | root | steamlink123 | 22 |

Expand Down
13 changes: 6 additions & 7 deletions docs/guides/softwarelist-getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,27 +35,27 @@ Multi (MESS 2016) is a snapshot of the MESS project from v0.160. The MESS projec
UME cores are no longer in RetroArch. Multi (UME 2015) was a snapshot of the Universal Machine Emulator. This was a precursor to the MAME/MESS merger, released by David Haywood (haze). The MAME and MESS project codebases co-existed in the MESS SVN development tree before they officially merged. This allowed haze to build and release the emulator with unmodified code from both projects under the name UME.

## Use the correct version of romset for the desired emulator

Arcade (MAME) will be the focus of this guide, but also the old Arcade (MAME 2016), the MULTI (MESS 2015) and MULTI (UME 2015) cores had this ability (so this information is also provided for documentation purposes). As in MAME arcade emulation, each core requires its own distinct version of software list "romsets", which the emulator supports.

| Emulator | Required ROM Version | Notes |
| :---: | :---: | :---: |
| MAME (latest version) | MAME (latest version) | or same version if not in sync with MAME upstream |
| MAME 2016 | MAME 0.174 | RetroArch core no longer provided |
| MAME 2016 | MAME 0.174 | RetroArch core no longer provided |
| MESS 2015 | MAME 0.160 | RetroArch core no longer provided |
| UME 2015 | MAME 0.160 | RetroArch core no longer provided |

!!! tip
For best results, start with a full software list ROM collection with a version that matches the emulator you are using. Individual romset zip files may not include BIOS ROMs, "Parent" romsets, necessary audio sample files, etc.
Matching emulator and game versions is advised for maximum compatibility, but you may find mis-matched combinations also work.

---

## Running software list machines
There are two ways of configuring Retroarch to launch software list machines and games with MAME cores.

1. **Method 1 - MAME Frontend direct launch:** uses the inbuilt MAME logic and hash files to launch your games
2. **Method - RetroArch fontend friendly via Libretro CMD file launch:** uses an extra libretro feature to pass command line functions to the core
2. **Method - RetroArch frontend friendly via Libretro CMD file launch:** uses an extra libretro feature to pass command line functions to the core

### Method 1: MAME Frontend direct launch

Expand Down Expand Up @@ -94,7 +94,7 @@ Place any .zip games and .zip bios files required here:
"YourPath"/Games/Atari 7800/a7800/asteroid.zip

!!! note
To place the bios file above a7800 is the way that official MAME stores the data and thus also recommended here. You could also put the bios into the a7800 folder, but that's not how official MAME does it.
To place the bios file above a7800 is the way that official MAME stores the data and thus also recommended here. You could also put the bios into the a7800 folder, but that's not how official MAME does it.

You may also put or even extract the bios file to their own folder within the games directory
"YourPath"/Games/Atari 7800/a7800/a7800/7800.rom
Expand All @@ -103,7 +103,7 @@ Now launch the game: In RetroArch, choose "Load Content" and browse to asteroid.

(To Do: Add note about SoftList xml specifying the game names and crc and only supporting only those specific file names. Dummy files for CD-based games.)

### Method 2: RetroArch frontend friendly via Libretro CMD file launching
### Method 2: RetroArch frontend friendly via Libretro CMD file launching

This method follows the same folder structure as above, but you can use custom naming outside of the hash file included with MAME. It utilises some custom additions to the Libretro MAME Cores. Specifically the use of text files (.cmd) to replicate sending command line actions as you can with mainline MAME.

Expand All @@ -117,4 +117,3 @@ To do: Other path definitions, e.g. under Windows? Maybe explain the different s
Now launch the game: In RetroArch, choose "Load Content" and browse to asteroid.cmd, and it should launch with MAME current.

To do: Cmd file example

14 changes: 7 additions & 7 deletions docs/library/fbneo.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ There are controversies about whether libretro's patreon and retroarch's GPL lic

* **"Redistributions may not be sold, nor may they be used in a commercial product or activity."** : By definition, a commercial activity is an activity involving the sale of goods or services. The libretro project does none of that, and it is unclear whether a patreon should be treated as a commercial activity or not when no goods or services are provided in exchange of the donations.
* **"You may not ask for donations to support your work on any project that uses the FB Neo source code."** : This FBNeo port is using libretro code, not the other way around. This port is directly authored/maintained/supported by members of the FBNeo team, and none of them is receiving donations. Interestingly, if receiving donations was de facto a commercial activity, this term shouldn't be required.
* *If* the libretro project was a commercial activity, it would still be unclear how it does affect this port. Our win32 standalone builds use the directx api, which belongs to a commercial company. Using the libretro api, which would belong to a commercial activity, wouldn't be any different. Furthermore, in all likeliness, there would still be alternative libretro frontends that don't belong to the libretro project and are not commercial.
* *If* the libretro project was a commercial activity, it would still be unclear how it does affect this port. Our win32 standalone builds use the directx api, which belongs to a commercial company. Using the libretro api, which would belong to a commercial activity, wouldn't be any different. Furthermore, in all likeliness, there would still be alternative libretro frontends that don't belong to the libretro project and are not commercial.
* Actually, alternative commercial libretro frontends already exist, and we consider we are not concerned as long as they neither redistribute FBNeo nor use it as some mean of advertisement. In this scenario, only a manual installation of the core by the user will be considered legal and supported.
* While GPL code can't be mixed with non-commercial code, this is a non-issue since this port doesn't contain any GPL-licensed code.
* Under european law, where the libretro buildbots are located, linking GPL and non-commercial software doesn't produce a derivative work, and doesn't extend the GPL license to the non-commercial work (source [here](https://joinup.ec.europa.eu/collection/eupl/licence-compatibility-permissivity-reciprocity-and-interoperability)). It is unclear whether the same applies in non-EU countries or not.
Expand Down Expand Up @@ -288,13 +288,13 @@ Here is a list of samples currently in use :

Copy [hiscore.dat](https://github.com/libretro/FBNeo/raw/master/metadata/hiscore.dat) to `SYSTEM_DIRECTORY/fbneo/` and have `Quick Menu > Core Options > Hiscores` enabled.

It doesn't guarantee hiscores will work for a specific game though, sometimes a driver could just be missing the necessary support code for this feature, or `hiscore.dat` might have a missing or broken entry for that romset. You can request support in the issue tracker.
It doesn't guarantee hiscores will work for a specific game though, sometimes a driver could just be missing the necessary support code for this feature, or `hiscore.dat` might have a missing or broken entry for that romset. You can request support in the issue tracker.

Runahead now works with hiscores, it'll require fairly recent version of the core AND RetroArch though (support was added after 1.10.3).

## Input lag reduction

This core widely supports the RetroArch input latency reduction features, with **runahead single instance** and **preemptive frames** being the recommended methods.
This core widely supports the RetroArch input latency reduction features, with **runahead single instance** and **preemptive frames** being the recommended methods.

Proper support for **runahead second instance** is not guaranteed because it doesn't exist in standalone FBNeo unlike the other methods.

Expand Down Expand Up @@ -352,7 +352,7 @@ Games running on already emulated arcade systems will also be tolerated, the mos

A lot of romhacks are supported natively, so your romhack might already be supported under a specific romset name.

For the unsupported romhacks, there are 3 methods, but those romhacks are not allowed if you intend to use RetroAchievements and must be disabled by toggling off `Quick Menu > Core Options > Allow patched romsets` :
For the unsupported romhacks, there are 3 methods, but those romhacks are not allowed if you intend to use RetroAchievements and must be disabled by toggling off `Quick Menu > Core Options > Allow patched romsets` :

#### Using the "patched" folder

Expand Down Expand Up @@ -413,7 +413,7 @@ There are several things to know :

* You need to follow the instructions about [emulating consoles](#emulating-consoles-and-computers)
* You need a copy of the `neocdz.zip` and `neogeo.zip` bioses
* The supported format is single file MODE1/2352 cue/bin (the format where there is one .cue file with one single .bin file). Use "CDmage" to convert your dump if needed. **It must not be compressed**
* The supported format is single file MODE1/2352 cue/bin (the format where there is one .cue file with one single .bin file). Use "CDMage" to convert your dump if needed. **It must not be compressed**

You can convert your unsupported dumps by following this tutorial :

Expand Down Expand Up @@ -455,10 +455,10 @@ Additionally :

The first question you should be asking yourself is "what am i comparing this to ?", emulation is meant to be faithful to real hardware (here the original arcade board), not to some console port, remaster, other emulator, or ost.

If you are comparing this to FBNeo standalone, you must be warned that the libretro port is using different default audio settings.
If you are comparing this to FBNeo standalone, you must be warned that the libretro port is using different default audio settings.
By default standalone has 44100 samplerate and both interpolations off, and that's what you should set in core options if you want the same audio output.

Last but not least, you might also want to make sure you are running the game at the correct speed, most crt games don't run at 60Hz and if you want the proper refresh rate to be emulated you'll need to make sure `Video Settings > Force 60Hz` isn't enabled in core options and `Settings > Video > Synchronization > Sync to Exact Content Framerate` is enabled (`vrr_runloop_enable = "true"` in `retroarch.cfg`).
Last but not least, you might also want to make sure you are running the game at the correct speed, most crt games don't run at 60Hz and if you want the proper refresh rate to be emulated you'll need to make sure `Video Settings > Force 60Hz` isn't enabled in core options and `Settings > Video > Synchronization > Sync to Exact Content Framerate` is enabled (`vrr_runloop_enable = "true"` in `retroarch.cfg`).
Please note that it'll likely cause frame duping if your hardware is not compatible with VRR (Variable Refresh Rate), in which case you'll have to make a choice between animation smoothness and correct refresh rate.

### Why do i get a black screen and/or can't i change bios in neogeo games ?
Expand Down
2 changes: 1 addition & 1 deletion docs/meta/core-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ Content that can be loaded by the [Core name] core have the following file exten

- .[extension]

// Copy the exntension entry from the core info file and paste it here.
// Copy the extension entry from the core info file and paste it here.
// https://github.com/libretro/libretro-super/tree/master/dist/info)
// Also look at the core's libretro.c/libretro.cpp file, sometimes the core info files can get out of sync

Expand Down
Loading
Loading