Commit Graph

599 Commits

Author SHA1 Message Date
Roberto Fresca
30e795e988 New driver for Advanced Video Technology (AVT) platform [Roberto Fresca]
* Almost accurate memory map.
  * Decoded graphics.
  * Decoded the bipolar PROM.
  * Detected a CRTC (MC6845 type) reversing the code.
  * Guessed the CRTC clock to get proper values.
  * Hooked the AY-3-8910.
  * Added games notes.
  * Added technical notes.


New games marked as GAME_NOT_WORKING
------------------------------------
Symbols (ver 1.4) [Roberto Fresca, Dave Ormiston]
Symbols (ver 2.5) [Roberto Fresca, Dave Ormiston]
Arrow Bingo [Roberto Fresca, Dave Ormiston]
NFL (ver 109) [Roberto Fresca, Dave Ormiston]
2010-10-10 14:16:08 +00:00
Angelo Salese
67f3668a31 new working game
----------------
Victor 6 [Smitdogg, The Dumping Union]

new NOT WORKING
---------------
Dual Games (prototype) [Smitdogg, The Dumping Union]
2010-10-09 15:08:14 +00:00
Roberto Fresca
a4ad950160 Added new driver for NSM TMS9995 based hardware. [Roberto Fresca]
New games marked as GAME_NOT_WORKING
------------------------------------
NSM Poker (TMS9995) [Roberto Fresca, Team Europe]
2010-10-07 06:29:17 +00:00
Curt Coder
2fa7094eab Added INT1, INT2, INT3, DRQ0, DRQ1, TMRIN0, TMRIN1 input and TMROUT0, TMROUT1 output lines to the Intel 80186 CPU interface. [Curt Coder] 2010-10-06 12:35:12 +00:00
Angelo Salese
e1a32f54d8 Fixed unaligned 16 and 32-bit i/o accesses in i386 CPU core [Barry Rodewald] 2010-09-29 11:42:38 +00:00
Ryan Holtz
179a81a030 Ported over CD-i cleanup from MESS. [Harmony] 2010-09-26 22:08:49 +00:00
Angelo Salese
72c62e09b2 new NOT WORKING
---------------------
Cosplay Heaven 5 [alien_mame, Angelo Salese]
2010-09-26 15:17:06 +00:00
Aaron Giles
dc84302fe5 Added ER2055 device. Changed liberator over to using it. Other Atari games
to follow.
2010-09-21 15:40:32 +00:00
R. Belmont
893c1f3e81 Add skeleton Apple Sound Chip device (no whatsnew) 2010-09-17 02:42:13 +00:00
Aaron Giles
266ad848cf Removed obsolete code detected by the dependency analyzer. 2010-09-14 01:16:38 +00:00
Aaron Giles
db797ba791 New build tool makedep.c, derived from src2html.c (really!).
Does basic dependency analysis and supports excluding paths.

Makefile now supports a depend target which will run makedep
on the src/$(TARGET) tree and create dependencies. It deliberately
excludes the root of src/emu as well as the osd directories in
order to keep the dependency file down to a reasonable size, so
if a core header file changes, you still need to clean and build
all.
2010-09-14 01:15:26 +00:00
Roberto Fresca
01136a7d31 New driver for Golden Games / C+M Technics AG hardware. [Roberto Fresca, Tomasz Slanina]
New games marked as GAME_NOT_WORKING
------------------------------------
Swiss Poker ('50 SG-.10', V2.5) [Roberto Fresca, Tomasz Slanina, Team Europe & Housi]
2010-09-13 01:38:45 +00:00
Phil Bennett
fdc0db7e26 Merged ssgbl.c into megadrvb.c and moved bootleg input definitions
out of megadriv.c [Sonikos]


---------- Forwarded message ----------
From: abcd efgh <cix_999@yahoo.it>
Date: Thu, Sep 2, 2010 at 8:50 PM
Subject: megadrvb.c - ssgbl
To: submit@mamedev.org


Hi

This is the finished work for megadrvb.c:
Merge ssgbl into megadrvb
Moved inputs game from megadriv.c to megadrvb.c
if you use R2 diff i change also the roms names for a better fit the
drive in ending with "mdb" wich means "mega drive bootleg" so the
result is:
aladbl     -> aladmdb
mk3ghw -> mk3mdb
ssf2ghw  -> ssf2mdb
ssgbl       -> srmdb

The R2 diff is the better way but you choose the best for you.

Bye Sonikos
2010-09-10 22:55:22 +00:00
smf-
acaf942e31 added missing file from Atari Ace's submission 2010-09-08 19:45:06 +00:00
Aaron Giles
06e995de5f Removed generic.videoram and generic.videoram_size. These generics
have no core use, they are simply there for the convenience of drivers.  
Now that drivers are required to have devices, the data should move there.
[Atari Ace]

---------- Forwarded message ----------
From: Atari Ace <atari_ace@frontier.com>
Date: Sun, Sep 5, 2010 at 4:45 PM
Subject: [patch] Eliminate generic.videoramm generic.videoram_size
To: submit@mamedev.org
Cc: atariace@hotmail.com


Hi mamedev,

This set of patches removes generic.videoram and
generic.videoram_size.  These generics have no core use, they are
simply there for the convenience of drivers.  Now that drivers are
required to have devices, the data should move there.

The first patch sets the stage for the rest of the patch.  It includes
several changes.
1.  It replaces all the uses of generic.videoram_size with appropriate
constants.
2.  It eliminates the write handlers from pc_video.c.  These are
unused in MAME and MESS appears to have a private copy.
3.  It splits some drivers:
 a.  It separates mcr68 from the mcr driver, mostly by dividing
machine/mcr.c.
 b.  It separates naughtyb from the phoenix driver by introducing an
audio/pleiads.h include.
 c.  It replaces video/system1.h with includes/system1.h.
4.  It fixes some videoram related bugs.
 a.  balsente, mole didn't need videoram.
 b.  sbowling has a dangling reference to videoram from an earlier
driver_data conversion
5.  It expands some namcona functions to multiple lines so that later
scripted-edits look sensible.

The second patch is generated by vram01_1.pl.  It introduces videoram
local variables in function that use videoram read-only and removes
AM_SIZE_GENERIC(videoram).

The third patch is generated by vram01_2.pl.  It replaces all
occurances of generic.videoram with state->videoram,
introducing/modifying driver_device classes as needed.

The fourth patch then actually removes the generics, and fixes one
issue the scripts didn't handle.

~aa
2010-09-08 15:45:46 +00:00
Aaron Giles
6fe9fe53f4 Integrated comments into debugcpu.c, and removed debugcmt.c. Modernized
the code and updated so it actually works with the modern debug classes.
2010-09-05 06:12:47 +00:00
Roberto Fresca
d5f94fa913 New driver for Jubilee's Double-Up Poker. Decoded graphics and colors
properly. Hooked the correct TMS9980 CPU, added a preliminary memory
map and some technical notes. [Roberto Fresca]


New games marked as GAME_NOT_WORKING
------------------------------------
Jubilee Double-Up Poker [Roberto Fresca]
2010-09-05 05:20:43 +00:00
Aaron Giles
5b6c078aeb Added templates required_shared_ptr<> and optional_shared_ptr<> which
work just like required_device<> and optional_device<> for retrieving a
pointer by tag from an address space that specifies AM_SHARE("tag").
Also added templates required_shared_size<> and optional_shared_size<>
for retrieving the size of the AM_SHARE region.

Created a new generic NVRAM device. It can be configured to default to
0-fill, 1-fill, random-fill, or custom fill. In all cases, a same-named
memory region overrides the default fill. The address range where the
NVRAM can be found is now identified by an AM_SHARE() region of the
same tag as the NVRAM device. Drivers can also explicitly configure a
separately-allocated NVRAM region via nvram_device::set_base().

Replaced all instances of MDRV_NVRAM_HANDLER(generic_*) with
MDRV_NVRAM_ADD_*("nvram"). Replaced all AM_BASE_GENERIC/AM_SIZE_GENERIC(nvram)
with AM_SHARE("nvram"). For all remaining drivers that referenced the
generic.nvram directly, changed them to hold a required_shared_ptr<UINTx>
to the NVRAM in their driver state, and use that instead. Removed
nvram and nvram_size from the generic_ptrs.
2010-09-04 17:01:46 +00:00
Aaron Giles
420e1e0ad5 Added include files for all remaining drivers with multiple source files.
[Atari Ace]

---------- Forwarded message ----------
From: Atari Ace <atari_ace@frontier.com>
Date: Sun, Aug 29, 2010 at 10:35 PM
Subject: [patch] Add missing include files for multi-file drivers
To: submit@mamedev.org
Cc: atariace@hotmail.com


Hi mamdev,

Converting a driver to use driver_data requires that multi-file
drivers have a common include file to host the driver_data class. Thus
this patch, which gets ahead of the curve and adds missing include
files to all multi-file drivers (minus ones covered by my last
driver_data patch).  The first patch is include-related cleanup of the
existing drivers.  The second patch then adds ~100 files to
mame/includes.

~aa
2010-09-02 09:13:01 +00:00
Aaron Giles
a7313263b3 Converted sauro, scotrsht, segald, seicross, senjyo, shangha3,
shaolins, shisen, skyraid, solomon, spcforce, speekatk, splash, 
sprcros2, ssozumo, suna16, suna8 to driver_data. [Atari Ace]


---------- Forwarded message ----------
From: Atari Ace <atari_ace@frontier.com>
Date: Sat, Aug 28, 2010 at 9:39 PM
Subject: [patch] Convert various s drivers to driver_data
To: submit@mamedev.org
Cc: atariace@hotmail.com


Hi mamedev,

Another round of driver_data conversions...

sauro, scotrsht, segald, seicross, senjyo, shangha3, shaolins, shisen,
skyraid, solomon, spcforce, speekatk, splash, sprcros2, ssozumo,
suna16, suna8

~aa
2010-09-02 09:04:26 +00:00
Miodrag Milanovic
5319902394 Made MAME compile by adding missing H files restored from files Atari Ace sent (no whatsnew) 2010-08-27 09:03:57 +00:00
Ryan Holtz
e2f6e9c473 Added a set of macros to minimize the amount of copy/pasting necessary to convert a device to the new style. [Harmony] 2010-08-26 01:56:46 +00:00
R. Belmont
65425075d3 New games added as GAME_NOT_WORKING
-----------------------------------
Savage Quest [TrevEB]
2010-08-25 01:11:26 +00:00
Aaron Giles
e38adf825e Added mask-free versions of read_word/read_dword/read_qword to
address_space. Also added unaligned variants that can read
unaligned values. Rewrote the core handler as a template that
handles all cases, along with a simple unit test to verify that
everything is correct.

Updated 68k, v60, i86, and nec cores to use unaligned read/
write instead of their own stubs for handling misalinged reads.

Fixed memory management of ga2 decryption.
2010-08-21 18:40:01 +00:00
Curt Coder
d303a4f17d Imported the Hitachi HCD62121 CPU core from MESS. 2010-08-20 17:32:03 +00:00
Aaron Giles
dd19e512c0 Massive memory system change. This is another step along the path toward
supporting cleaner implementations of drivers in the explicitly OO world.
Expect a follow-on of several more changes to clean up from this one, which
deliberately tried to avoid touching much driver code.

Converted address_space to a class, and moved most members behind accessor
methods, apart from space->machine and space->cpu. Removed external references
to 8le/8be/16le/16be/32le/32be/64le/64be. All external access is now done via
virtual functions read_byte()/read_word()/etc. Moved differentiation between
the endianness and the bus width internal to memory.c, and also added a new
axis to support small/large address spaces, which allows for faster lookups
on spaces smaller than 18 bits. 

Provided methods for most global memory operations within the new address_space 
class. These will be bulk converted in a future update, but for now there are
inline wrappers to hide this change from existing callers.

Created new module delegate.h which implements C++ delegates in a form that 
works for MAME. Details are in the opening comment. Delegates allow member 
functions of certain classes to be used as callbacks, which will hopefully 
be the beginning of the end of fetching the driver_data field in most 
callbacks. All classes that host delegates must derive from bindable_object.
Today, all devices and driver_data do implicitly via their base class.

Defined delegates for read/write handlers. The new delegates are always
passed an address_space reference, along with offset, data, and mask. Delegates
can refer to methods either in the driver_data class or in a device class.
To specify a callback in an address map, just use AM_READ_MEMBER(class, member).
In fact, all existing AM_ macros that take read/write handlers can now accept
delegates in their place. Delegates that are specified in an address map are
proto-delegates which have no object; they are bound to their object when
the corresponding address_space is created.

Added machine->m_nonspecific_space which can be passed as the required
address_space parameter to the new read/write methods in legacy situations 
where the space is not provided. Eventually this can go away but we will
need it for a while yet.

Added methods to the new address_space class to dynamically install delegates
just like you can dynamically install handlers today. Delegates installed this
way must be pre-bound to their object.

Moved beathead's read/write handlers into members of beathead_state as an
example of using the new delegates. This provides examples of both static (via
an address_map) and dynamic (via install_handler calls) mapping using delegates.

Added read/write member functions to okim6295_device as an example of using
delegates to call devices. Updated audio/williams.c as a single example of
calling the device via its member function callbacks. These will be bulk
updated in a future update, and the old global callbacks removed.

Changed the DIRECT_UPDATE_CALLBACKs into delegates as well. Updated all users
to the new function format. Added methods on direct_read_data for configuring the
parameters in a standard way to make the implementation clearer.

Created a simple_list template container class for managing the common
singly-linked lists we use all over in the project.

Many other internal changes in memory.c, mostly involving restructuring the code
into proper classes.
2010-08-19 06:57:51 +00:00
Angelo Salese
9000eb69e3 Improved video emulation to the Aristocrat MK-5, added bare-bones VIDC DMA transfer and timings, added 8bpp mode [Angelo Salese] 2010-08-18 20:37:01 +00:00
Phil Bennett
9ddee4ab77 Merged topshoot into the megadrvb driver (formerly genesisb) [Sonikos]
---------- Forwarded message ----------
From: abcd efgh <cix_999@yahoo.it>

- Hide quoted text -
Date: Sat, Aug 14, 2010 at 8:41 PM
Subject: topshoot/genesisb
To: submit@mamedev.org


Hi

I merge topshoot into genesisb driver.

bye sonikos
2010-08-16 12:16:19 +00:00
Angelo Salese
4201afbb6d new NOT WORKING
----------------
Olympic Hot Stuff [Ogoun]
2010-08-13 09:59:00 +00:00
mariuszw1
793c0fd358 Added sound support to Signetics S2636 (by using VC4000 sound support from MESS). Hooked up sound to Malzak, Galaxia and Astro Wars [Mariusz Wojcieszek] 2010-08-12 19:45:01 +00:00
Phil Bennett
f3581568d8 Merged aladbl.c and ssf2md.c to create genesisb.c [Sonikos]
---------- Forwarded message ----------
From: abcd efgh <cix_999@yahoo.it>
Date: Mon, Aug 9, 2010 at 7:51 PM
Subject: genesisb.c
To: submit@mamedev.org


Hi everybody !
I made just a little work, i moved ssf2md  in to aladinb.c driver and
renamed this one genesisb.c for create a new driver for all the
Genesis\Megadrive bootleg.

Bye Sonikos.
2010-08-11 19:12:32 +00:00
Angelo Salese
d310259357 More refactoring to the Toaplan 2 / GP9001 VDP device [David Haywood] 2010-08-09 10:48:14 +00:00
Andrew Gardner
26d3ec3244 plygonet.c : Updates Polygonet driver to use driver_data class. [Atari Ace] 2010-08-08 07:07:15 +00:00
Andrew Gardner
0946c173cb dsp56k : Hooked up new execution engine. [Andrew Gardner] 2010-08-07 18:42:59 +00:00
Phil Bennett
cf66ab4463 New games added or promoted from NOT_WORKING
--------------------------------------------
The Last Starfighter (prototype) [Phil Bennett, Ken Van Mersbergen]
Air Race (prototype) [Phil Bennett, Ken Van Mersbergen]
2010-08-07 17:32:54 +00:00
Aaron Giles
ff3f202d0a Convert seta.c, seta2.c, and ssv.c to driver_data. [Atari Ace]
--

From: Atari Ace <atari_ace@frontier.com>
Date: Tue, Aug 3, 2010 at 3:03 PM
Subject: [patch] Convert seta/seta2/ssv to driver_data
To: submit@mamedev.org
Cc: atariace@hotmail.com


Hi mamedev,

This patch removes all global variables from seta.c, seta2.c and
ssv.c.  The number of AM_BASE() macros drops by 4% from 3111 to 2989.

Note: ssv.h and seta2.h are new files.

~aa
2010-08-04 15:58:29 +00:00
Andrew Gardner
7543a1a9a4 The dsp561xx CPU core now generates accurate disassembly for Konami Polygonet hardware
(verified against Motorola's reference disassembler). [Andrew Gardner, Stiletto]
2010-08-04 05:11:00 +00:00
Aaron Giles
fe47da274e Return to type safety. Changed address maps back into functions that build
up the definition, rather than the whole tokenizing system, which lost type
checking. Added a new module addrmap.c which implements the address map
classes, and changed the macros to call methods on the address_map and
address_map_entry classes which are strongly typed.

Fixed a few incorrectly specified memory map entries along the way. Please
double-check to make sure the behavior is expected in: twincobr.c, lordgun.c,
galaxold.c.

This change also means that since the address_maps are now constructor
functions, they are detected when not used, so a number of #ifdef UNUSED_CODE
were added around dangling address map definitions.

Also included with this change:
- removed cputag_clocks_to_attotime() and cputag_attotime_to_clocks() in
   favor of just expanding the class
- same for cputag_suspend() and cputag_resume()
2010-08-01 21:04:03 +00:00
Roberto Fresca
811ee9874e New driver for Mega Double Poker, from Blitz System Inc. [Roberto Fresca]
* Initial release.
 * Preliminary memory map.
 * Hooked both PIAs, but need more analysis to confirm the offsets.
 * Accurate graphics and color decode.
 * Added main PCB and daughterboard layouts.
 * Added partial docs and diagrams about the CPU/MCU/ROMs addressing.
 * Added debug and technical notes.


New games marked as GAME_NOT_WORKING
------------------------------------
Mega Double Poker (conversion kit) [Roberto Fresca, ChrisQC, Smitdogg]
2010-07-30 21:06:28 +00:00
Quench
08c2ad802e Added Ameri Darts internal DSP dump and TMS32015 support to the
Amerdart driver. Also added savestate support to the game.
[Dr Decapitator, Quench]
2010-07-20 16:11:46 +00:00
Phil Bennett
e848cb8bb7 Various improvements to polepos.c [Alex Jackson]:
* Corrected the way the steering wheel is hooked up, fixing the jittery
   steering in the sets with MCUs.
 * Added a new layout file for the bootleg sets without MCUs (topracern and polepos2bi).
 * Converted clock frequencies to crystal values from xtal.c.
 * Added correct ROM names for the Namco-manufactured sets (polepos and polepos2).
 * Completely removed the unused global variable polepos_gear_bit.
 * Fixed a couple of bootleg ROMs that were very likely bit-rotted.
2010-07-15 11:05:38 +00:00
R. Belmont
018a21fa53 Add *IX man pages for MAME and utils [wallyweek] 2010-07-08 14:18:07 +00:00
smf-
c13eb4d193 turned i2cmem into a c++ device & ditched the unused legacy device. 2010-07-07 13:05:02 +00:00
Nicola Salmoria
0664448c9d divided segacrpt.c in two files, one for the old encryption and one for the new one. 2010-07-05 19:38:55 +00:00
Miodrag Milanovic
c14878e59a Imported image related utils from MESS into /lib/util [Miodrag Milanovic] 2010-07-05 10:19:05 +00:00
Aaron Giles
733b797a3d Split mame.c into mame.c and machine.c, the latter containing the
running_machine definition and implementation.

Moved global machine-level operations and accessors into methods on the
running_machine class. For the most part, this doesn't affect drivers
except for a few occasional bits:

  mame_get_phase() == machine->phase()
  add_reset_callback() == machine->add_notifier(MACHINE_NOTIFY_RESET, ...)
  add_exit_callback() == machine->add_notifier(MACHINE_NOTIFY_EXIT, ...)
  mame_get_base_datetime() == machine->base_datetime()
  mame_get_current_datetime() == machine->current_datetime()

Cleaned up the region_info class, removing most global region accessors
except for memory_region() and memory_region_length(). Again, this doesn't
generally affect drivers.
2010-06-30 03:46:21 +00:00
Phil Bennett
6fa25e5c9a aristmk4: various improvements: [FrasheR, Palindrome]
* Fixed VIA for good. 5010 - 501F
* Hooked up push button inputs
* Hooked up ports for the PML 2852 U3
* Implemented coin input
* Lamp output and button layout
* NVRAM backup
* Connected SW7 for BG colour map select
* Added LK13. 3MHz or 1.5 MHz CPU speed select
* Added sound sample for mechanical meter pulse
* Replaced custom RTC code with MC146818
2010-06-27 14:42:45 +00:00
Phil Bennett
b94bf9156b Hooked up Daikaiju no Gyakushu 68705 MCU and removed MCU simulation code [Phil Bennett, Dr. Decapitator] 2010-06-26 20:34:51 +00:00
Aaron Giles
29b6b0de41 C++-ified the debugger views. Not quite architecturally where I would
like them, but it's a start. Split implementation of individual view
types out to separate files. Updated all callers.

Also:
 * fixed okim6295 memory view
 * changed emualloc to free resource pools from earliest to latest
    so that early objects can safely clean up stuff they allocated
2010-06-25 05:11:42 +00:00
Miodrag Milanovic
ea8dd94677 - Moved ioproc implementation from MESS [Miodrag Milanovic]
- Implemented more image device calls, and did some cleanup (no whatsnew)
2010-06-23 19:35:49 +00:00