Undo part of r2230 (Frogger related):
"also fixes that the frog disappears for player 2 if moved backwards. This will position him on x=242. All games in this driver now have the sprites in cocktail/player 2 now offset by 2"
It made sprite offsets in cocktail mode wrong in every game. The Frogger glitch must be due to something else, not this.
sx=base3 -> sx=base3+1: As documented in video/galaxold.c, this is evident in many games: scramble, turtles, anteater, jumpbug, spdcoin, ..
----
also cleaned up video/galaxian.c source a bit and renamed anteater clones (anteatg/anteatgb to anteaterg/anteateruk). I couldn't be bothered to add anteater colorsplit to galaxold.c, so the clones aren't fixed
Added new support for Ruleta RCI.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Ruleta RCI (6-players, Spanish) [Roberto Fresca, Rob Ragon]
Added M48T37 variant to timekpr.c. Fixed some bugs that caused
registers to be initialized to 0xff and caused odd behavior.
Updated to modern device timers.
Converted vegas to use M48T37 instead of its own implementation.
conversion efforts: [Atari Ace]
* taito_f3 is disentangled from a number of other drivers by using
an AM_SHARE tag instead of a common variable.
* Several drivers are made into explicit subclasses of other drivers:
8080bw from mw8080bw, missb2 from bublbobl, quasar from cvs, taito_x
from seta.
* arcadecl is separated from rampart by duplicating the bitmap
rendering code.
* jaleco decryption code is moved to jalcrpt.c.
* cischeat is separated from megasys1 by duplicating some video code.
* mcr3 is partly separated from mcr.
* machine/midwunit.c is split into wunit and xunit files with some
code duplication.
* midtunit gfx_rom variables are made distinct from midyunit
variables, making midyunit independent of midtunit.
* contants in namconb1 are duplicated/renamed in namcofl.
* namcos2 uses of namcos21 are eliminated by introducing
namcos2_kickstart.
* toypop is separated from mappy by duplicating some video code.
memory consumption when iterating through all drivers like -romident
does.
Also moved softlist scanning into the main loop so that machine_configs
are only constructed once.
=====================
Catch (prototype) [Siftware, hap]
-------
not working flag is because of the broken sound
also, should it be a clone of avalnche?
- Fixed lamp timing in MPU4 and laid groundwork for MPU3 support in the steppers (I've also cleared up the reel code in drivers).
- Removed some unneeded timing code.
- BwB support is here, but preliminary, it's mainly to show people how the CHR chip might work in those games.
- Some sets reparented and renamed as well as a cleanup of source comments:
grindstm (parent), vfive (clone)
kingdmgp (parent), shippumd (clone)
The set formerly known as "sstrikera" is now "sstriker" and is now the parent of mahoudai (clone).
Reverted batrid to batrider and bkraid to bbakraid.
- Put common init code into MACHINE_START, leaving DRIVER_INITs only for games that actually need unique initialization.
- Dead code cleanup: Removed old hacks and some no-longer-used used member variables from the driver class.
- ROM banking cleanup: Added a device address map for the OKI in fixeightbl. Stopped misusing the bank system for memory that isn't actually bankswitched (fixeightbl again) Simplified the Z80 ROM banking (and loading) in the Raizing games.
- Address map cleanup: Unified 8-bit shared RAM handling between the Z80-based and the V25-based games. Replaced lots of pointless READ_HANDLERs with AM_RAM_WRITE. Moved fixeight EEPROM handling into the input ports instead of using READ/WRITE_HANDLERs. Incidentally, this makes toaplan2.c the very first MAME driver to use the AM_READWRITE_PORT macro.
- Removed IPT_VBLANK input ports (no longer used since the video rewrite)
- Removed Truxton 2 player 2 "button 4" (after confirming that the game never reads it) and changed player 1 "button 4" to an IPT_OTHER not bound to any key by default, since it's clearly some kind of test/debug input not meant to be hooked up in a regular cabinet (for one thing, it works whether you're actually playing or in attract mode)
- Added button 3 to Batsugun Special Version. It's a full auto fire button like Cave games have. The service mode input test doesn't show it, presumably because Toaplan didn't bother to update the service mode code from the original version of the game.
- Fixed region jumpers and dipswitches in many sets, based on analysis of the program code and strings in the ROMs.
- Added a #define to optionally make Truxton 2 stereo (commented out by default). See the comments at the top of the driver and in the MACHINE_CONFIG.
- Corrected kbash ROM names, thanks to information from Charles MacDonald. Also fixed inconsistent ROM naming between some of the batrider clones.
- Loaded bbakraid default EEPROM as a ROM rather than hardcoding the contents into the driver.
- Completely removed audio/toaplan2.c, which isn't needed any more now that all the V25s are decrypted and hooked up.
New Clone Added
--------------------------------------
Street Fighter Alpha 3 (Hispanic 980904) [Layne, Dr. Spankenstein, ranger_lennier, Smitdogg, The Dumping Union]
- calculate palette with resnet info from Popper (same year, same company, very similar hardware)
- make bgcolor emulation more logical
- small cleanups
Cleaned up and improved memory maps, added NVRAM
to all winners circle sets, fixed the ay8910 clock
for winners circle 82 type to match the other hardware.
Fixed a blitter buffer to bitmap problem.
Reparented the sets. Added new technical notes.
Input/output work and new set supported.
Redumped the winner82 sound program.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Winners Circle (81, 28*28 PCB) [Roberto Fresca, Rob Ragon]
Winners Circle (81, 18*22 PCB) [Roberto Fresca, Rob Ragon]
memory map, and complete multiplexed inputs/outputs for
Lucky Roulette type games. Also added NVRAM and inverted
blitter [Roberto Fresca]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Lucky Roulette (6-players, Spanish) [Roberto Fresca, Rob Ragon]
accurate periodic interrupt timing for sound CPU, meters,
DIP switches, and other minor things. We got Winners Circle
82 playable. [Roberto Fresca]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Winners Circle 82 [Roberto Fresca, Angelo Salese, Rob Ragon]
functionality in favor of alternate mechanisms. Errors are
now reported via an astring rather than via callbacks. Every
option must now specify a type (command, integer, float, string,
boolean, etc). Command behavior has changed so that only one
command is permitted. [Aaron Giles]
Changed fileio system to accept just a raw searchpath instead of
an options/option name combination. [Aaron Giles]
Created emu_options class dervied from core_options which wraps
core emulator options. Added mechanisms to cleanly change the
system name and add/remove system-specific options, versus the
old way using callbacks. Also added read accessors for all the
options, to ensure consistency in how parameters are handled.
Changed most core systems to access emu_options instead of
core_options. Also changed machine->options() to return emu_options.
[Aaron Giles]
Created cli_options class derived from emu_options which adds the
command-line specific options. Updated clifront code to leverage
the new class and the new core behaviors. cli_execute() now accepts
a cli_options object when called. [Aaron Giles]
Updated both SDL and Windows to have their own options classes,
derived from cli_options, which add the OSD-specific options on
top of everything else. Added accessors for all the options so
that queries are strongly typed and simplified. [Aaron Giles]
Out of whatsnew: I've surely screwed up some stuff, though I have
smoke tested a bunch of things. Let me know if you hit anything odd.
Also I know this change will impact the WINUI stuff, please let me
know if there are issues. All the functionality necessary should
still be present. If it's not obvious, please talk to me before
adding stuff to the core_options class.
New games marked as GAME_NOT_WORKING
------------------------------------
Winners Circle (81) [Roberto Fresca, Rob Ragon]
Winners Circle (82) [Roberto Fresca, Rob Ragon]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Ruleta RE-800 (earlier) [Roberto Fresca]
Ruleta RE-800 (v1.0) [Roberto Fresca]
Ruleta RE-800 (v3.0) [Roberto Fresca, Grull Osgo]
----------------
Big Twin (No Girls Conversion) [Andrew Welburn, Pierpaolo Prazzoli]
uploaded to:
roms\uploads\bigtwinb.zip
if someone wants to write a pcb layout, there's a photo inside the zip
- Horizontal clipping of "tilemap" sprites
- Shadows emulation
sigmab98: added sammymdl BIOS and hardware info [Smitdogg, The Dumping Union]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Reel'N Quake [Luca Elia, Smitdogg, The Dumping Union]
New clones added
----------------
Magic Train (Clear NVRAM ROM?) (not working) [Grull Osgo, Roberto Fresca]
----------------
- Night Rider (rev. 21) [destruk]
- Eight Ball Deluxe (rev. 14) [destruk]
- Lord Of The Rings, The (9,8,7,401)(En,Sp,Ger,Fr,It) [destruk, Miodrag Milanovic]
----------------
- Maverick (Display Rev. 4.00) [destruk]
- Cut The Cheese (Redemption)[destruk]
- Cut The Cheese Deluxe (Redemption)[destruk]
out of log:
Also moved few drivers to proper place
-- out of whatsnew.txt --
* Converted seta2 and signab98 drivers to route both channels to appropriate speakers.
* Besides some slightly-suspect ADPCM2 decoding, the 9810 should be feature-complete
for all games in MAME.
--
Due to updateflip _always_ flipping visarea when flip is set (confusing!), visarea X was flipped twice when globally going from off->on, causing broken cocktail mode in a bunch of drivers (galaga, digdug, warpwarp, ..). This symptom turned up when these drivers were updated with 'raw' screen params, causing visarea-1 != screen width/height due to blanking area info inside width/height.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Brasil 86 [Roberto Fresca, Rob Ragon]
Brasil 87 [Roberto Fresca, Rob Ragon]
Brasil 89 (set 2) [Roberto Fresca, Rob Ragon]
Brasil 93 [Roberto Fresca, Rob Ragon]
[ Out of whatsnew.txt ]
* I haven't implemented stereo yet. Is there an example of a modern sound core
that outputs stereo?
* Also added "MODERN" READ|WRITE handlers to sigma98b & hooked up read function.
* This should make all the games in sigma98b sound perfect (only because
none of them use stereo panning). Luca, I'll leave the flag removal up to your judgement.
* The ADPCM2 decoding in the funcube games sounds pretty good (be sure you're
running at 100% framerate though - they're demanding).
Screen update function is now per screen device
(it was before but was attached to machine driver)
MCFG_VIDEO_UPDATE -> MCFG_SCREEN_UPDATE
MCFG_VIDEO_EOF -> MCFG_SCREEN_EOF
EOF is now executed for all screens, so for all existing it
is defined just for one screen. This part will be updated in future.
Note that there are now screen_update and screen_eof virtual functions
for "modern" drivers which are called same as they did before.
All drivers are updated and in places where update function was separated per
screen I did name separate function.
This change will enable us to put screen definition fully into device.
-------------------------------
Point Blank 3 (GNN2 Ver. A) [Kevin Eshbach, hap, D. Edwardson, Paratech, ranger_lennier, M. Ponweiser, T. Petersen, Smitdogg, The Dumping Union]
Uchuu Daisakusen: Chocovader Contactee (CVC1 Ver. A) [R. Mucciarelli, W. Belk, Yohji, Roberto Malone, Smitdogg, The Dumping Union]
- fixed: if set to invisible(0xff), it could still show (due to 0x100-zoom), showed glitches in eg. koshien
- +12 made no sense, changed to +15 so it just always rounds up if low 4 bits are nonzero
- add note that bigsprite zoom implementation is incorrect
- Instruction cache emulated on '020 and later
- Fixed interaction between MMU and bfextu/bfexts/bfins
- Added fsgldiv, fsglmul, and fscc FPU instructions
- Fixed fault address in stack frame
- Fixed supervisor violation bit in MMU status register
- Add fmovem modes 1 and 3
- Various other MMU fixes
---------------------------------------------------
Guilty Gear X 1.5 [gamerfan, TrevEB, Falcone, M. Viste, john666, Cah4e3, Smitdogg, The Dumping Union]
New games added as GAME_NOT_WORKING
-----------------------------------
Initial D Arcade Stage Ver. 2 (Japan) (Rev. B) (GDS-0026B) [The Dumping Union]
Initial D Arcade Stage Ver. 2 (Export) (GDS-0027) [Gerald, The Dumping Union]
Initial D Arcade Stage Ver. 3 (Japan) (Rev. C) (GDS-0032C) [f205v, The Dumping Union]
removed additional 2 cycles, in move operation, for non-Agnus registers [Roberto Zandona']
set to #0 the start cycle in the copper operation [Roberto Zandona']
- Added IO_SPACE and updated all access in ME1 memory for use it.
- Implemented interrupts.
- Fixed the flags in the ROL/ROR/SHL/SHR opcodes.
- Fixed decimal add/sub opcodes.