Commit Graph

11580 Commits

Author SHA1 Message Date
Aaron Giles
a38c67f27b Get rid of state_save_register_device_* macros in favor of direct
calls on the device object.

Regex used:

state_save_register_device_item( *)\(( *)([^,]+), *([^,]+),( *)([^ )]+)( *)\)
\3->save_item\1\(\2NAME\(\6\),\5\4\7\)

state_save_register_device_item_array( *)\(( *)([^,]+), *([^,]+),( *)([^ )]+)( *)\)
\3->save_item\1\(\2NAME\(\6\),\5\4\7\)

state_save_register_device_item_2d_array( *)\(( *)([^,]+), *([^,]+),( *)([^ )]+)( *)\)
\3->save_item\1\(\2NAME\(\6\),\5\4\7\)

state_save_register_device_item_bitmap( *)\(( *)([^,]+), *([^,]+),( *)([^ )]+)( *)\)
\3->save_item\1\(\2NAME\(\*\6\),\5\4\7\)

state_save_register_device_item_pointer( *)\(( *)([^,]+), *([^,]+),( *)([^,]+), *([^ )]+)( *)\)
\3->save_pointer\1\(\2NAME\(\6\),\5\7,\5\4\8\)

this->save_
save_

(save_item[^;]+), *0( *)\);
\1\2\);

(save_pointer[^;]+), *0( *)\);
\1\2\);
2011-02-09 05:51:04 +00:00
Fabio Priuli
9f05843690 documentation addition/fix for mt_calga, no whatsnew. 2011-02-09 05:50:30 +00:00
Aaron Giles
3aa8b7d041 Fix RB's bug 2011-02-09 04:33:20 +00:00
Aaron Giles
79f1fbb380 Make "run to next CPU" more reliable. 2011-02-09 04:07:19 +00:00
Aaron Giles
1a6944bb42 More migrating allocated buffers to arrays in the driver data. 2011-02-09 03:56:15 +00:00
Angelo Salese
dd5ea079cd new not working game
--------------------
Last Bank [Yohji, Smitdogg, The Dumping Union]
2011-02-09 00:56:41 +00:00
Angelo Salese
07049db628 Typo fix 2011-02-08 23:48:49 +00:00
Angelo Salese
84abc5e053 Small reminder 2011-02-08 23:44:01 +00:00
Angelo Salese
451f4dba7a new clone
---------
Double Dribble (prototype?) [Smitdogg, The Dumping Union]
Tetris Plus 2 (Japan, V2.1) [Yohji, Smitdogg, The Dumping Union]
Violent Storm (ver AAB) [Denis Lechevalier]
Black Tiger (older) [David Raingeard]

(Plus implemented some features for nprsp, not worth)
2011-02-08 23:38:20 +00:00
Angelo Salese
7824969495 new not working game
--------------------
NeopriSP Retro Collection [Yohji, Smitdogg, The Dumping Union]


new clones
----------
Red Earth / Warzard (961023) [Smitdogg, The Dumping Union]
2011-02-08 21:18:56 +00:00
Michaël Banaan Ananas
d0c7e9c57f set souledge clones driver status to same as parent (they were broken until Tafoid fixed a typo a while ago) 2011-02-08 19:34:04 +00:00
Michaël Banaan Ananas
9cbd3e7d78 (ptblnk2a -> ptblank2a) 2011-02-08 19:28:26 +00:00
Luca Elia
de7a481459 Redumped animalc rom 2011-02-08 18:20:38 +00:00
Fabio Priuli
2202a651e6 cps1.c: CPS-1 update [Team CPS-1]:
* Added Tenchi wo Kurau (Japan Resale Ver.)
* Confirmed B-Board # for chikij, added ROMs positions, PALs and some 
   pcb infos to video\cps1.c
* Fixed sf2uk labels and added pcb infos
* Identified and documented willowje as an early and genuine USA release, 
   added a note and renamed willowje -> willowo
* Verified and fixed XTALs of Japan Resale Versions to work at 12MHz, they 
   all use DASH A-Boards
* Minor cleanups and fixes

New clones added
----------------
Tenchi wo Kurau (Japan Resale Ver.) [J. Finney, italie, john666, Yohji, Smitdogg, The Dumping Union]
2011-02-08 18:15:46 +00:00
Aaron Giles
44e80e9a06 Take advantage of the driver_device to clean up state saving for
many drivers. Also move some allocated memory into arrays in the
state structure where appropriate (this is still in progress).

Regex'es used (in src/mame only):

state_save_register_global( *)\(( *)([^,]+), *state->([^ )]+)( *)\)
state->save_item\1\(\2NAME\(state->\4\)\5\)

state_save_register_global_array( *)\(( *)([^,]+), *state->([^ )]+)( *)\)
state->save_item\1\(\2NAME\(state->\4\)\5\)

state_save_register_global_bitmap( *)\(( *)([^,]+), *state->([^ )]+)( *)\)
state->save_item\1\(\2NAME\(*state->\4\)\5\)

state_save_register_global_pointer( *)\(( *)([^,]+), *state->([^,]+),
state->save_pointer\1\(\2NAME\(state->\4\)\5,
2011-02-08 16:55:59 +00:00
Scott Stone
08f236d927 Set funcube2 and funcube4 as NOT_WORKING largely due to missing CPU emulation. (no whatsnew) 2011-02-08 16:21:23 +00:00
Angelo Salese
e2d374a9ee new not working game
--------------------
Dream Fruit [Yohji, Smitdogg, The Dumping Union]

(being very busy lately, so if somebody wants to do this be my guest, shouldn't be too hard as the basics are inside Taito L driver ...)
2011-02-08 16:19:56 +00:00
Angelo Salese
6ffa373584 Added screen disable bit to Jantotsu, fixing blanking phases during transitions [Angelo Salese] 2011-02-08 15:16:09 +00:00
Fabio Priuli
c38b1c2c5e New games added or promoted from NOT_WORKING status
---------------------------------------------------

California Games (Mega-Tech) [f205v, incog, Smitdogg, The Dumping Union]
2011-02-08 07:50:02 +00:00
Aaron Giles
4f7efb1ca4 Moved the state saving system to C++. For now the registration macros
are still intact. The new state_manager class has templatized methods
for saving the various types, and through template specialization can
save more complex system types cleanly (like bitmaps and attotimes).

Added new mechanism to detect proper state save types. This is much
more strict and there will likely be some games/devices that fatalerror
at startup until they are remedied. Spot checking has caught the more
common situations.

The new state_manager is embedded directly in the running_machine, 
allowing objects to register state saving in their constructors now.

Added NAME() macro which is a generalization of FUNC() and can be
used to wrap variables that are registered when directly using the
new methods as opposed to the previous macros. For example:

  machine->state().save_item(NAME(global_item))

Added methods in the device_t class that implicitly register state
against the current device, making for a cleaner interface.

Just a couple of required regexes for now:

state_save_register_postload( *)\(( *)([^,;]+), *
\3->state().register_postload\1\(\2

state_save_register_presave( *)\(( *)([^,;]+), *
\3->state().register_presave\1\(\2
2011-02-08 06:48:39 +00:00
Luca Elia
f4f3adf250 sigmab98: fixed zooming, added priorities and flipping [Luca Elia]
New games added or promoted from NOT_WORKING status
---------------------------------------------------

Animal Catch [Luca Elia, Gnoppi, john666, Gerald (COY), Smitdogg, The Dumping Union]
Itazura Monkey [Luca Elia, Gnoppi, john666, Gerald (COY), Smitdogg, The Dumping Union]

New games marked as GAME_NOT_WORKING
------------------------------------

Pye-nage Taikai [Gnoppi, john666, Gerald (COY), Smitdogg, The Dumping Union]
Hae Hae Ka Ka Ka [Gnoppi, john666, Gerald (COY), Smitdogg, The Dumping Union]
Taihou de Doboon [Gnoppi, john666, Gerald (COY), Smitdogg, The Dumping Union]

---

Out of whatsnew: please leave the non-working games to me, I'll look at them next.
2011-02-07 23:22:02 +00:00
smf-
f59eb3da3e converted old nand dumps to include extra data, assumed to be 0xff's. 2011-02-07 14:15:59 +00:00
Aaron Giles
07a66f8c54 Move generic templates from emucore.h to emutempl.h.
Normalize the tagged_list template to wrap a regular standard_list
and have similar semantics. Updated a few direct callers to handle
the changes.
2011-02-07 05:47:17 +00:00
R. Belmont
7a3d9310ee G65816: fixed operation on PowerPC Linux where char is unsigned [R. Belmont, billb] 2011-02-07 01:05:39 +00:00
smf-
ebffa2ee9c yshi_nand_table_check success, but code is not transferred correctly yet. 2011-02-07 00:29:54 +00:00
R. Belmont
bf505cd350 tms57002: significantly improved build speed on lower-end h/w [R. Belmont]
No-whatsnew explanation: this takes OPTIMIZE=3 compile time for this core from 
over 1 hour down to about 2 minutes on PS3 Linux.  (Yes, the tms57002 itself 
took over an hour to compile before - the thing has 256 MB of RAM and 
a very slow HDD so when it hits swap, swap hits back).
2011-02-06 23:46:37 +00:00
Couriersud
8e97bca711 Fix yuv factors in palette normalization. The web is full of errors... 2011-02-06 23:36:17 +00:00
Couriersud
63e1cde4e8 Expand video output for EZV20-Monitor to the full dynamic range. 2011-02-06 23:34:41 +00:00
Aaron Giles
feb6e77be3 As promised, the bulk update of timer calls:
timer_adjust_oneshot(t,...)  => t->adjust(...)
timer_adjust_periodic(t,...) => t->adjust(...)
timer_reset(t,...)           => t->reset(...)
timer_enable(t,...)          => t->enable(...)
timer_enabled(t)             => t->enabled()
timer_get_param(t)           => t->param()
timer_get_ptr(t)             => t->ptr()
timer_set_param(t,...)       => t->set_param(...)
timer_set_ptr(t)             => t->set_ptr(...)
timer_timeelapsed(t)         => t->elapsed()
timer_timeleft(t)            => t->remaining()
timer_starttime(t)           => t->start()
timer_firetime(t)            => t->expire()

Also remove some stray legacy cpuexec* macros that were 
lurking in schedule.h):

cpuexec_describe_context(m)     => m->describe_context()
cpuexec_boost_interleave(m,...) => m->scheduler().boot_interleave(...)
cpuexec_trigger(m,...)          => m->scheduler().trigger(...)
cpuexec_triggertime(m,...)      => m->scheduler().trigger(...)

Specific regex'es used:

timer_adjust_oneshot( *)\(( *)([^,;]+), *
\3->adjust\1\(\2

timer_adjust_periodic( *)\(( *)([^,;]+), *
\3->adjust\1\(\2

(->adjust.*), *0( *)\)
\1\2\)

timer_reset( *)\(( *)([^,;]+), *
\3->reset\1\(\2

(->reset *\(.*)attotime::never
\1

timer_enable( *)\(( *)([^,;]+), *
\3->enable\1\(\2

timer_enabled( *)\(( *)([^,;)]+)\)
\3->enabled\1\(\2\)

timer_get_param( *)\(( *)([^,;)]+)\)
\3->param\1\(\2\)

timer_get_ptr( *)\(( *)([^,;)]+)\)
\3->ptr\1\(\2\)

timer_timeelapsed( *)\(( *)([^,;)]+)\)
\3->elapsed\1\(\2\)

timer_timeleft( *)\(( *)([^,;)]+)\)
\3->remaining\1\(\2\)

timer_starttime( *)\(( *)([^,;)]+)\)
\3->start\1\(\2\)

timer_firetime( *)\(( *)([^,;)]+)\)
\3->expire\1\(\2\)

timer_set_param( *)\(( *)([^,;]+), *
\3->set_param\1\(\2

timer_set_ptr( *)\(( *)([^,;]+), *
\3->set_ptr\1\(\2

cpuexec_describe_context( *)\(( *)([^,;)]+)\)
\3->describe_context\1\(\2\)

\&m_machine->describe_context
m_machine.describe_context

cpuexec_boost_interleave( *)\(( *)([^,;]+), *
\3->scheduler().boost_interleave\1\(\2

cpuexec_trigger( *)\(( *)([^,;]+), *
\3->scheduler().trigger\1\(\2

cpuexec_triggertime( *)\(( *)([^,;]+), *
\3->scheduler().trigger\1\(\2
2011-02-06 21:23:00 +00:00
Scott Stone
ffeaa72e57 Made changes to the PORT_ADJUSTER values for MSM5232 clocks in all games in drivers to best match PCB recordings. [Fujix, Tafoid] 2011-02-06 20:08:57 +00:00
Scott Stone
9ea7e2115e funcube4: Changed default DIP state to allow game playing.
Comment:  Even though you can play the games, there are so many other issues with unknown errors and graphic problems - might be worth putting in as NOT_WORKING?
2011-02-06 18:16:26 +00:00
Aaron Giles
fb8cb1384e Fix timer_pulse. Better would be not to use it at all, though. 2011-02-06 15:31:54 +00:00
Phil Bennett
89d42d492b Forgot to include the mpu4ext.lay file I requested. Sorry! 2011-02-06 11:33:04 +00:00
Curt Coder
097dd84fb7 Ensured that the debugger disassembly PC cursor is visible on startup. [Curt Coder] 2011-02-06 11:27:57 +00:00
Aaron Giles
ae5dfca0bf Fix build break from last checkin.
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
2011-02-06 07:29:03 +00:00
Aaron Giles
4526f1b3a9 Whoops, missed a couple of NULL functions. 2011-02-06 07:17:18 +00:00
Aaron Giles
0e627f1a54 Convert emu_timers to objects. Move implementation and management of
timers into the scheduler. Retain TIMER devices as a separate wrapper
in timer.c/.h. Inline wrappers are currently provided for all timer
operations; a future update will bulk clean these up.

Rather than using macros which hide generation of a string-ified name
for callback functions, the new methods require passing both a function
pointer plus a name string. A new macro FUNC() can be used to output
both, and another macro MFUNC() can be used to output a stub-wrapped
class member as a callback.

Also added a time() method on the machine, so that machine->time() gives
the current emulated time. A wrapper for timer_get_time is currently
provided but will be bulk replaced in the future.

For this update, convert all classic timer_alloc, timer_set, 
timer_pulse, and timer_call_after_resynch calls into method calls on 
the scheduler. 

For new device timers, added methods to the device_t class that make 
creating and managing these much simpler. Modern devices were updated
to use these.

Here are the regexes used; some manual cleanup (compiler-caught) will
be needed since regex doesn't handle nested parentheses cleanly

1. Convert timer_call_after_resynch calls
timer_call_after_resynch( *)\(( *)([^,;]+), *([^,;]+), *([^,;]+), *([^);]+)\)
\3->scheduler().synchronize\1\(\2FUNC(\6), \5, \4\)

2. Clean up trailing 0, NULL parameters
(synchronize[^;]+), 0, NULL\)
\1)

3. Clean up trailing NULL parameters
(synchronize[^;]+), NULL\)
\1)

4. Clean up completely empty parameter lists
synchronize\(FUNC\(NULL\)\)
synchronize()

5. Convert timer_set calls
timer_set( *)\(( *)([^,;]+), *([^,;]+), *([^,;]+), *([^,;]+), *([^);]+)\)
\3->scheduler().timer_set\1\(\2\4, FUNC(\7), \6, \5\)

6. Clean up trailing 0, NULL parameters
(timer_set[^;]+), 0, NULL\)
\1)

7. Clean up trailing NULL parameters
(timer_set[^;]+), NULL\)
\1)

8. Convert timer_set calls
timer_pulse( *)\(( *)([^,;]+), *([^,;]+), *([^,;]+), *([^,;]+), *([^);]+)\)
\3->scheduler().timer_pulse\1\(\2\4, FUNC(\7), \6, \5\)

9. Clean up trailing 0, NULL parameters
(timer_pulse[^;]+), 0, NULL\)
\1)

10. Clean up trailing NULL parameters
(timer_pulse[^;]+), NULL\)
\1)

11. Convert timer_alloc calls
timer_alloc( *)\(( *)([^,;]+), *([^,;]+), *([^);]+)\)
\3->scheduler().timer_alloc\1\(\2FUNC(\4), \5\)

12. Clean up trailing NULL parameters
(timer_alloc[^;]+), NULL\)
\1)

13. Clean up trailing 0 parameters
(timer_alloc[^;]+), 0\)
\1)

14. Fix oddities introduced
\&m_machine->scheduler()
m_machine.scheduler()
2011-02-06 07:15:01 +00:00
Aaron Giles
f38d3384b6 Hack out mpu4ext.lh dependency since it was not included with the original
submission.
2011-02-06 06:30:48 +00:00
R. Belmont
52106024f9 New games added as GAME_NOT_WORKING
-----------------------------------
Samurai Spirits Tenkaichi Kenkakuden [Guru]
2011-02-06 05:49:03 +00:00
smf-
95582abbad non working mem n simulation. still can't see how it should work. 2011-02-06 05:31:22 +00:00
Jonathan Gevaryahu
259a401ad6 beezer audio: got rid of sh6840_LFSR_oldxor, was leftover of old code. no whatsnew. 2011-02-05 23:40:14 +00:00
Roberto Zandona
e6bf8f49f7 panicr: fixed sprite position 2011-02-05 19:45:36 +00:00
Curt Coder
bfcb47e2da Implemented proper mouse wheel event handling in the Windows debugger. [Curt Coder] 2011-02-05 19:42:53 +00:00
Phil Bennett
cc9ea396f7 Reimplemented fruit-machine mechanical meters to use timers [AGEMAME]
Various MPU4 changes [AGEMAME]:
 * Revised timing/input system to stop flickering
 * Tidied up the LED drawing code to remove flicker
 * Support for all known extenders and reel multiplex boards used in MPU4 H/W 
 * Partial support for OKI sampled sound card, need for some titles
 * Fixed Old Timer characteriser
 * Some general tidying up to allow better study of the BwB titles


New games added as GAME_NOT_WORKING:
------------------------------------
Reno Reels (20p/10GBP Cash, release A) [AGEMAME]
BwB Tetris v 2.2 [AGEMAME]
Red Hot Poker (20p/10GBP Cash, release 3) [AGEMAME]
2011-02-05 19:23:04 +00:00
Curt Coder
a99bd04a82 Added some information. (no whatsnew) 2011-02-05 18:33:38 +00:00
R. Belmont
3361ca5199 drcbex64: fix compile on Apple GCC (no whatsnew) 2011-02-05 18:07:18 +00:00
R. Belmont
3ec54f4216 drcuml: fix compile on systems that use the C backend [R. Belmont] 2011-02-05 17:18:15 +00:00
Scott Stone
f48cce39b9 Fixed 04225: gangwars: Samples incorrectly played. Since the new gangwars set was added, the sample placement was incorrect.
Comment:  You think the gangwars set might be a euro/japan combo?  There is english text but japanese speech in the game's introduction.
2011-02-05 16:16:03 +00:00
smf-
24a4fa3c9c non working banking based on guesswork that didn't pay off, but might help someone else. 2011-02-05 10:03:13 +00:00
smf-
f1eb7c07f6 increased ram to 16mb, set LOG_BIOSCALL in cpu/mips/psx.c for debugging output. 2011-02-05 03:33:21 +00:00