News: 11 March 2016 - Forum Rules, Mobile Version
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia

Author Topic: bsnes-plus and xkas-plus (new SNES debugger and multiplatform assembler)  (Read 17981 times)

mziab

  • Full Member
  • ***
  • Posts: 168
    • View Profile
    • mteam
Yeah, I get the same crash. It seems like something broke along the way. I tried going back some commits and it didn't crash anymore. So I wanted to find the faulty commit, but couldn't reproduce the crash when doing a git bisect. AWJ and Revenant should probably take a closer look at this.

Revenant

  • Full Member
  • ***
  • Posts: 203
    • View Profile
The crash still happens with the latest git revision. I'll take a look later and see what's going on, thanks for pointing it out.

TimeCop

  • Jr. Member
  • **
  • Posts: 30
    • View Profile
Are you aware of bsnes mercury? It includes Super FX over clocking.

https://github.com/libretro/bsnes-mercury


Revenant

  • Full Member
  • ***
  • Posts: 203
    • View Profile
The crash still happens with the latest git revision. I'll take a look later and see what's going on, thanks for pointing it out.

Fixed (see this commit + comments).

Here's an up-to-date build.

Are you aware of bsnes mercury? It includes Super FX over clocking.

https://github.com/libretro/bsnes-mercury
I'm familiar with it, though I haven't used it before. Personally I'm not sure if SuperFX overclocking is the sort of thing I'm interested in adding to an accuracy-oriented emulator though.

seznam88

  • Newbie
  • *
  • Posts: 3
    • View Profile
Hi, I have a problem with this emulator, same with the original BSNES.
The game is working at stable 60 FPS but when playing, the screen stutters, no the game itself only the screen.
The screen it´s like this - Smooth......Stutters.......Smooth.......Stutters,. ..
But when the screen stutters the game is still at 60 FPS and it´s working good without any lags or crackling audio.
Why is this happening ?
Can you help me please ?
Thank you very much for help in advance :)

mziab

  • Full Member
  • ***
  • Posts: 168
    • View Profile
    • mteam
Hi, I have a problem with this emulator, same with the original BSNES.
The game is working at stable 60 FPS but when playing, the screen stutters, no the game itself only the screen.
The screen it´s like this - Smooth......Stutters.......Smooth.......Stutters,. ..
But when the screen stutters the game is still at 60 FPS and it´s working good without any lags or crackling audio.
Why is this happening ?
Can you help me please ?
Thank you very much for help in advance :)

Have you tried various combinations of Sync Video and Sync Audio turned on and off? Changing the video and audio drivers in Configuration/Advanced may help too, as well as changing the input frequency and latency in the Audio tab.

DackR

  • Full Member
  • ***
  • Posts: 129
  • Mo~
    • View Profile
    • Hackaday.io Page

seznam88

  • Newbie
  • *
  • Posts: 3
    • View Profile
Have you tried various combinations of Sync Video and Sync Audio turned on and off? Changing the video and audio drivers in Configuration/Advanced may help too, as well as changing the input frequency and latency in the Audio tab.
I tried all of it and nothing helps :(

DackR

  • Full Member
  • ***
  • Posts: 129
  • Mo~
    • View Profile
    • Hackaday.io Page
I tried all of it and nothing helps :(
If your computer is lacking in available system memory, it can cause the symptoms you are suggesting. Not sure why you are posting about this issue here though.

Fixed (see this commit + comments).
I am eagerly awaiting the improvements to the memory editor. Love what's in there so far. I can see that Importing and exporting from the memory editor will be useful. All kinds of possibilities there.

A few suggestions (for memory editor and other areas):
  • It may be helpful to label the search box. (nit-picky, i know)
  • Would be helpful to be able to add comments to different memory regions-- and be able to save and load these notes from a file-- or have them be automatically associated with a certain ROM. I would prefer to load the data files manually, however, because of how I change the filename of my WIP ROMs based on the current build revision.
  • Ability to save and load breakpoint definitions from a file.
  • I'd like to name/label my breakpoints. Is it bad that I'm obsessed with naming everything? I usually keep notes elsewhere, but this would negate the need.

SC

  • Full Member
  • ***
  • Posts: 217
    • View Profile
A few suggestions (for memory editor and other areas):
  • It may be helpful to label the search box. (nit-picky, i know)
  • Would be helpful to be able to add comments to different memory regions-- and be able to save and load these notes from a file-- or have them be automatically associated with a certain ROM. I would prefer to load the data files manually, however, because of how I change the filename of my WIP ROMs based on the current build revision.
  • Ability to save and load breakpoint definitions from a file.
  • I'd like to name/label my breakpoints. Is it bad that I'm obsessed with naming everything? I usually keep notes elsewhere, but this would negate the need.
Actually I'm the same too. :P
These would be very helpful whenever I hack a SFC game. ::)

seznam88

  • Newbie
  • *
  • Posts: 3
    • View Profile
If your computer is lacking in available system memory, it can cause the symptoms you are suggesting. Not sure why you are posting about this issue here though.
I´m posting it here because it´s happening it for me with this emulator.

My system specs -
Windows 7 Ultimate x64
CPU - Intel Xeon Quad Core E5450 - 3.00 GHz
RAM - 4GB
GPU - NVIDIA Geforce GT 630 - 4GB

Is it weak for this emulator ?

Revenant

  • Full Member
  • ***
  • Posts: 203
    • View Profile
https://youtu.be/fZPjFJGzI88

Didn't have the time or motivation to work on useful debugging stuff lately, so I spent a couple of hours banging this out instead.

I'll be rewriting the memory and breakpoint editors soon, and will probably release again after that. In the meantime, EmuCR has daily snapshots now (which I haven't tested at all, so try them and see, I guess).

DackR

  • Full Member
  • ***
  • Posts: 129
  • Mo~
    • View Profile
    • Hackaday.io Page
https://youtu.be/fZPjFJGzI88

Didn't have the time or motivation to work on useful debugging stuff lately, so I spent a couple of hours banging this out instead.

Now that is awesome. :)

AWJ

  • Full Member
  • ***
  • Posts: 105
    • View Profile
I'm genuinely curious why you would feel the need to add ZSNES-style SPC dumping to a "new" SNES emulator in 2015. I'd be very surprised to learn that any rippable SPC (i.e. excluding music engines that depend on 65816-side data streaming) from any game hasn't been long-since ripped by now, and call me elitist, but if anything we should be encouraging things like SPC ripping to be done by people who know what they're doing, not provide another way for ignorant newbies to do shitty one-click rips.

It seems to me that all you're doing by adding this feature is encouraging the proliferation of low-quality SPCs with missing lead notes or with sound effects mixed in, and at the same time begging your issue tracker to be flooded with "I cliced dump spc in tales of fantasia and it dun work, pls fix" unfixable bug reports.

Revenant

  • Full Member
  • ***
  • Posts: 203
    • View Profile
I'd be very surprised to learn that any rippable SPC (i.e. excluding music engines that depend on 65816-side data streaming) from any game hasn't been long-since ripped by now

I've personally ripped either missing songs or entire soundtracks for dozens of NES and SNES games within the past few years that simply didn't have complete sets available, and there are still quite a few SNES games that, to my knowledge, don't have complete SPC sets available for one reason or another (and that's only including games for which dumping playable SPCs is actually possible). Even beyond that, there have been dozens of other games which have recently had new SPCs added to sets that were previously assumed to be complete, whether it was music that was outright unused or just obscure enough to be missed by the majority of listeners, but it's not an entirely obsolete feature, and it's one that I've made use of very many times in other emulators (especially in conjunction with a debugger such as Geiger's), so there it is.

I don't expect bsnes-plus to ever come anywhere close to the level of usage among "ignorant newbies" as ZSNES and Snes9x, both of which have had the same feature since approximately the stone age. Adding it to one more emulator, especially a relatively niche one like this, really isn't lowering the barrier to entry for would-be SPC dumpers in any significant way.
« Last Edit: May 30, 2015, 10:54:35 pm by Revenant »

AWJ

  • Full Member
  • ***
  • Posts: 105
    • View Profile
Point taken.

I've got another question for Revenant or for anyone who does SNES audio hacking: How useful do you consider the ability to disable individual audio channels (voices) in a SNES emulator?

I'm trying to remove redundant code to make the emulator easier for me to maintain and for Revenant to add new debugging features to, and the first thing I'm working on is the two different S-DSP implementations (that's the audio DSP, not the Pilotwings/Mario Kart one) One (the one I'm trying to get rid of) is the one written by blargg which is also used in later versions of snes9x and in many SPC music players; the other one is closely based on blargg's but rewritten by byuu to fit more directly into his framework and to match his coding style better. And one of the differences between the two DSP implementations is that blargg's supports disabling voices, but byuu's rewritten version doesn't. And I'm trying to decide whether to add that feature to byuu's when I make it the only S-DSP in bsnes-classic.

The thing is, in order to completely disable a voice from being heard, it's necessary to disable both its direct output and its echo output. blargg's DSP handles this, essentially, by continuously force-KOFFing the disabled voice(s). And the problem is that when you do the latter it's visible to software, since the echo buffer is in shared APU RAM. I doubt many (or any) games actually depend on reading back the echo buffer, but I'm still not entirely comfortable having a feature that looks deceptively cosmetic but actually can theoretically affect emulated program behavior (and I guess byuu wasn't either, which is why his version of the DSP code doesn't have any voice-disable capability)

I've never done any SNES audio work, but I know I find the ability to toggle video layers (BGs and sprites) very useful just as a quick way to see what layer a particular object or effect is on. And luckily, PPU layer toggling isn't visible to software in any way, just as long as an emulator still does the Range Over/Time Over tests even when sprites are disabled. But like I said, I have no idea if voice toggling is something people find indispensable, or if byuu added it to his UI just because it was already supported by blargg's code.

(If you just want to see what channel an instrument or sound effect is being played on, the "piano keyboard" window Revenant recently added to bsnes-plus can do that for you...)

Revenant

  • Full Member
  • ***
  • Posts: 203
    • View Profile
I've never really had any use for disabling individual channels, other than for fun (and it can still be done in most other emulators and SPC players anyway...)

I'm not really opposed to taking it out if there's not another practical solution that doesn't interfere with accurate DSP emulation.

Nightcrawler

  • Hero Member
  • *****
  • Posts: 5624
    • View Profile
    • Nightcrawler's Translation Corporation
I would say it is about the same as the background analogy. It would be convenient to be able to disable channels in the emulator, however you can live without it. When I have had a need to disable a specific audio channel, I have usually done so temporarily in software and rebuilt.

If I were in your shoes and trying to streamline and simplify the code as such, I'd probably omit it. I don't think the added complexities are worthwhile for the feature even though I do think the feature itself would be a nice convenience.
TransCorp - Nearing 20 years of community dedication.
Dual Orb 2, Wozz, Emerald Dragon, Tenshi No Uta, Glory of Heracles IV SFC/SNES Translations

infidelity

  • Newbie
  • *
  • Posts: 4
    • View Profile
I know its only been a month since I last asked, but any new developments? I can relate to work being an inconvenience to doing stuff like this. I check a couple times a week for any new updates. Thanks again. :-)

Revenant

  • Full Member
  • ***
  • Posts: 203
    • View Profile
Crossposting my reply from nesdev, because why not

Quote
Hopefully I'll be working on it soon now that things have been slowing down at work, which has been eating up most of my programming time lately; developing C++/Qt applications like this one (and my other main projects as of late) is also what I do for a living, and sadly I don't have an unlimited amount of time to put into the same general thing every single day :P