Skip to content

Commit

Permalink
bsnes-mt 1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Marat-Tanalin committed Jun 2, 2020
0 parents commit 382bb3f
Show file tree
Hide file tree
Showing 1,591 changed files with 425,445 additions and 0 deletions.
674 changes: 674 additions & 0 deletions GPLv3.txt

Large diffs are not rendered by default.

53 changes: 53 additions & 0 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
----------------------------------------------------------------------
bsnes-mt
http://tanalin.com/en/projects/bsnes-mt/

(c) 2020 Marat Tanalin

License of parts specific to bsnes-mt: MIT or GPLv3.
Licenses of libraries: see license files in their folders.
----------------------------------------------------------------------

----------------------------------------------------------------------
bsnes - Super Nintendo emulator

Copyright © 2004-2020 byuu et al

https://github.com/bsnes-emu

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 <https://www.gnu.org/licenses/>.
----------------------------------------------------------------------

----------------------------------------------------------------------
libco - C cooperative threading library
nall - C++ template library
ruby - Hardware abstraction library
hiro - User interface library

Copyright © 2006-2020 byuu et al

Permission to use, copy, modify, and/or distribute this software for
any purpose with or without fee is hereby granted, provided that the
above copyright notice and this permission notice appear in all
copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
----------------------------------------------------------------------
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# bsnes-mt

bsnes version with image-quality, user-experience and other improvements:

* Pixel-perfect integer-ratio scaling.
* Precise 4:3 in the “Center” and “Scale” modes.
* Compressed PNG screenshots.
* User interface in both English and Russian, and more.

See the project [webpage](http://tanalin.com/en/projects/bsnes-mt/) for details.
59 changes: 59 additions & 0 deletions bsnes-CREDITS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
bsnes was originally developed by byuu, and is now a group project.

This software would not be where it is today without the help and support of the following individuals:

- Andreas Naive
- Ange Albertini
- anomie
- AWJ
- BearOso
- Bisqwit
- blargg
- byuu
- Łukasz Krawczyk
- Danish
- DerKoun
- DMV27
- Dr. Decapitator
- endrift
- Fatbag
- FitzRoy
- gekkio
- GIGO
- Hendricks266
- hex_usr
- ikari_01
- jchadwick
- Jonas Quinn
- kode54
- krom
- Lioncash
- Lord Nightmare
- lowkey
- Matthew Callis
- Max833
- MerryMage
- mightymo
- Nach
- ncbncb
- neviksti
- OV2
- Overload
- p4plus2
- quequotion
- qwertymodo
- RedDwarf
- Richard Bannister
- Ryphecha
- segher
- Sintendo
- SuperMikeMan
- Talarubi
- tetsuo55
- TmEE
- TRAC
- wareya
- zones

If you feel you are missing from this list, please submit a pull request and we will be happy to add your name here!

75 changes: 75 additions & 0 deletions bsnes-README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
bsnes
=====

![bsnes logo](https://byuu.org/images/bsnes/github/byuu-bsnes-logo.png)

bsnes is a multi-platform Super Nintendo (Super Famicom) emulator, originally
developed by [byuu](https://byuu.org/about), which focuses on performance,
features, and ease of use.

Unique Features
---------------

- True Super Game Boy emulation (using the SameBoy core by Lior Halphon)
- HD mode 7 graphics with optional supersampling (by DerKoun)
- Low-level emulation of all SNES coprocessors (DSP-n, ST-01n, Cx4)
- Multi-threaded PPU graphics renderer
- Speed mode settings which retain smooth audio output (50%, 75%, 100%, 150%, 200%)
- Built-in games database with thousands of game entries
- Built-in cheat code database for hundreds of popular games (by mightymo)
- Built-in save state manager with screenshot previews and naming capabilities
- Customizable per-byte game mappings to support any cartridges, including prototype games
- 7-zip decompression support
- Extensive Satellaview emulation, including BS Memory flash write and wear-leveling emulation
- Optional higan game folder support (standard game ROM files are also fully supported!)
- Advanced mapping system allowing multiple bindings to every emulated input

Standard Features
-----------------

- MSU1 support
- BPS and IPS soft-patching support
- Save states with undo and redo support (for reverting accidental saves and loads)
- OpenGL multi-pass pixel shaders
- Several built-in software filters, including HQ2x (by MaxSt) and snes_ntsc (by blargg)
- Adaptive sync and dynamic rate control for perfect audio/video synchronization
- Just-in-time input polling for minimal input latency
- Run-ahead support for removing internal game engine input latency
- Support for Direct3D exclusive mode video
- Support for WASAPI exclusive mode audio
- Periodic auto-saving of game saves
- Auto-saving of states when unloading games, and auto-resuming of states when reloading games
- Sprite limit disable support
- Cubic audio interpolation support
- Optional high-level emulation of most SNES coprocessors
- Optional emulation of flaws in older emulators for compatibility with older unofficial software
- CPU, SA1, and SuperFX overclocking support
- Frame advance support
- Screenshot support
- Cheat code search support
- Movie recording and playback support
- Rewind support
- HiDPI support
- Multi-monitor support
- Turbo support for controller inputs

Links
-----

- [Official git repository](https://github.com/bsnes-emu/bsnes)

Nightly Builds
--------------

- [Download](https://cirrus-ci.com/github/bsnes-emu/bsnes/master)
- ![Build status](https://api.cirrus-ci.com/github/bsnes-emu/bsnes.svg?task=windows-x86_64-binaries)
- ![Build status](https://api.cirrus-ci.com/github/bsnes-emu/bsnes.svg?task=macOS-x86_64-binaries)
- ![Build status](https://api.cirrus-ci.com/github/bsnes-emu/bsnes.svg?task=linux-x86_64-binaries)
- ![Build status](https://api.cirrus-ci.com/github/bsnes-emu/bsnes.svg?task=freebsd-x86_64-binaries)

Preview
-------

![bsnes user interface](https://byuu.org/images/bsnes/github/byuu-bsnes-user-interface.png)
![bsnes running Bahamut Lagoon](https://byuu.org/images/bsnes/github/byuu-bsnes-bahamut-lagoon.png)
![bsnes running Tengai Makyou Zero](https://byuu.org/images/bsnes/github/byuu-bsnes-tengai-makyou-zero.png)
46 changes: 46 additions & 0 deletions bsnes-mt/app.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
/*! bsnes-mt by Marat Tanalin | http://tanalin.com/en/projects/bsnes-mt/ */

#include <string>
#include <vector>

namespace bsnesMt::app {

using std::string, std::vector;

static const char* title = "bsnes-mt";
static const char* version = "1.0";
static const char* urlEn = "http://tanalin.com/en/projects/bsnes-mt/";
static const char* urlRu = "http://tanalin.com/projects/bsnes-mt/";
static const char* articleUrlEn = "http://tanalin.com/en/articles/integer-scaling/";
static const char* articleUrlRu = "http://tanalin.com/articles/integer-scaling/";

static const string authorEn = "Marat Tanalin";
static const string authorRu = u8"Марат Таналин";
static const string articleLinkEn = string("<a href=\"") + articleUrlEn + "\">" + articleUrlEn + "</a>";
static const string articleLinkRu = string("<a href=\"") + articleUrlRu + "\">" + articleUrlRu + "</a>";
static const string linkEn = string("<a href=\"") + urlEn + "\">" + urlEn + "</a>";
static const string linkRu = string("<a href=\"") + urlRu + "\">" + urlRu + "</a>";

static const string infoEn = u8"Improved version of bsnes:\n\n"
u8"" + string("<a href=\"") + articleUrlEn + "\">" +
u8"pixel-perfect integer-ratio scaling" + "</a>;\n" +
u8"• precise 4:3 in the “Center” and “Scale” modes;\n"
u8"• compressed PNG screenshots, and more.\n\n"
u8"© 2020 " + authorEn + "\n" + linkEn;

static const string infoRu = u8"Улучшенная версия bsnes:\n\n"
u8"" + string("<a href=\"") + articleUrlRu + "\">" +
u8"целочисленное масштабирование без размытия" + "</a>;\n" +
u8"• точное 4:3 в режимах «Center» и «Scale»;\n"
u8"• PNG-скриншоты со сжатием, и проч.\n\n"
u8"© 2020 " + authorRu + "\n" + linkRu;

static const vector<unsigned char> pngInfo = {
0, 0, 0, 60, 116, 69, 88, 116, 83, 111, 102, 116, 119, 97, 114, 101, 0, 98,
115, 110, 101, 115, 45, 109, 116, 32, 124, 32, 104, 116, 116, 112, 58, 47,
47, 116, 97, 110, 97, 108, 105, 110, 46, 99, 111, 109, 47, 101, 110, 47,
112, 114, 111, 106, 101, 99, 116, 115, 47, 98, 115, 110, 101, 115, 45, 109,
116, 47, 136, 188, 137, 5
};

} // namespace bsnesMt::app
Loading

0 comments on commit 382bb3f

Please sign in to comment.