diff --git a/docs/development/licenses.md b/docs/development/licenses.md index 78e548edb8..1f4d6143a0 100644 --- a/docs/development/licenses.md +++ b/docs/development/licenses.md @@ -177,7 +177,7 @@ See below for a summary of the licenses behind RetroArch and its cores: | Mupen64Plus | [GPLv3](https://github.com/libretro/mupen64plus-libretro/blob/master/LICENSE) | | | Mupen64Plus GLES3 | [GPLv3](https://github.com/libretro/mupen64plus-libretro/blob/master/LICENSE) | | | [Native32Emu](../library/native32emu.md) | [BSD-3-Clause](https://github.com/jiangxincode/Native32Emu/blob/master/LICENSE) | | -| [NicaiEmu](../library/nicaiemu.md) | [BSD-3-Clause](https://github.com/jiangxincode/NicaiEmu/blob/master/LICENSE) | | +| [CoolbarEmu](../library/coolbaremu.md) | [BSD-3-Clause](https://github.com/AloysHF/CoolbarEmu/blob/master/LICENSE) | | | Neko Project II | | | | Neko Project II Kai | [MIT](https://github.com/AZO234/NP2kai/blob/master/LICENSE) | | | [Nestopia](../library/nestopia.md) | [GPLv2](https://github.com/libretro/nestopia/blob/master/COPYING) | | diff --git a/docs/guides/core-list.md b/docs/guides/core-list.md index da4d8de301..2f1eafd10f 100644 --- a/docs/guides/core-list.md +++ b/docs/guides/core-list.md @@ -169,7 +169,7 @@ | [Mupen64Plus-Next GLES2](https://docs.libretro.com/library/mupen64plus/) | Nintendo 64 | | | [Mupen64Plus-Next GLES3](https://docs.libretro.com/library/mupen64plus/) | Nintendo 64 | | | [Native32Emu](../library/native32emu.md) | Sunplus Native32 | An emulator for the Sunplus Native32 game format used by DVD player and TV chipsets | -| [NicaiEmu](../library/nicaiemu.md) | MStar Nicai | An emulator for the MStar Nicai game format used by MStar feature phones | +| [CoolbarEmu](../library/coolbaremu.md) | Coolbar/CBE | An emulator for Coolbar/CBE applications on feature phones | | [Neko Project II](../library/nekop2.md) | NEC PC-98 | | | [Neko Project II Kai](../library/neko_project_ii_kai.md) | NEC PC-98 | | | [NeoCD](../library/neocd.md) | Neo Geo CD | | diff --git a/docs/library/coolbaremu.md b/docs/library/coolbaremu.md new file mode 100644 index 0000000000..6d7a3196e4 --- /dev/null +++ b/docs/library/coolbaremu.md @@ -0,0 +1,148 @@ +--- +title: "CoolbarEmu – Coolbar / CBE core for RetroArch" +description: "RetroArch CoolbarEmu core (Coolbar/CBE): core options, controls and save-state compatibility. CBE archives hold ARM/Thumb code and resources for Coolbar feature-phone applications with varying LCD sizes." +--- + +# Coolbar (CoolbarEmu) + +## Background + +CoolbarEmu is a Rust emulator for Coolbar/CBE applications on feature phones. CBE archives contain ARM/Thumb executable code and resources such as scenes, maps, images, audio and scripts. The core executes guest code and bridges the required firmware services. + +Application variants differ in byte order, firmware interfaces and LCD dimensions. Supported content is not limited to a single handset brand or one display resolution. The [project compatibility records](https://github.com/AloysHF/CoolbarEmu/blob/master/docs/Game-Compatibility.md) describe tested variants and remaining limitations. + +The CoolbarEmu core has been authored by: + +- Aloys + +The CoolbarEmu core is licensed under: + +- [BSD-3-Clause](https://github.com/AloysHF/CoolbarEmu/blob/master/LICENSE) + +A summary of the licenses behind RetroArch and its cores can be found [here](../development/licenses.md). + +## BIOS + +No BIOS or firmware files are required. + +## Extensions + +Content that can be loaded by the CoolbarEmu core has the following file extension: + +- .cbe + +No RetroArch content database is currently associated with this core. + +## Features + +Frontend-level settings or features that the CoolbarEmu 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 core reports the library name 'CoolbarEmu'. Its core-info display name is 'Coolbar (CoolbarEmu)', and its installed core filename is `coolbaremu_libretro.`. + +## Usage + +The CoolbarEmu core requires the full path to content, so content is loaded directly from disk rather than from memory. +Keep any companion resource files and directories beside the application in their original layout. + +The core reports a 60 Hz frontend pacing rate and advances guest screen logic at 10 Hz. Native LCD dimensions vary by application; automatic or manually selected orientation determines the presented geometry. + +Video is output in the XRGB8888 pixel format and audio is output as 44.1 kHz stereo. Save states, core options, and guest memory descriptors (system RAM and video RAM) are implemented. Guest MIDI audio is synthesized, and an auto-BGM compatibility layer can play the first packaged MIDI resource for games that never call the audio manager. + +Save states use the `CBARSTAT` signature. Previous state signatures and configuration identifiers are not supported; create new states and configure the renamed core afresh. + +## Core options + +The CoolbarEmu core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded. + +- **Audio Volume (%)** (**100**|90|80|70|60|50|40|30|20|10|0) + + Master playback volume. + +- **Touch/Pointer Input** (**enabled**|disabled) + + Whether mouse/touchscreen taps reach the guest. + +- **CPU/HLE Debug Logging** (**disabled**|enabled) + + Forward debug-level core logs to the frontend log. + +- **Auto BGM (packaged MIDI)** (**disabled**|enabled) + + Play the first packaged MIDI resource when the game never calls the audio manager. + +- **Screen Orientation** (**auto**|landscape|portrait) + + Override automatic presentation orientation. Pointer coordinates follow the selected orientation. + +The option keys are `coolbaremu_volume`, `coolbaremu_touch_input`, `coolbaremu_debug_logging`, `coolbaremu_auto_bgm` and `coolbaremu_screen_orientation`. + +Additional per-content orientation overrides can be placed in `coolbaremu_orientation.csv` in RetroArch's system directory. Each line is `crc32,length,orientation`, with a hexadecimal CRC32, decimal byte length and `landscape` or `portrait` orientation. + +## User 1 device types + +The CoolbarEmu core supports the following device type(s) in the controls menu, bolded device types are the default for the specified user(s): + +- **RetroPad** - Gamepad +- **Pointer** - Mouse / touchscreen + +## Joypad + +| RetroPad Inputs | User 1 input descriptors | +|------------------------------------------------|--------------------------| +| ![](../image/retropad/retro_b.png) | Confirm | +| ![](../image/retropad/retro_a.png) | Confirm | +| ![](../image/retropad/retro_x.png) | Left soft key | +| ![](../image/retropad/retro_y.png) | Right soft key | +| ![](../image/retropad/retro_start.png) | Confirm | +| ![](../image/retropad/retro_select.png) | Star (*) key | +| ![](../image/retropad/retro_l1.png) | Left soft key | +| ![](../image/retropad/retro_r1.png) | Right soft key | +| ![](../image/retropad/retro_dpad_up.png) | Up | +| ![](../image/retropad/retro_dpad_down.png) | Down | +| ![](../image/retropad/retro_dpad_left.png) | Left | +| ![](../image/retropad/retro_dpad_right.png) | Right | + +## Pointer + +| RetroPointer Inputs | CoolbarEmu Inputs | +|-------------------------------------------------------------------------------------------------------|-----------------| +| ![](../image/retromouse/retro_mouse.png) or ![](../image/Button_Pack/Gestures/Gesture_Finger_Front.png) Pointer Position | Pointer X/Y | +| ![](../image/retromouse/retro_left.png) or ![](../image/Button_Pack/Gestures/Gesture_Tap.png) Pointer Pressed | Press | + +## Compatibility + +Compatibility varies by CBE runtime and application. A completed boot or captured frame does not establish full gameplay. Online authentication, multiplayer, actual payments and remote content are unavailable; see the project compatibility records for per-file interaction and rendering limitations. + +## External links + +- [CoolbarEmu Repository](https://github.com/AloysHF/CoolbarEmu) +- [Libretro CoolbarEmu Core info file](https://github.com/libretro/libretro-super/blob/master/dist/info/coolbaremu_libretro.info) +- [Report Libretro CoolbarEmu Core Issues Here](https://github.com/AloysHF/CoolbarEmu/issues) diff --git a/docs/library/nicaiemu.md b/docs/library/nicaiemu.md deleted file mode 100644 index 38d1c00669..0000000000 --- a/docs/library/nicaiemu.md +++ /dev/null @@ -1,140 +0,0 @@ ---- -title: "NicaiEmu – Nicai core for RetroArch" -description: "RetroArch NicaiEmu core (Nicai): BIOS files, core options and controls. Nicai is a game format developed by MStar for feature phones (circa 2005–2011)." ---- - -# Nicai (NicaiEmu) - -## Background - -Nicai is a game format developed by MStar for feature phones (circa 2005–2011). Games are packaged as `.cbe` (Cool Bar Engine) container archives and run on ARM/Thumb hardware with a 240x400 (WQVGA) display. The games contain scenes, maps, actors, images, audio, and scripts executed by the XSE (eXecutable Script Engine) virtual machine. NicaiEmu is an emulator for this format written in Rust, with a libretro core front-end. - -The NicaiEmu core has been authored by: - -- Aloys - -The NicaiEmu core is licensed under: - -- [BSD-3-Clause](https://github.com/jiangxincode/NicaiEmu/blob/master/LICENSE) - -A summary of the licenses behind RetroArch and its cores can be found [here](../development/licenses.md). - -## BIOS - -No BIOS or firmware files are required. - -## Extensions - -Content that can be loaded by the NicaiEmu core have the following file extensions: - -- .cbe - -RetroArch database(s) that are associated with the NicaiEmu core: - -- Nicai - -## Features - -Frontend-level settings or features that the NicaiEmu 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 NicaiEmu core's library name is 'Nicai (NicaiEmu)' - -## Usage - -The NicaiEmu core requires the full path to content, so content is loaded directly from disk rather than from memory. - -Video is output in the XRGB8888 pixel format and audio is output as 44.1 kHz stereo. Save states, core options, and guest memory descriptors (system RAM and video RAM) are implemented. Guest MIDI audio is synthesized, and an auto-BGM compatibility layer can play the first packaged MIDI resource for games that never call the audio manager. - -## Core options - -The NicaiEmu core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded. - -- **Audio Volume (%)** (**100**|90|80|70|60|50|40|30|20|10|0) - - Master playback volume. - -- **Key Auto-Repeat Delay (frames)** (**10**|0|2|4|6|8|12|16|20|24|30|45|60) - - Frames a held key waits before repeating (at 30fps). - -- **Key Auto-Repeat Period (frames)** (**15**|1|2|3|4|5|6|8|10|12|20|30) - - Frames between repeat pulses once repeating. - -- **Touch/Pointer Input** (**enabled**|disabled) - - Whether mouse/touchscreen taps reach the guest. - -- **CPU/HLE Debug Logging** (**disabled**|enabled) - - Forward debug-level core logs to the frontend log. - -- **Auto BGM (packaged MIDI)** (**disabled**|enabled) - - Play the first packaged MIDI resource when the game never calls the audio manager. - -## User 1 device types - -The NicaiEmu core supports the following device type(s) in the controls menu, bolded device types are the default for the specified user(s): - -- **RetroPad** - Gamepad -- **Pointer** - Mouse / touchscreen - -## Joypad - -| RetroPad Inputs | User 1 input descriptors | -|------------------------------------------------|--------------------------| -| ![](../image/retropad/retro_b.png) | Confirm | -| ![](../image/retropad/retro_a.png) | Confirm | -| ![](../image/retropad/retro_x.png) | Left soft key | -| ![](../image/retropad/retro_y.png) | Right soft key | -| ![](../image/retropad/retro_start.png) | Confirm | -| ![](../image/retropad/retro_dpad_up.png) | Up | -| ![](../image/retropad/retro_dpad_down.png) | Down | -| ![](../image/retropad/retro_dpad_left.png) | Left | -| ![](../image/retropad/retro_dpad_right.png) | Right | - -## Pointer - -| RetroPointer Inputs | NicaiEmu Inputs | -|-------------------------------------------------------------------------------------------------------|-----------------| -| ![](../image/retromouse/retro_mouse.png) or ![](../image/Button_Pack/Gestures/Gesture_Finger_Front.png) Pointer Position | Pointer X/Y | -| ![](../image/retromouse/retro_left.png) or ![](../image/Button_Pack/Gestures/Gesture_Tap.png) Pointer Pressed | Press | - -## Compatibility - -Compatibility is limited to a subset of CBE applications. - -## External links - -- [NicaiEmu Repository](https://github.com/jiangxincode/NicaiEmu) -- [Libretro NicaiEmu Core info file](https://github.com/libretro/libretro-super/blob/master/dist/info/nicaiemu_libretro.info) -- [Report Libretro NicaiEmu Core Issues Here](https://github.com/jiangxincode/NicaiEmu/issues) diff --git a/mkdocs.yml b/mkdocs.yml index 42ac8bef02..39649cdf02 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -360,8 +360,8 @@ nav: - 'Sunplus Emulation': - 'Sunplus - Native32 (Native32Emu)': 'library/native32emu.md' - 'Sunplus - SPMP8000 (SPMP8000Emu)': 'library/spmp8000emu.md' - - 'MStar Emulation': - - 'MStar - Nicai (NicaiEmu)': 'library/nicaiemu.md' + - 'Coolbar Emulation': + - 'Coolbar (CoolbarEmu)': 'library/coolbaremu.md' - 'Texas Instruments Emulation': - 'Texas Instruments - TI-83 (Numero)': 'library/numero.md' - 'Thomson Emulation':