Skip to content
Open
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
1 change: 1 addition & 0 deletions docs/development/licenses.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,7 @@ See below for a summary of the licenses behind RetroArch and its cores:
| [Handy](../library/handy.md) | [zlib](https://github.com/libretro/libretro-handy/blob/master/lynx/license.txt) | |
| [Holani](../library/holani.md) | [GPLv3](https://github.com/LLeny/holani-retro/blob/main/LICENSE) | |
| [Hatari](../library/hatari.md) | [GPLv2](https://github.com/libretro/hatari/blob/master/readme.txt) | |
| [HyperScanEmu](../library/hyperscanemu.md) | [BSD-3-Clause](https://github.com/AloysHF/HyperScanEmu/blob/master/LICENSE) | |
| [hatariB](../library/hatarib.md) | [GPLv2](https://github.com/bbbradsmith/hatariB/blob/main/LICENSE) | |
| [higan Accuracy](../library/higan_accuracy.md) | [GPLv3](https://gitlab.com/higan/higan/blob/master/LICENSE.txt) | |
| [Imageviewer](../library/imageviewer.md) | [MIT](https://github.com/libretro/RetroArch/blob/master/cores/libretro-imageviewer/LICENSE) | |
Expand Down
1 change: 1 addition & 0 deletions docs/guides/core-list.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@
| HBMAME | Arcade/Console/various | HBMAME (HomeBrew MAME) is a derivative of MAME, and contains various hacks and homebrews |
| [higan Accuracy](../library/higan_accuracy.md) | Nintendo SNES/SFC/Game Boy/Color | |
| [Holani](../library/holani.md) | Atari Lynx | |
| [HyperScanEmu](../library/hyperscanemu.md) | Mattel HyperScan | An emulator for the Mattel HyperScan console (Sunplus SPG290) |
| Imageviewer | Imageviewer | A basic core for viewing still images in a libretro frontend |
| Ishiiruka | Nintendo GameCube/Wii | |
| JAXE | CHIP-8/S-CHIP/XO-CHIP | |
Expand Down
1 change: 1 addition & 0 deletions docs/library/bios.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ GameBoy Advance | gpSP | [BIOS information](gpsp.md#
GameBoy Advance | mGBA | [BIOS information](mgba.md#bios)
GameBoy Advance | VBA Next | [BIOS information](vba_next.md#bios)
Gamecube/Wii | Dolphin | [BIOS information](dolphin.md#bios)
HyperScan | HyperScanEmu | [BIOS information](hyperscanemu.md#requirements)
Intellivision | FreeIntv | [BIOS information](freeintv.md#bios)
Lynx | Beetle Lynx | [BIOS information](beetle_lynx.md#bios)
Lynx | Handy | [BIOS information](handy.md#bios)
Expand Down
118 changes: 118 additions & 0 deletions docs/library/hyperscanemu.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
# HyperScan (HyperScanEmu)

## Background

The HyperScan is a 2006 Mattel home console built around the Sunplus SPG290 SoC (S+Core 7 CPU). Games ship on CD with optional RFID save cards. HyperScanEmu is an evidence-driven, clean-room emulator for this platform written in Rust, with a libretro core front-end.

The HyperScanEmu core has been authored by:

- Aloys

The HyperScanEmu core is licensed under:

- [BSD-3-Clause](https://github.com/AloysHF/HyperScanEmu/blob/master/LICENSE)

A summary of the licenses behind RetroArch and its cores can be found [here](../development/licenses.md).

## Requirements

[Required firmware files](https://docs.libretro.com/library/bios/) go in the frontend's system directory:

| Filename | Description | md5sum |
|:-----------------:|:------------------------------------------:|:------:|
| spg290.bin | SPG290 internal ROM (32768 bytes) - Required | |
| hyperscan.bin | HyperScan BIOS (1048576 bytes) - Required | |

Firmware and game media are never distributed with the core. Obtain and dump them legally from hardware and media you own.

## Extensions

Content that can be loaded by the HyperScanEmu core have the following file extensions:

- .bin
- .cue
- .zip

RetroArch database(s) that are associated with the HyperScanEmu core:

- HyperScan

## Features

Frontend-level settings or features that the HyperScanEmu core respects:

| Feature | Supported |
|-------------------|:---------:|
| Restart | ✔ |
| Saves | ✕ |
| States | ✕ |
| Rewind | ✕ |
| Netplay | ✕ |
| Core Options | ✕ |
| [Memory Monitoring (achievements)](../guides/memorymonitoring.md) | ✕ |
| 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 HyperScanEmu core's library name is 'HyperScan (HyperScanEmu)'

## Geometry and timing

- The HyperScanEmu core's core provided FPS is NTSC (60)
- The HyperScanEmu core's core provided sample rate is 48000 Hz
- The HyperScanEmu core's base width is 640
- The HyperScanEmu core's base height is 480

## Usage

The HyperScanEmu core requires the full path to content (it loads complete BIN/CUE/ZIP disc packages), so content is loaded directly from disk rather than from memory.

Video is output in the XRGB8888 pixel format. Audio uses the DAC ring-buffer path (16-bit PCM); the hardware synthesizer is not yet implemented.

Boot progress currently reaches retail game loading screens. Title/menu and gameplay have not been validated yet. See the [Game Compatibility](https://github.com/AloysHF/HyperScanEmu/blob/master/docs/Game-Compatibility.md) matrix for recorded results.

## User 1 device types

The HyperScanEmu core supports the following device type(s) in the controls menu, bolded device types are the default for the specified user(s):

- **RetroPad** - Gamepad

## Joypad

Two controllers are supported. Each pad maps to the HyperScan dual I²C controller:

| RetroPad Inputs | User 1/2 input descriptors |
|----------------------------------------|----------------------------|
| ![](../image/retropad/retro_b.png) | Red |
| ![](../image/retropad/retro_y.png) | Yellow |
| ![](../image/retropad/retro_x.png) | Blue |
| ![](../image/retropad/retro_a.png) | Green |
| ![](../image/retropad/retro_start.png) | Start |
| ![](../image/retropad/retro_select.png)| Select |
| ![](../image/retropad/retro_l1.png) | Left shoulder |
| ![](../image/retropad/retro_r1.png) | Right shoulder |
| ![](../image/retropad/retro_l2.png) | Left trigger |
| ![](../image/retropad/retro_r2.png) | Right trigger |
| ![](../image/retropad/retro_left_stick.png) X | Analog stick X |
| ![](../image/retropad/retro_left_stick.png) Y | Analog stick Y |

## External links

- [HyperScanEmu Repository](https://github.com/AloysHF/HyperScanEmu)
- [Libretro HyperScanEmu Core info file](https://github.com/libretro/libretro-super/blob/master/dist/info/hyperscanemu_libretro.info)
- [Report Libretro HyperScanEmu Core Issues Here](https://github.com/AloysHF/HyperScanEmu/issues)
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,7 @@ nav:
- 'Magnavox Emulation':
- 'Magnavox - Odyssey2 / Philips Videopac+ (O2EM)': 'library/o2em.md'
- 'Mattel Emulation':
- 'Mattel - HyperScan (HyperScanEmu)': 'library/hyperscanemu.md'
- 'Mattel - Intellivision (FreeIntv)': 'library/freeintv.md'
- 'Microsoft Emulation':
- 'Microsoft - MSX (fMSX)': 'library/fmsx.md'
Expand Down
Loading