Commit Graph

978 Commits

Author SHA1 Message Date
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
Aaron Giles
75056eb1b5 Moved per-screen initialization into DEVICE_START and per-screen cleanup
into DEVICE_STOP.
2008-03-17 15:38:18 +00:00
Aaron Giles
7a0931f08d Fix chicken and egg problem with device_start callbacks.
Added DEVINFO_INT_TOKEN_BYTES, which is queried before device
startup. It should return the size of the structure that will
be hung off of device->token. It must not return 0.

Changed the core device interface to allocate and zero a block
of memory the size of DEVINFO_INT_TOKEN_BYTES before calling
device_start. The pointer to this memory is already attached
to device->token at the time device_start is called.

The primary motivation for this is to allow the device_start
function to make internal calls and pass the device_config *
around as if the object were fully constructed. Since the token
is used to indicate whether or not a device is live, this makes
the device "live" at the time device_start is called rather
than after it completes.
2008-03-17 15:23:07 +00:00
Zsolt Vasvari
c7b072564c Restores the previous verifyroms() code. Left verifysamples() untocuhed for now. 2008-03-17 15:21:07 +00:00
Aaron Giles
ce011916b4 Made it a fatalerror to registr save state callbacks at the wrong time
if the current driver claims to support save states.
2008-03-17 14:45:27 +00:00
Nathan Woods
6a7c3d1589 Added a crosshair_set_screen() to allow drivers to control which screen(s) on
which crosshairs are displayed.
2008-03-17 12:47:22 +00:00
Nathan Woods
e7508371ed Fix for screenless (and deviceless) systems - this fix assumes that it is
illegal to pass a NULL listhead to device_list_first() and that the assert there
should stand.  Please review and correct if appropriate.
2008-03-17 10:52:16 +00:00
Zsolt Vasvari
c031746599 Fix: 01538: -verifysamples: Inconsistent handling of missing sample sets
I applied the same fix to verifyroms.  Now a status message is printed for every sample/ROM set regardless if an individual or all the sets are audited.
2008-03-17 09:19:11 +00:00
Zsolt Vasvari
9eb278b911 Fixed memory leak 2008-03-17 08:56:10 +00:00
Zsolt Vasvari
650f7af6be Corrects some game titles:
Sea Wolf II -> Seawolf II  (original is still Sea Wolf, as per the flyer)
Professor PacMan -> Professor Pac-Man
Demons and Dragons -> Demons & Dragons
2008-03-17 05:27:07 +00:00
Zsolt Vasvari
12546a8559 From Mr.Do: Adds Gorf internal artwork 2008-03-17 05:15:37 +00:00
Zsolt Vasvari
255698f927 Fixes the top screen 2008-03-17 05:03:31 +00:00
Zsolt Vasvari
b78ff83cd0 Fix: 01529: AICA memory leak 2008-03-17 00:58:24 +00:00
Couriersud
8bb4a10f0b Fix: 01511: batman: Fails to load autosave state
* fixes late creation of timer which caused 0-length save states
2008-03-17 00:50:48 +00:00
Zsolt Vasvari
c230321cdc The on-screen "Reset by watchdog" message only appears in debug builds 2008-03-17 00:44:00 +00:00
Zsolt Vasvari
36d69f3b61 Fix: 01535: usclssic: Access Violation with -debug
Fix: 01536: uballoon: Access Violation with -debug
2008-03-17 00:40:09 +00:00
Zsolt Vasvari
14761df1e4 Fixes Air Buster bootleg from reseting because of the watchdog 2008-03-17 00:15:30 +00:00
Zsolt Vasvari
7fb7afb780 - Changes exidy440_sound_command back to "UINT8." Since it's used by both 8-bit and 16-bit system,
the automatic allocation is not worth it if you need an ugly UINT16 ** cast.
- Removed deprecat.h from some of the files here
2008-03-17 00:09:16 +00:00
Nathan Woods
00f4374501 Added running_machine* parameter to MESS-specific calls 2008-03-16 22:46:56 +00:00
Couriersud
6dd3c4ae7c Fix: 01465: topgunnr: Crashes
* exidy440_sound_command had been changed from UINT8 to UINT8 * 
  and was consequently pointing to NULL / Nirwana land.
2008-03-16 17:31:14 +00:00
Zsolt Vasvari
b17efbc93b Removes no longer needed code 2008-03-16 15:36:06 +00:00
Zsolt Vasvari
0b4e370a73 Fix: 01534: ajax, ajaxj, typhoon: Access Violation with -debug 2008-03-16 15:34:30 +00:00
Zsolt Vasvari
5cd9ca723a Fix: 01019: Various Drivers: List of drivers with sound clipping 2008-03-16 11:05:31 +00:00
Pierpaolo Prazzoli
0895d395a9 Added missing prototype for get_info function. It didn't compile. 2008-03-16 10:43:36 +00:00
Curt Coder
23624eb5b0 Added Guru-readme. 2008-03-16 09:38:48 +00:00
Zsolt Vasvari
cb3fffef61 Missing semicolon -- how did it even compile? 2008-03-16 04:34:19 +00:00
Zsolt Vasvari
c64886cc69 Fix: 01499: Various Drivers: Launching games from in-game [TAB] menu 2-3 times in a row throws access violation.
My fix is a bit heavy handed.  The real access violation happens in update_digital_joysticks() after the comment "read all the associated ports" and before the next comment
2008-03-16 04:31:40 +00:00
Zsolt Vasvari
c39f072404 Fix: 01453: troangel, newtangl: Crashes 2008-03-16 03:55:23 +00:00
Roberto Fresca
caf9dbdef3 - Added proper inputs to jolyc980.
- Added temporary patch to allow bypass the "code" screen in jolyc980.
 - Updated technical notes.
2008-03-15 15:30:03 +00:00
Zsolt Vasvari
c66bb0adc5 Fix: 01530: Various Drivers: bitmap memory leaks 2008-03-15 14:14:03 +00:00
Zsolt Vasvari
16e18f24af Fixed: 01508: most vector-based drivers: Assertions 2008-03-15 09:32:24 +00:00
Zsolt Vasvari
f61e037749 Fix 01526: futflash, laserbas, laserbsa: Assertion
Fix 01524: btoads: Assertion 
Fix 01523: nkdodge, nkdodgeb, spdodgeb: Assertion 
Fix 01522: all ddragon.c drivers: Assertion 
Fix 01528: pzlestar, sexyboom: Assertion 
Fix 01527: all meritm.c drivers: Assertion
2008-03-15 03:54:44 +00:00
Zsolt Vasvari
3512bc695d Changes MDRV_TIMER_DURATION to MDRV_TIMER_START_DELAY
Renames duration to start_delay in timer_adjust_periodic() as well
Moves MDRV_ macros into proper header files
2008-03-15 03:13:57 +00:00
Nathan Woods
81fcbd9a2c MESS-specific changes 2008-03-15 00:14:32 +00:00
smf-
5d52f08b7e fixed collision of TIMER define 2008-03-14 21:53:19 +00:00
smf-
a0afb4c516 fixed collision of TIMER define 2008-03-14 21:50:22 +00:00
smf-
b4418ff847 fixed unused variable warnings when assert is not enabled. 2008-03-14 21:35:36 +00:00
Zsolt Vasvari
d4893e2535 Makes suggested changes to MDRV_TIMER macros. Hasn't moved them yet. 2008-03-14 15:13:46 +00:00
Zsolt Vasvari
0d06d94153 Fix 01500: all astrocde.c drivers: assertion
Fix 01506: all ataxx.c drivers: Assertion 
Fix 01504: all leland.c drivers: Assertion 
Fix 01501: all m107.c drivers: assertion 
Fix 01509: backfire, backfira: Assertion 
Fix 01503: sidearjp, sidearmr, sidearms: Assertion 
Fix 01507: all naomi.c drivers: Assertion
2008-03-14 14:39:32 +00:00
Aaron Giles
716d0a4f2a Fixes:
01517: all atarigt.c drivers: Assertion 
01516: all atarigx2.c drivers: Assertion 
01515: all atarig42.c drivers: Assertion 
01514: all cyberbal.c drivers: Assertion
2008-03-14 13:41:44 +00:00
Zsolt Vasvari
725d2646fd Fix: 01512: beathead: Assertion
Fix: 01505: all vicdual.c drivers: Assertion
2008-03-14 12:46:13 +00:00
Zsolt Vasvari
e4a07ea688 Implements scanline based timer devices.
Converted Centipede, as an example.

To define a scanline timer, use something like this:

MDRV_TIMER_ADD("32V", SCANLINE, generate_interrupt)
MDRV_TIMER_SCANLINE("main", 0, 16)

The first number is the first scanline the timer will fire on, the 2nd number is the increment.
So in this case, the timer will fire on 0, 16, 32, ..., 224, 240, then wrap around
because the screen is defined as 256 lines high.
The current scanline is passed to the callback in its 'param' argument
2008-03-14 11:15:31 +00:00
Zsolt Vasvari
e42b02f565 Implements the periodic timer device functionality 2008-03-14 09:52:28 +00:00
Roberto Fresca
a7cf2c0493 - Completed the component list & PCB layout.
- Added technical references to register $63 (magicfly).
 - Switched crystal to new predefined format.
2008-03-14 06:44:51 +00:00
Aaron Giles
8fcd45cab1 Renamed *_vbl_cb to *_vblank_callback.
Fixed 01475: Screenless systems are broken because of a vblank callback.
We now create an artificial update mechanism when there are no screens.
2008-03-14 05:19:53 +00:00
Zsolt Vasvari
13f82f7331 Fix: 01496: all segae.c drivers: Crashing with Access Violation
This driver is creating bitmaps in DRIVER_INIT, which is not the best practice, and in fact, it broke as machine->primary_bitmap is not initalized yet.
2008-03-14 03:11:25 +00:00
Zsolt Vasvari
2f37f76c57 Fix: 01498: otwalls: Hangs before the game starts.
Caused by RansAckeR input port "simplifications."  I put it in quotes, because I think it makes the input port definitions completely unreadable.
2008-03-14 02:48:25 +00:00
Zsolt Vasvari
c0ca716e62 Added skeletion device interface for timers. Just wanted to get feedback.
- Where applicable, added a parallel set of timer functions that take a device_config instead of emu_timer:
	void timer_device_adjust_oneshot(const device_config *timer, attotime duration, INT32 param);
	void timer_device_adjust_periodic(const device_config *timer, attotime duration, INT32 param, attotime period);
	void timer_device_reset(const device_config *timer, attotime duration);
	int timer_device_enable(const device_config *timer, int enable);
	int timer_device_enabled(const device_config *timer);
	int timer_device_get_param(const device_config *timer);
	void *timer_device_get_param_ptr(const device_config *timer);
	attotime timer_device_timeelapsed(const device_config *timer);
	attotime timer_device_timeleft(const device_config *timer);
	attotime timer_device_starttime(const device_config *timer);
	attotime timer_device_firetime(const device_config *timer);

- Added MACHINE_CONFIG macros:
	MDRV_TIMER_ADD(_tag, _type, _callback)	/* type can only be PERIODIC right now (can scanline based later, or even NE555) */
	MDRV_TIMER_REMOVE(_tag)
	MDRV_TIMER_MODIFY(_tag)
	MDRV_TIMER_TYPE(_type)
	MDRV_TIMER_CALLBACK(_callback) 
	MDRV_TIMER_DURATION(_duration)
	MDRV_TIMER_PERIOD(_period)
	MDRV_TIMER_PARAM(_param)
	MDRV_TIMER_PTR(_ptr)

- Modified Space Encounters to create two timers and use those:

	MDRV_TIMER_ADD("STROBE_ON", PERIODIC, spcenctr_strobe_timer_callback)
	MDRV_TIMER_PARAM(TRUE)	/* indicates strobe ON */
	MDRV_TIMER_PERIOD(UINT64_ATTOTIME_IN_HZ(SPCENCTR_STROBE_FREQ))

	MDRV_TIMER_ADD("STROBE_OFF", PERIODIC, spcenctr_strobe_timer_callback)
	MDRV_TIMER_PARAM(FALSE)	/* indicates strobe OFF */
	MDRV_TIMER_DURATION(UINT64_ATTOTIME_IN_HZ(SPCENCTR_STROBE_FREQ * 100 / SPCENCTR_DUTY_CYCLE))
	MDRV_TIMER_PERIOD(UINT64_ATTOTIME_IN_HZ(SPCENCTR_STROBE_FREQ))
2008-03-14 00:27:07 +00:00
Aaron Giles
a6b4a6ad50 Cleanups and version bump to 0.123u5. 2008-03-13 16:21:46 +00:00
Aaron Giles
4d5014585a From: Fabio Priuli
Subject: small fix to cpu.mak

Attached please find a small patch to include M68000 CPU only when you're 
compiling a build with the M68K. this is needed to e.g. compile tiny 
builds .
2008-03-13 15:45:39 +00:00