Skip to content

SNES for the Analogue Pocket with support for the Analogizer adapter

License

Notifications You must be signed in to change notification settings

RndMnkIII/openfpga-SNES-Analogizer

 
 

Repository files navigation

ADAPTED FOR ANALOGIZER: SNES for Analogue Pocket

Adapted to Analogizer by @RndMnkIII based on agg23 SNES for Analogue Pocket Core.

Analogizer interface code includes code from Mist project (Scandoubler), from MiSTer project (YPbPr) and from Mike Simone Y/C adapter project (Y/C and Phase Color settings).

  • [1.0.0] Analogizer support added by RndMnkIII. See more in the Analogizer main repository: Analogizer [13/05/2024]. Fixed sync jitter. The core now can output RGBS, RGsB, YPbPr, Y/C, Composite video and SVGA scandoubler (50% scanlines) video signals.
  • [1.0.1] Fixed some errors. Now YPbPr video mode should be work on TV's withSync dejitter setting Enabled [21/05/2024].
  • [1.0.2] Fixed last vertical line showed in the first column. Added PSX digital/DS/DS2 SNAC support (SCPH-1010, SPCH-1080,SCPH-1180, SCPH-1200, SCPH-10010 and clones).[31/12/2024].
Video output Status SOG Switch(Only R2,R3 Analogizer)
RGBS Off
RGsB On
YPbPr* ✅🔹 On
Y/C NTSC* Off
Y/C PAL* Off
Scandoubler Off

🔹 Tested with Sony PVM-9044D

🎮 Analogizer A/B config Switch Status
DB15 A
NES A
SNES A
PCENGINE A
PCE MULTITAP A
PSX DS/DS2 Digital DPAD B
PSX DS/DS2 Analog DPAD B

* Needs to enable Sync dejitter option in menu Core

The Analogizer interface allow to mix game inputs from compatible SNAC gamepads supported by Analogizer (DB15 Neogeo, NES, SNES, PCEngine, PSX) with Analogue Pocket built-in controls or from Dock USB or wireless supported controllers (Analogue support).

All Analogizer adapter versions (v1, v2 and v3) has a side slide switch labeled as 'A B' that must be configured based on the used SNAC game controller. For example for use it with PSX Dual Shock or Dual Shock 2 native gamepad you must position the switch lever on the B side position. For the remaining game controllers you must switch the lever on the A side position. Be careful when handling this switch. Use something with a thin, flat tip such as a precision screwdriver with a 2.0mm flat blade for example. Place the tip on the switch lever and press gently until it slides into the desired position:

     ---
   B|O  |A  A/B switch on position B
     ---   
     ---
   B|  O|A  A/B switch on position A
     ---

The following options exist in the core menu to configure Analogizer:

  • SNAC Adapter List: None, DB15,NES,SNES,PCE,PCE Multitap, SNES swap A,B<->X,Y buttons, PSX (Digital DPAD), PSX (Analog DPAD), PSX (P1 Lightgun). The Lightgun option uses PSX Analogic stick as SNES Lightgun aiming track.

  • SNAC Controller Assignment List: several options about how to map SNAC controller to Pocket controls. The controls not mapped to SNAC by default will map to Pocket connected controllers (Pocket built-in or Dock).

  • Analogizer Video Out List: you can choose between RGBS (VGA to SCART), RGsB (works is a PVM as YPbPr but using RGB color space), YPbPr (for TV with component video input), Y/C NTSC or PAL (for SVideo o compositive video using Y/C Active adapter by Mike S11), RGBHV for SVGA monitor Scandouble video output.

  • Analogizer is responsible for generating the correct encoded Y/C signals from RGB and outputs to R,G pins of VGA port. Also redirects the CSync to VGA HSync pin. The required external Y/C adapter that connects to VGA port is responsible for output Svideo o composite video signal using his internal electronics. Oficially only the Mike Simone Y/C adapters (active) designs will be supported by Analogizer and will be the ones to use.

Support native PCEngine/TurboGrafx-16 2btn, 6 btn gamepads and 5 player multitap using SNAC adapter and PC Engine cable harness (specific for Analogizer). Many thanks to Mike Simone for his great Y/C Encoder project.

For output YPbPr component video you need Analogizer R2 revision with SOG (Sync On Green) switch in ON position and select in Pocket's Menu: Analogizer Video Out > YPbPr or Analogiizer Video Out > YPbPr,Pocket OFF. Must be enabled Sync dejitter option, specific for SNES core, if this option is not enabled, surely no image or scrambled image will be show.

For output Scandoubler SVGA video you need to select in Pocket's Menu: Analogizer Video Out > Scandoubler RGBHV.

For output Y/C video you need to select in Pocket's Menu: Analogizer Video Out > Y/C NTSC or Analogizer Video Out > Y/C NTSC,Pocket OFF.

You will need to connect an active VGA to Y/C adapter to the VGA port (the 5V power is provided by VGA pin 9). I'll recomend one of these (active):

Using another type of Y/C adapter not tested to be used with Analogizer will not receive official support.

I'll recomend also read this guide for MiSTer FPGA but can applied to Analogizer: MiSTer FPGA Documentation: Using Your CRT With MiSTer

===================================================================== Ported from the original core developed by srg320 (Patreon). Latest upstream available at https://github.com/MiSTer-devel/SNES_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.

Warning

Savestates/Memories/Sleep not supported

Savestates/Memories/Sleep are not supported by any FPGA SNES core. Not this one, not the MiSTer core it's ported from, not the Analogue Super NT one.

Support for savestates will not be coming to any of these cores. Do not ask. If you would like to learn more, see issue #59 and this discussion on the MiSTer forums.

Installation

Easy mode

I highly recommend the updater tools by @mattpannella and @RetroDriven. If you're running Windows, use the RetroDriven GUI, or if you prefer the CLI, use the mattpannella tool. Either of these will allow you to automatically download and install openFPGA cores onto your Analogue Pocket. Go donate to them if you can

Manual mode

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.

Usage

ROMs should be placed in /Assets/snes/common. Both headered and unheadered ROMs are now supported.

Features

Dock Support

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

Expansion Chips

All original expansion chips supported by MiSTer are also supported on the Pocket. The full list is:

  • SA-1 (Super Mario RPG)
  • Super FX/GSU-1/2 (Star Fox)
  • DSP (Super Mario Kart)
  • CX4 (Mega Man X 2)
  • S-DD1 (Star Ocean)
  • SPC7110 (Far East of Eden)
  • ST1010 (F1 Roc 2)
  • BSX (Satellaview)

The Super Game Boy, ST011 (Hayazashi Nidan Morita Shougi), and ST018 (Hayazashi Nidan Morita Shougi 2) are not supported in the MiSTer core, and therefore are not supported here. Additionally, the homebrew MSU expansion chip is not currently supported.

BSX

BSX ROMs must be patched to run without BIOS. The BSX BIOS is not currently supported

Savestates/Memories/Sleep

Warning: Not supported

Savestates/Memories/Sleep are not supported by any FPGA SNES core. Not this one, not the MiSTer core it's ported from, not the Analogue Super NT one.

Support for savestates will not be coming to any of these cores. Do not ask. If you would like to learn more, see issue #59 and this discussion on the MiSTer forums.

Video

  • Square Pixels - The internal resolution of the SNES is a 8:7 pixel aspect ratio (wide pixels), which roughly corresponds to what users would see on 4:3 display aspect ratio CRTs. Some games are designed to be displayed at 8:7 PAR (the core's default), and others at 1:1 PAR (square pixels). The Square Pixels option is provided to switch to a 1:1 pixel aspect ratio
  • Pseudo Transparency - Enable blending of adjacent pixels, used in some games to simulate transparency

Turbo

  • CPU Turbo - Applies a speed increase to the main SNES CPU. NOTE: This has different compatibility with different games. See the MiSTer list of games that this feature works with
  • SuperFX Turbo - Applies a speed increase to the GSU (SuperFX) chip. Can be used in addition to the CPU Turbo option in games like Star Fox to maintain a higher frame rate.

Controller Options

There are several options provided for selecting which type of controller the core will emulate.

  • Gamepad - The standard SNES controller used with most games.
  • Super Scope - The Super Scope lightgun that's used with most lightgun games. See Lightguns for more details.
  • Justifier - The Justifier lightgun that's used with Lethal Enforcers. See Lightguns for more details.
  • Mouse - The SNES mouse that's used with Mario Paint and several other games. See SNES Mouse for more details.

Lightguns

Core supports virtual lightguns by selecting the Super Scope or Justifier options under Controller Options. Most lightgun games user the Super Scope but Lethal Enforcers uses the Justifier. The crosshair can be controlled with the D-Pad or left joystick, using the A button to fire and the B button to reload. D-Pad aim sensitivity can be adjusted with the D-Pad Aim Speed setting.

NOTE: Joystick support for aiming only appears to work when a controller is paired over Bluetooth and not connected to the Analogue Dock directly by USB.

SNES Mouse

Core supports a virtual SNES mouse by selecting Mouse under Controller Options. The mouse can be moved with the D-Pad or left joystick and left and right clicks can be performed by pressing the A and B buttons respectively. Mouse D-Pad movement sensitivity can be adjusted with the D-Pad Aim Speed setting.

NOTE: The dock firmware doesn't currently support a USB mouse.

About

SNES for the Analogue Pocket with support for the Analogizer adapter

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • VHDL 65.2%
  • Verilog 15.5%
  • SystemVerilog 11.8%
  • Tcl 3.6%
  • Shell 2.9%
  • Assembly 1.0%