summaryrefslogtreecommitdiffstatshomepage
path: root/scripts/src/emu.lua
Commit message (Collapse)AuthorAgeFilesLines
* bus/nubus: More Mac video card improvements. Vas Crabb2022-06-241-2/+4
| | | | | | | | | | | | | | | | Started implementing the Macintosh Display Card CRTC. It gives correct resolutions, although refresh rates are incorrect. Added machine configuration settings allowing several monitors to be selected. Implemented the Macintosh Display Card's packed RGB mode. The base/stride in RGB mode make more sense with this implemented. Cleaned up the code for the SuperMac Spectrum cards, and fixed the garbage at the bottom of the screen on the Spectrum/8. Put a layout with views for common monitor aspect ratios in a place where cards can use it. This is especially useful for the NuBus cards that can support portrait monitors.
* Still more user experience improvements: Vas Crabb2021-10-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Changed the default mapping for UI select to not trigger on Alt+Enter fullscreen toggle. (Fullscreen toggle still doesn't work in menus - actually fixing that is complicated.) frontend: Made the about box wrap text properly, made the title and backtrack menu item always visible, and added a footer with the VCS revision. frontend: Don't highlight the favourites and info toolbar buttons if there's no selection (can happen if filters produce no results). Also made the info viewer appear even if no info is available - it's less confusing to see an empty menu than wonder why clicking the button does nothing. debugger: Added a register points view to the GUI debuggers, to go with the breakpoints and watchpoints views. debugger: Extended [brw]p(clear|(en|dis)able) commands to accept multiple arguments to perform the same action on multiple (break|watch|register)points at once. Also made rplist accept a CPU for showing a single CPU's register points ([bw]plist already support this). docs: Updated registerpoints debugger commands page, and updated other pages for latest extensions to syntax.
* Remove emualloc.* AJR2021-06-221-4/+1
|
* Revert "fileio.cpp: This doesn't technically require emu.h" AJR2021-02-281-2/+1
| | | | This reverts commit 6d6073054b9155592a6022d66751422ff3b3a372.
* fileio.cpp: This doesn't technically require emu.h AJR2021-02-261-1/+2
|
* scripts: Remove references to non-existent headers and duplicate source file ↵ Roberto Benfatto2021-02-141-1/+0
| | | | references. (#7770)
* render.h, rendlay.h: Dependency refactoring AJR2021-01-041-0/+1
| | | | | - render.h: Split out layout class declarations into rendlay.h, with some adjustments for the resulting incomplete types (std::reference_wrapper unfortunately does not allow these by C++17 rules) - rendlay.h: Move old header contents to layout/generic.h
* Implement views, which are essentially bankdevs integrated into the Olivier Galibert2020-11-221-0/+2
| | | | memory map system. [O. Galibert]
* -Switch to building MAME as C++17. Vas Crabb2020-11-151-0/+1
| | | | | | | * Updated sol2 to 3.2.2 * Updated pugixml to 1.10 * Increased minimum clang version to 6 * Cleaned up some stuff that can use new features
* Various improvements to image file handling: Vas Crabb2020-10-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Moved MS DIB parser out of ICO file reader and made it available for artwork and layout images. Added more efficient I/O and better error checking for JPEG file loading (MAME will no longer exit immediately on a bad JPEG file). Made caller responsible for opening files for loading images, to avoid decompressing images used in ZIP/7z artwork multiple times. Added support for JPEG and Windows DIB to picture_image_device. Added support for SVG image files in external artwork. Added support for using I/O port value for animation state and masking animation state values. Made bounds elements more flexible in layouts. Reworked headers to reduce dependencies. Updated layout file format documentation.
* Debugger expression and memory access overhaul AJR2020-05-251-0/+2
| | | | | | | | | | | | | - Memory references in expressions no longer default to the console's visible CPU if no device name was specified, except when entered through the console itself. Expressions in view windows now use the context of the currently selected device instead. - The pcatmem debug command and similar qt mouseover function now produce an error message if the initial address translation fails. Related internal changes (nw) - The debugger_cpu class no longer interprets memory accesses. The existing routines have been moved into symbol_table (which used to invoke them as callbacks), and reimplemented in most other places. Thecode duplication is a bit messy, but could be potentially improved in the future with new utility classes. - The cheat engine no longer needs to hook into the debugger_cpu class or instantiate a dummy instance of it. - The inclusion of debug/express.h within emu.h has been undone. Some debugging structures now need unique_ptr to wrap the resulting incomplete classes; hopefully the performance impact of this is negligible. Another direct consequence is that the breakpoint, watchpoint and registerpoint classes are no longer inside device_debug and have their own source file. - The breakpoint list is now a std::multimap, using the addresses as keys to hopefully expedite lookup. - The visible CPU pointer has been removed from the debugger_cpu class, being now considered a property of the console instead. - Many minor bits of code have been simplified.
* emumem: A little more speedup. cache and specific change syntax, and are ↵ Olivier Galibert2020-05-251-1/+1
| | | | | | | | | | | | | | | | 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).
* Refactoring of AVI/MNG recording code (#6537) npwoods2020-04-221-0/+2
| | | | | | | | | | | | | | * Initial refactor of AVI/MNG movie recording, consolidation of copy and paste code, hiding of AVI/MNG behind interfaces * Extracted recording specific code out of src/emu/video.cpp and put into src/emu/recording.cpp * Took the opportunity to move slightly more logic out of video.cpp into recording.cpp * Bug fix * Consolidated frame counting logic
* compile in the contents of the COPYING file for the about box - safer than ↵ Vas Crabb2020-03-221-2/+2
| | | | assuming it will be in the working directory. no attempt at compressing it for now (nw)
* UI input menu: treat codes containing a postive and negative of the same ↵ Vas Crabb2019-11-211-1/+1
| | | | | | | | thing as invalid (e.g. A S not A) ioport.cpp: * better than 50% reduction in compile time, and better locality for static data * better encapsulation, const correctness and noexcept usage
* drawgfxm.h: Rename to drawgfxt.ipp and replace the mega-macros with template ↵ AJR2019-09-161-1/+1
| | | | functions (nw)
* Enable precompiled header usage in the Visual Studio compiler (#5473) S.Z2019-08-131-0/+9
| | | | | | | | | | * Enable precompiled header usage in the Visual Studio compiler But only for libraries emu frontend precompile dasm optional Also add emu.h include to hpcdasm.cpp * Include emu.h in some disassembler sources to use precompiled headers * Remove debug message
* Better support for screen orientation/geometry: Vas Crabb2018-07-261-10/+0
| | | | | | | | | | | | | | | | | | | | | * 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.
* emumem: Backend modernization [O. Galibert] Olivier Galibert2018-06-291-0/+27
|
* Added possibility of building using system pugixml Julian Sikorski2018-03-271-0/+1
|
* get rid of dioutput - it's only used in one place, and it upset GCC on Linux ↵ Vas Crabb2018-03-251-2/+0
| | | | debug builds for some reason
* Fuck genie, Enhanced edition (nw) Olivier Galibert2018-03-121-1/+0
|
* forgot these are listed explicitly (nw) Vas Crabb2018-03-121-3/+0
|
* Enable use of system-wide asio, glm and rapidjson (#3172) Julian Sikorski2018-02-081-1/+2
| | | | | | | | | | | | * Fixed building using system utf8proc * Fixed building using system portaudio * Allow using system-wide asio headers (1.11.0 or higher required). * Allow using system-wide glm headers * Allow using system-wide rapidjson headers
* xtal.h is dead, long live to xtal.cpp [O. Galibert] Olivier Galibert2018-01-231-0/+2
|
* dvdisasm: Overhaul [O. Galibert] Olivier Galibert2017-11-261-0/+2
| | | | | | | | 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.
* Remove timer_device from emu.h and move it out of src/emu (nw) AJR2017-10-011-2/+0
|
* general cleanup: Vas Crabb2017-05-231-0/+1
| | | | | | | | | | | * move rarely-used output and pty interfaces out of emu.h * consolidate and de-duplicate forward declarations, also remove some obsolete ones * clean up more #include guard macros * scope down a few more things (nw) Everyone, please keep forward declarations for src/emu in src/emu/emufwd.h - this will make it far easier to keep them in sync with declarations than having them scattered through all the other files.
* New device interface for palettes AJR2017-04-061-0/+2
| | | | | | - 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.
* Refactored HTTP handling to be easier to extend and use (nw) Miodrag Milanovic2017-03-191-0/+2
|
* add logmacro.h inspired by Edstrom's log macros Vas Crabb2017-01-201-0/+1
| | | | | | | * 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
* Added initial HTTP/HTTPS webserver/websocket server support (nw) Miodrag Milanovic2017-01-041-0/+1
|
* Overhaul of devcb (nw) AJR2016-12-211-2/+0
| | | | | | | | | | | | | | - 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.
* coretmpl: add an associative LRU cache with map-like behaviour Vas Crabb2016-12-151-1/+0
| | | | | | | | | | | | | | 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
* Added ability to use ASIO in all core MAME parts (nw) Miodrag Milanovic2016-11-071-0/+1
|
* Polymorphize input_device and input_class; move to separate source file (nw) AJR2016-10-241-0/+2
|
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-221-2/+2
| | | | | 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
* Separate natural keyboard support from ioport.cpp (nw) AJR2016-10-021-0/+2
|
* Add Lua-cleaning ability to srcclean Vas Crabb2016-08-301-1/+1
|
* dirom: device_rom_interface for sound chips with rom/memory map alternative ↵ Olivier Galibert2016-08-151-0/+2
| | | | [O. Galibert]
* Compile netlist and lua only if used (nw) Miodrag Milanovic2016-08-121-1/+0
|
* Changed how ROM_COPY and ROM_FILL are represented in tiny_rom_entry to be ↵ Nathan Woods2016-08-111-0/+1
| | | | | | 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.
* Redo of split of src/emu/softlist.[cpp|h] Nathan Woods2016-08-021-0/+2
| | | | | | | | 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
* Changes rom_entry from a struct to a class, storing its strings as ↵ Nathan Woods2016-08-011-0/+1
| | | | | | | 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
* Moved src/emu/hash.[cpp|h] into src/lib/util, and namespaced that code (and ↵ Nathan Woods2016-07-231-2/+0
| | | | hashing.[cpp|h]) into util::
* Made the way jpeglib.h is included more pretty Julian Sikorski2016-06-151-0/+1
|
* INC -> HXX makes editors and code analyzers see it as C++ (nw) Miodrag Milanovic2016-05-011-1/+1
|
* separate those libs that are different only (nw) Miodrag Milanovic2016-04-291-2/+0
|
* Move a few odds and ends out of the emu core AJR2016-04-231-4/+0
|
* Removed specific filter implementation and merged it with placed where used (nw) Miodrag Milanovic2016-04-231-2/+0
|