- Pass chip type around and restore Jarek's original behavior for YM2203/YM2610
- Always recalculate attack rate in set_ar_ksr, fixes Megadrive/Genesis "Batman & Robin"
What a PITA. :) I'll have to go back and do A-J to lower case the handlers to match the new structure names I already did.
Sorry Mess and other port developers, but the code should match what is stated on the official WIKI. But don't worry, I don't plan on updating anything but the sound cores.
- Reverse engineering of custom IC's 06B49P, 06B53P & 09R81P.
- Mapped the missing 3x SN76489.
- Measured and traced all clocks on the board.
- Measured and fixed the interrupt system.
- Implemented timings/clocks from custom 06B49P.
- Added sound support. All regular game sounds/musics are working.
- Implemented the ADPCM samples system through 09R81P + M5205 emulation.
- Added pinouts and technical notes about custom IC's 06B49P, 06B53P & 09R81P.
- Added flip screen mode.
- Inverted the order of double-up difficult DIP switches.
(Seems to be the opposite of the indicated in the instruction sheet).
- Changed 'Key In' to be active LOW instead of HIGH (checked in the PCB).
- Complete memory map and ports scheme.
- Created handlers for USART port and co-processor communication.
- Renamed the sets accordingly.
- Updated all notes.
- Cleaned-up the driver.
Please co-credit Grull Osgo.
You may have to do a clean compile, or delete the affected driver object files.
struct C140interface to c140_interface
struct cem3394_interface to cem3394_interface
struct ES5503interface to es5503_interface
struct ES5505interface to es5505_interface
struct ES5506interface to es5506_interface
struct ssg_callbacks to ssg_callbacks
struct gaelcosnd_interface to gaelcosnd_interface
struct ics2115_interface to ics2115_interface
I'll stop until my posted question about chip names and upper case is answered.
FWIW, I first check for variables named name_interface and rename them as name_cofig, so they don't conflict with the new interface names.
struct YMF262interface to ymf262_interface
struct YM2151interface to ym2151_interface
struct YM2203interface to ym2203_interface
struct YM2608interface to ym2608_interface
struct YM2610interface to ym2610_interface
struct YM2612interface to ym2612_interface
struct YM3812interface to ym3812_interface
struct Y8950interface to y8950_interface
struct YM3526interface to ym3526_interface
struct TMS5110interface to tms5110_interface
struct TMS5220interface to tms5220_interface
struct AICAinterface to aica_interface
Added a new Japanese version of Ghouls'n Ghosts.
This could be a hack since, running on a 91634B board, it must have been made at least three years after the initial release of the game. However, if if it's a hack, it's exceptionally well made since all ROM stickers look original and the B-board DAM63B PAL label is printed on the chip.
Also, hack or not, the code alignment of none of the already supported versions matches this one so it appears to at least be based on a new version.
The dip switches need to be checked. The Lives dips, and the two unused dips after those, also change the starting level. This could be further evidence that the game is a hack.
New clones added
----------------
Dai Makai-Mura (Japan new version)
struct CustomSound_interface to custom_sound_interface
struct Samplesinterface to samples_interface
struct SN76477interface to SN76477_interface
struct AY8910interface to AY8910_interface
The algorithm is more complex than it should be, but I haven't been able to simplify it more.
The keys are still embedded in the source. It would now be reasonable to move them to external files; however, for several games we only have partial keys so the files would need to be BAD_DUMP.
memory regions. Extended error codes to report incorrect memory
spaces, memory names, or memory sizes. Added verification callback
to the debugger to validate CPU and memory region names, as well
as verifying that a requested address space exists for a given
CPU.
Added support for oneshot cheats (those with only an "on" script).
They are activated via UI_SELECT in the cheat menu, and pop up a
message when activated. Also added a "Reset All" item in the cheat
menu to reset all cheats back to their default state, and added
support for UI_SELECT on a non-oneshot cheat so that it resets that
cheat to its default value.
Restored previous behavior that allowed popmessage() messages to
overlay menus and other UI.
and reports if no white flags were seen.
Fixed bug in aviio.c which could cause an infinite loop if attempting
to read sound beyond the end of the file.
Rewrote the white flag detection to use a histogram for outlier detection
and peak identification.
+ plus
- minus
* times or mul
/ div
% mod
! not
~ bnot
&& and
& band
|| or
| bor
^ bxor
lt <
le <=
gt >
ge >=
eq ==
ne !=
Changed cheat escaping to automatically escape && & < and <=
to and band lt and le.
Subject: New russian game
Dear Aaron,
thanks to the very kind and good guys at the "Soviet Arcade Games Museum"
(www.15kop.ru), namely Alex and Max; and thanks to Antro (a good friend of
mine), we have a new dump for a previously unknown Russian game: S.O.S. by Terminal.
It works on the same hardware as Konek (already in MAME), it's a simple rom
swap. I still have to chek about PROMs.
A diff file is included, together with roms.
All the best
Antonio (f205v)
Subject: some diplocations
Hi, enclosed please find a patch to add diplocations to the some
drivers which still missed them. The patch assumes my changes to
drivers starting with C,D,E have been applied (port01.diff -
>port09.diff I sent on Aug 1st... there is at least crshrace.c w
hich could fail to correctly patch, due to possibly different tags,
and probably 1 or 2 more... not many, but maybe annoying anyway).
It adds diplocations to the following drivers: combatsc.c, copsnrob.c,
cosmic.c, crgolf.c, crimfght.c, crospang.c (here I also added service
dips to heuksun and bestri, which allowed me to verify locations),
crshrace.c, dambustr.c, darkseal.c, dassault.c, dblewing.c, ddrible.c,
deadang.c
It also adds locations to the following games: ddragon & ddragon2 on
ddragon.c and docastle, dorunrun & dowild in docastle.c
Regards,
Fabio Priuli
From: Fabio Priuli [mailto:doge.fabio@gmail.com]
Subject: to simplify cischeat inputs
Hi,
the enclosed diff has a twofold effect on cischeat.c:
on one side: it adds diplocations to bigrun, scudhamm,
cischeat & f1gpstar
on the other side: it removes the current hacky handling of
f1gpstar coinage dips (check video/cischeat.c to see what I
mean with hacky!) to use conditional ports instead. BUT in
order to do this, I had to add more possible values for the
PORTCOND in iptport.c. The problem is that f1gpstar has a set
of coinage settings when you set the region to JPN or USA and
another one when you set the region to EUR or FRA. To implement
this I added the following self-explanatory new PORTCOND:
ISLARGER (>), ISNOTLARGER (<=), ISSMALLER (<), ISNOTSMALLER (<=).
Only two were really needed to implement f1gpstar dips, but
the other two seemed costless to me while offering even more
flexibility to the PORT_CONDITION macro.
Also notice that the handling of conditional ports in 'TAB>Dip
Switches' menu doesn't work well (in the current source, not
affected by my patch) with contracted expressions like
PORT_DIPUNKNOWN_DIPLOC: the wrong items remain listed in the
UI menu even when you change the condition! If you leave the
DEF_STR( Unknown ) with ON/OFF cases, everything is displayed
correctly in the menu. However, I was not able to track down
what part of code is responsible for this bug.
Regards,
Fabio Priuli
Subject: another small fix
Hi,
with this last patch I hope to have fixed all regressions I could
had introduced with my past submissions. This time it was a small
problem due to my fix to bug 1565 (alleymas duplicated inputs):
the game was unplayable in u3 (even if not reported to MT).
Regards,
Fabio Priuli