MAMEWorld >> EmuChat
View all threads Index   Threaded Mode Threaded  

Pages: 1

RobbbertModerator
Sir
Reged: 08/21/04
Posts: 3180
Loc: A long way from you
Send PM


ddraw is no more.
#350354 - 02/17/16 04:01 PM


Not sure if this affects anyone, but ddraw was just removed from MAME.

So for Windows users your choices are gdi, opengl, d3d and bgfx.



Mamesick
Troll Lamer
Reged: 09/21/03
Posts: 1649
Loc: Italy
Send PM


Re: ddraw is no more. new [Re: Robbbert]
#350355 - 02/17/16 04:23 PM


> Not sure if this affects anyone, but ddraw was just removed from MAME.
>
> So for Windows users your choices are gdi, opengl, d3d and bgfx.

Bad news for people with XP installed in their arcade cabinets. No more MAME updates for them.

For my side, I'll stay at OpenGL and CRT-Geom shaders until available. I have to investigate better but BGFX still crash at startup here. Maybe I have to create a new fresh MAME.INI



uman
MAME Fan
Reged: 04/15/12
Posts: 455
Send PM


Re: ddraw is no more. new [Re: Mamesick]
#350359 - 02/17/16 05:59 PM


this is what Stiletto said:


Quote:


In case you're like me and somehow dropped a new bgfx-enabled MAME compile over top of a MAME 0.170 release directory before the release of MAME 0.171...

- you need to have a /shaders folder, and populate it with the shaders from here: https://github.com/mamedev/mame/tree/master/shaders (easy way: check out the source or download the zip: https://github.com/mamedev/mame/archive/master.zip)

otherwise if you do not have a /shaders folder, but have a MAME with the new bgfx feature, currently MAME will crash if you try to run "mame -video bgfx"

Duh. :P





Mamesick
Troll Lamer
Reged: 09/21/03
Posts: 1649
Loc: Italy
Send PM


Re: ddraw is no more. new [Re: uman]
#350365 - 02/17/16 09:47 PM


Thanks, I'll try it



Dullaron
Diablo III - Dunard #1884
Reged: 07/22/05
Posts: 6118
Loc: Fort Worth, Tx
Send PM


Re: ddraw is no more. new [Re: Robbbert]
#350370 - 02/17/16 11:28 PM


> Not sure if this affects anyone, but ddraw was just removed from MAME.
>
> So for Windows users your choices are gdi, opengl, d3d and bgfx.

DDraw sucks away.

They should drop d3d and hlsl as well. Just kidding.



W11 Home 64-bit + Nobara OS / AMD Radeon RX 5700 XT / AMD Ryzen 7 3700X 8-Core 3.59 GHz / RAM 64 GB



krick
Get Fuzzy
Reged: 02/09/04
Posts: 4235
Send PM


Re: ddraw is no more. new [Re: Mamesick]
#350377 - 02/18/16 05:54 AM


> Bad news for people with XP installed in their arcade cabinets. No more MAME updates
> for them.

XP still supports D3D9. Has MAME dumped support for that too?



GroovyMAME support forum on BYOAC



Mamesick
Troll Lamer
Reged: 09/21/03
Posts: 1649
Loc: Italy
Send PM


Re: ddraw is no more. new [Re: krick]
#350378 - 02/18/16 07:26 AM


If they are using ArcadeVGA and other specific-for-cabinets utils they are out because those programs requires DDRAW as far as I know.



krick
Get Fuzzy
Reged: 02/09/04
Posts: 4235
Send PM


Re: ddraw is no more. new [Re: Mamesick]
#350379 - 02/18/16 08:09 AM


> If they are using ArcadeVGA and other specific-for-cabinets utils they are out
> because those programs requires DDRAW as far as I know.


I think you are correct that the ArcadeVGA card (using its supplied drivers) requires DDraw mode.

However, GroovyMAME works fine with D3D on a 15KHz monitor when used with a supported ATI card.



GroovyMAME support forum on BYOAC



Dr. Spankenstein
MAME Fan
Reged: 05/15/10
Posts: 77
Send PM


Re: ddraw is no more. new [Re: uman]
#350382 - 02/18/16 10:59 AM


Thank you very much, uman!

Edited by Dr. Spankenstein (02/18/16 11:00 AM)



CiroConsentino
Frontend freak!
Reged: 09/21/03
Posts: 6211
Loc: Alien from Terra Prime... and Brazil
Send PM


Re: ddraw is no more. new [Re: Robbbert]
#350383 - 02/18/16 12:36 PM


Just out of curiosity... I wonder why DirectDraw was removed from the project ? Any specific reason ? Is it in the way of MAME's progress or it's limiting MAME in any way ?

I never use DirectDraw though, always Direct3D and OpenGL.



Emu Loader
Ciro Alfredo Consentino
home: http://emuloader.mameworld.info
e-mail: ciroconsentino@gmail.com



uman
MAME Fan
Reged: 04/15/12
Posts: 455
Send PM


Re: ddraw is no more. new [Re: CiroConsentino]
#350384 - 02/18/16 01:33 PM


Old and crappy code, plus Micro$oft abandoned ddraw from Windows8 and 10. So the devs see no need to support it too.

these facts can be count into "in the way of MAME's progress", but removing it will not make MAME better or faster. keeping it, wouldnt harm any other videomode, just saying.

IMHO, it was done, because of BGFX. The goal is to have only BGFX as videomode and BGFX doesnt support ddraw. I have big hopes in BGFX, but didnt see things like that coming.

seems there is no love left for crt it is considered "dead" hardware.

if at any time the developing of GroovyMAME comes to a halt, the CRT users will be screwed .



MooglyGuy
Renegade MAME Dev
Reged: 09/01/05
Posts: 2257
Send PM


Re: ddraw is no more. new [Re: uman]
#350385 - 02/18/16 04:24 PM


> Old and crappy code, plus Micro$oft abandoned ddraw from Windows8 and 10. So the devs
> see no need to support it too.
>
> these facts can be count into "in the way of MAME's progress", but removing it will
> not make MAME better or faster. keeping it, wouldnt harm any other videomode, just
> saying.
>
> IMHO, it was done, because of BGFX. The goal is to have only BGFX as videomode and
> BGFX doesnt support ddraw. I have big hopes in BGFX, but didnt see things like that
> coming.
>
> seems there is no love left for crt it is considered "dead" hardware.
>
> if at any time the developing of GroovyMAME comes to a halt, the CRT users will be
> screwed .

Nothing's stopping anyone from maintaining a fork with the DirectDraw renderer.



Vas Crabb
BOFH
Reged: 12/13/05
Posts: 4453
Loc: Melbourne, Australia
Send PM


Re: ddraw is no more. new [Re: uman]
#350386 - 02/18/16 05:19 PM


> these facts can be count into "in the way of MAME's progress", but removing it will
> not make MAME better or faster. keeping it, wouldnt harm any other videomode, just
> saying.

Keeping it would require maintenance effort, which takes time away from other things MAMEdev could be doing. That alone is reason to remove it.



R. Belmont
Cuckoo for IGAvania
Reged: 09/21/03
Posts: 9711
Loc: ECV-197 The Orville
Send PM


Re: ddraw is no more. new [Re: uman]
#350387 - 02/18/16 05:21 PM


> these facts can be count into "in the way of MAME's progress", but removing it will
> not make MAME better or faster. keeping it, wouldnt harm any other videomode, just
> saying.

Keeping ddraw around means keeping it working, too; that's one of the sales pitches to chip makers about Linux drivers so they don't keep them closed-source. In the case of MAME, eliminating code means we can spend more time on forward-looking things instead of constantly maintaining backwards-looking things.



Calamity
MAME Fan
Reged: 05/30/11
Posts: 56
Send PM


Re: ddraw is no more. new [Re: uman]
#350392 - 02/19/16 12:38 AM


> if at any time the developing of GroovyMAME comes to a halt, the CRT users will be
> screwed .

I'm not planning on dying any time soon. Just keep a spare flyback.



Andy Warne
Regular
Reged: 09/21/03
Posts: 185
Send PM


Re: ddraw is no more. new [Re: Robbbert]
#350400 - 02/19/16 06:13 PM


This means unless they have implemented the ability to have unscaled resolutions in D3D, MAME will no longer support native game resolutions.

Its a rather strange decision for an emulator which has stated aims of emulating the games as accurately as possible.

It is certainly true that DirectDraw is obsolete and has issues but they should have added the ability for no scaling in D3D before removing DirectDraw.



R. Belmont
Cuckoo for IGAvania
Reged: 09/21/03
Posts: 9711
Loc: ECV-197 The Orville
Send PM


Re: ddraw is no more. new [Re: Andy Warne]
#350403 - 02/19/16 08:53 PM


> This means unless they have implemented the ability to have unscaled resolutions in
> D3D, MAME will no longer support native game resolutions.

-res and -switchres still work as far as I'm aware?



edcosta
15khz user
Reged: 05/25/07
Posts: 178
Send PM


Re: ddraw is no more. new [Re: Robbbert]
#350407 - 02/19/16 11:14 PM


> Not sure if this affects anyone, but ddraw was just removed from MAME.
>
> So for Windows users your choices are gdi, opengl, d3d and bgfx.


crt: R.I.P.



HowardC
MAME Fan
Reged: 05/15/04
Posts: 177
Send PM


Re: ddraw is no more. new [Re: R. Belmont]
#350416 - 02/20/16 09:28 AM


Does -switchres work on resolutions not native to windows?



Calamity
MAME Fan
Reged: 05/30/11
Posts: 56
Send PM


Re: ddraw is no more. new [Re: HowardC]
#350423 - 02/20/16 12:44 PM


> Does -switchres work on resolutions not native to windows?

All resolutions MAME can see are native to Windows.

Let's see if this thing gets clear:

The ArcadeVGA supports a bunch of 240p modes, e.g. 256x240, but no 224p modes.

A game like Chelnov which runs natively at 256x240 has no problem at all on D3D.

The problem is with games like Toki, with an original resolution of 256x224.

The "critical missing feature" in MAME-post-0.106's D3D implementation is the ability to leave those extra 16 black lines up to 240, in order to preserve the vertical resolution unstretched.

That's the reason for all the whining about DirectDraw.

Besides, MAME does support this feature in the SDL builds (option -nounevenstretch).



haynor666
Reged: 05/06/06
Posts: 101
Loc: Tarnobrzeg/Poland
Send PM


Re: ddraw is no more. new [Re: Calamity]
#350428 - 02/20/16 04:02 PM


ArcadeVGA cards can still work as expected also integer aspect ration can be as well maintained. All You have to do is use cleanstretch hack from cabmame and/or apply/fix code from ddraw part:


Code:

-//============================================================
// compute_blit_surface_size
//============================================================

void renderer_dd::compute_blit_surface_size()
{
INT32 newwidth, newheight;
int xscale, yscale;
RECT client;

// start with the minimum size
window().target()->compute_minimum_size(newwidth, newheight);

// get the window's client rectangle
GetClientRect(window().m_hwnd, &client);

// hardware stretch case: apply prescale
if (video_config.hwstretch)
{
int prescale = (window().prescale() < 1) ? 1 : window().prescale();

// clamp the prescale to something smaller than the target bounds
xscale = prescale;
while (xscale > 1 && newwidth * xscale > rect_width(&client))
xscale--;
yscale = prescale;
while (yscale > 1 && newheight * yscale > rect_height(&client))
yscale--;
}

// non stretch case
else
{
INT32 target_width = rect_width(&client);
INT32 target_height = rect_height(&client);
float desired_aspect = 1.0f;

// compute the appropriate visible area if we're trying to keepaspect
if (video_config.keepaspect)
{
osd_monitor_info *monitor = window().winwindow_video_window_monitor(NULL);
window().target()->compute_visible_area(target_width, target_height, monitor->aspect(), window().target()->orientation(), target_width, target_height);
desired_aspect = (float)target_width / (float)target_height;
}

// compute maximum integral scaling to fit the window
xscale = (target_width + 2) / newwidth;
yscale = (target_height + 2) / newheight;

// try a little harder to keep the aspect ratio if desired
if (video_config.keepaspect)
{
// if we could stretch more in the X direction, and that makes a better fit, bump the xscale
while (newwidth * (xscale + 1) <= rect_width(&client) &&
better_mode(newwidth * xscale, newheight * yscale, newwidth * (xscale + 1), newheight * yscale, desired_aspect))
xscale++;

// if we could stretch more in the Y direction, and that makes a better fit, bump the yscale
while (newheight * (yscale + 1) <= rect_height(&client) &&
better_mode(newwidth * xscale, newheight * yscale, newwidth * xscale, newheight * (yscale + 1), desired_aspect))
yscale++;

// now that we've maxed out, see if backing off the maximally stretched one makes a better fit
if (rect_width(&client) - newwidth * xscale < rect_height(&client) - newheight * yscale)
{
while (xscale > 1 && better_mode(newwidth * xscale, newheight * yscale, newwidth * (xscale - 1), newheight * yscale, desired_aspect))
xscale--;
}
else
{
while (yscale > 1 && better_mode(newwidth * xscale, newheight * yscale, newwidth * xscale, newheight * (yscale - 1), desired_aspect))
yscale--;
}
}
}

// ensure at least a scale factor of 1
if (xscale == 0) xscale = 1;
if (yscale == 0) yscale = 1;

// apply the final scale
newwidth *= xscale;
newheight *= yscale;
if (newwidth != blitwidth || newheight != blitheight)
{
// force some updates
update_outer_rects();
osd_printf_verbose("DirectDraw: New blit size = %dx%d\n", newwidth, newheight);
}
blitwidth = newwidth;
blitheight = newheight;
}



Edited by haynor666 (02/20/16 04:05 PM)



R. Belmont
Cuckoo for IGAvania
Reged: 09/21/03
Posts: 9711
Loc: ECV-197 The Orville
Send PM


Re: ddraw is no more. new [Re: haynor666]
#350455 - 02/21/16 04:08 AM


> ArcadeVGA cards can still work as expected also integer aspect ration can be as well
> maintained. All You have to do is use cleanstretch hack from cabmame and/or apply/fix
> code from ddraw part:

Or you can port the 2 or 3 lines of -nounevenstretch from SDL to Windows. Seriously, fuck cabmame and fuck ddraw, the right way to do it's been waving in everyone's face for 10 years now and nobody can be bothered.



Firehawke
Manual Meister
Reged: 08/12/06
Posts: 665
Send PM


Re: ddraw is no more. new [Re: krick]
#350456 - 02/21/16 05:02 AM


XP has been on life support for at least two years, to be honest. The mingw compiler upgrades started to cause weird issues on XP about the time I started working on the web UI-- it took me most of a night to track down what was actually happening.

As far as I understand XP support right now, I can summarize it quite effectively:

"XP will not be actively tested against and no significant debugging effort will be done. If it works, great, but we expect new compiles of MAME to stop running on XP before the end of 2016."



---
Try checking the MAME manual at http://docs.mamedev.org



Traso
MAME Fan
Reged: 01/15/13
Posts: 2687
Send PM


It all works here..... new [Re: Robbbert]
#350460 - 02/21/16 06:08 AM


Still XP SP3, Geforce 6800. I put in .170 and all my stuff works. D3D works just like it has: for games like dkong on an horizontal monitor, I still use that specail vertical ini, but rotated (hah). DDraw works just like it has: I use it for games like Pac on an horizontal monitor, set to 800x600, with the 'scanlines' png, but again....rotated.

Could be yo's hardware.....


Update: I forgot I put in UIFX .170. BUT, then I got baseline, and all's fine still.....



Scifi frauds. SF illuminates.
_________________

Culture General Contact Unit (Eccentric)



LensLarque
MAME Fan
Reged: 02/19/08
Posts: 160
Send PM


Re: It all works here..... new [Re: Traso]
#350478 - 02/21/16 12:47 PM


Lol people making money with prebuilt/preset MAME setups now removing their stuff from sale.



> MAME isn't about playing the games anyway.



Andy Warne
Regular
Reged: 09/21/03
Posts: 185
Send PM


Re: ddraw is no more. new [Re: haynor666]
#350481 - 02/21/16 01:38 PM


The "Cleanstretch" hack appears to be exactly whats needed.

DirectDraw automatically adds equal borders top/bottom and left/right to make up the small difference between the game resolution and screen resolution so that the game portion of the picture is unscaled. In most cases the borders are not noticeable. Thats what the hack appears to do. But the problem is, its a hack.

The ArcadeVGA card exists as an easy, supported, option to get native unstretched resolutions on standard Mame with no hacks for the vast majority of people who are not interested in compiling or hacking.

So, it might be time to retire this product if standard Mame is not going to have an ini file option to implement this code.

I would welcome removal of DirectDraw as it has problems, but I have been banging on about native resolutions in D3D for around 6-7 years and I have no idea why the Mame devs wont do it.

The very low vertical resolutions such as 224 lines are a special case. There is no difference between running these on a "real" 224 line resolution or on a 240 line resolution. It simply depends on whether the top/bottom borders are created in the modeline or by DirectDraw, the end result is large top/bottom borders unless the monitor is adjusted. This was the case with the original games too, which had big top/bottom blank areas necessitating the monitor V Size having to be set to a high value. Standard res monitors run on a basis of around 240 lines plus some extra for borders to stay within the 15Khz / 60Hz scan rates. Any lower than 240 lines means bigger borders to get the required line count.



haynor666
Reged: 05/06/06
Posts: 101
Loc: Tarnobrzeg/Poland
Send PM


Re: ddraw is no more. new [Re: Andy Warne]
#350494 - 02/21/16 04:51 PM


I used term hack because it's was designed for mame derrative but actually it's normal code. Besides, such code exits in ddraw so there isn't cons to put it d3d not to mention that sdl part has such function already applied.



grog
Reged: 09/06/11
Posts: 419
Send PM


Re: ddraw is no more. new [Re: R. Belmont]
#350495 - 02/21/16 05:16 PM


i really hope we can see the nounevenstretch for windows, it's quite clear the large amount of users who are really hoping for this; it would be great to see a long running issue which many mame users have, put to rest.



joey35car
MAME Fan
Reged: 02/07/07
Posts: 1095
Loc: Planet Claire
Send PM


Re: It all works here..... new [Re: Traso]
#350498 - 02/21/16 05:40 PM


Sure it works in .170. The changes happened after that and will take effect in the official mame .171.



Andy Warne
Regular
Reged: 09/21/03
Posts: 185
Send PM


Re: ddraw is no more. new [Re: grog]
#350527 - 02/21/16 10:27 PM


Does anyone know who deals with video support in Mame and could be contacted?



haynor666
Reged: 05/06/06
Posts: 101
Loc: Tarnobrzeg/Poland
Send PM


Re: ddraw is no more. new [Re: Andy Warne]
#350539 - 02/22/16 10:06 AM


Maybe You could contact Miodrag Milanović - mmicko(o)gmail.com



MooglyGuy
Renegade MAME Dev
Reged: 09/01/05
Posts: 2257
Send PM


Re: ddraw is no more. new [Re: haynor666]
#350541 - 02/22/16 01:28 PM


I'll be re-adding it in the next couple of days to the D3D and BGFX renderers, keep your shirt on.



R.Coltrane
MAME user since 0.11
Reged: 08/07/05
Posts: 492
Send PM


Re: ddraw is no more. new [Re: MooglyGuy]
#350543 - 02/22/16 01:50 PM


> I'll be re-adding it in the next couple of days to the D3D and BGFX renderers, keep
> your shirt on.

Kudos to you!! Unevenstretch is annoying.



Calamity
MAME Fan
Reged: 05/30/11
Posts: 56
Send PM


Re: ddraw is no more. new [Re: MooglyGuy]
#350544 - 02/22/16 03:23 PM


> I'll be re-adding it in the next couple of days to the D3D and BGFX renderers, keep
> your shirt on.

Thanks. Please consider adding it in the core renderer, render.cpp, render_target::compute_visible_area method. That way you don't need per-osd implementations.



R. Belmont
Cuckoo for IGAvania
Reged: 09/21/03
Posts: 9711
Loc: ECV-197 The Orville
Send PM


Re: ddraw is no more. new [Re: R.Coltrane]
#350547 - 02/22/16 07:11 PM


> > I'll be re-adding it in the next couple of days to the D3D and BGFX renderers, keep
> > your shirt on.
>
> Kudos to you!! Unevenstretch is annoying.

You don't notice it at all on a 4K monitor. Just sayin' :-)



MattR
Reged: 06/22/05
Posts: 11
Send PM


Re: ddraw is no more. new [Re: Calamity]
#350795 - 02/27/16 10:00 PM


> > if at any time the developing of GroovyMAME comes to a halt, the CRT users will be
> > screwed .
>
> I'm not planning on dying any time soon. Just keep a spare flyback.

Thanks Calamity, that's good to hear. GroovyMame is amazing. It's the center piece of a true arcade experience. Keep up the good work.

Cheers,
Matt



Traso
MAME Fan
Reged: 01/15/13
Posts: 2687
Send PM


Re: It all works here..... new [Re: joey35car]
#351306 - 03/08/16 06:40 AM


> Sure it works in .170. The changes happened after that and will take effect in the official mame .171.


I guess so. Games just crash before loading. I'll have to research what's necessary for things to work....



Scifi frauds. SF illuminates.
_________________

Culture General Contact Unit (Eccentric)



Andy Warne
Regular
Reged: 09/21/03
Posts: 185
Send PM


Re: It all works here..... new [Re: Traso]
#351986 - 03/26/16 11:18 AM


What is the current situation on this? I am getting questions from ArcadeVGA customers.

Is there yet a MAME version which supports unstretched D3D resolutions?



Vas Crabb
BOFH
Reged: 12/13/05
Posts: 4453
Loc: Melbourne, Australia
Send PM


Re: It all works here..... new [Re: Andy Warne]
#351987 - 03/26/16 11:44 AM


> What is the current situation on this? I am getting questions from ArcadeVGA
> customers.
>
> Is there yet a MAME version which supports unstretched D3D resolutions?

Calamity (of GroovyMAME fame) has integrated nounevenstretch features into core MAME. There is an unflitered screen chain for the BGFX renderer that gives nice, crisp pixels.



StilettoAdministrator
They're always after me Lucky ROMS!
Reged: 03/07/04
Posts: 6472
Send PM


Re: It all works here..... new [Re: Vas Crabb]
#351991 - 03/26/16 05:05 PM


> > What is the current situation on this? I am getting questions from ArcadeVGA
> > customers.
> >
> > Is there yet a MAME version which supports unstretched D3D resolutions?
>
> Calamity (of GroovyMAME fame) has integrated nounevenstretch features into core MAME.
> There is an unflitered screen chain for the BGFX renderer that gives nice, crisp
> pixels.

er. Not released yet though. It's in current GIT if you want to test Andy, and should be released in MAME 0.172.

- Stiletto


Pages: 1

MAMEWorld >> EmuChat
View all threads Index   Threaded Mode Threaded  

Extra information Permissions
Moderator:  Robbbert, Tafoid 
0 registered and 17 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 5604