This patch should complete the addition of static qualifiers to all
MAME symbols that aren't explicitly exported. It primarily handles
generated code (e.g. amspdwy.c), plus a handful of cases I'd
previously missed and some new cases introduced in the last update.
One interesting bit was the discovery that the 32-bit scanline
routines in drawgfx.c are unused. I debated eliminating them but
decided instead to just export them. Various internal drawgfx
functions were conditionally removed by examining a new RAW define,
although one routine (blockmove_8toN_alphaone) was determined to be
dead code.
While investigating constifying MESS, I came across a few core APIs
that were missing const qualifiers which this patch fixes. I also
consted up tx1.c while I was at it.
- cvs games: according to PCBInfos speech chip is TMS5100.
Changed driver to use TMS5100 and "game system operational" now sounds more natural
- removed sound/m58817.*
- added support for multiple coefficients maps to tms5110.*
- added coefficient maps for TMS5100 and M58817 from documented sources to tms5110r.c
- fixed interpolation factors (see tms5110r.c for reason)
- made lattice calculation precision 9bit
- added support for READBIT and LOADADDRESS commands to tms5110.c
- more changes in line with various patents
Note: Protection still not understood in detail. Driver only contains "hacks" as workarounds. Consequently, more protection issues are likely to surface in the future.
Besides confirming clocks on some games, I modified:
Aerofighters and Turbo Force sound z80 to 5mhz
Midnight Resitance 68k cpu to 10mhz (20mhz crystal) and modified m6295
clock to 1mhz. Also confirmed pin 7 is high.
Midnight resistance has a lot of slow downs on the pcb too
This small patch makes some minor "code quality" improvements to MAME.
First off, some remaing static/const qualifier missed cases were
addressed. Secondly, a few cases of missing #include "foo.h" were
added. Thirdly, a few global names were modified to make them less
generic/more consistent (voodoo.c, vrender0.c, lethal.c, rungun.c,
zac2650.c). Fourthly, some dead/useless code was removed
(i8051.c,model1.c,romcmp.c).
Verified some cpu clocks of original boards using a frequency counter:
* Changed Success Joe Ym2203 clock from 3mhz to 4mhz
* Changed Pang M6295 clock from 990khz to 1Mhz
* Changed Halley Comet main cpu clock to 1.664mhz (it's not a mistake, the clock is very low)
* Cleaned up zeus wave RAM accessors.
* Changed rendering code to allow for greater parallelism on multicore systems.
* Removed some vestigial zeus 2 hacks.
* Reduced visible area to remove artifacts.
* Made right/bottom vertices inclusive to fix some gapping issues.
* Fixed invasn lightgun offset.
* Marked invasn as playable.
Zeus 2 hardware:
* Fixed ROM loading, added banking support.
* Separated zeus 2 video implementation from zeus implementation.
* Implemented direct pixel accesses; enough to get startup screens to show.
ADSP-2100:
* Properly documented ADSP-2104 internal memory map.
Removed many hacks from both.
A couple of games changed status from GAME_NOT_WORKING to fully playable:
stagger1, redhawk, redhawkb, grdnstrm, spec2k, firehawk (all - former afega.c)
and tharrier/tharrierj(nmk16.c)
invasn looks a lot better now.
Extracted data for lights.
Added backface culling which mostly works but fails sometimes, so it is disabled.
Started on some initial lighting calculations.