* cpu/i8x41 should be renamed to UPI-4x, since UPI-41/42 was an intel chip family
postponed for now until core moved to pointers.
* removed I8041 definition from mcs48
* removed I8x41 cpu definition and config struct
* added I8041, I8741, I8042, I8242 and I8742 cpus to i8x41.c
* added internal memory maps
* internal ram now uses DATA memory space
* updated drivers
* increased interleave to 70 in decocass. This fixes decocass hanging in countdown around 13
No idea when this bug was introduced.
Sent: Friday, November 07, 2008 9:47 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] More header files for mame
Hi mamedev,
Here's another set of about 20 new include files for MAME. As before,
the only issues discovered by the migration were some dead prototypes.
~aa
Sent: Wednesday, November 05, 2008 7:21 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] New include files for drivers
Hi mamedev,
Here's a patch that adjusts a few existing include files, but
principally adds new include files for about twenty existing drivers.
This found a few dead prototypes, but otherwise didn't reveal any
errors.
~aa
Sent: Wednesday, November 05, 2008 8:22 AM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Add ADDRESS_MAP_NAME macro
Hi mamedev,
In theory, MAME's interface macros should completely hide the naming
conventions from the drivers and sound/cpu cores. So as an
experiment, I renamed all the core apis and looked to see what broke.
The most common api coupling was with address maps in the CPU cores,
which this patch addresses by introducing a new macro,
ADDRESS_MAP_NAME (mimicing what is done in devintrf.h). There were a
handful of related problems in some drivers which this patch also
fixes. Some remaining issues I left alone (laserdisk apis reference
rom, video_update, machine_config, ksys573 use of nvram_handler,
megadriv use of ipt), in principle all the apis need _NAME variants to
encode the conventions.
~aa
Sent: Wednesday, November 05, 2008 1:53 AM
To: submit@mamedev.org
Subject: fix for MT 2626
Hi,
enclosed please find a patch to fix missing buttons for crime fighter 2p (Button 3 and Start)
Regards,
Fabio
To: "Nicola Salmoria" <nicola.salmoria@virgilio.it>
Sent: Tuesday, November 04, 2008 5:48 PM
Subject: CPS2 driver.
> Hi,
>
> I have updated the CPS2 driver to bring all ROM names back in line with
> Capcom's naming system (which they print on the stickers). The changes are
> quite minor and include bringing the SIMM dump names into one format. Also
> included is a fix to Gigawing ROM names and Street Fighter Zero 2 Alpha,
> which ROM names broke after the split from Street Fighter Zero 2 in the
> last
> MAME update.
>
> I though it would be good to do this as the same seems to be going on in
> the
> NeoGeo driver. Around ten sets are affected in total.
>
> Regards, Raz
>
Sent: Sunday, November 02, 2008 9:56 AM
To: submit@mamedev.org
Subject: expro02 missing?
Hi!
I don't know what is happened with my last diff, but this one fixed the missing part.
Bye Sonikos
Sent: Saturday, November 01, 2008 7:14 PM
To: submit@mamedev.org
Subject: psycho nics oscar revision change
I changed Psicho Nics Oscar (japan revision 0) to (world revision 0)
since there is no japan disclaimer
please find herewith attached a new game dumped from Russia.
The PCB has been lent by "Soviet Arcade Games Museum" www.15kop.ru
Dump and diff by "Antro" (my Italian friend living in Moskow)
Snezhnaja Koroleva [Antro]
* Added proper clock speed to plygonet.c and internal divider to dsp56k.c
* Fixed up disassembler add/sub, 05xx, and bsr ops.
* Handle mysterious uuuuF instruction found in plygonet add op.
* Partially implemented add, sub, mac, mpy, inc, cmpm, macr, asr16, jscc, lea, and movec ops.
* Added dual X memory read and data move with short displacement parallel moves.
* Merged DS5002FP
* Disassembler now uses type specific memory names
* Merged DS5002FP disasm
* added 83C751 memory names to disassembler
* delete DS5002FP specific files
* removed unnecessary cpu callback in wrally
* DATA_MAP ==> IO_MAP in wrally
* Fixed bitmap zooming in Virtual Mahjong 2 - My Fair Lady;
* Worked around a major graphic bug in ElanDoree;
* Added some missing alpha blending effects,Pro Mahjong Kiwame S title screen needs it but it doesn't work yet due to other problems (still investigating)
* Fixed a crash bug with Astra Super Stars when the debugger is active.
(this is to sync with svn tree,ST-V will be further improved on a later stage)
working on something, hold off syncing.
Defined macros for core CPU functions: CPU_INIT, CPU_RESET, CPU_EXIT,
CPU_EXECUTE, along with macros for the name and for calling, in the
spirit of the devintrf.h macros. More will come later.
Changed init, reset, exit, and execute interfaces to be passed a
const device_config * object. This is a fake object for the moment,
but encapsulates the machine pointer and token. Eventually this will
be a real device.
Changed the CPU IRQ callbacks to a proper type, and added a device
parameter to them.
Updated all CPU cores to the new macros and parameters.
Note that this changes the way we "pointer"-ify cores. I'll send an
update shortly.
Began the process of pruning options from the 68000 core, hard-coding it
for MAME's needs. We've hacked on it sufficiently that it is no longer
generic, so this is a good opportunity to simplify the code so that it
can actually be followed.
means of setting the minimum useful scheduling quantum, and clamping
all quanta to that value.
Changed interleave/boost handling to use scheduling quanta instead
of timers.
Added machine parameter to cpu_boost_interleave.
Updated cpuexec to compute the "perfect" interleave value taking into
account the minimum number of cycles per instruction specified by the
CPU core. Updated Z80 core to indicate that the minimum cpi is 2. Fixed
incorrect minimum cpi in the 68020+ cores.
Simplified a bit of logic in cpuexec_timeslice.
Sent: Sunday, November 02, 2008 1:04 AM
To: Aaron Giles
Subject: Z80 CPU change
Hello Aaron,
For a long time there was undiscovered internal register (MEMPTR) inside Z80 CPU which was visible by using BIT n,(HL) instruction in undocumented bits of flag, in
last few months lot of things have been discovered by team of Russian programmers. There was a test on real machine which showed status of flags after each instruction.
I am sending you now patch for Z80 with MEMPTR implemented, there is also one more bug fixed (BIT 6,(XY+o) was not implemented good it used BIT 4,(XY+o) code).
As a proof that things are now valid, I am sending screens before patch on Z80 cpu core, and after with compare of results on real machine.
I am also sending you a TZX file (for ZX Spectrum) since tests are done inside that driver.
Please inform me about status. Hope this could fix some issues in drivers using Z80, since some games used this flags.
Regards,
Miodrag Milanovic
* Hooked up 6845 in a daisy chain way into existing "6845 emulation"
* Clocks from schematics
* Video size issues - 6845 code related, discussion started on list
AICA: fix missing instruments in DTPK driver games [R. Belmont, Deunan Knute, kingshriek]
Naomi: unmapped words in the AICA address range must read as zero [R. Belmont]
With these changes Toy Fighter's music is much better.
Sent: Saturday, November 01, 2008 4:14 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Toaplan2 save state fix
Hi mamedev,
I realized after sending my toaplan2 save state patch that I had
ignored the implications of memory_set_bankptr (grrr). This followup
patch fixes the most significant case of that, I'll fix up the
remaining ones later. Alternately, you can drop the patches for now
and I'll resubmit them later.
~aa
Sent: Saturday, November 01, 2008 11:29 AM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] State save support for toaplan2
Hi mamedev,
Attached is a small patch to add a toaplan2.h include file and save
state support for the driver. A number of variables changed from int
to specific sizes to support this, and I also fixed a harmless typo in
the mem_mask size.
~aa
Sent: Sunday, October 26, 2008 3:01 PM
To: submit@mamedev.org
Subject: expro02
Hi folk!
Another work in expro02 drive:
- Fixed dips in all galsnew sets and fantasia.
- Added dips location.
- A little drive clean up.
Bye Sonikos
adds/removes entries in header files, and fixes a few potential
multisession issues by explicitly adding initializers. asic65.c has
significant changes to accomodate using a struct instead of 16
variables, otherwise the changes in this patch are modest and obvious.
[Atari Ace]
There's an issue with the debugger handling of the 6502 instructions as
there's a mismatch between the core and what the debugger shows.
The changes are detailed in the spreadsheets that I've attached that
compares the core to the dasm.
Attachments:
m6502fix.zip contains the diff file
6502 debugger disassembly changes.zip contains an excel spreadsheet
(in both xls and xml formats) detailing the reasons/changes.
* bbusters.diff:
- Fixed service mode issues enabling extra RAM that was previously unmapped.
- Properly implemented all sound communications.
- Fixed ID 00387. (there are no sound issues, the bug in my opinion is no more valid)
* nmk16.diff
- Fixed ID 00224. (PCB behaviour verified by Corrado Tomaselli)
* renegade.diff
- Fixed ID 01679. (old code was an hack, cpu_getiloops is more acceptable)
* suprnova.diff
- Fixed ID 02042. (no other games are broken)
* twin16.diff
- Cleaned up a bit code to make it more readable.
- Reorganized CPUs order in all games. (main, sub, audio)
- Fixed ID 02268. (guesswork, a PCB is needed to understand how priorities work)
and removed an unnecessary hack from the driver.Probably one of Arbee's SCSP changes fixed it.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Virtual Mahjong 2 - My Fair Lady
(i.e. Do not credit me on this)
- Reworked inputs to allow 6 players through a selector.
- Hooked all lamps (even the ball simulator array).
- Added a internal layout and support for external artwork.
- Extended the hardware to support Buena Suerte '94.
- Cleaned up the driver.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Buena Suerte '94 [Grull Osgo, Roberto Fresca]
Hello, with this patch finally cvs2gd stops looping forever. However with
no 3d emulation nothing is shown on the screen.
Then i have implemented the naomi RTC and there are a few verbose messages
about transfers not implemented yet.
* improved prefetch timing calculation
* prefetch timing now also used by V20 and V33
* moved some static variables into cpu context
* nec_reset now explicitly clears context variables
* all cpus now share nec_execute
Would whoever checked this in double-check my change? I believe I got the intent of the code (which is not how it was written ;-) but I could be wrong.
--This line, and those belo
M disc_flt.c
* The whole startup cycle now works. No more timeouts and erratic behavior.
* lohtb2 will however not display the "Warning" screen due to a priority issue. With color/attribute of 0x80 in videoram at 0xd0000 and 0xd8000, videoram at 0xd80000 will be displayed. Some tilemap guru has to look into this.
Credit Jim (or however he wants his name listed ;-)
Also specifies the difference between the two Ghox sets (in toaplan2.c). One set is 8-way joystick controls and the parent is a spinner with forward/backward single axis control
* Fixed tilemaps paging / tilemap positioning;
* Fixed a protection issue in Mahjong Daireikai,not giving correct colors for the girls in-game;
* Fixed a rom-loading issue in Mahjong Daireikai;
* Fixed 'ZA' sound banking behaviour,this fixes at least the sound in kakumei2;
* Removed VIDEO_EOF and added a TIMER_DEVICE_CALLBACK function for MCU simulations;
* Added WIP code for the priority system;
* Added a NO_DUMP for the MCU for all the sets;
- emulates Braze Technologies addon board
- eeprom hooked up
- implemented bank switching
I am still unsure about whether this should be added or not.
Interestingly, D2K shows a "(C) 1981 Nintendo" copyright message.
Still, it is actively marketed.
Putting this up for discussion again.
- Added sound support to magicfly and 7mezzo.
- Hooked coin counters to magicfly and 7mezzo.
- Inverted the graphics banks to be straight with the hardware accesses.
- Updated the memory map description and technical notes.
- Added game notes and documented the test/settings/bookkeeping modes.
Ruleta RE-900 from Entretenimientos GEMINI.
Is a roulette game based on i8051 and TMS9928, that has a phisical roulette with leds simulating the ball.
Game is working properly with full sound support.
Need better inputs implementation, leds, external artwork for the roulette and technical notes (I'm taking care of them).
If someone want to give a try, turn the operator key to allow enter credits.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Ruleta RE-900 [Grull Osgo]
Sent: Sunday, October 19, 2008 9:01 AM
To: submit@mamedev.org
Subject: Sound Support for Cosmic Alien
Hello,
I own a cosmic alien PCB and so I thought it would be a good idea to add
sound support
to this game by changing the corresponding driver ("drivers\cosmic.c").
I also have recorded the different sound effects as wave - files.
I have attached two files to this mail. The file "cosmica.zip" contains
the samples
(so it can be simply copied to the "samples" folder) and
the other one "cosmica_diff.zip" contain the "diff" file taken against
the 0128 sources.
So you can check it and maybe you want to implement the changes in a
further release?
best regards
T.Bellm
Sent: Mon 10/20/2008 9:45 AM
To: submit@mamedev.org
Subject: fix for mt 2577
the wrong tags were used for maketrax when indexed inputs were converted to tagged ones (0.125u7): input 2 was 'dsw1' but 'in1' was used. probably a mistake I made. sorry.
regards
Fabio
Sent: Fri 10/17/2008 11:45 AM
To: submit@mamedev.org
Subject: 65c02 core bugfix
Hi,
This patch fixes a subtle bug in the 65c02 emulation where the result of
the BIT instruction differs on the 65c02 (from the 6502), when executed
in immediate mode.
Cheers,
Phill.
Sent: Sunday, October 12, 2008 1:15 PM
To: submit@mamedev.org
Subject: dakkochn gfx improve
Improve dakkochn gfx, the priority are ok but there are various offset so i marked also the game as "inperfect gfx".
Bye Sonikos
Game is now working
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Mirage Youjuu Mahjongden [Angelo Salese]
Created default EEPROM which is required to get it going.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Super Megatouch IV (9255-41-07 ROG, New Jersey version) [Mariusz Wojcieszek]
Game is now playable
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Double Dealer [Angelo Salese,David Haywood]
* Remaining games checked and adapted to changes in cpu core
* Cardline still broken. I need the exact and complete cpu name.
* Added more variants 803X, 80CXX, AT89C4051
* Fix segas18.c (segaic16.c) mcu maps.
* Fix sslam.c
* Fix limenko.c videopkr.c : Issue with core allocation of ram (duplicate savestate)
Yet another 8-bit Incredible Technologies board. Different in several
significant ways from previous models:
* YM2608B for audio, replacing YM3812+OKI6295
* TMS34070 for palettes instead of PC RAMDAC
* Different video memory layout
* improved serial port timing (f15se (micro3d.c) sound board now works)
* better infrastructure for adding more variants like DS5002
* Fixed port reading
* Rewrote Macros for better readibility
* Fixed and rewrote Interrupt handling
* Now returns INTERNAL_DIVIDER, adjusted cycle counts
* Remove unnecessary and duplicated code
* Remove unnecessary functions
* Rewrite to have sfr-registers stored in int_ram.
* Debugger may now watch sfr-registers as well.
* implemented interrupt callbacks (HOLD_LINE now supported)
* Runtime switch for processor type - remove ifdefs
* internal memory maps for internal rom versions (internal ram now displayed in debugger)
* more timer cleanups from manual
micro3d:
* serial port communication between main cpu and sound board works
* sound board now works
m72 - lohtb2:
* full emulation of protection device
* Samples are now piped through the mcu
* Added additional branch, move and bitfield ops.
* Plygonet now passes its memory test and uploads a new program.
[[Next step is to install an opbase handler and let the dsp56k run further into its new proggie.]]
Game is now playable
New games added or promoted from NOT_WORKING status
---------------------------------------------------
(Medal) Yumefuda [Bet] [Angelo Salese]
* Complete rewrite focusing on legibility and extensibility.
* 27/121 opcodes (mostly) implemented.
* Bugfix for reset status of interrupt priority bits.
* Bugfix for disassembly of register-to-register parallel data move.
[[These changes bring the driver up to the point where the plygonet hardware begins banking memory. The behavior is understood, so I should have the driver back to where it was before the rewrite soon. Then real progress can be made.]]
(also added a to-check note, 16-bit wide DMA is currently using 32-bit functions, is this correct?)
Removed Speedups from CPS3 / PsikyoSH, while they do still give a decent speed boost they're not really needed with the DRC and just clutter the code.
Sent: Saturday, October 11, 2008 12:01 PM
To: submit@mamedev.org
Subject: 6821 PIA changes
Hi,
Can this change be added to the 6821 pia code, it adds a function that
allows the client code to get the status of CA2, taking account of the
internal pull up resistor. This code only adds a function and does not
change any existing code so should not have any impact on existing
drivers.
This change is needed for a couple of the mess drivers.
Thanks.
Phill.
--
Phill Harvey-Smith, Programmer, Hardware hacker, and general eccentric !
Game is now playable.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Good [David Haywood,Angelo Salese]
comments mentioning duplicate dips configurations. Not fully understanding
how the FREE PLAY was implemented, I left that not to show a location.
This .DIFF is based on 0.127u7 sources.
Tafoid
tafoid@yahoo.com
- Added discrete sound support to Golden Poker hardware games based on schematics.
- Added discrete sound support to Potten's Poker hardware games based on PCB analysis.
- Added discrete circuitry diagrams for both hardware types.
- Adjusted the CPU adressing to 15 bits for pmpoker/goldenpkr hardware.
- Adjusted the CPU adressing to 14 bits for pottnpkr hardware.
- Rewrote all the ROM loads based on these changes.
- Defined MASTER Xtal & CPU clock.
- Fixed the visible area based on M6845 registers.
- Improved the lamps layouts to be more realistic.
- Added Good Luck (potten's poker hybrid running in goldnpkr hardware).
- Added Buena Suerte (spanish) x 2 sets.
- Added set Royale.
- Added Witch Card and spanish variants.
- Added Super Loco 93 (spanish) x 2 sets.
- Renamed set goldnpkc to pottnpkr (parent Jack Potten's Poker set).
- Renamed set jokerpkr to potnpkra, since is another Jack Potten's Poker set.
- Added other 2 clones of Jack Potten's Poker.
- Renamed/cleaned all sets based on code/hardware analysis.
- Added intensity bit to the color system.
- Implemented the blue killer bit for Witch Card hardware.
- Implemented the extended graphics addressing bit for Witch Card hardware.
- Added proper visible area to sloco93.
- Rewrote the graphics & color decode system based on schematics. No more patched codes.
- Changed the char gfx bank structure and rom load according to the new routines.
- Adjusted the amount of color codes and PROM region size accordingly.
- Updated all notes.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Good Luck! [Roberto Fresca]
Buena Suerte! (spanish) [Roberto Fresca]
Witch Card (english) [Roberto Fresca]
Super Loco 93 (spanish) [Roberto Fresca]
New clones added
----------------
Jack Potten's Poker (2 sets) [Roberto Fresca]
Witch Card (spanish)(2 sets) [Roberto Fresca]
Buena Suerte (spanish, set 2) [Roberto Fresca]
Super Loco 93 (spanish, set 2) [Roberto Fresca]
New games marked as GAME_NOT_WORKING
------------------------------------
Royale [Roberto Fresca]
added comment about other roms on this hardware. (anonymous)
-----------
(testing the water, if Arika aren't happy with comments mentioning them, then there isn't much chance of them ever being supported, seems smarter than just adding them outright)
Affected files:
mame\src\mame\drivers\neodrvr.c
mame\src\mame\includes\neogeo.h
mame\src\mame\machine\neoboot.c
mame\src\mame\machine\neoprot.c
Changes:
. Completed general cleanup
Sorting OEM / bootleg sets
Renaming roms on non OEM / bootleg sets to ONE naming sheme
Renamed functions
Cleaned up bootleg sets
Added some comments
Renamed sma in garou/garouo, added comment
Fixed several things in the jalmah.c driver:
*Fixed Mahjong Daireikai pseudo-random number generator;
*Fixed Otogizoushi Urashima Mahjong to make it playable;
*Fixed a start-up crashing bug in mjzoomin/urashima/daireika
MAMETesters Bugs Fixed
----------------------
- 01820: [Crash/Freeze] mjzoomin: Game stops at PCB test (Angelo Salese)
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Mahjong Daireikai [Angelo Salese]
Otogizoushi Urashima Mahjong [Angelo Salese]
Sent: Tue 10/7/2008 10:45 AM
To: submit@mamedev.org
Subject: snes special chips emulation
Hi,
the attached patch adds emulation for snes special chips DSP-2 & OBC-1. Changes:
- added sources snesdsp2.c & snesobc1.c (directly included in machine/snes.c as per Arbee's guidelines). credits mostly goes to byuu, which released to Public Domain his sources
- removed special chips detection from MAME (no nss / bootleg carts have special chips so far) and only left a variable has_addon_chip whose possible values are in includes/snes.h (it is initialized to HAS_NONE for MAME games)
- modified memory handlers to account for the new chips
Regards
Fabio
Sent: Sunday, October 05, 2008 1:46 PM
To: submit@mamedev.org
Subject: 2 small patches
Here are two small patches.
The first one remove a profiler_mark that has been forgotten in one of
the
last update in the tx1.c video driver.
The second is a small speed up in the neo-geo driver which gives a 0.5%
speed up on my machine.
- replace a loop with an equivalent memset
- remove a useless parameter I forgot to remove in a previous patch
Hope this help.
Best regards,
CJ
- Reworked the button-lamps matrix system.
- Documented both output ports.
- Connected coin in, key in and payout counters.
- Improved the lamps layout to be more realistic.
- Updated technical notes.
Sent: Sunday, October 05, 2008 3:46 AM
To: submit@mamedev.org
Subject: Delete previous submission! Space Duel: Add the P10/11 dip
switch
Delete previous submission! Functionally the same, just reordered
some source and added a comment. Thanks!
Space Duel: Add the P10/11 dip switch (only 4 switches instead of the
standard 8)
Let me know if you have any questions.
Franklin
> Sent: Saturday, October 04, 2008 10:16 PM
> To: submit@mamedev.org
> Cc: ANY
> Subject: Some stuff
>
> Diff aganist 127u6
>
> New stuff
>
> Mk3 p4.0 (revision 1.0 in test menu, but marked P4.0 on chip label)
> Decathlete V1.001
>
> revisited stuff
>
> Gpworld brake-gas issue should be fine, I cannot enter into the test
> menu to
> find out is gas is gas and brake is brake or swapped
>
> Thanks Andrea
Note that this is caused by leaving entries in the bitmap
with an index larger than the palette size. This is forbidden
and now can lead to a crash in debug builds.
Added preliminary LD-V1000 emulation. Not fully working yet, but mostly
there.
Cleaned up and normalized the three existing laserdisc emulations.
Removed obsolete code from the laserdisc core.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Sonic Blast Man 2 Special Turbo (SNES bootleg) [Andreas Naive, Tomasz Slanina]
- Added Baby Poker Game.
- Added sound support to Baby Poker Game.
- Reworked the color routines.
- Added Baby Dado Game.
- Added new color routines for Baby Games.
- Redumped the videocba color PROM.
- Added color switch. (It changes background color in some games).
- Added "hopper full" switch support (for diverter function).
- Added diverter function decoder.
- Added full functional mechanical counters decoding.
- Added 7 Segment decoder and 7 Digit Counter functions.
- Added button-lamps layout & mechanical counters simulation on layout.
Mechanical counters to layout: Coin-In, Coin-Out and Coin to Drop.
- Added NVRAM support to mechanical counters.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Baby Poker [Grull Osgo, Roberto Fresca]
Baby Dado [Grull Osgo, Roberto Fresca]
still not really convinced by this conditional dip stuff.. it stands no chance of working on games where the coinage mode is in eeprom... (but i have no better suggestions)
02483: gunlock, rayforcj: Title screen trouble
02482: bubblemj: Demonstration screen trouble
* Check for whether tile is opaque must honour extra planes.
- added rom decryption
- patched protection checks
- mapped extra inputs
Game is not playable due to heavy gfx glitches caused by bugs in SNES hw emulation.
[Andreas Naive, Tomasz Slanina]
* added missing button mappings
* corrected dip switch
This seems to be a prototype. The number of remaining ships displayed is not correct.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Astropal (Sidam?) [Couriersud]
Affected files:
mame\src\mame\drivers\neodrvr.c
mame\src\mame\includes\neogeo.h
mame\src\mame\machine\neocrypt.c
mame\src\mame\machine\neoboot.c
Changes:
. Begin of a general cleanup
Sorting OEM / Bootleg sets
Renaming roms on non OEM / Bootleg sets to ONE naming sheme
Renaming functions
Added some comments
Cleanup is not completed.
configuration builder to use these functions. Also changed the laserdisc
player devices to use them. Updated Z80 CTC/SIO code to assume that the
CPU provided for the clock is relative to the device that the CTC/SIO
belong to. Updated memory code to assume that regions and devices
referenced by the memory map are relative to the device the associated
CPU belongs to.
Readded UI_ON_SCREEN_DISPLAY to be changed again in the "Inputs" menu as per Aaron's request.
A clean build is required and cfg/default.cfg has to be deleted !
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Megatouch 5 (9255-60-07 RON, New Jersey version) [Brian Troha]
New clones added
----------------
Megatouch III (9255-20-07 ROG, New Jersey version) [Brian Troha]
Super Megatouch IV (9255-41-07 ROG, New Jersey version) [Brian Troha] (Not Working)
Sent: Mon 9/29/2008 9:45 AM
To: submit@mamedev.org
Subject: Small SNES changes
Hi,
enclosed please find a patch which changes a bit the way SNES
carts (NSS & bootlegs) are loaded at init time. Currently, data
are loaded once at start and then the read handlers perform various
mirroring tricks. With the attached patch, the cart is loaded at
init and mirrored as many times as it is necessary, while handlers
simply read from the plain offset. Also, blocks of data are mirrored
until they fill all the available banks. Implementing this behavior
both simplifies the handlers code and is more faithful to the hardware
(see mirroring note included in the DRIVER_INIT).
I also slightly changed some handlers to take into account the new
mirroring system. OTOH sram_handlers haven't been updated (they will
be eventually) because with carts as small as the ones in nss.c and
snesb.c, they basically have no overlapping with the new mirroring
approach... as soon as I come up with a satisfactory implementation
that works in MESS (which has to deal with much larger carts), I will
also submit the MAME side.
No regressions appear with the patch, as far as I could test.
Regards
Fabio
--
From: Fabio Priuli [mailto:doge.fabio@gmail.com]
Sent: Wednesday, October 01, 2008 12:01 AM
To: submit@mamedev.org
Subject: further snes changes
Hi,
enclosed please find a patch which rewrites memory handlers in
machine/snes.c to take into account the additional cart/memory layouts
(mode 22 & 25) which were available for the home console (almost no
impact on nss.c & snesb.c, which only use mode 20 & 21). rather than
only add a bunch of if(snes_cart.mode == XXXX), I preferred to slightly
rewrite the handlers. main changes on the MAME side are:
* merged regions 0x700000 up to 0x7dffff in snes_map (this allows to
make memory maps in nss.c and snesb.c identical: the zone previously
NOPed in nss.c is now handled by snes_r_bank5, because it was not
reserved for all cart types)
* split region 0x800000-0xbfffff from 0xc00000-0xffffff in snes_map.
This simplifies a bit handlers used by MAME and it will be necessary
when MESS supports special chips like SDD-1 (which dynamically changes
the part of cart loaded in the latter region)
* slightly enlarged SRAM regions (in this case, it only affects what
happens inside the handler, NOT snes_map) to support carts with 512kbits
of SRAM (e.g. Thoroughbred Breeder III for MESS). I'm still not 100%
satisfied with SRAM mirroring, but this is closer to the real thing
than the previous way to handle it
No regressions are present, neither in MAME nor in MESS, as far as I
could test (well, for MAME weren't expected, since most changes affected
mode 22 & 25).
Regards,
Fabio
Sent: Sunday, September 28, 2008 6:01 AM
To: submit@mamedev.org
Subject: System1 Dips Location
Hi folk!
I continuing the work on System1
- Added dips location in all game
- Moved in generic Cabinet dip for eliminate the redundancy
- Better implementation of generic input
Bye Sonikos
Sent: Friday, September 26, 2008 11:01 PM
To: submit@mamedev.org
Subject: fix for sbasketb
As pointed out by ShimaPong on mameworld forums, dips are
read in the wrong way in sbasketb.c. It seems that when
DipLocations were added, the tags were changed in the input
ports but not in the memory map.
The enclosed patch fixes this regression
Regards,
Fabio
Sent: Fri 9/26/2008 10:15 AM
To: submit@mamedev.org
Cc: Philip Bennett
Subject: fix for Cube Quest Line CPU emulation
I found a bug in the emulation of the Cube Quest Line CPU.
Proof of bug:
After looking at .diff,
Assume 'ci' is 1, and assume 'r' and 's' are both 0xFFF
(0xFFF equals -1, as these numbers are 12-bit signed).
The result should be mathematically equivalent to -1 - (-1)
which is 0.
~0xFFF is 0xF000, so you'd have 0xF000 + 0x0FFF + 1 which equals
0x10000 but since 'res' is 16-bits this is truncated to 0x0.
'C' then becomes 0 and 'V' becomes 1 (as I recall). The result of
0 is correct, but the flags are wrong; V should be 0 and C should
be 1.
Under my proposed fix, you'd have 0x000 + 0x0FFF + 1, which equals
0x1000, so the lower 12 bits are 0 (correct) and C is 1 and V is 0
(correct).
I discovered this bug while disassembling the line CPU's ROM.
means that multiple changes without any execution will be seen as
atomic. It also means that PULSE_LINE no longer works for signalling
IRQs.
Added checks in the debug build to catch people who try to use
PULSE_LINE for non-NMI and non-RESET input lines on CPUs that no
longer support direct interrupt generation. Over time expect this
list to increase.
machine/device handlers. Unfortunately, the implementation relies on
sentinel values to distinguish a port tag versus a pointer to function
code. However, since this is a very common situation, it will hopefully
be worth the slight grossness. New macros are defined in inptport.h:
DEVICE8_PORT(name) - use this to specify the name of a port to read
wherever a read8_device_func would normally be used
MACHINE8_PORT(name) - same as DEVICE8_PORT except it can be used
wherever a read8_machine_func would normally be used
IS_HANDLER_PORT(ptr) - accepts a read8_device_func or read8_machine_func
and determines if it is an actual function or a reference to a port;
intended for use by devices that accept DEVICE8_PORT-style functions
CALL_DEVICE8_READ(ptr,device,offset) - either calls through the given
read8_device_func, or calls input_port_read with the appropriate
tag, depending on the result of IS_HANDLER_PORT; intended for use
by devices that accept DEVICE8_PORT-style functions
CALL_MACHINE8_READ(ptr,machine,offset) - same as CALL_DEVICE8_READ
except for read8_machine_func
Note that in order for these to be useful, the consumer of the function
pointer must be enhanced to use the CALL_* macros above instead of directly
calling through the function. So far, only the 8255 PPI is set up to do
this, as part of the cleanup below. Also note that the sentinel value is
currently 4 consecutive 0 bytes; this may need to change in the future, in
either length or value, so it is important to stick to the macros above.
8255 PPI interface cleanup:
- added MDRV_PPI8255_ADD, MDRV_PPI8255_RECONFIG and
MDRV_PPI8255_REMOVE macros; updated all drivers to use them
- changed callbacks to device read/write handlers intead of
machine read/write handlers; updated all drivers accordingly
- normalized function and variable names to be lower_under
- removed a number of redundant interfaces from the galaxian/
scamble line of games
LD-V1000: added some (compile-time removed) information about the
ROM and memory map
* Hooked up 6845
* Hooked up lscnblk line
* Fixed Phraze Craze gfx rom ordering
* Clocks from schematics
* Ram palette moved to static var. This should not be in RAM.
* Added save state support
New Clones
----------
Capcom Sports Club (EURO 971017) [Corrado Tomaselli]
This is newer than any of the other sets, it probably fixes the euro specific crash in the special extended bonus round (at a guess)
expro02.c
- fixed DIPSW
- added graphics decode routine (probably it can be simpler)
video/kaneko16.c
- tilemap scroll position is different for expro02, so added new
function (is it better to fix current one?)
TODO
- in gfx data banking function (newly added), some strange gfx are shown.
Timing issue?
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Gals Panic (US, EXPRO-02 PCB)
Added new item to the interface which is the tag of a CPU
to take the base clock from. Are there any known cases
where the base clock does NOT come from the CPU directly?
Changed Z80 daisy chain interface to simply be a list of
devices in the chain. Interrupt callback functions are now
fetched via the standard device interface and referenced by
the daisy chain code.
Changed Z80 PIO interrupt callback to pass a device instead
of the machine. All device callbacks should provide the
device.
decoded VBI data. Added plumbing for allowing for overall brightness/
contrast/gamma corrections on laserdisc video. Fixed bug when combining
brightness values in the palette logic.
deprecat.h.
Changed render_texture_set_bitmap() to accept a palette object
instead of a palette index. The renderer remains optimized for the
system palette but will work if objects have their own palette as
well.
Changed renderer to permit palettes for RGB and YUY textures. If
specified, these palettes specify a 32-entry (RGB15) or 256-entry
(others) lookup for applying additional brightness/contrast/gamma
on a per-texture basis.
Removed rescale notification. It never really worked that well and
violated proper layering.
Renamed palette_set_brightness() to palette_set_pen_contrast() for
clarity.
Changed palette objects to support global brightness/contrast/gamma
in addition to per-group and per-entry controls.
- uses back-end decoding for CHDs directly to bitmaps
- changed min/max detection to only check 0/255
- fixed off-by-one bug in min/max computation
- separated white code detection from frame number detection
- track cadence with frame numbers as well as white codes
- use vbiparse.h constants where appropriate
- UI_ON_SCREEN_DISPLAY (there is now a "Slider Controls" menu)
- UI_ADD_CHEAT, UI_DELETE_CHEAT, UI_SAVE_CHEAT, UI_WATCH_VALUE, UI_EDIT_CHEAT, UI_RELOAD_CHEAT (these keys belonged to the old cheat engine)
A clean build is required and cfg/default.cfg has to be deleted !
- fix Mantis bug ID 02323 (this might not be the best way though).
- reworked 'geebee', 'navarone' and 'warpwarp' INPUT_PORTS definitions by using conditional Dip Switches.
- added 'geebeeb' INPUT_PORTS definition (this game has specific "Replay" settings).
palette.c to preserve the alpha when transforming palette values.
These changes should be transparent to almost all drivers and rendering
(ha-ha), but there may be an occasional instance where a driver relied
on the alpha being 0 in the system palette. This also means that the
palette_set_color() function preserves any alpha value that is set.
Changed Firefox to RGB32 to allow for mid-screen palette changes. Because
of the above change, the hacky alpha manipulation that was previously
required is no longer necessary; the alpha is set directly in the palette
entry.
(Guru, can you check that ms5pcb you have, the roms in MAME are now marked as NO DUMP)
Updated Neo-Geo game pcb infos
2020bba: Marked MVS and AES version
sonicwi2: Added correct sized v2
kof95 / kof95a:
. Renamed kof95 to kof95h
. Renamed p1 to correct chip label
. Added note
. Renamed kof95a to kof95
. Renamed p1
samsho3 / samsho3a:
. Renamed samsho3a to samsho3
. Renamed samsho3 to samsho3h
. Renamed p1 to correct chip label
. Marked AES version
kof98 / kof98n:
. Renamed m1 in kof98 to correct chip label
. Renamed m1 in kof98n to correct chip label
(kof98n should be latest revision, cart had very high SN 1xx.xxx)
kof97: Marked MVS version
samsho5 / samsho5h:
. Correct text layer size
. Marked samsho5h AES version
neogeo:
. Updated system set to what is found on NEO-MVH MV1FS
. Added note
ms5pcb:
. Hooked up bios dip
. Renamed bios to correct chip label
. Renamed p1 / p2 to correct chip label, marked NO_DUMP
. Added note
compared to other emulator (i.e. kawak), mame does not perform very well in
terms of speed of emulation against Neo Geo games.
Looking at profiling data for these neo geo games, we can see :
---------------------------------------------------------
% cumulative self self total
time seconds seconds calls s/call s/call name
18.40 18.80 18.80 971070 0.00 0.00 video_update_neogeo
10.42 29.45 10.65 4416 0.00 0.00 texture_set_data
10.06 39.73 10.28 1144463 0.00 0.00
sprite_line_timer_callback
6.24 46.10 6.37 187970965 0.00 0.00 astring_cmpc
3.77 49.95 3.85 35732143 0.00 0.00 memory_region
---------------------------------------------------------
I was wondering why functions like 'astring_cmpc' and 'memory_region' where
in the top 5 of the most time consuming functions.
The answer is found in the function 'draw_sprites' from
'mame/video/neogeo.c' where 'memory_region' is called for each sprites for
each VIDEO_UPDATE.
I patched mame in order to keep track of this 'memory_region'. This is done
in VIDEO_START via a global variable (region_zoomy) just like in some other
drivers.
Sent: Thursday, September 25, 2008 3:15 AM
To: submit@mamedev.org
Subject: using macros in UI message
This patch changes the message, that appears when no roms have been
found, to use the macros instead of hard-coded strings
Sent: Wed 9/24/2008 2:00 PM
To: submit@mamedev.org
Subject: Speed up fillbitmap
Hi,
there are many places in mame which make use of "fill_bitmap" or the
equivalent "fillbitmap"
An optimisation is done when the depth of the bitmap is 16 or 32 bpp and
when the UINT16 or UINT32 corresponding to the color is composed of same
bytes (i.e 0xffff for example). This is usefull because most of the calls
are for color 0 (black).
In all other cases, the bitmap is filled one pixel at a time using a loop
with a code like :
================
for (y = fill.min_y; y <= fill.max_y; y++)
{
UINT16 *destrow = BITMAP_ADDR16(dest, y, 0);
for (x = fill.min_x; x <= fill.max_x; x++)
destrow[x] = (UINT16)color;
}
================
However, each rows of the final bitmap will be the same. So I modified this
simple assigned to work as follow :
1) fill the first row one pixel at a time
2) fill all the other rows by copying the first one.
This makes us use memcpy instead of a hard coded loop for most of the
filling process.
Sent: Tue 9/23/2008 1:16 PM
To: submit@mamedev.org
Subject: More naomi ...
Hi.
This patch shows the contents of the framebuffer if the 3d accelerator is
not used so that now the atomiswave logo and messages are shown (if you
wait enough).
Removes a maple bug (no more strange messages in cvs2gd).
Improves documentation of the communication registers with the dimm board.
And if DEBUG_VERTICES is defined as 1 the vertices sent to the tile
accelerator are collected and then drawn connected by a segment to give a
wireframe-like view of the scene.
Bye,
Samuele Zannoli
Sent: Tuesday, September 23, 2008 4:46 AM
To: Aaron Giles
Subject: 8080 bug
To fix this bug : http://mametesters.org/mantis/view.php?id=2322
a part of my code should be removed.
It seams that this feature I have added is only available on KP580BM80A (Russian clone of this processor).
So until I make a new patch (that support this clone processor) please apply this to fix MAME drivers.
Thanks,
Miodrag
Sent: Mon 9/22/2008 3:15 PM
To: submit@mamedev.org
Subject: Better Input clean in system1
I've re-made the job better than last time (i hope), clean up the inputs in system1, next time i'll fix all dips location.
Bye Sonikos.
Sent: Sunday, September 21, 2008 10:45 AM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] More static qualifiers
Hi mamedev,
Another static function update from yours truly, almost entirely
affecting code added in the last few months to MAME. The fixes are
the usual lot, changing enum definitions so they aren't declared,
decorating dead code/declarations with #if...#endif, and of course,
adding static where appropriate. In addition, I fixed a bunch of
UNUSED_FUNCTON symbols to be spelled correctly (I didn't introduce
this).
~aa
Sent: Thursday, September 18, 2008 6:01 AM
To: submit@mamedev.org
Subject: fix for MT 2252
1 line fix (silly mistake that I was sure I had fixed BEFORE sending the patch) :(
Regards,
Fabio
---
From: Fabio Priuli [mailto:doge.fabio@gmail.com]
Sent: Friday, September 19, 2008 1:15 AM
To: submit@mamedev.org
Subject: Fix for MT 2258
Regressed in 126u3 due to a wrong tag. Fixed.
Fabio
---
enclosed please find a patch which makes non-static two pointers to i/o handlers and includes them in megadriv.h. This makes possible for external drivers (in particular MESS genesis emulation) to define elsewhere their own input handlers and to feed them to the megadriv.c routines.
---
From: Fabio Priuli [mailto:doge.fabio@gmail.com]
Sent: Mon 9/22/2008 2:15 PM
To: submit@mamedev.org
Subject: fix for MT 2254
Hi,
enclosed please find a patch which fixes bug 2254. Tags were switched. Thanks to Haze for noticing the root of the problem.
Regards,
Fabio
fine and basic searching/playback/skipping is functional. Still a bit
glitchy.
Firefox improvements:
- removed need for deprecat.h
- memory map is complete from schematics
- gutted laserdisc hacks in favor of actual laserdisc implementation
- fixed all CPU and sound clocks
Removed old laserdsc.c implementation.
Added generic timer devices, which simply allocate a timer but don't
prime it. This is the preferred method for allocating timers, and may
eventually be the only mechanism for doing so in the future.
System 23:
* Added Rapid River readme
* Adjusted Gorgon h/w MIPS clock to 133 MHz based on readme
* Renamed GP500 to 500GP, which is it's correct name
Game Cristal:
* Use correct BIOS [f205v]
Uploaded to roms/current/g.
Includes mamedriv.c I missed with the System 23 checkin.
New games marked as GAME_NOT_WORKING
------------------------------------
GameCristal (version 2.613) [ANY, f205v]
* Fixed text layer to show (colors are wrong)
* Added very preliminary support for Gorgon h/w
* Added Rapid River and an alternate Time Crisis 2
New games marked as GAME_NOT_WORKING
------------------------------------
Rapid River (RD3 Ver. C) [Guru, R. Belmont]
Time Crisis 2 (TSS2 Ver. B) [Guru]
* Removes arbitrary opcode groupings in favor of flat decode model.
* Fixes a number of small issues with unknown opcodes.
* Added the final ALU parallel move ops.
I've ported Andreas' code over, it doesn't work for ms5pcb, there is probably an additional lineswap or something, I've asked him to look at it. Some of the bootlegs are still using decrypted roms but that should be correct IMO.
Sent: Thursday, September 18, 2008 6:01 AM
To: submit@mamedev.org
Subject: fix for MT 2252
1 line fix (silly mistake that I was sure I had fixed BEFORE sending the patch) :(
Regards,
Fabio
Sent: Wednesday, September 17, 2008 10:31 PM
To: submit@mamedev.org
Subject: Shadow Force clocks
Verified cpu clocks and corrected/verified OKI M6295 frequencies and pin
7 status. Updated Xtal.h file
Sent: Sat 9/13/2008 5:15 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Make NBA Jam TE a set
Hi mamedev,
This patch treats NBA Jam TE versions as a set, rather than treating
them as clones of NBA Jam. The treatment of sets varies throughout
MAME, this choice is emphasizing the fact that the games were distinct
from NBA Jam, with different marquees et cetera.
~aa
After adding these, I downloaded all manuals for the driver (couldn't find a
Boulder Dash manual) and I validated the DIPs with the manual and ensured that
the service mode (when available) matched up as well. I also added DIP
LOCATIONS for all sets in the driver. There were also a couple DIP items set
up in the source which did not show in the manuals I obtained - so I noted
these facts in the driver.
This .DIFF is based on 0.127u3 sources and resolves MAMETesters Bug #01897.
Tafoid
tafoid@yahoo.com
due to bad roms had a fully working service mode. I also noticed the DIP
locations were well documented on-screen and differed some from the ones in
source. I took the time to read up on how to assign DIPs correctly - but I was
frustrated initially thinking I didn't understand it. I spoke to ETABETA about
this and it seems I picked an uncommon game/driver which doesn't have normal
mapping locations (for whatever reason) and that I'd need to find out what each
value is actually doing. As a result and some work and some more help - I was
able to understand how to do this and reworked the DIPs to what is output in the
service mode for all games (except for Revenger) which did not work enough at all.
While I was there, I added DIP LOCATIONS for all sets. I would assume this
eventually benefit from a PORT_CUSTOM implementation.
This .DIFF is based on 0.127u3 sources.
Tafoid
tafoid@yahoo.com
Sent: Monday, September 15, 2008 5:31 AM
To: submit@mamedev.org
Subject: Patch for new dumps
Hi,
I have attached a patch which adds support for the following;
* The "Three Wonders (Hack?)" dump from the EMMA dumping team (I'm not
100% sure of the CPS B-ID this should use)
* The "Marvel vs. Capcom (Euro 980123)" dump by bonky_0013 (this becomes
the parent set).
Regards,
Barry Harris
installing a handler in the SOUND_START function.
02249: All Sets in zn.c: Game Hangs
02248: All sets in m58.c: No sound in game
02241: kncljoe, kncljoea: Missing AY-3-8910A sound effects.
02240: All Sets in namcos12.c: Game Freeze
02239: stunrun: No OKI6295 sound.
metadata with pre-decoded frame information. Modified chdman to
automatically produce this for CHDs that are of the appropriate
parameters. To fix up existing CHDs, use chdman -fixavdata on the
CHD.
Modified the laserdisc core to leverage the pre-decoded frame
metadata, which is now required. This improves seek times when
searching and allows the player-specific emulation access to the
VBI data as soon as it would really be available. Changed update
callback timing to fire just before the first line of VBI data
would be read; at that point, the frame selection is assumed to
be committed.
Converted PR-8210 emulation over to using the actual MCU from the
laserdisc player. This MCU controls low-level functions such as
slider position and laser on/off, and receives decoded vertical
blanking data in order to make decisions. Removed old HLE behavior.
Note that the overlay text is displayed via the UI; this is
temporary and will be fixed shortly.
Converted Simutrek-hacked laserdisc emulation to using the actual
MCU from the game, which in turn hands off commands to the PR-8210
MCU. This is still not 100% but is pretty close at this point and
achieves the correct behaviors in most cases.
Fixed Cube Quest overlay scaling to cover the whole screen.
Changed laserdisc video parameters to position the screen area at
the bottom rather than the top, since this corresponds more closely
to standard line numbering.
Extended the vbiparse code to support pack/unpack, and to more
fully document all the meanings of the VBI codes.
Updated ldplayer to support slow/fast forward movement, frame/chapter
display, and separate controls for scanning/stepping.
Added new built-in variable "frame" to the debugger.
Fixed device-based ROM loading to support loading ROMs from the
game's ZIP as well.
Full controls, plus complete DIP switches and port locations. Promoted to working.
This set has adjustable prize.
New clones added
----------------
Hot Mind (adjustable prize) [David Haywood, Roberto Fresca]
- Added new clone: Pool 10 (italian, set 4).
- Improved lamps layout for all games.
- Added Pool 10 pinout and DIP switches info.
- Updated technical notes.
New clones added
----------------
Pool 10 (italian, set 4) [Roberto Fresca]
True world set with World, USA & Canada, Korea, Hong Kong, or Taiwan
Minor clean up of port include dipswitch defs
New clones added
----------------
Tengai (World) [Jet Black / Tormod]
Subject: Several patchlets
ledutil.diff
- checking if memory is allocated before using it is good, freeing what
has
been allocated in the error path is better
and added an empty BIOS driver for it.
Here is a patch file with the following changes:
* Added new Atari System 1 Motherboard BIOS dump from a LSI motherboard
* Added a new ROM dump from a Marble Madness LSI Cartridge
* Changed the hardcoded MHz values in the Cave driver to the XTAL
equivalents
* Updated the Cave driver for the game Guwange with gals that need to be
dumped
* Updated the Jail Break driver with the dip locations
* Corrected the Jail Break driver sound chip from a SN76496 to a SN76489
* Corrected the Jail Break rom names
* Redumped the Jail Break VLM rom dump
* Corrected the Super Basketball Revision H rom dump
* Updated the Super Basketball driver with the dip locations
* Corrected the Super Basketball VLM XTAL
* Corrected the Super Basketball parent/child relationships by making
the
Revision H the parent
* Turned on save state support for the Super Basketball driver
* Updated the Sega System 1 driver with more board information on the
Choplifter bootleg and updated the placeholders for the pals that need
to be
dumped
* Updated the WWF Wrestlefest driver rom names
* Added save state support to the WWF Wrestlefest driver
Subject: mametesters bug #614
Please find attached fix for bug 614
acceleration pedal now on up/down key.
It makes sense that the "down" key means push pedal down and "up"
means lift pedal up, however I am unsure that this is what the player
may expect.
http://mametesters.org/mantis/view.php?id=614
Best regards
Mike
Subject: [patch] Even more reset/multisession cleanup
Hi mamedev,
These two patches try to reduce the amount of variable in .data, which
usually point to multisession/reset bugs or missing const qualifiers.
The first patch just adds const to a number of items, moving them from
.data to .rdata. The second patch sets other items to zero (moving
them to .bss), adding reset/init code where appropriate.
~aa
Found few things not right in 8080/8085 implementation.
1. ANA/ANI instruction, HF flag was not set right because error in calculation of it (missing brackets)
2. 8080 have NF flag always set (it is not used flag but bit is always set)
3. On unused ports/not connected memory values from status word were readed not 00 or FF, that is why I add it as a new internal register, it can also be buffered by some external hardware, so this could help other implementations too.
Regards,
Miodrag Milanovic
the driver's memory maps.
Reverted recent changes to MCS-48 core that were very hacky and which crashed
many games. You can now properly override the internal memory map and do
your own banking.
Also fixed 02204: masao: Memory bank error.
- Simulated the MCU communication/protection.
The game seems to work properly, but is hard to win.
I conserved the game flags till we have the MCU decapped,
and emulated properly.
- Added full sound support.
- Added lamps support + layout.
- Fixed memory maps.
- Documented Super Derby outputs.
- Added lamps support + layout to Super Derby.
- Fixed the phisical RAM size to all games.
- Fixed the wrong NVRAM size to spacewin (16Kb instead of 16KB).
- Added proper NVRAM to sderby and pmroulet.
- Added the missing 3rd input to pmroulet (needed for 3-button mode).
- Cleaned up the driver.
for this new support to work.
Clickable input support. Mostly by Nathan. A few changes from the
proposal:
* as far as the layout is concerned, states are 0 (off) or 1 (on) and
aren't impacted by the port's ACTIVE_HIGH or ACTIVE_LOW
* instead of checking each individual field for a hit, we look to see
what is hit once per frame and then just check against that; this
is faster, but does limit us to a single hit item
* added function input_field_by_tag_and_mask() to look up a particular
input_field_config by tag and mask; this makes it possible to easily
get the port default value or other information as necessary
is either DEVICE_START_OK or DEVICE_START_MISSING_DEPENDENCY. The latter
should be returned by a device if there is another device it depends on
which hasn't been started yet. Added new flag in the device interface to
indicate whether a device has been started.
Changed laserdisc interface to explicitly specify the screen and sound
devices it should route to. Drivers no longer have to manually call
laserdisc_vsync(). Instead, the laserdisc code connects up to the routed
screen device and works based on that screen's VBLANK timing. Removed
all existing calls to laserdisc_vsync().
Changed laserdisc behavior so that it completes the previous video read
and initiates the next read at the end of VBLANK instead of the beginning.
This gives player logic time during VBLANK to alter the slider position
prior to fetching the next frame.
Added new laserdisc callback for vsync begin and changed the update
callback to be called at the end of VBLANK. Also added functions to set
the slider speed, advance the slider, and directly control the video/
audio squelch. In addition, there is a new status function to get the
slider position in general terms.
Added parameter to the VBLANK callbacks supported in emu/video.c. Updated
all callers to provide a callback value.
Fixed bug that would cause watchpoints to trigger if you had a memory
window open to the watchpoint address.
Further updates to the PR-8210 ROM simulation. Still not quite there but
the system is much better understood now. Added layout to the PR-8210
which displays the state of the front-panel LEDs.
- Some corrections to the memory map.
- Added proper working RAM.
- Added Dallas DS1220Y NVRAM.
- Added output port.
- Added lamps layout.
- Added complete inputs.
- Changed description to "Scacco Matto / Space Win" since the default game is Scacco Matto.
You must enter the service mode and change graphics in order to switch the game.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Scacco Matto / Space Win [David Haywood, Roberto Fresca]
now have their tags auto-prefixed with the device's tag. This allows for
multiple instances to be present. For example, the PR-8210 laserdisc player
has a CPU with a tag of "pr8210". When it is included as a device by a
driver, the driver may tag the device "laserdisc". The resulting final
CPU tag name will be "laserdisc:pr8210". Also updated the debugger
expression engine to support names with embedded colons.
Added warnings to ensure that tags used for CPUs, sound chips, regions, and
devices follow some basic rules: they should be less than 12 characters long,
be all lower-case, and only contain letters, numbers, underscores, or dots
(no spaces). This is to ensure that they can be used properly in debugger
expressions and don't get too long or unwieldy to type (even 12 chars is a
bit long).
* Because twinadv (snowbros.c) had a crash introduced in 127u1, I wasn't able to test the results of the automated IO_MAP merge operation. It's a simple map though, so I don't expect any difficulties. I apologize for not having the time to fix the bug myself (mantis : 02184).
also the default state, obviating the need for a default value. Removed
the "default" attribute as a result. Switching from "Off" to another
state first executes the "on" script followed by the "change" script.
Switching to "Off" from another state executes the "off" script. While
not off, the "run" script is executed each frame.
device to provide a set of ROM regions to be loaded along with the game
ROMs. It is expected that most regions defined for devices will use the
ROMREGION_LOADBYNAME flag to enable the ROMs to live in a central location.
Added new device interface selector: DEVINFO_PTR_MACHINE_CONFIG. This allows
a device to specify a partial machine driver which is appended to the end of
the machine driver for any game using that device. The intention for this is
to allow devices which have their own BIOS logic to specify CPUs and other
characteristics common to all systems using the device.
Added new ROMREGION flag: ROMREGION_LOADBYNAME, which means that if the ROMs
in that region are not found in the usual driver files, then the name of the
region will be used as a driver filename for loading.
Extended the ldcore interface structure to allow each player type to provide
its own ROM region and partial machine driver.
Moved preliminary PR-8210 emulation code from ldplayer.c to ldpr8210.c. It
is currently disabled behind the EMULATE_PR8210_ROM compile time flag.
- Better structure and organization.
- Added Super Gran Safari.
- Added improved lamps layout to Super Gran Safari and Magic's 10.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Super Gran Safari [Roberto Fresca]
removed snkwave since it doesn't seem to be used and might not be present on the pcb at all
general driver cleanup, bringing it in line with snk.c but not merging it since somthing doesn't quite fit
New clones added
----------------
The Great Ragtime Show (Japan v1.3, 92.11.26) [Stefan Lindberg]
Renamed the roms for the Japanese v1.5 from kh_0x-1 to kh_0x-2 like the other v1.5 sets. This new earlier version is the "true" kh_0x-1
Slight update to info... the PAL "VF-00" wasn't mentioned. PCB picture is at http://arcade.ym2149.com/
This rom set is not working. Bad dump??? Slightly different encryption??? Emulation issue???
Subject: Update to MC146818 RTC
Hi,
Here's a small patch to the MC146818 code, which gives a basic
implementation of the "update ended" interrupt flag.
The code is based on the behaviour of the Aleste 520EX (Russian Amstrad
CPC clone) BIOS, which periodically (about 7 or 8 times a second) checks
the flag to see if the date and time display on the BIOS setup screen
needs to be updated. Without the flag implemented, the date and time
are static on the setup screen, or if the time hasn't been initialised
(blank NVRAM) it is blank.
The BIOS function that does this basically checks bit 4 of register
0x0c, and if 0, ends there, otherwise it will read register 0x0b, sets
bit 7 of the result and writes it back to register 0x0b (presumably,
this resets the interrupt flags). Then it continues on to the display
refresh function.
(Disassembly attached)
Subject: a few patches
Hi,
enclosed please find a few patches that finally conclude my
input_port cleanups. I will still probably change some bit
here and there, but there will be no more massive changes
which could collide with current developments.
Notice that, after applying these patches, indexed input reads
remain only present in CPU interfaces (e.g. all the yamaha
interfaces when the sound cpu is used to read inputs) and no
more 16bit/32bit indexed read are present at all in MAME or
MESS source. Therefore, you may consider the removal of
input_port_N_word_r & input_port_N_dword_r, if you think you
don't need them anymore.
More in detail:
* patch01.diff & patch02.diff: conclude the cleanup for
drivers W -> Z
* primrage.diff: changes the start buttons with input buttons
in primrage, as per the test mode (no start button is reported)
and the control panel (see
http://www.mameworld.info/ubbthreads/showthreaded.php?Cat=&Number=161107 )
* drivedge.diff: makes drivedge ports fully 32bit and removes
the protection bit (which seems not to be used in this game, or
at least not in the port where it was tested since at least MAME
0.100)
* duplicate.diff: introduces a PORT_CUSTOM which returns a tagged
input (like a input_port_read). this could be useful for those
games which require to read the same 8bit (resp. 16bit) input in
both the upper and lower half of a 16bit (resp. 32bit) port. you
can see its use for this purpose in the modified drivers (fuukifg3,
dreamwld, cojag etc.)
Regards,
Fabio Priuli
fixed palette decoding of early SNK games (from marvins to athena + fitegolf). The least significan bits were assigned incorrectly.
merged marvins.c into snk.c, with all resulting fixes (removed hacks, correct shadows, scroll offsets etc)
This contains three different patches:
20080829.patch
Introducing the running_machine* parameter in a few more places. Next
step would be to make the execute_* function aware of it, if that's
OK. Also used the machine parameter in memory.c were it's available.
20080829_1.patch
The already discussed and probably being rejected removal of
dreprecat.h from debugger.h. I think this is a low-risk patch (we had
worse cleanups) and it lowers the risk of new code using deprecated
function beign introduced in MAME/MESS, because there is no invisible
inclusion of deprecat.h anymore (I think one driver - kofball.c - got
it with deprecated code).
20080829_2.patch
The last Machine -> machine conversion I had sitting in my local
tree. I know the proper way is to turn them into devices, but I still
haven't looked into that.
Each player now gets its own source file, along with new hooks
which enable more precise control over the behavior. Updated the
PR-8210 and LD-V1000 implementations to the new spec. Other
players will come online shortly.
Changed scan behavior so that it requires a constant stream of
signals to continue scanning. Updated ldplayer accordingly.
- Added irqs ack
- Implemented raster irq
- Fixed coin2 and service input not working during the game
- Added watchdog
- Fixed visible area
- Added video enable and irqs enable flags
renamed ikaria to ikarinc (for Ikari No Continues)
ikari is the JAMMA board, with conitnues
ikaria is the non-JAMMA board, with continues
ikarinc is the non-JAMMA board, without continues
New clones added
----------------
Ikari Warriors (US) [Nicola Salmoria]
Since I touch up a couple of things and test each driver after the automated merge, it still takes a few minutes for each file. More IO_MAP merges will trickle in over the next few days.
It's likely not worth writing every driver in the whatsnew.txt, since there will be ~100.