| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
Read callbacks now need a default return value supplied at construction.
Replaced isnull() with isunset() which tells you if the callback wasn't
configured rather than whether it isn't safe to call.
Enabled validation of device callbacks (it seems it was disabled at some
point, probably accidentally).
Device callbacks and object finders now implement the same interface for
resolution.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Restores ability to give specific/detailed messages removed in
6f7e4141ea14acaaf9cb973c66788fabb3457023 while pandering to obsession
with single return value.
Moved responsibility for displaying the error message in the UI to the
caller rather than device_image_interface, and made
device_image_interface always log the error along with the full path and
error condition content.
Gave several image devices more detailed error messages. Added some
FIXME comments for apparent bugs.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bus/nubus/nubus_image.cpp: Fixed failure to allocate memory for the
image (regressed in b8c338858a101d14308c64c87b0f714db4f05326).
bus/nes/karastudio.cpp, bus/nes/sunsoft_dcs.cpp: Fixed stack smash when
loading loose software.
Addressed some Lua engine fallout from running things in coroutines:
* Don't crash accessing dead Lua thread state from callbacks.
* Allow returning values via yielding functions.
* Don't run address space tap and layout view callbacks in coroutines to
save overhead.
* Better logging of errors from callbacks.
|
| |
|
|
|
|
|
|
|
| |
- Remove the seterror method for recording error messages and conditions. Condition codes have been made return values for call_load, call_create and various related callbacks. Error messages (which many devices weren't generating) are now displayed through osd_printf_error.
- Eliminate the image_init_result and image_verify_result pass/fail enumeration types. Update many functions that were returning these enumerations or simply bools to return std::error_condition instead. In some cases, this type is now passed down from internal parsing/loading functions which were already returning it. In various other cases, the former default UNSPECIFIED has been used as a catchall for I/O errors; anticipated future refactorings should make these error returns more specific.
- Expand the image_error categories to include INVALIDLENGTH, NOSOFTWARE and BADSOFTWARE. The first is largely self-explanatory. The second is generated by the core to indicate failure to find software items in lists. The third is provided for devices to indicate semantic errors in software list entries.
- Change the return type of floppy_image_device::identify to a pair so the potential error condition can be passed along to the UI without storing it in a member variable.
- Move device_image_interface::message down into snapshot_image_device and change its implementation to use string_format instead of printf.
- Correct a typo in the shortname of the generic snapshot device.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The implementation details of how the cartridges allocate storage for
memory really shouldn't be part of the interface. Having tags in the
headers encourages people to depend on these implementation details.
This gets rid of it in most of the headers. A few particularly leaky
abstractions (bbc/rom, electron/cart, gba, generic, jakks_gamekey, m5)
depend on this, so it can't be removed in those cases without further
refactoring to encapsulate the slot devices better.
This doesn't change behaviour, it just mechanically removes stuff from
the headers and uses device_t::subtag rather than string manipulation on
tags. Most of the cartridge devices shouldn't have rom_alloc member
functions at all - the region created by the software list loader can be
used directly when loading from the software list, and the slot can
allocate a region with the same tag when loading loose software. This
avoids creating an extra region and copying the data when loading from
the software list. See vboy for an example that doesn't allocate a
superfluous region.
|
| |
|
|
|
| |
- Added Reset keys and joystick ports.
- Re-implemented cartridge slot as external ROMPAK device.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Changed emu_fatalerror to use util::string_format semantics
* Fixed some incorrectly marked up stuff in build scripts
* Make internal layout compression type a scoped enum (only zlib is supported still, but at least the values aren't magic numbers now)
* Fixed memory leaks in Xbox USB
* There can only be one "perfect quantum" device - enforce that only the root machine can set it, as allowing subdevices to will cause weird issues with slot cards overiding it
* Allow multiple devices to set maximum quantum and use the most restrictive one (it's maximum quantum, it would be minimum interleave)
* Got rid of device_slot_card_interface as it wasn't providing value
* Added a helper template to reduce certain kinds of boilerplate in slots/buses
* Cleaned up some particularly bad slot code (plenty more of that to do), and made some slots more idiomatic
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing
changes made to 009cba4fb8102102168ef32870892438327f3705.
|
| | |
|
|
|
- 80 column card with SDX in CP/M mode.
- ROM/RAM banking fixed for CP/M, and MTX500 now correctly detected.
- Support for Type 03 and Type 07 .mfloppy images.
- Added alternate MTX2 romset (German).
- Keyboard ROM now selected in Configuration.
- Quickload .RUN files.
|