Mazamars312 / openfpga-pcengine-cd

The openFPGA PCECD Core
GNU General Public License v2.0
60 stars 6 forks source link

PC Engine CD 0.2.3 Beta for Analogue Pocket

This is a release of the 0.2.3 Beta version, has a requirement of the new Analogue Firmware 2.3 (2024-09-10) for all feactures to work.

No lower firmware will work with this core and functions added to it.

Ported from the core originally developed by Gregory Estrade and heavily modified by @srg320 and @greyrogue. Then this was ported over to the Pocket by Agg233 . Core icon based on TG-16 icon by spiritualized1997 and many fixes by @dshadoff. The port is based from the Mister system and the latest upstream available at https://github.com/MiSTer-devel/TurboGrafx16_MiSTer"

Please report any issues encountered to this repo. Most likely any problems are a result of my port, not the original core. Issues will be upstreamed as necessary.

There is still a lot to be done in this core as there is still a lot to do. It was always more of a display core on what the pocket can do.

PLEASE NOTE THAT CHD FILES WILL NOT BE SUPPORTED. Many times I have ben asked. But I have always said that the MPU is only a small processer with about 64K of RAM, which Im already using 90% of that for this core. CHD uses a lot of compression that would slow down the processor and will cause a lot of overhead.

What will be in the next release?

What is left after this build?

Change log from 0.2.0:

Change log from 0.1.7:

Known Bugs:

Change log from 0.1.6:

Notices For running this core

Installation and Usage

Easy mode setup

I highly recommend the updater tools with JSON Generations are done by @mattpannella and @Monkeymad2. Im sure that RetroDriven will be updated soon.

Manual mode setup

Download the core by clicking Releases on the right side of this page, then download the mazamars312.*.zip file from the latest release.

To install the core, copy the Assets, Cores, and Platform folders over to the root of your SD card. Please note that Finder on macOS automatically replaces folders, rather than merging them like Windows does, so you have to manually merge the folders.

Make sure you have the HuCard bios for the CDRomII in the \Assets\pcecd\common folder

The CUE/BIN Files are also stored in the \Assets\pcecd\common folders and it is recommended to have them in their own folders

Then you need to setup the JSON files for the pocket to know which CUE/BIN files are to be used

JSON Manual mode creation - No longer needed

in the assets\pcecd\Mazamars312.PC Engine CD folder there a image_template.json file. depending on how many BIN files files is how many dataslots you use and folder location.

If you do have any issues loading images, you can in the Analouge menu turn on the file debugging (Tools\Developer\Debug Logging) then try to load the JSON.

Once the error happens, you can then go into the SDCARD then to the folders \system\logs\Mazamars312.pcecddate_time to see what happened in the loading process. this can help to see if you have the file names incorrect.

Make sure you then turn off the debugging once fixed as it will slow down access and fill up your SDCARD with logs.

An Error code will come up advising which Data slot is causing the issue.

Features

Dock Support

Core supports four players/controllers via the Analogue Dock. To enable four player mode, turn on Use Turbo Tap setting.

6 button controller

Some games support a 6 button controller. For those games, enable the Use 6 Button Ctrl option in Core Settings. Please note that this option can break games that don't support the 6 button controller, so turn it off if you're not using it.

Controller Turbo

Like the original PC Engine controllers, this core supports multiple turbo modes. Adjust the I and II button turbo modes, and use the X and Y buttons (by default) as your turbo buttons. Note that the original PCE controllers had the turbo on the I and II buttons directly, rather than having separate buttons, but since the Pocket has more than just two, we use them for the turbo.

Video Modes

The PC Engine is unique in that it can arbitrarily decide what resolution to display at. The Pocket is more limited, requiring fixed resolutions at all times. I've tried to compromise and cover the most common resolutions output by the PCE, but some are better supported than others. You should see the video centered on the screen with surrounding black bars on some resolutions, but the aspect ratios should be correct.

Video Options

Audio Options

The core can be quiet in some games, so there are options to boost the master audio (Master Audio Boost) and ADPCM channels (PCM Audio Boost) And CDROM Channels ("CD Audio Boots").

Memory Cards

Instead of sharing a memory card (as you would in real life), each game gets its own save file and therefore memory card. Some games don't have the ability to initialize a memory card, so each newly created save file is pre-initialized for use.

What is not done

Licensing

All source included in this project from me or the MiSTer project is licensed as GPLv2, unless otherwise noted. The original source for FPGAPCE, the project this core is based off of, is public domain. The contents of the public domain tweet are reproduced here:

Indeed. The main reason why I haven't provided a license is that I didn't know how to deal with the different licenses attached to parts of the cores. Anyway, consider my own source code as public domain, i.e do what you want with it, for any use you want. (1/2)

Additionally, he wrote:

If stated otherwise in the comments at the beginning of a given source file, the license attached prevails. That applies to my FPGAPCE project (https://github.com/Torlus/FPGAPCE).