Commit Graph

89 Commits

Author SHA1 Message Date
AJR
8fe18e9ecc New device interface for palettes
- Create device_palette_interface, which takes over most functionality from palette_device except for the initialization/decoding routines and RAM interface.
- Update screen_device and device_gfx_interface to use a device_palette_interface object rather than a palette_device. This necessitates slight alterations to a few drivers and devices.
- Modify v9938 and v9958 to use the new device_palette_interface rather than a subdevice. This entails breaking a cyclic dependency between device_video_interface and screen_device for this case.
2017-04-06 11:30:40 +10:00
Miodrag Milanovic
ad2bedf06b Refactored HTTP handling to be easier to extend and use (nw) 2017-03-19 18:35:05 +01:00
Vas Crabb
19a9122748 add logmacro.h inspired by Edstrom's log macros
* should be #included after other headers and after optionally #defining VERBOSE
* usage samples in z80scc.cpp and m68705.cpp

68705: add lots of logging to help trace issues
2017-01-20 16:53:12 +11:00
Miodrag Milanovic
63e3f48775 Added initial HTTP/HTTPS webserver/websocket server support (nw) 2017-01-04 16:15:57 +01:00
AJR
ff68193741 Overhaul of devcb (nw)
- Allow stringing multiple callbacks together recursively. Chained callbacks will be read or written in sequence, and each can be configured with its own type and mask/shift/XOR parameters.
- Chained input callbacks cannot have overlapping masks (there's no such thing as a free multiplex). Chained output callbacks have no such restriction.
- Remove the constant parameter for the LOGGER callback type: it makes no sense for output, was always zero in existing usage, and is now unnecessary with callback chaining.
- Change LOGGER behavior for writes to log the user-defined message only if the output as masked is nonzero. With callback chaining, this can be used to monitor when individual bits become active.
- Constant read callbacks can no longer have MCFG_DEVCB_XOR or MCFG_DEVCB_INVERT specified (makes no sense in this context).
- Add a MEMBANK callback type to allow output bits to be used for bank-switching.
- Add ASSERTLINE and CLEARLINE callback types that raise or lower an interrupt line if the selected bit of the written value is active. These are intended for where periodic or ready-pulse signals from devices are used to trigger IRQs that the CPU program will independently acknowledge.
- Add MCFG_DEVCB_BIT as shorthand for masking and shifting out an individual bit for a callback.
- Removed DEVCB_LINE_DISPATCH_<n>. Where we're going, we don't need line dispatcher devices.

The incompatibility of compilers with regard to post-C90 printf string formats is shockingly bad. There seems to be no easy way to format a 64-bit value and please both gcc and clang, let alone MSVC.
2016-12-21 15:20:54 -05:00
Vas Crabb
be26ac9abf coretmpl: add an associative LRU cache with map-like behaviour
selmenu: use LRU cache so icons don't all need to be reloaded on scroll

uismall.bdf: set default character for missing glyphs

rendfont.cpp:
* encapsulate many BDF and BDC handling details
* make file I/O 64-bit clean, check for allocation errors
* more solid BDF parser with error messages and trace logging
* fix heap smash when building bitmaps for BDF fonts
* extend BDC format to support high planes and default character
* render default character if glyph not found for BDF/BDC
2016-12-15 17:00:34 +11:00
Miodrag Milanovic
de7e80804e Added ability to use ASIO in all core MAME parts (nw) 2016-11-07 10:47:27 +01:00
AJR
99c705f9de Polymorphize input_device and input_class; move to separate source file (nw) 2016-10-24 17:28:35 -04:00
Miodrag Milanovic
ddb290d5f6 NOTICE (TYPE NAME CONSOLIDATION)
Use standard uint64_t, uint32_t, uint16_t or uint8_t instead of UINT64, UINT32, UINT16 or UINT8
also use standard int64_t, int32_t, int16_t or int8_t instead of INT64, INT32, INT16 or INT8
2016-10-22 13:13:17 +02:00
AJR
f1b0dfe64a Separate natural keyboard support from ioport.cpp (nw) 2016-10-02 00:07:43 -04:00
Vas Crabb
234e91f9fb Add Lua-cleaning ability to srcclean 2016-08-30 14:57:38 +10:00
Olivier Galibert
82c408f54c dirom: device_rom_interface for sound chips with rom/memory map alternative [O. Galibert] 2016-08-15 22:36:39 +02:00
Miodrag Milanovic
b966180061 Compile netlist and lua only if used (nw) 2016-08-12 15:03:45 +02:00
Nathan Woods
75f5be77b0 Changed how ROM_COPY and ROM_FILL are represented in tiny_rom_entry to be more how they were in the past
Turbosub had a ROM_COPY declaration with an expression ('ROM_COPY( "main_code", 0x18000 + 0x2000,...) and this simply did not work with the new model.  This required changing ROM_* declarations to more resemble how they used to be and to perform the conversion on load.
2016-08-11 17:16:35 -04:00
Nathan Woods
f9db568146 Redo of split of src/emu/softlist.[cpp|h]
This is a redo of the split first submitted in #137, with the following differences:
* The newly refactored rom_entry data structure is used
* I've kept the refactored softlist code in src/emu, in order to defer the mechanical process of moving it
* I've kept includes of softlist[_dev].h out of diimage.h, so that changes to either do not trigger an emu.h recompilation
* Obviously, this goes against the latest master
2016-08-02 17:40:49 -04:00
Nathan Woods
ee302246c9 Changes rom_entry from a struct to a class, storing its strings as std::string and separated the declaration into a new header.
This should really be followed up by further changes to eliminate the usage of the weird accessor macros in favor of conventional C++
accessors
2016-08-01 08:01:34 -04:00
Nathan Woods
4aa0ab1724 Moved src/emu/hash.[cpp|h] into src/lib/util, and namespaced that code (and hashing.[cpp|h]) into util:: 2016-07-23 12:49:33 -04:00
Julian Sikorski
6208ca7d34 Made the way jpeglib.h is included more pretty 2016-06-15 22:26:56 +02:00
Miodrag Milanovic
be67262fc2 INC -> HXX makes editors and code analyzers see it as C++ (nw) 2016-05-01 20:27:50 +02:00
Miodrag Milanovic
bc7e1b7c35 separate those libs that are different only (nw) 2016-04-29 10:22:34 +02:00
AJR
fb08fefaee Move a few odds and ends out of the emu core 2016-04-23 15:27:59 -04:00
Miodrag Milanovic
97a195ef03 Removed specific filter implementation and merged it with placed where used (nw) 2016-04-23 13:31:47 +02:00
Miodrag Milanovic
13bcfbf579 more cleanup of includes (nw) 2016-04-23 12:39:43 +02:00
Miodrag Milanovic
61fced67f6 deps are fixed remove includes (nw) 2016-04-23 12:32:30 +02:00
Miodrag Milanovic
c6a9773e15 move vector to video devices (nw) 2016-04-23 12:21:53 +02:00
Miodrag Milanovic
9a3b5d9a75 mode devices to proper library (nw) 2016-04-23 12:18:05 +02:00
Miodrag Milanovic
1c726824f2 Split UI and frontend part from core [Miodrag Milanovic] 2016-04-23 11:26:47 +02:00
Miodrag Milanovic
4c9c6c8c16 Added file for mame depended handling of opts (nw) 2016-04-22 09:09:39 +02:00
Miodrag Milanovic
8318d85597 Isolate CLI part (nw) 2016-04-20 09:50:13 +02:00
dankan1890
5347076f49 submenu: merged some options menu. (nw) 2016-04-11 03:37:51 +02:00
Vas Crabb
0c502775b6 remove ui/ui.h dependency from emu.h (for couriersud) 2016-04-10 17:48:38 +10:00
Miodrag Milanovic
2a0c7a0f0b renamed memory.* to emumem.* (nw) 2016-04-08 10:15:48 +02:00
cracyc
817f19fcc1 luaengine: add plugin options menu [Carl] 2016-04-04 18:17:18 -05:00
Olivier Galibert
cdc04a9b7c screen: POC||GTFO of svg rendering from inside the rom. [O. Galibert]
It's damn slow, ~50ms/frame on cdkong.  Caching and/or hw accel will
solve that easily.  It doesn't look very good, nanosvg need better
anti-aliasing.  It also doesn't do texturing very well and images not
at all, so some of our current svgs won't look good.  But all that's
fixable.
2016-04-04 11:33:34 +02:00
Jeffrey Clark
ca3e65e35f refactor miscmenu and add adv menu (nw) 2016-04-03 07:02:38 +00:00
Peter Ferrie
829a06b966 fix the MSVC build (nw)
I wonder how it could have ever worked.  emu lacked zlib.h reference,
super80.cpp lacked UINT8 declaration.
2016-04-01 23:18:04 -07:00
Miodrag Milanovic
9b3788035c scrclean on lua scripts (nw) 2016-03-29 08:49:47 +02:00
Jeffrey Clark
c3397ae4a9 fix include dirs (nw) 2016-03-29 00:45:53 -07:00
Jeffrey Clark
9d9c8fad6a Extend system library support (nw)
Extend USE_SYSTEM_LIB_* to support providing the library name and include directory.
To link against system specific lib names and header path: (ref #711)

USE_SYSTEM_LIB_LUA=lua5.3:/usr/include/lua5.3
2016-03-28 22:26:52 -05:00
Miodrag Milanovic
315612190b Added parsing of plugin json files for machine_manager (nw) 2016-03-24 21:07:39 +01:00
Miodrag Milanovic
593803fb48 Fixed issue with internal font (nw) 2016-03-20 09:31:04 +01:00
Miodrag Milanovic
de04399afa Fixed osdmini building for android and pnacl (nw) 2016-03-08 15:46:20 +01:00
Justin Kerk
af0a67c0f7 Restore uismall.png for now so that Emscripten menus work (nw) 2016-03-05 22:22:21 +00:00
Vas Crabb
a830ea7627 * Support *n conversion in stream_format/string_format
* Make stream_format return characters printed
* Add iostreams with std::vector storage
* Move to type-safe templates for logerror and popmessage
* Remove now-unnecessary I64FMT from calls to logerror/popmessage
* Put some lib/util stuff in util:: namespace
* Some fixes to Japanese translation
2016-03-01 06:52:36 +11:00
Miodrag Milanovic
5951df437e Added NotoSans-Bold as backup font for platforms that do not have default system fonts exposed (nw) 2016-02-27 11:52:11 +01:00
Miodrag Milanovic
d50870e3e4 fix building Emscripten build on Windows (nw) 2016-02-22 10:18:35 +01:00
dankan1890
526d56d359 Added option in the "Customize UI" menu for selecting the language. (nw) 2016-02-21 04:59:39 +01:00
Miodrag Milanovic
38e054c765 placed back OPENGL check since GL is not same as GLES (nw) 2016-02-16 18:00:19 +01:00
Miodrag Milanovic
e1ace73626 opengl as requirement (nw) 2016-02-16 17:21:32 +01:00
AJR
0d8df9d595 Make generic VTLB implementation a modern device interface (nw) 2016-02-07 01:42:58 -05:00