1, 2, 3, 4, 5 ... 25  Next
higan v104 released 
Author Message
User avatar

Joined: 2014-09-25 13:52
Posts: 8294
 higan v104 released
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! ^^;

Changelog:
* nall/dsp: improved first-order IIR filtering
* Famicom: improved audio filtering (90hz lowpass + 440hz lowpass + 14khz highpass)
* Game Boy Advance: corrected bug in PSG wave channel emulation [Cydrak, dwedit]
* Mega Drive: added first-order 2.84KHz low-pass filter to match VA6 model hardware
* Mega Drive: lowered PSG volume relative to YM2612 to match VA6 model hardware
* Mega Drive: Hblank flag is not always set during Vblank
* Mega Drive: fix PAL mode reporting from control port reads
* Famicom: improved phase duty cycle emulation (mode 3 is 25% phase inverted; counter decrements)
* Mega Drive: reset does not cancel 68K bus requests
* Mega Drive: 68K is not granted bus access on Z80 reset
* Mega Drive: CTRL port is now read-write, maintains value across controller changes
* Z80: IX, IY override mode can now be serialized in save states
* 68K: fixed calculations for ABCD, NBCD, SBCD [hex_usr, SuperMikeMan]
* SPC700: improved all cycle timings to match results observed by Overload with a logic anaylzer
* Super Famicom: SMP uses a separate 4x8-bit buffer for $f4-f7; not APU RAM [hex_usr]
* Super Famicom: SMP TEST register is now finally 100% fully emulated [byuu, AWJ]
* Game Boy Advance: DMA can run between CPU instruction cycles
* Game Boy Advance: added 2-cycle delay between DMA activation and transfers
* higan: improved aspect ratio correction accuracy at higher video scaling sizes
* higan: overscan masking will now actually crop the underlying video instead of just blanking it
* Mega Drive: center video when overscan is disabled
* higan: added increment/decrement quick save slot hotkeys
* Game Boy Advance: fixed wave RAM nibble ordering (fixes audio in Castlevania, Pocket NES) [Cydrak, dwedit]
* higan: added new adaptive windowed mode: resizes the window to the current emulated system's size
* higan: added new integral scaling mode: resizes the window to fill as much of the screen as possible
* higan: main window is now resizable and will automatically scale contents based on user settings
* higan: fixed one-time blinking of the main window on startup caused by focus stealing bug
* ruby: fixed major memory leak in Direct3D driver
* ruby: added fullscreen exclusive mode to Direct3D driver
* Super Famicom: corrected latching behavior of BGnHOFS PPU registers
* higan: all windows sans the main viewport can be dismissed with the escape key now
* ruby: complete API rewrite; many audio drivers now support device selection
* higan: output frequency can now be modified
* higan: configuration settings split to individual menu options for faster access to individual pages
* ruby: improved WASAPI driver to event-driven model; more compatible in exclusive mode now
* libco: fix compilation of sjlj and fiber targets [Screwtape]
* ruby: added YV12 and I420 support to X-Video driver
* Game Boy: added TAMA emulation (RTC emulation is not working yet) [thanks to endrift for notes]
* Game Boy: correct data ordering of MMM01 ROMs (MMM01 ROMs will need to be re-imported into higan)
* Game Boy: store MBC2 save RAM as 256-bytes instead of 512-bytes (RAM is 4-bit; not 8-bit with padding)
* Game Boy: fixed a bug with RAM serialization in games without a battery
* Mega Drive: fix CRAM reads (fixes Sonic Spinball) [hex_usr]
* Game Boy: added rumble support to MBC5 games such as Pokemon Pinball
* Game Boy: added MBC7 emulation (accelerometer X-axis, EEPROM not working yet) [thanks to endrift for notes]
* hiro: macOS compilation fixes and UI improvements [MerryMage, ncbncb]
* Game Boy: added MBC6 emulation (no phone link or flash support; timing bugs in game still)
* Game Boy: HDMA syncs to other components after each byte transfer now
* Game Boy: disabling the LCD completely halts the PPU (fixes onscreen graphical corruption in some games)
* Mega Drive: added 6-button Fighting Pad emulation [hex_usr]
* 68K: TAS sets d7 when EA mode is a direct register (fixes Asterix graphical corruption)
* Game Boy: STAT mode is forced to zero when LCD is disabled (fixes Pokemon Pinball)
* LR35902: complete rewrite
* icarus: high-DPI is not supported on Windows yet; remove setting for consistency with higan window sizes
* hiro: added full support for high-DPI displays on macOS [ncbncb]
* ARM7TDMI: complete rewrite
* Super Famicom: disabled channels during HDMA initialization appear to set DoTransfer flag
* V30MZ: code cleanup
* Mega Drive: added optional TMSS emulation; disabled by default [hex_usr]
* ARM7TDMI: pipeline decode stage caches CPSR.T [MerryMage]
* ARM7TDMI: fixed timing of THUMB stack multiple instruction [Cydrak]
* higan: detect when ruby drivers crash; disable drivers on next startup to prevent crash loop
* Mega Drive: added automatic region detection (favors NTSC-J > NTSC-U > PAL) [hex_usr]
* Mega Drive: support 8-bit SRAM
* ARM7TDMI: PC should be incremented by 2 when setting CPSR.T via MSR instruction [MerryMage]
* ruby: add Windows ASIO driver support (does not work on some systems due to buggy vendor drivers)
* higan: default to safe drivers on a new install; due to instability with some optimal drivers

Download: https://byuu.org/emulation/higan/
Documentation: https://doc.byuu.org/higan/

_________________
What the hell's going on? Can someone tell me please?
Why I'm switching faster than the channels on TV.
I'm black, then I'm white. No, something isn't right.
My enemy's invisible, I don't know how to fight.


2017-08-12 11:28
User avatar

Joined: 2014-09-25 13:57
Posts: 2144
Location: Australia
 Re: higan v104 released
byuu wrote:
Also!! Thanks to the tireless work of Screwtape, the Help->Documentation link in higan now takes you to a very comprehensive user guide.

Thanks for the shout-out!

One minor suggestion: currently https://doc.byuu.org/higan/ links to the v104 docs, which is fine (since that's the latest version) but that means you'll have to update that page every time a new version is released. If you link to https://higan.readthedocs.io/ that will always be the latest stable version (other versions available by clicking "Read the Docs" at the bottom of the sidebar menu).

Everybody else: I am still working on these docs, so any suggestions and comments are welcome!

_________________
Maintainer of the unofficial git repository for higan.

The ending of the words is ALMSIVI.


2017-08-12 12:18

Joined: 2014-09-27 09:27
Posts: 2384
Location: Australia
 Re: higan v104 released
Hmmm, I can't get Gamepad input to work and here's how I've configured it: http://imgur.com/a/6TUgQ

Trying to play Megaman X, the game doesn't recognize anything from the gamepad. Only abnormal thing I did after a fresh install was to place a blank settings.bml file in the same folder as the Higan installation, and the program is definitely writing to the file. Perhaps it is reading configuration data from the vanilla location in AppData or wherever it normally stores the config file? Edit: No, that isn't the case. I deleted the original config file and ensured the program wasn't recreating it.

I tried restarting the program after configuring the gamepad as well.

Logitech F310 Gamepad
Windows 10 x64 Pro


I figured it out. I had to actually ya'know, metaphorically plug in the controller under the Super Famicon menu bar item.

_________________
Windows 10 Pro x64 | Intel Core i7 920 @ 3.6GHz | ASUS P6T Motherboard | 24GB 1140~MHz DDR3 RAM | MSI Geforce 1070Ti Gamer | Integrated Sound | Samsung 860 Pro 512GB SSD | Corsair AX760 Power Supply | Fractal Design Define R5 PC case


2017-08-12 12:55
User avatar

Joined: 2016-06-22 00:20
Posts: 2
 Re: higan v104 released
There seems to be a bug whenever setting new controller settings the controls stop working.


2017-08-12 13:02
User avatar

Joined: 2014-09-25 13:57
Posts: 2144
Location: Australia
 Re: higan v104 released
Franpa wrote:
I figured it out. I had to actually ya'know, metaphorically plug in the controller under the Super Famicon menu bar item.

Luckily, that's already in the next version of the docs. ;)

_________________
Maintainer of the unofficial git repository for higan.

The ending of the words is ALMSIVI.


2017-08-12 13:45
User avatar

Joined: 2014-10-29 21:24
Posts: 1814
Location: People's Republic of America
 Re: higan v104 released
The default controller setting of "None" strikes again!

byuu wrote:
will now be compatible with save RAM files from all other Mega Drive emulators

Well, not all of them. The non-padded format is used by BlastEm, but the padded format is used by the Mega Everdrive, Gens and all of its forks, Kega Fusion, and Genesis Plus GX (Wii homebrew/libretro core). Still, the padding doesn't exist in an actual Mega Drive cartridge, so higan and BlastEm are right to omit it.

In case anyone needs it, here's mega-rammer v01, a tool that can remove or add padding.

_________________
bsnes-mcfly: A port of the Qt GUI from v073 to v106.
nSide: A higan fork w/NES boards and peripherals and Sonic & Knuckles Lock-On.
Dragon Quest I & II RPGOne Beran Inn bugfix


2017-08-12 13:52

Joined: 2017-08-12 14:50
Posts: 3
 Re: higan v104 released
Great work, eagerly awaiting Mega Drive emulation to be finalized, many games still feature glits, bugs or do not work and the emulator lacks a Blargg's NTSC filter for Mega. But progress has been accelerated and lacks much of an accuracy emulator for this platform.
I hope you achieve the perfection you achieved in SNES.


2017-08-12 15:14
User avatar

Joined: 2014-09-27 09:21
Posts: 1550
Location: 日本
 Re: higan v104 released
This is a very welcome release and it is clear that much work was put into it. I am curious as to what percentage Game Boy compatibility is up to now?

_________________
CaptainJistuce: He's totally in the wrong, Kakashi's 100% in the right.
Note: The above statement is subject to act of byuu.


2017-08-12 15:28

Joined: 2014-09-27 09:27
Posts: 2384
Location: Australia
 Re: higan v104 released
My bad.

_________________
Windows 10 Pro x64 | Intel Core i7 920 @ 3.6GHz | ASUS P6T Motherboard | 24GB 1140~MHz DDR3 RAM | MSI Geforce 1070Ti Gamer | Integrated Sound | Samsung 860 Pro 512GB SSD | Corsair AX760 Power Supply | Fractal Design Define R5 PC case


2017-08-12 15:36
User avatar

Joined: 2014-10-29 21:24
Posts: 1814
Location: People's Republic of America
 Re: higan v104 released
leostrife wrote:
the emulator lacks a Blargg's NTSC filter for Mega

You can make a quick-and-dirty shader for the Mega Drive by taking the quark shader NTSC.shader, opening manifest.bml, and making the following change to the first
program
node:
Code:
program
  filter: nearest
  format: rgba16f
  width: 80%  //Set the width to 80% for the Mega Drive
  height: 50%  //Set the height to 50% for the Mega Drive
  modulo: 2
  fragment: ntsc-pass1.fs

...and saving the shader as "NTSC (Mega Drive).shader" or something similar.

If you want to make similar changes for the other consoles, then use
width: 100%
for the PC Engine,
width: 200%
for the Super Famicom, and
width: 400%
(the original) for the Famicom and Master System. The height needs to be
50%
for the Super Famicom and PC Engine, and
100%
for the Famicom and Master System.

Note that even with this change, interlaced games won't look quite right. Besides, the Mega Drive emulator does not properly support interlace mode, so you can't play Sonic The Hedgehog 2's multiplayer mode even if you use "None" as your shader.

Note that your new shader will work specifically with the Mega Drive and no other console. Please, don't try and play any other console using it. Just trust me on this one.

Image

_________________
bsnes-mcfly: A port of the Qt GUI from v073 to v106.
nSide: A higan fork w/NES boards and peripherals and Sonic & Knuckles Lock-On.
Dragon Quest I & II RPGOne Beran Inn bugfix


2017-08-12 15:38
1, 2, 3, 4, 5 ... 25  Next