PS VITA / PS TV [UPDATE-3] Daedalus X64 v.0.3 by @Rinnegatamante --- N64 emulation is progressing on the PS Vita

Discussion in 'PS Vita News' started by STLcardsWS, Apr 12, 2020.

By STLcardsWS on Apr 12, 2020 at 2:54 PM
  1. 9,631
    10,240
    1,672
    STLcardsWS

    STLcardsWS Administrator

    Joined:
    Sep 18, 2014
    Messages:
    9,631
    Likes Received:
    10,240
    Trophy Points:
    1,672
    UPDATE 3 - v0.3 Released

    (Update May 1 - First Alpha Build (v0.1) Release!!!): Developer's Rinnegatamante & masterfeizz (provided ARM dynarec support for both Vita/3ds ports) have been making significant progress on the Vita port, while there is still improvements to be made the first build is ready for release of the first native Nintendo 64 emulation (DaedalusX64-vitaGL) on the PS Vita. Take a look at the development timeline below for a view of some details during the development cycle that got us to this point in the recent weeks. There is a new video attached below in the timelineas well that showcases some of the recent progress as well as what you can expect in this Alpha Release. If your using a PlayStation TV (PSTV) then rest assured that you have some features that take advantage of the micro console such as multiplayer support along with Rumble Support for connected DS3/DS4 controllers, Additional features and information about the Alpha Release can be seen in the v0.1 tab.
    (original article - pre release) Developer Rinnegatamante who we recently interviewed earlier this week in our Power Supply Series is back with another project as he tries to bring Nintendo 64 emulation to the PS Vita, with some assistance from xerpi & masterfeizz. With an experimental (native) Daedalus x64 build for the Vita (not through PSP emulation) that is utilizing VitaGL has been showing some significant progress in the early stages. First announced just a couple days ago Rinnengatamante has been posting various progress reports on the developer's official twitter and it appears there is some progress being made but still running without a dynarec currently

    Fellow developer's @xerpi has helped in the initial phase of porting the emulator. Then @masterfeizz tracked down some problematic code (from psp) that was glitching the VitaGL renderer and now that has solved many issues with rendering and is almost perfect in that aspect according to Rinngamante's recent tweets (seen below).. The developer has a preview video of the gameplay progress to give us a bit of insight of the progress that has been made to this Nintendo 64 emulator for the PS Vita.. Its appearing we could potentially have a real solution for N64 emulation on exploited PS Vita / PlayStation TV (Vita TV) devices. . This looks to be an incredible step up from the PSP port from the initial looks and details provided of the development. You can checkout the latest progress shown in Video/ Screenshots and various details the developer has shared in a small timeline we have put together below..
    maxresdefault.jpg


    • Development Timeline via @rinnegatamante Twitter
      • April 10: Just experimenting stage, thanks to @xerpi for dealing with the initial porting phase.
        • EVPHcpYVAAE2p7c.jpg EVPHoUyUwAASkX6.jpg
      • April 10: For those wondering, this is an experimental native Daedalus X64 build running with vitaGL as renderer. No dynarec and still some disabled stuffs. Renderer itself seems to have some issues with texturing in general atm. (That's OOT3D logo screen)
        • EVPt7JMU8AkBLX_.jpg
      • April 10: Progresses on rendering side. Got texturing partially work (there's still some issues with texels mode and lighting in general).
        • EVQJuBOWkAEIzzE.jpg EVQJyxbXgAEY1XO.jpg
      • April 10: (screenshot)
        • EVPzTJ9UcAIO8xf.jpg
      • April 11: Audio support got added too. Super Mario 64 main menu is actually fullspeed, glitchless and with perfect audio. Sync audio code is way less CPU stressful than the one available in PSP build (PSP code caused two cores to get to 100% and 75% workload whilst mine gets a core to 8%).
      • April 11: Kudos to @masterfeizz for finding the PSP-only code that was glitching vitaGL renderer. Now Daedalus X64 has a nearly perfect renderer!
        • EVWInQhXQAAr1Zy.jpg EVWIofnXYAE1XoD.jpg
      • April 11: Gonna show progresses with Daedalus X64 in few mins :
      • April 12: Started working on the in game options menu in Daedalus X64. Thanks to dear imGui usage, it won't need to pause emulation (unlike what happens on PSP). The menu will be fully touch.
        • EVZt_sAXgAI39gJ.jpg
      • April 12: Populating in game menu is going smooth. As of now there is: audio settings (sync/disabled), savestates, bilinear filter, vFlux and frameskip.
        • EVa0CSLWoAAcVfm.jpg
      • April 15: Spent some hours non stop adapting sceGu texture combiner + color adjuster code from Daedalus X64 PSP codebase to Vita one. Now renderer has way less glitches. Here's some screenshot for stuffs fixed compared to the video i've recorded few days ago.
        • EVqTcQUXgAEvPiX.jpg EVqTd_MWkAIDcXa.jpg EVqTgwpXkAIkf2o.jpg EVqTqMMXgAAMZCf.jpg
      • April 17: Some more renderers stuffs had been fixed yesterday night. (Namingly texturing for tiled textures). As a result, another good portion of glitches had been dealed with.
        • EVywkt8WoAESUDr.jpg EVywndYXgAAri0P.jpg
      • April 17: Daedalus X64 PSP build, due to limits in sceGu, used to approximate texture wrap mode when mirroring was required thus breaking some textures (eg. Mario hat on Super Smash Bros). Correctly fixed this behaviour on Vita build.
        • EV0SaS0WAAAXbSB.jpg
      • April 20: First tests for fog support in Daedalus X64 (still too dense, needs tweaking). 4:3 Aspect Ratio support too got added
        • EWEZrvVWoAI_uGy.jpg EWEZsiKWsAAeAKB.jpg
      • April 21: Thanks to@frangar, original aspect ratio (no upscale) is now properly centered and working. Also zfight has been solved. (Notice the shadow under Mario and star requirements on doors rendered perfectly now)
        • EWH4vdwWAAEty9D.jpg
      • April 21: Concerning dynarec,@masterfeizz started working on an ARMv6 dynarec impl. for Daedalus X64 for his 3DS port. It will be easily adaptable to work with Vita too. Here's a little comparison between the original v.0.1 PoC and a barebone dynarec impl.
      • April 23: Hw fog finally fixed and tweaked! Perfect fog fully handled by GPU's now in place.
        • EWUddXzWkAIDrEe.jpg EWUdd6OWAAABbMg.jpg
      • April 30: For those who lost the stream or want to re-watch it, here's Deadalus X64 Vita with WIP DynaRec implemented:
      • May 1: Daedalus X64 v.0.1 by @Rinnegatamante can now be downloaded from VitaDB or VHBB! More info is available here: https://vitadb.rinnegatamante.it/#/info/549
        • See Next Tab for Info on Vita Port Release details
      • May 1: IMPORTANT NOTE: I've updated Daedalus X64 build on VitaDB. The new one is a development build one. For some unknown reasons, dev build actually is more stable (eg. Fixes the issues preventing Banjo Kazooie to boot). Everyone please update!
        • You can check if you're running the proper build by trying accessing Extra -> Debugger. If it shows no text, you're on the older build.
      • May 2: Nightlies for Daedalus X64 Vita are now available on: https://github.com/Rinnegatamante/DaedalusX64-vitaGL/releases
        • (Reminder: Nightlies are supposed to be in development build which means they could have more issues than stable releases too due to WiP code)
      • May 2: Some reports related to recent improvements:
        • EXBypxLXkAMU2S5.jpg
        • @masterfeizz dropped some ARMv7 optimizations to the DynaRec.
        • Fixed the upside-down issue in Mortal Kombat Mythologies: Sub-Zero
        • Fixed the screen flickering in several games (eg. Paper Mario)
        • Several minor adjustments
      • MAY 3 : Paper Mario backgrounds are now working. Several games blacksreening, now boot correctly. Also aspect ratio != fullscreen won't have anymore 3D geometries rendered outside of screen. Some DynaRec optimizations had also been implemented by @masterfeizz in latest nightly.
        • EXHM6WrWAAA9xBR.jpg
      • May 5: Some more progresses:
        • - Added tooltips on the UI for some less user-friendly options
        • - Partially fixed texture scaling issues (Fixes Yoshi's Story renderer and probably more)
        • - Some more DynaRec optimization from@masterfeizz
        • - Added YUV textures support (Fix Pokemon Stadium J)
      • EXQmKFeXsAELlmY.jpg EXQmvdDXsAEpW_3.jpg EXQmHFiXkAIppaZ.jpg EXQl6TMXQAEo2jq.jpg
      • May 5: Here comes a new challenger! Asynchronous audio support had been added in latest nightly. It will offload most of the audio processing code to another core thus improving performances!
        • EXR4NFZXsAEIS6n.jpg
      • May 8 - Some UI rework adding showing of some info related to selected rom as well as box arts (Required Resources folder from PSP build of Daedalus X64 to show box arts). Planning to also add showing of compatibility tag took live from GitHub compatibility list.
        • EXgIYV-WkAM2ZZw.jpg
      • May 8 - Online compatibility list has been integrated into Daedalus X64 too. Now you'll know from the emulator itself what to expect before booting a rom.
        • EXhovYxXgAATQ2y.jpg
      • May 9- Some more work over the UI: now it's possible to change UI theme and a downloader progress window for the compatibility list has been added. An hack to make Rayman 2 properly render texts (and some 2D elements like Ubisoft logo) has also been implemented.
        • EXl3dXUWsAECjRx.jpg EXl3jNXWkAEfPUe.jpg EXl3tO_XQAELN_u.jpg
      • May 10 - CPU rendering support partially implemented. Makes some games (eg: Rayman 2 and Donald Duck: Quack Attack) properly render boot sequences.
      • May 10- Fixed a lot of bitshift operations that were completely broken on original Daedalus X64 codebase unless compiling with O0 (pretty much). This solves a lot of 2D texturing related issues. Eg: menus in Neon Genesis Evangelion (attached before and after screenshots)
      • May 11 Some more DynaRec instructions got implemented as well as some optimization has been done by @theflow0, viewport scaling issues solved (fixes wrong scales in menus in several games, eg. Pokemon Stadium games). Added mipmaps support and some generic codebase cleanup.
      • May 11 Added negative viewport support. Fixes renderers of Fighting Force 64 and Tarzan and probably some minor bugs in other titles too.
        • EX0RacQWsAEueSp.jpg EX0RdnFWkAEAbY7.jpg

    • DaedalusX64-vitaGL v.0.1

      DaedalusX64-vitaGL is a port of Daedalus X64 to PSVITA/PSTV. Daedalus X64 was an experimental N64 emulator for Linux/PSP whose target was speed over accuracy. From the original codebase of this emulator, we're building a new N64 Emulator whose target will be best compatibility possible without sacrificing speed. The emulator is being built up through combined work of me and MasterFeizz, thus implying that Daedalus X64 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
      - Bilinear filtering
      - ARM DynaRec
      - Audio support (synchronous)
      - Rumble Pak support (with support to controllers rumbling on PSTV) and Controller Pak support
      - Support for multiple controllers on PSTV​

      Special Controls

      • While in game:
      • Touch = Handle in game menu
      • Select = Pause/Resume emulation

      Compatibility List


      Contributions and suggestions

      Changelog 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)

      Changelog v0.3

      • 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)

      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
      - Everyone who submitted donations through PayPal to me or MasterFeizz for the development of this emulator
      - All my patroners for their support:
      - Tain Sueiras
      - UnrootedTiara
      - psymu
      - @Sarkies_Proxy
      - drd7of14
      - polytoad
      - The Vita3k project
      - Waffeleisen
      - Al Capwn
      - Creckeryop
      - Wiese
      - The Libretro Team
      - Mark Vdovychenko
      - Mored4u
      - Igor Kovacs Biscaia
      - rsn8887
      - Count Duckula
      - Miles Calloway
      - Andyways
      - Daniel Krusenbaum
      - Elwood Blues
      - Justin
      - spriteice
      - gnmmarechal
      - Thomas Radeck
      - Neil MacAlasdair
      - Thomas Würgler
      - GregoryRasputin
      - styroteqe
      - Des
      - suLac4ever
      - BOBdotEXE
      - Daniel
      - Lars Zondervan
      - Pirloui
      - PSX-Place.com
      - 2Mourty
      - Dieter B

    • Reported Playable Games (v0.3)
      See latest updates and other tested games via https://daedalusx64.rinnegatamante.it
      (Compatibility List)

      n64.jpg
      Game NameStatus
      007 - The World is Not EnoughPlayable
      40 WinksPlayable
      AeroGaugePlayable
      Army Men Sarge Heroes 2 Playable
      Automobili LamborghiniPlayable
      Banjo-KazooiePlayable
      Bust-A-Move 2 - Arcade EditionPlayable
      Bust-a-move 3 DXPlayable
      Chameleon TwistPlayable
      Clay Fighter - Sculptor's CutPlayable
      Cruis'n ExoticaPlayable
      Cruis'n WorldPlayable
      Daffy Duck Starring as Duck Dodgers Playable
      Destruction Derby 64Playable
      Diddy Kong RacingPlayable
      Donkey Kong 64Playable
      Duke Nukem 3DPlayable
      Excitebike 64Playable
      Extreme-GPlayable
      Extreme-G XG2 Playable
      F-Zero XPlayable
      Fighter Destiny 2Playable
      Forsaken 64Playable
      Gex 3 - Deep cover GeckoPlayable
      Gex 64 - Enter the GeckoPlayable
      Harvest Moon 64Playable
      Hybrid HeavenPlayable
      Hydro ThunderPlayable
      John Romero's DaikatanaPlayable
      Lylat WarsPlayable
      Mario Kart 64Playable
      Mischief MakersPlayable
      Mortal Kombat Mythologies - Sub-ZeroPlayable
      Mortal Kombat TrilogyPlayable
      Paper MarioPlayable
      PaperboyPlayable
      PilotWings 64Playable
      Pokemon SnapPlayable
      Rally Challenge 2000Playable
      Rampage - World TourPlayable
      Rayman 2 - The Great EscapePlayable
      Rocket - Robot on WheelsPlayable
      RR64 - Ridge Racer 64Playable
      San Francisco Rush - Extreme RacingPlayable
      Snowboard KidsPlayable
      Spacestation Silicon ValleyPlayable
      Star Fox 64Playable
      Star Soldier - Vanishing EarthPlayable
      Super Mario 64Playable
      Super Smash Bros.Playable
      Superman - The New Superman AdventuresPlayable
      TarzanPlayable
      Tony Hawk's Pro SkaterPlayable
      Tony Hawk's Pro Skater 2Playable
      Tony Hawk's Pro Skater 3Playable
      Wave Race 64Playable
      World Cup 98Playable
      Xena - Warrior Princess - Talisman of FatePlayable
      Yoshi's StoryPlayable

    Downloads
    Compatibility List @: daedalusx64.rinnegatamante.it
     
    Last edited: May 15, 2020

Comments

Discussion in 'PS Vita News' started by STLcardsWS, Apr 12, 2020.

    1. LuanTeles
      LuanTeles
      Yeap, but he is writting a new dynarec for the vita, so it's a hope ;P
    2. kadorna2
      kadorna2
      CELL and ARMv7 are 2 entirely different architectures.
    3. djluiluv
      djluiluv
      Man I really hope they port this to ps3...one can only wish.....
      -Ricardo- likes this.
    4. STLcardsWS
      STLcardsWS
      Lets keep this topic about this release. if you want to discuss a PS3 port then start a new thread in the PS3 Section,
    5. KNM29
      KNM29
      This thing is awesome. Just got to test it out earlier and super Mario 64 runs at full speed with just a few glitches like star doesn't always shows yellow and just a few minor. Even Banjo-Kazooie, can't believe it's playable on a ps vita. These guys are awesome and doing a great job on this emulator for the ps vita

Share This Page