This handler works for both disc-only games and those with overlays.
For disc-only games, the base macro is sufficient. For games with
overlays, an additional set of configuration macros are provided:
MDRV_LASERDISC_OVERLAY - specifies update function, width, height,
and bitmap format of the overlay
MDRV_LASERDISC_OVERLAY_CLIP - specifies the visible area of the
overlay bitmap
MDRV_LASERDISC_OVERLAY_POSITION - specifies default x,y position
MDRV_LASERDISC_OVERLAY_SCALE - specifies default x,y scale factors
The update function provided to MDRV_LASERDISC_OVERLAY is identical to
a normal VIDEO_UPDATE callback, so a standard one can be used. All
existing laserdisc drivers have been updated to support this new
rendering mechanism, removing much duplicated code.
Added the ability to configure the overlay position and scale
parameters at runtime. Added OSD menus to control them. Added logic
to save/restore the data in the game's configuration file.
Added new macros MDRV_LASERDISC_SCREEN_ADD_NTSC and _PAL, which
defines a standard screen with the correct video timing characteristics
and update function for laserdiscs. Updated all drivers to use these
macros instead of defining their own screens.
Added DISK_REGIONS to all laserdisc drivers.
Added DISK_IMAGE_READONLY_OPTIONAL to support games (like Cube Quest)
where the disk is non-essential to the game's operation.
Fixed bug in identifying the custom sound driver for the laserdisc.
Updated ldverify to identify blank regions of the disc for post-
processing.
Fixed rendering 16bpp with alpha using bilinear filters (fixes
screenshots of laserdisc games with overlays).
Included support for parsing .gdi files in chdman. [ElSemi]
Added new driver for Cube Quest. This includes CPU cores for the three
bitslice processors, as well as laserdisc support for the hacked
laserdisc that was used to drive the games.
[Philip Bennett, Joe Magiera, Warren Ondras]
Note that the SHA1/MD5 for the laserdisc will likely undergo at least
one more change before being finalized.
- Moved IRQ handling front-end into recompiled code
- Added TSTM/ANDM/XORM instructions
- Added SH-1 CPU support, including lower precision on MAC.W and locking out SH-2 only instructions
- Simulated the co-processor to pass the initial test.
- All Inputs worked from the scratch.
- Fixed position of tilemap layers.
- Added scroll register preliminary support.
- Fixed Super Pool graphics.
New games marked as GAME_NOT_WORKING
------------------------------------
Hot Slot (ver 05.01) [Roberto Fresca]
Magic Colors (ver 1.7a) [Roberto Fresca]
Subject: cps3 sfiii3 title+linear zoom effect fix
fix the sfiii3's title animation (cps3.c line 1055)
also fix the linear zoom effect that OopsWare didn't improve properly
since 0.122u7(cps3.c line 1168,1189,1190)
i've attached 2 images to show the difference between the priginal and
fixed one~
hope this helps~
Subject: two more patches
Hi,
enclosed please find the following patches
* portM.diff which completes the basic port cleanup in
drivers starting with M. It's mostly conversion of 8bit
-> 16/32bit inputs and usage of AM_READ_PORT in memory maps
(plus a couple of eeprom_bit_r replaced with PORT_CUSTOM
and daitorid_soundstatus_r in metro.c converted to a
CUSTOM_INPUT as well)
* avgdvg.diff converts most of the games checking avgdvg_done()
in inputs to use a CUSTOM_INPUT (which I added to video/avgdvg.c).
avgdvg_done() is still in use in mhavoc.c (which requires some
more changes, so I'll take a look later) and in omegrace.c (which
reads it directly and not through inputs). While at it, I've
also done a small cleanup of inputs in starwars.c and tempest.c.
Regards,
Fabio
Subject: [patch] Collapse timer callbacks
Hi mamedev,
The following patch collapses timer callbacks in some cases to avoid
duplicating code. In the case of crystal.c, it also refactors two DMA
handlers and shuffles the init/reset code around a bit. I noticed
while doing this that h8_itu_read8 is missing cases 0x96,0x97 which is
almost certainly a bug, but I left it alone.
~aa
Subject: [patch] Fix i386 bsr implementation
Hi mamedev,
The i386 cpu emulator will return the wrong result for bsr when the
highest bit is set (0 instead of 15 or 31). The attached patch fixes
this.
~aa
Subject: few more patches
Hi,
enclosed please find a few patches to continue the input port
clean up (and to fix a mistake in the previous submission). In
detail:
* hal21.diff: with my last submission I made a mistake in hal21.c
(I converted it only partially to custom inputs, still returning
1<<5 instead of 1 from the handler). please revert that change
(it was in u4_custom04.diff) and apply this one, to fix the
communication with sound cpu
* clean_new.diff: introduce AM_READ_PORT & c. in drivers starting
with M (only few of them updated, more to come)
* custom_new.diff: improves input handling in mainsnk.c and marvins.c
by using CUSTOM_INPUTs and AM_READ_PORTs
* gaelco3d.diff: converts radilkalb inputs to 32bit inputs (as
they are), removing the need of AM_READ16 for those
* itech32.diff: converts inputs of later games to 32bit inputs and
updates all the occurrences as needed. It also simplifies input
handling by removing special_port_r from most of the maps (replaced
by a CUSTOM_INPUT). Now only drivedge still uses 16bit inputs and
special_port_r, but I'll investigate it later.
* arkanoid.diff: changes mcu reads to CUSTOM_INPUTS (and muxed
inputs as well). Bootleg inputs has been slightly changed as well
to cope with the new implementation of the protection
* irem.diff: this patch changes a lot of input related things in
m10->m107 irem boards. First of all, it moves input definitions from
drivers/m92.h to include/iremipt.h (which was already there, just
a bit unused ;) ) and it removes completely drivers/m92.h (which
only contained those definitions). Moreover, it adds more common
inputs to iremipt.h and starts to use that file in m62->m107 instead
of local #defines. Finally, it adds diplocations to all the games in
m62->m107 which were missing and it implements coinage mode 2 through
dipconditions in the drivers which didn't support it.
I tested as much as I could these changes and I can see no regressions.
Regards,
Fabio
Subject: [patch] Fix 1802 cybrcomm, raveracw, raveracj, raveraja,
ridgerac, ridgerab, ridgeraj, acedrvrw, victlapw: No sound in games
after reloading via the MAME UI
Hi mamedev,
The problem with namcos22 games losing sound when running multisession
is actually an m37710 cpu initialization bug. The attached patch
fixes it, and also collapses all the timer callbacks together as an
unrelated code cleanup.
Note: namcos22 has a lot of uninitialized state, so I wouldn't be
surprised if there are other multisession issues.
Subject: some more input clean-ups
Hi,
attached please find a few patches against u4. These diffs improve
input ports for drivers starting with F->L. In particular: they add
AM_READ_PORT whenever suitable, they make inputs fully 32bit where
needed, they remove indexed input read handlers from INITs, they
replace many read handlers with appropriate CUSTOM_INPUTs.
Additional improvements:
* added dip switches and locations to go2000 (even if they were
partially documented in the source)
* fixed artmagic protection (it used a wrong tag, which probably
I added somewhere in 0.125uX); even if I haven't experienced any
problems due to the bug since the regression now it's fixed
More details on the patches:
* u4_clean01 -> u4_clean07: these are standard changes like the
one I submitted previously (no custom inputs involved)
* u4_custom01 -> u4_custom04: here there are also changes involving
custom inputs (they mainly deal with eeprom reads, but a few were a
bit more interesting); I separated these from the other ones in
case you want to check them more in detail
* itech8.diff: this patch improves ports & their handling in itech8.c.
In particular, it replaces the 'special' handlers with a single
custom input and I would like a confirmation that it was the right
choice in this case.
Patches are independent one from the other and should apply with
no problems. Let me know if this is not the case.
Regards,
Fabio