Commit Graph

14852 Commits

Author SHA1 Message Date
Aaron Giles
52ccf5ffbc Fixed disk loading so that it handles full region tags. Fixes laserdisc
and hard disk based games falling over.

Upgraded gottlieb driver to render RGB32 to fix laserdisc overlays.

Improved out-of-bounds pixel detection helper.
2012-01-27 06:54:34 +00:00
Angelo Salese
f70b07ffe5 Minor input fixes 2012-01-26 23:58:19 +00:00
Phil Bennett
ab2640c4f7 Rewrote i386 x87 emulation: [Phil Bennett]
* Use SoftFloat arithmetic functions
 * Implemented tag word updates
 * Implemented status word/exception flag updates
 * Implemented stack underflow/overflow behaviour
2012-01-26 23:20:52 +00:00
Angelo Salese
d837e9b9a0 Regression fixes, nw 2012-01-26 22:02:52 +00:00
Aaron Giles
96101a5bd0 Change device reset so that the resets proceed hierarchically. Added
a device_reset_after_children() hook for things that need to wait for
the children to finish. Moved calling the driver/machine/sound/video
reset callbacks to the after children time, to align more with how it
was happening before.

Fixed siblingdevice("") so that it returns the current device and not
the owner.
2012-01-26 21:16:17 +00:00
Aaron Giles
eb79c00418 Wrapped the global_resource_pool into a function in an attempt to
ensure it is initialized before anyone that references it.
2012-01-26 20:35:51 +00:00
Aaron Giles
bc6f400f27 Fix NVRAM file naming. 2012-01-26 20:06:30 +00:00
Miodrag Milanovic
6b857b37e0 i386: FPU rewritten using softfloat [Carl] 2012-01-26 19:13:47 +00:00
Angelo Salese
829b301e47 Major overhaul of VGA memory handlers, added monochrome emulation and fixed text banking while at it [Angelo Salese]" 2012-01-26 19:11:41 +00:00
Scott Stone
1c2336db09 Fix for n8080.c - "warning: Device ':' does not have execute interface" (nw) 2012-01-26 18:06:08 +00:00
Scott Stone
cfcd53f38d Fix warning for hparadis (nw) 2012-01-26 16:49:31 +00:00
Miodrag Milanovic
510d4caf5e Clean it a bit (no whatsnew) 2012-01-26 15:19:53 +00:00
Miodrag Milanovic
b5450315d5 fixed idectrl regression (no whatsnew) 2012-01-26 15:17:35 +00:00
Miodrag Milanovic
c3aa030ebf Fix for slot validation, all device related options are removed when doing validation, otherwise wrong data could be used (no whatsnew) 2012-01-26 12:41:49 +00:00
mahlemiut
7e6dddf66c pc_vga: fixed start address in text mode (no whatsnew) 2012-01-26 10:54:28 +00:00
Miodrag Milanovic
960b0edc75 Sync with MESS, including OG's fix for exiting with debugger active (no whatsnew) 2012-01-26 10:28:50 +00:00
Angelo Salese
7c58c635f0 (Fix for MT #4508 plus) Converted Lemmings to use the Deco sprite device [David Haywood] 2012-01-25 21:40:14 +00:00
Michaël Banaan Ananas
2fef1991e1 rv 15131 2012-01-25 16:29:41 +00:00
Michaël Banaan Ananas
c51800d329 most screen eof regression fixes could be reverted after core fix 2012-01-25 16:08:33 +00:00
Miodrag Milanovic
fa10190461 Parameter names are now without : (no whatsnew) 2012-01-25 15:20:11 +00:00
Miodrag Milanovic
5c4409b557 Fixed ram size regression (no whatsnew) 2012-01-25 11:10:18 +00:00
Miodrag Milanovic
6f77f33932 Fixed cga port find regression (no whatsnew) 2012-01-25 11:07:00 +00:00
Miodrag Milanovic
41324054a1 Fixed pcap network device search [Carl] 2012-01-25 09:56:25 +00:00
Miodrag Milanovic
64c1384e15 Sync with MESS (no whatsnew) 2012-01-25 09:52:18 +00:00
Michaël Banaan Ananas
739a840724 from Haze: flush ram with $FF 2012-01-25 08:11:41 +00:00
Aaron Giles
25babce0fb MT04633 - permit visarea to exceed width/height, and allocate
screen bitmaps based on the larger of the two.
2012-01-25 08:11:36 +00:00
Miodrag Milanovic
490caec751 Ah, removed log change (no whatsnew) 2012-01-25 07:50:47 +00:00
Miodrag Milanovic
fb6f3baacb Fix for get_card_device() (no whatsnew) 2012-01-25 07:49:13 +00:00
Aaron Giles
8e3f4a3056 MT04638. Actually fixed by the previous change, but the 3d graphics
were rendered skewed.
2012-01-25 06:14:32 +00:00
Aaron Giles
651e9aa99b Move screen update to happen prior to calling the vblank callbacks.
Solves MT04639 and probably a lot more issues. In fact, most of hap's
recent changes to handling things on the falling edge are unnecessary 
now.
2012-01-25 05:54:23 +00:00
Aaron Giles
9a976893cd MT04643 2012-01-25 05:43:16 +00:00
Aaron Giles
d60015dc9d Add -Woverloaded-virtual to catch mismatched overloaded
function signatures.
2012-01-25 05:11:03 +00:00
Scott Stone
28e649cdc6 Deadly printf spam when running ironfortj (~250mb of text!) (nw) 2012-01-25 02:12:30 +00:00
Brian Troha
ee71b3726b new clone added: Rapid Fire V1.1 Build 238
New Clone Added
-------------------------------
Rapid Fire v1.1 (Build 238) [Brian Troha, The Dumping Union]
2012-01-24 23:35:28 +00:00
Angelo Salese
e4e7328eac Support for CGA emulation for VGA, nw 2012-01-24 22:18:23 +00:00
Angelo Salese
2a99ac99ef Improvements to Super Bubble Pop from iq_132, nw 2012-01-24 21:56:14 +00:00
Aaron Giles
48a2c8260d Disable -createcdflac for now. The CHDs produced are not
compatible with existing v4 CHD readers, so I don't want
these out in the wild. We will need a version bump to add 
this support properly.

I'll tackle this next (after fixing recent regressions).
2012-01-24 20:31:12 +00:00
Aaron Giles
ed0207f126 Move devices into a proper hierarchy and handle naming
and paths consistently for devices, I/O ports, memory
regions, memory banks, and memory shares. [Aaron Giles]

NOTE: there are likely regressions lurking here, mostly
due to devices not being properly found. I have temporarily
added more logging to -verbose to help understand what's
going on. Please let me know ASAP if anything that is being
actively worked on got broken.

As before, the driver device is the root device and all 
other devices are owned by it. Previously all devices
were kept in a single master list, and the hierarchy was
purely logical. With this change, each device owns its
own list of subdevices, and the hierarchy is explicitly
manifest. This means when a device is removed, all of its
subdevices are automatically removed as well.

A side effect of this is that walking the device list is
no longer simple. To address this, a new set of iterator
classes is provided, which walks the device tree in a depth
first manner. There is a general device_iterator class for
walking all devices, plus templates for a device_type_iterator
and a device_interface_iterator which are used to build
iterators for identifying only devices of a given type or
with a given interface. Typedefs for commonly-used cases
(e.g., screen_device_iterator, memory_interface_iterator)
are provided. Iterators can also provide counts, and can
perform indexed lookups.

All device name lookups are now done relative to another 
device. The maching_config and running_machine classes now
have a root_device() method to get the root of the hierarchy. 
The  existing machine->device("name") is now equivalent to
machine->root_device().subdevice("name").

A proper and normalized device path structure is now
supported. Device names that start with a colon are
treated as absolute paths from the root device. Device
names can also use a caret (^) to refer to the owning
device. Querying the device's tag() returns the device's
full path from the root. A new method basetag() returns
just the final tag.

The new pathing system is built on top of the 
device_t::subtag() method, so anyone using that will 
automatically support the new pathing rules. Each device
has its own internal map to cache successful lookups so
that subsequent lookups should be very fast.

Updated every place I could find that referenced devices,
memory regions, I/O ports, memory banks and memory shares
to leverage subtag/subdevice (or siblingtag/siblingdevice
which are built on top).

Removed the device_list class, as it doesn't apply any
more. Moved some of its methods into running_machine
instead.

Simplified the device callback system since the new 
pathing can describe all of the special-case devices that
were previously handled manually.

Changed the core output function callbacks to be delegates.

Completely rewrote the validity checking mechanism. The
validity checker is now a proper C++ class, and temporarily
takes over the error and warning outputs. All errors and 
warnings are collected during a session, and then output in
a consistent manner, with an explicit driver and source file
listed for each one, as well as additional device and/or
I/O port contexts where appropriate. Validity checkers 
should no longer explicitly output this information, just
the error, assuming that the context is provided.

Rewrote the software_list_device as a modern device, getting
rid of the software_list_config abstraction and simplifying
things.

Changed the way FLAC compiles so that it works like other
external libraries, and also compiles successfully for MSVC
builds.
2012-01-24 20:18:55 +00:00
Angelo Salese
f2ed9c39ed Fix for MESS from Judge, nw 2012-01-24 19:56:14 +00:00
Scott Stone
fc7912c26d Add 3 missing sets to mame.lst (nw) 2012-01-24 19:33:47 +00:00
Miodrag Milanovic
f5bc617cd6 changes from MESS (nw) 2012-01-24 15:48:12 +00:00
Miodrag Milanovic
baede7ac49 typo (nw) 2012-01-24 15:11:54 +00:00
Yasuhiro Ogawa
2a17e22a1f added some info (no whatsnew)
anonymous contributor gave me bunch of CD-ROMs, DVD-ROMs, GD-ROMs and dongles. I'll eventually dump them (or send them to someone to dump).
2012-01-24 14:57:39 +00:00
Miodrag Milanovic
af659db4a0 Exposing read/write handlers of pc_vga (no whatsnew) 2012-01-24 14:33:41 +00:00
Miodrag Milanovic
76c4166f7f Some VGA cleanup and refactoring (no whatsnew) 2012-01-24 14:16:25 +00:00
Miodrag Milanovic
9368cce90f sync with MESS, it's just cleanup :) (nw) 2012-01-24 08:52:33 +00:00
Miodrag Milanovic
be86025142 Added DMF support in pc_dsk (no whatsnew) 2012-01-24 08:38:33 +00:00
Roberto Fresca
aeb14e2f82 Added Pluto 5 technical notes about clocks, EPROM config,
and addresses/data scrambling for different EPROM types
on 16-bit mode. [Roberto Fresca]
2012-01-24 03:13:11 +00:00
Michaël Banaan Ananas
94c182fdd5 MT 4620 2012-01-24 03:02:39 +00:00
Michaël Banaan Ananas
953b957e80 fix s1945bl missing sprites 2012-01-24 01:37:06 +00:00