Commit Graph

1658 Commits

Author SHA1 Message Date
Aaron Giles
d5ff8c002a Cleanups and version bump. 2008-05-22 05:19:16 +00:00
Aaron Giles
41372cf177 Added verbosity for max texture size. 2008-05-22 05:08:01 +00:00
Aaron Giles
096331c856 Restructured input port internals and cleaned up inptport.c:
* Input ports are now maintained hierarchically. At the top
level are input ports, which contain a list of fields. Each
field represents one or more bits of the port. Certain fields
such as DIP switches and configuration switches contain a
list of settings, which can be selected. DIP switch fields
can also contain a list of DIP switch locations.

* Normalized behavior of port overrides (via PORT_INCLUDE or
by defining multiple overlapping bits). All fields within a
port are kept in strict increasing bit order, so altered DIP
switches are now kept in the appropriate order. This addresses
MAMETesters bug 01671.

* Live port state is now fully separate from configured 
state. This is manifested in a similar way to devices, where
a const list of ports can be managed either offline or live.
Each port has a pointer to an opaque set of live state which
is NULL when offline or valid when live. Each port also has
a running_machine * which is also NULL when offline.

* Because of this new arrangement, the conversion from tokens
to a list of ports now requires reasonably complex memory
allocation, so these port lists must be explicitly allocated
and freed (they are not mantained by automatic resource
allocation).

* Custom and changed callbacks now take a pointer to a field
config instead of a running machine. This provides more
information about what field triggered the change notification.
The machine can be found by referenced field->port->machine.

* The inptport.c module has been cleaned up and many 
ambiguities resolved. Most of this is internal, though it did
result in osd_customize_inputport_list() being changed to
osd_customize_input_type_list(). The parameter to this function
is now a linked list instead of an array, and the structures
referenced have been reorganized somewhat.

* Updated config.c to pass machine parameters to its callbacks.

* Updated validity checks, XML output, and UI system to handle
the new structures.

* Moved large table of default input settings to a separate
include file inpttype.h.

* Removed gross hacks in trackfld and hyperspt NVRAM. These
may be broken as a result.
2008-05-15 16:25:03 +00:00
Nathan Woods
dbbf66bb0b MESS specific: Fixed performance problems with -triplebuffer (bug #1539) [Justin
Kerk]
2008-05-12 10:23:15 +00:00
Aaron Giles
08c75151c7 Cleanups for 0.124u4. 2008-04-24 06:43:16 +00:00
Aaron Giles
e0533ec7c3 Added new Windows option -watchdog, which creates a watchdog thread
that forcibly kills the application after a certain number of seconds.
Primarily intended to be used in regression test runs to handle the
occasional hung game.
2008-04-20 22:29:29 +00:00
Aaron Giles
7b927dff67 From: Oliver Stoenberg
I cleaned up the Machine usage in the osd/windows files and added the 
running_machine parameter where possible.
I didn't add it to osd_wait_for_debugger() yet, but I would make 
sense to have it.
2008-04-11 14:05:25 +00:00
Aaron Giles
edb6e3de5a Fixed unicode crashing bug with input names. 2008-04-06 21:56:20 +00:00
Aaron Giles
efbe64428a Switched from ACCESSING_BYTE_*, ACCESSING_WORD_*, ACCESSING_DWORD_*
macros to ACCESSING_BITS_*_* macros.
2008-04-03 07:36:23 +00:00
Aaron Giles
a4a7ea967c From: Mike Haaland
src/osd/windows/ledutil.c

 Include osdcomm.h so INT32 is defined under VC.
2008-04-02 08:25:25 +00:00
Aaron Giles
509dc4c064 De-deprecat-ed ui.c.
Changed xmlfile.c to pass in memory handlers to expat so that
our memory overrides are properly managed.
2008-03-21 14:51:26 +00:00
Aaron Giles
04c0eba7b9 Centralized definitions of _WIN32_WINNT.
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.
2008-03-21 05:02:18 +00:00
Aaron Giles
c44017b4fd Fixed chdman -extract to a physical drive on Windows. 2008-03-19 07:16:57 +00:00
Aaron Giles
1e3c411a46 Fix 01531: polygon-based drivers: winwork.c memory leak 2008-03-17 17:04:24 +00:00
Aaron Giles
ec550fa07b Fixed pick_best_mode in both d3d and ddraw cases to manually extract
refresh information from the device's inline_config, since this is
done before the screen devices are start. Fixes 01491: switchres 
causes Exception at EIP=009413BF: ACCESS VIOLATION.

Also, fixed render_target_get_minimum_size() to return nominal values
if no screens are found.
2008-03-17 15:50:12 +00:00
Nathan Woods
00f4374501 Added running_machine* parameter to MESS-specific calls 2008-03-16 22:46:56 +00:00
Zsolt Vasvari
d146f7dabc Removes the scrnum parameter from VIDEO_UPDATE, updates all drivers to use the screen device instead.
render.c now uses screen devices
2008-03-10 14:30:21 +00:00
Zsolt Vasvari
ac9778cdb0 Changes first argument of video_screen_* functions to take a device_config
All callers that used 0 for the screen number now use machine->primary_screen
As a gap meassure, Where necessary, create a parallel set of video_screen_*_scrnum functions that take scrnum
All callers that specified a specific screen number now call the *_scrnum versions
Changed game info screen and overlay UI to display the screen tag instead of screen number
2008-03-09 15:41:17 +00:00
Zsolt Vasvari
d0870c6936 Moves 'refresh' from public to internal video state and renames it to 'frame_period'
Changes all drivers that previously accessed 'refresh' to use video_screen_get_frame_period()
2008-03-07 14:34:04 +00:00
Couriersud
7df031fb4f Rewrote some potentially compiler specific code:
* added ATTR_FORCE_INLINE to osdcomm.h
* added ATTR_NONNULL
* moved U64 S64 fram mamecore.h to osdcomm.h
* define SETJMP_GNUC_PROTECT() in osdcomm.h for use in ppc602, ppc603
2008-03-02 00:35:58 +00:00
Zsolt Vasvari
f8cbcafd5e Replaces mame_bitmap with bitmap_t
Removes mame_bitmap
2008-02-29 04:01:09 +00:00
Aaron Giles
5d63aae855 Added a rule to make VS2008 compile seamlessly. 2008-02-23 18:21:20 +00:00
Couriersud
dd0ebc1d8d Remove some deprecat.h includes from osd layer:
* add machine as parameter to osd_update and osd_update_audio_stream
* change Machine to machine and remove include deprecat.h
2008-02-23 17:46:52 +00:00
Couriersud
9c460a6248 Makefile & build system update:
* verinfo: New syntax.
	verinfo now uses the following syntax: verinfo.exe -b windows|winui|mess. 
	Does not depend on compile time defines any longer.

* makefile will include - if it exists - src/osd/$(CROSS_BUILD_OSD)/build.mak.
	This was necessary to enable cross builds for winui. winui adds mkhelp to build tools and the rules for mkhelp thus had to be moved outside src/osd/winui/winui.mak

* Tested on Linux 64bit, Linux 32bit, Windows 32bit mingw, Windows 32bit MSVC

* Cross build environment to be posted to the list
2008-02-21 23:53:29 +00:00
Aaron Giles
b7c4a537cd Most important thing to note about this change:
ALL DRIVERS MUST NOW EXPLICITLY DECLARE THEIR SCREENS.

Read on for more detail....

Added device tag as a parameter to the start function for devices.
Updated MC6845 to accept this tag.

Added new functions for iterating through the device list and 
counting devices of a given type. Updated search and iteration
functions to accept DEVICE_TYPE_WILDCARD to work across all
devices.

Added new macro MDRV_DEVICE_CONFIG_DATA() which is used to set a
single item in an inline data structure.

Removed the per-screen palette_base. This was an idea that never
really worked out, nor have we really needed it.

Defined a new device type VIDEO_SCREEN. Currently this has no
live functionality, but merely serves as a placeholder/identifier
for video screens. Eventually some of the screen management code
may move into the start/stop/reset functions.

Changed MDRV_SCREEN_* macros to build up VIDEO_SCREEN devices
rather than storing values in the screen[] array.

Changed MDRV_SCREEN_ADD to specify a screen type (RASTER, VECTOR,
LCD for the moment).

Removed the older VIDEO_TYPE_RASTER and VIDEO_TYPE_VECTOR; this
information is now determined by walking the screen list.

Removed the screen[] array from machine_config. Modified all code 
referencing Machine->config->screen[] and changed it to iterate 
over the devices using the new video_screen_first() and 
video_screen_next() functions.

(The next step will be to add video_* functions that accept a tag
instead of screen index, and then move systems over to always
referencing screens by tag instead of index.)

Removed implicit screen #0. This means that ALL DRIVERS MUST
EXPLICITLY DECLARE THEIR SCREENS. Updated all drivers to do
so. While there, grouped all MDRV_SCREEN_* parameters together.
Also removed unnecessary VIDEO_TYPE_RASTER and VIDEO_TYPE_VECTOR.
Also removed VBLANK and bitmap format information from vector
games. This was painful and very tedious.

Changed game information to display info about all screens.
2008-02-21 08:50:36 +00:00
Aaron Giles
1f7c87ec68 From: RansAckeR [mailto:RansAckeR@pandora.be]
Subject: port definitions/DIP improvements
Simplified port definitions in armedf.c, artmagic.c & asteroid.c.

Added DIP locations to: cclimbr2 , legion, terraf, ultennis, cheesech,
stonebal, stoneba2,  scessjoe, ashnojoe, asteroid, llander, llander1,
astdelux.

(This is the follow-up submission with stephh's complaint addressed.)
2008-02-19 09:19:32 +00:00
Aaron Giles
109bb332f0 The term "driver" is way overloaded in the system.
machine->drv is now machine->config.
Sorry.
2008-02-18 06:08:39 +00:00
Aaron Giles
74015ed586 Changed VERINFO to build always. All tools in build should build for all platforms.
Fixed dependency problem in windows.mak due to the VERINFO move. Windows builds now work the first time.
2008-02-13 07:40:12 +00:00
Couriersud
88940550a1 makefiles:
* move verinfo.c to src/build
* move rules for verinfo to src/build/build.mak
2008-02-05 22:32:11 +00:00
Aaron Giles
aa16ee779d Changed debugger-related code to be based off a new makefile define (DEBUGGER) which sets
a new compile-time define (ENABLE_DEBUGGER). This means that MAME_DEBUG no longer means
"enable debugger", it simply enables debugging features such as assertions and debug code
in drivers.

Also removed the various levels of opbase protection in memory.h and always just turned 
on full bounds checking.

Fixed build break due to missing ampoker.lay -> ampoker2.lay renaming.
2008-02-02 08:57:39 +00:00
Couriersud
06cf28a0e6 build environment:
* added checks for CROSS_BUILD=1 to omit building m68kmake.exe, verinfo.exe, png2bdc.exe and file2str
* enables building mame using mingw on linux
2008-01-27 20:19:32 +00:00
Zsolt Vasvari
4930b2dbfd - Added deprecat.h that contains some deprecated/discouraged contructs (see below)
The idea is to create extra work if a driver wants to use these and hopefully
  gives an incentive to look for an alternate solution
- Added #include of deprecat.h that rely on these contructs
- Removed a bunch of unneccassary #include's from these files
2008-01-25 09:30:43 +00:00
Aaron Giles
444d77b838 From: Atari Ace [mailto:atari_ace@verizon.net]
Subject: [patch] Fix C4305 warnings, other MSVC tweaks

Hi mamedev,

This patch is a bit of a potpourri.  It is the result of enabling most
of the suppressed warnings when using MSVC compilers and seeing what
issues arose with different compilers (I used 70,71,80,90).  Two of
the warnings were judged to be useful to enable and methodically fix.
Some issues spotted by the other warnings were also fixed.

1. Fixed issues flagged by MSVC warning C4305 (type truncation).
Almost all of these are harmless double->float narrowing in
initializers, but one warning spotlighted a bug in segasyse.c, where
code to use a higher sprite number had no effect due to the
insufficient range of UINT8.
2. Removed /wd4550 for VS7/VS71 compilers (expression evaluates to a
function which is missing an argument list).  There are no cases of
this warning currently, and if there were they would most certainly be
bugs.  This also allowed the warning suppression lists to be remerged
for VS7 and VS2005.
3. Decoupled intrinsic support decisions from PTR64 in eivc.h.
4. Fixed some VS7-specific issues (OPTIMIZE=0 at least compiles now).
That compiler doesn't support "long long" or "ll" (rsp.c/dkong.c).
5. Added a missing case statement in sm8500d.c.  Noticed while
reviewing dead code warnings.
6. Replaced a number of static constants with an enum in sidenvel.h.
This is unrelated to the rest of this patch, but it was overdue to be
done.
2008-01-24 14:24:59 +00:00
Aaron Giles
ba63d916a3 Fixed default memory view width for CPUs with >byte-sized minimum
Made menu updating dynamic at click time, fixing issues with incorrect checkmarks
2008-01-21 00:29:29 +00:00
Aaron Giles
66bfa62aa5 Reverted experimental D3D fix, since it breaks switchres. 2008-01-17 17:38:39 +00:00
Nathan Woods
c590cd8a56 Fixed MESS compilation error 2008-01-12 04:08:45 +00:00
Aaron Giles
73d0923d7f Cleanups for 0.122u5. 2008-01-11 15:22:56 +00:00
Aaron Giles
fa09519f26 (From Emuman)
Testing his fix for the full screen switch bug, which apparently works, but I am still baffled as to why.
2008-01-11 15:14:31 +00:00
davidhay
47cf2c7874 log:
- added MESS PC-Engine emulatation
- added Blazing Lazers (working)
- added Paranoia (non-working due to lack of jamma interface 
emulation)
- fixed MAME debug build under VC2003

Please co-credit Charles MacDonald & Mr. Do for Blazing Lazers.

Note to Nathan: video/vdc.* re taken as-is from MESS, for the 
machine stuff I extracted common code (to be shared by MAME and 
MESS) and created machine/pcecommn.*
2008-01-10 22:34:51 +00:00
Aaron Giles
3a0b58f14e Fixed winwork to use proper tchar functions for getenv. 2008-01-08 07:17:22 +00:00
Aaron Giles
a3b57f5fd5 (Windows only)
Added code to debug 64-bit builds to allocate all address space below 4GB to help find 64-bit errors.
Added environment variable OSDDEBUGMALLOC which, if set, explicitly overrides the debug malloc debug settings.
Added environment variable OSDDEBUG4GB which, if set, explicitly overrides the new 64-bit address space allocations.
(Sadly this is necessary due to my nvidia D3D drivers being 64-bit unclean....)
2008-01-08 06:19:50 +00:00
Aaron Giles
bce2fa84b4 Cleanups and version bump to 0.122u4. 2008-01-07 17:14:05 +00:00
Aaron Giles
6e6f4f3df2 Fixed verinfo for the yearless copyright. 2008-01-06 01:01:25 +00:00
Aaron Giles
ee9f88963c Copyright cleanup:
- removed years from copyright notices
 - removed redundant (c) from copyright notices
 - updated "the MAME Team" to be "Nicola Salmoria and the MAME Team"
2008-01-06 00:47:40 +00:00
Aaron Giles
a676fdc0ba Fixed stupid error in the recent D3D fix. 2008-01-05 03:19:05 +00:00
Aaron Giles
0a0327952f Fix for d3dwindow0117u3red (inspired by Emuman) 2008-01-05 03:14:05 +00:00
Aaron Giles
314928a333 (From Oliver Stoneberg)
beastrzb097u2red.patch
- added GAME_NOT_WORKING flag, so this bogus bug report can be 
removed (not even worth 1 buck!)

20080104_1.patch
- fixes a memory in src/mame/machine/stvcd.c

memoryleak0118u1ora.patch
- fixes a memory leak, that only happened when no RawInput API was 
available

memory_leak0111u6ora_1.patch
- only a partial patch - model3.c still missing
2008-01-04 18:09:45 +00:00
Aaron Giles
f0c52b57ba Fixed altf4_0111u4gre.
Also fixed potential issue using F10.
2008-01-04 17:57:59 +00:00
Aaron Giles
eafea60950 Enabled UNICODE by default for 64-bit builds.
Fixed several issues with building for Unicode on MSVC.
Almost certainly broke things for MESS/MAMEUI. (Sorry.)
2008-01-03 10:19:41 +00:00
Aaron Giles
d73ea1bf01 (From Oliver Stoneberg)
This patch fixes a few UNICODE=1 issues in the disassembly and memory 
windows of the MAME debugger. I also removed two redundant arrays.
2008-01-03 09:03:31 +00:00
Aaron Giles
76278ddf02 Spacing cleanups. 2007-12-24 04:03:00 +00:00
Aaron Giles
997890a56d Fixed bug that would cause events to leak through to the game when the debugger was up. 2007-12-21 17:46:00 +00:00
Aaron Giles
75265e5e23 Changes for MAME 0.122. 2007-12-18 08:09:03 +00:00
Aaron Giles
507ca2d275 Changes for MAME 0.121u4. 2007-12-17 16:41:39 +00:00
Aaron Giles
df34329a47 Changes for MAME 0.121u3. 2007-12-17 16:39:40 +00:00
Aaron Giles
c82a966b3b Changes for MAME 0.121u2. 2007-12-17 16:37:57 +00:00
Aaron Giles
8a8ccc5949 Changes for MAME 0.121u1. 2007-12-17 16:33:33 +00:00
Aaron Giles
7b77f12186 Initial checkin of MAME 0.121. 2007-12-17 15:19:59 +00:00