summaryrefslogtreecommitdiffstatshomepage
path: root/docs/source/techspecs
Commit message (Collapse)AuthorAgeFilesLines
* emumem: A little more speedup. cache and specific change syntax, and are ↵ Olivier Galibert2020-05-251-12/+9
| | | | | | | | | | | | | | | | not pointers anymore [O. Galibert] The last(?) two changes are: - Add a template parameter to everything (theoretically the address space width, in practice a level derived from it to keep as much compatibility between widths as possible) so that the shift size becomes a constant. - Change the syntax of declaring and initializing the caches and specifics so that they're embedded in the owner device. Solves lifetime issues and also removes one indirection (looking up the base dispatch pointer through the cache/specific pointer).
* Happy New Year 2020 (nw) (#6128) Stiletto2020-01-041-2/+2
| | | Happy New Year 2020 (nw) (#6128)
* Allow per-layer blend modes supplied by driver for screens, as required Vas Crabb2019-07-271-3/+3
| | | | | | | | | for Laserdisc overlays. This is a change in behaviour, and it means that games like Golly! Ghost! will need an explicit blend mode specified in the XML. I'm not entirely happy with the situation, but a better, more general solution than this would require some serious refactoring to MAME's renderer.
* Make layout format more flexible: Vas Crabb2019-07-061-145/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* (nw) Clean up the mess on master Vas Crabb2019-03-263-14/+16
| | | | | | | | | | | | | This effectively reverts b380514764cf857469bae61c11143a19f79a74c5 and c24473ddff715ecec2e258a6eb38960cf8c8e98e, restoring the state at 598cd5227223c3b04ca31f0dbc1981256d9ea3ff. Before pushing, please check that what you're about to push is sane. Check your local commit log and ensure there isn't anything out-of-place before pushing to mainline. When things like this happen, it wastes everyone's time. I really don't need this in a week when real work™ is busting my balls and I'm behind where I want to be with preparing for MAME release.
* Revert "conflict resolution (nw)" andreasnaive2019-03-253-16/+14
| | | | | This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing changes made to 009cba4fb8102102168ef32870892438327f3705.
* layout doc: reword (nw) hap2019-03-251-5/+4
|
* layout doc: correction and add inputraw (this one actually does work the way ↵ hap2019-03-241-6/+9
| | | | inputmask was documented before) (nw)
* device_memory_interface.rst : Correct docs cam9002019-02-181-1/+1
|
* 2018 -> 2019 changes (nw) Stiletto2019-01-101-2/+2
| | | * 2018 -> 2019 changes (nw)
* Make informational verbs a bit more consistent, reduce copy/pasted code, a ↵ Vas Crabb2019-01-041-4/+4
| | | | slight performance improvement for reading localisation files, and more documentation clean-up/correction/clarification
* srcclean and cleanup (nw) Vas Crabb2018-10-281-0/+6
|
* Fixed broken document structure Wellington Uemura2018-10-041-18/+22
| | | | | | | * Those chapter numbers are auto generated by sphinx * Fix the chapters not been bold like the rest of the documentation * Fix chapter numbers not in sync with the rest of the documentation * Change the last two chapters to keep up with the document consistency * Fix bold for nscsi_full_device
* finish off layout documentation for now Vas Crabb2018-08-031-8/+112
|
* (nw) Further layout work: Vas Crabb2018-08-021-0/+191
| | | | | | | | * Allow <orientation> and <color> to work on group references * Fix some corner cases where group bounds could be miscalculated * Fix a corner case where MAME could incorrectly refuse to instantiate groups * Add more checks to complay.py * Document more of the layout format
* (nw) be less eager to shadow variables in layouts, make highlights visible ↵ Vas Crabb2018-07-311-18/+21
| | | | on white squares in modena
* (nw) more layout documentation Vas Crabb2018-07-311-7/+197
|
* (nw) more render work: Vas Crabb2018-07-312-0/+616
| | | | | | | | | | | | * 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
* allow repeating elements and groups - useful if you need e.g. a lot of ↵ Vas Crabb2018-07-223-16/+16
| | | | numbered labels, but it limits complay.py's ability to check for invalid references as it can't evaluate expressions (nw)
* (nw) Stiletto2018-02-071-27/+27
| | | (nw)
* Minor updates (nw) Stiletto2018-02-071-4/+11
| | | Minor updates (nw)
* Revert "Revert "Merge branch 'master' of https://github.com/mamedev/mame"" Firehawke2017-12-131-6/+20
| | | | This reverts commit 54155441e9ba9941e85d80c4834a66376a11e791.
* Revert "Merge branch 'master' of https://github.com/mamedev/mame" Firehawke2017-12-131-20/+6
| | | | | This reverts commit f537428e5a40ba6dde8ca9bf0fe9ae6b1f189ac4, reversing changes made to 0d70d798107d4e4e8fb9f230410aeb1e888d65c5.
* No more UINT (nw) AJR2017-12-101-5/+5
|
* Documentation update (nw) AJR2017-12-101-1/+15
|
* dvdisasm: Overhaul [O. Galibert] Olivier Galibert2017-11-263-2/+208
| | | | | | | | Disassemblers are now independant classes. Not only the code is cleaner, but unidasm has access to all the cpu cores again. The interface to the disassembly method has changed from byte buffers to objects that give a result to read methods. This also adds support for lfsr and/or paged PCs.
* This is too contentious, please put it up for review Vas Crabb2017-08-011-63/+5
| | | | | | Revert "Changes to debugger memory address translation" This reverts commit bb0964f9a284b15851773f5428bd602ca01cc28b.
* Changes to debugger memory address translation AJR2017-08-011-5/+63
| | | | | | - memory_translate now returns an address space number rather a boolean flag, permitting addresses in part of one space to map to an entirely different space. This is primarily intended to help MCUs which have blocks of internal memory that can be dynamically remapped, but may also allow for more accurate emulation of MMUs that drive multiple external address spaces, since the old limit of four address spaces per MAME device has been lifted. - memory_translate has also been made a const method, in spite of a couple of badly behaved CPU cores that can't honestly treat it as one. - The (read|write)_(byte|word|dword|qword|memory|opcode) accessors have been transferred from debugger_cpu to device_memory_interface, with somewhat modified arguments corresponding to the translate function it calls through to if requested.
* dimemory: Lift the cap on the number of address spaces per device [O. Galibert] Olivier Galibert2017-07-031-33/+49
|
* Rename AS_DECRYPTED_OPCODES to AS_OPCODES [O. Galibert] Olivier Galibert2017-07-031-12/+12
|
* Update luaengine.rst Dan Amador2017-05-221-2/+2
|
* Fix typos Prayag Verma2017-03-241-2/+2
| | | | slighly → slightly transistion → transition
* srcclean again (nw) Vas Crabb2016-11-303-11/+11
|
* dirom: Document the interface evalution [O. Galibert] Olivier Galibert2016-11-281-3/+9
|
* dimemory, dirom: Add some documentation [O. Galibert] Olivier Galibert2016-09-063-0/+173
|
* Added documentation to main tree (nw) Miodrag Milanovic2016-08-245-0/+1126