Commit Graph

67177 Commits

Author SHA1 Message Date
Vas Crabb
c38a3395e9 Make layout format more flexible:
* There is no longer a concept of "layers" - there are only screens and elements.
* Elements are now instantiated with <element ref="...">
* Screens and elements can have explicit blending mode specified with blend="..."
* Default blending mode for screens is "add" and default for other elements is "alpha"
* Other supported modes are "none" and "multiply"
* This removes the options to enable/disable layers individually - use views instead
* Legacy layouts can still be loaded, and support won't be removed for at least a year

The current artwork model is over-stretched.  It's based on a Space
Invaders cabinet model, and isn't applicable to a lot of the systems
MAME emulates now.  The fact that MAME has to switch to an "alternate"
mode to deal with games like Golly! Ghost! without requiring pre-matted
bitmaps shows that the Space Invaders model wasn't even adequate for
general arcade use.  It shows in that for a lot of the systems that
heavily depend on artwork, people just seem to randomly choose layers
for elements until they get something that works.  Also, the fact that
MAME will switch to an alternate (Golly! Ghost!) mode depending on the
combination of elements is a trap for people learning to make artwork.

There are cases that the current approach of implying the blending mode
from the layer doesn't work with.  Examples include LEDs behind
diffusers (requires additive blending for layout elements), and mutliple
stacked LCD panels (requires RGB multiplication for screens).

For configurability, it's now a lot easier to make multiple views using
groups.  For example, if you want to make it possible to hide the
control panel section of your layout, you can put the control panel
elements in a group and create views with and without it.

I will gradually migrate the internal artwork to use the new approach.
I have an XSLT stylesheet that helps with this, but I'm not comfortable
adding it because it isn't a complete solution and it still requires
manul steps.

I wanted to get the re-worked pointer handling done sooner so I could
push them both at the same time, but unfortunately various things have
prevented me from progressing as quickly as I wanted to.  Sorry guys,
that stuff's going to have to wait.
2019-07-06 00:23:20 +10:00
Robbbert
7ee50ffec7 (nw) multi8 : added cassette interface 2019-07-05 18:48:11 +10:00
Ivan Vangelista
77edf6327e m72.cpp: corrected double spacing in the loht_ms title. Thanks M.A.S.H.! (nw) 2019-07-05 07:17:00 +02:00
Robbbert
038d13fa81 (nw) gamecom: this flag might be important on some platforms 2019-07-05 13:47:28 +10:00
Robbbert
80929fd865 (nw) Validation 2019-07-05 13:14:24 +10:00
cracyc
8a486461e9 i386: vm86 segment flags are 0xf3 as cs must be read/write like real mode (nw) 2019-07-04 20:31:10 -05:00
hap
8558a183bb fidel_as12: add chesspieces (nw) 2019-07-05 01:23:13 +02:00
hap
e91a29e1d1 fidel_sc12: add chesspieces (nw) 2019-07-05 00:48:41 +02:00
hap
bc994dbfeb fidel_sc9: add chesspieces (nw) 2019-07-05 00:10:33 +02:00
Angelo Salese
e4731ddfbf
shangha3.cpp: document debug mode (nw) 2019-07-04 23:04:51 +02:00
David Haywood
e121b90ac8 spectrum softlist stuff [see previous credits list] (#5304)
* speccy list progress - including some covertapes with exclusives (nw)

* validation fixes (nw)

* validation (nw)

* validation stuff (nw)

* validate (nw)

* notes, sorting etc. (nw)

* some details (nw)

* info (nw)

* movement (nw)

* move more (nw)

* more (nw)

* more (nw)

* more movement (nw)

* move more (nw)

* move more (nw)

* (nw)

* more (nw)

* typo (nw)

* more (nw)

* move more (nw)

* more (nw)
2019-07-04 16:56:18 -04:00
hap
f40ee491f2 fidel_sc6: add chesspieces (nw) 2019-07-04 22:28:56 +02:00
hap
919d95d087 fidel_sc8: add chesspieces (nw) 2019-07-04 22:08:19 +02:00
arbee
b3f8af6211 f2mc16: more prep work (nw) 2019-07-04 15:59:01 -04:00
hap
c47a67bb77 sensorboard: changed my mind, put default delay back to 75ms 2019-07-04 21:35:07 +02:00
AJR
e81fc75528 mcs48.cpp: Document a few more variants (nw) 2019-07-04 14:58:16 -04:00
ajrhacker
5035b85be0
Merge pull request #5303 from shattered/_430d642ac2
agat: basic emulation of agat9 (video, apple compat mode, LLE floppy)
2019-07-04 14:46:16 -04:00
R. Belmont
59f3d063f0
Merge pull request #5305 from cam900/dooyong_args
dooyong.cpp : Updates
2019-07-04 12:54:00 -04:00
R. Belmont
bbbc56a7f4
Merge pull request #5306 from enikland2/nes_sms_gun_fix
nes, sms: Fix light gun regression
2019-07-04 12:53:39 -04:00
R. Belmont
d983efca39
Merge pull request #5307 from Hydreigon223/hangplt-fix
Fix hangplt (nw)
2019-07-04 12:52:17 -04:00
Robbbert
c4c3f9978d MT 06756: nascom2, nascom1: Cassette records no signal 2019-07-05 02:25:50 +10:00
AJR
0b1cb00d02 bmcbowl.cpp: EPROM, not EEPROM (nw) 2019-07-04 12:22:39 -04:00
AJR
f4f8cc2d22 dsb46.cpp, lastbank.cpp: Documentation updates (nw) 2019-07-04 10:46:43 -04:00
Patrick Mackinlay
f477c7833b 4dpi: wip (nw)
* eeprom and serial are fixed
* irix hang probably scsi/dma related
2019-07-04 21:34:07 +07:00
hap
a6c703113c fidel_vsc: add chesspieces (nw) 2019-07-04 16:09:36 +02:00
Ivan Vangelista
3d755e5cc1 new not working clone
-----------------------------------------
Legend of Hero Tonma  (Gaelco bootleg, Modular System) [ArcadeHacker, Recreativas.org, ClawGrip]
2019-07-04 13:21:09 +02:00
hap
15e938cd03 remove chessbase class, rename fidelbase to fidel_clockdiv (nw) 2019-07-04 13:16:35 +02:00
Robbbert
7e1e7e23ac (nw) unior : added cassette - unable to test due to i8251 needs updating 2019-07-04 20:19:10 +10:00
ClawGrip
41aebe4a1c toki_ms.cpp: Add missing PROM to "tokims" [ArcadeHacker, Recreativas.org, ClawGrip] (#5298) 2019-07-04 09:13:22 +02:00
AJR
345e5e2dc1 Fix calculation of TMS34010/020 shifted memory addresses for debug save and load commands 2019-07-04 00:48:41 -04:00
arbee
9955eed5d2 enmirage: use PWM device to get readable LED messages [R. Belmont] 2019-07-03 22:49:19 -04:00
Robbbert
5c3f7a9a6d (nw) uef : added baudrate detection for atom. Needs much more to be done. 2019-07-04 11:28:17 +10:00
hap
af1f5ed3f3 fidel*: use pwm_display (nw) 2019-07-04 03:13:13 +02:00
arbee
515bbedaf3 f2mc16: add MB90610A and MB90611A microcontrollers. [R. Belmont] 2019-07-03 20:56:10 -04:00
hap
30970c8e93 fidel*: separate inputs (nw) 2019-07-04 00:23:52 +02:00
AJR
d6cf6fd3e3 wy100: Simplify by using existing rxrdy_r callback (nw) 2019-07-03 16:04:28 -04:00
AJR
55f1dbcbf5 dwarfd.cpp: Fix regression by reducing CRTC clock (nw) 2019-07-03 16:04:26 -04:00
Patrick Mackinlay
bad674aca2 4dpi: wip (nw)
* lance and scsi working
* monitor, fx and sash run (latter two from cdrom or network)
* irix boots from miniroot but hangs
2019-07-03 20:50:27 +07:00
Patrick Mackinlay
f8c1f01694 wd33c9x: interrupt on reset (nw) 2019-07-03 16:47:12 +07:00
Patrick Mackinlay
8775ec6a46 am79c90: reset line (nw) 2019-07-03 16:46:50 +07:00
arbee
c3a0f06caf f2mc16: start populating the core (nw) 2019-07-03 00:00:33 -04:00
AJR
2cb7842e56 zorba: Fix regression; document a few more things (nw) 2019-07-02 23:40:49 -04:00
AJR
0ca3401a04 mcs48: A better fix for the JNI problem (nw) 2019-07-02 22:55:54 -04:00
Hydreigon
18d389508e
Fix hangplt (nw)
It turns out DIP 2 determines if the game should skip post instead of DIP 1 like the nwk-tr and hornet games. Also forgot the diplocation feature for this driver.
2019-07-02 21:33:24 -05:00
braintro
5afea7f637 (nw) dfruit.cpp: Designate Gemcrush as a prototype. 2019-07-02 21:28:21 -05:00
Enik Land
2a664c1f23 nes, sms: Fix light gun regression 2019-07-02 20:51:24 -03:00
cam900
758720643e dooyong.cpp : Updates
Simplify handlers, Use callback for ROM based tilemap attributes, Implement tilemap ROM limitation, Add notes, Allow tilemap drawing with masked priority, Reduce unnecessary lines, Fix namings, Spacings, Use shorter / correct type values
Fix metadata (NTC license sets are released and published in japan, gulfstrmm is actually japanese release too.)
2019-07-03 08:22:59 +09:00
hap
64b64b02aa fidel*: prep work 2 (nw) 2019-07-02 22:10:21 +02:00
hap
29101cb246 fidel*: prep work (nw) 2019-07-02 21:39:39 +02:00
hap
cfb9af8564 fidelbase: remove sound handling (nw) 2019-07-02 21:28:27 +02:00