[NDS] melonDS x64 0.8.3 04/09/19

[2] @ !!! Czwartek, 5 Września 2019 23:13 CET [05-09-2019 22:44 CET]

[NDS] melonDS x64 0.8.3 04/09/19

Nowy projekt i nowe nadzieje - być może melonDS, którego autor StapleButter (lolSnes, blargSNES) kiedyś pokona hegemonie w DeSmuMe i No$GBA w emulacji Nintendo DS.
Warto zerknąć na stronę domową - dużo dodatkowych informacji i ciekawostek z etapów pracy nad emulatorem.
 


 

Go West! A Lucky Luke Adventure (2007, Bomico)

melonDS 0.8.3 Revision e8f4735 04/09/2019

  • fix ARM 'shift by register' operands (fixes Mario Party DS 'Stick and Spin' minigame)
  • remove glBindImageTexture() (not needed and requires GL 4.2)
  • fix input bugs when using Ctrl/Alt/Shift keys for buttons
  • fix possible crashes when exiting (again. heh)
  • 2D: support forcedblank+masterbrightness
  • 2D: fill gaps in implementation (mode6 on sub GPU, mode7, 'prohibited' modes/sizes for OBJ and largeBG)
  • build fixes
  • fix division edge case (xperia64)
  • new FPS limiter, audio sync, vsync for OpenGL
  • add warning message if romlist.bin is not found (Zettymaster)
→ NOWSZY [NDSi] melonDSI x64 beta I

melonDSI beta 1 15/10/2019

  • Anyway, here we go: we present you melonDSi, in unfinished beta glory. The JIT beta will follow, but I first want to ensure Generic is comfortable with it.
    The end goal will be to merge this with regular melonDS once it's in a better state, but, for now, we're providing it for the curious folks.

How to use melonDSi

BE SURE TO READ THIS BEFORE USING MELONDSI. You are using a beta release, provided with zero polishing and with a debug console. I expect that you know what you are doing to atleast some extent.

melonDSi will require several files to be dumped from a DSi. It's a bit messy right now, but we hope to come up with more user-friendly solutions in the future.

So, if you have a DSi, you might want to install unlaunch on it.

A quick rundown of the files melonDSi requires:

  • bios9.bin / bios7.bin: DS-mode BIOS images. Those are the same as the ones from a DS. They shouldn't be required to get DSi software running, but melonDSi will refuse to start if they aren't present.
  • bios9i.bin / bios7i.bin: DSi-mode BIOS images. Those can be dumped from your DSi using the good ol' dsbf_dump.nds.
  • firmware.bin: SPI FLASH image. See above. dsbf_dump.bin yields a 'FWxxxxxx.bin' file which you need to rename. It should be 128K.
  • dsikeys.bin: AES keys at boot time, dumpable using dsidumper.
  • initmem9.bin / initmem7.bin: Boot-time contents of ARM9 ITCM and ARM7 WRAM, containing several other useful keys. See above.
  • nand.bin: DSi NAND image, ideally dumped with fwTool. This should be dumped from the same console as dsikeys.bin and initmem9/7.bin.

BEFORE STARTING

  • Make sure that your DSi-mode ARM7 BIOS is good. Open bios7i.bin in a hex editor. Ensure that the first 32 bytes are the following:
    06 00 00 EA 06 00 00 EA 1F 00 00 EA 04 00 00 EA
    03 00 00 EA FE FF FF EA 13 00 00 EA 00 00 00 EA
  • Make sure that your NAND dump has the 'nocash footer' at the end. Open it in a hex editor and check that it has the string 'DSi eMMC CID/CPU' at offset 0xF000000. This is the beginning of the 64-byte 'nocash footer', which holds the eMMC CID and console ID.

Ideally make sure that direct boot is disabled.

Using melonDSi

  • As with regular melonDS, System->Run will boot the firmware, which should land you into the DSi menu if you did everything right.
  • You will need to recalibrate the touchscreen through the system settings app to have it work correctly.
  • melonDSi can boot some DSi-mode apps, but they currently don't work that well.


Booting games

  • melonDSi is able to boot DS-mode games from the DSi menu. They currently run with the DS-mode BIOSes and backwards-compatible touchscreen mode, but at the 133MHz clock speed and with 16MB of RAM.
  • DSi-enhanced games do not boot yet
  • Direct boot is likely to break things as it hasn't been updated yet.
  •  

Other issues

  • Do not attempt using savestates, they can and will go wrong.
  • melonDSi is based on melonDS 0.8.1, so it will have the bugs present in that version.
→ [NDS] melonDS x64 0.8.2 25/06/19
Giana Sister DS (2009, Spellbound Entertainment AG)

melonDS 0.8.2 Jun 25th 2019

Changelog

  • fix GL renderer not working at all on certain setups (RSDuck)
  • add 32bit writes to certain IO ports (fixes some freezes)
  • OpenGL: disable vsync under Windows
  • fix bug when mapping a joystick axis but no button
  • set kMaxIterationCycles to 64 (old value 16)
  • fix potential crash when pressing Escape with menus opened
  • OpenGL: remove shitty hack
  • OpenGL: better lines
  • fix potential crash when closing emu

Author's comment

melonDS 0.8.2 is out! This is not so revolutionary, but we're fixing a few issues.
Namely, there have been some fixes to the OpenGL renderer. If you were one of those for whom it did not work, we hope that now it will work. There are still issues with it, but we will eventually find them and fix them all.
I also undid a quick hack I did in 0.8.1 to try fixing texture alignment problems, that in the end caused more issues than it fixed. This problem will need a cleverer solution. It basically stems from the fact that the DS rasterizer works differently from OpenGL: it has no subpixel precision, and calculates color/texcoord for exact pixel positions, where OpenGL calculates them for a position that is +(0.5,0.5) inside the pixel.
I also hope to improve the GL renderer some more. In mind are: texture cache, texture upscaling/filtering, applying filtering to the 2D layer, doing something for dual-screen 3D...
We fixed a bug with the 'map joystick button and axis' feature of 0.8.1, where, if you mapped an axis control alone, it would also map 'button 1' alongside it.
melonDS now explicitly disables VSync when using OpenGL, atleast under Windows.
We also fixed a bunch of issues, potential crashes, etc...
... and changed kMaxIterationCycles from 16 to 64. That constant controls how many maximum cycles the ARM9 can run before control is given to the ARM7 and other system components. This change might affect accuracy negatively (it is worth noting that melonDS has several provisions for on-demand sync, bypassing kMaxIterationCycles) but has been found to give a small speed boost.

→ [NDS] melonDS x64 0.8.1 12/06/19

melonDS 0.8.1 Jun 12th 2019

Changelog

  • fix potential issue generating the config file path under Linux
  • fix 3D/2D blending bugs under OpenGL
  • fix potential crash under the software renderer when display capture is used
  • basic, optional OSD system
  • add support for setting key mappings to none
  • add fast-forward and pause/reset hotkeys
  • fix crash when closing an input config dialog during the joystick mapping process
  • fix bugs when changing video settings with no game loaded
  • faster IRQ checks
  • faster VRAM reads
  • 3D/OpenGL: preliminary edge marking
  • 3D/OpenGL: fix fog alpha
  • 2D: render sprites one scanline in advance (iCarly - Groovy Foodie)
  • 3D/software: fix rendering of line polygons
  • 3D/OpenGL: add proper-ish support for line polygons
  • support multiple joysticks
  • add support for mapping keys with modifiers
  • add support for mapping joystick axes alongside buttons, remove hardcoded axis 0/1 mapping
  • overall better input/hotkey code

Author's comment

Input upgrade
The input code has been reworked to be more pleasant to deal with, especially with regards to adding hotkeys. It is now possible to map keys with modifiers, like Ctrl+Z or Shift+R or even combinations like Ctrl+Alt+Q. It is worth noting that during mapping, you should use left-hand Ctrl/Alt/Shift keys for these mappings(...)
I have also been upgrading joystick support. You can now choose which joystick to use, and can map axes to buttons/hotkeys.
I also added support for multiple hat controls.

OSD
This new, optional feature shows some short, temporary status messages onscreen. For example, when loading or saving savestates, pausing, resuming...

New hotkeys
You might remember that some early melonDS versions had a secret hardcoded fast-forward hotkey. This seems to have appeared in version 0.3, but eventually disappeared with the UI revamp in version 0.5.
Well, now, with Ace4896's contribution, this feature is back with a proper hotkey mapping. There is also a 'toggle' hotkey that enables or disables the framerate limiter.
I also added hotkeys for pausing and resetting emulation.

OpenGL fixes
Several of the crashes and rendering errors that appeared in 0.8, stemming from the new OpenGL support, have been fixed in this version.
I also added a little hack to support line triangles in OpenGL, and a preliminary implementation of edge marking, which you can see demonstrated in one of the screenshots above.
There's also a bunch of little fixes and optimizations, as usual.

 

→ [NDS] melonDS x64 0.8 1/06/19 Fix
Ninja Gaiden: Dragon Sword (2008, Team Ninja)

melonDS 0.8 July 1st 2019, by Arisotura

  • ...We just pushed a hotfix release. This should fix broken 3D rendering with OpenGL, namely for AMD/Intel GPU users.

melonDS 0.8 May 31st 2019, by Arisotura

It's been awaited for so long, and finally, by popular request, here it is: melonDS 0.8, with OpenGL renderer and upscaling!

The OpenGL renderer

This renderer is an attempt at targeting a sweet spot of, say, 90% compatibility while being fast. If you have read the previous posts about the DS GPU and how quirky that thing is compared to your average GPU, you guess that perfect rendering with OpenGL isn't going to be possible, but we can do our best. The current renderer supports most of the DS GPU features, but not all of them. There is room for improvement, but certain features will just not be implemented.

Upscaling

The OpenGL renderer is enabled by default, but you can go to the video settings dialog to configure it. Namely, this renderer supports increasing the internal resolution to up to 8x the native resolution. Note that changing the internal resolution does not change the window size, you will need to take care of that. However, changes from the video settings dialog apply instantly, so you can compare the various settings and select the one you like best.

Take note that the 0.8 release is a bit of an experiment. Basically, we tested it before release to ensure the OpenGL renderer will work, but we can't cover every setup that exists, so it is likely that there will be issues arising either from crummy programming on our part, or from crummy OpenGL drivers. So, if you have any issue with this, let us know!

Changelog

  • fix CP15 init during direct boot
  • do not apply delays to cart transfers when the WR bit is set
  • misc fixes
  • OpenGL renderer and upscaling

 

→ [NDS] melonDS x64 0.7.4

melonDS 0.7.4 Mar 26

  • fix potential spurious sounds when starting melonDS
  • fix crash when using microphone with a WAV that has multiple channels
  • small optimizations and tweaks
  • wifi: add wifi settings dialog, with libpcap adapter list
  • wifi: first version of indirect (non-libpcap) mode
  • move most of the config settings to a platform-specific array (really just making it easier to port melonDS)

Authors comments @Project:

This release is hardly going to be revolutionary though, but I had to get it out before starting work on the hardware renderer.
The highlight of this release is the upgrade to the online wifi feature. Two main points there:

  1. Under direct mode, you can finally choose which network adapter will be used by libpcap. The wifi settings dialog also shows their MAC and IP as to help you ensure you're picking the right adapter.
  2. Indirect mode, which, as mentioned before, works without libpcap and on any connection. However, it's in alpha stages and it's a gross hack in general, so you can feel free to try it out, but don't expect miracles.

As usual, direct mode requires libpcap and an ethernet connection, and that you run melonDS with admin/superuser privileges.
Other than that, there are a few little fixes to the SDL audio code. melonDS now only emits sound when running something, so it shouldn't emit obnoxious noises when starting anymore. Also, it no longer crashes if you use WAV microphone input with a file that has multiple channels.

→ [NDS] melonDS x64 0.7.3
Resident Evil: Deadly Silence (2006, Capcom)

melonDS 0.7.3

  • fix STRD_POST (fixes Just Sing - Vol 2 music)
  • add support for POWCNT1 (fixes Imagine - Teacher)
  • 2D: fix fade effects to semitransp sprites and 3D layer (fixes Devil Survivor)
  • 3D: truncate W to 24 bits before viewport transform. do not render polygons with any W=0.
  • attempt at fixing hiDPI under Windows
  • fix input config dialog crashes under Linux
  • add support for hotplugging joysticks
  • make 'savefile relocation when using savestates' disabled by default
  • remember whether main window is maximized
  • add menu for setting main window to an integer size
  • init save memory to 0xFF instead of 0x00
  • romlist.bin: index games by serial rather than CRC. updated romlist.
  • add support for 128K EEPROM (Pokémon Mystery Dungeon - Explorers of Sky)
  • make nocashprint also work in ARM mode
  • GX: always latch rendering engine registers, even when not flushing
  • GX: fix polygon timings when polygon is rejected by culling/clipping
  • rewrite main emu loop to use absolute timestamps

Authors comments @Project:

Something that should have been done long ago, and has finally been done: the emulator's main loop was rewritten to use absolute timestamps to keep track of cycle counts. Overall, it's more reliable (far less chances of desyncs), more accurate, and also a bit faster, and the code is cleaner. So we win on all fronts. This should fix the recent flickering issues, like that of Colour Cross.
The downside is that this breaks savestate compatibility with older melonDS versions.
In the same vein, there's another fix to GX timings. We knew that vertex timings were different when a vertex completed a polygon, but we just found out that timings also differ based on whether the polygon passes culling and clipping. This will help with games that need their display lists to be running fast enough.
To hopefully fix the saving issues, we built a new database, resulting of a mix between the Advanscene XML and savelist.bin from the R4 Wood firmware. For better detection, the new romlist.bin indexes games by their serial code rather than by the ROM's CRC32, which also means that it will work with hacked ROMs. This means you will need to make sure to replace romlist.bin with the newer one if you're extracting this melonDS release over an older one.
There's also a particular fix for Pokémon Mystery Dungeon - Explorers of Sky, which uses 128K EEPROM. It should now save properly.
However, note that the correct savefile size for this game is 128KB. If you have a savefile which is 256KB, the game will read it fine but fail to save to it (because that size is detected as FLASH memory and not EEPROM). You can fix this by opening your savefile in a hex editor and deleting the upper half of it. This is especially important if you use a savefile coming from DeSmuME as it will create a 256KB file.
We also have a neat little pile of UI improvements.
melonDS now supports hotplugging joysticks. That being said, it still defaults to the first joystick available on your system. I'm not quite sure how to go about handling multiple joysticks.
The main window is smarter about remembering its size: it also remembers whether it was maximized.
There's a tentative fix for hiDPI under Windows, which should atleast make the screens scale correctly.
There's a new menu for setting the window size to an integer scaling factor (1x to 4x).
The setting for savefile relocation when using savestates is now disabled by default. While the feature may be useful, having it enabled by default was confusing for unaware users.

And finally, the misc fixes:

  • fix STRD_POST (fixes music in Just Sing - Vol 2)
  • 2D: fix blending bugs
  • add support for 8bit reads to DISPCNT/BGxCNT (fixes The Wild West)
  • make nocashprint also work in ARM mode
→ [NDS] melonDS x64 0.7.2 Fix
Arkanoid DS (2008, Taito). Jak dla mnie zbyt minimalistycznie.

melonDS 0.7 16 Dec 2018

  • microphone input (physical mic, noise, wav)
  • nocash-style console printing
  • send console output to cmd under Windows
  • corrections to romlist.bin
  • 2D: fix blending for semitransp sprites and 3D layer when windows are used (bypasses window 'color effect enable' check)
  • 3D: fix 'equal' depth test margin in Z-buffering mode, fixes Puzzlers World 2
  • SPU: add support for channel repeat mode 3 (behaves same as 1)
  • SPU: always clear channel buffers, even when running ch0-7 in mode 3 (fixes American Girl - Kit Mystery Challenge!)
  • libui/windows: cache ideal size for uiButton. fixes lag in input config dialog close/open lid, sleep mode
  • hotkey system
  • audio settings dialog, with volume slider and microphone settings
  • libui/gtk: remember last directory in which a ROM was opened
  • libui/gtk: attempts at fixing input config dialog crashes
  • framerate limiter toggle (abcdjdj)
  • add Linux libpcap library names (dogtopus)
  • betterer readme (Aqueminivan)
  • GX: set busy flag immediately when putting things in the FIFO, fixing possible race condition
  • GX: revise timing for SWAP_BUFFERS command
  • add flatpak manifest (cpba)

Authors comments @Project:

It appeared that, due to an oversight, melonDS 0.7.2 would crash when loading a ROM if the physical microphone init failed.

This has since been fixed, and a hotfix has been pushed. If you downloaded melonDS 0.7.2 before this post, just redownload it to get the fixed version.

→ [NDS] melonDS x64 0.7.1
Nanostray 2 (2008, Majesco Entertainment)

melonDS 0.7 12 Dec 2018

  • fix glitched lines in 3D
  • fix backwards windows
  • more accurate GX timings
  • more accurate DMA and memory timings
  • check for config/etc files in melonDS's directory explicitly
  • allow joystick axis events even when no dpad buttons are mapped
  • detect savemem type from database instead of huge messy fucky code

     

Authors comments @Project:

The biggest change here is that the core timings were entirely renovated to try being closer to the hardware.
First of all, after several days of gruelling testing and guesswork, we were finally able to understand the GX timings, and emulate them properly for the first time. But, as we weren't gonna stop there, we also renovated the timings for DMA and memory accesses, so that both of them are closer to their hardware counterparts. DMA and ARM7 should be pretty close to perfection now, ARM9 less so but it's still more realistic.
We have also been fixing the emulator's main loop, so that the ARM9, ARM7 and system clocks shouldn't desync anymore.
All of this, with a few added optimizations, fixes a whole bunch of issues, from things flickering to audio crackling to games outright going haywire (hi RaymanDS). Your games are now running better than ever!
... or not. That's also the point of the 0.7.1 release, I want to hear about any issues caused by the timing renovation, so we can get them fixed for the epic 0.8.
We already have one such issue, all of this is causing sprite flickering in Pokémon Platinum. Quick attempts at fixing this went nowhere, so we will have to investigate this proper.
There's also a number of misc fixes. For example, the 3D glitches that showed up in Mario Kart DS were fixed, but there's already a lengthy post about this.
There's a small fix to 2D windows, nothing really noteworthy, just fixes a game that was setting up backwards windows.
The input system no longer requires a dpad to be mapped to directional keys for joystick axes to work.
The code that looks for local files (melonDS.ini, BIOS, firmware...) was modified to explicitly check the directory melonDS is in, if that is not the same as the working directory. So in these cases it will no longer fail to find its files. Also, if melonDS.ini is absent, the preferred directory for creating it is the directory melonDS is in.
And, finally, we finally got rid of the old savemem type autodetect code. Considering its complexity and the amount of failures, it was a trainwreck. So instead, now, melonDS will pull that information from the provided ROM database (romlist.bin).
If your game is still failing to save: you might have an old failed save file lying around, try deleting it. When a save file is present, melonDS determines the savemem type from the file size, so if a file is present with a wrong size, you will have to delete it.

 

→ [NDS] melonDS x64 0.7
Moto Racer DS (SouthPeak) i ciekawa funkcja melona pozwalająca na zwiększenie tylko obrazu aktywnej części wyświetlacza udawanej konsoli Nintendo DS

melonDS 0.7 26 Oct  2018

  • Wifi early support
  • Miscellaneous fixes. melonDS shouldn't crash randomly when closing it anymore. And other things.
  • Savestates. Which were one of the popular demands, and which are finally brought to you.
    • 8 savestate slots, which are per-game. Savestate files are stored in the same place as save files.
    • 'Undo state load' will revert to the state from right before loading a savestate. For example, if you loaded it accidentally.
    • In savestate settings: 'Separate savefiles' allows saving to a separate save file after loading a savestate. The separate save file is bound to that savestate slot.
    • Shift-Fx to save state, Fx to load state. x = 1 to 8 for regular slots, 9 for using an arbitrary file. F12 to undo the latest state load.

 

Tagi: Nintendo, Nes, Nds, Gba, Snes, Gb, Melonds, X64

wstecz05/09/2019 23:13
Inne treści związane z tematem
[retro] de: Lotek64 #59 [retro] de: Lotek64 #59
Ukazał się kolejny numer niemieckojęzycznego magazynu "Lotek64". Pismo związane ze sceną C64, prezentuje także informację o tematyce retro w szerokim tego słowa pojęciu - stąd znajdziemy w nim recenzję płyt z gatunku chiptunes, recenzję gier z innych platform czy też wywiady i opisy imprez. Na osobną uwagę zasługuje również kalendarium - w sam raz gdyby coś ...
[MULTI] Bsnes 108 29/07/19 [MULTI] Bsnes 108 29/07/19
Byuu wrócił do pracy nad swoim multiemulatorem maszynek NINTENDO i oto efekt - pierwsza wersja publiczna tego najwierniejszego udawacza SUPER NINTENDO. Nowy BsNes jest szybszy, nie wymusza konwersji romów (co miało podnieść czystość dumpów a wniosło sporo niepotrzebnych operacji) więc na 100% warto posiadać i używać. Dodatkowo Byuu wprowadził znany z mutacji ...
[Java] Multi - Emulicious 19/07/19 [Java] Multi - Emulicious 19/07/19
Emulicious to nowy, przynajmniej dla mnie, projekt multiemulatora systemów SEGA (master system, game gear) i Nintendo (Gameboy BW/Color) napisany w Javie. Celem emulatora jest dołączenie do aplikacji typu cycle exact, jednak po drodze do tego multiemulatora dodano parę ciekawych narzędzi - podgląd spritów, kafelków i całkiem użyteczny debugger.
[NES] puNes 0.105 30/07/19 [NES] puNes 0.105 30/07/19
Kolejne poprawki w emulatorze NINTENDO 8 - puNes, nie jest to tak rozbudowany emulator jak seria FCE, jednak wyróżnia się paroma ciekawostkami, na które warto zwrócić oko - nic istotnego, jednak na pewno umilą emulację (ot jakieś shadery i inne szmery;)). W sumie, patrząc na scene poświęconą NINTENDO 8 trudno nie znaleźć czegoś, czego już nie ma, jednak puNes ...
[WIIU] Cemu 1.15.11c 02/08/19 [WIIU] Cemu 1.15.11c 02/08/19
Nowa wersja i nowe poprawki w emulatorze konsoli Nintendo WiiU.  Co mogę polecić to bardzo pomocny frontend do tego emulatora - MappleSeed, a do uzupełnienia plugin pozwalający odtwarzać materiały h264 (filmy) Cemu Hook.
Do ściągnięcia
melonDS 0.8.3 win64-t2e.pl.7z
Do oglądnięcia
Dodatkowe informacje
Komentarze

T-shirt "Archon Cover"

Retro T-Shirt Archon Cover - męski podkoszulek
Newsy Linkownia Emulatory na PC Wideoteka Screenshoty Bajtek Reduks Ready.Run

© Try2emu 1999 - 2019 | Krzysztof 'Faust' Karkosza Google+Kontakt