Sent: Thursday, January 29, 2009 4:24 PM
To: submit@mamedev.org
Subject: Small patch for a contional dipswitch
Moved source comments of conditional dipswitch names into PORT_CONDITION marcos for better documentation.
uRebelScum
Robin Merrill (urebel@usa.net)
- Added 3 new machine drivers for the different Amcoe games hardware.
- Added OKI M6295 support for speech/sounds to schery97, schery97a, skill98, pokonl97 and match98.
- Fixed sound support to nfb96, nfb96a, nfb96b, nfb96c, nfb96txt, roypok96, roypok96a, roypok96b, nc96, nc96a, nc96b, nc96c, nc96txt, nfb96se, nfb96sea, nfb96seb, carb2002 and carb2003.
- Full inputs & DIP switches from the scratch for pokonl97, match98, nfb96, nfb96a, nfb96b, nfb96c, nfb96txt, roypok96, roypok96a, roypok96b, nc96, nc96a, nc96b, nc96c, nc96txt, nfb96se, nfb96sea, nfb96seb, carb2002 and carb2003. All these were promoted to working state.
- Fixed size and position of tilemaps visible area to match98.
- More driver cleanups.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Poker Only '97 (ver. 3.3) [Roberto Fresca, Olivier Galibert, David Haywood]
Match '98 (ver. 1.33) [Roberto Fresca, Olivier Galibert, David Haywood]
New Fruit Bonus '96 Special Edition (5 sets) [Roberto Fresca, Olivier Galibert, David Haywood]
Royal Poker '96 (3 sets) [Roberto Fresca, Olivier Galibert, David Haywood]
New Cherry '96 Special Edition (5 sets) [Roberto Fresca, Olivier Galibert, David Haywood]
New Fruit Bonus '96 Special Edition (bootleg, 3 sets) [Roberto Fresca, Olivier Galibert, David Haywood]
Carriage Bonus 2002 (bootleg) [Roberto Fresca, Olivier Galibert, David Haywood]
Carriage Bonus 2003 (bootleg) [Roberto Fresca, Olivier Galibert, David Haywood]
New games marked as GAME_NOT_WORKING
------------------------------------
Ciclone [f205v, Mirko Buffoni]
====================================================================
Guess that I should merge the two drivers at this point (brasil.c & highvdeo.c)...
- Full inputs & DIP switches from the scratch for schery97, schery97a, and skill98.
- Changed the sets description to match the program version.
- Cleaned-up the game driver zone for better organization purposes.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Skill Cherry '97 (ver. sc3.52) [Roberto Fresca, Olivier Galibert, David Haywood]
Skill Cherry '97 (ver. sc3.52c4) [Roberto Fresca, Olivier Galibert, David Haywood]
Skill '98 [Roberto Fresca, Olivier Galibert, David Haywood]
Please note: regression testing is in progress, but the first round
of glaring regressions have already been taken care of. That said,
there is likely to be a host of regressions as a result of this
change.
Also note: There are still a few rough edges in the interfaces. I
will try to clean them up systematically once the basic system is
working.
All sound chips are now proper devices.
Merged the sound chip interface into the device interface,
removing any differences (such as the whole ALIASing concept).
Modified every sound chip in the following ways:
* updated to match the device interface
* reduced read/write handlers down to the minimal number
* added the use of get_safe_token() for ensuring correctness
* other minor cleanup
Removed the custom sound device. The additional work to just make
custom sound cases into full devices is minimal, so I just converted
them all over to be actual devices.
Vastly simplified the sound interfaces, removing the ghastly
sndti_* business and moving everyone over to using tags for
sound identity. sndintrf, like cpuintrf, is now just a header
file with no implementation.
Modified each and every driver that references a sound chip:
* all memory maps explicitly reference the targeted device via
AM_DEVREAD/AM_DEVWRITE/AM_DEVREADWRITE
* 16-bit and 32-bit accesses to 8-bit chips no longer use
trampoline functions but instead use the 8-bit AM_DEVREAD/WRITE
macros
* all references to sound chips are now done via tags
* note that these changes are brute force, not optimal; in many
cases drivers should grab pointers to devices in MACHINE_START
and stash them away
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Go 2000 [Angelo Salese]
====================================================
Also moved go2000.o to suna.a in the mame.mak, because I believe that should stay there.
Now I'll try to fix the spriteram (even though it seems hard to RLE it, this game hardly uses it)...
New games added or promoted from NOT_WORKING status
---------------------------------------------------
TomCat (prototype) [Mariusz Wojcieszek]
There are still some small issues (complete list in driver), if somebody with more experience with Atari and/or vector hardware wants to take a look, feel free.
* Added complete reel emulation (thanks to Luca, Angelo and David drivers
studied to better understand hardware similarities).
* Press T to toggle amuse game, used to mask gambling activities.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Jackie [Mirko Buffoni]
- Created custom module for run sounds. Running the discrete sound system at 480KHz was not really optimal.
- Reviewed parts list, schematics and pcb pictures
- Brought mario run sound in line with recordings from Smitdogg
- VCO voltage needs to be 0V for this to happen. Verification outstanding
- Capacitors needed some ageing applied as well. To be removed once the VCO issue is clarified.
Not working due to the sound CPU rom is half size and the 16Mbit flash roms are not dumped.
New clones added
----------------
Head Panic (15/06/1999) [Corrado Tomaselli] (not working)
Merging back in the PinMAME drivers is proposed every now and again, and since we've just added other non-video based things I figured that now might be a good time to look at it.
This is likely to be a HUGE undertaking as PinMAME is based on old code, and is Macro-hell, I see it as a several step plan.
1) Convert all the PinMAME drivers to compile their ROM Loading with current versions of MAME
2) Clean up the ROM loading, removing the excessive Macros which really don't help readability at all IMO
3) Hook up the Machine Drivers again for each system, so that the CPU core runs again
4) Look at ways in which the artwork system can be used to simulate the display parts etc. (there is a scary amount of code in PinMAME for handling this stuff)
5) See how feasible it is to allow MAME to communicate with another program, as it's unlikely we'll be able to simulate the full table physics in MAME.
I've updated the System11 rom loading to compile for now. The old PinMAME code which hasn't been updated is there #if 0'd out for reference for when a stab is made at hooking back up the actual CPUs to run etc.
Part of me wonders if just rewriting it from scratch would be easier, but it would be a shame to throw away the information that was figured out in PinMAME.
This was done by request, so I'm not especially bothered if it doesn't get included, PinMAME is rather hideous ;-)
If anybody wants to help they're more than welcome. The other Williams systems should be easy to hook up the rom loading for because they share most of the Macros that have already been updated to compile.
---
Pyschic 5 (set 2) [Dazzer]
I haven't checked the differences in any detail, but the player appears to survive for longer in attract mode so there are probably some subtle gameplay differences.
* Added because 3 Super 8 have SUPER POKER 115IT string inside.
3Super8 may be a hack, strings are the same, but code is different
though still partially encrypted
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Super Draw Poker [Angelo Salese]
==========================================
For "work-around for the rng" I mean that I've mame_rand'ed it, but obviously that isn't accurate.
* Fixed Transparency pens;
* Fixed color pens for the charset;
===========================
Actually, only the "layer clearance" is puzzling me out, when it's enabled the h/w values are 0.
Really weird...
* Fixed rom source reading for the blitter;
* Properly use height/width params for the blitter;
* Hooked up the backup ram;
* Added basic inputs;
* Removed deprecat.h dependancy;
- Seems a IGS poker hack to comply with 2000's Italian law
- Sound synthesys have been replaced by OKIM Adpcm samples
- Some patched out routines have been recovered to allow test mode dsw mapping
- Mapped Stelle e Cubi to this memory map, something shows but graphic is from a bad dump
Added new game PK Tetris (Mirko Buffoni)
- Strange game with an amusement part (sort of Tetris mixed with Poker)
- Amuse input not mapped, may be necessary for the amusement part which can be disabled via DSW
---------------------------------------------------
Monopoly [Phil Bennett]
Monopoly Classic [Phil Bennett]
Monopoly Deluxe [Phil Bennett]
6850acia: Only adjust the rx/tx bit timers on a control write if the divide ratios have changed.
changes to automatically call the read handler if the opcode base cannot be
found.
Changed logging for non-RAM opcode bases so that it does not output in the case
of debugger_access being set.
Fixed logic for deriving direct ranges so that it uses the non-watchpoint-
infected tables for its lookups.
Added minor additional information and OSC info. Also added two BPROMs not included before.
New clones added
----------------
Volfied (Japan, older) [Brian Troha]
Sent: Wednesday, January 28, 2009 9:08 AM
To: submit@mamedev.org
Subject: Fixed ID 1017 (nslasher)
Increasing interleave completely fixes the sound bug reported at MAMETesters.
Sent: Monday, January 26, 2009 12:37 PM
To: submit
Subject: Royal Panel addition to yumefuda, part 2
Hi again!
as Angelo Salese kindly pointed out, MAME already supports PORT_CONDITIONs for every kind of inputs. Hence, enclosed please find an improved submission with proper inputs for yumefuda
Regards,
Fabio Priuli
On Mon, Jan 26, 2009 at 4:00 PM, Fabio Priuli <doge.fabio@gmail.com> wrote:
Hi, enclosed please find a patch which adds the Royal Panel controls to yumefuda (as a consequence bug 2574 in MT can be considered fixed).
Please notice that the addition of the dual controls looks a bit ugly in the UI menu, but I can see no way to better implement these, in current MAME source. Ideally, it could be nice to add conditional ports to input bits as well as to dips (in this case MAME should show different controls depending on the DSW bit chosen), or to add the concept of port_categories currently used by MESS to show in the menu only the buttons of the chosen controller (you change controller from a different menu entry, like with DSW). I could look into add this feature, but I would prefer to know in advance in which way you would prefer this to be implemented.
Regards,
Fabio Priuli
Sent: Monday, January 26, 2009 7:20 AM
To: submit
Subject: two trivial bugs
Since nobody has fixed yet the two MT entries for dkongf, reported 2 weeks ago, here you find the needed patch. It changes the DSW setting corresponding to Free Play and it changes the year to 2004.
Regards,
Fabio Priuli
Sent: Friday, January 23, 2009 8:44 AM
To: submit
Subject: two more bugfixes
Hi,
enclosed please find fixes for the following bugs in MT
* 2697.diff : this fixes MT02697, i.e. the wrong input mappings of hkagerou. Basically, this game has a dip to choose between an hanafuda & a mahjong panel, but this switch only changes the onscreen indicators (1->6 vs. A->F). Actual input bits are the same in both configurations. Previous mapping was using mahjong inputs for P2 inputs and keys in the numpad for P1 inputs. With this patch, it will only use the default mahjong keys for both players (but in the UI menu, I put also the hanafuda label to help users)
* arka.diff : this fixes MT02719 (which I introduced with my changes in MAME 0.126u5), making a few bootlegs working again.
Regards,
Fabio Priuli
Sent: Thursday, January 22, 2009 10:31 AM
To: submit
Subject: fix for MT 2792
Enclosed please find a small patch which fix the neogeo COMM dips according to the manual scan present in the bug report (splitting sw 4,5,6 in two separate dips entry)
Regards,
Fabio
===================================
Explaination about this:
This gambling game provide a code that you should type it in a DOS program. This PC-DOS program
(that's nowhere to be found plus I guess it's read-protected) gives an input code that you should
press back on the game.
My solution is to give a default eeprom, because, really, I don't think that a popmessage is a
good solution for the end-user.
I don't even consider to patch the program rom, and anyway, I can't believe that somebody in 2000
really provided an Amiga-ish password system as "protection" ;P
- Merged GTI Poker (gtipoker.c) with this driver.
- Added new memory map and machine driver for gtipoker.
- Hooked 2x PPI 8255 to gtipoker.
- Hooked the video RAM access ports to gtipoker.
- Changed norautpn description from Noraut Poker (No Payout),
to Noraut Poker (bootleg), since the game has payout system.
- Some clean-ups.
Formula was derived from figure 6 of LS624/628/629 & 625/626/627 datasheet.
"BUCK ROGERS" is now centered and big ship appears centered over br's ship.
Please Co-Credit Guru
On the long term, both LS629 and the XOR need to be converted into a custom module to properly model mixing if the two frequencies are close to each other.
Adjust C41 to 60% for skid sound.
read/write functions and various other types of functions. Introduced new
structures and macros to make this possible.
To take advantage of this, a device must change its interface to replace and
read/write callbacks with the new devcb_read/write structures. During device
start time, the device then uses this new devcb module to resolve the information
in the devcb_read/write structures into a more efficient form. When the device
needs to call one of the callbacks, it uses the inline devcb_call_read/write
functions.
Once a device has defined its callbacks as devcb_read/write structures, users
of the device must use the DEVCB_* macros to specify the type and information
about the handler to use:
DEVCB_NULL = no handler
DEVCB_HANDLER = a standard device read/write handler
DEVCB_MEMORY_HANDLER = a memory address space read/write handler
DEVCB_DEVICE_HANDLER = a device read/write handler for a different device
DEVCB_INPUT_PORT = an input port
Converted the 8255PPI device to use this new structure, and updated all users
to use the DEVCB macros, removing some unnecessary trampoline functions along
the way.
I didn't get around to documenting this one in full detail, but at a quick glance it appears the region works in the same way. ie, the first byte of one of the roms is 0x01 instead of 0x00.
I've also documented how the region works on Batrider based on these sets.
----
I can't get him to provide any further proof of ownership of this stuff, and I think pressuring him for it is more likely just to piss him off, and result in no further contributions (he already didn't respond to my last mail a few months ago, so I'm sending this now..)
===============================================================
I'm not quite sure about aerfboot,sound seems s****y but reasonable (i.e. plays different stuff than the original sets).
Can any okim6295 expert look if I did an error on the sound banking/soundlatch sides?
also reworked the code a bit to make it harder for somebody to break it in future. (removed the config table & moved keys to driver inits, define region sizes, allocate memory in init for CD based games.)
should be no functional changes, although it might be a fraction of a % faster due to there being less region lookups.
new clones added
----------------
Noboranka (Japan) (NOT WORKING, undumped 8751 MCU)
(old bootleg set is now a clone)
also fixed
"02873: Many sets in system1.c: Missing text layer"
using the method Kale posted
and renamed some functions in drivers/system1.c etc. so it's clear that they're used by the bootleg 'nobb' only, rather than system1 in general.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Big 10 [Angelo Salese,Roberto Fresca,Tomasz Slanina]
> On Mon, Jan 19, 2009 at 05:37:35AM -0800, R. Belmont wrote:
> > My mistake. I thought you were suggesting that we should actually
> > somehow handle malloc failures. Given that aborting is an OK way to
> > express failure, I'd suggest the return values be changed to DEFER
> > and DONT_DEFER to eliminate the conceptual imbalance of OK/DEFER.
>
> That's where comes the fact that we have 130 OK/DONT_DEFER and 1
> DEFER. It makes me think that the exceptional DEFER case should be
> handled by an exceptional function call.
>
> I know, code talks, but I'm at work right now :-)
Here we go.
OG.
Sent: Tuesday, January 20, 2009 6:57 AM
To: submit@mamedev.org
Subject: Fixed ID 2800 (gstream.c)
Hi. Actually it was a my mistake removing the cpu_eat_cycles thing. I was convinced it caused some sync issues but after some intensive testing I can say for sure it's right. Re-implement it makes the game run at full speed and there are no other problems. Sounds are in perfect sync with video. I'm sorry for my first wrong submission happened in 0.129 where I replaced this speed-up with a wrong one.
Regards.
Sent: Monday, January 19, 2009 10:00 AM
To: submit@mamedev.org
Subject: Yunsung8 oki frequency
Changed oki xtal to 400khz, verified on pcb. Unfortunately I couldn't verify the main xtal which was missing on my pcb.
Sent: Friday, January 16, 2009 11:52 AM
To: submit@mamedev.org
Subject: hanaroku input
This was a simple job for fix mametester bug "02810" in hanaroku
Bye Sonikos
Sent: Thursday, January 15, 2009 12:16 PM
To: submit@mamedev.org
Subject: stepstag.c
-added custom 3-screen layout;
-added recently dumpped game "Stepping 3 Surperior"(incomplete ROM/CHD set);
The game name of "stepstag" romset is actually "Stepping Stage Special", not the original "Stepping Stage".
this clone fell through the cracks, I was checking my misc rom dir and there it was ;-)
New games marked as GAME_NOT_WORKING
------------------------------------
Raiden Fighters 2 (USA, SPI) [Arzeno Fabrice]
/current/s/sothello.zip
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Super Othello [Tomasz Slanina]
* Fixed framebuffer handling & screen parameters.
* Added sound.
* Corrected RAM sizes to match what is present on the PCBs.
* Hooked up NVRAM.
(Thanks Phil!)
- Renamed csk driver to igspoker. This includes Champion Poker, Champion Skill,
New Champion Skill
- Converted drivers to tilemap system and unified video section
- Unified memory maps and checked all input ports
- Removed obsolete palette handlers and made use of generic handlers
- Added layout for lamps handling
- Added hopper simulation
- Added New Champion Skill (different set, maybe original international release)
and renamed current igs_ncs to igs_ncs2 (2000 version for italian market)
- Promoted igs_ncs2 to working state, but set GAME_IMPERFECT_GRAPHICS (missing
initial notice screen)
- Moved Jackie to a separate driver (it's a slot machine game)
- Made some progress on Jackie which now boots (toggle mode to play, but work
still needs to be done)
Note: this includes 2 redumped roms and 1 currently marked as BAD_DUMP
New games marked as GAME_NOT_WORKING
------------------------------------
Sega Water Ski (Japan, Revision A) [Smitdogg Jones]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Cannon Ball (Yun Sung) (vertical) [David Haywood]
or ENDIANNESS_BIG based on the LSB_FIRST definition. Unlink LSB_FIRST,
ENDIANNESS_NATIVE always exists and can be used in expressions without
invoking the preprocessor.
Added macro ENDIAN_VALUE_LE_BE() which selects one of two values based
on the endianness passed in. Also added NATIVE_ENDIAN_VALUE_LE_BE()
which calls ENDIAN_VALUE_LE_BE with ENDIANNESS_NATIVE.
Updated a number of drivers and call sites to use these macros in favor
of #ifdef LSB_FIRST.
* Merged Sengoku Mahjong & Good e Jong video HWs
* Added correct scrolling functions for Sengoku Mahjong
* Removed some positioning kludges in both drivers
Fixed Sengoku Mahjong hopper error after first winning match [Angelo Salese]
Removed deprecat dependancy from Good e Jong,one irq wasn't needed at all (points to a reti) [Angelo Salese]
Sent: Tuesday, January 13, 2009 2:20 PM
To: submit@mamedev.org
Subject: megasys1 Big input Clean
Hi Folk
I returned wit a tough work (for me!), i've maed a big input clean up
in the drive (they were a lot messy), now all looks more tidy ;-)
- Delete input port definition in "includes/megasys1.h"
- Added generic input in megasys1.c
- General input clean
Bye Sonikos
* Graphics decoded, video improved, inputs mapped.
Intel i860 CPU core added. [Jason Eckhardt]
(The CPU core doesn't have accurate cycle counts for each opcode yet, but it'll have them soon. I believe that is the main culprit behind the sync of the two i860s and the 68k being outta' whack. You can still see the i860s do their thing and rasterize a voxel? groundplane and some simple polygon bad guys).
-----------------
Hit the Ice (Japan) [Phil Bennett]
Added IC locations and PAL dumps to hitice. Flagged both sets with GAME_IMPERFECT_GRAPHICS as the bitmap layer implementation is incorrect.
* Fixed gfx banking in goodejan/totmejan;
* Fixed vertical scrolling in Sengoku Mahjong (check title screen);
* Made some clean-ups in either drivers;
==================================================
The (likely) custom Seibu CRTC is used at least in the following games:
Raiden (probably the first game to use it)
Sengoku Mahjong
Good e Jong
Tottemo de Jong
Blood Bros.
Sky Smasher
D-Con
SD Gundam Psycho Salamander no Kyoui
(all games in legionna.c)
(all games in raiden2.c)
All of these games have 4 layers with 2048 (0x800) bytes of ram each,a palette ram with xRRRRRGGGGGBBBBB format and (at least) 72 (0x48) video registers.
The idea here is to merge everything in a single file and to understand the issues with some of them,namely the "bitmap_fill" color (goodejan/totmejan
needs a black pen on the service mode and a white-to-black fade out effect at start-up?),some kludges with the tilemaps/sprites positioning (in both
sd gundams,sdgndmsp and sdgndmrb for example) plus obviously anything that isn't yet understood from these regs.
Sent: Sunday, January 11, 2009 5:52 AM
To: submit@mamedev.org
Subject: unreachable code cleanup
This patch cleans up the usage of unreachable code (mostly
unnecessary breaks after returns in switch - case). A few case of
really unused code were also discovered. I marked thos with FIXME
comments.
I based this cleanup on teh output of cppcheck. It does still missing
a few cases of unreachable code, so there might be future patches to
address more cases.
isn't complete?
-----Messaggio originale-----
Da: David Haywood [mailto:neohaze@nildram.co.uk]
Inviato: venerdi 9 gennaio 2009 9.42
A: Angelo Salese
Oggetto: tarzan
I don't think the decryption is complete.. the graphics are also
encrypted.. so don't decode properly.
i guess sar might need to take a 2nd look at it.
Sent: Friday, January 09, 2009 4:14 AM
To: submit@mamedev.org
Subject: Patch to remove useless INLINE defines
Hello,
this patch removes several occurrences of "#define INLINE" in CPU and
sound cores, which I assume are useless since the makefile already
defines this.
--Dirk