Commit graph

11162 commits

Author SHA1 Message Date
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
smf-
1d0cf8d526 stop LOG_BIOSCALL triggering dbe when outputting parameters. 2011-02-05 03:31:52 +00:00
Scott Stone
4e9b2ccf7a Added DEVICE_REMOVE for MACHINE_CONFIG involving set powerinsa. Fixes crash (no whatsnew) 2011-02-05 02:28:36 +00:00
smf-
2a80fd1dfb take two 2011-02-04 23:49:51 +00:00
Scott Stone
8dc8308b0b Delete unneeded MCFG_NMK112_ADD from MACHINE_CONFIG_START for smissin. Fixes crash. (no whatsnew) 2011-02-04 23:46:14 +00:00
smf-
f37e1e79ff fixed msvc compilation (min/max conflict) 2011-02-04 22:20:15 +00:00
smf-
a46cec5b59 fixed msvc compilation 2011-02-04 21:59:20 +00:00
Jonathan Gevaryahu
038f1828c4 68681 patch to fix dectalk's startup test in MESS [Hans Ostermeyer] 2011-02-04 10:42:46 +00:00
Miodrag Milanovic
10da185c4e - Cleanup of WINUI depending compiling (no whatsnew)
- Rewritten some checks to be runtime instead of compile dependent
- Added winmenu.c and "menu" option in windows build
- winmenu.c provide just dummy implementation, and makes linking with actual menu implementation easier.
2011-02-04 10:13:13 +00:00
Michaël Banaan Ananas
2cd5e374ba undo prev commit + add improvements by LordN 2011-02-04 00:37:21 +00:00
Michaël Banaan Ananas
6a4a11f74f mask on input ports 2011-02-03 23:35:32 +00:00
Michaël Banaan Ananas
8f708d4b81 port 4 oopsjunk 2011-02-03 23:20:22 +00:00
Michaël Banaan Ananas
f7b1e68670 New non-working game
--------------------
18 Wheeler [hap, Siftware]
2011-02-03 22:08:42 +00:00
Scott Stone
c92c19f2d8 New Clones
----------
Hidden Catch 2 (pcb ver 1.00) (Kor/Eng/Jpn/Chi) [Yohji, Smitdogg, The Dumping Union]
2011-02-03 22:06:44 +00:00
Scott Stone
00a3403054 Add basic LOAD function to the debugger to complement the existing SAVE function. It allows you to load a binary file straight into writeable memory. The format is the same as the SAVE function with the exception that the <length> can be handled differently. [Pugsy] 2011-02-03 17:09:41 +00:00
Scott Stone
5ea7d4443f Added MCFG_SCREEN_RAW_PARAMS to twincobr.c and wardner.c, correcting their refresh rates. [Alex Jackson] 2011-02-03 16:51:55 +00:00
Aaron Giles
8805b57c22 From: Alex Jackson <awj_in_japan@hotmail.com>
Date: Wed, Jan 26, 2011 at 6:19 AM
Subject: cave.c savestate support + alpha
To: submit@mamedev.org

This patch contains the following changes to cave.c and toaplan2.c:

 - Added savestate support to all games in cave.c. Most of the work was 
already done by someone else; the blocker was a perpetually-running 
anonymous timer, which I converted to an allocated timer.

 - Changed OKI sample banking to use device address maps instead of 
memcpy() in all cave.c games except the nmk112-based games. If someone 
wants to try to convert nmk112.c to use device address maps and bank 
pointers, be my guest--you'll need 8 banks of varying sizes per OKI chip...

 - Fixed description of the Japanese Air Gallet set--the game's Japanese 
title is "Akuu Gallet".

 - Made machine/nmk112.c actually restore its state properly. Also 
refactored it a little (if you can talk about refactoring a source 
file that almost fits on one screen)

 - Fixed bgaregga's nmk112 interface to work with the refactored nmk112.c.

 - Removed excessive CPU interleaving from batsugun, left over from when 
I was initially hooking up the V25.

 - Removed a useless printf and some obsolete comments, more leftovers 
from the process of hooking up the V25.

--AWJ--
2011-02-03 16:47:13 +00:00
Scott Stone
4454195f3d Replaced anonymous timers used in video/segaic16.c, drivers/segaorun.c and drivers/segaxbd.c with allocated timers, making it possible to add save state support to these drivers. [Alex Jackson] 2011-02-03 16:39:57 +00:00
Miodrag Milanovic
6c490f558a Cleaned up shared implementation of CDi [David Haywood]
- merged MESS CDi driver file with the MAME CDi driver file (used for Quizard)
- the cdimono1 system is now the parent / bios of Quizard, the Quizard games run on a retail CDi unit with Jamma adapter / dongle for protection so this is a logical step.
2011-02-03 13:32:06 +00:00