2010-08-21

Makaron Naomi T12/5

EmuCR:Dreamcast EmulatorsMakaron Naomi T12/5 is released. Makaron is a Dreamcast(DC) emulator for Windows. Makaron is a Dreamcast emulator that does run some commercial games, with full sound and decent speed. However Makaron is still in the testing stages, thus Makaron may be buggy, and not run the Dreamcast game you are interested in. Otherwise, you can download Makaron and give it a try.

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.

Download:Makaron Naomi T12/5
Source:Here

0 Comments

Post a Comment