summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Cleanups and version bump.mame0134u3 Aaron Giles2009-10-1253-1134/+1134
|
* Eliminated osd_cpu.h. Aaron Giles2009-10-123-183/+6
| | | | | | | | | 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.
* Moved all the OSD/windows code over to straight BSD license. Aaron Giles2009-10-1256-163/+2174
| | | | | | 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.
* Add EXPECTED macro Couriersud2009-10-051-1/+3
| | | - This complements the already existing UNEXPECTED
* > -----Original Message----- Aaron Giles2009-10-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > From: Atari Ace [mailto:atari_ace@verizon.net] > Sent: Sunday, September 27, 2009 7:58 AM > To: submit@mamedev.org > Cc: atariace@hotmail.com > Subject: [patch] More _NAME macros > > Hi mamedev, > > MAME's idiom for function/data macros is to first implement > <name>_NAME, then implement the other macros in terms of the _NAME > macro. Then in principle only a single line needs editing to change > the naming convention. > > This patchset implements this idiom more completely. The first patch > adds some missing _NAME macros and fixes cases in source files that > should be using the macros. The second patch then changes header > files where the macros should have been used, but weren't. This > required changing the idiom for removing a machine driver function > pointer from MDRV_<FUNCTION>(NULL) to MDRV_<FUNCTION>(0), to avoid > problems with NULL being macro expanded. This actually unifies the > handling of all such cases, as we already had ipt_0 and driver_init_0. > It also required reworking the devtempl.h implementation in a way that > triggered a warning on MSVC about using empty macros, so vconv.c > needed to be updated. The third patch then renames all the _NAME and > _0 macros to verify that all the cases have been covered, so it isn't > intended to be applied. > > ~aa
* Move MSVC clean out of core makefile and into windows.mak where it belongs. Aaron Giles2009-09-211-0/+8
|
* Rename osd_profiling_ticks() to get_profile_ticks(). Moved implemention into Aaron Giles2009-09-065-84/+45
| | | | inline functions in eminline.h and the ei* functions. [couriersud, Aaron Giles]
* > From: Atari Ace [mailto:atari_ace@verizon.net] Aaron Giles2009-09-061-2/+2
| | | | | | | | | | | | | | | | | | | > Sent: Sunday, September 06, 2009 7:25 AM > To: submit@mamedev.org > Cc: atariace@hotmail.com > Subject: [patch] Deglobalize input.c > > Hi mamedev, > > These patches deglobalize input.c. The first adds running_machine to > some driver apis. The (large) second patch adds the machine parameter > to the most input_code_pressed apis (generated by script, not > compilable). The last patch then actually changes those apis and > others to take running_machine, and adds struct _input_private to hold > the input state variables. > > ~aa
* osd_is_bad_read_ptr is no more. Aaron Giles2009-08-293-43/+0
|
* Fixed insignificant 'file not found' compile error when using windows cmd. Michaël Banaan Ananas2009-08-191-1/+1
| | | | It was (still is) fine on msys
* Attempt to define an I64FMT string that can be used for printf'ing 64-bit Aaron Giles2009-08-191-0/+7
| | | | | | | integers. This is defined to be "I64" on MSVC and recent mingw compilers, and "ll" for all others. Updated all instances of 64-bit prints to use the new macro.
* Removed round() hack in favor of MSVC-specific #define in winprefix.h. Aaron Giles2009-05-091-0/+1
| | | | | | | | Changed bilinear filter to use faster rgbutil.h version. It would be even faster if the texture code downconverted to fixed-point earlier and then used the integer values when doing the texture lookups.
* From: Xander Xander [xander85@operamail.com] Aaron Giles2009-05-071-2/+2
| | | | | | | | | | | | | | Sent: Wednesday, May 06, 2009 12:01 PM To: submit@mamedev.org Subject: MAME Debugger In some processors (like Z80), it is not possible to put the BPs to 0x000A, 0x000B, 0x000C, 0x000D, 0x000E with the key F9, and if it is inserted more than 10 BP, the BP A, B, C, D, E cannot be removed with the key F9. Xander
* Added missing casts and made other tweaks. The entire project Aaron Giles2009-04-274-4/+16
| | | | | can now be optionally compiled with the C++ compiler (mingw g++ only for the moment; MSVC still has issues).
* Bulk change alert. Aaron Giles2009-04-2610-27/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This update changes the way we handle memory allocation. Rather than allocating in terms of bytes, allocations are now done in terms of objects. This is done via new set of macros that replace the malloc_or_die() macro: alloc_or_die(t) - allocate memory for an object of type 't' alloc_array_or_die(t,c) - allocate memory for an array of 'c' objects of type 't' alloc_clear_or_die(t) - same as alloc_or_die but memset's the memory to 0 alloc_array_clear_or_die(t,c) - same as alloc_array_or_die but memset's the memory to 0 All original callers of malloc_or_die have been updated to call these new macros. If you just need an array of bytes, you can use alloc_array_or_die(UINT8, numbytes). Made a similar change to the auto_* allocation macros. In addition, added 'machine' as a required parameter to the auto-allocation macros, as the resource pools will eventually be owned by the machine object. The new macros are: auto_alloc(m,t) - allocate memory for an object of type 't' auto_alloc_array(m,t,c) - allocate memory for an array of 'c' objects of type 't' auto_alloc_clear(m,t) - allocate and memset auto_alloc_array_clear(m,t,c) - allocate and memset All original calls or auto_malloc have been updated to use the new macros. In addition, auto_realloc(), auto_strdup(), auto_astring_alloc(), and auto_bitmap_alloc() have been updated to take a machine parameter. Changed validity check allocations to not rely on auto_alloc* anymore because they are not done in the context of a machine. One final change that is included is the removal of SMH_BANKn macros. Just use SMH_BANK(n) instead, which is what the previous macros mapped to anyhow.
* removed a DirectX gun change that was not meant to be committed with my last ↵ Derrick Renaud2009-04-201-1/+2
| | | | update.
* When using RawInput - Fixed UI selection of Gun axis so Gun 1 is not always ↵ Derrick Renaud2009-04-201-8/+4
| | | | selected with the desired gun.
* Fixed verbose output of RAW device names for XP. Derrick Renaud2009-04-191-2/+7
|
* Fixed mouse/lightgun buttons to individually select when using ↵ Derrick Renaud2009-04-181-16/+11
| | | | -mouse/-multimouse and -lightgun. Meaning you will not receive Mouse Button 0 Gun Button 0 when selecting in the UI.
* Crosshair update Derrick Renaud2009-03-282-3/+3
| | | | | | | | | | | | | | | | | | * Added Crosshair Options menu - ability to individually enable/disable crosshairs - ability for them to automatically disappear after a set amount of time - ability to select crosshair graphic - all settings are saved in the cfg file * Removed F1 toggle for crosshairs * Added new command option -crsshairpath - store all selectable graphics here - see config.txt for further info OSD NOTE: render_load_png() has been changed to no longer force usage of the artwork directory. Do a search for "render_load_png(" and replace with "render_load_png(OPTION_ARTPATH, " if needed. ---------------------------- F1 is now free to use for something new. I was thinking it would be perfect for a context sensitive help file. Each menu item could have a help tag, that it would look up and display info from an HTML file.
* Having decided to look at the MAME source again, I have a fairly minor patch: Aaron Giles2009-03-191-2/+2
| | | | | | | | | | | | | | | | | | | * Fix build of ldplayer on OS X. Since the CUSTOM sound module no longer exists, I arbitrarily changed it to WAVE, as ar gets upset if it has no input files. I also removed the -all_load flag for ldplayer from the main makefile as it upsets the linker on OS X. * Fix build for PPC64 Linux. (This slightly messes up static branch prediction hints on OS X and AIX, but OS X for PPC64 is dead, and no- one builds MAME for AIX, and it will still build, anyway.) * Paramaterise the arguments to check for NULL in the ATTR_NONNULL macro rather than just checking the first argument. This requires compiler support for C99 variadic macros (MSVC2005 and GCC4 have this AFAIK). Vas
* Sound cores compile cleanly. Aaron Giles2009-03-121-1/+1
|
* Many casts added to the core files, and various other tweaks Aaron Giles2009-03-123-3/+3
| | | | to make them compile as either C or C++.
* Cleanups and version bump. Aaron Giles2009-03-051-1/+1
|
* 02180: Corrupt archives are read without problems Couriersud2009-03-041-0/+1
| | | | | | | * corrupt files in archives now generate an error * archive files ending in "/" will not be tested for crc - skip path entries * add new flag FILE_OPEN_NO_PRELOAD to skip decompressing on open This is used in audit.c, which only tests whether files exist * added error checking to all calls to load_file_zipped
* Modified the makefile to support experimental optional C++ Aaron Giles2009-02-2820-271/+308
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | compilation: - new option CPP_COMPILE to trigger this (off by default) - split CFLAGS into common, C-only, and C++-only flags - when enabled, CPP_COMPILE causes 'pp' to be appended to the target name NOTE THAT THE SYSTEM CANNOT ACTUALLY BE COMPILED THIS WAY YET. IT IS JUST AN EXPERIMENT. Modified lib.mak to always build zlib/expat as C regardless of CPP_COMPILE. Modified windows.mak to fix warnings with MAXOPT=1, and to leverage the new CFLAGs definitions. Modified vconv.c to do appropriate conversions for new C++ options. Updated sources so that libutil, libocore (Windows), and libosd (Windows) can be cleanly compiled as C or C++. This was mostly adding some casts against void *. Fixed a few more general obvious problems at random locations in the source: - device->class is now device->devclass - TYPES_COMPATIBLE uses typeid() when compiled for C++ - some functions with reserved names ('xor' in particular) were renamed - nested enums and structs were pulled out into separate definitions (under C++ these would need to be scoped to be referenced) - TOKEN_VALUE cannot use .field=x initialization in C++ :(
* Added -D_CRT_NONSTDC_NO_DEPRECATE to Visual C make defines (to stop ↵ Phil Bennett2009-02-071-1/+1
| | | | strdup-related warnings).
* Cleanups and version bump.mame0129 Aaron Giles2009-01-041-2/+2
|
* 02676: All Laserdisc Games: Wrong colors using Direct3D on ATI cards Aaron Giles2009-01-011-112/+157
| | | | | You can't add only 1 pixel to border YUY textures. Changed to add 2 instead and generate proper borders.
* 02790: Mame will crash on single monitor system if set to numscreens 2 in ↵ Aaron Giles2009-01-011-1/+1
| | | | the *.ini.
* Added two new Windows OSD options: -debugger_font and -debugger_font_size, Aaron Giles2008-12-303-28/+71
| | | | | | | | | which control the font and size used in the debugger text Windows. These default to "Lucida Console" and 9pt, which is the same face as previously hard-coded but 1pt larger. Personally, I prefer "Consolas" 9pt, which is one of the new "C" fonts included with Windows Vista and later (also available for free download on older systems). Note that only fixed-width fonts really work here, for obvious reasons.
* fix for bug #01092: debugger crashes when exiting during "run to cursor" Roberto Zandona2008-12-291-0/+2
|
* Fixes 'run to cursor' and 'toggle breakpoint' operations in the win32 ↵ Andrew Gardner2008-12-221-2/+2
| | | | | | debugger. [Andrew Gardner] (It was doing a double-shift for CPUs with a address shift) (The bpset command seems to occasionally behave oddly for cpus with address shifts as well. Didn't figure that problem out in the few minutes i looked at it.)
* This update is the below two patches, plus the remaining changes Aaron Giles2008-12-193-46/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | necessary to remove 12 of the final 14 references to the global Machine. The remaining 2 are in fatalerror() and logerror(), which are both local to mame.c, so Machine is now fully static. -- From: Atari Ace [mailto:atari_ace@verizon.net] Sent: Thursday, December 18, 2008 5:47 PM To: submit@mamedev.org Cc: atariace@hotmail.com Subject: [patch] Make Machine static followup Hi mamedev, This incremental patch to my last patch undoes the change that caches the ppu2c0x videorom. I changed the code back to how it behaved originally, using an existing machine on the chip struct to eliminate the one troublesome Machine reference. ~aa -- From: Atari Ace [mailto:atari_ace@verizon.net] Sent: Thursday, December 18, 2008 2:54 PM To: submit@mamedev.org Cc: atariace@hotmail.com Subject: [patch] Make Machine static! Hi mamedev, This large patch completes the removal of the use of Machine throughout MAME. It does so primarily by adding machine, device or space to various apis and modifying the callers, but for some remaining cases it adds a new api, mame_get_running_machine(), which will be called instead. There are only 14 uses of this api currently, and that number should drop over time. There are a few changes of note: 1. 6821pia.c. I attached machine to the 'device' structure. I'm working on converting this to a proper device, but that change isn't ready. 2. fddebug.c. I added a proper header so that the apis won't get accidentally converted to static again. 3. scsi.c. I added a machine to SCSIInstance. 4. system16.c. I modified sys16_patch_code to take an array of patches. 4. custom.h. I added the owning sound device to the reset/stop routines as well as the token. Note that passing only the device would require exposing the internals of custom_sound, as the token passed is not the device token, but the token returned from the CUSTOM_START routine. Better ideas here are welcome. 4. ppc2c0x.c. To avoid changing more interfaces, the init routine saves the videorom location rather than looks it up each time. I tried to choose what I felt was the natural parameter for an api, rather than always pass machine, but in some cases I used machine to limit the number of additional changes. Some additional cleanup here is probably warranted, I'll look into that later once I'm recovered from this two-week project. ~aa
* Cleanups and version bump. Aaron Giles2008-12-151-5/+5
|
* Removed unnecessary masking in disassembly view. Aaron Giles2008-12-141-35/+38
| | | | | Changed console subview computations to leave the registers portion fixed.
* 02740: resizing the debug window, the text is only in the old area Aaron Giles2008-12-141-1/+2
| | | | (Can't believe people still run with live resizing/dragging turned off :)
* Added logic to track OSD updates separately from internal view updates in the Aaron Giles2008-12-081-0/+2
| | | | | | | | | debugger. In order to get the OSD to update, a new function debug_view_flush_updates() must be called. Currently this is automatically called before osd_wait_for_debugger(), and during the periodic updates while executing. The OSD code may occasionally need to call it under other circumstances (for example, the Windows code calls it explicitly while tracking scrollbar thumbs to get live scrolling).
* From: Atari Ace [mailto:atari_ace@verizon.net] Aaron Giles2008-12-071-1/+1
| | | | | | | | | | | | | | | | | | Sent: Saturday, December 06, 2008 4:52 PM To: submit@mamedev.org Cc: atariace@hotmail.com Subject: [patch] Deprecat.h cleanup Hi mamedev, This patch changes some global Machine references to use machine, device->machine, ... instead, and removes any unneeded #include "deprecat.h" lines as well (about 10% of them in fact). It was generated using the attached script, and then reverting some cases where it was overzealous. ~aa
* Cleanups/version bump/added missing drivers.mame0128u5 Aaron Giles2008-12-061-5/+5
|
* Fixed some memory view-related issues: Aaron Giles2008-12-051-2/+3
| | | | | | | | | | | | | | | | | * select correct memory region by default when created (should be first address space of visible CPU) * when created, default bytes/chunk is correct * when changing width, cursor no longer moves around * memory regions display more than all 0xff now Also fixed: * qword big-endian memory reads no longer call little-endian handlers * memory regions are tracked in creation order (show up in order in the menu now) * ROMREGION_DISPOSE memory regions are not disposed if the debugger is enabled
* Removed fillbitmap() macro in favor of direct calls to bitmap_fill(). Aaron Giles2008-12-041-1/+1
| | | | | Note that the parameters to the latter are in a different order (bitmap, clip, color). [Atari Ace]
* 02676: All Laserdisc Games: Wrong colors using Direct3D on ATI cards Aaron Giles2008-12-041-12/+3
|
* 02702: [Sound] tturf: no audio Aaron Giles2008-12-041-2/+3
| | | | Fixed debugger cursor positioning when scrolled.
* 02687: emuopts.c: CORE INPUT AUTOMATIC ENABLE OPTIONS Aaron Giles2008-12-041-13/+14
| | | | | | | | | | | 02683: Pressing F5 while running debugger causes access violation 02669: pandoras: music tempo is too fast 02691: Some drivers with z80/ay8910 Audio: Audio tempo has changed Also fixed debugger memory leak. Added a number of new cputag_* macros to cpuexec.h.
* CPU_IS_LE -> ENDIANNESS_LITTLE Aaron Giles2008-12-041-5/+8
| | | | | | CPU_IS_BE -> ENDIANNESS_BIG Also fixed help for step over/in to specify correct keys.
* More debugger changes. Aaron Giles2008-12-031-236/+91
| | | | | | | | | | | | | | | | | Added the concept of 'subviews' to the debugger views. The core now creates a list of possible subviews, and the OSD can select between them. This removes code from the OSD that was previously required to find all possible memory and disassembly views. Added machine parameters to debugger console output functions. Fixed some oddities in the memory view. Moved globals to hang off of the machine structure. Fixed bug where the visiblecpu was not updated immediately upon a break.
* Big debugger cleanup. Aaron Giles2008-12-032-460/+346
| | | | | | | | | | | | | | | | | | | | | | | Important note for OSD ports: the get/set property functions have been retired for debug_views. Instead, there are specific functions to perform each get/set operation. In addition, the format of the update callback has changed to pass the osd private data in, and the update callback/osd private data must be passed in at view allocation time. And osd_wait_for_debugger() now gets a CPU object instead of the machine. Removed extra debugger tracking for address spaces and added some of the useful data to the address_space structure. Updated all debugger commands and views to use CPU and address space objects where appropriate. Added new memory functions for converting between bytes and addresses, and for performing translations for a given address space. Removed debugger macros that did similar things in favor of calling these functions. Rewrote most of the memory view handling. Disasm and register views still need some additional tweaking.
* Cleanups and version bump for 0.128u4.mame0128u4 Aaron Giles2008-11-242-3/+3
|
* Further debugger cleanup. Symbol tables now have a global ref Aaron Giles2008-11-222-12/+16
| | | | | as well as a per-symbol ref. Debugcpu is now clear of active CPU references and global Machine references.