* Fixes 00251: spdcoin: Sound isn't perfect. There are many static pops to be heard, and volume is very low.
* superbon: Change name to Agent Super Bond and Manufacturer to "Signatron USA"
* superbon: Change year to 1985 following information on arcadeflyers.com
* added detection of MMU enablement in 403GCX case
* fixed bug in protection bounds violation detection for 4XX to get ppd
to the "ppc4xx_spu_rx_data unimplemented" message
* fixed conflicting layout (not super happy with the technique...)
x64 back-end:
* added a "hop" around the prolog of the HANDLE opcode to allow fall-through
x86 back-end:
* redesigned stack management to keep the stack at the same 16-byte alignment
PPC DRC:
* fixed parameter ordering for masked reads/writes
---------------------------------------------------
SWAT Police [Brian Troha]
New clones added
----------------
Head Panic (ver. 0117, 17/01/2000) [Brian Troha]
SWAT Police is marked as imperfect graphics. I don't think the roms are bad... The driver may need to updated to support the foreground or the foreground isn't correctly mapped
I made the new Head Panic set the parent even though it's older. Beacuse it's by ESD only and is all English.
Added notes about other ESD games and updates some general info
* Added VBLANK IRQ clear
* Added ATAPI IRQ clear
* Tried to add UART IRQ clear but it doesn't yet work
* Most of the games start to show something again with these changes
* Added fast RAM region
PPC DRC:
* Fixed TLB filling for 4XX protection ranges
PC16552d:
* Tried to wire up assert/clear signals for this chip based on guesswork
(anyone want to implement it properly? :)
* reduced address bus width of 4xx series to 31 bits per the
documentation
PPC DRC:
* fixed bug that would jump to incorrect PC after filling the
TLB during a mismatch event
* added explicit address truncation to 31 bits for 4xx series
* added new PPCDRC_ACCURATE_SINGLES option, which removes the
excessive (and very likely unecessary) extra rounding when
performing the "fast" single-precision floating point ops
Konami drivers:
* designated fast RAM accesses for work RAM
* removed unnecessary mirroring
Model 3:
* identified and fixed VBLANK bit in real3d status which was
causing the system to hang at startup
* designated fast RAM accesses for work RAM
53C810:
* changed read/write handles to proper READ8/WRITE8_HANDLER
callbacks so they can eventually be used directly
* changed from tracking "live" registers to tracking "necessary" registers
* genericized register tracking to be more flexible
* added previous instruction pointer to opcode descriptions
PowerPC frontend/DRC:
* cleaned up register tracking implementation
* fixed numerous errors and shortcomings in the tracking
* added support for removing unnecessary XER CA and CR0 computations
* updated UML logging to output new frontend statistics
MIPS3 frontend/DRC:
* tweaked register tracking to match new DRC frontend system
* updated UML logging to output new frontend statistics
Added dumper notes, hardware details and hooked the sound devices.
Moved Euro Jolly X5 to this new driver, and add support for Grand Prix.
New games marked as GAME_NOT_WORKING
------------------------------------
Grand Prix [Roberto Fresca]
- Cleaned up the driver following the MAME Coding Conventions.
- Added support to Game 18.7 (Amusement Poker).
- Updated technical notes.
New games marked as GAME_NOT_WORKING
------------------------------------
Cal Omega - Game 18.7 (Amusement Poker) [Roberto Fresca]
* fixed DIVS/DIVU opcode so they properly compute SZ flags when requested;
fixes camera wackiness in nbapbp
PPC DRC:
* added support for 4xx protection registers via the MMU
* added TLBH, TLBU, and DEC to the list of registers in the debugger
* turned off "end of transfer" DMA signals in favor of "transfer count 0"
signals; fixes memory-to-memory DMA in fiveside
Added another Xtal and a new machine driver to support Euro Jolly X5 hardware.
This one is based on a Mitsubishi (Renesas) M16/62A 16bit microcomputer.
(256 KB of internal flash ROM + 20 KB of RAM).
New games marked as GAME_NOT_WORKING
------------------------------------
Euro Jolly X5 [Roberto Fresca]
fixed big sprite palette in top monitor
01190: punchout, spnchout: The colors of the title logo and letters on the top and bottom should be different than each other.
(sets uploaded to roms/current)
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Super Rider (Italy) [Luca Elia]
New games marked as GAME_NOT_WORKING
------------------------------------
Shark Party (Italy) [Luca Elia]
Victor 5 [Luca Elia]
Victor 21 [Luca Elia]
Verified on the schematics and on the pcb that the high score table text cannot change color.
Removed the IMPERFECT_GRAPHICS flag
Fixed music with a kludge (overclock sound CPU)
Added dip switch locations and sorted input ports
01693: jackal, jackalj, topgunbl, topgunr: After you get in the jeep the music stops.
Added two alternative Xtals and a new machine driver to support the Mystery Number hardware.
New games marked as GAME_NOT_WORKING
------------------------------------
Mystery Number [Roberto Fresca]
----------------
Tank Force (US, 4 Player)
marked as not working. Unmapped controls, comments are in driver.
The currently scanned manual at http://www.crazykong.com/manuals/TankForce.man.pdf is for the 4 player version and shows the pinout. Test mode currently shows all player controls as RED (IE active).
* Converted sysreg_r/w to 8-bit handlers
* Added hack to make network IRQs work; brings some games back to life
UML:
* Fixed STORE opcode description to allow immediate source operands
x86/x64 back-ends:
* Added flag support to SEXT, ROLAND, ROLINS, LZCNT opcodes
PPC DRC:
* Rewrote lswi/stswi as subroutines
* Made accesses to tempdata explicitly dword or qword
* Fixed SRR0 when generating a syscall
* Removed no longer necessary TESTs on extsb/w, rlwinm, rlwnm, rlwimi, cntlzw
* Fixed bug where the SO flag was not being computed for compares
* Fixed flag computations for mulhw/mulhwu/mullw
* Fixed subtlety of shifts between 32 and 63 in srw/sraw
* Fixed mffs/mtfsf to use FP registers
* Fixed mtfsfi to use the immediate value properly
* Now marking terminal count bit in DMA status register
* Added simple symbol table to the UML for improved disassembly
* Changed optional disassembler cache parameter to a drcuml object
PPC DRC:
* Added symbols for most common variables
* Fixed bug in handling XER carry flag for subo. forms
* Simplified flag insertion logic for opcodeo. forms
* Added logic to simplify opcodes as much as possible at the UML layer.
* Removed similar logic in the x86 and x64 back-ends.
* Added stricter parameter validation for registers and mapvars
* Removed explicit flag requests from the shorthand opcodes
* Added optimization function to drcuml which is called at block end
* Added logic to compute the necessary flags based on upcoming opcodes
and only select those flags which are required
* Updated the PPC and MIPS3 DRCs to no longer explicitly specify flags
* Wrote new disassembler based on enhanced opcode info structure.
* Moved disassembler into drcuml.c and removed old code.
* Extended disassembler buffer sizes to at least 256 bytes.
* Added more extensive per-opcode information in preparation for UML
optimization step.
* Made validation more thorough using the extended information.
* Disabled back-end validation for now until it can be revisited
using the new tables.
* Changed GETFLGS encoding so that the mask is in parameter 2 instead
of the flags field.
----------------------
- 01845: [Core] all games: cheats are broken
- 01846: [Misc.] -CHEAT trigger causes MAME crash with PSX-type CPU drivers
Source Changes
--------------
Updated cheat system
- Locked search region when malloc fails to allocate gigantic memory
instead of fatal error. Also locked zero malloc error in case of
search speed = all memory in 32-bit CPU. And added search region
range checker to lock a search region with a big risk
- Fixed a bug that old code is always converted to specified
separator in enable/disable menu
- Refined new cheat format.
* Rewritten cheat format again. newest format is
":gamename::type::address::data::extend_data:(description:comment)"
Expanded type field now requires 10 bytes (not 8 bytes) and
it divides internal cpu (2 bytes) and type (8 bytes) parameters
* Removed VWrite, VRWrite. The flag of Value Selection is merged
into expanded type field now.
* Added CBit (Condition Bit). This checks bit in read data then
set or clear bit in case of true.
* Rearranged cheat code viwer based on newest cheat format
- Fixed unworking Load Old Format option. If you want to load old or
older format code, set it (default is OFF)
- Renamed functions/structures based on coding guidlines
All structures and included parameters are completed
- Merged resize_*_no_dispose() into resize_*()
- Removed the hack of search region for SH-2 CPU because required
region is now set as expected without this hack
Sent: Mon 6/2/2008 2:00 PM
To: submit@mamedev.org
Subject: Fixed input in wpksocv2
Fixed some dips and added correct inputs for wpksocv2, despite still missing the correct input for begin the left right movement the game is almost playable.
Bye Sonikos.
Subject: [patch] memory_region madness
The memory_region and memory_region_length functions are probably the
two most common functions in MAME that don't take a machine parameter
but probably should given the direction MAME has been going in
removing global variable references. Attached are massive patches to
accomplish this. I wish they could be smaller, but sadly, this is
butchery, not brain surgery.
The first patch makes some simplifications to help the second patch
along. It is a general improvement as well, and hopefully can be
applied even if the second patch is rejected. Specifically:
1. Introduced/updated some include files for files that export
functions whose apis will need to be changed (cps1.h, decocrpt.h,
ms32.h, pgm.h, fd1089.h, konami1.h). In the case of konami.c, I
renamed the file konami1.c and changed the api and callers to only
require one function export.
2. Pulled memory_region*() calls out of for loops and folded the
occasional duplicated call. The compiler can't likely infer that the
results are constant, so this should be a minor performance win as
well.
- rewrote PowerPC implementation as a dynamic recompiler on top
of the universal recompiler engine
- wrote a front-end to analyze PowerPC code paths and register usage
- wrote a common shared module with C implementations of tricky
CPU behaviors
- added separate CPU types for the variants supported, instead of
relying on a hidden model enum
- rewrote the serial port emulation for the 4xx series to be more
accurate and not rely on separate DMA handlers
- rewrote the MMU handling to implement a software TLB that faults
in pages and handles changed bits appropriately
- implemented emulation of the PowerPC 603's software TLB, which
allows the model 3 games to run without a hack to disable the MMU
Updated the PowerPC disassembler to share constants with the rest of
the core, and to more aggressively use simplified mnemonics, especially
for branches. [Aaron Giles]
Universal recompiler:
- fixed frontend to handle opcode widths different from bus width
- added several new opcodes:
* (D)GETFLGS - copies the UML flags to a destination operand
* FDRNDS - rounds a double precision value to single precision
- renamed several opcodes:
* SETC -> CARRY
* XTRACT -> ROLAND
* INSERT -> ROLINS
- consolidated the following opcodes:
* LOAD?U -> LOAD
* LOAD?S -> LOADS
* STORE? -> STORE
* READ?U -> READ
* READ?M -> READM
* WRITE? -> WRITE
* WRITM? -> WRITEM
* SEXT? -> SEXT
* FTOI?? -> FTOINT
* FFRI? -> FFRINT
* FFRF? -> FFRFLT
- removed some opcodes:
* FLAGS - can be done with GETFLGS/LOAD4/ROLINS
* ZEXT - can be achieved with AND
* READ?S - can be achieved with READ/SEXT
- updated C, x86, and x64 back-ends to support these opcode changes
- updated disassembler to support these opcode changes
MIPS3 dynamic recompiler:
- updated to use new/changed opcode forms
- changed context switch so that it only swaps a single pointer
Konami Hornet changes: [Aaron Giles]
- updated to new PowerPC configurations
- updated some memory handlers to be native 8-bit handlers
- cleaned up JVS implementation to work with new serial code
- added fast RAM for the work RAM to give a small speed boost
Konami GTI Club changes: [Aaron Giles]
- updated to new PowerPC configurations
- updated some memory handlers to be native 8-bit handlers
Konami Viper/ZR107 changes: [Aaron Giles]
- updated to new PowerPC configurations
Sega Model 3 changes: [Aaron Giles]
- updated to new PowerPC configurations
- reimplemented/centralized interrupt handling
- these games are broken for the moment
Fixed crasher due to some Konami games using 8 layers in
the K056832 implementation, even though it was only written
for 4. [Aaron Giles]
Added fisttp opcode to i386 disassembler. [Aaron Giles]
added support for per-scanline y scroll. Fixes level 5 and boss explosions.
00778: gunnail: The background in stage 5 is wrong.
00779: gunnail: After you kill a boss, always a number of vertical lines will appear.
Cleaned-up and organized both drivers.
Added more technical notes.
Hooked Xtals and sound devices/interfaces.
Added elvis to the h8/3337 driver.
New games marked as GAME_NOT_WORKING
------------------------------------
Elvis? [Roberto Fresca]
- Added Microbus support, clock divisor selection, and CKO mode selection to the COP420
- Changed Thayer's Quest keyboard interface to at least slightly resemble the schematics
Added all games that fit in this hardware, plus dumper notes (when available) and hardware descriptions.
New games marked as GAME_NOT_WORKING
------------------------------------
Carta Magica (Ver 1.8) [Roberto Fresca]
Laser 2001 (Ver 1.2) [Roberto Fresca]
Magic Drink (Ver 1.2) [Roberto Fresca]
Millennium Sun [Roberto Fresca]
NtCash [Roberto Fresca]
Super Space 2001 [Roberto Fresca]
Unknown italian gambling game [Roberto Fresca]
Wizard (Ver 1.0) [Roberto Fresca]
- Reworked the input system for Sigma Poker 2000.
- Promoted Sigma Poker 2000 to 'WORKING' state.
- Updated technical notes.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Sigma Poker 2000 [Roberto Fresca]
Replaced the Capitani Coraggiosi sound ROM with another one from the alt version. The only difference between both sets are 4 bytes at begining of the sound ROM. The header starts with 4x 0x20 instead of zeroes.
Added La Perla Nera Gold, plus two sets of Europa 2002. All games are running in the same hardware.
Added the respective dumper/hardware notes plus some comparative notes.
Corrected some typos.
New games marked as GAME_NOT_WORKING
------------------------------------
Capitan Uncino (Ver 1.2) [David Haywood]
Capitani Coraggiosi (Ver 1.3) [David Haywood]
La Perla Nera (Ver 2.0) [David Haywood]
La Perla Nera Gold (Ver 2.0) [Roberto Fresca]
Europa 2002 (Ver 2.0, set 1) [Roberto Fresca]
New clones added
----------------
Europa 2002 (Ver 2.0, set 2) [Roberto Fresca]
- Styling changes
- Added instruction cycle counts.
- Added interrupt support.
- Added HALT support.
- Fixed INT instruction.
- Added incomplete support for DIV and MUL instructions.
- Fixed MOV [#nnnn],BA and MOV [#nnnn],HL instructions.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Deroon DeroDero [nuapete, David Haywood]
** note, the guys decapping this will have to dump the internal eeprom too, I suspect the internal ROM is the same between games, and the EEPROM contains the password and game specific data.
this DOES NOT fix mantis 1829, which appears to be a bug in the validation code causing it to hang on startup attempting to validate
PORT_BIT( 0xf0, 0x00, IPT_POSITIONAL ) PORT_POSITIONS(12) PORT_WRAPS PORT_SENSITIVITY(5) PORT_KEYDELTA(5) PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) PORT_REVERSE PORT_FULL_TURN_COUNT(12) \
or
PORT_BIT( 0xf0, 0x00, IPT_POSITIONAL ) PORT_POSITIONS(12) PORT_WRAPS PORT_SENSITIVITY(5) PORT_KEYDELTA(5) PORT_CODE_DEC(KEYCODE_N) PORT_CODE_INC(KEYCODE_M) PORT_PLAYER(2) PORT_REVERSE PORT_FULL_TURN_COUNT(12)
Sent: Friday, May 30, 2008 5:46 AM
Subject: dealer ROM U04 bankswitch
Hello,
ROMs U01-U03 are checked with the same code in a loop.
There's a separate ROM check for banked U04 at Z80:30F3.
It looks like dealer/revenger uses ppi8255 to control bankswitching.
- Added bankswitch for ROM U04 and removed BAD_DUMP from u4.bin
- Renamed the games to "Poker 4-1" and "Pull Tabs"
as shown in the ROMs stickers.
- Renamed the ROMs in each set according to their own stickers.
- Moved the driver into gametron.a group.
- Added the missing input port C to 8255 PPI I/O chip.
Poker41 and pulltabs don't make use of it, but is present in the Test/Setting Mode.
- Updated technical notes.
* added NODE_RELATIVE(NODE, offset) macro to discrete.h
* fix asteroid.c, canyon.c, skydiver.c and tank8.c to use this macro instead of adding directly to the node
- Switched the color system to RESNET calculations.
- Hooked the infamous bit7 of Input Port 0x3004 in parallel to DIP switch 1.
This allow to use the PAYOUT button to trigger the Super Game instead of STOP 5.
- Demultiplexed lamps matrix.
- Added lamps support, but is still imperfect.
- Updated technical notes.
u28 (color PROM) now has the proper size and seems correct.
u68 (graphics) is far way better, but still have some bad bits.
Removed all patched bits from the driver. These bits now are correct.
fixed Testers bug [01039]
-------------------------------
Updated cheat sytem drastically
* Supported (preliminary) new cheat format
- Added new operations
PDWWrite, RWrite, VRWrite, CWrite, Move, Branch, Loop, Popup
- Added new options
ValueSelectNegative, Return, AddressReadFrom, DataReadFrom
- Added cheat variables
You can store data with Write or Move operations and
read as an address or data from each fields
- Added condition check
for CWrite, Branch and Popup operations
- Added new custom codes
Separator, Layer
- Supported Shared Code [MESS ONLY]
different machine shares common code for a game
* Allowed mixed label-select or user-select with standard code
* Added label selector menu for label-selection code
* Added extend comment displayer for multi-line comments
* Added command menu for cheat list and watchpoint
Easy selectable cheat commands in this menu
* Added debug view menu [DEBUG BUILD ONLY]
It displays internal info to debug cheat system
* Supported unique separator by ui_draw_menu() in several menus
* Added user defined search region
You can set free memory range from cheat database
* Enhanced error check for cheat code to prevent from unexpected working
Error code is locked. If you select this code, the analyser works
instead of the code activater
* Enhanced value input with keyboard-less
Cheat edit key gives new input system in several menus
Left/right keys moves the edit cursor and up/down keys changes a value
* Added cheat command save, reload, reset in option menu
* Supported address shift in searching
Now searchable default region in TMS340*0 cpu games (Trog, Smash T.V. etc)
* Refined cheat menu handling with function pointer called cheat_menu_handler
* Added format strings table to manage in an integrated fashion
* Deleted unused hacks of default search region for Neo Geo and TMS34010
* Refined code based on MAME coding guidelines
- Renamed many functions/structures/constants
But not complete due to too many items
- Converted small but often used functions to INLINE
- Fixed a comparison in case of 0 or NULL
- Added missing function prototype for several functions
names are generated.
Added new astring functions astring_del, astring_replace, and astring_replacec
to help perform simple search/replace substitution.
1. In the MIPS core:
- renamed struct mips3_config -> mips3_config
- updated all drivers to the new names
- removed MIPS3DRC_STRICT_COP0 flag, which is no longer used
- a few minor cleanups
2. In the CPU interface:
- added new 'intention' parameter to the translate callback to
indicate read/write/fetch access, user/supervisor mode, and
a flag for debugging
- updated all call sites to pass an appropriate value
- updated all CPU cores to the new prototype
3. In the UML:
- added new opcode SETC to set the carry flag from a source bit
- added new opcode BSWAP to swap bytes within a value
- updated C, x86, x64 back-ends to support the new opcodes
- updated disassembler to support the new opcodes
4. In the DRC frontend:
- fixed bug in handling edge case with the PC near the 0 or ~0
01153: clshroad: [possible] The game is slow, the frame rate suffers, and even the calorie bar flickers.
00267: clshroad: [possible] Occasionally a cycler who's graphics are garbled will come along,
New Games Supported
-------------------
ChuckECheese's Match Game [Exodus]
New Clones Supported
--------------------
Fred Flintstones' Memory Match (US, High Score version, 3/10/95) [Exodus]
Fred Flintstones' Memory Match (UK, 3/17/95) [Exodus]
Fred Flintstones' Memory Match (Japan, High Score version, 3/20/95) [Exodus]
Fred Flintstones' Memory Match (Mandarin Chinese, 3/17/95) [Exodus]
Fred Flintstones' Memory Match (Spanish, 3/17/95) [Exodus]