GithubHelp home page GithubHelp logo

agg23 / openfpga-snes Goto Github PK

View Code? Open in Web Editor NEW
372.0 30.0 14.0 3.08 MB

SNES for the Analogue Pocket

License: GNU General Public License v3.0

Verilog 9.40% Tcl 4.03% Fortran 0.01% Shell 3.26% VHDL 73.35% SystemVerilog 8.83% PowerShell 0.05% Assembly 1.09%
analogue-pocket fpga openfpga snes hacktoberfest

openfpga-snes's Introduction

SNES for Analogue Pocket

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.

openfpga-snes's People

Contributors

agg23 avatar iequalshane avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openfpga-snes's Issues

Castlevania - Dracula X crashing core

Trying to run Castlevania - Dracula X, I get a blank screen after load, the when trying to quit the core, it won't exit and I have to hard reboot the pocket

Lufia 2 (USA ) Anybody got it working?

Hey,

I tried a lot of roms and everything seems to be working really fine. The only issue I encountered until now was Lufia 2 (USA). I tried the rom on other systems and it worked. It boots up shows the publisher screen and disclaimer, then the screen stays black. Does anyone else have this issue or could check if it works on their pocket?
I'm happy to help and provide debug information or run some test cases.

Cheers and thanks for the good work!

crackling and popping audio

It’s very faint, but, crackling and popping audio is audible and especially noticeable when listening on headphones. Noticed on star Fox 2 intro menu, and on Super Metroid.

PAL doesn't support multiple image heights

noticing some glitching at the bottom of the screen on a few games in the snes core, including Super Adventure Island and Zelda: LttP. Attempting to attach pics showing the issues

BFFB276B-CBE6-406E-8093-5135F1964A9B
13258000-F976-4B57-87B4-28482DFDCC05

Megaman X2 Overdrive Ostrich

When fighting Overdrive Ostrich in Megaman X2 he will occasionally shoot a sonic slicer at you from his mouth. Normally this will move towards you but on this core it just hovers in mid air.

Super Smash T.V. (USA) Input Button Mapping Issue

Pressing "Y" pauses the game and adds a 2nd player. It's almost as if "Y" is also mapped to "START" on a 2nd controller. But I'm only playing on the Pocket. I also tested with "Use Multitap" on and off, with the same results. I don't believe this issue existed in the previous build as I was successfully playing the game prior to updating to 0.3.0.

Sleep/Savestates/Memories support?

When I try to do sleep mode on my Analogue Pocket, it says it's not supported by this cartridge, and offers to power off instead. Is it possible to add support for sleep?

Occasional audio cracking (intermittent?) + Mortal Kombat II having weird warped controls

Hey, first off, thank you for this core, it's a pleasure to play and it's running very well so far!

The first game I tried with the core was Chrono Trigger, and as soon as the pendulum showed, I started hearing some small sound cracks here and there. The kind of sound you hear when a sound is too loud for a speaker for example, but still there no matter if the volume is high/low. It wasn't due to any sounds in particular because I was hearing those even in total silence, for example when transitioning from the world map to the fair or the forest. (EDIT: Just attached a video where it did it in a percectly silent moment after rescuing Marle for the first time.)

received_5506292116072811.mp4

I tried a bunch of other games like Turtles in Times, Space Megaforce, Killer Instinct, Castlevania Dracula X, Star Fox, some had very few of these stutters the first minute in, then were totally fine for the rest of the gameplay.

Before reporting it here, I tried Chrono Trigger again, and this time, it sounded perfectly normal, suggesting an intermittent problem maybe? (EDIT: Apparently even if it doesn't do it in the beginning, it seems it can happen later on. I had a two hours Chrono Trigger session and these are coming out randomly.)

I'm using a fairly old 4GB SD cart, so it could be this acting up, therefore I just ordered a new one to try it out and will report back when it. Adam asked to post the issue anyway, so here I am. :)

Another weird thing that happened is that when I tried playing Mortal Kombat II for a first time and my first match's second round ended with me having 3 face buttons mapped as 'block'. When I retried it later on the evening, it didn't do it. So another weird one!

Pocket Firmware: 1.1-beta-3
All the ROMs used on this were dumped from the original cartridges via the COPYSNES application on the Super Nt's latest jailbreak firmware.

Don't hesitate if you have any questions!

Soft lock going back too many times in Load SMC menu

Affects 0.1.0.

  • Load core
  • Load game
  • Press Analogue button
  • Core Settings -> Load SMC
  • Press B, B, B to go back, back, back
  • Console is now soft-locked with the menu flashing on and off
  • Must hold down the power button to power off

It might be good if there was a way to exit the Load SMC menu without loading another game, ie. cancel that operation. As things stand you can hide the menu with the Analogue button, but you're still in the Load SMC menu when you press it again.

Super Godzilla display issue

Snes Super godzilla ntsc rom displays a line at the top of the screen. It looks like the display is shifted down a frame, the bottom of the screen is cut a bit short.
All current versions of pocket OS and agg23 software as of 9/30/22

DSP Games Not loading?

Cannot get Super Mario Kart or Pilot Wings to boot on new update. After load status bar completes on either game, I'm just getting a blank black screen, no sound. Other games using the SA-1 and Super FX games running great.

No .srm save support

Currently there is no support for saves with the .srm extension, they have to be .sav

.srm saves work when renamed to .sav but it would be nice for people to be able to move saves around from other ways of play (emulators, SD2SNES/FX Pak etc)

Device not supported error upon NBA Jam Launch with 0.3.0 core.

With the 0.3.0 SNES Core and B6 Firmware (9/28) I get the following error message when loading several versions of NBA Jam. (USA, USA Rev 1, and NBA Jam -Tournament Edition (USA))

"A device not supported by this program has been connected. Please use the standard controller only"

Does not reproduce on the 0.1.0 or 0.2.0 cores on either the latest or n-1 firmware and it seems limited to the 0.3.0 core. I haven't modified any files or settings but reset the settings anyway without any success.

Pilotwings Glitching

The game loads fine but when you start to actually do an event, the game starts glitching. Unplayable.

Kyuuyaku Megami Tensei is Crashing possibly.

When attempting to use the core it shows the Atlus logo but after attempting both letting it play and pressing any button to skip, it leads to a black screen where no audio plays, not even a hanging note. Attempted to use both an English patched version and then unpatched version to same result, no saves or anything attempted to be brought over. The analogue button still works and allows me to quit out.

Romance of the Three Kingdoms II visual noise

For Romance of the Three Kingdoms II, there is a horizontal line across the top that does not disappear, starting in load up screen and remaining throughout gameplay. This exact rom does not display this line on Super NT or SD2snes.

A5FD07D6-5266-4E72-8F55-77D2FFC6D048

The 4:3 display aspect ratio is not correct.

Currently the 4:3 Display Aspect Ratio (DAR) is inaccurate to what a NTSC SNES’s video outputs. It should be 64:49 for games that have a vertical resolution of 224

Like the NES the SNES’s Pixel Aspect Ratio (PAR) is 8:7 in 256 horizontal resolution modes. The pixels are cut in half vertically in the high resolution 512 horizontal resolution modes - this give a PAR of 4:7.

(PAR)x(horizontal resolution/vertical resolution)=DAR

(8/7)x(256/224)=64/49

(4/7)x(512/224)=64/49

Super Starwars fails to load after end of first level

Game loads OK but when finishing the first level, the game locks up after the points/time bonus have finished counting down (Stage Clear screen). Cannot get past this screen.
This happens on release 0.3.1 with and without headers on the ROM.

Super Famicom save files

This core recognizes Super Famicom ROMs, but it doesn't seem to recognize any previous Super Famicom save files. It only recognizes my SNES save files for some reason.

Please help!

Half screen issue

After updating to the latest version I now have half a screen on every game.
20220919_232225

Core does not find existing save when running same exact rom in a different folder

This is a quality of life issue, but many people will probably experience this. I have my roms organized alphabetically, but also by genre. So, when I was browsing, I first ran the Zelda rom from my Genre folder, saved the game. Next time I opened the exact same rom from the alphabetical folder, and it did not find my previous save. Had to keep selecting the rom from the same subfolder, otherwise it counted as a different save.

U.N Squadron

After .smc file load it throw error "Error in FrameworkFile ID [10] File too large.

Live a Live Eng Patch v2.0 translation loads to black screen

Game boots to either a black screen or a black screen with a line of pixels on top.

Using fresh rom from No-Intro (has no header) + Aeon Genesis 2.0 English translation patch, I receive the above issues.
This does not happen on a non-patched JPN rom, or using the older 1.0 translation patch. Also verified the 2.0 patched rom runs in BSNES/higan.
Original:
original
Patched (with 2.0 translation):
patched

DoReMi Fantasy not working

DoReMi Fantasy not working.

Works flawlessly on original SNES via flashcart, Super Nt, and various emulators.
Japanese title: Doremi Fantasy - Milon no DokiDoki Daibouken

Startup error on Megaman X2/3 - CX4?

Both games throw an error at startup, I assume it's CX4 related as X3 is missing the spotlight effects during the intro. Game continues to intro after the IMMEDIATE ROM - ERROR screen. I don't have the dock so I can't invoke the CX4 menu via secondary controller, only making an issue as CX4 was listed on the initial release of supported chips

Chrono Trigger

After .smc file load it throw error "Error in FrameworkFile ID [10] File too large.

Final Fantasy 5 with English translation patch 1.10 doesn't load

Final Fantasy 5 with the English 1.10 translation patch doesn't load past the opening screen. During the opening sequence you can normally press the controller buttons to get to the load save/new game screen. However, as the opening screen fades out the music volume lowers but then stays playing as the screen goes to black and remains that way. You are unable to progress beyond this point. Japanese untranslated version loads fine.

A, B, X, and Y Buttons are mapped incorrectly.

Tested in super Mario world. When the user presses Y while moving, they should sprint, not jump. When I press the button that should be B, the user spin jumps (spin jump should be A) but B should be regular jump.

So A, B, X, and Y are mixed up.

Reset option

Add a Core Setting to reset the core, same as pressing the reset button on the console

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.