byuu

Filter: #all #release #emulation #programming #untagged

bsnes v110 released2019-09-20 11:07:19

Today I'm releasing bsnes v110, which provides stability improvements and bug-fixes over v109.

Also, the downloads are now ZIP files, so that third-party software is not required to open them.

Please enjoy!

Changelog:

Windows downloads
macOS downloads
Source code

Link #bsnes #snes #emulation #release

bsnes v109 Released2019-09-06 10:31:52

I'm happy to release bsnes v109, with a month's work of non-stop polish on top of the previous release.

Changelog:

You can download the new bsnes release here.

Link #bsnes #emulation #snes #release

bsnes HD Mode 72019-09-03 09:56:17

I merged DerKoun's HD mode 7 auto-perspective correction. This code detects when the option (which is used to perform much better anti-aliasing of HD mode 7 screens) will not work and will disable it for those segments of the screen. What this means is that you can leave the option enabled and ~99% of the time it should just work. You'll get perspective correction where it's supported, and it will disable itself automatically where it's not.

Link #emulation #snes

bsnes Compatibility Options2019-09-02 05:24:10

Back in the late '90s, SNES emulators were not very accurate and cut corners. ROM hacks and fan translations made during this time often ended up being incompatible on real SNES hardware.

As SNES emulation has improved, these older hacks have become broken in modern emulators. In an effort to save these orphaned works, bsnes now features options to emulate the inaccuracies of older emulators.

I strongly advise not enabling these options unless required for compatibility with specific titles, as these options will have adverse effects on licensed SNES software.

A longer-term goal will be to create a database to automatically and selectively enable these hacks only when necessary.

Link #emulation #snes

Konami VRC5 emulation2019-09-01 11:37:03

CaH4e3 and company recently managed to obtain four of the seven Famicom (NES) Konami Q-Tai games, and was able to dump and emulate them.

What makes this so fascinating is that the Q-Tai contains the Konami VRC5 mapper. We've long-since emulated the VRC1-4 and VRC6-7, and now we finally have the last missing piece.

It was too irresistable to not implement. So here's a video demonstration of the latest higan nightly running NHK Gakuen - Space School - Sansu 5 Jen (Jou).

Link #emulation

higan Logger2019-08-24 21:53:54

Unfortunately, with higan supporting 24 systems and counting, developing comprehensive debuggers for all of them is all but impossible.

But that doesn't mean we can't do anything. I've started on a new logging system that allows one to trace CPU instructions and log events such as interrupts triggering, DMAs firing, etc.

Something new in higan is loop rolling: instead of printing the same 2-3 instructions thousands of times when waiting on events, the new tracer can optionally roll these instructions up into one set along with a counter.

In the future, I want to extend this further with better trace masking options, more event notification sources, options to control where to output trace log files to, options to include/exclude specific memory regions when tracing, etc.

Certainly it's not as good as a full-fledged debugger, but hopefully it'll prove useful.

upload-20190824_215354-1

Link #emulation

bsnes Fast PPU Scanline Timings2019-08-23 15:15:09

An interesting detail with SNES emulation is that a dozen or so games write to the display registers a bit early or a bit late into scanlines, and with a pixel-based renderer, it doesn't end up mattering because the overshoot portion of the scanline was invisible. Think something like a background layer showing status text overlaying another background.

The answer is a pixel-based renderer, but that is of course much slower than a scanline-based renderer.

When it comes to scanline rendering, we have to pick a specific cycle to render at. But there is no universal value that works for all games, so traditionally after years of testing, cycle 512 was determined to be the most compatible location.

But for the few games where this still doesn't work, rather than require this performance penalty for accurate emulation, I've decided to include per-game rendering position information so that every game other than Air Strike Patrol will render 100% correctly out of the box with bsnes.

upload-20190823_151509-1

Link #emulation

WonderSwan Auto-Rotation2019-08-22 08:54:06

A new nightly feature is auto screen rotation support for the WonderSwan. The orientation can still be set manually, but this should make it nicer for games that switch between the two during gameplay.

Link #emulation

WonderSwan Icon Emulation2019-08-20 01:52:01

Also thanks to furrtek for making them, I've added status icon emulation to the WonderSwan emulation. They can be disabled under the Video node if desired. I also corrected the rotation support, and added an option to switch between the monaural speaker and stereo headphones. There's never really a reason to use the speaker, especially since you lose the HyperVoice channel that's only available for headphones this way, but the option is there in any case for completeness.

upload-20190820_015201-1

Link #emulation

WonderSwan boot ROM dumped, courtesy of furrtek!2019-08-18 14:58:09

Courtesy of furrtek, we now have the WonderSwan boot ROM extracted and emulated! furrtek was able to achieve this via clock glitching the original hardware during boot-up and then extracting the ROM via serial. WonderSwan Color is next up.

The reason this is important is not just the boot screen logo. If you hold down the start button during startup, the WonderSwan boots into a settings menu where you can configure your name, birth date, gender, and blood type. For the last one, remember this is Japan. In Japan, blood types are roughly analogous to the west and horoscopes.

Your settings are stored on an internal EEPROM (memory chip), which WonderSwan games can then read back to customize the game for you: pre-filling in your name, providing easter eggs, etc. Some cartridges further provide a real-time clock, which can trigger events on your birthday.

With the boot ROM now dumped and emulated, these settings can now be configured via emulation.

Link #emulation #higan

macOS improvements2019-08-17 15:57:22

I fixed all outstanding GUI bugs I could find in hiro for macOS, and also re-added fullscreen support, so aside from missing joypad support, bsnes should be equally functional on all supported operating systems now.

Link #emulation

bsnes-hd beta 92019-08-16 11:14:30

DerKoun released bsnes-hd beta 9, which features some cool new HD windowing and gradient effects. Here's a before-and-after example of the gradient effect. Pretty cool stuff!

upload-20190816_111430-1

upload-20190816_111430-2

Link #emulation

Multi-Monitor Support2019-08-15 18:14:39

I added multi-monitor support to higan and bsnes. Not complete yet, long ranty technical breakdown on my Twitter feed if you're interested. But it's coming along ...

upload-20190815_181439-1

Link #emulation

bsnes 480p Deinterlacing2019-08-12 14:01:06

A new feature as of bsnes v108.8 is 480p deinterlacing. Rather than render each field of interlaced content separately, bsnes can optionally render both fields, turning 480i content into 480p60 content. Thanks to bsnes' multi-threaded PPU renderer, this incurs less than 3% additional CPU resources when enabled. Below are some before and after demonstrations. I've also posted a video demonstrating this in action here, although the YouTube lossy encoding doesn't quite do the improvement justice.

upload-20190812_140106-1

upload-20190812_140106-2

Link #emulation

bsnes Overclocking: Gradius III2019-08-10 04:49:10

Left: bsnes running at 100% speed.

Right: bsnes running at 400% speed.

Link #emulation #video

bsnes Overclocking: Contra III2019-08-10 04:40:59

Left: bsnes running at 100% speed.

Right: bsnes running at 200% speed.

Link #emulation #video

SNES widescreen patches2019-08-08 09:54:46

DerKoun has implemented widescreen support into his bsnes-hd fork. The results when they work are quite stunning, but to fully work, pretty much every game will require manual reprogramming work to handle things like offscreen sprites and loading additional tilemap data.

I'm hoping to find someone interested in producing these ROM hacks. If we can get at least one working patch made for a major SNES title, I will integrate the widescreen support into bsnes official. The idea would be to include the widescreen patches alongside the emulator, so that games could automatically switch to widescreen mode when enabled in the settings.

upload-20190808_095446-1

upload-20190808_095446-2

upload-20190808_095446-3

upload-20190808_095446-4

Link #emulation