summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Filesystem-related bug fixes AJR2021-09-081-1/+1
| | | | | - Fix recently-introduced path-trashing bug in zippath_resolve - Prevent UI file select menu from crashing in error cases where no files can be found
* util/coretmpl.h: Fixed clang narrowing warning. Vas Crabb2021-09-061-1/+1
|
* -ui: Made zoom controls a bit more intuitive. Vas Crabb2021-09-0610-49/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * The UI controls are described as zoom in/out, but they had the opposite effect on the palette and tile viewers. That has been changed to make them consistent with the tilemap viewer. * Made the default zoom key not act as a toggle. People are familiar with the function of Ctrl+0/=/- in web browsers, so making them behave similarly in MAME should make it more approachable. Also added the default zoom key to the relevant documentation page. * Implemented the default zoom key for the palette and tile viewers. * In the tilemap viewer, if the view is in default expand to fit mode, zoom in/out starting from the actual zoom ratio. Once again, this behaves more like the zoom controls in a web browser displaying an image so it should be more intuitive. * Made more messages from the tilemap viewer localisable. -util/zippath.cpp: Fixed MT08074. * There were multiple issues at play here. After #8443 was applied, is_root was simply never returning true on Windows, as OSD_WINDOWS isn't actually defined outside libosd and libocore. This caused phantom parent items to appear in disk roots on Windows, but it meant that the check in zippath_resolve would always fail so the trailing backslash would be trimmed. Fixing the macro test in is_root meant the trailing backslash from C:\ would no longer be trimmed, which caused the stat in zippath_resolve to fail. -bigbord2.cpp: Hooked up floppy DRQ that had somehow got lost. -Reduced tag map lookups in several drivers and devices. -util/coretmpl.h: Removed an overload of bitswap that can be avoided using if constexpr. -Added doxygen comments to some classes, and fixed several doxygen warnings. -util, osd: Test for _WIN32 rather than WIN32. * In C++17 mode, WIN32 is no longer a predefined macro, although various things in 3rdparty define it to maintain legacy support. We're better off moving forward anyway for when WIN32 disappears entirely. (WIN32 is not a reserved name, while _WIN32 is, starting with an underscore follwed by an uppercase letter.)
* Decoupled RPK logic from TI-99 cartridge code. (#7880) npwoods2021-09-062-0/+617
| | | Decoupled support for RPK (RomPacK cartridge images) from TI-99 code, enabling the logic to be leveraged by other drivers.
* endianness.h: Use namespace std::literals AJR2021-08-311-1/+1
|
* Move endianness type into lib/util header AJR2021-08-311-0/+76
|
* wd177x_dsk.cpp: Add head count check Jesse Marroquin2021-08-291-2/+2
| | | Prevents further evaluation of incompatible formats.
* Miscellaneous clean-up. Vas Crabb2021-08-292-22/+24
| | | | | | | | | * play_1.cpp: Use output finders. * s3.cpp, s4.cpp, s6.cpp, s6a.cpp: Use output finders, reduced tag lookups. * taito_z.cpp: Use output finders, split up state class a little. * util/unzip.cpp: Use std::optional to make code clearer. * util/ioprocsfilter.cpp: Work around MSVC DevCom-1516410.
* Merge tag 'mame0235' into mainline-master Vas Crabb2021-08-272-2/+4
|\ | | | | | | MAME 0.235
| * util/zippath.cpp: OSD_WINDOWS isn't a safe way to detect Windows target, and ↵ Vas Crabb2021-08-261-1/+4
| | | | | | | | OSD_* macros must not be used outside libocore/libosd.
| * Fix a duplicate #include and an indendation error Vas Crabb2021-08-231-1/+0
| |
* | formats, osd, util: Started refactoring file I/O stuff. (#8456) Vas Crabb2021-08-22169-3645/+6360
|/ | | | | | | | | Added more modern generic I/O interfaces with implementation backed by stdio, osd_file and core_file, replacing io_generic. Also replaced core_file's build-in zlib compression with a filter. unzip.cpp, un7z.cpp: Added option to supply abstract I/O interface rather than filename. Converted osd_file, core_file, archive_file, chd_file and device_image_interface to use std::error_condition rather than their own error enums. Allow mounting TI-99 RPK from inside archives.
* Use std::clamp in more source files AJR2021-08-151-7/+4
|
* sdl ui: fix choosing the root path (#8443) tim lindner2021-08-141-7/+13
|
* formats/fsmgr.cpp: Don't assume string iterators can be indexed (reported by ↵ Vas Crabb2021-08-021-4/+2
| | | | coverity).
* imd_dsk.cpp: Fix segmentation fault saving FM track Jesse Marroquin2021-07-291-1/+1
| | | Incorrect cell size for FM track results in empty bitstream that ultimately causes data.empty() to seg fault.
* cassimg: don't construct string from nullptr (#8265). Robbbert2021-07-211-1/+1
| | | | Note that std::string() was tried but somehow caused another bug (tape preset as play was instead stopped).
* API cleanups and miscellaneous fixes. Vas Crabb2021-07-152-22/+13
| | | | | | | | | | | | | | | | emu/ioport.cpp: Allow controller files to override input sequences for inputs that don't use defaults, and to override the toggle setting for digital inputs. emu/config.cpp: Expose configuration level (mostly matters for controller files), improved verbose diagnostic messages, and moved a few things out of the global and preprocessor namespaces. docs: Added documentation for some controller configuration file features. The device mapping feature documentation will be merged in at some point. util/unicode.cpp, emu/input.cpp: API cleanups.
* delegate: Fix Visual Studio case with displaced object base (internal ↵ Aaron Giles2021-07-141-3/+3
| | | | representation seems to have drifted since it was originally written).
* video/voodoo.cpp: Major rewrite: (#8267) Aaron Giles2021-07-091-14/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Changed to use modern poly.h instead of polylgcy.h. * Moved helper classes into separate voodoo namespace. * Derived device classes from video_device_interface. * Split classes so that later versions derive from earlier versions. * Created device maps to be directly included. * Redesigned register mapping to use helper classes and delegates. * Rewrote rasterizers to use C++ templates instead of macros. * Added logic to compute equations for color/texture combine units. * Added special generic identity-texel rasterizer cases. * Removed pipeline stalls on texture and palette changes. * Removed pipeline stalls on most all parameter changes. * Generally re-thought and cleaned up logic throughout. * Parameterized cycle stealing on status reads; updated all existing voodoo consumers to configure it as it was before. -vidoe/poly.h: Various improvements: * Exposed poly_array class for broader use. * Changed poly_array to intelligently determine maximum size. * Added logic to track multiple "last" instances in poly_array. * Extended logic to support up to 16m work items. * Removed MaxPolys parameter from poly_manager template. * Added Flags parameter to poly_manager template. * Added POLY_FLAG_NO_CLIPPING flag to remove clipping code when not needed. * poly_manager now supports a MaxParams value of 0. * Made paramcount a template parameter for render_* functions. * Added reset_after_wait() method to be overridden by derived classes. * Switched to using std:: helpers instead of internal methods. * Removed useless dependency on screen_device. * TRACK_POLY_WAITS now produces more complete statistics. -video/polylgcy.cpp: Removed legacy implementation of polygon renderer. -machine/gt64xxx.cpp: Prevent lockups by disallowing 0-duration timers. -machine/pci.cpp: Added support for adding subdevice maps directly. -emu/video/rgbsse.h: Improved min/max for SSE4.1+ and scale+clamp operations for all. -emu/vidoe/rgbutil.h: Made palette expansion constexpr and added argbexpand function. -osd/osdcore.cpp: Changed osd_ticks to use QueryPerformanceCounter on Windows since the mingw std::chrono::high_resolution_clock is anything but.
* srcclean in preparation for release Vas Crabb2021-06-274-28/+28
|
* -util: Retire legacy object pool, removing vestigial references. Vas Crabb2021-06-244-751/+3
| | | | | | | Thanks to AJR, Ivan Vangelista and Aaron Giles for helping make this possible. Also fixed debug build of imgtool.
* formats/flopimg.cpp: Remove legacy pool allocator usage. (#8216) Aaron Giles2021-06-241-38/+19
|
* Added helpers for 64-bit count leading zeroes/ones. Vas Crabb2021-06-131-2/+2
|
* ipf: Wrap the decoding state in a sub-structure Olivier Galibert2021-06-102-112/+95
|
* wd177x: remove tests for head count. add track count test in ↵ tim lindner2021-06-061-5/+9
| | | | check_compatibility() becuase it will segfault if disk drive doesn't have enough tracks
* wd177x: test to make sure the floppy drive has room for all of the tracks tim lindner2021-06-051-0/+12
|
* enmirage: fixed and updated to load and play via MIDI, panel controls hooked ↵ tim lindner2021-06-031-10/+30
| | | | up [Tim Lindner]
* apple2: handle Bernie ][ .2MGs with the signature bytes flipped. [R. Belmont] arbee2021-05-291-0/+6
|
* floppy_image_format_t: Turn all the methods that can be static into static ↵ Olivier Galibert2021-05-272-61/+61
| | | | methods, which is almost all of them
* floppy: Change the formats from an intrusive list to a vector Olivier Galibert2021-05-272-23/+1
|
* Copy/paste fix Olivier Galibert2021-05-261-1/+1
|
* vtech: Add floppy formats and fs Olivier Galibert2021-05-268-2/+950
|
* reorganize the floptool code, add some write support Olivier Galibert2021-05-248-133/+142
|
* srcclean for release Vas Crabb2021-05-237-16/+16
|
* Compile fix for Linux (#8081) Brandon Munger2021-05-191-0/+1
|
* jasmin: Support write Olivier Galibert2021-05-166-188/+386
|
* prodos: Add file and resource reading Olivier Galibert2021-05-118-16/+345
|
* prodos: experiements in directory tree reading. Olivier Galibert2021-05-094-45/+223
|
* Avoid name collision on Y2 Olivier Galibert2021-05-021-11/+11
|
* MacOS < 10.13 has an issue with std::get, use std::get_if instead Olivier Galibert2021-05-024-13/+30
|
* prodos: Start of read support Olivier Galibert2021-05-026-12/+165
|
* fs: Add full jasmin read support Olivier Galibert2021-04-308-245/+600
|
* fsmgr: more compiler error fighting [R. Belmont] arbee2021-04-281-0/+1
|
* fsmgr: temp hack to fix Clang compile [R. Belmont] arbee2021-04-281-0/+1
|
* floppy: first steps on metadata, and hopefully make gcc happier on enumerate Olivier Galibert2021-04-288-30/+237
|
* floppy: start block-devicing fielsystem support Olivier Galibert2021-04-2814-111/+869
|
* util/cdrom.cpp: Disable debug log message when parsing TOC. Vas Crabb2021-04-241-24/+20
| | | | Also some miscellaneous cleanup/consistency.
* kaypro: added back support for kay/dsk images. Robbbert2021-04-221-2/+2
|
* thomson: Turn the extensions into slot devices, modernize the floppies Olivier Galibert2021-04-194-419/+91
|