Commit Graph

146 Commits

Author SHA1 Message Date
Roberto Fresca
9af87ebaf3 New working driver for older InterFlip gambling games. [Grull Osgo, Roberto Fresca] 2008-08-30 17:08:26 +00:00
Aaron Giles
8959f89d1a Revert change 2597 2008-08-28 08:29:56 +00:00
Nicola Salmoria
f03d10d335 merged jcross.c into snk.c
fixed fg layer and visible area
the game seems to be ok now? is there still something wrong?
2008-08-27 13:39:09 +00:00
Nicola Salmoria
36c88b32dd merged sgladiat.c into snk.c
fixed shadows, visible area, tilemaps, inputs, etc.
00228: sgladiat: Emulation is missing some enemy sprites that are present on the pcb.
2008-08-27 08:57:20 +00:00
Aaron Giles
ba60161f97 i8039 -> mcs48 2008-08-26 04:38:50 +00:00
Couriersud
d8d031e8d3 Adds new generic latch device
8 bit latch interface and emulation
    
    Generic emulation of 74LS174/175, 74LS259 and other latches.
    Apart from providing synched latch operation, these
    latches can be configured to read their input bitwise from other
    devices as well and individual bits can be connected to
    discrete nodes.
    
    Please see audio/dkong.c for examples.
2008-08-22 21:25:49 +00:00
Derrick Renaud
8a8e197eae added Discrete Sound for Starship 1. I still need to properly emulate the MC3340. 2008-08-22 03:51:26 +00:00
Aaron Giles
7521888dd7 Added PR-8210 support to the ldplayer. Fixed step forward command on the PR-8210.
02136: cubeqst: from minimal UI cubeqst requires the optional CHD 
02127: xymg: The game name should be Xing Yun Man Guan and "Pin Yin:"should be omitted 
02138: flamegun: Debugger/Cheat System upper case cpu tag of MAIN doesn't work 
02139: In audio/system16.c, there is a reference to REGION_SOUND1 
02133: chindrah: The title of Zhong Guo Long?(Hong Kong,V011H) is Dong Fang Zhi Zhu(Hong Kong, V011H) 
02126: corrupt CHDs are reported as missing
2008-08-22 02:43:32 +00:00
Roberto Fresca
a211e37694 Bells and whistles to Game-A-Tron gambling hardware.
After an exhaustive analysis to the unknown writes, finally figured out the missing sound device.

 - Added sound support to "Poker 4-1" and "Pull Tabs".
 - Figured out the output ports. Documented each bit accessed.
 - Added button lamps support. Created layouts for both games.
 - Switched the 8255 port C to be used as output port.
 - Adjusted the coin pulse timing.
 - Updated technical notes.
 - Splitted the driver to driver + video.
 - Final clean-up.
2008-08-21 09:42:50 +00:00
Nicola Salmoria
c6e6c95244 snk.c rewrite (WIP)
TNK3, Athena, Fighting Golf, Country Club
converted to tilemaps
removed hacks
proper memory maps
screen flip / cocktail mode support
dip locations
better implementation of sound CPU communication
hooked sound cpu interrupts to YM chips
fitegolf hax 1xYM3812, not 2xYM3526
2008-08-20 10:24:57 +00:00
davidhay
c9f47d831f minor updates to megadriv.c / genesis code.
My mail is broken (or I'm not on the list anymore?) so I don't know how the suggestion went down, but given that within the space of a week simply updating the tree completely broke my compile again I *need* these files maintained to develop with if we're going to see accurate genesis emulation in MAME.  There's too much to split out of MAME.

I haven't included driver definitions, but the source files at least need to compile or I'm going to go completely bananas.
2008-08-19 07:39:53 +00:00
Aaron Giles
284b5a0d95 Added new generic laserdisc VIDEO_UPDATE handler to the laserdisc code.
This handler works for both disc-only games and those with overlays. 
For disc-only games, the base macro is sufficient. For games with 
overlays, an additional set of configuration macros are provided:

   MDRV_LASERDISC_OVERLAY - specifies update function, width, height,
      and bitmap format of the overlay
   MDRV_LASERDISC_OVERLAY_CLIP - specifies the visible area of the
      overlay bitmap
   MDRV_LASERDISC_OVERLAY_POSITION - specifies default x,y position
   MDRV_LASERDISC_OVERLAY_SCALE - specifies default x,y scale factors

The update function provided to MDRV_LASERDISC_OVERLAY is identical to
a normal VIDEO_UPDATE callback, so a standard one can be used. All
existing laserdisc drivers have been updated to support this new
rendering mechanism, removing much duplicated code.

Added the ability to configure the overlay position and scale 
parameters at runtime. Added OSD menus to control them. Added logic
to save/restore the data in the game's configuration file.

Added new macros MDRV_LASERDISC_SCREEN_ADD_NTSC and _PAL, which
defines a standard screen with the correct video timing characteristics
and update function for laserdiscs. Updated all drivers to use these
macros instead of defining their own screens.

Added DISK_REGIONS to all laserdisc drivers.

Added DISK_IMAGE_READONLY_OPTIONAL to support games (like Cube Quest)
where the disk is non-essential to the game's operation.

Fixed bug in identifying the custom sound driver for the laserdisc.

Updated ldverify to identify blank regions of the disc for post-
processing.

Fixed rendering 16bpp with alpha using bilinear filters (fixes
screenshots of laserdisc games with overlays).

Included support for parsing .gdi files in chdman. [ElSemi]

Added new driver for Cube Quest. This includes CPU cores for the three
bitslice processors, as well as laserdisc support for the hacked
laserdisc that was used to drive the games. 
[Philip Bennett, Joe Magiera, Warren Ondras]

Note that the SHA1/MD5 for the laserdisc will likely undergo at least
one more change before being finalized.
2008-08-18 04:31:08 +00:00
R. Belmont
f118954dc5 Split out SH-4 non-interpreter-specific stuff to sh4comn.c. 2008-08-17 04:44:02 +00:00
Aaron Giles
aeb7e74d74 Oops, missed deleted file. 2008-08-14 07:14:26 +00:00
Aaron Giles
a0574bb473 Moved several include files from mame/ to emu/, as they were
included by generic components in emu/ and thus should have no
dependencies on the MAME code.

Added new target ldplayer, which is based on MAME but serves as
a standalone laserdisc player for CHDs. Right now only the
Pioneer LD-V1000 is connected, and limited commands are available.
Each player type is a driver, so you specify the player type on
the command-line. The driver then opens the first CHD it finds
in your ROM path and uses that as the laserdisc. The intention is
that you specify the -rompath each time on the command-line, so
a typical approach might be:

   ldplayer ldv1000 -rompath j:\mach3

where it will pick up the mach3.chd lurking in your j:\mach3
folder. Several basic commands are supported:

   Space = play/pause
   Alt   = toggle frame display
   Left  = scan forward (when playing) or step forward (when paused)
   Right = scan backward (when playing) or step backward (when paused)
   0-9   = enter numbers for search
   Enter = execute search to frame
2008-08-13 15:09:08 +00:00
Roberto Zandona
906b6a5c39 now shanghai and adp use hd63484.c e hd63484.h in video folder 2008-08-12 15:29:20 +00:00
Tomasz Slanina
b6e297e8a4 New games added or promoted from NOT_WORKING status
---------------------------------------------------
Killer Instinct (SNES bootleg) [Tomasz Slanina]
Final Fight 2 (SNES bootleg) [David Haywood, Tomasz Slanina, Kowal]

New games marked as GAME_NOT_WORKING
------------------------------------
Sonic Blast Man TURBO 2 (SNES bootleg) [Corrado Tomaselli]
2008-08-10 22:43:48 +00:00
Derrick Renaud
1c8e102f7b Discrete sound for Mad Alien 2008-08-08 21:56:44 +00:00
Derrick Renaud
b3bfdc060a Added Discrete Sound to Fantasy, Nibbler and Pioneer Balloon. (mantis# 00227) 2008-08-06 04:02:46 +00:00
Aaron Giles
5e3764d0a0 Removed obsolete makemeta tool. Replaced it with new ldverify
tool which walks through either an AVI or CHD capture from a
laserdisc and ensures that there are no anomalies lurking in
the VBI data.

Added new option to chdman, where if you use -createav with
a special filename (either 2:2 or 3:2) it will create a fake
laserdisc files with the equivalent cadence. This can be used
for testing until full captures are available. Most games used
2:2 apart from Dragon's Lair and Space Ace, which were 3:2.
Note that even though these files are essentially blank, they 
are Huffman-compressed, meaning that the maximum compression
ratio you will get is 8:1, so they still end up ~5GB.

Moved error strings from chdman.c to chd.c, where they can be
fetched from any caller via the new chd_error_string()
function.

Updated vbiparse to improve Manchester code decoding. It now
assigns a confidence level per bit based on how solid the
data is. Also added a new function vbi_parse_all which parses
the white flag and all three lines of metadata from a 
laserdisc frame. It then compares line 17 and 18 against each
other and selects the most likely candidate based on per-bit
confidence and other factors.

Added frame number display to laserdsc.c. It is off by
default, though most players can be configured to turn it on
(not sure if any actually do). It can be manually toggled via
the backslash key during playback.
2008-08-05 16:30:35 +00:00
Luca Elia
9f8e261997 Driver for "Jingle Bell" by IGS
(roms in current/j/jingbell.zip)

The background (slot reels) is not emulated properly,
hence it's not playable and marked as not working.

New games marked as GAME_NOT_WORKING
------------------------------------
Jingle Bell [Luca Elia]
2008-07-31 16:52:17 +00:00
Luca Elia
eb89942ce4 Preliminary driver for "Quiz Punch 2"
Like some other Space games (mosaic.c), it is protected by an MCU
that supplies the addresses to jump to.

I've done some basic simulation that at least shows the service mode.

This is a candidate for decapping / trojaning, or for Nicola to examine
like he did with Mosaic ;-)

Note to Guru: u118 is probably bad, it fails the rom test.

New games marked as GAME_NOT_WORKING
------------------------------------
Quiz Punch 2 [Luca Elia]
2008-07-31 09:41:24 +00:00
Luca Elia
fb63d91e65 Driver for "Galaxi", an italian gambling game.
Roms are in current/g/galaxi.zip.

New games added or promoted from NOT_WORKING status
---------------------------------------------------
Galaxi [Luca Elia]
2008-07-30 17:17:29 +00:00
Roberto Fresca
d67a7c8c74 Changes to lucky74.c driver:
- Pre-defined CPU and SND clocks.
 - Switched the color system to RESNET calculations.
 - Completed the remaining DIP switches.
 - Added lamps support. Created a layout to show them.
 - Changes on the interrupt system (need to be verified on the PCB).
 - Renamed the graphics regions to more descriptive names.
 - Corrected the manufacturer's name.
 - Splitted the driver to driver + video.
 - Updated technical notes.
2008-07-28 18:34:06 +00:00
Andrew Gardner
6e13a53ff7 DSP56156 CPU Core updates.
- Rewrote core logic, communications, and interfaces.
- Added three parallel memory moves to the disassembler.
- Initial interrupt logic in place.

Plygonet.c updates.
- All communication hacks have been removed.
- Memory maps have been temporarily reverted while new DSP56k cpu core catches up.
2008-07-28 01:19:21 +00:00
Aaron Giles
7c527fd0a7 Missed file from last checkin. 2008-07-24 03:49:38 +00:00
R. Belmont
1f9a29d7fa UDRC-based SH-2 dynamic recompiler.
- All games on all drivers should work as before except "colmns97" and "stress" which crash due to sound system trouble.
- All idle skips are still included.  They are quite a bit less effective than they were on the interpreter, but they still give a boost.
- Fast RAM bypass is not included yet so this does not represent final performance.  That said, it's consistently faster than the interpreter even now.  Example: sfiii3 on 0.126 gets 609% on the interpreter and 961% on the DRC.

Major thanks to Aaron for his assistance with several sticky core bugs and other issues encountered writing this.
2008-07-13 23:40:54 +00:00
Nicola Salmoria
4b6e06f175 merged exctsccr.c into champbas.c 2008-07-13 14:09:09 +00:00
Aaron Giles
d8715ab4ac Note: I have done some testing, but there are probably more bugs
lurking. If you run into anything odd, please let me know.

Added new module uiinput.c which manages input for the user interface.
The OSD is responsible for pushing mouse events and character events
to this interface in order to support mouse movement and text-based
input (currently only used for the select game menu). Added support
for navigating through the menus using the mouse. 
[Nathan Woods, Aaron Giles]

Redesigned the UI menus so that they can maintain a richer state. Now
the menus can be generated once and reused, rather than requiring them
to be regenerated on each frame. All menus also share a comment eventing
system and navigation through them is managed centrally. Rewrote all the 
menus to use the new system, apart from the cheat menus, which are now 
disabled. Reorganized the video menu to make it easier to understand.
[Aaron Giles]
2008-07-12 20:18:25 +00:00
davidhay
5d5550c907 some naomi stuff. no credit wanted.
I don't want people bugging me about this, so don't bother even mentioning it.
2008-07-11 20:49:38 +00:00
Aaron Giles
d256dc7e88 Split out Philips code parsing into a separate utility module.
Rewrote Philips code parsing to be clock based.
Updated makemeta to call the new function.
2008-07-08 07:55:49 +00:00
Roberto Fresca
ea8dec56f4 New driver for Lucky 74 (Wing Co.Ltd, 1988)
- Set the proper screen size.
 - Decoded graphics.
 - Decoded the dual-state color circuitry.
 - Mapped the NVRAM, VRAM1-1, VRAM1-2, VRAM2-1 and VRAM2-2 properly.
 - Emulated 2x PPI 8255 devices.
 - Mapped the 4x DIP switches banks.
 - Added PORT_DIPLOCATION to all DIP switches.
 - Added DIP switches for 'Bet Max' and 'Limit'.
 - Added DIP switches for 'Jackpot' and 'Pay Table'.
 - Added the Memory Reset Switch.
 - Added the 2nd video & color RAM.
 - Added a 2nd tilemap for background graphics.
 - Simplified the graphics banks.
 - Fixed colors for foreground graphics.
 - Fixed visible area to show the top of background graphics.
 - Finally fixed colors for background graphics.
 - Added all coinage DIP switches.
 - Mapped all remaining inputs (service and player buttons).
 - Added pulse time limitation to coins A, B & C.
 - Switched to use 4x 8255 in replace of 2x 82c255 for I/O.
 - Created a handler to feed the z80 port0 requests.
 - Promoted lucky74s to 'working' state.
 - Added an alternate set, but the program ROM looks like incomplete,
   protected or just a bad dump.
 - Parent/clone relationship.
 - Added technical notes.

 From Dox:

 - Hooked interrupts.
 - Hooked the AY8910 and therefore the NMI trigger.
 - Changed the input "Key In" to active high.


New games added or promoted from NOT_WORKING status
---------------------------------------------------
Lucky 74 (small) [Roberto Fresca]


New clones added
----------------
Lucky 74 (big) [Roberto Fresca]
2008-07-06 08:23:50 +00:00
davidhay
03871ffff4 sksleton hikaru driver. 2008-07-04 08:12:41 +00:00
Aaron Giles
c26a5b3fd5 Galactic Storm
(c)1992 Taito

added by Hau
2008-07-03 15:41:07 +00:00
Tomasz Slanina
b00ee43b40 New games marked as GAME_NOT_WORKING
------------------------------------
King of Football [Tomasz Slanina]
2008-06-28 18:48:45 +00:00
Tomasz Slanina
793b257be7 Renamed wilytowr.c to m63.c. Added Irem M63 PCB layout (based on Atomic Boy).
[Tomasz Slanina, Stefan Lindberg]
2008-06-28 11:55:00 +00:00
R. Belmont
f6c3274df2 Refactor SH2 to separate out things that aren't part of the interpreter. 2008-06-27 05:33:54 +00:00
Aaron Giles
68f3a9ab9e Removed DEBUGGER flag from makefile and ENABLE_DEBUGGER
macro from the source code. All MAME builds now include
the debugger, and it is enabled/disabled exclusively by
the runtime command-line/ini settings. This is a minor 
speed hit for now, but will be further optimized going 
forward.

Changed the 'd' suffix in the makefile to apply to DEBUG
builds (versus DEBUGGER builds as it did before).

Changed machine->debug_mode to machine->debug_flags.
These flags now indicate several things, such as whether
debugging is enabled, whether CPU cores should call the
debugger on each instruction, and whether there are live
watchpoints on each address space.

Redesigned a significant portion of debugcpu.c around
the concept of maintaining these flags globally and a
similar, more complete set of flags internally for each
CPU. All previous functionality should work as designed
but should be more robust and faster to work with.

Added new debugger hooks for starting/stopping CPU
execution. This allows the debugger to decide whether
or not a given CPU needs to call the debugger on each
instruction during the coming timeslice.

Added new debugger hook for reporting exceptions.
Proper exception breakpoints are not yet implemented.

Added new module debugger.c which is where global
debugger functions live.
2008-06-26 14:51:23 +00:00
Tomasz Slanina
cecb9c22a9 Preliminary emulation of ST-0026 NiLe (sound).
Added audio (imperfect) to Super Real Mahjong P6.
(2nd attempt)
2008-06-22 20:14:14 +00:00
Couriersud
50b9d23c82 dkong.c: Merge driver init code for drakton and strtheat
* made decryption for drakton and strtheat more compact
* moved decryption and driver init code into dkong.c
* deleted drakton.c and strtheat.c
2008-06-22 14:59:35 +00:00
Wilbert Pol
01756b3bcb Renamed "Nintendo z80gb" cpu core to "Sharp LR35902". 2008-06-16 18:22:10 +00:00
Aaron Giles
5deab27d6d Created common virtual TLB managment module.
Updated MIPS and PowerPC code to make use of it.
2008-06-16 03:12:49 +00:00
Aaron Giles
e62e3229d3 Missed file from previous checkin. 2008-06-12 16:58:03 +00:00
Aaron Giles
f874100bc9 From: Atari Ace [mailto:atari_ace@verizon.net]
Subject: [patch] Static qualifiers, header file cleanups, and new
include files for MAME

Hi mamedev,

The following two patches improve the use of header files in MAME, and
reduce the number of exported symbols.

The second patch then adds ~30 header files for a number of drivers
that use multiple source files.  It consolidated the various cchip
related declarations in cchip.h, and added machine/seicop.h as well.

~aa
2008-06-12 16:27:56 +00:00
Roberto Fresca
f034b2b75f New driver for italian gambling games based on Mitsubishi/Renesas M16C MCU family.
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]
2008-06-09 08:51:36 +00:00
Luca Elia
ab1c2761ae Preliminary driver for Subsino's gambling games.
(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]
2008-06-08 14:38:04 +00:00
Aaron Giles
ee8162eff9 UML:
* 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.
2008-06-06 06:42:21 +00:00
Aaron Giles
95ae38db10 Missed files from Atari Ace's change. 2008-06-05 09:50:25 +00:00
Aaron Giles
ed6ad8b4f9 PowerPC dynamic recompiler: [Aaron Giles]
- 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]
2008-06-05 08:34:13 +00:00
Roberto Fresca
23a5c04d66 New skeleton driver for italian gambling games based on H8/3337 MCU + NEC D7759GC (sound).
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]
2008-06-04 07:20:51 +00:00