Eurogamer article on non-commercial license violations of emulators

We thank Eurogamer dearly for being one of the last bastions of journalism in the games industry and for breaking this story into the mainstream.
We want to especially thank Damien McFerran for covering this story in the first place and Byuu for participating in this story as well.

We encourage everybody to read this story –

The retro gaming industry could be killing video game preservation

We hope that the parties involved will feel more compelled now to treat this scene’s authors with the respect they deserve.

Out of the three parties involved, RetroBit so far has been willing to work with us in trying to remedy the problems with the launched product so far and come to a workable agreement between us and them. We applaud this and we hope that we will be able to resolve the issues in an amicable fashion.

We hope that this and other coverage of this ongoing problem will spell the end for the continued abuse of non-commercially licensed console emulators that continue to be sold on hardware devices like this, and that we can reach amicable solutions in the future with these companies when issues like these happen instead of us continuing to be ignored, and worst, even threatened to be sued unless we remove all articles mentioning their continued license violations. We will not be browbeaten here or cajoled and silenced, what is right is right, and this abuse has to end. We are completely 100% in the right in this situation.

ChaiLove – Another Take on 2D Game Development

Whale from the Love2D logoWhen it comes to 2D game development frameworks, there are many options out there for indie game developers. Every framework has its own pros and cons, and its own use cases. Today, let’s talk about LÖVE, baby.

LÖVE is an awesome framework to make 2D games in Lua. With some modification, these games can be brought to libretro though Lutro. With the advent of C++14, are there tools and features we can bring in to improve the scripting experience behind developing 2D games?

Love2D ChaiScript ChaiLove

Continue reading “ChaiLove – Another Take on 2D Game Development”

RetroArch 1.7.0 -Released!

RetroArch 1.7.0 has just been released! Grab it here.

This latest version has also been uploaded to the Google Play Store.

We here at RetroArch/Libretro wish you a Merry Christmas and a Happy New Year!

If you’d like to show your support, consider donating to us. Check here in order to learn more.

General changelog

– CHEEVOS: Add badges for achievements, shows thumbnail images of achievements.
– CHEEVOS: Leaderboard support.
– CHEEVOS: Only disable savestates on hardcore mode if achievements are not available.
– COMMANDLINE: Fix fullscreen toggle switch.
– COMMON: Add ‘Automatically Load Content To Playlist’ feature, enabled by default.
– COMMON: Fix slowmotion ratio always being reset back to 1.
– COMMON: Optimized NBIO implementations now for Apple, Windows, and Linux. Uses mmap for Linux/Windows/BSD if/when available. File I/O should now be much faster for loading images inside the menu.
– COMMON: Native Blissbox support now for latest firmware as of writing (2.0). Implementation through libusb and/or native Windows HID.
– COMMON: New lightgun API.
– COMMON: New VFS (Virtual File System) API.
– COMMON: Fixed some playlist bugs.
– COMMON: New snow shader.
– COMMON: Fix Quick Menu title, no longer shows ‘Select File’.
– COMMON: Fix loading cores that require no content one after another.
– COMMON: Map Delete key to Y button for non-unified menu keyboard controls.
– COMMON: Fix for relative paths being normalised and generating a duplicate history entry.
– EMSCRIPTEN: Fix references to browserfs.
– FREEBSD: Support libusb HID input driver.
– HAIKU: Buildfix.
– INPUT: Map clear button to DEL key.
– LINUX/X11: Add RetroArch logo to window title bar.
– LINUX/X11: Input driver now supports new lightgun code.
– LINUX/X11: Support window transparency (requires a compositing window manager).
– LOBBIES: Fix for crash on join netplay rooms via touch / glui.
– LOCALIZATION: Update Italian translation.
– LOCALIZATION: Update Japanese translation.
– LOCALIZATION: Update Portuguese-Brazilian translation.
– LOCALIZATION: Update Polish translation.
– LOCALIZATION: Update Russian translation.
– MENU: Snowflake menu shader effect.
– OSX/PPC: Fix the GL2 renderchain, had to use EXT versions of framebuffer/renderbuffer functions.
– PSP: Make it work with Vita’s Adrenaline.
– PSP: Fix audio sync.
– PSP: Fix content loading, port should be functional again.
– PSP: Use 64MB when available.
– SCANNER: Fix crash from Windows-incompatible format string.
– VITA: Improve packaging, installation times.
– WIIU: Disabled the controller patcher for now since it was the source of many stability issues.
– VULKAN: Various stability fixes for WSI.
– WINDOWS: Add MSVC 2017 solution.
– WINDOWS: Get rid of the empty console window in MSVC 2010 builds.
– WINDOWS: Raw input driver now supports new lightgun code.
– WINDOWS: Use configured OSD/text message color on GDI driver.
– WINDOWS/XINPUT: Populate XInput VID/PID from DInput so autoconfig doesn’t rely solely on joypad names
– WINDOWS/XINPUT: Fix crash that occurs in some situations with Steam running and a Steam Controller plugged in.
– WINDOWS: Improve version reporting under System Information.
– WINDOWS: Support window transparency.
– WINDOWS: Correct usage of GetWindowPlacement per MS docs, fixes game window position on Win95/98.
– WINDOWS: Added Visual Studio 2017 support.

Highlights

Integrated Bliss-box support

Grab the newest firmware for this device and you can enjoy out-of-the-box Blissbox support with RetroArch on the following platforms:

  • Linux
  • Windows

For more information, read this separate article here.

This is a legit game changer. This peripheral will allow you to use real physical gamepads from all sorts of different game consoles through one interface.

Right now, only one of these devices is supported.

Badges for achievements

Improved lightgun support

Lightgun and mouse support has been added to both Beetle PSX and Beetle/Mednafen Saturn.

In other input-related news, mouse support has also been added to Beetle/Mednafen PCFX.

Windows 95/Windows 98 (non-SE) support

In a time and era where big companies get lazy and just throw away 32bit support for anything from drivers to operating systems, we have gone to the complete opposite side of the spectrum and started adding even more ancient/obsolete systems instead.

We already had a Windows 98 Second Edition/Millennium Edition/Windows 2000 version of RetroArch. But now, we go back even further in time! The MSVC 2003 version is a version of RetroArch that works on Windows 95 and Windows 98 (the First Version, before Second Edition).

Some things you should know about this version:

  • Rough around the edges, has been mainly tested so far on VMs (Virtual Machines) instead of real hardware.
  • Uses GDI as the default video driver. Our Direct3D driver so far requires DirectX 9 and Cg. It will take some work to make it backwards compatible with DirectX8.
  • We omitted the Windows NT 3.51/4 versions for now. The main issue with these versions is that they do not support DirectInput, so we have no real input drivers available for them.

Right out of the gate, there are 21 cores available for the Windows 95/98 version. Not too shabby, eh?

For more information, read this separate article here.

PSP port works again

Wii U port works again

Wii U port should work fine again after some issues in previous versions.

Automatic scanning of content

This new option, when enabled, will add any new content you load from the file browser (Load Content) to your playlists. If a playlist does not already exist for the specific core and/or game, one will be created on-the-fly. This option is disabled by default, so watch the video if you’d like to learn how to enable it.

There’s more

There’s a ton more that we have properly not covered in this blog article, but we leave it up to the user to discover that for themselves.

What’s coming next for RetroArch

We will have a separate blog post on this soon, as well as more separate blog articles detailing some of the other progress that has been made on the cores front.

Bliss-Box 4-Play integration for RetroArch will soon be here!

RetroArch now has native support for the Bliss-Box 4-Play – a universal game pad adapter – in the latest nightly builds. This support will be included in the upcoming stable release (1.7.0). The new support includes a dependency on libusb, so anyone running the nightly builds should be sure to download an updated redist package to get the new lib.

(Editor’s note – RetroArch version 1.7.0 will be released later this week)

Bliss-Box

RetroArch has support for many adapters and the ability to add countless more, however, it does so by mapping per adapter. Similarly, the 4-Play also supports a large number of controllers but outputs them as one device.  Previously, RetroArch could not map each game pad because of this. Fortunately, the 4-Play was designed with this in mind and has a built in API any project could take advantage of without the need of drivers. In this update of RetroArch each pad seen by the 4-Play is read in to RetroArch appending the pad type to the cfg file found during controller detection.This is just the beginning and there is a road leading to amazing potential with the 4-Play adapter. Using the same API mechanism, we could expect to see but not limited to: native game pad communication with Gamecube and Dreamcast, direct memory card support and LCD screen writing, support for all 12 Playstation 2 pressure buttons, and more. The latest version of the 4-play firmware is required and you must configure your 4-play with the API tool available on the Bliss-Box page for download.

In addition the new firmware from Bliss-Box gives each player a unique USB ID. This allows players to be specific to the physical ports. Each USB name has a number indicating the player order.

You can read more about the Bliss-Box 4-Play here or follow the project on the FaceBook page.

Bounty updates

The following bounties have had their pledges raised –

RetroArch – [Direct3D] Create a Direct3D 11/12 backend for the D3D driver ($160)

This bounty has been increased from $125 to $160!

Description (by Twinaphex):

Right now, our current Direct3D driver has a couple of limitations:

1 – It is Direct3D 9 only, and requires the Cg toolkit in order to work.
2 – It only works with the RGUI menu driver. There does exist a menu_display_driver_d3d file, but it’s unfinished, and right now it only renders text in XMB.

For the purposes of this bounty, we are looking for somebody who can achieve the following:

1 – Write a Direct3D 11/12 driver. The exact implementation we leave up to you, but it would be best if there is still the possibility to use the old Direct3D 9 codepath for systems that don’t support Direct3D11.
2 – Finish up the Direct3D menu display driver so that it can properly render a menu driver like XMB and MaterialUI.

https://www.bountysource.com/issues/44606443-direct3d-create-a-direct3d-11-12-backend-for-the-d3d-driver

RetroArch – Add frontend to host VFS layer ($140)

This bounty has been increased from $70 to $140!

Description (by webgeek1234):

This is a feature request to add a virtual file system layer between Retroarch and the host. This would allow remote files systems such as WebDAV, sshfs, cifs, and NFS to be mounted and ROMs, saves, bios, and and thumbnails to be accessed through them.

https://www.bountysource.com/issues/43321648-add-frontend-to-host-vfs-layer

Smartphone gamepad app for Remote RetroPad ($25)

This bounty has been increased from $10 to $25!

Description (by duduke):

I’m creating this Issue to serve as a bounty for someone to create an Android and iOS app that will use Remote RetroPad to enable using your smartphone as a remote gamepad for RetroArch.

This is especially useful for a mobile LAKKA install where you do not need to carry and gamepad with you.

https://www.bountysource.com/issues/48689040-smartphone-gamepad-app-for-remote-retropad

RetroArch – Graceful switching between video drivers ($165)

This bounty has been increased from $115 to $165!

Description (by hizzlekizzle):

RetroArch currently behaves unpredictably and unstably when switching to cores that want a context other than what is currently active. This can happen because of video_driver settings being different in a core config override or because a core’s core options are telling it to use a different renderer than is active (e.g., GL vs Vulkan)

https://www.bountysource.com/issues/43877115-graceful-switching-between-video-drivers

RetroArch – Vulkan video driver in fullscreen on GeForce Driver 387.92 causing black screen ($50)

Description (by WhiteZeroX) –

With the new nVidia GeForce 387.92 video driver, the RetroArch Vulkan video driver only displays a black screen when starting any emulator. This only occurs in fullscreen mode. If you run in Windowed mode or alt-tab out of RetroArch and back in, then you’ll get an image again (unless you change a resolution setting in the emulator causing the video driver to initialize).

https://www.bountysource.com/issues/50358623-vulkan-video-driver-in-fullscreen-on-geforce-driver-387-92-causing-black-screen