amethyst is a new lightweight text editor; currently for GTK (Linux, BSD) only.
It uses a tree-view navigation with lazy loading of directories and files, and
also features a hex editor (currently read-only) for binary files.
It is pretty specifically designed to my exact tastes, which was the entire
point of writing it in the first place, but it does have settings files to
configure the MIME types, window geometry, fonts, and colors.
If nothing else, it could make a good base to create your own custom editor
from. It comes in at around 500 lines of actual code on top of hiro (my GUI
toolkit abstraction layer.)
amethyst has been bumped to v2, now with file management support in tree-view
mode: create, delete, and rename files and folders (recursively.)
Coming soon: amethyst v3 with built-in mail client.
I'm releasing a beta version of bsnes, for the purpose of gathering feedback and
ensuring that the first official release of bsnes is as solid as possible.
With the exception of dynamic rate control for automatic audio/video sync, and
no pack-in video shaders or cheat code database, it is mostly feature complete.
However, please do not form a lasting opinion of bsnes based on this beta.
Today I'm announcing the revival of the bsnes project.
This is going to be a standalone SNES emulator, utilizing the higan SNES core,
but with a much faster multi-threaded PPU renderer. The performance should
hopefully exceed the old bsnes-balanced releases, while being just as accurate.
The bsnes project is also going to focus heavily on ease of use, providing
support for direct ROM file loading, automatic gamepad mapping (where possible),
soft-patching support, etc.
The goal is to provide all of the recent higan SNES emulation improvements and
the SNES preservation project work to a wider audience.
After two years, a new version of bass has been released, which contains many
substantial changes: expressions, multi-argument defines, inline macros, and
Unfortunately, code written for bass v14 is unlikely to be compatible with v15,
and code changes will be necessary.
However, the goal going forward is for bass to stabilize. I wanted to offer a
guarantee that all code compiled with v15 will be forward-compatible, but given
the large number of changes, this seems a bad idea. Instead, I'd like to run
with v15 for a decent length of time, and if no serious issues arise, then we
can consider this for the next release.
Do note that unlike previous releases, backward-incompatible changes won't occur
to v15 unless they are of significant, quantifiable benefit.
This release provides several major improvements to Mega Drive emulation which
enhances compatibility a good deal. It also includes important Super Famicom
mosaic emulation improvements, plus a much-needed SuperFX save state issue fix.
This will be the last release for a while: I have an upcoming vacation, and
following that, I'll be shifting my focus back to the SNES preservation project
until my backlog of 125 PAL games is cleared.
higan: many improvements to Emulator::Interface to support forks/frontends
higan: refreshed program icon
icarus: new program icon
Game Boy Advance: slight emulation speedup over v104
Game Boy Advance: synchronize APU FIFO updates better
Mega Drive: added automatic region detection [hex_usr]
Mega Drive: support 8-bit SRAM
Game Boy Advance: fixed bug when changing to THUMB mode via MSR [MerryMage]
Master System: fix bug in backdrop color and background 0 priority [hex_usr]
Mega Drive: backgrounds always update output priority bit [Cydrak]
Mega Drive: emulated interlaced video output
Mega Drive: emulated shadow/highlight mode [Cydrak]
Super Famicom: auto joypad polling clears the shift register when starting
Super Famicom: added new low-entropy RAM initialization mode to more closely match hardware
Game Boy Advance: rumble will now time out after being left on for 500ms
ruby: improved rumble support in udev input driver [ma_rysia]
M68K: move.b (a7)[+/-] adjust a7 by two
M68K: illegal/lineA/lineF opcodes do not modify the stack register
Mega Drive: emulate VIP status bit
uPD7725: improved emulation of OV1/S1 flags [byuu, AWJ, Lord Nightmare]
uPD7725: improved handling of DP, RP updates [Jonas Quinn]
Super Famicom: improved emulation of mosaic effects in hires, interlace, and offset-per-tile modes [byuu, Cydrak]
There are lots of improvements in this new release, both to core emulation and
to the user interface. However, some of these changes are quite substantial, so
regressions are a possibility. Please report any regressions from v103 on the
forums if found.
Note that Mega Drive save RAM files will not be compatible with v103, but will
now be compatible with save RAM files from all other Mega Drive emulators, and
the format will be stable going forward.
Also!! Thanks to the tireless work of Screwtape, the Help->Documentation link in
higan now takes you to a very comprehensive user guide. Please be sure to
consult this if you have any questions about using higan.
Lastly, I've added a link to my Patreon page
(https://patreon.com/byuu/) to the higan
downloads page. The money will go exclusively toward purchasing SNES games for
preservation, hardware and flash carts for reverse engineering, equipment such
as backup drives, etc. Donating is entirely optional and comes with no rewards,
but would of course be greatly appreciated! ^^;
With this release, PC Engine, Master System, Game Gear, Mega Drive and the newly
added SuperGrafx support are now quite usable! They're far from the best
emulators for these systems, but with many bugfixes, full sound emulation, and
save state support ... many games are now fully playable with decent accuracy.
The Game Boy Advance emulation is also now substantially improved with vastly
improved sound quality and a new dot-based PPU renderer. With that change, every
single component in higan is now cycle-based. Regrettably, these changes do
carry a ~20% performance penalty compared to GBA emulation in v102.
added SuperGrafx emulation
improved audio band-pass filtering for all emulated systems
screen rotation is now a hotkey; automatically rotates control bindings
screen rotation now supported on the Game Boy Advance as well (used by a small number of games)
massive improvements to Mega Drive emulation
massive code cleanups and rewrites to many CPU emulation cores (MOS6502, WDC65816, SPC700, etc)
Famicom, Master System, Mega Drive: added PAL emulation support
PC Engine, SuperGrafx, Master System, Game Gear, Mega Drive: added save state support
PC Engine, SuperGrafx: added PSG sound emulation
Master System, Game Gear: added PSG sound emulation
Mega Drive: added Z80 APU emulation [with help from Cydrak]
Mega Drive: added PSG sound emulation
Mega Drive: added YM2612 sound emulation [Cydrak]
Super Famicom: fixed Super Game Boy emulation
PC Engine: added save RAM support (using per-game PCE-CD backup RAM)
Game Boy Advance: substantial improvements to audio emulation quality
Game Boy Advance: convert scanline-based PPU renderer to a dot-based renderer
Game Boy Advance: properly initialize CPU state (fixes Classic NES Series games)
Game Boy Advance: MUL timing corrected [Jonas Quinn]
Mega Drive: emulate special mappers for Phantasy Star IV, Super Street Fighter II, etc.
Super Famicom: use darker luma for INIDISP=0 (large improvement to Final Fantasy III opening)
Super Famicom: fixed bugs in SMP OR1,AND1 instructions
cheat code database regrettably removed from official releases; will be made available separately
This changelog is a summary of major changes. For a detailed list of all
changes, which spans several pages, please see the higan Gitlab repository.
This release adds very preliminary emulation of the Sega Master System
(Mark III), Sega Game Gear, Sega Mega Drive (Genesis), and NEC PC Engine
(Turbografx-16). These cores do not yet offer sound emulation, save states or
I'm always very hesitant to release a new emulation core in its alpha stages, as
in the past this has resulted in lasting bad impressions of cores that have
since improved greatly. For instance, the Game Boy Advance emulation offered
today is easily the second most accurate around, yet it is still widely judged
by its much older alpha implementation.
However, it's always been tradition with higan to not hold onto code in secret.
Rather than delay future releases for another year or two, I'll put my faith in
you all to understand that the emulation of these systems will improve over
I hope that by releasing things as they are now, I might be able to receive some
much needed assistance in improving these cores, as the documentation for these
new systems is very much less than ideal.
Also, please note that starting with this release, I am omitting the
settings.bml file. This means that you will have to manually configure your
gamepad input assignments, and select the appropriate devices from the system
menu after loading games. You may also want to select a more conservative driver
profile than the default (OpenGL, WASAPI.) If they cause you any troubles, a
safer bet would be (Direct3D, DirectSound.)
The good news in omitting this file is that you'll only have to configure inputs
once, and you won't lose any customizations by upgrading to future releases.
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.