New articles2016-11-12, 2016-12-01

I've posted some new articles around the politics as of late. I needed a space to reflect on things. Take of them what you will.

New article on SSL/HTTPS2016-09-18

I've posted a new article concerning SSL/HTTPS on the web; the push for all sites to move to HTTPS; and the failure of free certificate authorities.

Transport Layer Security (SSL/HTTPS)

For those who don't want to read an entire article; I'd just like to publicly call out the blatant hypocisy of Let's Encrypt here:

They deny their users the ability to request wildcard certificates; yet enjoy using wildcards on their parent site, eff.org

They deny their users the ability to request certificates that last longer than three months, yet their very own letsencrypt.org website uses a certificate with a three year validity length!

If they want to tell all their users how to run their sites, then they should lead by example and give up these luxuries themselves.

New servers; SSL/HTTPS support; IPv6 support2016-09-17

The old byuu.org has been replaced with two new servers. The forum now runs on its own separate server. In order for the SSL certificate to work across both; I had to use A/AAAA records to point board.byuu.org at the secondary server.

With the server move from New Jersey to Chicago, IPv6 support has begun working once again.

For anyone who has been following my progress for the past two weeks; I have been trying my best to find a solution to avoid paying for an SSL certificate: not because I couldn't afford it, but because security should not cost money.

Unfortunately, there are only two free options: StartSSL, which won't cover subdomains at all (a complete non-starter); and Let's Encrypt, a hypocritical joke of a service.

I'll write more on this topic at a later date, but for now — and against my strongest moral objections — I gave in and paid for an SSL certificate. Since it is recognized by all browsers, I went ahead and made HTTP automatically redirect to the HTTPS version of the site.

Sega Mega Drive (Sega Genesis) emulation2016-08-21

On July 8th, I started on a Sega Mega Drive emulation core.

As of today, it's finally able to run its first game with no visible issues other than a lack of audio emulation. Yay!

Still, it's going to be a long haul to get this core to be of high quality: the Mega Drive is roughly on par with the SNES in terms of technical complexity when it comes to aiming for extreme accuracy.

I'm not sure when it will appear in official releases.

higan v101 released — back to basics2016-08-08

Not a large changelog this time, sorry. This release is mostly to fix the SA-1 issue, and to get some real-world testing of the new scheduler model. Most of the work in the past month has gone into writing a 68000 CPU core; yet it's still only about half-way finished.

Changelog:

( Download ) ( Discuss )

Also, I've added a new tutorial page for higan, concerning firmware and its usage. This is made needlessly difficult right now due to the distribution methods used today. I implore the No-Intro team to please reconsider their position on firmware for the sake of making preservation more complete, and accurate SNES emulation easier for everyone.

Tutorial: higan - Firmware

Mobile2016-08-08

Added a meta viewport tag, so the site should be a lot more readable on mobile now. Site works best in landscape mode due to the navigation bar and the size of some of the images. I'll look into improving things more in the future.

Article: Emulator Latency2016-08-03

I've finally taken the time to write up a definitive guide to my thoughts on the causes of and limited workarounds to emulator latency. You can read it here:

Emulator Latency

higan v100 released2016-07-08

higan has finally reached v100!

I feel it's important to stress right away that this is not "version 1.00", nor is it a major milestone release. Rather than arbitrary version numbers, all of my software simply bumps version numbers by one for each official release. As such, higan v100 is simply higan's 100th release.

That said, the primary focus of this release has been code clean-ups. These are always somewhat dangerous in that regressions are possible. We've tested through sixteen WIP revisions, one of which was open to the public, to try and minimize any regressions. But all the same, please report any regressions if you discover any.

Changelog:

Note 1: the audio volume change means that SGB and MSU1 games won't lose half the volume on the SNES sounds anymore. However, if one goes overboard and drives the sound all the way to max volume with the MSU1, clamping may occur. The obvious solution is not to drive volume that high (it will vastly overpower the SNES audio, which usually never exceeds 25% volume.) Another option is to lower the volume in the audio settings panel to 50%. In general, neither is likely to ever be necessary.

Note 2: the synchronize video option was hidden from the UI because it is no longer useful. With the advent of compositors, the loss of the complicated timing settings panel, support for the WonderSwan and its 75hz display, the need to emulate variable refresh rate behaviors in the Game Boy, the unfortunate latency spike and audio distortion caused by long Vsync pauses, and the arrival of adaptive sync technology ... it no longer makes sense to present this option. However, as stated, you can edit settings.bml to enable this option anyway if you insist and understand the aforementioned risks.

( Download ) ( Discuss )

higan v099 released2016-06-10

Time for a new release. There are a few important emulation improvements and a few new features; but for the most part, this release focuses on major code refactoring, the details of which I will mostly spare you.

The major change is that, as of v099, the SNES balanced and performance cores have been removed from higan. Basically, in addition to my five other emulation cores, these were too much of a burden to maintain. And they've come along as far as I was able to develop them. If you need to use these cores, please use these two from the v098 release.

I'm very well aware that ~80% of the people using higan for SNES emulation were using the two removed profiles. But they simply had to go. Hopefully in the future, we can compensate for their loss by increasing the performance of the accuracy core.

If you want to know more about the removal of these two profiles, please read this article for a more in-depth explanation.

Changelog:

( Download ) ( Discuss )

higan v098 released2016-04-06

This release adds WonderSwan, WonderSwan Color and SwanCrystal emulation. Note that the SwanCrystal is 99.9% identical to the WonderSwan Color sans the LCD panel type; thus going forward I won't be including it in the list of emulated systems.

Please note that this will be the final higan release to include the balanced and performance cores. The accuracy core has now become the only core used by higan.

Furthermore, to simplify naming, the internal emulation cores are now nameless. This means bnes, bsnes, bgb, bgba and bws are now all just part of higan. loki is thus both a subset (the SNES core alone) and superset (with added debugging capabilities) of higan. The internal names were meaningless anyway, as they were never exposed anywhere except one line in each core's source code.

( Download ) ( Discuss )

New Article: The State of Emulation, Part IV2016-04-03

Bet you didn't expect a new article in this series, did you? :)

It may not be the most upbeat version, but it is what it is ...

Article Link

higan v097 released2016-01-16

This release features improvements to all emulation cores, but most substantially for the Game Boy core. All of blargg's test ROMs that pass in gambatte now either pass in higan, or are off by 1-2 clocks (the actual behaviors are fully emulated.) I consider the Game Boy core to now be fairly accurate, but there's still more improvements to be had.

Also, what's sure to be a major feature for some: higan now has full support for loading and playing ordinary ROM files, whether they have copier headers, weird extensions, or are inside compressed archives. You can load these games from the command-line, from the main Library menu (via Load ROM Image), or via drag-and-drop on the main higan window. Of course, fans of game folders and the library need not worry: that's still there as well.

Also new, you can drop the (uncompressed) Game Boy Advance BIOS onto the higan main window to install it into the correct location with the correct file name.

Lastly, this release technically restores Mac OS X support. However, it's still not very stable, so I have decided against releasing binaries at this time. I'd rather not rush this and leave a bad first impression for OS X users.

Changelog:

( Download ) ( Discuss )

Help wanted page added2015-12-24

I've put up a page with a list of SNES-related items that I need help obtaining. I'm not strictly seeking donations, I am looking to pay full market value to buy, or to cover shipping simply to borrow, many items for a very short while.

If anyone could help, it would be highly appreciated, and I'd be happy to try and return the favor in any way that I could.

Help Wanted page

OS X2015-12-24

Kevin Deane has very graciously donated a working 2011 Macbook Pro!

As long-time readers will know, the $600 Mac Mini I purchased in 2011 died completely within a year on me. And at that time, the OS X ports of my software came to a halt. I was (and still am) unwilling to purchase any future Apple products due to this.

However, I held no objections to a donation, but didn't consider it likely that such an event would ever occur. Needless to say, I am very pleasantly surprised!

As such, I will be spending the next few months working on the hiro/Cocoa port, so that my software such as higan can once again be compiled and run natively on OS X. Look forward to more news on that in the future.

Many thanks again to Kevin!

higan v096 released2015-12-21

This release adds many UI refinements, new features, and GBA emulation improvements.

I'm looking for Super Famicom console donations, so that I can include hardware PCB scans and document differences for my SNES preservation efforts. If anyone would be interested in helping, I'd be very grateful. More about this here.

Also, I've attempted to add a WASAPI audio driver for the Windows port, but I'm having trouble getting it stable. If there are any WASAPI experts that could lend a hand there, that would also be very helpful!

Changelog:

( Download ) ( Discuss )

higan v095 released2015-10-07

After 20 months of development, higan v095 is released at long last!

The most notable feature is vastly improved Game Boy Advance emulation. With many thanks to endrift, Cydrak, Jonas Quinn and jchadwick, this release contains substantially improved CPU timings and many bugfixes. Being one of only two GBA emulators to offer ROM prefetch emulation, higan is very near mGBA in terms of accuracy, and far ahead of all others. As a result of these fixes, compatibility is also much higher than in v094.

There are also several improvements to SNES emulation. Most significantly is support for mid-scanline changes to the background mode in the accuracy profile.

Due to substantial changes to the user interface library used by higan, this release features yet again a brand-new UI. With the exception of video shaders and NSS DIP switch selection, it is at feature-parity with the previous UI. It also offers some new features that v094 lacked.

The cheat code database has also been updated to the latest version by mightymo.

Lastly, I will not be offering official 32-bit Windows binaries going forward. higan will technically build and run on 32-bit systems, but I am tired of having to jump through flaming hoops to update MinGW32's headers that haven't been updated since 1996. The 10% performance hit for running in 32-bit mode is also a significant deterrent. If anyone wants to take over 32-bit Windows builds, I'll happily link them from the higan downloads page.

Note: I'm working on a new user guide to explain how to use higan and icarus. So if you have trouble using this release, check back here in a few days please. But essentially, you run icarus to import your games, and then higan to play them. It's a bit different from the direct integration of ananke with v094.

( Download ) ( Discuss )

higan v094.44 beta2015-09-30

Lots of improvements to GBA emulation over the past month, so I wanted to go ahead and post one more beta release before committing to v095 official.

You can download and discuss the beta here.

trance v01 released2015-09-30

I've posted trance to the tools section of the site.

This is a tool that I use for translating content (such as manga chapters) from Japanese to English. Of course, you can use it for localization from any language to any other language.

Currently, it only compiles with GTK+, so Linux or the Windows GTK+ run-time is required; and you will need to build it yourself to use it.

This probably won't be too useful to others, but it's up just in case anyone is interested in such a thing.