Commit Graph

2520 Commits

Author SHA1 Message Date
Andreas Müller
2aa97bfc47 Show video-mode option 'accel' in help and GUI
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-02-17 13:06:02 +11:00
couriersud
757436bbfb Fixed sdl2 keymap processing. [Couriersud]
Keymaps must have been broken for ages:

-	It is now possible to map every scancode SDL2 defines.
-	Removed keycode field. This was a leftover from SDL1.x
-	Fixed bug preventing keymaps from working.
-	Fixed the DE keymap.
-	Converted other keymaps to new format and added a
    comment that they have to be reviewed and fixed.
2019-02-16 16:44:42 +01:00
Vas Crabb
05d0305c08 add GCC/clang implementations of 64*64->128 multiply for x86_64, and adjust some integer casts 2019-02-16 18:03:53 +11:00
Patrick Mackinlay
a7c5845317 osd: 64x64 multiply helpers (nw)
Can we have these? I didn't attempt to add implementations for anything other than MSVC, but I believe gcc and clang for 64-bit targets have equivalents.
2019-02-16 17:52:49 +11:00
R. Belmont
a143090d10
Merge pull request #4492 from algestam/bgfx_hlsl_fix
Transposed transformation matrix to fix bgfx colors (nw)
2019-01-16 09:28:28 -05:00
Vas Crabb
87822251d8 osd/windows: Send logerror to stderr if no debugger is attached and -oslog is on. 2019-01-13 02:47:35 +11:00
Vas Crabb
19612b1f10 apply -verbose after processing command-line options and after first pass over .ini files (nw) 2019-01-12 18:17:13 +11:00
Stiletto
a5461d9d6b
2018 -> 2019 changes (nw)
* 2018 -> 2019 changes (nw)
2019-01-10 17:01:26 -05:00
Henrik Algestam
40efb8f5aa Transposed transformation matrix to fix bgfx colors (nw) 2019-01-08 23:48:12 +01:00
Justin Kerk
4554d286d5 Keep track of which SDL input subsystems were initialized (nw) 2019-01-01 03:50:08 +00:00
Justin Kerk
65d0a8477e Better Emscripten SDL fix (nw) 2018-12-31 00:50:11 +00:00
Justin Kerk
98d3d350cc Fix joystick initialization with Emscripten SDL [Justin Kerk] 2018-12-30 21:52:45 +00:00
Justin Kerk
56d8eeff86 Workaround for Web Audio autoplay restrictions in Chrome 71 [Justin Kerk] 2018-12-30 13:25:27 -08:00
mooglyguy
94fbe66092 Fixed a few missing #includes flagged by VS2019 beta, nw 2018-12-30 13:24:16 +01:00
Vas Crabb
95538b9da8 Merge tag 'mame0205'
MAME 0.205
2018-12-26 06:11:07 +11:00
Vas Crabb
c36b648d96 work around Qt crash, thanks mizapf (nw) 2018-12-25 23:54:24 +11:00
Vas Crabb
bc6e3672d1 clean up sdl_sound a bit (nw) 2018-12-25 00:48:08 +11:00
hap
496be2f305 dwrite: noticed an error msg with missing \n (nw) 2018-12-14 13:39:52 +01:00
hap
cefe336561 make dsound default over xaudio2 (nw)
Reasoning: xaudio2 module was completely disabled for over 2 years and unmaintained. Using "auto", MAME actually chose dsound as default.
Plus I seem to be getting random buffer underflows/overflows with it, it needs to be more stable before it can be default.

related: 8889f182f1
2018-12-14 00:31:35 +01:00
Vas Crabb
113f98accc clean up and improve option descriptions 2018-12-13 11:04:05 +11:00
hap
8889f182f1 xaudio2: fix wrong dll, regression from a10fcd31d3 (nw)
https://mametesters.org/view.php?id=7170
2018-12-12 19:19:41 +01:00
AJR
9f4fc823d4 Fix OS X build after a45221458d (nw)
posixptty.cpp uses openpty, which remains in <util.h> under OS X.
2018-12-11 19:42:08 -05:00
Miodrag Milanović
a45221458d Android compile fix (#4395)
* Fix compile for Android, set API to 24

* Update Android Studio project to API 24

* Fixed project file to latest Android Studio

* fix build with gradle alone
2018-12-11 19:38:27 -05:00
Scott Stone
cd3b77121f dec8.cpp: Fix regression with ghostb, srdarwin (nw)
Some misc text changes to certain trigger usage info (nw)
2018-12-09 20:46:36 -05:00
Celelibi
d9d5839e16 sdl_sound.cpp: Rework the circular buffer
Previous code had several oddities. Like checks against buffer overflows
/ underflows done at several places in the code, usage of a spinlock,
unnecessary use of "volatile" qualifier, redundant informations about
the circular buffer and exposed details about the split nature of ranges
in the buffer. This lead to an unlikely deadlock once in a great while.

Signed-off-by: Celelibi <celelibi@gmail.com>
2018-12-09 21:06:58 +01:00
mooglyguy
0bd02131b6 3rdparty: Updated bgfx, bimg, and bx to latest upstream. [Ryan Holtz] 2018-12-05 19:45:08 +01:00
arbee
f1c9b0a8f5 Fix crashiness on OS X when the network device couldn't be opened (nw) 2018-11-22 17:30:42 -05:00
Patrick Mackinlay
ccdd6ae1fc taptun: and formatting too (nw) 2018-11-21 19:33:15 +07:00
Patrick Mackinlay
533cd7f6cc taptun: bollocks (nw) 2018-11-21 19:15:59 +07:00
Patrick Mackinlay
91993a13ad taptun: padding and fcs on Linux too (nw) 2018-11-21 19:06:08 +07:00
mooglyguy
13247311f6 Renamed flipendian -> swapendian, as I spent minutes trying to find the functions to tell to another person who spent minutes trying to find the functions, and we refer to such functions as swapping just about everywhere else in the codebase, nw 2018-11-05 19:11:18 +01:00
arbee
dfc8950639 nothing to see here (nw) 2018-11-03 12:32:45 -04:00
Vas Crabb
82501770de srcclean and cleanup (nw) 2018-10-28 14:00:12 +11:00
Dustin Stahlback
25adf42f70 Disable setting the SDL_WINDOW_OPENGL extra flag if -video none is set. This allows a true headless run when the environment variable SDL_VIDEODRIVER=dummy is set prior to mame/mess execution. 2018-10-09 08:45:09 -05:00
Westley M. Martinez
b5a54b761c HLSL Color Transforms and 3D LUT (#4043)
* Remove broken scanline uniform from post_pass

* Add 3D LUT to HLSL

* Allow individual LUTs for screen and UI

* WIP: Port 3D LUT to BGFX

* Finish porting LUT to BGFX

* Add individual phosphor color conversion for HLSL
	new file:   hlsl/chroma.fx
		Shader for converting xyY3 to sRGB
	modified:   hlsl/phosphor.fx
		Minor changes to emphasize idea that phosphors are color
agnostic
	modified:   hlsl/post.fx
		Conversion from signal RGB to xyY3
	modified:   src/osd/modules/render/d3d/d3dhlsl.cpp
	modified:   src/osd/modules/render/d3d/d3dhlsl.h
	modified:   src/osd/windows/winmain.cpp
	modified:   src/osd/windows/winmain.h

* Add phosphor examples and update presets

* Port phosphor color shaders to BGFX

* Fix missing newlines at EOF
2018-10-07 11:42:30 -04:00
mooglyguy
54dbfe1aa5 osdwindows: Fixed the BGFX not rendering across multiple windows. Internal UI is still glitchy. [Ryan Holtz] 2018-10-06 12:25:05 +02:00
mooglyguy
5a48ba0822 sun4: More optimizations, nw 2018-09-23 11:53:12 +02:00
Vas Crabb
250c06a4d7 srcclean (nw) 2018-09-23 12:22:35 +10:00
Vas Crabb
2993e850bb (nw) fix lots of inadverently mutable static pointers 2018-09-20 11:42:37 +10:00
ImJezze
e5095e131c - fix not set default uniforms for vector pass (#4008) 2018-09-17 21:07:20 +02:00
W. M. Martinez
b4888aabc0 Port scanline modification to BGFX 2018-09-14 19:00:52 -07:00
W. M. Martinez
e04d852034 HLSL: Move scanline to occur before defocus
On branch scanline
Changes to be committed:
	modified:   hlsl/post.fx
		Remove scanline effect
	new file:   hlsl/scanline.fx
		Separate scanline effect into its own shader
	modified:   src/osd/modules/render/d3d/d3dhlsl.cpp
		Add scanline effect
	modified:   src/osd/modules/render/d3d/d3dhlsl.h
		Add scanline effect
2018-09-14 16:38:18 -07:00
smf-
33d101f293 fix clang build (nw) 2018-09-06 09:48:02 +01:00
Patrick Mackinlay
8919ce5645 interpro: notworking -> networking (#3815)
* interpro: notworking -> networking

These changes combine to make InterPro networking work on Windows with the TAP-Windows6 driver.
* osdnet: add a receive delay (1 frame) after transmit to avoid a time-travel problem
* taptun: pad short Ethernet frames and append FCS (Windows-only until Linux taptun behaviour is verified)
* clipper: fix bugs in carry flag handling, prefer sign bit for tests
* i82586: fix transmit bug, handle reset

* networking: delayed transmit/receive

A second attempt to fix networking on InterPro systems, by introducing somewhat realistic delays into network transmit and receive paths. This version works by adding functions to device_network_interface which enable a device to be informed when the transmit or receive completes. The delay is only crudely approximated based on the specified bandwidth and the number of bytes being transmitted, but it should be good enough in practice. Existing drivers should not be impacted by these changes; overriding the new functions (and no longer overriding recv_cb) is necessary to obtain the new behaviour.

Changes from the previous commit:
* i82586: improve interrupt handling, implement delayed transmit/receive behaviour
* dinetwork: add transmit/receive delay timers, handlers and logic
* osdnet: remove receive delay, add the ability to start the receive timer
2018-09-04 19:26:58 +10:00
Vas Crabb
c87777a015 fixup (nw) 2018-08-27 01:30:08 +10:00
mooglyguy
8105b73548 -bgfx: Improved rendering with artwork by 5-10x or more. [Ryan Holtz] 2018-08-27 00:32:15 +10:00
AJR
25f32d22df Fix debug assert failure when using SDL fullscreen toggle (nw) 2018-08-06 00:30:13 -04:00
Vas Crabb
0ce07a8a1e (nw) more render work:
* Clean up some corner cases in layouts with repeating blocks
* Make complay.py validate many more elements and attributes
* Make complay.py easier to use for just validating a layout
* Remove redundant view from Sega VMU layout
* Make buttons visually respond to input in whousetc.lay
* Add view with LED displays as well as terminal for aim65_40 and use repeats
* Clean up some outdated "game" terminology in clifront.cpp
* Initiaise a couple of members in tap/tun network module
* Start documenting layout format
2018-07-31 04:18:28 +10:00
Patrick Mackinlay
7957feaefc taptun: add support for Windows (#3790)
* taptun: add support for Windows

Looking for feedback only at this point, because it's the first time I've attempted any OSD stuff - be gentle.

This extends the existing taptun OSD module to support Windows through the TAP-Windows6 driver (https://github.com/OpenVPN/tap-windows6).
* TAP-Windows6 is GPLv2, however only the header file is required in MAME, and the driver itself is entirely optional.
* I've tried to minimise the size of the diff, rather than completely separate the Windows/non-Windows implementations - not sure which is preferable in this case.
* The license file has Mac(?) line-endings - unsure if they should be normalized or used verbatim.
* Uncertain about the non-Windows case (or the Windows SDL case) - existing code uses __linux__, but I'm not clear on how that works with OSX, for example?
* I can't claim this actually "works" yet, because I don't know enough to configure the tap end of it properly to get networking doing something useful, but I will get there and correct anything necessary in a subsequent real PR.

* minor fixes/improvements (nw)

* Use Unicode Windows APIs, and UTF-8 for MAME
* Deal with unterminated registry string values
* Cancel any pending I/O in destructor
2018-07-30 18:52:11 +10:00
Vas Crabb
9db24aa2e9 Better support for screen orientation/geometry:
* Eliminates the need for the horizontal/vertical/LCD/SVG layout files
* Screens can now have orientation and physical aspect ratio specified
* RASTER/VECTOR defaults to 4:3, LCD/SVG defaults to square pixels at config time
* System orientation is applied on top of screen orientation

Automatically generated single-screen views and orientation flags in XML
output now work correctly for systems with multiple screens in different
geometries/orientations, e.g. housemnq, rocnms, stepstag, or netmerc.

The "core rotation options" only interact with system orientation.
Allowing multi-screen systems to work well with one monitor per emulated
screen is a complex topic.  System orientation also affects the GFX
viewer while screen orientation doesn't.  The orientation displayed in
the system selection menu is from the system orientation.

Let me know if I've broken any systems or use cases.

Also, add save state support for std::array/C array nested to any depth.
2018-07-26 23:11:02 +10:00