ares-emulator / ares Goto Github PK
View Code? Open in Web Editor NEWares is a cross-platform, open source, multi-system emulator, focusing on accuracy and preservation.
Home Page: https://ares-emu.net
License: Other
ares is a cross-platform, open source, multi-system emulator, focusing on accuracy and preservation.
Home Page: https://ares-emu.net
License: Other
It's annoying every time when I choose a system to play (p.g colecovision that has some different button layout wich I like to put the numbers in the keyboard's num pad) and change the system (p.g. Nintendo 64) and all the buttons has changed.
Would be nice to have both general controls but the system itself doesn't change the key from each system individually,
What about people who prefer to stay with Mojave because of 32bit and 64bit ?
And
The entire Neo Geo Pocket/Color library is now thought to be playable, with minor graphical issues in four titles.
Which four titles ?
By the way, keep up the good work!
Version: latest
ROM CRC-32: 6C230765 (No-intro)
Version: d50e9d2
Windows 10 x64
Boot a game (that you already have a savestate on) and load the savestate as soon as the fps counter appears (or just mash load state to be sure you get it) and you will have high pitched audio until you reload the game or the emulator.
Tested with Linux Mint 20, ares 123-dev, pulseaudio driver
I'm receiving collect2.exe: error: ld returned 1 exit status mingw32-make: *** [GNUmakefile:69: all] Error 1
in the code of the version 7adfece
.
Windows 10 x64
gcc (MinGW) 8.1.0
Black screen just after GameBoy Advance bios.
Version used: 409ea8d
Windows 10 x64
Would be nice if the CD based systems had CHD file support. It's one of the best format for preservation and are used alredy in emulators such MAME, Duckstation, Redream, etc.
Currently, only the TOSEC Firmware set works.
Ok, this is one of those issues created to discuss more the topic (and of course, every new info everyone can bring on this topic is welcome). This issue isn't intended to be close soon, as it demands a lot of work to be done.
I made extensive research and tests about different mappers to verify how well they are implemented and I'm compiling everything in a list that I hope to be useful in this journey. Every entry has the iNES mapper number, a link for a list of every official game that uses this mapper (non-official mappers of course will have his entry empty), a link for the NesDev Wiki about the mapper, a name of a known dump that uses the mapper (that was the most difficult task, as I had to research deeply about some very obscure carts and, of course, I also tested every one of them manually in the latest dev version of ares). Note that for a very few of them, I didn't have a proper dump to test - the ones which I haven't the proper dump are marked as red in the "example" column.
About the dumps I used to test, I'm also providing a log of them being used in Mesen: roms_used_for_mappers_testing.txt
I have also made the same tests on Mesen for comparison as it is the most accurate NES emulator at the moment. You can also take a look at the Mesen source code, as most of the iNES mappers are very well documented too: https://github.com/SourMesen/Mesen
I tried to use common names for the dumps used as examples. Also, some of them are PD made by homebrew projects. Eg:
Note: these are links to the creators' webpage where they share their own work. Just please be warned that we can't share links in any place about copyrighted material without owner permission (this is always a good reminder). But of course, you can always dump your obscure carts at home and help with the tests. Just be assured you're using a proper dump.
Those PD also have somehow made in physical version too, that's why they uses valid mappers.
There's also very useful information about the mappers in no$nes documentation: https://problemkaputt.de/everynes.htm
If you want access to help to collaborate in this spreadsheet or more information about the dumps used for tests, you can send me a PM.
Every bit of help is welcome, as we can see, it may take some work (and the mappers must be implemented mostly one by one).
After more iNES mappers are supported in ares, I surely will be glad to reunite all the information possible about the NES 2.0 too.
The idea, of course, is to update the list frequently as more mappers start being supported or more information is gathered.
In most (all?) Sega 32X games, the PWM audio channel is silent.
This is caused by incomplete emulation of the PWM audio registers.
Version tested: cb4a79e
Windows 10 x64
Any of the Sonic & Knuckles ROMs with other games connected just boot into regular Sonic & Knuckles. Other MD/Genesis emulators do not have this issue, using the same ROMs.
Shantae: Game runs and sound playback is ok. But most of the cutscene screens are black. In the game itself, just background, but invisible character sprites
Donkey Kong Country: Glitched graphics in most screens
Alice in Wonderland: Messed graphics in cutscenes
The Simpsons - Night of the living treehouse terror: The gameplay screen has no image.
Just to name a few examples.
And most Game Boy Color exclusive games have any kind of graphical errors.
I suspect that maybe this is caused by incorrect tileset indexing.
Version: cb4a79e
Windows 10 x64
9d2bd69 applies this fix to the tms9918 implementation, however it notes that a similar fix is required for V9938 and SMS.
This issue will ensure this does not get forgotten.
Hello good afternoon.
I would like to report: When configuring gamepads from different consoles, the settings conflicts, not being separate one setting for each console.
Thank you.
been playing through OOT and getting some pretty serious slowdowns in certain spots. The actual hardware would drop a little occasionally but nothing as severe as this.
A couple examples are in Jabu Jabu's Belly the central room that branches off into 3 halls, once the 3 electric worms that come out to fly in the middle the framerate nearly cuts in half
and in the Shadow Temple once you board the ship, once the second Stalfos drops down the framerate drops significantly, and you can find a save state for that one right here:
https://drive.google.com/file/d/1Alj-EQ5t6uklBjK2bybA5ihP8Idvt2xT/view?usp=sharing
I'm using the NoIntro v1.0 ROM
Version: d50e9d2
Windows 10 x64
I don't know if the motion controls are supported before, but as we have motion controls options implemented for GBC I assume that is. If not, then I'm opening this issue to request this support.
All the games of the GBA Video series (https://en.wikipedia.org/wiki/Game_Boy_Advance_Video) don't pass after the following screen.
Version tested: cb4a79e
Windows 10 x64
After testing on both a Lenovo t14 with a ryzen 7 pro 4750u, and a desktop computer with a RX 580 and a 5900X, on both Linux (Linux Mint and Arch were tested) and Windows 10, on ares V120, V122, and V123-dev, N64 games in ares seem to experience framerate drops for no discernible reason- meaning that no CPU cores/threads were at any point at 100% load, and neither was the GPU, but Ares was dropping frames regardless. When I say that it's dropping frames, I mean that the framerate counter in the bottom left displayed lower than 60fps on NTSC games, and had the accompanying audio crackle. The easiest I found to experience frame drops was in the intro of Conker, but the drops happen in most if not all n64 games and could easily be experienced elsewhere.
Just in case memory speed/bandwidth was an issue, I tested both computers using https://zsmith.co/bandwidth.php, specifically https://zsmith.co/archives/bandwidth-1.9.4.tar.gz, and attached the results of both.
Version tested: cb4a79e
Windows 10 x64
unf stands for "Universal NES image file format".
There are some NES homebrew demos distributed only in this format.
https://fileinfo.com/extension/unf
The build scripts are not pulling in shaders when building the release archives, meaning that only the in-built "Blur" shader is available.
For historical reasons, ares' user-interface is called "lucia", and is built as lucia.exe
(on Windows). However, the public name of the project is "ares", and since the default build only produces a single executable, it might as well be named ares.exe
.
It's probably not globally replacing lucia
with ares
across the source-code and filenames (not least because there's already an ares
directory in the repo), but it should be easy to rename the executable in the GitHub release scripts and in the make install
script.
The same issue happens in Virtua Racing (U) too, but I'm unsure if they are related.
Version: d50e9d2
Windows 10 x64
When you create a new save, the save file immediately duplicates to the second slot as well. It doesn't matter if you delete it or not, the file always comes back when you return to the file select screen. You can even try to erase it and start a new file in the second slot, but when you start the new file it will just load the original one.
EDIT: If you save at an owl statue it seemingly uses the duplicate save file for that too, as the owl icon appears near the second file after you quit, not the original
I hesitated to put this here because it seemed like it must be something other than the emulator that's causing this, but it doesn't happen with any other emulator.
Here is my save file and a save state from right after the duplicate has been deleted;
https://drive.google.com/file/d/19BhGZkFrLaxc-MfEQt5p8zCB4kV_187K/view?usp=sharing
To replicate all you have to do is back out to the title screen and then proceed back to the file select. You'll see the original save file duplicated to the second slot on its own.
I'm using the NoIntro ROM
MD5: 2a0a8acb61538235bc1094d297fb6556
So far with my tests, I have only gotten so far as showing a bios message. Using MAME-compliant ZIPs.
Arno Dash - Stuck at level load.
CMJN - Works, with glitches throughout.
H7N9 - Works, but idk if it's graphics corruption.
Jet Paco & Jet Puri - White screen for both NTSC and PAL versions.
Nyan Cat Demo - Blue screen with a white square.
Omikuji - White screen with a black rectangle.
Pole Position Remake - Works, but idk if it's graphics corruption.
S_Sniper - Stuck at title screen with high hz buzzing sound.
ares' N64 core depends on https://github.com/Themaister/parallel-rdp-standalone for RDP emulation. Currently, ares includes a script to download the latest version of that code in the right place in ares' source tree, but now that ares itself is stored in git, we can do better.
git submodule
is the official tool for putting git repos inside other git repos. The upside is that there is a standard "update all submodules" command people are already likely to know; the downside is that submodules aren't checked out by default and the failure modes of not-quite-right submodules can be confusing.git subtree
is an alternative tool. The upside is that the included repository's files are stored directly in the ares repo so that they can't get lost or misplaced; the downside is that there's no way to automatically update all subtrees.For example, higan uses git subtree for both the external libco repository, and for hunterk's shader repository. I put an update-subtrees.sh script in the root of the repository to make it easy to update subtrees in future, but since that's a project-specific convention it would need to be documented somewhere.
Of course, we could also just keep the status quo, and require people to run the script to obtain ParaLLEl-RDP before building the N64 core.
I'm using an XBOX one gamepad and assigned the right analog to the c-buttons.
version 121.a has the right analog deadzone disabled so it presses the buttons by itself, it's impossible to control.
Would be certainly nice to integrate all the specific SNES improvements which has in bsnes, such:
I'm thinking even in port myself some these things directly from bsnes code. There is any kind of restriction for this?
Version used: 409ea8d
Windows 10 x64
Some Taiwanese ports of MSX games required a special adapter containing extra RAM to be played on an SG-1000. See here for details.
Games known to require these adapters are documented in the MAME software list.
Type A adapter:
<rom name="bomberman special [dahjee] (tw).bin" size="49152" crc="ce5648c3" sha1="455838571dd8287d491431e03269b0ccd292c8b8" offset="000000" />
<rom name="yie ar kung-fu ii [dahjee] (tw).bin" size="49152" crc="fc87463c" sha1="44fb2dca3774f859f0ae0ad4d809a67f760cf9ae" offset="000000" />
<rom name="king's valley (tw).bin" size="32768" crc="223397a1" sha1="922d23895c12707b2fc382ea5cb769c5cb9b5755" offset="000000" />
<rom name="knightmare [jumbo] (tw).bin" size="49152" crc="281d2888" sha1="babdb6b109b20e81c28cd892c2042723e9cbff49" offset="000000" />
<rom name="pippols [jumbo] (tw).sg" size="32768" crc="df7cbfa5" sha1="4a95b98e127fb0c6428d6debcfc92152069ac531" offset="000000" />
<rom name="rally-x [dahjee] (tw).bin" size="32768" crc="306d5f78" sha1="21770691191b62bafec9099bbe0f9942f5480f83" offset="000000" />
<rom name="road fighter [jumbo] (tw).bin" size="32768" crc="29e047cc" sha1="4f1a139974e3db27af5973bc9572ed68acd6ea68" offset="000000" />
<rom name="twinbee [jumbo] (tw).bin" size="49152" crc="c550b4f0" sha1="a8c30043c145e63f79a3265dde167529f0e08d49" offset="000000" />
<rom name="tank battalion [dahjee] (tw).bin" size="32768" crc="5cbd1163" sha1="0ca3b740b28266a2a606127ed8967c684b67cb44" offset="000000" />
<rom name="legend of kage, the [dahjee] (tw).bin" size="49152" crc="2e7166d5" sha1="902dbb122bf0efc76604a876c3fae51c074bdc6a" offset="000000" />
<rom name="star soldier [dahjee] (tw).sg" size="49152" crc="e0816bb7" sha1="c1984257809ec5bce80a65d22b9b32561e04922c" offset="000000" />
Type B adapter:
<rom name="bomberman special (tw).bin" size="49152" crc="69fc1494" sha1="d1d56bcd996df94458f5901dc537a5e30021256b" offset="000000" />
<rom name="castle, the [msx] (tw).bin" size="49152" crc="2e366ccf" sha1="5a81d5103487695cabd811aabd9e71f48b9e7996" offset="000000" />
<rom name="magical kid wiz (tw).bin" size="49152" crc="ffc4ee3f" sha1="fd24b501046cf811b04386129be0362a1eabf6b3" offset="000000" />
<rom name="rally-x (tw).bin" size="32768" crc="aaac12cf" sha1="0c1957a5faae5254c69f3331e79d87499dd7cf48" offset="000000" />
<rom name="road fighter (tw).bin" size="32768" crc="d2edd329" sha1="2755f74019dc94559fd0c2248e2ecb7f48879b90" offset="000000" />
Hi, thanks for your work in this emulator, it's awesome.
I would like to know if it's possible to use emulator throught command line. I tried with ngp color rom and the emulators open, but run in directly as monocrome game.
C:\<emu_path>\lucia.exe game.ngp
Thanks
Since v121 was... rushed, it turned out Near had made some changes that depended on Clang-specific extensions, preventing it from building with GCC.
@cglmrfreeman has published patches that fix the problem:
https://github.com/cglmrfreeman/Ares-v121-Patch
...but according to the README in that repository:
Near was obviously trying to tinker with the TLCS900H processor, leaving "still imperfect" in the release notes and what I have done is revert changes to successfully compile. This is a regression of code, and I would like to believe Near was always moving forward to improve their code, and there might have been a reason they wanted to change their code this way, however, I just couldn't figure out how to get it to work in a way Near probably could have.
We'll have to figure out what to do about this.
Problem:
-manually setting up bios filepaths for this many systems takes a long time
-has to be repeated if the cfg is wiped
-requires GUI code
Proposed behavior:
Include "Firmware" folder in release packages. On rom load, check if that system's cfg bios filepath is empty or invalid. If so, scan ares/firmware/ for that system's bios (by hash, not filename).
Users can drag bios files en masse into that folder.
It have the benefit of timing Blast Corps and DK64.
The game doesn't boot, freezing in a black screen before anything shows up.
Version: e14b01f
OS: Windows 10 x64
This issue will be fairly disorganized, as I try and remember as much as possible that went wrong originally. As I re-test, things will be split into individual issues
Mega Drive:
Mega CD
32x
Pc Engine
Pc Engine CD
Playstation
Other
Black screen after SEGA's logo. If you perform a system reset after this, the game boots, but will have some graphics errors and occasional stuttering in the gameplay.
Version: d50e9d2
Windows 10 x64
After starting the gameplay, the background is completely messed, leaving the title basically unplayable.
Version used: 409ea8d
Windows 10 x64
All 3 Factor 5 games aren't booting properly.
Probably it's due Factor 5 microcode implementation in such games.
There is other games that uses Factor 5 microcode sound compression technology which also don't work properly, but i'm unsure if it is microcode related:
But Pokémon Stadium 1 and Elmo's Letter Adventure which are at least said in internet that uses Factor 5 sound compression techlonogy (but I'm not sure about this claim) don't seem to have any issues (regard performance).
Version tested: Ares 1.22 (official)
SO: Windows 10 x64
In the editor screen, there are some artifacts in these places marked in the image.
Version: cb4a79e
Windows 10 x64
Some old games, in the most different systems, were designed to run on TVs with composite signal input, generating artifacts that in the hands of many skilled developers meant effects that often gave a sensation of volume, different visual effects, and even new colors through some tricks based on the output of the CRT.
Developer Blargg has created an NTSC filter that perfectly simulates this composite cable output.
https://emulation.gametechwiki.com/index.php/NTSC_Filters
It would be nice if we could support these types of filters in Ares.
Take a look at some examples before and after blargg filter:
With blargg filter:
Personal note: I like how little samsom seems to have angry eyebrows in composite output. This was surely intended by the developer. Unfortunately, this is lost in direct the "modern" output.
Also, most of the artifacts created by the NTSC output are dynamic, as you can see in the comparison of the following gif:
And something like that is supported by the blarrg's filter
Hi
Every game in my Super Famicom/Super Nintendo collection boots properly except Star Fox 2 (USA)
ares doesn't generate an error message but instead refuses to boot the ROM and changes back to unloaded state.
It was a long time I used the stand alone version of higan but I remember the game used to work fine there, at least the game works with the Libretro port of higan as of today.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.