News Zone



Makaron Dreamcast&NAOMI T12/5 [1752][andys], 2010-08-21 16:57:06

[Source: http://dknute.livejournal.com/]

Prawdziwa gratka dla fanów emulacji Dreamcast'a;) Deunan Knute zaprezentował nam nową wersją emulatora tej ciekawej konsoli.

    It seems that CheckInterfaceSupport is broken for DirectX 11. This is what I'm doing:
    HRESULT hr = pAdapter1->CheckInterfaceSupport (__uuidof (ID3D11Device), NULL);

    The result is DXGI_ERROR_UNSUPPORTED for Radeon 5770... Creating ID3D11Device with D3D_FEATURE_LEVEL_11_0 obviously works, as the card does support it. There is no such problem when asking for ID3D10Device.
    The plan was to enumerate all adapters present in the system and reject those that do not support Direct3D 11. This bug effectively prevents it from working. I don't know, maybe it's driver related, but very annoying nevertheless.

    So yeah, I switched to 64-bit Windows 7 Pro and I also bought a new graphics card. Rather than spending money on a new i3/i5 CPU I overclocked my E6600 to 3.0GHz, that should last me another year I hope. With this change I will be slowly moving away from Direct3D 9c - as I explained many times before it has too many limitations to properly emulate PowerVR2 chip. Don't worry though, I'm not going to drop D3D9 support immediately but it will be removed someday. Makaron doesn't need all that much GPU processing power, rather the new features, so it's quite possible that the new CPU+GPU hybrids from AMD will be fast enough to run it full speed. And those are supposed to be pretty cheap.

    I changed a few things in T12 core and I'm finally quite happy with how it works so I'll probably release another version soon. That would be the last of Test 12 series I suppose. The only thing preventing me from doing so is one last issue with the multithreaded renderer, it causes random crashes (though some systems seem more affected than others). It's a pretty complicated issue though and cannot be fully fixed without major changes that would take considerable more time. For now I just added an option in the INI file to disable multithreading (not completly, just this part) and while it slows the emulator down it's not as bad as the crashes.
    Anyway, stay tuned. I want to make a release before I mess up the code again with my experiments, and I have quite a few ideas to try out :)


    UPDATE: Here it is, Test 12/5. There's a small ReadMe included so be sure to read it. No Atomiswave yet since I didn't think T12 core could be salvaged, so I didn't bother with it. I wasn't exactly wrong there, with all the changes I made this version could easily be called Test 13 :)

    Anyway, other things of note (from the top of my head):
    * Current renderer needs to go. I have a replacement of sorts prepared, as a part of software renderer project. I'm pretty sure it will be a bit slower but that remains to be seen. I need the new framework anyway to support both D3D9 and D3D11 at the same time.
    * SH4 recompiler could use some sort of abstraction layer to handle the optimizations better. Again, it'd probably end up being marginally slower but more manageable and could in future be paired with x64 emitter.
    * I'm going to drop support for non-SSE2 CPUs soon, mostly because it'd be easier to code the new recompiler. Quite frankly any CPU without SSE2 is not going to be fast enough to handle Makaron anyway.
    * Windows XP and Direct3D 9 support is going to stay for now but once D3D11 renderer starts working properly I will focus mostly on that. While I realize that droping DX9 will upset XP users, I'd like to point out that Makaron always required a modern PC. I havent introduced any major changes lately but before that Makaron was the first Dreamcast emulator to require shaders, then it would work only with Shader Model 2 or higher. In return you got faster palletized texture support, shadows and fogging. Now it's going to be DirectX 11 :)


    EDIT: Seems like 640x240 interlaced modes are not upscaled properly. One way around it is to change cable type to VGA. If the game doesn't support VGA cable you're out of luck, use mode 4 or just go back to 640x480. This should never happen on NAOMI since by default it runs in 31k setting. I fixed that already but I'm not pulling the files unless there is a bug that can't be worked around.


    UPDATE 2: That bug I wrote about? Now you're seeing it's effects first-hand :) Oh well, guess I better fix that one since I didn't add an option to skip DX11 init.
    Redownload T12/5 from here, this time when Direct3D 11 is present on the system but actual device can't be created it will just silently ignore the problem. This was the intention after all. And I also added workaround for the scaler issue.


COMMENTS

bagpipes
22.08.2010, 00:07
Hmmm, dobre wieści:) Aczkolwiek po testach pewien jestem jednego - nowe wersje NullDC chodzą znacznie lepiej. Zaznaczam jednak, że testy przeprowadziłem na kilku najbardziej rozpoznawalnych dla Dreamcasta tytułach - np. Soul Calibur (wiadomo!). Cieszy jednak konkurencja na poletku emulacji tegoż sprzętu. Czekamy teraz na wydanie (no i testy) nowej wersji Demula:D
Deunan
22.08.2010, 01:54
Tak z ciekawości, czym się ta wyższość nulldc objawia?
bagpipes
22.08.2010, 11:00
Odpowiadam: mniej przekłamań w grafice + lepsza optymalizacja (na moim sprzęcie gry chodzą szybciej). Podkreślam jednak - to ocena po testach na najbardziej znanych tytułach Dreamcastowych!!!!. Jednak żeby nie było - doceniam ogrom pracy i cieszę się, że mamy do czynienia z aż trzema rozwijającymi się równolegle projektami - a konkurencja zawsze działa zbawiennie na produkt:) Odnośnie NullDC dostrzegam jednak jego poważną wadę - tj. niepełną kompatybilność (wielu tytułów po prostu nie da się jeszcze odpalić).
bagpipes
22.08.2010, 11:34
Acha - do plusów NullDC dodałbym również większe możliwości konfiguracyjne.
witek
22.08.2010, 13:28
u mnie makaron bangla wyraźnie szybciej, na dość słabym klocku P4HT ostrożnie kręconym do 2.8, natomiast dziwi mnie to że setings są u mnie nieaktywne na tej wersji i z testowania G bo nie mogę ustawić daty...
Deunan
22.08.2010, 14:52
witek, jak używałeś poprzedniej wersji to skopiuj sobie z niej pliki Maple.ini i MakaronPAD.ini (JVS.ini dla NAOMI). Jak nie to bez pada od X360 będzie ciężko :) Ale są emulatory tego pada, podobno nawet z klawiaturą działają.
witek
22.08.2010, 15:10
ja popilam na DualShocku2, skonfigurowałem na starszej wersji i wkleiłem nową, niestety NBA2K wywala z menu gry, lekka kupa bo chciałem przyciąć...
kornolio
23.08.2010, 08:46
Ten emu pada x360 jest bardzo dobry (motionJoy controller), tylko z wersją x64 ma problemy bo, za każdym razem przy starcie systemu trzeba wyłączyć "podpisywanie cyfrowe sterowników", ale być może już to poprawili. Sam używam tego programiku do gier nowych(PC) jak i do emu konsol.
andys
23.08.2010, 10:50
Eh dopiero mnie teraz oswiecilo i zadzialalo;). Z uporem manaiaka kopiowalem stare MakaronPAD.ini tyle, że go sobie na starej wersji i nie odświeżyłem;).W starej ini miałem nr urządzenia ktore byly poprzednio podlaczone.to sie chyba zmienia nawet podpinajac pod inne wejscie usb. Czas teraz sobie coś przetestować, bo już sam start konsolki działa o wiele płynniej i nie pulsacyjnie jak w poprzedniej wersji. Dobra robota Deunan
Anonim1979
23.08.2010, 15:47
@kornolio - dla x64 Vista/7 trzeba zainstalować programik co automatycznie wyłącza konieczność podpisanych sterowników. --- http://www.tipandtrick.net/2008/permanently-turn-off-and-disable-64-bit-x64-windows-vista-forced-driver-signature-signing-with-readydriver-plus/
Noir
25.08.2010, 08:27
Po pierwsze wielkie dzieki za nowa wersje emulatora, po pierwszych testach stwierdzam ze jest bosko :] Co do pada - dualshock 2 i przejsciowka mayflash super joy box 3 sprawdzaja sie idealnie w win7 x64 i dobrze dogaduja sie x360ce vibmod :)
grzybiarz
25.08.2010, 11:02
Ostatnio używałem Chankasta... z 2-3 lata temu. A czy teraz, ten emulek jest lepszy/szybszy? Wiem, mógłbym sprawdzić, ale nie mam już żadnej gry na DC:)
mog123
29.08.2010, 03:22
makaron obsługuje dual core i ht?
Deunan
29.08.2010, 13:08
Interesujące pytanie. Rozwiń skrót "obsługuje", bo działa na dowolnym CPU x86 z N rdzeniami gdzie N jest liczbą naturalną.

Only for registered users! Tylko zarejestrowane osoby moga pisac komentarze.
[Zaloguj się | Załóż darmowe konto]

www.emudreams.pl (c) 1996-2011
Main team: Dalthon & Skizo | Hosting: Makii.pl | All Rights Reserved