Documented what's known about the 3d data much better.
Fixed vertex ROM loading for fatfurwa and buriki.
(No games should segfault anymore, but they all appear to use the hardware in different ways,
so this could be fun.)
default values from. Fixed bug in ROM loader that would change the
memory region flags to match devices with no address bus. Updated
groundfx to use the new default loading scheme.
Roms pass the self test, but the 3D is messed up. Aaron will have to check into that.
from the DU list: "credit goes to xrodney (from
Malta, Europe) with the help of HobbyRoms and Patrick McCarron".
This begs the question: shouldn't we remove the auto-init hacks
from games like simpsons? We force most other Konami games to use
the F2/F3 reset technique.
---------- Forwarded message ----------
From: Atari Ace <atari_ace@verizon.net>
Date: Mon, Dec 14, 2009 at 5:43 AM
Subject: [patch] Eliminate generic.colorram
To: submit@mamedev.org
Cc: atariace@hotmail.com
Hi mamedev,
generic.colorram and generic.videoram are unused by the MAME core, and
are simply slots convenient for driver use. As such, the drivers are
better off using their own driver_data slots for these. To discourage
further use of colorram, this patch eliminates all current uses of it,
and the uses of videoram as well in the affected drivers. This is
partially a retrograde step, since ideally we'd like to introduce the
driver_data structs as well for these drivers, but eliminating
colorram and disentangling the various uses of generic makes it on the
balance an improvement IMHO.
~aa
---------- Forwarded message ----------
From: Oliver Stöneberg <oliverst@online.de>
Date: Sat, Dec 12, 2009 at 3:27 PM
Subject: includes cleanup
To: submit@mamedev.org
This patch removes the global "includes" include and explcitly
specifies the "includes" path in all #include occurances.
---------- Forwarded message ----------
From: Christophe Jaillet <christophe.jaillet@wanadoo.fr>
Date: Mon, Dec 14, 2009 at 9:56 PM
Subject: Removal of a deprecated function
To: submit@mamedev.org
Hi,
a function in "drawgfx.c" is declared in "deprecat.h"
This function ("decodegfx(...)") is not used any more in the code, so it
could be removed.
Hope this help.
Best regards,
CJ
---------- Forwarded message ----------
From: Oliver Stöneberg <oliverst@online.de>
Date: Tue, Dec 15, 2009 at 5:40 PM
Subject: Stack Crawl
To: submit@mamedev.org
This patch enables the stack crawl on windows platforms again (bug
3583).
don't mention this part:
I had to download the zips and info text files from softwarethis.com and compare the CRC32 values of the file then match the file with info for the correct rom label. Big thumbs down for the naming convention when dumping the roms (IE: metit2_1.1 ect), but at least a thumbs up for making and keeping the info files with correct label info.
03589: mystston, myststono: VSYNC does not match original PCB [Corrado Tomaselli]
03588: mystston, myststono: Music is faster than original PCB [Corrado Tomaselli]
- simplified RSP's misaligned memory accesses
- removed now-unnecessary shifts from direct memory accesses in
mips3/powerpc drcs
- optimized AND with 0xff/0xffff/0xffffffff cases for x86/x64
- added rudimentary memory/register tracking in x86 backend to
remove redundant loads
-numprocessors <auto|value>
Specify the number of processors to use for work queues. Specifying
"auto" will use the value reported by the system or environment
variable OSDPROCESSORS. To avoid abuse, this value is internally limited
to 4 times the number of processors reported by the system.
The default is "auto".
- Split SATURATE_ACCUM into a signed and unsigned version to reduce stack usage.
- Corrected an issue with the 0h variants of VMRG, VAND, VNAND, VOR, VNOR, VXOR and VNXOR.
- Slightly optimized unaligned reads and writes
- Optimized unaligned dword reads
- Corrected an issue where badly-written RSP programs could jump to invalid addresses
Comments: I've noticed enough similarities in this game to Arkanoid to consider merging this into arkanoid.c, or establishing a drkorea.c file containing Hexa and Tetris (D.R. Korea) version which is already in arkanoid.c. Any thoughts?
(This unfortunately didn't solve the flicker problem, but there
are other theories as to why that happens. They will be tested
soon.)
(But first I'm going to try to get the 3d rendering in games other
than fatfurwa and buriki)
* fixed 053936 init which was giving problems to f1gp2 (in debug build only, apparently)
* removed banptr preventing proper save states in rockrage.c: now save works fine
* added driver data struct and saves states to f1gp.c, fastlane.c, flkatck.c, hcastle.c, labyrunr.c and suprslam.c
New Clone Added
-------------------------------------------
Hyper Street Fighter 2: The Anniversary Edition (USA 040202) [Artemio Urbina, David Haywood]
* fixed 056832 device start order to avoid wrong settings for layer 0. updated asterix.c and moo.c to use the device implementation now that it's working correctly.
* added driver data struct to 88games.c, combatsc.c and rockrage.c
* added driver data struct and save states to battlnts.c, bladestl.c, crshrace.c and contra.c
* renamed combasc to combatsc now that clones can have longer names
- added warning messages for auto_malloc, timer, and save state
allocations done after init time. These should be fixed when
detected, as I would eventually like to disallow them entirely.
- changed state registration functions to pass through the caller's
file and line number to facilitate fixing the above warnings
- converted Taito F3 sound to a separate machine driver which is
imported into games that use it
- converted the balsente driver to driver_data structure
- converted harddriv timers into devices
- fixed crash in cps2 games due to not configuring the qsound bank
- cleaned up initialization in taito_l to allocate at init time
instead of reset time
* moved k056800 sound device to emu/sound and removed the old code (mame/machine/konamiic.c )
* updated gticlub.c, hornet.c, nwk-tr.c, ultrsprt.c and zr107.c to use this implementation
* fixed various small (and not so small) problems in konicdev.c
* as a result Konami 007342, 007420, 052109, 052160 and 051316 devices are now working and 88games.c, battlnts.c, bladestl.c and rockrage.c have been updated to use them
In particular, device-fied Konami 007121, 051733 and 053251 work fine and combatsc.c, contra.c, crshrace.c, f1gp.c, fastlane.c, flkatck.c, hcastle.c, labyrunr.c and suprslam.c have been converted to use the new code.
Side notes:
* chips which have their own tilemap in MAME (e.g. 056832 and 052109) are not working yet, and other chips cannot be fully tested because they're used together with these... it's still wip
* some cleanup is in order (especially for interfaces), once I get the remaining chips to working state
* converting the drivers above, I noticed that f1gp2 was only using half of the k053936 regs: this is now fixed and, even if I don't know of any visible improvements, now there are definitely less unmapped writes logged by the debugger ;)
arbitrary scaling factors. Previously, specifying a size implied
a scaling factor equal to the size (i.e., specifying DWORD meant
the index was scaled by 4). This is still the default. However,
now you can specify the scale explicitly for other cases. For
example, you can specify DWORD_x1 to fetch a DWORD but don't
scale the index at all, or BYTE_x8 to fetch a BYTE while scaling
the index by 8. Updated all backends to make this work.
Added driver data struct and save states to: cbasebal.c, chinsan.c, mitchell.c and quasar.c
Not to be mentioned: I also removed use of memory_set_bankptr from CPS1 sound banking and renamed a couple of rallyx.c constants to be less generic
Out of whatsnew: Unfortunately, I was unable to make both malzak and p2000t (in MESS) to work without a small kludge, clearly documented in the source. I plan to further investigating the problem once I manage to merge the other 505x variants (later)
* added driver data struct to neogeo.c and added GAME_SUPPORTS_SAVE flag to all sets, because save state support was already there
* added driver data struct and save state support to cps1.c, cps2.c and fcrash.c
* added saves to 6522via.c. this fixes problems of gameplan.c and trvquest.c games with -autosave
* added driver data struct and save states to toratora.c and sf.c
* enable GAME_SUPPORTS_SAVE flag to dday.c because some of the core changes have fixed the sound problem at loading
* added a couple of comments about header inclusions
@Aaron: now I think there is only a single occurrence of input_port_by_index in the whole source (in src/emu/sound/disc_inp.c), in case you want to remove the whole handler
Also, added driver data struct and save states to laserbas.c, laserbat.c, lastfght.c, lazercmd.c and lemmings.c
Finally, added driver data struct to lasso.c
* Fixed EIP displacement when executing FPU instructions with no 80387 present
* Added 32-bit implementations of SLDT and STR
---------- Forwarded message ----------
From: Barry Rodewald <bsr@xnet.co.nz>
Date: Wed, Dec 9, 2009 at 2:02 AM
Subject: More i386 fixes
To: submit@mamedev.org
Hi,
Here's two more small fixes for the i386 core.
First, is FPU instructions used on 80386. On a system without a
80387, FPU instructions should have no effect. Part of the FM Towns
TBIOS (runs as an MS-DOS device driver, providing extra system
functions) initialises the FPU, and tries to detect it. Upon hitting
the FSTCW instruction, though, it doesn't increase EIP enough when an
extra displacement byte is needed. So, I've added a call to GetEA to
the escape() function (called when there is no FPU) which will fetch
the extra byte if necessary.
Second, is a 32-bit implementation of the SLDT and STR instructions.
Basically, I copied it from the 16-bit versions, and modified it to
use 32-bit registers.
Thanks,
Barry Rodewald
mailto:bsr@xnet.co.nz
Identified Semicom's Dream World hardware as a copy of Psikyo's 68020 hardware (it was already known that their older platforms were copied from Snow Bros, and Tumble Pop) [David Haywood]
new clones
-----------
Fighting Fantasy (bootleg with 68705) [f205v] (not working)
Phantom (Spectar bootleg) [Team Europe & rades]
Panzar (Spectar bootleg) [f205v]
Fatsy Gambler (Video Hustler bootleg) [f205v]
Fitter (bootleg) [f205v]
Vs. Super Mario Bros. (bootleg with Z80) (2 sets) [f205v, Dante Profeta] (not working)
new NOT WORKING
------------------------
Video Stars [Andrew Welburn]
part. Some shared systems still exist with globals, but this
tackles the atarigen module and the variables local to each
driver.
Also added validity check that AM_BASE_MEMBER and AM_SIZE_MEMBER
items point within the bounds of the driver_data structure.
Added driver data struct to jackal.c
out of the whatsnew, a couple of remarks:
- rallyx and nrallyx might require a separate driver data struct to deal with namco_soundregs, but I'll take care of this eventually (if really needed)
- jackal does not properly save the work ram banks atm, hence no SUPPORTS_SAVE flag, but I keep looking for a clean solution to the problem
Added driver data struct to pipedrm.c and added devices to gameplan.c driver data struct (to remove a few cputag calls)
Also, removed a couple of memory_set_bankptr that I had forgotten (buggychl.c & homedata.c)
marked non-exported functions as static and removed cases of #include "deprecat.h" [Atari Ace]
---------- Forwarded message ----------
From: Atari Ace <atari_ace@verizon.net>
Date: Sat, Dec 5, 2009 at 7:18 AM
Subject: [patch] Header cleanups
To: submit@mamedev.org
Cc: atariace@hotmail.com
Hi mamedev,
This patch improves the quality of the mame driver headers, by adding
missing prototypes and source comments, removing dead prototypes, and
marking some non-exported functions as static within the drivers. It
also eliminates about a dozen cases of #include "deprecat.h".
~aa
(Update of r7501)
---------- Forwarded message ----------
From: Atari Ace <atari_ace@verizon.net>
Date: Sun, Dec 6, 2009 at 5:51 PM
Subject: [patch] srcclean bugfix
To: submit@mamedev.org
Cc: atariace@hotmail.com
Hi mamedev,
My srcclean changes to track C-style quotes didn't handle all the
special cases correctly (for instance, '\"' and "\\\""). This fixes
it, and adds some /* ... */ to m68k_in.c so that src2html.exe does a
better job on it.
~aa
memory_install_ram() to assign a un-named bank to a region and specify
a pointer to where the RAM lives. If this is called in the DRIVER_INIT
function or MACHINE/SOUND/VIDEO_START functions, then it is permissible
to specify NULL, in which case the memory system will allocate memory
and register it for save states.
memory_install_rom() is like the above except that it only installs a
read handler.
memory_install_writeonly() is like the above except that it only installs
a write handler.
Updated several instances in the code that were assigning banks to these
sorts of static RAM regions and simplified the code.
Also fixed several regressions reported by Tafoid.