Jump to content

bsnes WIP News


olaf

Recommended Posts

Emu#dreams reports that byuu has been working on bsnes, the Super NES emulator, some more. Below is his post on his homepage about the recent work.

 

Updated the DirectDraw renderer. It also has perfect triple buffering support now. That's good, because the DDraw renderer is way the hell faster. The only thing I really can't do with the DDraw renderer is allow luminance in the scanlines. No hardware accelerated alpha blending, you see...

 

Also improved some of the Direct3D code. You can now specify the raster size in the config file. You can also switch between the DirectDraw and Direct3D modes inside the config file now, too. Hooray for virtual base classes.

 

I also improved the scanline rendering, a lot. I'm still planning some of the final details there, so no screenshots for now. Let's just say... I've found the perfect screen resolution: 1792x1344. Try and guess why that is. I'm planning to write a document on proper TV-style scanlines on CRT / LCD monitors, so I'll explain that resolution more there.

 

Lastly, I forgot to mention this the other day, but I also revamped the joypad support. bsnes now supports up to 256 joypads, and up to 128 buttons + 4 d-pad buttons for each joypad. I also revamped the d-pad support to check the POV hat. So now you can use the controller in digital or analog mode, and the analog thumbstick is way more responsive. It makes pulling off combos in games way easier. I'll probably make this a configuration option because it definitely has room for calibration.

 

I also fixed a major problem with interlacing. Before, I was allowing interlace to be toggled mid-frame. But that's not really the case. What threw me off was that the rendering appears to be interlaced when you enable it mid-frame, but it's really not. It's just skipping every other scanline, just like interlace mode would. However, the screen is still only rendering the even scanlines. A quick test confirmed this. Thanks to TRAC for pointing that out initially. bsnes will now only update the screen interlace setting every other frame. I still need to test on hardware to get a more exact position for when this actually occurs, but this will work for the immediate present. This also makes screen rendering a hell of a lot easier on me. Hooray for that.

 

Oh yeah, and I heard that bsnes has more responsive input than some other emulators... so for that, I moved the PPU screen rendering to occur at V=240, instead of V=0 (the screen is rendered sooner, basically). This should make the controller feel infinitesimally more responsive. I don't notice the difference even in other emulators, but maybe those people will.

You can visit bsnes's homepage here, at byuu's personal homepage.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...