Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

VBA Next Switch: Difference between revisions

From GameBrew
m (HydeWing moved page VBA-next Switch to VBA Next Switch without leaving a redirect)
No edit summary
Line 1: Line 1:
{{Infobox Switch Homebrews
{{Infobox Switch Homebrews
|title=VBA-next
|title=VBA-next
|image=vbanextswitch.png
|image=vbanextnx.png
|description=VBA-next switch is a port of the Game Boy Advance emulator VBA-M for Switch.
|description=Libretro VBA-Next port for Switch.
|author=RSDuck
|author=RSDuck
|lastupdated=2018/07/14
|lastupdated=2018/07/14
Line 8: Line 8:
|version=0.7
|version=0.7
|license=GPL-2.0
|license=GPL-2.0
|download=https://dlhb.gamebrew.org/switchhomebrews/vbanextswitch.7z
|download=https://dlhb.gamebrew.org/switchhomebrews/vbanextnx.7z
|website=https://gbatemp.net/threads/vba-next-for-switch-works-4-1.504947/
|website=https://gbatemp.net/threads/vba-next-for-switch-works-4-1.504947/
|source=https://github.com/RSDuck/vba-next-switch
|source=https://github.com/RSDuck/vba-next-switch
|donation=
|donation=
}}
{{#seo:
|title=Switch Homebrew Emulators (Handheld) - GameBrew
|title_mode=append
|image=vbanextswitch.png
|image_alt=VBA-next
}}
}}
{{obsolete}}
{{obsolete}}
The VBA-next switch is essentially a version of the Game Boy Advance emulator VBA-M that has been modified to work on the Nintendo Switch. Although it uses the libretro version of VBA-M, it operates independently of libretro.
VBA-next switch is a port of the Game Boy Advance emulator VBA-M for Switch. It's based off the libretro version of VBA-M ([https://github.com/libretro/vba-next VBA-next]) but is completely detached from libretro. The GUI is based of [https://github.com/shinyquagsire23/3DSGBA 3DSGBA], which was heavily refactored.


Thanks to its foundation in VBA-M, it boasts an exceptionally high level of compatibility, with nearly all games running smoothly and at full speed.
Because it's based of VBA-M the compability is very high and almost all games run at fullspeed.


'''It's important to note that this project has been discontinued for some time now and may not be compatible with the latest firmware updates. As an alternative, we recommend using either the mGBA standalone emulator or the vba-next libretro core.'''
'''Note:''' This project is no longer maintained. Use [[MGBA Switch|mgba]] (standalone or libretro) or the [[RetroArch Switch|vba-next libretro core]] instead, it is regularly updated and features more options.


==Features==
==Features==
* Quite high compability(haven't tried many games)
*Quite high combability (haven't tried many games).
* Save games and save states
*Save games and save states.
* Frameskip
*Frameskip.
==Problems==
 
* In rare occasions the audio has problems
==User guide==
* Video and Input not frame accurate(see Speed hack)
===Speed Hack===
'''Note:''' Some of the information presented below may be outdated or inaccurate.
 
The emulator experienced frequent slowdowns before the implementation of the "speed hack." Although the following discoveries were made independently, they may be common knowledge among emulator developers. The two factors that were found to contribute to the emulator's sluggish performance were: the thread/core it was running on, and the use of VSync.


==Media==
To address the first issue, the entire emulator was shifted to a second thread with high priority and pinned to a core not currently in use by the system.
'''HOMEBREW Nintendo Switch (NEW GAME BOY ADVANCE EMULATOR) (VBA NEXT) VERY IMPRESSED (Part 1) - ([https://www.youtube.com/watch?v=hLvIG0Tm8zY MrHomebrew])'''<br>
 
<youtube>hLvIG0Tm8zY</youtube>
Eliminating the wait for vertical synchronization caused visual artifacts, so the emulator was restricted to the second thread and locked at 60 Hz using sleep thread. Meanwhile, the main thread was locked by the VSync, receiving the framebuffer and sending input while leaving the audio in the emulator thread.
 
However, this led to the issue of both threads, despite being locked at 60 Hz, occasionally running out of sync. Consequently, the input or the graphics of a frame may be skipped or sometimes out of sync.


==Screenshots==
==Screenshots==
https://dlhb.gamebrew.org/switchhomebrews/vbanextswitch-01.png
https://dlhb.gamebrew.org/switchhomebrews/vbanextnx2.png
https://dlhb.gamebrew.org/switchhomebrews/vbanextswitch-02.png


==Speed Hack==
https://dlhb.gamebrew.org/switchhomebrews/vbanextnx4.png
Note: Some of the information presented below may be outdated or inaccurate.


The emulator experienced frequent slowdowns before the implementation of the "speed hack." Although the following discoveries were made independently, they may be common knowledge among emulator developers. The two factors that were found to contribute to the emulator's sluggish performance were the thread/core it was running on and the use of VSync.
https://dlhb.gamebrew.org/switchhomebrews/vbanextnx5.png


To address the first issue, the entire emulator was shifted to a second thread with high priority and pinned to a core not currently in use by the system.
https://dlhb.gamebrew.org/switchhomebrews/vbanextnx3.png


Eliminating the wait for vertical synchronization caused visual artifacts, so the emulator was restricted to the second thread and locked at 60 Hz using sleep thread. Meanwhile, the main thread was locked by the VSync, receiving the framebuffer and sending input while leaving the audio in the emulator thread.
==Media==
'''HOMEBREW Nintendo Switch (NEW GAME BOY ADVANCE EMULATOR) (VBA NEXT) VERY IMPRESSED (Part 1) ([https://www.youtube.com/watch?v=hLvIG0Tm8zY MrHomebrew])'''<br>
<youtube>hLvIG0Tm8zY</youtube>


However, this led to the issue of the two threads, despite being locked at 60 Hz, occasionally running out of sync. Consequently, a frame's input or graphics might be skipped or become unsynchronized.
==Known issues==
* In rare occasions the audio has problems.
* Video and Input not frame accurate(see Speed hack).


==Changelog==  
==Changelog==  
'''0.7'''
'''0.7'''
* Cheat support. They can be directly entered from the emulator, just enter the cheats menu from the pause menu.
* Cheat support. They can be directly entered from the emulator, just enter the cheats menu from the pause menu..
* Fullscreen UI in docked mode(though the implementation isn't optimal, also currently not tested)
* Fullscreen UI in docked mode(though the implementation isn't optimal, also currently not tested).
* Some minor improvements and adjustments, seriously
* Some minor improvements and adjustments, seriously.
'''0.6'''
'''0.6'''
* Complete UI overhaul. Now it looks almost native!
* Complete UI overhaul. Now it looks almost native.
* Setting to offset the real time clock
* Setting to offset the real time clock.
'''0.5'''
'''0.5'''
* UI improvements
* UI improvements.
* Fast forward is now on the R button
* Fast forward is now on the R button.
* There's an option to swap the function of the L and R buttons with ZL and ZR's function.
* There's an option to swap the function of the L and R buttons with ZL and ZR's function.
* Some minor adjustments and bug fixes
* Some minor adjustments and bug fixes.
'''0.4'''
'''0.4'''
* Reduced lag from emulator and main thread image synchronisation
* Reduced lag from emulator and main thread image synchronisation.
* Increased filename buffer
* Increased filename buffer.
* Filenames are sorted alphabetically
* Filenames are sorted alphabetically.
'''0.3'''
'''0.3'''
* Better audio in almost all situations
* Better audio in almost all situations.
* More robust string and path handling
* More robust string and path handling.
* Added autosaving
* Added autosaving.
* Added settings menu (press Minus to open it)
* Added settings menu (press Minus to open it).
* Added screen scaling (Options: Nearest Integer, Nearest Fullscreen, Bilinear Fullscreen. The last one is a bit slow so I don't recommend it)
* Added screen scaling (Options: Nearest Integer, Nearest Fullscreen, Bilinear Fullscreen. The last one is a bit slow so I don't recommend it).
* Added RTC support
* Added RTC support.
* Fixed [https://github.com/RSDuck/vba-next-switch/issues/8 #8] (analog sticks can be disabled via the settings)
* Fixed [https://github.com/RSDuck/vba-next-switch/issues/8 #8] (analog sticks can be disabled via the settings).
'''0.2'''
'''0.2'''
*fix audio.
*fix audio.
Line 84: Line 85:


==Credits==
==Credits==
* jakibaki and dene- who helped massively with their Pull Requests
* [https://github.com/jakibaki jakibaki] and [https://github.com/dene- dene-] who helped massively with their Pull Requests.
* BernardoGiordano for the great keyboard in Checkpoint.
* [https://github.com/BernardoGiordano BernardoGiordano] for the great keyboard in [https://github.com/BernardoGiordano/Checkpoint Checkpoint].
* VBA-M and libretro devs
* VBA-M and [https://github.com/libretro/vba-next/graphs/contributors libretro devs].
* shinyquagsire23 and Steveice10 for 3DSGBA
* shinyquagsire23 and Steveice10 for [https://github.com/shinyquagsire23/3DSGBA 3DSGBA].
* libnx devs
* [https://github.com/switchbrew/libnx/graphs/contributors libnx devs].


== External links ==
== External links ==
* Official Website - https://gbatemp.net/threads/vba-next-for-switch-works-4-1.504947/
* GitHub - https://github.com/RSDuck/vba-next-switch
* Github - https://github.com/RSDuck/vba-next-switch
* GBAtemp - https://gbatemp.net/threads/vba-next-for-switch-works-4-1.504947/
* ForTheUsers - https://apps.fortheusers.org/switch/VBA_NEXT

Revision as of 14:29, 27 Mayıs 2023

VBA-next
Vbanextnx.png
General
AuthorRSDuck
TypeHandheld
Version0.7
LicenseGPL-2.0
Last Updated2018/07/14
Links
Download
Website
Source

VBA-next switch is a port of the Game Boy Advance emulator VBA-M for Switch. It's based off the libretro version of VBA-M (VBA-next) but is completely detached from libretro. The GUI is based of 3DSGBA, which was heavily refactored.

Because it's based of VBA-M the compability is very high and almost all games run at fullspeed.

Note: This project is no longer maintained. Use mgba (standalone or libretro) or the vba-next libretro core instead, it is regularly updated and features more options.

Features

  • Quite high combability (haven't tried many games).
  • Save games and save states.
  • Frameskip.

User guide

Speed Hack

Note: Some of the information presented below may be outdated or inaccurate.

The emulator experienced frequent slowdowns before the implementation of the "speed hack." Although the following discoveries were made independently, they may be common knowledge among emulator developers. The two factors that were found to contribute to the emulator's sluggish performance were: the thread/core it was running on, and the use of VSync.

To address the first issue, the entire emulator was shifted to a second thread with high priority and pinned to a core not currently in use by the system.

Eliminating the wait for vertical synchronization caused visual artifacts, so the emulator was restricted to the second thread and locked at 60 Hz using sleep thread. Meanwhile, the main thread was locked by the VSync, receiving the framebuffer and sending input while leaving the audio in the emulator thread.

However, this led to the issue of both threads, despite being locked at 60 Hz, occasionally running out of sync. Consequently, the input or the graphics of a frame may be skipped or sometimes out of sync.

Screenshots

vbanextnx2.png

vbanextnx4.png

vbanextnx5.png

vbanextnx3.png

Media

HOMEBREW Nintendo Switch (NEW GAME BOY ADVANCE EMULATOR) (VBA NEXT) VERY IMPRESSED (Part 1) (MrHomebrew)

Known issues

  • In rare occasions the audio has problems.
  • Video and Input not frame accurate(see Speed hack).

Changelog

0.7

  • Cheat support. They can be directly entered from the emulator, just enter the cheats menu from the pause menu..
  • Fullscreen UI in docked mode(though the implementation isn't optimal, also currently not tested).
  • Some minor improvements and adjustments, seriously.

0.6

  • Complete UI overhaul. Now it looks almost native.
  • Setting to offset the real time clock.

0.5

  • UI improvements.
  • Fast forward is now on the R button.
  • There's an option to swap the function of the L and R buttons with ZL and ZR's function.
  • Some minor adjustments and bug fixes.

0.4

  • Reduced lag from emulator and main thread image synchronisation.
  • Increased filename buffer.
  • Filenames are sorted alphabetically.

0.3

  • Better audio in almost all situations.
  • More robust string and path handling.
  • Added autosaving.
  • Added settings menu (press Minus to open it).
  • Added screen scaling (Options: Nearest Integer, Nearest Fullscreen, Bilinear Fullscreen. The last one is a bit slow so I don't recommend it).
  • Added RTC support.
  • Fixed #8 (analog sticks can be disabled via the settings).

0.2

  • fix audio.

0.1

  • First Release.

Credits

External links

Advertising: