-
Notifications
You must be signed in to change notification settings - Fork 462
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #931 from dionoid/master
Added files for new Philips P2000T (M2000) core
- Loading branch information
Showing
7 changed files
with
152 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,3 +4,4 @@ | |
.DS_Store | ||
docs/.DS_Store | ||
.DS_Store | ||
.venv |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,142 @@ | ||
# Philips - P2000T (M2000) | ||
|
||
![](../image/core/m2000/machine.png) | ||
|
||
## Background | ||
|
||
The P2000T was Philips' first home computer, before they later switched to manufacturing MSX computers. The P2000T was a Z80-powered machine which launched in 1981 and was built like a tank. It featured an integrated keyboard, power supply, two cartridge slots and a very innovative and fast Mini-Cassette system (MDCR), which was fully automated and used mini tapes that could hold up to 42 kilobytes of data. | ||
|
||
The P2000T was reasonably popular among hobbyists and kids in elementary schools in The Netherlands, as Philips promoted the machine strongly in the science and education sectors. Because of the relatively high introductory price and the fact that its SAA5050 video chip only supported teletext display mode, the P2000T never became the success that Philips hoped for. | ||
|
||
While the system's video and sound capabilities were rather limited, some developers still were able to create remarkably good games, like a Pac-Man clone named "Ghosthunt", a Phoenix clone named "Fraxxon", a Lady Bug clone named "Lazy Bug" and a Breakout clone named "Brick-Wall". | ||
|
||
The P2000T (M2000) emulator core has been authored by: | ||
|
||
- Dion Olsthoorn | ||
- Marcel the Kogel (who wrote the original emulator back in 1997) | ||
|
||
and is licensed under: | ||
|
||
- [GPL3](https://github.com/p2000t/M2000/blob/main/LICENSE) | ||
|
||
A summary of the licenses behind RetroArch and its cores can be found [here](../development/licenses.md). | ||
|
||
## Extensions | ||
|
||
Content that can be loaded by the M2000 core have the following file extensions: | ||
|
||
- .cas | ||
- .p2000t | ||
|
||
## Features | ||
|
||
Frontend-level settings or features that the M2000 core respects: | ||
|
||
| Feature | Supported | | ||
|-------------------|:---------:| | ||
| Restart | ✔ | | ||
| Screenshots | ✔ | | ||
| 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 M2000 core's library name is 'M2000'. | ||
|
||
## Geometry and timing | ||
|
||
- The M2000 core's core provided FPS is `50` | ||
- The M2000 core's core provided sample rate is `30000` | ||
- The M2000 core's base width is `640` | ||
- The M2000 core's base height is `480` | ||
- The M2000 core's max width is `640` | ||
- The M2000 core's max height is `480` | ||
- The M2000 core's core provided aspect ratio is `4/3` | ||
|
||
## Usage | ||
|
||
Playing P2000T games using the M2000 core works best when the core is in **'Game Focus'** mode, which allows it to take precedence in inputs. The reason is that **every** P2000T game relies on keyboard input and even the buttons of the RetroPad controller are internally emulating actual key presses. | ||
|
||
The easiest way to automatically enable 'Game Focus' mode for the M2000 core is in **Settings > Input** where you set the option called **Auto Enable 'Game Focus' Mode** to `Detect`. Or correspondingly in retroarch.cfg set `input_auto_game_focus = "2"`. Be aware that the default hotkey for toggling the **Game Focus** mode is the **Scroll Lock** key, which might not be present on your keyboard. If that's the case, you'll need to remap it - for example to the **Tab** key. | ||
|
||
## User 1 device types | ||
|
||
The M2000 core supports the following device type(s) in the controls menu, bolded device types are the default for the specified user(s): | ||
|
||
- **RetroKeyboard** - Keyboard. Keyboard inputs are always active. | ||
- RetroPad - Joypad. The buttons are internally mapped to actual key presses (see information below). | ||
|
||
## Joypad | ||
|
||
| RetroPad Inputs | P2000T | | ||
|---------------------------------------------|-----------| | ||
| ![](../image/retropad/retro_a.png) | Space | | ||
| ![](../image/retropad/retro_b.png) | Space | | ||
| ![](../image/retropad/retro_start.png) | < START > | | ||
| ![](../image/retropad/retro_select.png) | < STOP > | | ||
| ![](../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 | | ||
|
||
### Joypad remapping for games that use alternative keys (e.g. Fraxxion) | ||
|
||
Some P2000T games use alternative keys for navigation. An example is Fraxxion, which uses the **Left** and **Up** keys to move the spaceship horizontally, which was probably done for better control on the original P2000T keyboard. | ||
To be able to use the D-pad for horizontal movement in the emulator, you should start Fraxxion, then open the menu and go to **Quick Menu > Controls > Port 1 Controls** and remap **D-Pad Right** to RetroPad **Up**. Now return to **Quick Menu > Controls**, click **Manage Remap Files** and select **Save Game Remap File** to save the remapping for Fraxxion only. | ||
|
||
## Keyboard | ||
|
||
| RetroKeyboard Inputs | P2000T Key | | ||
|------------------------------|---------------------------| | ||
| Keyboard a .. z | a .. z | | ||
| Keyboard 0 .. 9 | 0 .. 9 | | ||
| Keyboard Backspace | Backspace | | ||
| Keyboard Return | Enter | | ||
| Keyboard Space | Space | | ||
| Keyboard Double Quote " | Double Quote " | | ||
| Keyboard Slash / | Slash / | | ||
| Keyboard Question ? | Question ? | | ||
| Keyboard Comma , | Comma , | | ||
| Keyboard Minus - | Minus - | | ||
| Keyboard Period . | Period . | | ||
| Keyboard Underscore _ | Underscore _ | | ||
| Keyboard Backquote ` | < CODE > | | ||
| Keyboard Keypad 0 .. 9 | 0 .. 9 | | ||
| Keyboard Keypad Period . | Period . | | ||
| Keyboard Keypad Enter | Enter | | ||
| Keyboard Up | Up | | ||
| Keyboard Down | Down | | ||
| Keyboard Right | Right | | ||
| Keyboard Left | Left | | ||
| Keyboard F1 | < START > | | ||
| Keyboard F2 | < STOP > | | ||
| Keyboard F3 | < ZOEK > | | ||
|
||
## External Links | ||
|
||
- [Libretro M2000 Core info file](https://github.com/libretro/libretro-super/blob/master/dist/info/m2000_libretro.info) | ||
- [Official M2000 Github Repository](https://github.com/p2000t/M2000) | ||
- [Report M2000 Issues Here](https://github.com/p2000t/M2000/issues) | ||
- [Wikipedia page on the Philips P2000T](https://en.wikipedia.org/wiki/Philips_P2000#P2000T) | ||
- [P20000T documentation](https://github.com/p2000t/documentation) | ||
- [P20000T game collection](https://github.com/p2000t/software/tree/master/cassettes/games) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters