Welcome, Guest
Emulator Enhancer beta
(1 viewing) (1) Guest

TOPIC: Emulator Enhancer beta

Emulator Enhancer beta 7 years, 5 months ago #1330

Folks

I need assistance running the below beta:

www.esatclear.ie/~bannister/ee240beta.zip

There have been a few changes made under the bonnet to fix minor bugs in the system. There should be no obvious differences between this and the previous release (in particular the flicker reported a few posts below in BSNES is *not* fixed).

Anyone who identifies a bug introduced in this beta (along with concrete steps to reproduce) will go into a draw for a free license code.

Barring surprises I'm planning to release this with a new build of BSNES on Sunday.

Thanks
Richard

Re:Emulator Enhancer beta 7 years, 5 months ago #1332

Thanks Richard!

Re:Emulator Enhancer beta 7 years, 5 months ago #1333

Anyone who identifies a bug introduced in this beta (along with concrete steps to reproduce) will go into a draw for a free license code.


For those that already have a full licence for 2.3.x, does this imply that this upgrade is a paid upgrade, or does this sentence just apply to those that have not paid for a license, are testing this version for you, and get a chance for a free license if they find something you missed along with how to reproduce it?

Side note: I'd pay for a brand new license at full price if EE were able to work with PCSX-Reloaded and control its HID and video functions, but I suspect that is a supremely hard crapton of work to attempt (hence my willingness to pay again for it just for that).

Anywho, I've stuck the EE240 beta bundle where it belongs and I'll give it a whirl. I assume that EE240, for those that have not paid for a license, is a timed beta that will expire, yes?

Re:Emulator Enhancer beta 7 years, 5 months ago #1338

Thanks man!

Re: Emulator Enhancer beta 7 years, 5 months ago #1341

For some reason, my .zip file opens Emulator Enhancer.package, which has no program to open with. Does anyone else have this sort of problem?

Re: Emulator Enhancer beta 7 years, 5 months ago #1344

jack59splat59 wrote:
For some reason, my .zip file opens Emulator Enhancer.package, which has no program to open with. Does anyone else have this sort of problem?


The .zip file should open automatically with either UnArchiver, Stuffit Expander, or OS X's built in Archive utility. The contents should be a single file called "Emulator Enhancer.bundle".

This file then gets placed in either of two locations:

/Library/Application Support/Emulator Enhancer/ <-- For ALL users on a computer.

~/Library/Application Support/Emulation Enhancer/ <-- For only that specific user.

The first one is the better location to put it in unless it's a work/school computer.

Re:Emulator Enhancer beta 7 years, 5 months ago #1360

No, it won't be a paid upgrade. Apologies for any confusion.

EE is fundamentally a complete Mac interface for emulators in a box. It cannot be attached to PCSX.

It's not actually a timed beta per se, it'll be the same as the real thing if nothing shows up.

Unfortunately I got home seven hours later than planned today so no release tonight. Maybe tomorrow.

Re:Emulator Enhancer beta 7 years, 5 months ago #1361

There have been a few changes made under the bonnet to fix minor bugs in the system. There should be no obvious differences between this and the previous release (in particular the flicker reported a few posts below in BSNES is *not* fixed).


I forgot to explain this.

This one is somewhat my fault. To support hires games, bsnes dynamically changes the resolution between frames. Which is a problem for the design of Richard's OpenGL code, which expects a fixed output size. By changing the resolution, it causes him to have to reinitialize the video output code. I've accounted for it with my own implementation because I knew about it, but it's a lot of work for just one system to go back and retroactively do that.

The holdup is on my end, I need to add something to the libsnes wrapper to allow for fixed resolutions.

Re:Emulator Enhancer beta 7 years, 5 months ago #1362

byuu wrote:
There have been a few changes made under the bonnet to fix minor bugs in the system. There should be no obvious differences between this and the previous release (in particular the flicker reported a few posts below in BSNES is *not* fixed).


I forgot to explain this.

This one is somewhat my fault. To support hires games, bsnes dynamically changes the resolution between frames. Which is a problem for the design of Richard's OpenGL code, which expects a fixed output size. By changing the resolution, it causes him to have to reinitialize the video output code. I've accounted for it with my own implementation because I knew about it, but it's a lot of work for just one system to go back and retroactively do that.

The holdup is on my end, I need to add something to the libsnes wrapper to allow for fixed resolutions.


Would it be too much of a pain to always use a double-sized buffer and do a check to fill 2 columns per pixel when not in high-res mode, or for efficiency are you relying too much on block copies of pre-formatted content to do that? ... I suppose that could be a question for you or Richard...

Re:Emulator Enhancer beta 7 years, 5 months ago #1365

seanstar wrote:
byuu wrote:
There have been a few changes made under the bonnet to fix minor bugs in the system. There should be no obvious differences between this and the previous release (in particular the flicker reported a few posts below in BSNES is *not* fixed).


I forgot to explain this.

This one is somewhat my fault. To support hires games, bsnes dynamically changes the resolution between frames. Which is a problem for the design of Richard's OpenGL code, which expects a fixed output size. By changing the resolution, it causes him to have to reinitialize the video output code. I've accounted for it with my own implementation because I knew about it, but it's a lot of work for just one system to go back and retroactively do that.

The holdup is on my end, I need to add something to the libsnes wrapper to allow for fixed resolutions.


Would it be too much of a pain to always use a double-sized buffer and do a check to fill 2 columns per pixel when not in high-res mode, or for efficiency are you relying too much on block copies of pre-formatted content to do that? ... I suppose that could be a question for you or Richard...


Wouldn't that either make 16:9 aspect correction look wonky, or just plain screw it up period? It might work for some of the more mundane video filters, but both stretching and some of the more esoteric blur type filters would be kind of eschewed with what basically boils down to a horizontal pixel double, yes? Or am I wrong here and what you're saying is basically what SNES9X does? I know that 9x doesn't "appear" to do anything except just "go into" high res mode with no visible switching other than the text boxes.
Last Edit: 7 years, 5 months ago by Squishy Tia.

Re:Emulator Enhancer beta 7 years, 5 months ago #1367

It's a design limitation of my code. Remember that my Mac emulator shell is a single library that I've bolted onto almost thirty emulators; it's deliberately generic rather than tuned for the requirements of any specific emulator.

One of the things that it can't do is dynamically change resolution without a video reinitialization, and because of the way the code is designed that would require a major rewrite to fix, something which isn't going to happen until a Cocoa rewrite which is, though WIP, a long way down the road still. The very fact that this only became an issue a few weeks ago I think proves that my decision to implement the way I did was a reasonable shortcut to take

Off the top of my head the only emulators that do a dynamic size change mid-game are the Genesis/Megadrive emulators and BSNES. There's a preferences-controlled change in a few others too for high resolution rendering as per the CPC, etc. Now, in most cases a single black frame while the reinit happens doesn't matter, as games flip the resolution once and leave it for a while (for example Sonic 2 bonus level, etc). Unfortunately, you've found the exception.

The "quick fix" for this problem is in Byuu's court - namely, we're going to add an option to BSNES to lock the resolution to either low or high. This will be optional. You're correct that locking in high mode may do strange things to the video filters, but this is likely to be preferable to constant flickering. Again, this will be optional - it's a workaround for the few games that require it. In the longer term, a Cocoa version should hopefully not have this problem - if I ever get around to finishing it.

Hope that explains all.

Re:Emulator Enhancer beta 7 years, 5 months ago #1369

Nothing's ever simple these days, huh?

If/when you release BSNES with the optional pref, I'll gladly test it up and down. There's only a handful of games that implement the hi-res feature anyway, and I'm pretty sure that of the SNES ones that do, Seikendensetsu 2/3 are one of the few, if not only, games that switch on the fly like that. I'm actually surprised the SNES had enough horsepower to dynamically switch resolutions like that without either slowdown or the flashing I'm seeing. Unfortunately, a real SNES and BSNES/9x as well, have the input lag associated with such switches (ever wonder why your input commands aren't always immediately responded to during the heat of battle in SD2/3?). But since that's what the real hardware does, I expect the same of the emulator.

I'm curious to see what an FX game would look like in hi-res locked mode.

Re:Emulator Enhancer beta 7 years, 5 months ago #1375

Richard Bannister wrote:

The "quick fix" for this problem is in Byuu's court - namely, we're going to add an option to BSNES to lock the resolution to either low or high. This will be optional.


As long as it's optional that sounds good to me.

Re:Emulator Enhancer beta 7 years, 5 months ago #1377

Just don't rush that option out the door. If it takes time, it takes time. I see no need for either of you to go into a mad dash to put this feature in. I'll come when it comes.

Odd I say that....guess I've learned patience. Oh yeah, I know where I learned patience from...

Soon™. Brought to you by Blizzard Entertainment.



(Yes, I'm in a very good mood today, despite seeing the new Mac Pro prices).

Re:Emulator Enhancer beta 7 years, 5 months ago #1387

Squishy Tia wrote:
I'm actually surprised the SNES had enough horsepower to dynamically switch resolutions like that without either slowdown or the flashing I'm seeing. Unfortunately, a real SNES and BSNES/9x as well, have the input lag associated with such switches


I'm not an expert in SNES, but my general architectural sense is that resolution switching on early consoles and PCs like the Apple II should actually require less "horsepower" than modern PCs. It was likely only one bit of a register that determined what pixel clock to use and how much VRAM to address. Modern graphics cards have a whole pipeline that needs to be updated and buffers that need to be reallocated from a gratuitously larger memory bank. Hence, while the hardware could probably do the switch transparently in a single opcode by design, any emulation needs to clear out the entire render pipe and rebuild it at the new resolution.
Also, since I would believe aspect-ratio correction is just an OpenGL stretch of the render texture, forcing hi/lo-res shouldn't complicate anything. Blitters might get a bit confused, but last I actually used them, iirc blitters didn't like high-res mode anyway. Again keeping in mind that the SNES and early consoles accessed VRAM in a fairly direct and hardcoded fashion, I'd imagine SuperFX and other specialty chips would still only write to the regions they were created to write to, even if the screen space itself is interpreted differently, although that could easily depend on how high-res graphics mode works (i.e. are pixel-writes just auto-doubled in lo-res mode with the same VRAM and scan timing used either way, or does hi-res actually double the buffer size and pixel clock).

Resolution filling, on the other hand, will take proportionally more time either way, which is likely why the SNES chugs when it's running hi-res.

Re:Emulator Enhancer beta 7 years, 5 months ago #1436

The difference between lores, pseudo-hires and hires is just in how the color components are chosen. The SNES has a mainscreen and subscreen. The subscreen is always the same in lores, whereas in pseudo-hires it can be different BG layers, and in hires it is usually two adjacent pixels on the same BG.

To the TV, there is no such thing as an exact horizontal resolution, that depends on the specific TV and on how many actual pixels the TV maker put on there. The SNES just holds a color signal the same. But in effect, the SNES is not actually changing resolutions between lores and hires. In fact, I'm fairly convinced that you can toggle hires mode in the middle of a scanline. It will probably create all kinds of addressing chaos and screw up the graphics royally, but it is most likely doable.

We basically cheat by rendering lores at 256 pixels wide, so that people's filters like HQ2x and 2xSaI can work. And also because it's a good bit faster. To do it right, we really should always be internally rendering at full 512x478, and darkening the inactive scanline field by 30% each frame.
Last Edit: 7 years, 5 months ago by byuu.

Time to create page: 0.21 seconds