Sorry, clean build needed again...
Allow ioport_array finders to be given a single base tag as an
alternative to an array of tags. This alternative syntax is exactly
the same as shared_ptr_array. This form makes more sense when the
individual "ports" don't really have human-meaningful names
(e.g. rows of a keyboard matrix)
Note that just as with shared_ptr_array, you need a period between
the base tag (as specified in the constructor) and the index.
Updated odyssey2.c using this form of ioport_array. [Alex Jackson]
Clean build probably needed since this touches a core header file.
ioport_array_finder is a new device finder template for finding,
unsurprisingly, an array of ioports. It is mainly intended to
help handle multiplexed ioports without runtime tagmap lookups
in a more elegant way than was previously possible.
It is similar in principle to shared_ptr_array_finder; however,
rather than passing a single tag that gets automatically decorated
with numeric suffixes, you need to pass an array of tags (this is so
ioports can continue to have human-meaningful tags rather than the
tags being forced by how the hardware multiplexing happens to work).
Because C++ doesn't have array literals, and because most driver
state class constructors are defined in header files, the semantics
are a little different from other device finders (and possibly
awkward/suboptimal, this is the best I could think of). You have to
declare the array of tags as a static class member and define it
somewhere in a source file (defining it near the function that
actually reads the multiplexed ports seems like the most logical
place to me).
Updated bladestl.c to use ioport_array_finder; will wait for Micko to
pass judgement on the semantics before updating more drivers.
- 5 more BAD_DUMP GD-ROMs redumped from source
- All SHA1s updated to latest. 'chdman copy' on existing valid CHDs will update your files to the new SHA1s.
New clones added
----------------
Initial D Arcade Stage (Export) (Rev A) (GDS-0025A) [Ripper006, MetalliC]