DaedalusX64-vitaGL

From GameBrew
DaedalusX64-vitaGL
Daedalusx64vita2.png
General
AuthorRinnegatamante
TypeConsole
Version0.6
LicenseGPL-2.0
Last Updated2020/12/13
Links
[0.6 & Nightly Download]
Website
Source
Support Author

DaedalusX64-vitaGL is a port of Daedalus X64 to PS Vita/PS TV. Daedalus X64 was an experimental N64 emulator for Linux and PSP whose target was speed over accuracy. From the original codebase of this emulator, this N64 Emulator aims to achieve the best compatibility possible without sacrificing speed.

The emulator is being built up through combined work of Rinnegatamante and MasterFeizz, thus implying that DaedalusX64 3DS will stay on par with the Vita build most likely and viceversa.

Features

  • Working savestates.
  • Native resolution (960x544) with MSAA 4x.
  • Native support to dual analogs.
  • vFlux implementation.
  • High Res texture packs support.
  • Bilinear filtering.
  • ARM DynaRec.
  • Audio support (synchronous and asynchronous).
  • Rumble Pak support (with support to controllers rumbling on PSTV) and Controller Pak support.
  • Support for multiple controllers on PSTV.
  • Multilanguage support.
  • Auto updater and compatibility list downloader.
  • Several more features.
  • Support for launching roms over the net (webservers).

Installation

Install the VPK on your homebrew enabled PS Vita or PS TV.

Unzip DaedalusX64.zip into ux0:data. It contains overlays, preview images, cheat file, etc.

Place your roms in ux0:/data/DaedalusX64/roms.

User guide

Compatibility List

Web-based:

As of v0.3+ the emulator contains an Online Compatibility List. You'll now know how a rom actually works on the emulator from the Rom Selector itself.

HD Textures Pack Tutorial

Follow these steps to create an HD texture pack (or adapt an existing one to DaedalusX64):

  • Launch DaedalusX64 and enable "Textures Dumper" option under "Extra" menu.
  • Launch the game you want to create an HD texture pack for.
  • Play a bit the game in order to let Daedalus X64 dump all the textures the game loads in the meantime.
  • Close DaedalusX64, if you'll now navigate in ux0:/data/DaedalusX64/Textures you'll find a new folder named as the Cartridge ID of the game you've run containing a lot of images.
  • Create HD replacements for those images (or use existing ones from other textures pack) without changing filenames.

Extra Features Tutorials

How to create Custom Bubbles for Livearea (Guide by Samilop Cimmerian Iter).

How to create Custom Bubbles for Livearea (Guide by W0lfwang).

How to load roms through a webserver (Guide by Samilop Cimmerian Iter).

Controls

Touch - Handle in game menu

Select - Pause/Resume emulation

N64:

Start - Start

Analog - Analog

Circle/D-Pad - D-Pad

Cross - A

Square - B

Triangle - Z

L - L-Trigger

R - R-Trigger

D-Pad - C buttons

Screenshots

daedalusx64vita3.pngdaedalusx64vita4.png

daedalusx64vita5.pngdaedalusx64vita6.png

Media

DaedalusX64 (N64 Emulator) For Nintendo 3DS || ARM DYNAREC WIP Showcase (Psi-Hate)

Daedalus X64 Vita port progresses showup (Rinne4Fun)

Daedalus X64 Vita - Dynarec tests (Rinne4Fun)

Changelog

v0.6

  • Added support for Russian translation. (By nekita13)
  • Added support for Turkish translation. (By rewold20)
  • Fixed an issue causing the app to crash when booted from other apps in certain cicrumstances.
  • Separated nightly auto updater from stable releases auto updater.
  • Optimized several instructions in the DynaRec.
  • Made DynaRec code buffer doublebuffered.
  • Implemented several missing instructions in the DynaRec.
  • Added registers caching to the DynaRec.
  • Fixed some issues in the DynaRec causing incorrect operations to happen.
  • Added loop optimizations to the DynaRec.
  • Added memory access optimizations to the DynaRec.
  • Removed Safe Dynarec as CPU emulation mode and added a DynaRec config panel to properly enable optimizations selectively.
  • Fixed an issue causing graphics to get corrupted in some games if Wait Rendering Done wasn't set.
  • Made so that the emulator will automatically unpause if the user selects the Close Rom or Restart Rom options while the emulator was paused.
  • Updated to latest vitaGL commit.

v0.5

  • Improved Greek translation.
  • Improved gfx microcode detection code.
  • Several bugfixes in Diddi Kong Racing gfx microcode.
  • Added Acclaim lighting microcode support.
  • Added F3D Beta gfx microcode support.
  • Fixed a bug causing analog to become unresponsive after attempting to change MSAA mode.
  • Improved custom bubbles launcher stability.
  • Added custom rom path support.
  • Added automatic detection and listing of roms inside PSPEMU installation of Daedalus X64.
  • Beautified rom lister window.
  • Added a feature to search for a rom inside rom lister.
  • Improved autoupdater efficiency.
  • Fixed a bug causing data downloader to sometimes show incorrect progress state.
  • Added support for Hey you, Pikachu gfx microcode.
  • Fixed a bug in BranchZ instruction in F3DEX gfx microcode.
  • Added beta perspection support to gfx microcodes. (Used by Super Mario 64 and Cruise'n USA)
  • Several optimizations and improvements to several gfx microcodes.
  • Fixed a bug causing "Unknown" string to not be translated for Region and Cic Type info.
  • Added Aleck64 games entries in the roms database.
  • Improved debug logger code for gfx microcodes.
  • Optimized vertices calculation code.
  • Improved culling code.
  • Added F-Zero X Climax in the roms database.
  • Added Ocarina of Time Redux in the roms database.
  • Removed "Depth Buffer Clear" option and made it enabled by default in games requiring it (Donkey Kong 64).
  • Force disabled autoupdater when running Daedalus X64 in custom bubble mode.
  • Improved LiveArea assets.
  • Added Super Mario 64 Remastered in the roms database.
  • Updated to latest vitaGL commit.
  • Improved speed of roms database parser.
  • Added an hack that solves some glitches in F-Zero X.
  • Fixed a bug causing some roms to not be properly parsed.
  • Added feature to filter roms in rom lister.
  • Added post processing shaders support. (Daltonic, FXAA, Greyscale, Hue & Saturation, LCD 3x, Negative, Sepia Tone, Sharp Bilinear (Grid), Sharp Bilinear (Scanlines))
  • Added overlays support.
  • Extended compatibility list pagination.
  • Added support for launching roms from a webserver.
  • Added fast-forward functionality (Hold Select while in game).
  • Added Sin & Punishment (ESP Translation) in the roms database.
  • Greatly increased speed of data downloader.
  • Added The Legend of Zelda - The Missing Link in the roms database.
  • Prevent games from crashing when they attempt to load too big textures.
  • Fixed a bug causing some games to permanently freeze during some RDP jobs execution.
  • Fixed a bug causing RDP segment addresses to be incorrectly calculated.
  • Fixed a bug causing textures to be incorrectly scaled when previous draw was performed with texture disabled.
  • Optimized vertex microcodes.
  • Properly renamed european rom of PGA European Tour Golf in the roms database.
  • Optimized colorspace conversion code.
  • Added support for a custom background image in the roms lister.
  • Fixed a bug causing glitches when Brightness was different from 1.0 and the running game used certain blend modes.
  • Added a new experimental renderer mode (Modern) with full shaders usage. (Offloads a lot of tasks over the GPU and fixes certain glitches eg. Epona legs being invisible in Ocarina of Time)
  • Several improvements to S2DEX and Sprite2D gfx microcodes.
  • Added several missing entries and fixed somee existing ones in the roms database.
  • Fixed a bug causing an incorrect calculation of the program counter on Sprite2DBase instruction.
  • Fixed some incorrect cover filenames in the roms database.
  • Added playtime tracking feature.
  • Fixed a bug causing Daedalus X64 to permanently self break when autoupdater not fully downloaded an update (eg. Internet connection lost while updating).
  • Several improvements to 2D rendering code.
  • Made so that texture existence is checked before drawing.
  • Added Hebrew charset support.
  • Several optimizations to High Level Emulation GU code.
  • Added Super Luigi 64 in the roms database.
  • Fixed a potential buffer overflow on translations loading.
  • Replaced "Daedalus X64" string on top-right of the screen in the roms lister with the running build versioning.​

v0.4

  • Fixed a bug that caused bilinear filter to be enabled in certain circmustances when it shouldn't.
  • Improved generic mixer audio code.
  • Improved GoldenEye audio microcode.
  • Impplemented some missing instructions in Nead audio microcode.
  • Fix for some sprites being drawn with incorrect depth in Donald Duck: Quack Attack and Rayman 2.
  • Added support for zipped roms.
  • Added Super Mario 64 (O2) entry in the roms list.
  • Added several romhacks entries in the roms list.
  • Added support for some unhandled cartridge domains.
  • Fixed several issues related to palettized textures support.
  • Added Audio Sync option to sync audio rate to framerate. (experimental)
  • Added Video Sync option to sync video rate to framerate (Greatly improves experience for some games not running fullspeed, eg: Rayman 2).
  • Fixed an issue causing some texts to be drawn with incorrect sizes in Donald Duck: Quack Attack.
  • Implemented some missing instructions in the ARM DynaRec.
  • Optimized some DynaRec instructions with ARMv7 specific instructions.
  • Fixed a bug causing CPU rendering to be used only at emulator boot. (Fixes some screens not being rendered in Rayman 2 and Donald Duck: Quack Attack).
  • Added an hack to disable CPU rendering in Conker's Bad Fur Day. (Fixes some graphics corruption at game boot)
  • Added Cached Interpreter mode as CPU emulation option (Safer as Interpreter but faster).
  • Added DynaRec (Safe) mode as CPU emulation option (Makes Conker's Bad Fur Day get in game).
  • Added an option to disable MP3 instructions (doubles Conker's Bad Fur Day framerate but makes voice acting be mute).
  • Added specific F-Zero X audio microcode support.
  • Fixed an issue causing some models to be rendered at incorrect depth in some games.
  • Added a Texture Dumper function that will dump every texture the running game will load in memory.
  • Added High Level Emulation for OS calls (Greatly improves performances, eg: Doom 64 is now fullspeed).
  • Added a feature to sort rom list alphabetically.
  • Added HVQM RSP task microcode support.
  • Added an option to disable Expansion Pak usage.
  • Fixed an issue causing viewport to be incorrect with CPU rendering under certain circumstances.
  • Made so that CPU rendered frames are properly scaled to screen size.
  • Added NEON usage to several math related calculations (Improves performances).
  • Added a feature that allows to save and load settings globally and on a per game basis.
  • Added some premade configs for some games with better emulator setups (Conker's Bad Fur Day, Rayman 2, Mischief Makers).
  • Optimized 3D rendering pipeline (Improves performances).
  • Added Texels1 hack support (Fixes some graphical glitches in some games, eg: Rayman 2 incorrect lum colors and missing candles fires in Ogre Battle 64).
  • Enabled palette caching for paletted textures.
  • Added an hack for Pokemon Stadium 1 and Pokemon Stadium 2 that improves pokemons selection screen rendering.
  • Added several new blend modes support (Fixes rendering issues in several games).
  • Added possibility to fully disable texture cache for games updating textures frequently (Fixes texts garbling in Mischief Makers).
  • Reduced covers filesizes thanks to palettized PNGs usage.
  • Improved negative viewports support.
  • Added DD64 CIC types detection.
  • Improved CIC type detection code.
  • Added an alternate audio resampler based on libspeexdsp (Disabled by default, currently in debugging phase).
  • Greatly improved stability of async audio code.
  • Fixed a bug causing async audio code to become mute if the user closed a rom and launched another one.
  • Added high-res texture packs support.
  • Added support for creation of custom bubbles that will launch directly a rom through the emulator.
  • Improved analogs deadzone detection.
  • Added support for roms in uma0: partition.
  • Added possibility to disable compatibility list update at boot.
  • Added auto updater feature (Will update to latest nightly build available at boot).
  • Minor bugfixes and generic code cleanup.
  • Made so that analogs and physical buttons can be used to interact with the UI when a game is paused.
  • Added L2/L3/R2/R3 support for PSTV users.
  • Added possibility to use rear touchpad as extra four virtual buttons (Allows to use L2/L3/R2/R3 grips on normal PSVitas).
  • Added multilanguage support with support to Catalan, Danish, German, English, French, Greek, Italian, Polish, Brazilian Portuguese and Spanish
  • Fixed an issue causing Derby Stallion 64 saves to fail.
  • Fixed an issue causing some games with FlashRam save types to fail saving games.
  • Improved emulator loading times and performances thanks to NEON usage in memory copies operations.
  • Improved SP registers management code.
  • Improved SP DMA code.
  • Added customizable Anti-Aliasing feature with Disabled, MSAA 2x, MSAA 4x options.
  • Replaced Livearea assets with new ones.
  • Added an alert that will show on bottom left of the screen when settings or savestates are saved/loaded.
  • Added an alert that will shot on bottom left of the screen when a rom is being loaded.
  • Changed UI font to Roboto-Regular one.
  • Added a feature that allows to scale UI (Useful for PSTV users with big displays).

v0.3

  • Added possibility to change UI theme.
  • Added an hash check guard on textures updates (Huge speedup when Textures Caching is disabled).
  • Textures Caching is now Disabled by default.
  • Added a Rom Info window in Rom Selector showing several info related to currently hovered rom.
  • Added Box Arts showing in Rom Selector.
  • Integrated online Compatibility List inside the emulator itself. You'll now know how a rom actually works on the emulator from the Rom Selector itself.
  • Fixed a bug causing some textures to not be rendered during 3D geometries rendering.
  • Updated LiveArea assets (Thanks That One Seong & TheIronUniverse).
  • Optimized some dynarec operations and implemented some missing ones. (Thanks MasterFeizz & TheFloW).
  • Added an hack to make Rayman 2 properly display in game texts.
  • Removed Frameskip option.
  • Implemented CPU rendering support at rom boot (Fixes some games apparently freezing at boot eg. Rayman 2).
  • Properly resetting RDP frame counter at rom boot.
  • Fixed several issues with textures sizes calculation (Fixes a lot of glitches in several games).
  • Added an initial implementation of MuSyx v1 audio microcode.
  • Added an initial implementation of Resident Evil 2 custom gfx microcodes.
  • Added a new voice in the Debugger showing the currently installed audio microcode.
  • Fixed some out of bounds accesses that could have led to undesired behaviours.
  • Increased newlib heap size to 160 MBs (Fixes an issue preventing to launch 46 MBs roms after launching first another rom).
  • Added Mipmaps option that will make emulator use mipmaps for 3D geometries.
  • Fixed an issue causing viewport to be incorrectly calculated (Fixes scaling issues in several games, eg. Pokemon Stadium 2).
  • Added proper viewport scaling for PAL roms.
  • Added negative viewports support (Fixes renderer issues in some games, eg. Fighting Force 64)
  • Added controls remapping support. (Uses Presets files similar to PSP build ones).
  • Improved gfx microcodes detection code.
  • Improved DMA code.
  • Fixed an issue that caused some 2D rendering to be done with incorrect textures.
  • Fixed an issue with depth buffer usage that was causing some undesired clipping to happen (Fixes some clipping issues eg. invisible Link in interiors on The Legend of Zelda: Ocarina of Time)
  • Added an assert logging implementation for debugging purposes.
  • Moved to ARM Neon usage for several math operations (speedup math operations).
  • Improved PIF bootup code.
  • Added Cheats support.
  • Fixed an issue causing Rayman 2 and Donald Duck: Quack Attack 2D draws to be invisible.
  • Added Brightness option that allows to alter game brightness (Useful for too dark games like Doom 64).
  • Unbinded Pokemon Stadium and Pocket Monsters Stadium titles for proper compatibility list support.
  • Added an experimental 16:9 Unstretched aspect ratio (formerly 16:9 Widescreen Hack).

v0.2

  • Emulator will now set maximum allowed userland clocks at boot (444/222/222/166 Mhz).
  • Frame Limit is now defaulted at Disabled and Audio is defaulted at Synchronous. This is done since audio already limits framerate on its own in a better way than frame limit option.
  • Fixed a bug preventing Debugger window to be closed by pressing the related close (X) button.
  • Several improvements and optimizations to the DynaRec.
  • Renamed Debugger window to Console Logs.
  • Added a Debugger window showing cartridge ID and currently in-use RSP microcode.
  • Fixed Mortal Kombat Mythologies: Sub-Zero upside-down rendering while in game for 3D geometries.
  • Fixed an issue causing screen to flicker in several games (Eg. Paper Mario).
  • Fixed Ogre Battle 64 not drawing backgrounds properly.
  • Added support for Pokemon Stadium Jap Exclusive jpeg decompression microcode.
  • Added support for YUV textures (Fixes some textures being displayed incorrectly, eg: Pokemon Stadium Jap Exclusive logo)
  • Fixed an issue causing 3D geometries getting rendered outside of screen viewport in some games when using an aspect ratio different from fullscreen.
  • Added Wait Rendering option: it fixes artifacting in several games at the cost of performances.
  • Added tooltip descriptions in the UI for some options considered less user-friendly to grasp.
  • Swapped Z and L mapping for more comfortable playing.
  • Made so that renderer uses generated vertices info without extra calculations (Display List code speedup).
  • Added Asynchronous audio option. It will offload majority of audio emulation code to another CPU core thus improving performances.
  • Fixed some issues with texture scaling. Fixes renderer in some games (eg. Yoshi's Story).
  • Added Textures Caching option. It improves performances but may cause glitches in some games. (Default On)

Credits

  • All the original Daedalus X64 developers.
  • xerpi for the original Vita port.
  • m4xw for the help sanitizing PIF code.
  • MasterFeizz for the ARM DynaRec.
  • TheFloW for his contributions to the DynaRec code.
  • frangarcj for several improvements and bugfixes.
  • That One Seong & TheIronUniverse for the Livearea assets.
  • withLogic for the high-res preview assets.

External links

Advertising: