From a08ccc540a3638ad41f66343a794c648a03ccf2d Mon Sep 17 00:00:00 2001 From: SundownerSport Date: Sun, 18 Oct 2026 11:11:35 -0700 Subject: [PATCH] Add GameTank core docs --- docs/development/licenses.md | 1 + docs/guides/core-list.md | 1 + docs/guides/softpatching.md | 6 ++ docs/library/gametank.md | 131 +++++++++++++++++++++++++++++++++++ mkdocs.yml | 2 + 5 files changed, 141 insertions(+) create mode 100644 docs/library/gametank.md diff --git a/docs/development/licenses.md b/docs/development/licenses.md index 48e1465df4..73d24605ba 100644 --- a/docs/development/licenses.md +++ b/docs/development/licenses.md @@ -131,6 +131,7 @@ See below for a summary of the licenses behind RetroArch and its cores: | [GAM4980](../library/gam4980.md) | [GPLv3](https://codeberg.org/iyzsong/gam4980/raw/branch/master/COPYING) | | | [Gambatte](../library/gambatte.md) | [GPLv2](https://github.com/libretro/gambatte-libretro/blob/master/COPYING) | | | [Game Music Emu](../library/game_music_emu.md) | [GPLv3](https://github.com/libretro/libretro-gme/blob/master/LICENSE) | | +| [GameTank](../library/gametank.md) | [MIT](https://github.com/SundownerSport/gametank-libretro/blob/main/LICENSE) | | | [Gearboy](../library/gearboy.md) | [GPLv3](https://github.com/drhelius/Gearboy/blob/master/LICENSE) | | | [Gearcoleco](../library/gearcoleco.md) | [GPLv3](https://github.com/drhelius/Gearcoleco/blob/master/LICENSE) | | | [Geargrafx](../library/geargrafx.md) | [GPLv3](https://github.com/drhelius/Geargrafx/blob/master/LICENSE) | | diff --git a/docs/guides/core-list.md b/docs/guides/core-list.md index fbf74c3405..efc0c26e44 100644 --- a/docs/guides/core-list.md +++ b/docs/guides/core-list.md @@ -109,6 +109,7 @@ | [GAM4980](../library/gam4980.md) | BBK 4980/4988/5980 electronic dictionary | | [Gambatte](../library/gambatte.md) | Game Boy/Color | | | [Game Music Emu](../library/game_music_emu.md) | Music player | A port of Game Music Emu which allows playback of a wide variety of video game music formats | +| [GameTank](../library/gametank.md) | Clydeware GameTank | | | [Gearboy](../library/gearboy.md) | Game Boy/Color | | | [Gearcoleco](../library/gearcoleco.md) | Coleco ColecoVision | | | [Geargrafx](../library/geargrafx.md) | NEC PC Engine/SuperGrafx | | diff --git a/docs/guides/softpatching.md b/docs/guides/softpatching.md index a7cd867540..562cc85517 100644 --- a/docs/guides/softpatching.md +++ b/docs/guides/softpatching.md @@ -29,6 +29,12 @@ Cartridge content only — Jaguar CD images are loaded by path and are not softp |--------------------------------------------|:---------:| | [Beetle Cygne](../library/beetle_cygne.md) | ✔ | +### Clydeware - GameTank + +| Core | Supported | +|------------------------------------|:---------:| +| [GameTank](../library/gametank.md) | ✔ | + ### Coleco - ColecoVision | Core | Supported | diff --git a/docs/library/gametank.md b/docs/library/gametank.md new file mode 100644 index 0000000000..507adbf9c8 --- /dev/null +++ b/docs/library/gametank.md @@ -0,0 +1,131 @@ +# Clydeware - GameTank (GameTank) + +## Background + +The GameTank is an 8-bit console designed by Clyde Shaffer. It has two 65C02 CPUs (one for the game, one dedicated to audio), a hardware blitter and a 128x128 display with 256 colors. Games ship on flash cartridges, some of which can save to the cartridge. + +This core is a libretro port of Clyde Shaffer's GameTankEmulator. + +The GameTank core has been authored by: + +- SundownerSport (libretro port) +- Clyde Shaffer (GameTank console and GameTankEmulator) + +The GameTank core is licensed under: + +- [MIT](https://github.com/SundownerSport/gametank-libretro/blob/main/LICENSE) + +A summary of the licenses behind RetroArch and its cores can be found [here](../development/licenses.md). + +## BIOS + +The GameTank core does not require a BIOS. + +## Extensions + +Content that can be loaded by the GameTank core have the following file extensions: + +- .gtr + +## Features + +Frontend-level settings or features that the GameTank core respects: + +| Feature | Supported | +|-------------------|:---------:| +| Restart | ✔ | +| Saves | ✔ | +| States | ✔ | +| Rewind | ✔ | +| Netplay | ✔ | +| Core Options | ✔ | +| RetroAchievements | ✕ | +| RetroArch Cheats | ✕ | +| Native Cheats | ✕ | +| Controls | ✔ | +| Remapping | ✔ | +| Multi-Mouse | ✕ | +| Rumble | ✕ | +| Sensors | ✕ | +| Camera | ✕ | +| Location | ✕ | +| Subsystem | ✕ | +| [Softpatching](../guides/softpatching.md) | ✔ | +| Disk Control | ✕ | +| Username | ✕ | +| Language | ✕ | +| Crop Overscan | ✕ | +| LEDs | ✕ | + +## Directories + +The GameTank core's library name is 'GameTank' + +The GameTank core saves/loads to/from these directories. + +**Frontend's Save directory** + +| File | Description | +|:----------:|:-----------:| +| *.srm | Cartridge save RAM (`SAVE` carts) | +| *.xor | Flash cartridge writes, stored as an XOR against the original ROM. Same format as the standalone emulator | + +**Frontend's State directory** + +| File | Description | +|:----------:|:-----------:| +| *.state# | State | + +## Geometry and timing + +- The GameTank core's core provided FPS is 60 +- The GameTank core's core provided sample rate is 44191.9 Hz +- The GameTank core's base width is 170 (128 with side borders disabled) +- The GameTank core's base height is 128 +- The GameTank core's max width is 170 +- The GameTank core's max height is 128 +- The GameTank core's core provided aspect ratio is 4:3 (1:1 with side borders disabled) + +## Core options + +The GameTank core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded. + +- **Palette** [gametank_palette] (**Capture**|Scaled|HDMI|Legacy) + + Color palette used to convert the GameTank's 8-bit colors to RGB. + +- **Side borders (4:3)** [gametank_borders] (**enabled**|disabled) + + Pads the 128x128 picture to 4:3, filling each side of a line with the color of its last pixel. + +- **Instant blitter** [gametank_instant_blit] (**disabled**|enabled) + + Completes blitter operations immediately instead of over the cycles real hardware takes. + +## User 1 - 2 device types + +The GameTank core supports the following device type(s) in the controls menu, bolded device types are the default for the specified user(s): + +- **GameTank Controller** - Joypad + +## Joypad + +| RetroPad Inputs | User 1 - 2 input descriptors | +|------------------------------------------------|------------------------------| +| ![](../image/retropad/retro_b.png) | B | +| ![](../image/retropad/retro_y.png) | C | +| ![](../image/retropad/retro_start.png) | Start | +| ![](../image/retropad/retro_dpad_up.png) | D-Pad Up | +| ![](../image/retropad/retro_dpad_down.png) | D-Pad Down | +| ![](../image/retropad/retro_dpad_left.png) | D-Pad Left | +| ![](../image/retropad/retro_dpad_right.png) | D-Pad Right | +| ![](../image/retropad/retro_a.png) | A | +| ![](../image/retropad/retro_x.png) | C | + +## External links + +- [GameTank Website](https://gametank.zone) +- [Original GameTankEmulator Repository](https://github.com/clydeshaffer/GameTankEmulator) +- [Libretro GameTank Core info file](https://github.com/libretro/libretro-super/blob/master/dist/info/gametank_libretro.info) +- [Libretro GameTank GitHub Repository](https://github.com/SundownerSport/gametank-libretro) +- [Report Libretro GameTank Core Issues Here](https://github.com/SundownerSport/gametank-libretro/issues) diff --git a/mkdocs.yml b/mkdocs.yml index 52652a52be..7645f5680f 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -166,6 +166,8 @@ nav: - 'BBK electronic dictionary': - 'BBK - 4980/4988/5980 electronic dictionary': 'library/gam4980.md' - 'BBK - electronic dictionaries (BBKEmu)': 'library/bbkemu.md' + - 'Clydeware Emulation': + - 'Clydeware - GameTank (GameTank)': 'library/gametank.md' - 'ColecoVision Emulation': - 'ColecoVision (Gearcoleco)': 'library/gearcoleco.md' - 'ColecoVision/CreatiVision/My Vision (JollyCV)': 'library/jollycv.md'