diff --git a/docs/library/gearboy.md b/docs/library/gearboy.md index a4e05e75cc..c56a171f1a 100644 --- a/docs/library/gearboy.md +++ b/docs/library/gearboy.md @@ -4,14 +4,15 @@ Gearboy is an open source, cross-platform Nintendo Game Boy (DMG), Game Boy Color (GBC), and Super Game Boy (SGB) emulator written in C++. -- Accurate emulation with support for ROM-only cartridges and MBC1, MBC1M, MBC2, MBC3, MBC5, MBC7, HuC-1, HuC-3, MMM01, Pocket Camera, TAMA5, Wisdom Tree, M161, Sachen MMC1/MMC2, PKJD, Bung/EMS, and Poke 2-in-1 mappers. +- Accurate emulation with support for ROM-only cartridges and MBC1, MBC1M, MBC2, MBC3, MBC5, MBC6, MBC7, HuC-1, HuC-3, MMM01, Pocket Camera, TAMA5, Wisdom Tree, M161, Sachen MMC1/MMC2, PKJD, Bung/EMS, and Poke 2-in-1 mappers. - Game Boy Color support. - Super Game Boy support, including borders and color palettes. +- Game Link Cable support with two systems, independent controllers, configurable screens and audio, and two-ROM subsystem loading. - Battery-backed RAM save support. - Save states. - Boot ROM (BIOS) support. - Game Genie and GameShark cheat support. -- Supported platforms (libretro): Windows, Linux, macOS, Raspberry Pi, Android, iOS, tvOS, PlayStation Vita, PlayStation 3, Nintendo 3DS, Nintendo GameCube, Nintendo Wii, Nintendo WiiU, Nintendo Switch, Emscripten, Classic Mini systems (NES, SNES, C64, ...), OpenDingux, RetroFW and QNX. +- Supported platforms (libretro): Windows, Linux, macOS, Raspberry Pi, Android, iOS, tvOS, webOS, PlayStation Vita, PlayStation 3, Nintendo 3DS, Nintendo GameCube, Nintendo Wii, Nintendo WiiU, Nintendo Switch, Emscripten, Classic Mini systems (NES, SNES, C64, ...), OpenDingux, RetroFW and QNX. The Gearboy core has been authored by: @@ -78,7 +79,7 @@ Frontend-level settings or features that the Gearboy core respects. | Sensors | ✔ | | Camera | ✕ | | Location | ✕ | -| Subsystem | ✕ | +| Subsystem | ✔ | | [Softpatching](../guides/softpatching.md) | ✔ | | Disk Control | ✕ | | Username | ✕ | @@ -86,6 +87,8 @@ Frontend-level settings or features that the Gearboy core respects. | Crop Overscan | ✕ | | LEDs | ✕ | +Achievements are supported in single-player mode and disabled in linked sessions. In linked mode, the same enabled Game Genie and GameShark cheat entries apply to both Screen 1 and Screen 2, including when using the two-ROM subsystem. + ### Directories The Gearboy core's library name is 'Gearboy' @@ -98,6 +101,8 @@ The Gearboy core saves/loads to/from these directories. |:-----:|:----------------------:| | *.srm | Cartridge battery save | | *.rtc | Real time clock save | +| *.srm2 | Screen 2 cartridge battery save in linked mode | +| *.rtc2 | Screen 2 real time clock save in linked mode | **Frontend's State directory** @@ -110,15 +115,38 @@ The Gearboy core saves/loads to/from these directories. - The Gearboy core's provided FPS is 59.7275005696 - The Gearboy core's provided sample rate is 44100 Hz - The Gearboy core's base size is 160x144, or 256x224 when an SGB border is displayed -- The Gearboy core's max width is 256 -- The Gearboy core's max height is 224 -- The Gearboy core's provided aspect ratio is 10:9 without an SGB border and 8:7 with a border +- Linked mode displays 320x144 horizontally, 160x288 vertically, or 160x144 when only one screen is selected +- The Gearboy core's max width is 320 +- The Gearboy core's max height is 288 +- The Gearboy core's provided aspect ratio is 10:9 for a single handheld screen, 8:7 with an SGB border, 20:9 for two horizontal screens, and 5:9 for two vertical screens + +## Game Link Cable + +Enable **Game Link Cable Enable (restart)**, choose **Close Content**, then load the ROM again to run two independent copies of the same ROM. Controller port 1 controls Screen 1, and controller port 2 controls Screen 2. Both machines continue running when only one screen is displayed. RetroArch's **Restart** action resets the existing machine or linked pair and preserves battery memory. It does not apply changes to Game Link Cable Enable; both enabling and disabling this option require **Close Content** followed by loading the ROM again. + +To link different ROMs, load the **2 Player Game Boy Link** subsystem (`gb_link_2p`) and select a ROM for each screen. Selecting this subsystem enables linked mode regardless of the enable option. A command-line example is: + +```sh +retroarch -L gearboy_libretro.so --subsystem gb_link_2p first.gb second.gb +``` + +Use the core library extension for your platform (`.dylib` on macOS or `.dll` on Windows). The subsystem can also load the same ROM into both slots. + +Linked mode supports DMG and CGB games, including CGB fast serial and double-speed operation. Super Game Boy mode and borders are disabled while linking. Both machines run inside one core instance; this does not connect to desktop Gearboy link sessions. + +### Linked saves + +When loading a single ROM in linked mode, Screen 1 keeps its usual frontend-managed `.srm` and `.rtc` files. Screen 2 uses `.srm2` and `.rtc2` in the frontend's save directory, or alongside the ROM if no save directory is provided. Screen 2's files are restored when content loads and written when content unloads or the core shuts down. Content supplied without a path has no automatic Screen 2 battery filename. + +The two-ROM subsystem exposes both cartridges' save RAM and RTC to the frontend. Screen 1 uses `.srm` and `.rtc`; Screen 2 uses `.srm2` and `.rtc2`. The separate extensions prevent the saves from overwriting each other when both slots load the same ROM. + +Linked save states contain both machines, both screens, and serial transfers in progress. They use a separate format from single-player states. Save states are unavailable while a boot ROM is executing. ## Core options The Gearboy core has the following options 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. +Settings marked (restart) require restarting the emulated hardware. **Game Link Cable Enable is an exception: use Close Content and load the ROM again. RetroArch's Restart action alone does not change the number of machines.** - **Game Boy Model (restart)** [gearboy_model] (**Auto**|Game Boy DMG|Game Boy Advance) @@ -126,9 +154,9 @@ Settings with (restart) means that core has to be closed for the new setting to - *Auto* selects the best hardware based on the ROM header. - *Game Boy DMG* forces original Game Boy hardware. - - *Game Boy Advance* enables Game Boy Advance hardware. + - *Game Boy Advance* emulates Game Boy Advance hardware behavior when running Game Boy and Game Boy Color games. Game Boy Advance ROMs are not supported. -- **Mapper (restart)** [gearboy_mapper] (**Auto**|ROM Only|MBC 1|MBC 2|MBC 3|MBC 5|MBC 1 Multicart|HuC 1|HuC 3|MMM01|Camera|MBC 7|TAMA5|Wisdom Tree|M161|Sachen MMC1|Sachen MMC2|PKJD|Bung/EMS|Poke 2-in-1) +- **Mapper (restart)** [gearboy_mapper] (**Auto**|ROM Only|MBC 1|MBC 2|MBC 3|MBC 5|MBC 1 Multicart|HuC 1|HuC 3|MMM01|Camera|MBC 7|TAMA5|Wisdom Tree|M161|Sachen MMC1|Sachen MMC2|PKJD|Bung/EMS|Poke 2-in-1|MBC 6) Select which Memory Bank Controller (MBC or mapper) is emulated. @@ -142,7 +170,7 @@ Settings with (restart) means that core has to be closed for the new setting to - *HuC 1* forces HuC 1. - *HuC 3* forces HuC 3. - *MMM01* forces MMM01. - - *Camera* forces Pocket Camera. + - *Camera* forces the Pocket Camera mapper. Host-camera input is not supported. - *MBC 7* forces MBC 7. - *TAMA5* forces TAMA5. - *Wisdom Tree* forces the Wisdom Tree mapper. @@ -152,10 +180,11 @@ Settings with (restart) means that core has to be closed for the new setting to - *PKJD* forces the PKJD mapper. - *Bung/EMS* forces the Bung/EMS flash cartridge mapper. - *Poke 2-in-1* forces the Poke 2-in-1 mapper. + - *MBC 6* forces the MBC6 (Net de Get) mapper. - **Super Game Boy (restart)** [gearboy_sgb] (**Enabled**|Disabled) - Run compatible games in Super Game Boy mode. Disable this option to run them as standard Game Boy games. + Run compatible games in Super Game Boy mode. Disable this option to run them as standard Game Boy games. Linked mode always disables Super Game Boy mode. - **Super Game Boy Border** [gearboy_sgb_border] (**Enabled**|Disabled) @@ -169,6 +198,10 @@ Settings with (restart) means that core has to be closed for the new setting to Enables color correction for Game Boy Color games to simulate the original GBC LCD screen output. +- **No Sprite Limit** [gearboy_no_sprite_limit] (**Disabled**|Enabled) + + Remove the per-line sprite limit to reduce flickering. This may cause glitches in games that rely on the hardware limit. + - **DMG Bootrom (restart)** [gearboy_bootrom_dmg] (**Disabled**|Enabled) Enable or disable the original Game Boy bootrom. For this to work, the `dmg_boot.bin` file must exist in RetroArch's system directory. @@ -183,7 +216,7 @@ Settings with (restart) means that core has to be closed for the new setting to - **Tilt Source (MBC7)** [gearboy_tilt_source] (**Mouse**|Sensor|Analog Stick) - Select the input source for MBC7 tilt controls. + Select the input source for MBC7 tilt controls. *Analog Stick* uses the left analog stick. *Sensor* requires a frontend and device that support accelerometer input. - **Sensor Sensitivity X (MBC7)** [gearboy_sensor_sensitivity_x] (**5**|1-10) @@ -233,11 +266,33 @@ Settings with (restart) means that core has to be closed for the new setting to Invert the vertical axis when using analog stick input for MBC7 tilt controls. +- **Game Link Cable Enable (restart)** [gearboy_link_enable] (**Disabled**|Enabled) + + Run two linked Game Boy systems. Loading one ROM runs an independent copy on each screen. After changing this option, choose **Close Content** and load the ROM again; **Restart** alone is not sufficient. Use the [two-ROM subsystem](#game-link-cable) to load different ROMs. + +- **Dual Screen Placement** [gearboy_link_placement] (**Horizontal**|Vertical) + + Arrange both screens side by side or one above the other. This setting changes immediately. + +- **Dual Screen Switch** [gearboy_link_switch] (**Disabled**|Enabled) + + Swap the positions of the two screens. Controller assignments, screen selection and audio selection continue to refer to the original screen numbers. + +- **Dual Screen Selection** [gearboy_link_screen] (**Both Screens**|Screen 1|Screen 2) + + Display both machines or only the selected screen. Both machines keep running. + +- **Dual Screen Audio** [gearboy_link_audio] (**Screen 1**|Screen 2|Mix) + + Play audio from the selected machine, or mix both stereo outputs at half volume each. + ## Joypad +The same mapping applies to both ports in linked mode. Port 1 controls Screen 1 and port 2 controls Screen 2, including after swapping or hiding screens. Single-player mode uses port 1. + ![](../image/controller/gb.png) -| User 1 input descriptors | RetroPad Inputs | +| User 1 / User 2 input descriptors | RetroPad Inputs | |--------------------------|---------------------------------------------| | B | ![](../image/retropad/retro_b.png) | | Select | ![](../image/retropad/retro_select.png) | diff --git a/docs/library/gearcoleco.md b/docs/library/gearcoleco.md index 5aa5fb8432..b47fe24c9a 100644 --- a/docs/library/gearcoleco.md +++ b/docs/library/gearcoleco.md @@ -1,14 +1,15 @@ -# Coleco - ColecoVision (GearColeco) +# Coleco - ColecoVision / ADAM (GearColeco) ## Background -Gearcoleco is an open source, cross-platform ColecoVision emulator written in C++. +Gearcoleco is an open source, cross-platform ColecoVision and Coleco ADAM emulator written in C++. - Accurate Z80 core, including undocumented opcodes and behavior like R and MEMPTR registers. -- Accurate TMS9918 emulation. -- Support for ColecoVision Super Game Module (SGM) and Mega Cart ROMs. +- Accurate TMS9918 emulation and optional F18A v1.9 support. +- Support for ColecoVision Super Game Module (SGM), MegaCart, Activision and OCM cartridges. +- Coleco ADAM computer and cartridge modes, keyboard, Digital Data Pack and floppy disk support. - Support for Super Action Controller (SAC), Wheel Controller and Roller Controller. -- Supported platforms (libretro): Windows, Linux, macOS, Raspberry Pi, Android, iOS, tvOS, PlayStation Vita, PlayStation 3, Nintendo 3DS, Nintendo GameCube, Nintendo Wii, Nintendo WiiU, Nintendo Switch, Emscripten, Classic Mini systems (NES, SNES, C64, ...), OpenDingux, RetroFW and QNX. +- Supported platforms (libretro): Windows, Linux, macOS, Raspberry Pi, Android, iOS, tvOS, webOS, PlayStation Vita, PlayStation 3, Nintendo 3DS, Nintendo GameCube, Nintendo Wii, Nintendo WiiU, Nintendo Switch, Emscripten, Classic Mini systems (NES, SNES, C64, ...), OpenDingux, RetroFW and QNX. The Gearcoleco core has been authored by: @@ -29,11 +30,20 @@ Required or optional firmware files go in the frontend's system directory. !!! attention Gearcoleco requires a ColecoVision BIOS. Place the following file in RetroArch's system directory. -| Filename | Description | md5sum | -|:-----------------:|:----------------------------------:|:--------------------------------:| -| colecovision.rom | ColecoVision BIOS - Required | 2c66f5911e5b42b8ebe113403548eee7 | +| Filename | Description | Size | MD5 | CRC32 | +|:--------:|:-----------:|:----:|:---:|:-----:| +| colecovision.rom | ColecoVision OS-7 BIOS - Required | 8192 bytes | 2c66f5911e5b42b8ebe113403548eee7 | 3aa93ef3 | -If `colecovision.rom` is not found, the core also checks for `coleco.rom`. +The core also accepts `coleco.rom` or `os7.u2` for this same ColecoVision/ADAM OS-7 BIOS. Firmware can be placed in the system directory or its `gearcoleco` subdirectory. + +ADAM mode requires the OS-7 BIOS above plus both of the following raw firmware images: + +| Filename | Description | Size | MD5 | CRC32 | +|:--------:|:-----------:|:----:|:---:|:-----:| +| eos.rom | ADAM EOS - Required | 8192 bytes | 01df3140909f09aa9aac4f88890f676c | 05a37a34 | +| writer.rom | ADAM SmartWriter - Required | 32768 bytes | 4fe4f6800076ea3d897d4285653447bd | 58d86a2a | + +SmartWriter may also be named `wp.rom` or `wp_r80.rom`. ## Extensions @@ -43,6 +53,12 @@ Content that can be loaded by the Gearcoleco core have the following file extens - .cv - .bin - .rom +- .zip +- .ddp +- .dsk +- .m3u + +ADAM supports 256 KiB Digital Data Pack (`.ddp`) images and 160/320 KiB floppy disk (`.dsk`) images. An ADAM ZIP archive must contain exactly one valid media image. Playlists must contain only data packs or only disks; mixed media types are not supported. RetroArch database(s) that are associated with the Gearcoleco core: @@ -71,9 +87,9 @@ Frontend-level settings or features that the Gearcoleco core respects. | Sensors | ✕ | | Camera | ✕ | | Location | ✕ | -| Subsystem | ✕ | +| Subsystem | ✔ | | [Softpatching](../guides/softpatching.md) | ✔ | -| Disk Control | ✕ | +| Disk Control | ✔ | | Username | ✕ | | Language | ✕ | | Crop Overscan | ✔ | @@ -90,6 +106,10 @@ The Gearcoleco core saves/loads to/from these directories. | File | Description | |:-----:|:----------------------:| | *.srm | Cartridge battery save | +| *.gearcoleco.ddp | ADAM data pack working copy, when writable media is enabled | +| *.gearcoleco.dsk | ADAM disk working copy, when writable media is enabled | + +ADAM working-copy names include the content name, original image checksum and drive slot. The original content files are not overwritten. **Frontend's State directory** @@ -99,13 +119,42 @@ The Gearcoleco core saves/loads to/from these directories. ### Geometry and timing -- The Gearcoleco core's provided FPS is 60 for NTSC games and 50 for PAL games +- The Gearcoleco core's provided FPS is approximately 59.92 for NTSC games and 50.16 for PAL games; ADAM uses NTSC timing - The Gearcoleco core's provided sample rate is 44100 Hz - The Gearcoleco core's base width is 256 - The Gearcoleco core's base height is 192 -- The Gearcoleco core's max width is 320 +- F18A output can use a wider or taller active raster, depending on the video mode +- The Gearcoleco core's max width is 512 - The Gearcoleco core's max height is 288 -- The Gearcoleco core's provided aspect ratio is 4:3 by default +- The Gearcoleco core uses square pixels by default (4:3 at 256x192); the ['Aspect Ratio' core option](#core-options) can override this + +## Coleco ADAM + +Load a `.ddp`, `.dsk`, ADAM `.zip` or `.m3u` file to start ADAM computer mode automatically. Starting the core without content also selects ADAM and opens SmartWriter when no bootable media is inserted. No-content startup requires frontend support. Cartridge files use ColecoVision by default; select *ADAM* in **Cartridge Hardware** to run a cartridge on ADAM hardware. + +### Preparing multiple drives + +The single optional **ADAM** subsystem (`adam`) lets you prepare several images before booting. It provides five slots, in this order: + +1. Cartridge +2. Disk 1 +3. Disk 2 +4. Data Pack 1 +5. Data Pack 2 + +Every slot is optional. Each drive accepts its own image or homogeneous M3U playlist. A cartridge alone starts cartridge mode; media or an empty setup starts computer mode. Older three-file subsystem launch configurations must be updated to this five-slot layout. + +Normal content loading is sufficient for a single program or an M3U disk-swapping set. An M3U supplies alternative images for one drive; it does not automatically mount its entries in separate drives. + +### Inserting and changing media + +Select the target drive with **ADAM Disk Control Drive**, then use the frontend's disk controls to eject, add or select an image, and insert it. This also works after starting the core without content. Each drive keeps its own image list, and changing one drive leaves the others mounted. The default *Loaded media* target selects the primary content drive. + +Inserting media does not reset the computer. To boot a newly inserted program, request **ADAM Computer Reset**. Computer boot checks Disk 1, Disk 2, Data Pack 1 and Data Pack 2 in order and starts SmartWriter if none contains bootable media. Use disk swapping without reset when a running application requests another disk. + +Media is write protected by default. Set **ADAM Writable Media** to *Save-directory working copy* and reload the content to save changes in the frontend's save directory. This requires a save directory and a frontend file-system interface that supports writing; otherwise the media remains write protected. + +ADAM save states validate the firmware, cartridge and mounted media, and restore the image selections for all four drives. Compatible older single-drive metadata remains supported. States from experimental ADAM versions before state format 108 must be recreated. ## Core options @@ -113,13 +162,37 @@ The Gearcoleco core has the following options that can be tweaked from the core Settings with (restart) means that core has to be closed for the new setting to be applied on next launch. +- **Cartridge Hardware (restart)** [gearcoleco_cartridge_hardware] (**ColecoVision**|ADAM) + + Select the hardware used for cartridge ROMs. Disks, data packs, playlists and no-content startup always select ADAM automatically. The old Machine and ADAM Boot Mode options are no longer used. + +- **ADAM Disk Control Drive** [gearcoleco_adam_disk_drive] (**Loaded media**|Disk 1|Disk 2|Data Pack 1|Data Pack 2) + + Select which drive the frontend's Disk Control menu operates. *Loaded media* selects the primary content drive. Other drives remain mounted when this option changes. + +- **ADAM Computer Reset** [gearcoleco_adam_computer_reset] (**Idle**|Reset) + + Select *Reset* to boot the computer from mounted media, or start SmartWriter if none is bootable. Mounted images are retained. The option returns to *Idle* when supported by the frontend; otherwise select *Idle* before requesting another reset. The frontend's normal Reset action retains the current boot mode, including cartridge mode. + +- **ADAM Writable Media (restart)** [gearcoleco_adam_writable_media] (**Disabled**|Save-directory working copy) + + Select whether ADAM media is write protected or saves changes to complete working copies in the frontend's save directory. + - **Refresh Rate (restart)** [gearcoleco_timing] (**Auto**|NTSC (60 Hz)|PAL (50 Hz)) Select which refresh rate will be used in emulation. - *Auto* selects the best refresh rate based on the loaded ROM. - - *NTSC (60 Hz)* forces 60 Hz. - - *PAL (50 Hz)* forces 50 Hz. + - *NTSC (60 Hz)* selects NTSC timing. + - *PAL (50 Hz)* selects PAL timing for ColecoVision cartridges. ADAM always uses NTSC timing. + +- **Mapper (restart)** [gearcoleco_mapper] (**Auto**|Standard|MegaCart|Activision|OCM) + + Select the cartridge mapper. *Auto* detects the appropriate mapper from the loaded content. Change this only if a cartridge does not work correctly with automatic detection. + +- **Video Chip (restart)** [gearcoleco_video_chip] (**Auto**|TMS9918A|F18A) + + Select the installed video chip. *Auto* uses TMS9918A unless the game database identifies the content as requiring F18A. - **Aspect Ratio** [gearcoleco_aspect_ratio] (**1:1 PAR**|4:3 DAR|16:9 DAR|16:10 DAR) @@ -132,7 +205,7 @@ Settings with (restart) means that core has to be closed for the new setting to - **Overscan** [gearcoleco_overscan] (**Disabled**|Top+Bottom|Full (284 width)|Full (320 width)) - Select which overscan (borders) will be used in emulation. + Select which overscan (borders) will be used with TMS9918A. F18A uses its active logical raster without TMS overscan. - *Disabled* disables overscan. - *Top+Bottom* enables overscan for top and bottom. @@ -196,6 +269,35 @@ Settings with (restart) means that core has to be closed for the new setting to | Purple | ![](../image/retropad/retro_right_stick.png) Right Analog Y | | Blue | ![](../image/retropad/retro_right_stick.png) Right Analog X | +### ADAM Keyboard + +ADAM uses the frontend's keyboard callback with fixed mappings. Letters, digits, punctuation, Return, Backspace, Tab and arrow keys type normally. Shift, Control and Caps Lock retain their ADAM modifier functions. + +!!! important "Enable RetroArch Game Focus before typing" + RetroArch normally assigns keyboard shortcuts to letters, Space, Escape and function keys. For example, F1 opens its menu, F2/F4 save/load states, F toggles fullscreen, H resets, P pauses, Space toggles fast-forward, and Escape quits. ADAM needs these keys for typing and its SmartKeys. + + Set **Settings > Input > Auto Enable 'Game Focus' Mode** to **Detect**, or toggle Game Focus manually (Scroll Lock by default) before typing. Gearcoleco requests keyboard input when ADAM loads, allowing automatic detection; ordinary ColecoVision startup does not request it. RetroArch's default automatic Game Focus setting is Off. + + Toggle Game Focus off again before using RetroArch shortcuts. If your keyboard lacks Scroll Lock, assign **Settings > Input > Hotkeys > Game Focus Toggle** to F10. Gearcoleco leaves F9-F12 and Scroll Lock unmapped in ADAM. + +See [RetroArch's direct keyboard input guidance](../guides/input-and-controls.md#cores-with-direct-keyboard-input) for Game Focus and frontend hotkey configuration. The core cannot suppress frontend shortcuts before Game Focus is enabled or account for arbitrary custom frontend bindings. + +With Game Focus enabled, the ADAM special keys are: + +| Host key | ADAM key | +|----------|----------| +| F1-F6 | SmartKey I-VI | +| F7 | Undo | +| F8 | Wild Card | +| Home | ADAM Home | +| Insert | Insert | +| Delete | Delete | +| Page Up | Move / Copy | +| Page Down | Store / Fetch | +| End | Clear | +| Print Screen | Print | +| Escape | Escape / WP | + ## External Links - [Official Gearcoleco Repository](https://github.com/drhelius/Gearcoleco) diff --git a/docs/library/geargrafx.md b/docs/library/geargrafx.md index 7bdd99fe8f..dd4cd81101 100644 --- a/docs/library/geargrafx.md +++ b/docs/library/geargrafx.md @@ -12,11 +12,12 @@ Geargrafx is an open source, cross-platform PC Engine, TurboGrafx-16, and SuperG * Standard Gamepad (2 buttons) * Avenue Pad 3 (3 buttons, auto-configured based on game) * Avenue Pad 6 (6 buttons) + * PC Engine Mouse - Adjustable scanline count (224p, 240p, or manual). - Standard RGB, Turboxray, and Kitrinx color palettes. - HES music ROM support. - Internal database for automatic ROM detection and hardware selection when `Auto` is selected. -- Supported platforms (libretro): Windows, Linux, macOS, Raspberry Pi, Android, iOS, tvOS, PlayStation Vita, PlayStation 3, Nintendo 3DS, Nintendo GameCube, Nintendo Wii, Nintendo WiiU, Nintendo Switch, Emscripten, Classic Mini systems (NES, SNES, C64, etc.), OpenDingux, RetroFW and QNX. +- Supported platforms (libretro): Windows, Linux, macOS, Raspberry Pi, Android, iOS, tvOS, webOS, PlayStation Vita, PlayStation 3, Nintendo 3DS, Nintendo GameCube, Nintendo Wii, Nintendo WiiU, Nintendo Switch, Emscripten, Classic Mini systems (NES, SNES, C64, etc.), OpenDingux, RetroFW and QNX. The Geargrafx core has been authored by: @@ -35,7 +36,7 @@ Geargrafx requires a BIOS file to run CD-ROM games. Required or optional firmware files go in RetroArch's system directory. !!! attention - Any CD-ROM System BIOS will work, but some are known to be incompatible with certain games. + System Card 3 is recommended for standard CD-ROM games. Some games require a different System Card or the Game Express BIOS. !!! attention You can choose the BIOS to use in the core options menu. @@ -47,6 +48,8 @@ Required or optional firmware files go in RetroArch's system directory. | syscard1.pce | CD-ROM System V1.xx - Optional | | | gexpress.pce | Game Express CD Card - Optional | | +The **CD BIOS** option defaults to *System Card 3*. Known Game Express games automatically use `gexpress.pce`; *Force Game Express* is available for unrecognized or modified discs. + ## Extensions Content that can be loaded by the Geargrafx core have the following file extensions: @@ -106,7 +109,10 @@ The Geargrafx core saves/loads to/from these directories. | File | Description | |:-----:|:----------------------:| -| *.srm | Cartridge battery save | +| *.srm | Backup RAM save | +| geargrafx_mb128.sav | Shared Memory Base 128 save | + +Memory Base 128 uses one shared save file across games when the device is enabled. **Frontend's State directory** @@ -183,7 +189,7 @@ Settings with (restart) means that core has to be closed for the new setting to Set the intensity of the video low-pass filter as a percentage from 0 to 100. -- **Video LPF Cutoff** [geargrafx_lowpass_cutoff] (**5.0 MHz**|3.0 MHz|3.5 MHz|4.0 MHz|4.5 MHz|5.0 MHz|5.5 MHz|6.0 MHz|6.5 MHz|7.0 MHz) +- **Video LPF Cutoff** [geargrafx_lowpass_cutoff] (**5.0 MHz**|3.0 MHz|3.5 MHz|4.0 MHz|4.5 MHz|5.5 MHz|6.0 MHz|6.5 MHz|7.0 MHz) Set the cutoff frequency of the video low-pass filter. Lower values produce a softer image. @@ -220,9 +226,9 @@ Settings with (restart) means that core has to be closed for the new setting to - *Super CD-ROM* forces Super CD-ROM² system. - *Arcade CD-ROM* forces Arcade CD-ROM² system. -- **CD-ROM BIOS (restart)** [geargrafx_cdrom_bios] (**Auto**|System Card 1|System Card 2|System Card 3|Game Express) +- **CD BIOS (restart)** [geargrafx_cdrom_bios] (**System Card 3**|System Card 2|System Card 1|Force Game Express) - Specify the BIOS file to use for CD-ROM emulation. The *Auto* setting automatically selects the appropriate BIOS based on the loaded content. You can also manually choose one for compatibility with specific games. + Select the System Card BIOS for standard CD-ROM games. *System Card 3* is recommended. Known Game Express games automatically use `gexpress.pce`; select *Force Game Express* only for unrecognized or modified discs. - **Preload CD-ROM (restart)** [geargrafx_cdrom_preload] (**Disabled**|Enabled) @@ -379,6 +385,19 @@ Settings with (restart) means that core has to be closed for the new setting to | ![](../image/retropad/retro_l2.png) | Toggle Turbo II when enabled | Toggle Turbo II when enabled | Toggle Turbo II when enabled | | ![](../image/retropad/retro_r2.png) | Toggle Turbo I when enabled | Toggle Turbo I when enabled | Toggle Turbo I when enabled | +## Mouse + +Select *Mouse* as the device type for a controller port. Only one mouse is active at a time; the first port configured as a mouse is used. Adjust movement with **Mouse Sensitivity**. + +| RetroMouse Inputs | PC Engine Mouse | +|-------------------|-----------------| +| Mouse movement | Movement | +| Left button | II | +| Right button | I | +| Middle button | Run | +| Button 4 | Select | +| Button 5 | Run | + ## External Links - [Official Geargrafx Repository](https://github.com/drhelius/Geargrafx) diff --git a/docs/library/gearlynx.md b/docs/library/gearlynx.md index c4024a24d3..6ed4af092c 100644 --- a/docs/library/gearlynx.md +++ b/docs/library/gearlynx.md @@ -7,9 +7,10 @@ Gearlynx is an open source, cross-platform Atari Lynx emulator written in C++. - Very accurate emulation supporting the entire commercial Atari Lynx catalog. - Bank switching (BANK1 + AUDIN) and EEPROM support. - Save files (EEPROM and NVRAM). +- GameDrive and ElCheapoSD cartridge support. - Configurable low-pass audio filter. - Internal database for automatic ROM detection and hardware selection when `Auto` is selected. -- Supported platforms (libretro): Windows, Linux, macOS, Raspberry Pi, Android, iOS, tvOS, PlayStation Vita, PlayStation 3, Nintendo 3DS, Nintendo GameCube, Nintendo Wii, Nintendo WiiU, Nintendo Switch, Emscripten, Classic Mini systems (NES, SNES, C64, ...), OpenDingux, RetroFW and QNX. +- Supported platforms (libretro): Windows, Linux, macOS, Raspberry Pi, Android, iOS, tvOS, webOS, PlayStation Vita, PlayStation 3, Nintendo 3DS, Nintendo GameCube, Nintendo Wii, Nintendo WiiU, Nintendo Switch, Emscripten, Classic Mini systems (NES, SNES, C64, ...), OpenDingux, RetroFW and QNX. The Gearlynx core has been authored by: @@ -41,6 +42,7 @@ Content that can be loaded by the Gearlynx core have the following file extensio - .lnx - .lyx - .o +- .bin RetroArch database(s) that are associated with the Gearlynx core: @@ -104,6 +106,12 @@ The Gearlynx core saves/loads to/from these directories. - The Gearlynx core's max height is 160 - The Gearlynx core's provided aspect ratio is dependent on the ['Aspect Ratio' core option](#core-options). +## SD cartridges + +GameDrive and ElCheapoSD use the loaded ROM's directory as the emulated SD card root. Place the files required by the cartridge in that directory and select the appropriate **Cartridge Hardware** option if automatic detection does not identify it. + +SD cartridge access requires a frontend with VFS version 3 support and a content path that identifies the ROM directory. Write operations also require frontend write support and permission to write to the content directory. These files are separate from the frontend-managed EEPROM/NVRAM `.srm` save. + ## Core options The Gearlynx core has the following options that can be tweaked from the core options menu. The default setting is bolded. @@ -119,7 +127,7 @@ Settings with (restart) means that core has to be closed for the new setting to - *16:9 DAR* forces 16:9 aspect ratio. - *16:10 DAR* forces 16:10 aspect ratio. -- **Screen Rotation** [gearlynx_rotation] (**Auto**|Left|Right|Disabled) +- **Screen Rotation** [gearlynx_rotation] (**Auto**|Left|Right|Disabled|180) Rotates the screen display. This is useful since many Lynx games were designed to be played with the system held vertically. @@ -127,6 +135,7 @@ Settings with (restart) means that core has to be closed for the new setting to - *Left* rotates the screen 90 degrees counter-clockwise. - *Right* rotates the screen 90 degrees clockwise. - *Disabled* forces the screen to remain in standard horizontal orientation. + - *180* rotates the screen upside down. - **Console Type** [gearlynx_console_type] (**Auto**|Lynx I|Lynx II) @@ -140,11 +149,15 @@ Settings with (restart) means that core has to be closed for the new setting to Override the cartridge EEPROM capacity and organization. *Auto* uses the cartridge header or game database. Restart or reload the content to apply changes. -- **Fast Sprite Rendering** [gearlynx_fast_sprite_rendering] (**Disabled**|Enabled) +- **Cartridge Hardware (restart)** [gearlynx_cartridge_hardware] (**Auto**|Standard|GameDrive|ElCheapoSD) + + Override special cartridge hardware. *Auto* uses the cartridge header or game database. Restart or reload the content to apply changes. + +- **Legacy Sprite Renderer** [gearlynx_legacy_sprite_renderer] (**Disabled**|Enabled) - Use a simpler, faster sprite renderer. This is less accurate for mid-render interrupt effects used by some demos. + Use a simpler, faster Suzy sprite renderer. This is less accurate for mid-render interrupt effects used by some demos. It is best to keep this option disabled. -- **Audio Low-Pass Filter (Hz)** [gearlynx_lowpass_filter] (**3500**|500|1000|1500|2000|2500|3000|3500|4000|4500|5000) +- **Audio Low-Pass Filter (Hz)** [gearlynx_lowpass_filter] (**3500**|500|1000|1500|2000|2500|3000|4000|4500|5000) Configures a low-pass audio filter to reduce high-frequency noise. diff --git a/docs/library/gearsystem.md b/docs/library/gearsystem.md index cd952c9a28..c2389b1b8f 100644 --- a/docs/library/gearsystem.md +++ b/docs/library/gearsystem.md @@ -8,11 +8,11 @@ Gearsystem is an open source, cross-platform Sega Master System, Game Gear, SG-1 - Automatic region detection: NTSC-JAP, NTSC-USA, PAL-EUR. - Accurate VDP emulation, including timing and VDP specifics for SMS, SMS2, GG and TMS9918 modes. - Support for YM2413 (OPLL) FM sound chip. -- Light Phaser and Paddle Control support. +- Light Phaser, Paddle Control and Sports Pad support. - Internal database for ROM detection. - Battery-backed RAM save support. - Game Genie and Pro Action Replay cheat support. -- Supported platforms (libretro): Windows, Linux, macOS, Raspberry Pi, Android, iOS, tvOS, PlayStation Vita, PlayStation 3, Nintendo 3DS, Nintendo GameCube, Nintendo Wii, Nintendo WiiU, Nintendo Switch, Emscripten, Classic Mini systems (NES, SNES, C64, ...), OpenDingux, RetroFW and QNX. +- Supported platforms (libretro): Windows, Linux, macOS, Raspberry Pi, Android, iOS, tvOS, webOS, PlayStation Vita, PlayStation 3, Nintendo 3DS, Nintendo GameCube, Nintendo Wii, Nintendo WiiU, Nintendo Switch, Emscripten, Classic Mini systems (NES, SNES, C64, ...), OpenDingux, RetroFW and QNX. The Gearsystem core has been authored by @@ -109,13 +109,13 @@ The Gearsystem core saves/loads to/from these directories. ### Geometry and timing -- The Gearsystem core's provided FPS is 60 for NTSC games and 50 for PAL games +- The Gearsystem core's provided FPS is approximately 59.92 for NTSC games, 49.70 for PAL Master System games and 50.17 for PAL SG-1000 games - The Gearsystem core's provided sample rate is 44100 Hz -- The Gearsystem core's base width is 256 for Master System / SG-1000 games and 160 for Game Gear games -- The Gearsystem core's base height is 192 for Master System / SG-1000 games and 144 for Game Gear games +- The Gearsystem core's base width is 256 for Master System / SG-1000 games and 160 for native Game Gear games; Game Gear SMS mode uses the Master System dimensions +- The Gearsystem core's base height is 192 for Master System / SG-1000 games (224 in extended mode) and 144 for native Game Gear games; overscan and left-bar cropping can change the output size - The Gearsystem core's max width is 320 - The Gearsystem core's max height is 288 -- The Gearsystem core's provided aspect ratio is 4:3 for Master System / SG-1000 games and 10:9 for Game Gear games +- The Gearsystem core uses square pixels by default (4:3 at 256x192 and 10:9 at 160x144); the ['Aspect Ratio' core option](#core-options) can override this ## Core options @@ -181,8 +181,8 @@ Settings with (restart) means that core has to be closed for the new setting to Select which refresh rate will be used in emulation. - *Auto* selects the best refresh rate based on the ROM. - - *NTSC (60 Hz)* forces 60 Hz. - - *PAL (50 Hz)* forces 50 Hz. + - *NTSC (60 Hz)* selects NTSC timing. + - *PAL (50 Hz)* selects PAL timing. - **Aspect Ratio** [gearsystem_aspect_ratio] (**1:1 PAR**|4:3 DAR|16:9 DAR|16:10 DAR) @@ -287,8 +287,14 @@ Settings with (restart) means that core has to be closed for the new setting to - *1* is the lowest sensitivity. - *15* is the highest sensitivity. +- **Sports Pad Sensitivity** [gearsystem_sports_pad_sensitivity] (**8**|1-15) + + Set the sensitivity of the [Sports Pad](#sports-pad). Higher values produce faster trackball movement. + ## Joypad +Select the emulated controller using the frontend's port device type. *Sports Pad* is available on ports 1 and 2; *Sega Light Phaser* and *Paddle Control* are available on port 1. + ![](../image/controller/gg.png) ![](../image/controller/sms.png) @@ -304,6 +310,19 @@ Settings with (restart) means that core has to be closed for the new setting to | ![](../image/retropad/retro_b.png) | 1 | | ![](../image/retropad/retro_a.png) | 2 | | ![](../image/retropad/retro_start.png) | Pause / Start | +| ![](../image/retropad/retro_select.png) | Reset | + +## Sports Pad + +Select *Sports Pad* as the device type for the desired port. The left analog stick controls the trackball. + +| RetroPad Inputs | Sports Pad | +|------------------------------------------------|--------------------------| +| ![](../image/retropad/retro_left_stick.png) | Trackball movement | +| ![](../image/retropad/retro_b.png) | 1 | +| ![](../image/retropad/retro_a.png) | 2 | +| ![](../image/retropad/retro_start.png) | Pause | +| ![](../image/retropad/retro_select.png) | Reset | ## Light Gun