summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/osdmini
Commit message (Collapse)AuthorAgeFilesLines
* moved osdsync to root of OSD, removed osdmini (nw) Miodrag Milanovic2016-04-155-440/+0
|
* Make osd_file a polymorphic class that's held with smart pointers Vas Crabb2016-03-143-253/+2
| | | | | | | | | | | | | | | Make avi_file a class that's held with smart pointers, encapsulate various AVI I/O structures Make zip_file and _7z_file classes rather than having free functions everywhere Hide zip/7z class implementation behind an interface, no longer need to call close() to send back to the cache Don't dump as much crap in global namespace Add solaris PTY implementation Improve variable expansion for SDL OSD - supports ~/$FOO/${BAR} syntax Rearrange stuff so the same things are in file module for all OSDs Move file stuff into its own module 7z/zip open and destruct are still not thread-safe due to lack of interlocks around cache access Directory functions still need to be moved to file module SDL OSD may not initialise WinSock on Windows
* update for osdmini (nw) Miodrag Milanovic2016-03-011-0/+8
|
* Add function for flushing file buffers Vas Crabb2016-03-011-0/+16
|
* replace osd_lock with std::mutex [Miodrag Milanovic] Miodrag Milanovic2016-01-301-66/+0
|
* osdmini: fixes build issues Stuart Carnie2016-01-291-3/+1
|
* common osd path environment var expansion Jeffrey Clark2016-01-061-0/+12
|
* clang-modernize part 5 Miodrag Milanovic2015-12-044-14/+14
|
* Rename *.c -> *.cpp in our source (nw) Miodrag Milanovic2015-11-086-0/+0
|
* Cleanup and version bumpmame0167 Miodrag Milanovic2015-10-281-1/+1
|
* pty: put a stopper in windows & osdmini versions of OSD as they don't fulivi2015-10-141-0/+8
| | | | support PTYs
* Fix emscripten compile (nw) Justin Kerk2015-08-121-0/+1
|
* Fix error handling of osd_truncate. Thomas Klausner2015-07-141-1/+1
| | | | | | Noted by startaq in https://github.com/mamedev/mame/pull/257. Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
* Implement missing osd_truncate(). Thomas Klausner2015-07-141-0/+19
| | | | | | Fixes linking on Unix when SDL is disabled. Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
* Split OSD per file [qmc2] Miodrag Milanovic2015-03-271-0/+18
|
* Moved build system to GENie [Miodrag Milanovic] Miodrag Milanovic2015-03-261-110/+0
| | | | | | | | | | | | | | make TARGET=mess -j19 will generate all needed files and build MESS, while developing you can use make TARGET=mess COMPILE=1 -j19 to prevent rebuilding of make files. Build system have automatic generate of dependencies so will do incremental builds fine. make clean will remove all generated files/projects and obj files
* Fixed osdmini compile (nw) Miodrag Milanovic2015-02-161-3/+25
|
* Cleanups and version bumpmame0158 Miodrag Milanovic2015-01-281-1/+0
|
* fixed osdmini compile (nw) Miodrag Milanovic2015-01-173-12/+35
|
* Move definition of -DOSD_WINDOWS, -DOSD_SDL and -DOSD_MINI into couriersud2015-01-091-0/+2
| | | $(OSD).mak. Added sanity check to makefile. [Couriersud]
* - Moved OS specific low level code to osd/modules/lib. couriersud2015-01-091-10/+0
| | | | | | - Removed duplicate code - Should support LIB/BASELIB separation better going forward
* Merged winwork and sdlwork into osd/modules/sync/work_osd.c. Moved couriersud2015-01-062-138/+5
| | | | | | miniwork.c to osd/modules/sync/work_mini.c The makefile now adds either a OSD_SDL, OSD_WINDOWS or OSD_MINI define to DEFS. This was necessary so that work_osd.c could determine the build on a OSD level. (nw)
* Moved sync related osd stuff to osd/modules/sync. (nw) couriersud2015-01-051-0/+4
|
* Cleanups and version bump Miodrag Milanovic2014-07-221-1/+1
|
* -Reorganized OSD, handling more sound output systems and debuggers, defaults ↵ Miodrag Milanovic2014-05-081-0/+1
| | | | | | left same as before [Miodrag Milanovic] -Created osd_options as base option class for non-system specific options
* Removed dependency on pmmidi.inc (nw) Miodrag Milanovic2014-04-261-3/+0
|
* -Made osd_interface base class for OSD and moved initialization for each ↵ Miodrag Milanovic2014-04-254-50/+12
| | | | | | | | subsystem in it as virtual calls. (nw) -Moved midi handling in base class -Cleaned running_machine of information of next machine -All is cleaned after exiting of running_machine so debugger window is removed as well till next machine is started -Made osdmini to compile
* Moved eminline and related files into /src/osd since it's system related (nw) Miodrag Milanovic2014-04-161-3/+0
| | | | | | | | Moved delegates into /src/lib/util to enable usage of delegates in other project parts Moved mame_printf_* calls into /src/osd/osdcore.c and renamed them to osd_printf_* Changed mess.mak to display compilation of ymmu100.ppm nicely
* just use core_strdup() in osd_get_full_path() in src/osd/osdmini/minifile.c (nw) Oliver Stöneberg2014-03-301-2/+1
|
* some mismatched malloc/free usage with osd_* functions (nw) Oliver Stöneberg2014-03-241-2/+3
|
* Bulk convert files that already had standard BSD license in my name Aaron Giles2013-10-168-280/+16
| | | | to new license tagged form.
* Final round of struct/union/enum normalization. Aaron Giles2012-09-161-1/+1
|
* added missing \n to some fatalerror() calls (no whatsnew) Oliver Stöneberg2012-08-181-1/+1
|
* (Finally found the time to finish this....) Aaron Giles2011-05-302-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | Low-level input upgrade. Classes now exist for input_codes, input_items, input_devices, and input_seqs. Also created an input_manager class to hold machine-global state and made it accessible via machine.input(). Expanded the device index range (0-255, up from 0-16), and the OSD can now specify the device index explicitly if they can better keep the indexes from varying run-to-run. [Aaron Giles] Note that I've built and run SDL on Windows, but not all the code paths were exercised. If you use mice/joysticks extensively double-check them to be sure it all still works as expected. This is mainly an OSD and core change. The only thing impacting drivers is if they query for specific keys for debugging. The following S&Rs took care of most of that: S: input_code_pressed( *)\(( *)([^, ]+) *, * R: \3\.input\(\)\.code_pressed\1\(\2 S: input_code_pressed_once( *)\(( *)([^, ]+) *, * R: \3\.input\(\)\.code_pressed_once\1\(\2
* Oops. Ryan Holtz2011-05-231-1/+1
|
* HLSL Updates: [Ryan Holtz, Bat Country Entertainment] Ryan Holtz2011-05-221-0/+10
| | | | - Created a new OSD function, osd_get_slider_list, which allows OS-specific slider controls. - Plumbed new OSD-specific slider controls for HLSL parameters on Direct3D 9 targets. And there was much rejoicing.
* (Big tangle of changes that all happened as I was looking into the ROM Aaron Giles2011-04-132-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | loader rewrite, which is still in progress....) Replaced mamedriv.c with a new driver list mechanism that is generated by the build tools. The emulator core now expects the presence of a file called src/$(TARGET)/$(SUBTARGET).lst which is just a raw list of driver names, one per line. C and C++ comments are still permitted. This file is parsed by a new build tool makelist which extracts the driver names, sorts them, and generates a file called drivlist.c, which is consumed by the core. [Aaron Giles] Added new osdcore function osd_malloc_array() which is identical to osd_malloc() but obviously hints that the underlying allocation is for an array. Updated all callers to use the appropriate form. Modified the Windows allocator to only use guard pages for array-style allocations, allowing us to enable them once again in debug builds. [Aaron Giles] Created new static class driver_list to wrap accesses to the list of available drivers. Improved speed of driver lookups by relying on the presorting done by makelist. [Aaron Giles] Created helper class driver_enumerator as a helper for iterating through the list of drivers. This class supports basic filtering and iteration, and also serves as a temporary cache of machine_configs. [Aaron Giles] Created cli_frontend object to wrap all the CLI handling code in clifront.c. Updated/simplified all the code to take advantage of the driver_enumerator. [Aaron Giles] Created media_auditor object to wrap all the auditing functions in audit.c. Updated all users to the new interface. Note that the new auditing mechanism is slightly out of sync with the romload code in terms of finding ROMs owned by devices, so it may mis-report some issues until the new ROM loading code is in. [Aaron Giles] Added concept of a per-device searchpath. For most devices, their searchpath is just the short name of the device. For driver_devices, the searchpath is driver[;parent[;bios]]. This searchpath will eventually be used by the rom loader to find ROMs. For now it is used by the media auditor only. [Aaron Giles] Created info_xml_creator object to wrap all the info generation functions in info.c. Converted the file to C++ and cleaned up the input processing code. [Aaron Giles] (not for whatsnew ... Known issues: auditing of CHDs appears busted, and debug builds report unfreed memory if you use the built-in game picker)
* Fix build break from last checkin. Aaron Giles2011-02-061-1/+1
| | | | | | | | | | | | | | | | | Also replace timer_get_time() with machine->time() 1. Main conversion timer_get_time( *)\( *([^)]+) *\) \2->time\1() 2. Cleanup #1 &machine->time machine.time 3. Cleanup #2 &m_machine->time m_machine.time
* Converted attotime to a class, with proper operators. Removed old Aaron Giles2011-02-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | global functions which are now superceded by the operators and methods on the class. [Aaron Giles] Required mappings are: attotime_make(a,b) => attotime(a,b) attotime_to_double(t) => t.as_double() double_to_attotime(d) => attotime::from_double(d) attotime_to_attoseconds(t) => t.as_attoseconds() attotime_to_ticks(t,f) => t.as_ticks(f) ticks_to_attotime(t,f) => attotime::from_ticks(t,f) attotime_add(a,b) => a + b attotime_add_attoseconds(a,b) => a + attotime(0, b) attotime_sub(a,b) => a - b attotime_sub_attoseconds(a,b) => a - attotime(0, b) attotime_compare(a,b) == 0 => a == b attotime_compare(a,b) != 0 => a != b attotime_compare(a,b) < 0 => a < b attotime_compare(a,b) <= 0 => a <= b attotime_compare(a,b) > 0 => a > b attotime_compare(a,b) >= 0 => a >= b attotime_mul(a,f) => a * f attotime_div(a,f) => a / f attotime_min(a,b) => min(a,b) attotime_max(a,b) => max(a,b) attotime_is_never(t) => t.is_never() attotime_string(t,p) => t.as_string(p) In addition, some existing #defines still exist but will go away: attotime_zero => attotime::zero attotime_never => attotime::never ATTOTIME_IN_SEC(s) => attotime::from_seconds(s) ATTOTIME_IN_MSEC(m) => attotime::from_msec(m) ATTOTIME_IN_USEC(u) => attotime::from_usec(u) ATTOTIME_IN_NSEC(n) => attotime::from_nsec(n) ATTOTIME_IN_HZ(h) => attotime::from_hz(h)
* Cleanup & version bump.mame0140u1 Aaron Giles2010-11-082-6/+6
|
* Make osdmini build again. Aaron Giles2010-10-215-9/+194
|
* Create new class osd_interface to house OSD callbacks. Added new Aaron Giles2010-10-211-37/+20
| | | | | | | | | module osdepend.c with default empty implementations. Changed mame_execute() and cli_execute() to accept a reference to an osd_interface which is provided by the caller. Updated SDL and Windows OSD to create an osd_interface-derived class and moved their OSD callbacks to be members.
* Converted render.c objects into C++ objects. Updated all callers. Aaron Giles2010-10-131-6/+4
|
* **FOR REVIEW** Andrew Gardner2010-09-201-0/+9
| | | | | | | | | | | | | | | | | Log: Added preliminary support for saving debugger window locations. [Andrew Gardner] (Notes) * I only save the values for the SDL debugger for now. * There is no loading of these values yet, but if this patch is confirmed good, loading should be relatively straightforward to add. * There is a slight chance this might not compile on OSes other than linux. I will be available via e-mail for the next 10 hours and will assist with any compilation problems if they occur. * The patch seems like the "right way" to do things, but if I am doing anything suspect, please feel free to make suggestions and corrections.
* Split mame.c into mame.c and machine.c, the latter containing the Aaron Giles2010-06-301-1/+1
| | | | | | | | | | | | | | | | | | | running_machine definition and implementation. Moved global machine-level operations and accessors into methods on the running_machine class. For the most part, this doesn't affect drivers except for a few occasional bits: mame_get_phase() == machine->phase() add_reset_callback() == machine->add_notifier(MACHINE_NOTIFY_RESET, ...) add_exit_callback() == machine->add_notifier(MACHINE_NOTIFY_EXIT, ...) mame_get_base_datetime() == machine->base_datetime() mame_get_current_datetime() == machine->current_datetime() Cleaned up the region_info class, removing most global region accessors except for memory_region() and memory_region_length(). Again, this doesn't generally affect drivers.
* Correct a long-standing design flaw: device configuration state Aaron Giles2010-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | is now separate from runtime device state. I have larger plans for devices, so there is some temporary scaffolding to hold everything together, but this first step does separate things out. There is a new class 'running_device' which represents the state of a live device. A list of these running_devices sits in machine->devicelist and is created when a running_machine is instantiated. To access the configuration state, use device->baseconfig() which returns a reference to the configuration. The list of running_devices in machine->devicelist has a 1:1 correspondance with the list of device configurations in machine->config->devicelist, and most navigation options work equally on either (scanning by class, type, etc.) For the most part, drivers will now deal with running_device objects instead of const device_config objects. In fact, in order to do this patch, I did the following global search & replace: const device_config -> running_device device->static_config -> device->baseconfig().static_config device->inline_config -> device->baseconfig().inline_config and then fixed up the compiler errors that fell out. Some specifics: Removed device_get_info_* functions and replaced them with methods called get_config_*. Added methods for get_runtime_* to access runtime state from the running_device. DEVICE_GET_INFO callbacks are only passed a device_config *. This means they have no access to the token or runtime state at all. For most cases this is fine. Added new DEVICE_GET_RUNTIME_INFO callback that is passed the running_device for accessing data that is live at runtime. In the future this will go away to make room for a cleaner mechanism. Cleaned up the handoff of memory regions from the memory subsystem to the devices.
* Bulk driver.h -> emu.h switch. Aaron Giles2010-01-101-1/+1
|
* NOTE: This change requires two new osd functions: osd_malloc() and Aaron Giles2010-01-081-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | osd_free(). They take the same parameters as malloc() and free(). Renamed mamecore.h -> emucore.h. New C++-aware memory manager, implemented in emualloc.*. This is a simple manager that allows you to add any type of object to a resource pool. Most commonly, allocated objects are added, and so a set of allocation macros is provided to allow you to manage objects in a particular pool: pool_alloc(p, t) = allocate object of type 't' and add to pool 'p' pool_alloc_clear(p, t) = same as above, but clear the memory first pool_alloc_array(p, t, c) = allocate an array of 'c' objects of type 't' and add to pool 'p' pool_alloc_array_clear(p, t, c) = same, but with clearing pool_free(p, v) = free object 'v' and remove it from the pool Note that pool_alloc[_clear] is roughly equivalent to "new t" and pool_alloc_array[_clear] is roughly equivalent to "new t[c]". Also note that pool_free works for single objects and arrays. There is a single global_resource_pool defined which should be used for any global allocations. It has equivalent macros to the pool_* macros above that automatically target the global pool. In addition, the memory module defines global new/delete overrides that access file and line number parameters so that allocations can be tracked. Currently this tracking is only done if MAME_DEBUG is enabled. In debug builds, any unfreed memory will be printed at the end of the session. emualloc.h also has #defines to disable malloc/free/realloc/calloc. Since emualloc.h is included by emucore.h, this means pretty much all code within the emulator is forced to use the new allocators. Although straight new/delete do work, their use is discouraged, as any allocations made with them will not be tracked. Changed the familar auto_alloc_* macros to map to the resource pool model described above. The running_machine is now a class and contains a resource pool which is automatically destructed upon deletion. If you are a driver writer, all your allocations should be done with auto_alloc_*. Changed all drivers and files in the core using malloc/realloc or the old alloc_*_or_die macros to use (preferably) the auto_alloc_* macros instead, or the global_alloc_* macros if necessary. Added simple C++ wrappers for astring and bitmap_t, as these need proper constructors/destructors to be used for auto_alloc_astring and auto_alloc_bitmap. Removed references to the winalloc prefix file. Most of its functionality has moved into the core, save for the guard page allocations, which are now implemented in osd_alloc and osd_free.
* Cleanups and version bump.mame0134u3 Aaron Giles2009-10-128-180/+180
|
* Eliminated osd_cpu.h. Aaron Giles2009-10-121-91/+0
| | | | | | | | | Types are pretty much unified now. Multiply operations are handled by eminline.h. Divide operations were just silly in macros. 64/32-bit combination/extraction macros moved to osdcomm.h and renamed. Also fixed compile errors in recent 68k changes.