Here's a patch that fixes compile errors when compiling a C++ source file including "render.h"
and "palette.h". C++ (at least g++) does not like typedef's for an enum coming before the actual enum.
While investigating alternate gfx layout schemes, I stumbled across
the fact that some drivers are allocating graphics with one layout and
then decoding them with another (!). There's no guarantee this will
work, but for the drivers that do so (all Konami games), the layouts
are similar enough that it does. A related potential bug is that many
drivers are decoding using the layout provided to allocgfx, not the
layout attached the element returned from allocgfx. If the element
had scaling applied to it, this would be incorrect, but since scaling
is rare these are also benign. It would also be a problem if the
layout data had a different internal representation (which is
something I'm experimenting with), so to reduce the possibility of
coding errors and allow for future changes, I'd like to remove the
layout parameter from decodechar.
So here's two patches, the first fixes the affected Konami drivers to
allocate and decode using the same layouts. It changes the notion of
plane_order and bpp in the functions somewhat to let the start
routines select the appropriate layout, but acceptably so IMHO (I can
clean this up further if there are loud objections). The second patch
then removes the layout parameter from all the decodechar() calls.
I also reviewed MESS to see if it had similar problems and didn't find
any.
Reversed ROM set names of Cuebrick World and Japan versions
Changed some function names to reflect parent set
cuebrckj0102u5gre doesn't happen (I didn't fix it)
- added MESS PC-Engine emulatation
- added Blazing Lazers (working)
- added Paranoia (non-working due to lack of jamma interface
emulation)
- fixed MAME debug build under VC2003
Please co-credit Charles MacDonald & Mr. Do for Blazing Lazers.
Note to Nathan: video/vdc.* re taken as-is from MESS, for the
machine stuff I extracted common code (to be shared by MAME and
MESS) and created machine/pcecommn.*
Changed both games to use identical video timing parameters based on measurements of darwin.
Guessed based on available information at the master clock and derived all game clocks from it.
Changed and verified frequencies on Ikari Warriors h/w, Tnk3, Hyper Sports, Jackal and S.A.R
Updated xtal.h to support the 13.4mhz crystal found on Ikari warriors and TNK3 h/w
Verified and corrected a lot of frequencies and oki6295 pin 7 on pcbs:
Double Dribble, Chequered Flag, Diet gogo, Boulderdash, Sly Spy, Psycho
Nics Oscar, Captain Silver, Magical Cat Adventure, Raiden, Superman,
Twin Hawk, Vimana, Ghox, Dogyunn, truxton2, Pipi and Bibis, Fix Eight
and Money Money
They were all verified with frequency counter, even the strangest ones
are right.
* discrete sound
* hooked up z80dma
* combined memory maps
* statics in mario_state struct
* fixed save state issues
* combine sh_* writes into one routine
The skid sound is different from the samples. Reducing the LS123 capacitor by 40% will give the same sound, so I assume this is due to capacitor aging on the board the samples were recorded.
Added code to debug 64-bit builds to allocate all address space below 4GB to help find 64-bit errors.
Added environment variable OSDDEBUGMALLOC which, if set, explicitly overrides the debug malloc debug settings.
Added environment variable OSDDEBUG4GB which, if set, explicitly overrides the new 64-bit address space allocations.
(Sadly this is necessary due to my nvidia D3D drivers being 64-bit unclean....)