Commit Graph

87 Commits

Author SHA1 Message Date
Curt Coder
2528b956f5 Added CDP1852 I/O buffer chip, and used it in Altair/Draco. 2008-05-12 16:10:28 +00:00
Manuel Abadia
90f263f8a3 DS5002FP core 2008-05-12 09:03:33 +00:00
Aaron Giles
b735b4be6c New universal dynamic recompiler system. The central module
is drcuml.c, which defines a universal machine language
syntax that can be generated by a frontend recompiler and
then retargeted via a generic backend interface to any of
a number of different architectures. A disassembler for the
UML is also included to allow examination of the generated
UML code.

Currently supported backend architectures include 32-bit x86,
64-bit x86, and a platform-neutral interpreted C backend that
can be used as a fallback for platforms without native 
support. The C backend also performs additional validation
to ensure assumptions are met.

Along with the new architecture is a new MIPS III/IV 
recompiler frontend. This frontend has been rewritten from 
the old x64-specific recompiler to generate UML opcodes
instead. This means that the single recompiler can be used
to target multiple backend architectures and should in
theory produce identical results across all of them.

The old 32-bit and 64-bit MIPS recompilers are now officially
retired. The new system provides similar performance (within
5% generally) to the old system and has similar compatibility.
The only currently known issues are some problems with the
two Gauntlet 3D games.
2008-05-11 22:15:13 +00:00
Roberto Fresca
9b3d9ea3cd New driver for old Game-A-Tron gambling games hardware.
- Properly decoded graphics.
 - Proper memory map.
 - Added NVRAM support.
 - Proper Inputs through 8255 PPI I/O chip.
 - Both games are working.
 - Added technical & game notes.


New games added or promoted from NOT_WORKING status
---------------------------------------------------
Card Games? [Roberto Fresca]
Slots Game? [Roberto Fresca]
2008-05-11 21:21:07 +00:00
Nicola Salmoria
384388cf6f Rewrote the Gaelco video ram encryption, which finally makes sense.
The key observation was that when decryptiong the second word, both encrypted and decrypted bits of the first word are used.
Many thanks to Javier Valero for the detailed information that made this possible.
2008-05-10 18:09:15 +00:00
Couriersud
85a5a3d827 AY-3-8910 rewrite:
* adds a model to calculate mixing of channels with different resistance loads.
* based on above, each channel may be assigned a different load in individual case
  i.e. channels not tied together
* rewrote ay8910.c to make emulation simpler
* changed the config structure to include a flag field and output resistor loads.
* Updated all drivers affected.
* Added some "Todos" related to stuff I discovered when reading datasheets.
* Fixed a bug in disc_flt.c (konami filters)

galaxian.c:
* Fixed discrete sound and konami filter addressing
* Changed addressing of AY-3-8910 to be in line with schematics

gyruss.c:
* Added discrete sound for filtering ("konami"-style) and mixing.
2008-04-22 21:58:36 +00:00
Aaron Giles
e26f80fde0 (from Mariusz Wojcieszek)
Attached is diff which makes Touchmaster games playable.

General changes:
- Added preliminary 68681 DUART (machine\68681.c)
- Moved Microtouch touch screen controller emulation to separate module (machine\microtch.c)

New games added or promoted from NOT_WORKING status
---------------------------------------------------
Touchmaster [Mariusz Wojcieszek]
Touchmaster 3000 [Mariusz Wojcieszek]
Touchmaster 4000 [Mariusz Wojcieszek]
Touchmaster 5000 [Mariusz Wojcieszek]
Touchmaster 7000 [Mariusz Wojcieszek]
2008-04-21 00:00:55 +00:00
Roberto Fresca
baad7a6f45 New driver for Sandii' hardware. Support for snookr10, apple10 and tenballs. Added technical/general notes.
Funworld updates:
- Removed the temporary hack to jolyc980.
- Updated technical notes regarding Magic Card II & Jolly Card Professional 2.0.
- Moved snookr10 to its own driver.
- Minor clean-up.


New games marked as GAME_NOT_WORKING
------------------------------------
Apple 10 (Ver 1.21) [Roberto Fresca]
Ten Balls (Ver 1.05) [Roberto Fresca]
2008-04-20 04:16:47 +00:00
davidhay
bd7c159b15 Seibu COP stuff - just moving things around renaming them, comparing Legionnaire with Raiden 2 etc. No functional improvements just yet. 2008-04-05 13:08:11 +00:00
Aaron Giles
ca3d7d01e6 From: Wilbert Pol
Subject: pit8253 device

I have converted the pit8253 implementation into a device. To make it  
easier to use I've also created a src/emu/devconv.h in the same style  
as src/emu/memconv.h.

I do not have all roms/disk images to test all drivers.  I have only  
been able to test pf2012, filetto, and topgunnr.
2008-04-03 05:26:47 +00:00
Curt Coder
1859e012d2 - converted CDP1869 to the new device system
- refactored to represent how the hardware actually works
- added PMA latching on OUT5
- separated Cidelsa video to its own file
2008-04-02 14:43:06 +00:00
Aaron Giles
d26f7f12da From: Mr. Do [mailto:mrdo_emu@hotmail.com]
Subject: Internal LAY File - Armor Attack

This is becoming kind of fun.  Here's an internal LAY file for Armor Attack.
 
Re-created the overlay using just rectangles.
 
And finally got to use flipx and flipy for the first time (main reason I did it).
2008-04-02 08:36:30 +00:00
Phil Bennett
ed397c466a 1. Added driver for JPM 'Give us a Break' hardware, supporting:
* Give us a Break [2 sets]
* Ten Up [2 sets]
Neither are playable; they don't register coins for some reason.

2. Fixed interrupt handling and 16-bit memory accessors in 6840ptm.c
Also cleaned up code for the sake of readability.

3. JPM games now have their own object archive file.
2008-03-29 01:35:02 +00:00
Aaron Giles
6979179c11 Galaxian rewrite. Ultimately will combine the existing drivers
for galaxian, scramble, frogger, scobra, amidar, and dambustr.
For the moment, only a subset of games are implemented in the
new system; the remainder are running on the old code.

Main features are accurate video timing, correct stars 
implementation, better organization, simplified input ports,
and many other smaller fixes. In addition, the following
MAMETesters bugs are addressed:

- 01598: [Graphics] 4in1, gmgalax, pacmanbl: Sprites are cut off on the top row
- 01563: [DIP/Input] gmgalax: Duplicated Inputs
- 00300: [Graphics] zigzag: in cocktail mode player 2 screen is shift over to the right
- 01454: [Graphics] mshuttle, mshuttlj, mshutlj2: The display of the screen is shifted
- 01473: [Graphics] orbitron: Orbitron graphics not correctly displayed
- 01600: [Graphics] pacmanbl, batman2: The background is shifted to the right and cut off on the right side
- 01602: [Misc.] luctoday: Messed up graphics. (Screen Offset)
- 01599: [Graphics] omega: Screen is vertically offset
- 01605: [Graphics] gteikokb, gteikob2: Wrong screen offset (aaron)
2008-03-28 08:34:31 +00:00
Aaron Giles
e670f5c51a Renamed galaxian.c -> galaxold.c. Updated all drivers accordingly. 2008-03-25 12:20:09 +00:00
Luca Elia
757d289163 Driver for Astro Corp. hardware.
New game:

- Show Hand (roms/current/s/showhand.zip)
2008-03-24 18:29:07 +00:00
Nicola Salmoria
23a0601055 Alpha Denshi major update
This is still WIP bug I've been working on it for sveral weeks and I want to get it out before leaving for holidays.

- Fixed Alpha 8201/830x MCU simulation.
  - all hacks from the equites driver removed
  - fixed equites restart position after going underground
  - fixed hvolume, splndrbt 2 players
  - removed hacks from exctsccr2
  - fixed CPU gameplay in shougi

- Gekisou promoted to working

- added dump of Alpha 8201 MCU to games that use it (the ROM isn't used yet, HMCS44 CPU core needs to be written first)

- major cleanup of the mess in equites.c:
  - many thanks to Corrado Tomaselli for precious hardware info.
  - implemented bg perspective scrolling using PROMs
  - fixed sprite flip & disable
  - fixed bg color
  - converted bg to tilemaps
  - fixed fg banking
  - fixed screen flip
  - removed meaningless banking of player inputs
  - added UI adjuster for MSM5232 frequency
  - MSM5232 volume control

- fixed MSM5232 noise LFSR formula (done by Jarek Burczynski; thanks to Corrado Tomaselli for samples)

- changed MSM5232 emulator to output channels separately

- added output of SOLO channels to MSM5232 emulator.

- mametesters bugs fixed:
  - 00217 splndrbt: On boot the pcb displays a clean light blu screen while in mame there is a black road. 
  - 00220 splndrbt: Concerning the gfx, on the pcb the background is not linear as shown in mame.
  - 00223 splndrbt: On the first level when you pass the asteroid belt the star road should be light blue instead of black like mam 

- fixed champbas inputs

- merged talbot with champbas, some driver clenaup

- fixed shougi inputs

- switched exctsccb to use the correct gfx ROMs (matches screenshot found in 01058 exctsccb: Exciting soccer bootleg should be placed in champbas.c.)

- fixed sprite bpp in exctscrr, removed the horrible hacks that were used to fix colors and transparency.

- fixed sound clipping in exctsccr
2008-03-17 19:07:23 +00:00
Zsolt Vasvari
12546a8559 From Mr.Do: Adds Gorf internal artwork 2008-03-17 05:15:37 +00:00
Aaron Giles
3a082a644f From: notaz [mailto:notasas@gmail.com]
Subject: patch for SVP (Sega Virtua Processor) emulation

hello,

this patch adds support for Sega Virtua Processor, to run
Genesis/MegaDrive version of Virtua Racing, intended to be used by
MESS. It consists of a CPU core SSP1601, and updates in megadriv.c:
* SSP1601 replaces SSP1610, as it has been confirmed by Stiletto and
other sources that SVP actually contains SSP1601. The current SSP1610
is placeholder only (nearly completely unimplemented) anyway.
* Changes in megadriv.c add a new driver for Genesis/MegaDrive+SVP
combination, also add SVP memory controller logic and memory map.

The diff has already been reviewed by Reip and SSP1610 removal was one
of his suggestions (SSP1610 is not used by any drivers).
2008-03-13 15:35:17 +00:00
Aaron Giles
311669e24d From Mr. Do!
mame/drivers/qix.c:
+mame/layout/elecyoyo.lay:

Add Mr. Do's layout to crop corners in Electric Yo-Yo.
2008-03-13 15:29:29 +00:00
Zsolt Vasvari
5397db0615 Moves crosshair code from video.c into its own module
Simplifies crosshair logic and makes it screen device based
2008-03-11 02:41:24 +00:00
Zsolt Vasvari
c537f056f5 Mysterious Stones gets the "full treatment" 2008-03-06 03:45:15 +00:00
Zsolt Vasvari
c7a0a7942f Moves watchdog processing logic into its own module 2008-03-02 03:32:54 +00:00
Zsolt Vasvari
a3aef48df5 - Converted Amiga based games to partial updating and proper scanline based timers
- Beginning of the clean-up of Space Guerilla - fixed rotation, some other stuff
- Removed tmpbitmap from some drivers
2008-02-29 01:42:25 +00:00
Zsolt Vasvari
f78611cfd3 - Clean-up of the Crazy Climber video driver, mainly via tilemap conversion.
This fixes the ape sprite positioning in Crazy Kong -- no more gap between feet and platform
- Merged Yamato driver with Crazy Climber
- XX Mission tilemap conversion
- Removes VIDEO_START(generic) -- no longer used
2008-02-27 13:51:06 +00:00
Roberto Fresca
b28523cabe Big changes to Cal Omega driver to support systems 903/904/905/906.
A lot of sets were added. Also System 903/905 diag ROMs.
Submitted the driver at this point because it's growing as a monster.
Parent/clone relationship for official games is not defined yet.

Changes:
- Renamed the driver to calomega.c.
- Extended the driver to support all the other Cal Omega systems.
- Switched to XTAL def.
- Fixed CPU & sound clocks based on official diagrams.
- Replaced the AY-8910 with AY-8912 to match the real hardware.
- Unified some memory maps.
- Splitted machine in sys903 and sys905.
- Fixed memory map offsets for sys905.
- Added support to the following games:

    Game 7.6 (Arcade Poker)
    Game 7.9 (Arcade Poker)
    Game 9.4 (Keno)
    Game 12.5 (Bingo)
    Game 12.7 (Keno)
    Game 12.8 (Arcade Game)
    Game 13.4 (Nudge Bingo)
    Game 14.5 (Pixels)
    Game 15.7 (Double-Draw Poker)
    Game 15.9 (Wild Double-Up)
    Game 16.4 (Keno)
    Game 16.8 (Keno)
    Game 17.2 (Double Double Poker)
    Game 17.51 (Gaming Draw Poker)
    Game 17.6 (Nudge Bingo)
    Game 18.1 (Nudge Bingo)
    Game 18.3 (Pixels)
    Game 18.5 (Pixels)
    Game 18.6 (Pixels)
    Game 20.4 (Super Blackjack)
    Game 20.8 (Winner's Choice)
    Game 22.7 (Amusement Poker, d/d)
    Game 23.6 (Hotline)
    Game 23.9 (Gaming Draw Poker) --> EX gdrawpkr.
    Game 24.6 (Hotline)
    Game 27.2 (Keno, amusement)
    Game 27.2 (Keno, gaming)
    System 903 Diag.PROM 
    System 905 Diag.PROM
    Jackpot Joker Poker (set 1)
    Jackpot Joker Poker (set 2)
    SSI Poker (v2.4)
    SSI Poker (v3.0)
    SSI Poker (v4.0)

- Added a list of official/unofficial games, and their states.
- Fixed a bug introduced when extended the color PROM region to eliminate colortable lenght.
- Other changes/fixes.
- Updated technical notes.
2008-02-26 09:41:11 +00:00
Aaron Giles
9a359b370d Added new module: tokenize.h. This centralizes the behavior of
tokenizing data structures, as currently used by the input
port system. Redid the input port tokenization to be more
compact and make use of the new macros.
2008-02-25 01:35:48 +00:00
Zsolt Vasvari
422de34a3f - Adds the layout file created by Mr. Do
- Clean-up and reorg
2008-02-22 07:32:08 +00:00
Zsolt Vasvari
4606ca9dc2 - Reorganized Gameplan driver
- Changed Trivia Quest use the Gameplan video code
- Added crystal for Gameplan pixel clock
2008-02-21 00:46:44 +00:00
Zsolt Vasvari
df91564d03 - Complete memory map
- Cyrsals
- Driver state structure
- Text layer is rendered at the same time as the background
2008-02-20 05:25:29 +00:00
Aaron Giles
3accee936b New module: devintrf.c/.h. Implements a generic device interface similar
to the sound and CPU interfaces. This is still a bit WIP, but works at
a fundamental level. Currently the only example of usage is in qix.c for
the MC6845 CRTC.

New module: mconfig.c/.h. Moved all machine_config and MDRV_* macros here, 
out of driver.c/.h. Added MDRV macros for adding/removing/configuring
devices.

qix.c: Moved video part of machine driver to video/qix.c. Added MC6845
as a device in the machine driver. Removed explicit MC6845 initialization
from VIDEO_START in favor of simply retrieving the token from the device
interface code.

mc6845.c: Updated all callbacks to pass the mc6845_t * object. Updated
all drivers accordingly. Added a minimal device interface.

Deprecated the following constants because global constants that pretend
to document things but which are only guesses are dumb:

  - DEFAULT_60HZ_VBLANK_DURATION
  - DEFAULT_30HZ_VBLANK_DURATION
  - DEFAULT_REAL_60HZ_VBLANK_DURATION
  - DEFAULT_REAL_30HZ_VBLANK_DURATION
  - DEFAULT_60HZ_3S_VBLANK_WATCHDOG
  - DEFAULT_30HZ_3S_VBLANK_WATCHDOG

Updated all drivers to explicitly specify the equivalent bogus times.
Added comments for the "REAL" VBLANK durations to indicate that they are
not accurate.
2008-02-19 08:49:59 +00:00
R. Belmont
8877f5321b [NAOMI] Added and hooked up AICA (sound chip). Naomi boot sounds now play.
Since it's an SCSPx2 with ADPCM instead of FM it's already feature-complete except filter envelopes.

A bug in the ARM7 core causes incorrect pan/level values to be computed in e.g. the Naomi SOUND TEST menu (I've also been seeing this in DSF playback).  This is not a defect in the AICA.

Please credit ElSemi, Deunan Knute, kingshriek, and myself.
2008-02-17 18:28:36 +00:00
stephh
015e47c058 Fixed Dip Switches (especially coinage) and inputs for 'mpatrol' and 'troangl' (and their clones).
Tried to "unified" the drivers (I still think that some things can be merged).
Added src/includes/iremipt.h source file (same purpose as src/includes/taitoipt.h).

Fixed Dip Switches and inputs for 'alpha1v'. The game is now more playable to me but I left the GAME_NOT_WORKING flag as I think there are still some things to look at).
2008-02-17 13:35:28 +00:00
Zsolt Vasvari
8715109eb4 - Color table removal
- Reorganization/minor clean-up of Mad Alien driver
2008-02-15 05:43:05 +00:00
Zsolt Vasvari
a35f6aba82 Renames M6845 to MC6845 2008-02-12 20:31:55 +00:00
Zsolt Vasvari
d3cc7e0dd4 Renames CRTC6845 to M6845 2008-02-12 12:48:58 +00:00
Couriersud
88940550a1 makefiles:
* move verinfo.c to src/build
* move rules for verinfo to src/build/build.mak
2008-02-05 22:32:11 +00:00
Luca Elia
c96f0df8fa Promoted "Galaxy Games (BIOS v1.90)" to working
(moved to tmaster.c)
2008-02-05 17:48:27 +00:00
Andrew Gardner
7765adf61b Added skeleton driver for two Kyle Hodgetts games, Virtual Combat and Shadow Fighters. Each running on the same hardware.
Each game has 2 68000's, and one unemulated Intel i860XR CPU.  I couldn't find docs for the i860 anywhere!
Virtual Combat is a stereoscopic game using an additional i860 to drive the second eye.
The ROMs all seem to check out as valid, with human-readable strings throughout.
The sound program is extremely simple for each, and the sound data ROMs are simply Creative Labs VOC files concatenated to eachother.
A MC6845P lives by the edge connector.

Additional notes in the driver.

Roms uploaded to /roms/current/v & /roms/current/s.

Wiki updated with skeleton driver status.
2008-02-05 06:12:47 +00:00
Zsolt Vasvari
11b06e94a5 - Color table removal
- Renames skychut to m10
2008-02-05 05:17:17 +00:00
Nicola Salmoria
06dece135f merged nova2001, ninjakun, pkunwar, raiders5; misc cleanup 2008-02-03 16:06:28 +00:00
Aaron Giles
aa16ee779d Changed debugger-related code to be based off a new makefile define (DEBUGGER) which sets
a new compile-time define (ENABLE_DEBUGGER). This means that MAME_DEBUG no longer means
"enable debugger", it simply enables debugging features such as assertions and debug code
in drivers.

Also removed the various levels of opbase protection in memory.h and always just turned 
on full bounds checking.

Fixed build break due to missing ampoker.lay -> ampoker2.lay renaming.
2008-02-02 08:57:39 +00:00
Zsolt Vasvari
03510c0a11 - Removed color table
- Renamed driver to ampoker.c
- Removed cubeqst.o from makefile.  Not sure what it is, but there is so such driver
2008-02-02 04:02:42 +00:00
Phil Bennett
6696fe197c * Improved Lock-On by a fair bit and added an alternate set.
* Added POLL input handling to the NEC V20/V30 core.
2008-02-02 02:19:24 +00:00
Aaron Giles
174ae58559 yard -> m58 2008-02-01 15:44:19 +00:00
Aaron Giles
b8997f5e04 A little more cleaning in the irem games. 2008-02-01 15:42:55 +00:00
Aaron Giles
05da1d9ec9 Cleaned up pooyan driver. Save states, full memory maps, proper NMI generation, etc.
Also added proper NMI generation to Time Pilot.
2008-01-29 05:58:38 +00:00
Zsolt Vasvari
274235aef1 - Removed color table from a couple of games
- Renamed bking2 to bking
2008-01-29 02:50:12 +00:00
Aaron Giles
f394a31d0e Cleaned up Time Pilot sound board implementation:
* full memory maps
 * partial machine driver removes need for replicating filtering logic
 * updated all relevant drivers

Cleaned up Time Pilot and Tutankham drivers:
 * correct clocks where possible
 * merged memory maps
 * fully decoded memory maps
 * replaced hacky sprite rendering in Time Pilot with partial updates
 * save state support
 * removed Power Surge kludge, replaced with unmapped handler control
 * Tutankham runs at 60fps, with IRQs every other frame
 * Proper IRQ ack in Tutankham
2008-01-29 02:14:44 +00:00
Zsolt Vasvari
e424adb362 - Driver clean-up, including driver state
- Tried improving on the ROM mirroring, without any success.  Maybe somebody could look into it -- right now it requires all kinds of trickery and even a memcpy ;)  All I know is that everything that's there right now is needed otherwise either the game fails the ROM test, or Galaga crashes
2008-01-28 06:06:27 +00:00