Factor-64 / RA2Snes

RetroAchievements for SNES that runs on the QUsb2Snes webserver & rcheevos client
GNU General Public License v3.0
4 stars 0 forks source link

RA2Snes

RA2Snes is a program built using Qt 6.7.3 in C++ and C that bridges the QUsb2Snes webserver & rcheevos client to allow unlocking Achievements on real Super Nintendo Hardware through the SD2Snes USB port.

Installation

Download the latest firmware for your SD2Snes.

Download the latest version of QUsb2Snes.

Plug the SD2Snes into your computer (Linux users may need to allow Serial Port communications to allow communication between QUsb2Snes and SD2Snes).

Run both QUsb2Snes and RA2Snes.


Usage

Configuration Files

The settings.ini is created in the same directory as RA2Snes once RA2Snes has been run for the first time. This file holds all settings for the program including your saved login information.

Currently Unsupported Games

SD2Snes cannot currently read the memory of games with enhancement chips.

SD2Snes cannot currently read the memory of the Super Game Boy.


Limitations and Issues

Preemptive Unlocks

Some achievements may activate without the requirement being met. This happens because a memory address is not overwritten before it is checked (SD2Snes only updates RAM addresses if they are written to so some values bleed over since they aren't updated). This case is extremely rare (I know of only 1 achievement that had this happen).

When this happens click on the achievement title to go to its page on the RetroAchievements Website and reset that achievement! (You will have to switch between hardcore<->softcore and back to refresh the achievements)

Achievement Won't Trigger

Achievements might have a tight frame window. This may cause achievements not to activate because reading the memory of SD2Snes is not frame-perfect.

I recommend unlocking more achievements before retrying an achievement as the fewer achievements there are to check the fewer memory values are needed to be read from SD2Snes.

If an achievement will not trigger at all please see my RetroAchievements profile for the SNES games I have completed (all SNES games supported will be completed on RA2Snes).

If an achievement does not trigger and is not completed on my profile, you can send proof of meeting the requirements for an achievement in the Manual Unlocks thread in the RetroAchievements Discord and put in an issue so I can look into it.


Future Plans

See FUTURE.md

Compiling

See COMPILING.md

Credits & Thanks

Icons


License

RA2Snes is available under the GPL V3 license. Full text here: http://www.gnu.org/licenses/gpl-3.0.en.html

Copyright (C) 2024 Factor (Factor64)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.