summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/windows/main.c
Commit message (Collapse)AuthorAgeFilesLines
* Rename *.c -> *.cpp in our source (nw) Miodrag Milanovic2015-11-081-57/+0
|
* get rid of some obsolete/unreachable stuff, get rid of more abuse of ↵ Vas Crabb2015-04-021-22/+0
| | | | SDLMAME_ macros outside OSD
* Added a generic module abstraction layer and migrated font modules to couriersud2015-01-231-0/+22
| | | use this layer. (nw)
* Bulk convert files that already had standard BSD license in my name Aaron Giles2013-10-161-35/+2
| | | | to new license tagged form.
* Fix the memory leaks with the strconv.c function by Scott Stone2010-04-231-1/+1
| | | using osd_malloc() instead. Fixed other memory leaks as well. [Oliver Stoneberg]
* Removed stdlib.h from osdcomm.h. Couriersud2010-01-171-0/+1
| | | | | | - Added #include stdlib.h where now necessary Fixed Solaris build Fixed building unidasm for OSD=sdl on win32
* NOTE: This change requires two new osd functions: osd_malloc() and Aaron Giles2010-01-081-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fix debug build. Aaron Giles2010-01-041-7/+6
|
* Changes to sync with new toolchain: Aaron Giles2010-01-031-18/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Removed CPP_COMPILE option. All files (except expat and zlib) are now compiled as C++ by default. For now, imagine nothing has changed. The goal is not to go hog-wild with C++isms, but to leverage it where it makes the most sense. 2. Mapped INLINE to plain old C++ inline now, fixing several cases where this was problematic. 3. Marked global const structures explicitly extern since consts are locally-scoped by default in C++. 4. Added new 'default' make target which just builds the emulator. Use 'make all' to build everything including the tools. 5. 64-bit builds now get a '64' suffix on them. We might want to just make this true for Windows builds, but it's on for everyone at the moment. 6. (Windows) Removed UNICODE option. UNICODE is enabled by default on all Windows builds now. The 32-bit version links against libunicows.a for continued Win9x compatibility. 7. (Windows) Removed hacks surrounding unicode handling of main(). They are no longer necessary with the new tools.
* Cleanups and version bump.mame0134u3 Aaron Giles2009-10-121-22/+22
|
* Moved all the OSD/windows code over to straight BSD license. Aaron Giles2009-10-121-2/+34
| | | | | | Updated osdmini to work again and compile as an actual target (doing nothing at the moment). Converted all of its code over to straight BSD as well.
* Many casts added to the core files, and various other tweaks Aaron Giles2009-03-121-1/+1
| | | | to make them compile as either C or C++.
* Centralized definitions of _WIN32_WINNT. Aaron Giles2008-03-211-1/+0
| | | | | | | | Removed malloc/calloc/realloc/free link-time overrides; we now rely exclusively on compile-time overrides. Made a few tweaks toward getting mingw-w64 working, but there are still linker issues.
* Copyright cleanup: Aaron Giles2008-01-061-1/+1
| | | | | | - removed years from copyright notices - removed redundant (c) from copyright notices - updated "the MAME Team" to be "Nicola Salmoria and the MAME Team"
* Enabled UNICODE by default for 64-bit builds. Aaron Giles2008-01-031-0/+1
| | | | | Fixed several issues with building for Unicode on MSVC. Almost certainly broke things for MESS/MAMEUI. (Sorry.)
* Initial checkin of MAME 0.121.mame0121 Aaron Giles2007-12-171-0/+89