mirror of
https://github.com/holub/mame
synced 2025-06-04 20:06:28 +03:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
98070ae9a3
@ -48,7 +48,7 @@ Fedora Linux
|
||||
|
||||
You'll need a few prerequisites from your distro. Make sure you get SDL2 2.0.3 or 2.0.4 as earlier versions are buggy.
|
||||
|
||||
**sudo yum install gcc gcc-c++ SDL2-devel SDL2_ttf-devel libXinerama-devel qt5-qtbase-devel qt5-qttools expat-devel fontconfig-devel**
|
||||
**sudo dnf install gcc gcc-c++ SDL2-devel SDL2_ttf-devel libXinerama-devel qt5-qtbase-devel qt5-qttools expat-devel fontconfig-devel alsa-lib-devel**
|
||||
|
||||
Compilation is exactly as described above in All Platforms.
|
||||
|
||||
|
@ -9,40 +9,57 @@ creating address spaces, to which address maps can be associated.
|
||||
It's used for any device that provides a (logically) address/data bus
|
||||
other devices can be connected to. It's mainly, but not only, cpus.
|
||||
|
||||
The interface allows for up to four address spaces, numbered 0-3, with
|
||||
symbolic names associated to them in emumem.h for historical reasons.
|
||||
The interface allows for an unlimited set of address spaces, numbered
|
||||
with small positive values. The IDs should stay small because they
|
||||
index vectors to keep the lookup fast. Spaces number 0-3 have an
|
||||
associated constant name:
|
||||
|
||||
+------------+-------------+----------------------+
|
||||
| Numeric ID | Symbolic ID | Symbolic name |
|
||||
+============+=============+======================+
|
||||
| 0 | AS_0 | AS_PROGRAM |
|
||||
+------------+-------------+----------------------+
|
||||
| 1 | AS_1 | AS_DATA |
|
||||
+------------+-------------+----------------------+
|
||||
| 2 | AS_2 | AS_IO |
|
||||
+------------+-------------+----------------------+
|
||||
| 3 | AS_3 | AS_DECRYPTED_OPCODES |
|
||||
+------------+-------------+----------------------+
|
||||
+----+---------------+
|
||||
| ID | Name |
|
||||
+====+===============+
|
||||
| 0 | AS_PROGRAM |
|
||||
+----+---------------+
|
||||
| 1 | AS_DATA |
|
||||
+----+---------------+
|
||||
| 2 | AS_IO |
|
||||
+----+---------------+
|
||||
| 3 | AS_OPCODES |
|
||||
+----+---------------+
|
||||
|
||||
Spaces 0 and 3, e.g. AS_PROGRAM and AS_OPCODE, are special for the
|
||||
debugger and some CPUs. AS_PROGRAM is use by the debugger and the
|
||||
cpus as the space from with the cpu reads its instructions for the
|
||||
disassembler. When present, AS_OPCODE is used by the debugger and
|
||||
some cpus to read the opcode part of the instruction. What opcode
|
||||
means is device-dependant, for instance for the z80 it's the initial
|
||||
byte(s) which are read with the M1 signal asserted. For the 68000 is
|
||||
means every instruction word plus the PC-relative accesses. The main,
|
||||
but not only, use of AS_OPCODE is to implement hardware decrypting
|
||||
instructions separately from the data.
|
||||
|
||||
2. Setup
|
||||
--------
|
||||
|
||||
| const address_space_config *\ **memory_space_config**\ (address_spacenum spacenum) const
|
||||
| std::vector<std::pair<int, const address_space_config *>>\ **memory_space_config**\ (int spacenum) const
|
||||
|
||||
The device must override that method to provide a vector of pairs
|
||||
comprising of a space number and its associated
|
||||
**address_space_config** describing its configuration. Some examples
|
||||
to look up when needed:
|
||||
* Standard two-space vector: v60_device
|
||||
* Conditional AS_OPCODE: z80_device
|
||||
* Inherit config and add a space: m6801_device
|
||||
* Inherit config and patch a space: tmpz84c011_device
|
||||
|
||||
The device must override that method to provide, for each of the four
|
||||
address spaces, either an **address_space_config** describing the
|
||||
space's configucation or **nullptr** if the space is not to be
|
||||
created.
|
||||
|
||||
| bool **has_configured_map**\ () const
|
||||
| bool **has_configured_map**\ (int index) const
|
||||
| bool **has_configured_map**\ (address_spacenum index) const
|
||||
|
||||
The **has_configured_map** method allows to test in the
|
||||
**memory_space_config** method whether an **address_map** has been
|
||||
associated with a given space. That allows to implement optional
|
||||
memory spaces, such as AS_DECRYPTED_OPCODES in certain cpu cores. The
|
||||
parameterless version tests for AS_PROGRAM/AS_0.
|
||||
memory spaces, such as AS_OPCODES in certain cpu cores. The
|
||||
parameterless version tests for space 0.
|
||||
|
||||
3. Associating maps to spaces
|
||||
-----------------------------
|
||||
@ -71,29 +88,28 @@ derivative.
|
||||
|
||||
| address_space &\ **space**\ () const
|
||||
| address_space &\ **space**\ (int index) const
|
||||
| address_space &\ **space**\ (address_spacenum index) const
|
||||
|
||||
Returns a given address space post-initialization. The parameterless
|
||||
version tests for AS_PROGRAM/AS_0. Aborts if the space doesn't exist.
|
||||
|
||||
| bool **has_space**\ () const
|
||||
| bool **has_space**\ (int index) const
|
||||
| bool **has_space**\ (address_spacenum index) const
|
||||
|
||||
Indicates whether a given space actually exists. The parameterless
|
||||
version tests for AS_PROGRAM/AS_0.
|
||||
|
||||
|
||||
5. Weird/to deprecate stuff
|
||||
---------------------------
|
||||
5. MMU support for disassembler
|
||||
-------------------------------
|
||||
|
||||
| bool **translate**\ (address_spacenum spacenum, int intention, offs_t &address)
|
||||
| bool **read**\ (address_spacenum spacenum, offs_t offset, int size, UINT64 &value)
|
||||
| bool **write**\ (address_spacenum spacenum, offs_t offset, int size, UINT64 value)
|
||||
| bool **readop**\ (offs_t offset, int size, UINT64 &value)
|
||||
| bool **translate**\ (int spacenum, int intention, offs_t &address)
|
||||
|
||||
These methods override how the debugger accesses memory for a cpu.
|
||||
Avoid them if you can. Otherwise, prepare for heavy-duty spelunking in
|
||||
complicated code.
|
||||
Does a logical to physical address translation through the device's
|
||||
MMU. spacenum gives the space number, intention the type of the
|
||||
future access (TRANSLATE_(READ|WRITE|FETCH)(|_USER|_DEBUG)) and
|
||||
address is an inout parameter with the address to translate and its
|
||||
translated version. Should return true if the translation went
|
||||
correctly, false if the address is unmapped.
|
||||
|
||||
If really required, should probably be part of cpu_device directly.
|
||||
Note that for some historical reason the device itself must override
|
||||
the virtual method **memory_translate** with the same signature.
|
||||
|
555
hash/ibm5150.xml
555
hash/ibm5150.xml
@ -5344,6 +5344,22 @@ has been replaced with an all-zero block. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="batlches">
|
||||
<description>Battle Chess</description>
|
||||
<year>1988</year>
|
||||
<publisher>Interplay</publisher>
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Battle Chess (1988)(Interplay)(Disk 1 of 2)[cp codebook].dsk" size="737280" crc="21763440" sha1="680ebdcd55b52910df9bd92792f12df5e80d9412" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Battle Chess (1988)(Interplay)(Disk 2 of 2)[cp codebook].dsk" size="737280" crc="8c0a720f" sha1="9a0b9b8adda97a65da4b2a1490c31f605dfef4a8" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="bivouac">
|
||||
<!-- Dumped via Kryoflux, shows as good and unmodified -->
|
||||
<description>Bivouac</description>
|
||||
@ -5356,6 +5372,28 @@ has been replaced with an all-zero block. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="bladestl">
|
||||
<description>Blades of Steel</description>
|
||||
<year>1990</year>
|
||||
<publisher>Konami</publisher>
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Blades of Steel (1990)(Konami).dsk" size="737280" crc="9e2ecf8b" sha1="9339e576516b1f36a93a9fb7c0e9c8b3e1f7dabb" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="bdashkit" supported="no">
|
||||
<description>Boulder Dash Construction Kit</description>
|
||||
<year>1987</year>
|
||||
<publisher>Epyx</publisher>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Boulder Dash Construction Kit (1987)(Epyx).dsk" size="368640" crc="7edab8e9" sha1="d2654da37cedc62e723bc516f6b8aa04698faaee" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="bublbobl">
|
||||
<description>Bubble Bobble</description>
|
||||
<year>1989</year>
|
||||
@ -5414,6 +5452,17 @@ has been replaced with an all-zero block. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="cvania">
|
||||
<description>Castlevania</description>
|
||||
<year>1990</year>
|
||||
<publisher>Konami</publisher>
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="CastleVania (1990)(Konami).dsk" size="737280" crc="85d15847" sha1="31d2fae8cd7036c73500c31812b6c7abf2733b08" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="caveugh">
|
||||
<description>Caveman Ugh-Lympics</description>
|
||||
<year>1988</year>
|
||||
@ -5583,6 +5632,17 @@ has been replaced with an all-zero block. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="cycles">
|
||||
<description>The Cycles</description>
|
||||
<year>1989</year>
|
||||
<publisher>Accolade</publisher>
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Cycles, The (1989)(Accolade).dsk" size="737280" crc="7912f6ea" sha1="372e3ecb424556bd3dea4723138e66f952117cad" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="dmnstomb">
|
||||
<description>Demon's Tomb - The Awakening</description>
|
||||
<year>1989</year>
|
||||
@ -5682,6 +5742,31 @@ has been replaced with an all-zero block. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="ddribble">
|
||||
<description>Double Dribble</description>
|
||||
<year>1990</year>
|
||||
<publisher>Konami</publisher>
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Double Dribble (1990)(Konami).dsk" size="737280" crc="bec01cfc" sha1="308fb5a352c667ed191cfae93ad8964beee6ff05" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="earlweav">
|
||||
<description>Earl Weaver Baseball</description>
|
||||
<year>1989</year>
|
||||
<publisher>Electronic Arts</publisher>
|
||||
<info name="developer" value="Mirage Graphics" />
|
||||
<info name="version" value="1.5" />
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<feature name="disk_serial" value="338802" />
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Earl Weaver Baseball [Electronic Arts] [1989] [3.5].img" size="737280" crc="8fa1a0bf" sha1="70f584be42d2b7687b0c24f4d7f11e8e27ed1def" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="ferrarf1">
|
||||
<description>Ferrari Formula One</description>
|
||||
<year>1989</year>
|
||||
@ -5710,6 +5795,38 @@ has been replaced with an all-zero block. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="futurwar">
|
||||
<description>Future Wars - Adventures in Time</description>
|
||||
<year>1990</year>
|
||||
<publisher>Interplay</publisher>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Future Wars - Adventures in Time (1990)(Interplay)(Disk 1 of 3).dsk" size="368640" crc="c87b4f53" sha1="3b3f301a197e2eac53a52168f5ce86876886b74b" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Future Wars - Adventures in Time (1990)(Interplay)(Disk 2 of 3).dsk" size="368640" crc="b5a7f0af" sha1="278554294174dc14c7b96cdf9780d6790ae25b93" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop3" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Future Wars - Adventures in Time (1990)(Interplay)(Disk 3 of 3).dsk" size="368640" crc="2f54bdc2" sha1="33fd871aa3607bcb1bad4c3939edf6c06045c29e" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="gedgsamp">
|
||||
<description>Gamer's Edge Sampler - Catacomb and Dangerous Dave</description>
|
||||
<year>1991</year>
|
||||
<publisher>Softdisk</publisher>
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Gamer's Edge Sampler - Catacomb and Dangerous Dave (1991)(Softdisk).dsk" size="737280" crc="9fb65c57" sha1="f41ef17bc493fcd950b36d0cd3179430b23a0a94" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="goldrush">
|
||||
<description>Gold Rush (Version 2.01, 5.25")</description>
|
||||
<year>1988</year>
|
||||
@ -5806,14 +5923,43 @@ has been replaced with an all-zero block. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="armorik">
|
||||
<description>Les 8 Conquêtes d'Armorik le Viking</description>
|
||||
<year>1988</year>
|
||||
<publisher>Infogrames</publisher>
|
||||
<info name="developer" value="Frédéric Sénégas" />
|
||||
<software name="hardbal2">
|
||||
<description>Hardball 2</description>
|
||||
<year>1989</year>
|
||||
<publisher>Accolade</publisher>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<feature name="part_id" value="Disk 1"/>
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Armorik le Viking (Fr).img" size="368640" crc="3445e3da" sha1="c3496901029e162c0e59a028a28e3c6286ca987f" offset="0"/>
|
||||
<rom name="Hardball 2 [Accolade] [1989] [5.25] [1].img" size="368640" crc="9fa0cbd1" sha1="049fa2adfd77f47f0c64e75874bdd769c2653a9e" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_5_25">
|
||||
<feature name="part_id" value="Disk 2"/>
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Hardball 2 [Accolade] [1989] [5.25] [2].img" size="368640" crc="566ac0a8" sha1="206f75810db32bc33c570f4bd199ed180ee467b0" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop3" interface="floppy_5_25">
|
||||
<feature name="part_id" value="Data Disk"/>
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Hardball 2 [Accolade] [1989] [5.25] [Data].img" size="368640" crc="4add75f6" sha1="bc58b7c0dfda0fe94d0f84f75b0a8fa8c1ec46b9" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="herolanc">
|
||||
<description>Heroes of the Lance</description>
|
||||
<year>1991</year>
|
||||
<publisher>SSI</publisher>
|
||||
<info name="version" value="1.0" />
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Heroes of the Lance (1991)(SSI)(Disk 1 of 2).dsk" size="737280" crc="7b01edba" sha1="e34f64f9059c0631f41c871bad786e5b3086c359" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Heroes of the Lance (1991)(SSI)(Disk 2 of 2).dsk" size="737280" crc="a11712fe" sha1="45ac0bd7f42e30f0ebd0ebd1c6455afb477ff563" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
@ -5831,6 +5977,18 @@ has been replaced with an all-zero block. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="armorik">
|
||||
<description>Les 8 Conquêtes d'Armorik le Viking</description>
|
||||
<year>1988</year>
|
||||
<publisher>Infogrames</publisher>
|
||||
<info name="developer" value="Frédéric Sénégas" />
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Armorik le Viking (Fr).img" size="368640" crc="3445e3da" sha1="c3496901029e162c0e59a028a28e3c6286ca987f" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="huntred">
|
||||
<!-- 1994 Slash Corporation re-release -->
|
||||
<description>The Hunt for Red October</description>
|
||||
@ -5946,6 +6104,18 @@ has been replaced with an all-zero block. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="madden">
|
||||
<description>John Madden Football</description>
|
||||
<year>1989</year>
|
||||
<publisher>Electronic Arts</publisher>
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<feature name="disk_serial" value="347102" />
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="John Madden Football [Electronic Arts] [1989] [3.5].img" size="737280" crc="6d70c5cd" sha1="9acae820477eda9606487eacfb2c1aa2a3e20a68" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="jordbird">
|
||||
<description>Jordan vs. Bird: One on One</description>
|
||||
<year>1988</year>
|
||||
@ -5985,6 +6155,18 @@ has been replaced with an all-zero block. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="kbounty">
|
||||
<!-- Dumped via Kryoflux, track 0 shows as modified -->
|
||||
<description>King's Bounty</description>
|
||||
<year>1991</year>
|
||||
<publisher>New World Computing</publisher>
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size="737280">
|
||||
<rom name="king's bounty.img" size="737280" crc="267624e2" sha1="763a5014008f46f93a13c822377c41965c09a1f8" offset="0" status="baddump" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="kingqst4_35" cloneof="kingqst4">
|
||||
<!-- Dumped via Kryoflux, shows as good and unmodified -->
|
||||
<description>King's Quest IV: The Perils of Rosella (Version #2.2, 3.5")</description>
|
||||
@ -6082,6 +6264,18 @@ has been replaced with an all-zero block. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="lakecelt">
|
||||
<description>Lakers vs Celtics and the NBA Playoffs</description>
|
||||
<year>1989</year>
|
||||
<publisher>Electronic Arts</publisher>
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<feature name="disk_serial" value="361302" />
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Lakers Versus Celtics [Electronic Arts] [1989] [3.5].img" size="737280" crc="250b9754" sha1="ddabfc228055d876ba249407235ac7fe3b2b5d1c" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="lasrsurg">
|
||||
<description>Laser Surgeon - The Microscopic Mission</description>
|
||||
<year>1987</year>
|
||||
@ -6173,6 +6367,54 @@ has been replaced with an all-zero block. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="links">
|
||||
<description>Links - The Challenge of Golf v1.10</description>
|
||||
<year>1990</year>
|
||||
<publisher>Access Software</publisher>
|
||||
<info name="usage" value="VGA or MCGA required" />
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Links - The Challenge Of Golf v1.10 (1990)(Access Software)(Disk 1 of 5).dsk" size="368640" crc="ee45b24c" sha1="1f94381f287555e018eb9f760a980372ced8f783" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Links - The Challenge Of Golf v1.10 (1990)(Access Software)(Disk 2 of 5).dsk" size="368640" crc="b1b3956d" sha1="200f051820833203ea20633ed5a6c94df5e71ec4" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop3" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Links - The Challenge Of Golf v1.10 (1990)(Access Software)(Disk 3 of 5).dsk" size="368640" crc="04c91f40" sha1="529c1df6c7668d827cec1f040086a6038fdb35db" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop4" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Links - The Challenge Of Golf v1.10 (1990)(Access Software)(Disk 4 of 5).dsk" size="368640" crc="0a8090f9" sha1="0622d2b227179480691a46a44e36a5c49bf468f7" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop5" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Links - The Challenge Of Golf v1.10 (1990)(Access Software)(Disk 5 of 5).dsk" size="368640" crc="26c18083" sha1="8ff9414b9ca0365a124fd6407025eece4f1ab25d" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="linksbnt">
|
||||
<description>Links - Championship Course - Bountiful Golf Course</description>
|
||||
<year>1991</year>
|
||||
<publisher>Access Software</publisher>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Links - Championship Course - Bountiful Golf Course (1991)(Access Software)(Disk 1 of 2).dsk" size="368640" crc="71c17070" sha1="93b32aed3d000011f38066e0c6e3d1b201a0fc96" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Links - Championship Course - Bountiful Golf Course (1991)(Access Software)(Disk 2 of 2).dsk" size="368640" crc="0c9664aa" sha1="a6977e88cf98a673164d9ac9698585edc01e3dc8" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="lurkingh">
|
||||
<description>The Lurking Horror</description>
|
||||
<year>1987</year>
|
||||
@ -6184,6 +6426,53 @@ has been replaced with an all-zero block. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="mortviel">
|
||||
<description>Le Manoir de Mortevielle</description>
|
||||
<year>1988</year>
|
||||
<publisher>Lankhor</publisher>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="[PC] Le Manoir de Mortevielle [5.25].img" size="368640" crc="4eebc049" sha1="1f9a8fe4978b76bf14c674a8f681c58e18fa4443" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="meanst">
|
||||
<description>Mean Streets</description>
|
||||
<year>1989</year>
|
||||
<publisher>Access Software</publisher>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Mean Streets (1989)(Access Software)(Disk 1 of 6).dsk" size="368640" crc="28e7ee39" sha1="ad1f8353a683497905b7cbcb304a2833f8d56252" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Mean Streets (1989)(Access Software)(Disk 2 of 6).dsk" size="368640" crc="8ce01fcc" sha1="3858059b7c22ac659e011303328246e58c4aa9a6" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop3" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Mean Streets (1989)(Access Software)(Disk 3 of 6).dsk" size="368640" crc="59121149" sha1="6bac84c2b7037ba1ba65fe6770875f731cd1c45d" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop4" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Mean Streets (1989)(Access Software)(Disk 4 of 6).dsk" size="368640" crc="e953194f" sha1="c831ea1ff6333f45a8575e3959e321e551667b87" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop5" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Mean Streets (1989)(Access Software)(Disk 5 of 6).dsk" size="368640" crc="060cc1ea" sha1="1f4a85965f99914e6cb902c56b2ba32dad7d73cc" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop6" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Mean Streets (1989)(Access Software)(Disk 6 of 6).dsk" size="368640" crc="081590ba" sha1="1a56175e7c17706a9d66fb4e18becbe99b2df38c" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="megaman">
|
||||
<description>Mega Man</description>
|
||||
<year>1990</year>
|
||||
@ -6250,6 +6539,80 @@ has been replaced with an all-zero block. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="monopoly">
|
||||
<description>Monopoly v2.00 (Shareware)</description>
|
||||
<year>1989</year>
|
||||
<publisher>TEGL Systems Corporation</publisher>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Monopoly v2.00 (1989-09-03)(TEGL Systems Corporation)[shareware].dsk" size="368640" crc="8e9dd1fb" sha1="7fe3f54b9b2acf7903033ec3763708a37fc5afcf" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="montypyt">
|
||||
<description>Monty Python's Flying Circus</description>
|
||||
<year>1990</year>
|
||||
<publisher>Virgin Games</publisher>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Monty Python's Flying Circus (1990)(Virgin Games)(Disk 1 of 2).dsk" size="368640" crc="a5f227b5" sha1="e3b23a09ceed2681c504b78071660dc378051839" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Monty Python's Flying Circus (1990)(Virgin Games)(Disk 2 of 2).dsk" size="368640" crc="c1c40d8c" sha1="b724017f7a314cac625463d1aa106eaeac669288" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="ngaiden2">
|
||||
<description>Ninja Gaiden II - The Dark Sword of Chaos</description>
|
||||
<year>1991</year>
|
||||
<publisher>GameTek</publisher>
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Ninja Gaiden II - The Dark Sword of Chaos (1991)(GameTek).dsk" size="737280" crc="f69da21d" sha1="d9a8bc1d5a9d4314c3b4df078fdd7aa7d92a7b6c" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="nova9">
|
||||
<description>Nova 9 - Return of Gir Draxon</description>
|
||||
<year>1991</year>
|
||||
<publisher>Sierra</publisher>
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Nova 9 - Return of Gir Draxon (1991)(Sierra On-Line)(Disk 1 of 6).dsk" size="737280" crc="de0b75ae" sha1="31590a0c27972a3a956ac853276bc2da770ffef8" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Nova 9 - Return of Gir Draxon (1991)(Sierra On-Line)(Disk 2 of 6).dsk" size="737280" crc="b3756c77" sha1="a818d399fa8b9a77a09217bb6a99f18cbf42acfd" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop3" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Nova 9 - Return of Gir Draxon (1991)(Sierra On-Line)(Disk 3 of 6).dsk" size="737280" crc="19411f94" sha1="1580aa2a51991b8463fc3179612c9d96341f03d9" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop4" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Nova 9 - Return of Gir Draxon (1991)(Sierra On-Line)(Disk 4 of 6).dsk" size="737280" crc="a69a0ec3" sha1="84c32577287f9a581f2ec0fbebe354d27da9a7c5" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop5" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Nova 9 - Return of Gir Draxon (1991)(Sierra On-Line)(Disk 5 of 6).dsk" size="737280" crc="1c283926" sha1="b077201788af23bc55af4a76ba55e00495717827" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop6" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Nova 9 - Return of Gir Draxon (1991)(Sierra On-Line)(Disk 6 of 6).dsk" size="737280" crc="095ea434" sha1="16a443f8f8d3471908b1c5dc4850b4b266081ab9" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="opwolf">
|
||||
<description>Operation Wolf</description>
|
||||
<year>1989</year>
|
||||
@ -6267,6 +6630,28 @@ has been replaced with an all-zero block. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="overnet">
|
||||
<description>Over the Net</description>
|
||||
<year>1991</year>
|
||||
<publisher>Genias</publisher>
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Over the Net (1991)(Genias).dsk" size="737280" crc="71e8f2d0" sha1="e2b758f7484e602d6ac5b7375b46591f5f7230ee" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="ppursuit">
|
||||
<description>Pharaoh's Pursuit</description>
|
||||
<year>1990</year>
|
||||
<publisher>Lone Star Micro</publisher>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Pharaoh's Pursuit (1990)(Lone Star Micro).dsk" size="368640" crc="0118fdf4" sha1="23b212ad4defaf5a150ef4aba369d4a804632238" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="ptomb">
|
||||
<description>Pharaoh's Tomb</description>
|
||||
<year>1990</year>
|
||||
@ -6515,6 +6900,17 @@ has been replaced with an all-zero block. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="silvblad">
|
||||
<description>Secret of the Silver Blades</description>
|
||||
<year>1990</year>
|
||||
<publisher>SSI</publisher>
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Secret of the Silver Blades (1990)(SSI).dsk" size="737280" crc="fac4327b" sha1="05c4a640183fb83d7c539eefb4f82cb213ebaa9f" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="agidemos">
|
||||
<description>Sierra Demo</description>
|
||||
<year>1987</year>
|
||||
@ -6586,6 +6982,22 @@ has been replaced with an all-zero block. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="spdball2">
|
||||
<description>Speedball II - Brutal Deluxe</description>
|
||||
<year>1990</year>
|
||||
<publisher>Imageworks</publisher>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Speedball II - Brutal Deluxe (1990)(Imageworks)(Disk 1 of 2).dsk" size="368640" crc="7076b522" sha1="80e4d60ebe4c948f13897fb74c403b22a2acfceb" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Speedball II - Brutal Deluxe (1990)(Imageworks)(Disk 2 of 2).dsk" size="368640" crc="09fc221a" sha1="a71468919cb0d32706de00dae2cc14ca0b471a62" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="stargoos">
|
||||
<description>Star Goose!</description>
|
||||
<year>1989</year>
|
||||
@ -6652,6 +7064,38 @@ has been replaced with an all-zero block. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="sfightmn">
|
||||
<description>Street Fighting Man</description>
|
||||
<year>1989</year>
|
||||
<publisher>Mastertronic</publisher>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Street Fighting Man (1989)(Mastertronic)(Disk 1 of 2).dsk" size="368640" crc="949cdf13" sha1="89d6b45d0ec0a0ca46a90c27ad9376b827cf68a1" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Street Fighting Man (1989)(Mastertronic)(Disk 2 of 2).dsk" size="368640" crc="2e02db73" sha1="17bd0ca7c558e9908a9cb8de19024ade0ef70c24" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="superc">
|
||||
<description>Super C</description>
|
||||
<year>1990</year>
|
||||
<publisher>Konami</publisher>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Super C (1990)(Konami)(Disk 1 of 2).dsk" size="368640" crc="704de33b" sha1="1a3d942382efb6a7bd03a9dffd13f69b2fa87d77" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Super C (1990)(Konami)(Disk 2 of 2).dsk" size="368640" crc="c52c1b46" sha1="3e3f341b074e291c6847670409617b23764b3554" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="superman">
|
||||
<description>Superman - The Man of Steel</description>
|
||||
<year>1989</year>
|
||||
@ -6669,6 +7113,55 @@ has been replaced with an all-zero block. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="sshockey">
|
||||
<description>Superstar Ice Hockey</description>
|
||||
<year>1987</year>
|
||||
<publisher>Mindscape</publisher>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Superstar Ice Hockey (1987)(Mindscape).dsk" size="368640" crc="1bf48493" sha1="269b6a48ac11705497ce0e94d61430b63fa88ad3" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="ssindsoc">
|
||||
<description>Superstar Indoor Soccer</description>
|
||||
<year>1991</year>
|
||||
<publisher>Mindscape</publisher>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Superstar Indoor Soccer (1991)(Mindscape).dsk" size="368640" crc="eb4ba702" sha1="9418cb562a635337c1fbdb770c15f4d6a923ac49" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="ssindspo">
|
||||
<description>Superstar Indoor Sports</description>
|
||||
<year>1987</year>
|
||||
<publisher>Mindscape</publisher>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Superstar Indoor Sports (1987)(Mindscape)(Disk 1 of 2).dsk" size="368640" crc="ea6d5fda" sha1="2860445cf86b5fbb9505cc6b2d4f941af3c79046" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Superstar Indoor Sports (1987)(Mindscape)(Disk 2 of 2).dsk" size="368640" crc="83dccd51" sha1="52725b2fdb02b2a4b313f7bd7d981d6a79578735" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="ssoutsoc">
|
||||
<description>Superstar Outdoor Soccer</description>
|
||||
<year>1991</year>
|
||||
<publisher>Mindscape</publisher>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Superstar Outdoor Soccer (1991)(Mindscape).dsk" size="368640" crc="e4e0f70f" sha1="48fcb5a65edd641abc7f9c0451e37c00ba94850a" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="term2">
|
||||
<description>Terminator 2: Judgment Day</description>
|
||||
<year>1991</year>
|
||||
@ -6697,7 +7190,7 @@ has been replaced with an all-zero block. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="tetris35">
|
||||
<software name="tetris35" cloneof="tetris">
|
||||
<description>Tetris (3.5")</description>
|
||||
<year>1987</year>
|
||||
<publisher>Spectrum Holobyte</publisher>
|
||||
@ -6708,6 +7201,32 @@ has been replaced with an all-zero block. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="topgold2">
|
||||
<description>Top 10 Solid Gold Volume II</description>
|
||||
<year>1991</year>
|
||||
<publisher>US Gold</publisher>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Top 10 Solid Gold Volume II (1991)(US Gold)(Disk 1 of 4).dsk" size="368640" crc="a51f8fb4" sha1="9cad7c597d1025fbb066b8f40c879e01bdede8e5" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Top 10 Solid Gold Volume II (1991)(US Gold)(Disk 2 of 4).dsk" size="368640" crc="5b46b6ca" sha1="6b157e8384822874f5fa7a6b8a918fc2a98add67" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop3" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Top 10 Solid Gold Volume II (1991)(US Gold)(Disk 3 of 4).dsk" size="368640" crc="48a77034" sha1="53220db6fff4a0165bdd44baac86a374544e3030" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop4" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "368640">
|
||||
<rom name="Top 10 Solid Gold Volume II (1991)(US Gold)(Disk 4 of 4).dsk" size="368640" crc="56440dfb" sha1="564bf308941f3fb3a64e7498c4a14c734b6507d4" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="turbdriv" supported="no">
|
||||
<description>Turbo Driver</description>
|
||||
<year>1987</year>
|
||||
@ -6768,6 +7287,17 @@ has been replaced with an all-zero block. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="wingfury">
|
||||
<description>Wings of Fury</description>
|
||||
<year>1989</year>
|
||||
<publisher>Brøderbund Software</publisher>
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Wings of Fury (1989)(Broderbund Software).dsk" size="737280" crc="6bd8681a" sha1="43d1e493afb80b25949c5208cd1f7085b40529ef" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="wclead">
|
||||
<description>World Class Leader Board</description>
|
||||
<year>1988</year>
|
||||
@ -6834,6 +7364,17 @@ has been replaced with an all-zero block. -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="zool">
|
||||
<description>Zool</description>
|
||||
<year>1993</year>
|
||||
<publisher>Gremlin Graphics</publisher>
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Zool (1993)(Gremlin Graphics).dsk" size="737280" crc="43856c04" sha1="714f5b4d7049b98a1aca94b80a1f32bb1c9da049" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!-- Demoscene -->
|
||||
|
||||
<software name="8088mph" supported="partial">
|
||||
|
489
hash/ibm5170.xml
489
hash/ibm5170.xml
@ -1188,6 +1188,49 @@ Missing files come here
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="pcdos405v">
|
||||
<description>IBM Personal Computer DOS (Version J4.05/V) (Japanese)</description>
|
||||
<year>1990</year>
|
||||
<publisher>IBM</publisher>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "1228800">
|
||||
<!-- converted from name="DOS405V.DDI" size="1128960" crc="2a5e4089" sha1="9845e15010889f2f2dbee8a3faf37f13766743cc" -->
|
||||
<rom name="dos405v.img" size="1228800" crc="1127683f" sha1="a6988935b93b7c2403140aad4f51e42f2733a8d5" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="pcdos5v" supported="no">
|
||||
<description>IBM Personal Computer DOS (Version J5.00/V) (Japanese)</description>
|
||||
<year>1991</year>
|
||||
<publisher>IBM</publisher>
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="disk01.img" size="1474560" crc="c3699994" sha1="f5d5f6350d0609f1de4aecca1a2ff302d3ad5225" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "1228800">
|
||||
<rom name="disk02.img" size="1228800" crc="43f22565" sha1="e7351387944ecfbbda9efbad9d567896a870a770" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop3" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "1228800">
|
||||
<rom name="disk03.img" size="1228800" crc="714a4d26" sha1="b4e8407368bd1d1f23de38a545096e4a0a8b84e8" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop4" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="disk04.img" size="1474560" crc="571bc8aa" sha1="f223bc7b84ff066c423eddc9dfa60778f82f0a89" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop5" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="disk05.img" size="1474560" crc="e24329ac" sha1="fe7c389be39f5461bcb2adf7cf80e5b7b4cbd2b0" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="pcdos61">
|
||||
<description>IBM DOS (Version 6.1)</description>
|
||||
<year>1993</year>
|
||||
@ -1576,6 +1619,67 @@ Missing files come here
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="pcdos70jaau" supported="no">
|
||||
<description>PC DOS 7.00A/V Update (Japanese)</description>
|
||||
<year>1995</year>
|
||||
<publisher>IBM</publisher>
|
||||
<info name="version" value="J7.00A/V" />
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="Disk01.img" size="1474560" crc="d13e5b29" sha1="0ccb7a4ddb0a2405eb3012b6564ea27394422e36" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="Disk02.img" size="1474560" crc="cfc0372f" sha1="65997b0bf6b88cea92d8a8ed4d212543889f7f18" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="pcdos70jabu" supported="no">
|
||||
<description>PC DOS 7.00B/V Update (Japanese)</description>
|
||||
<year>1995</year>
|
||||
<publisher>IBM</publisher>
|
||||
<info name="version" value="J7.00B/V" />
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="Disk01.img" size="1474560" crc="2b80c78a" sha1="91a8f4c9b8c79d9fddc96309a41dbcc867271bb9" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="Disk02.img" size="1474560" crc="6882daea" sha1="dcf3b3e98717c112e69cae5738169068c6eaeb85" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop3" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="Disk03.img" size="1474560" crc="1e8af204" sha1="a0d1f88a4f4a07df11004b3783e62d3be3fccaa2" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="pcdos70jacu" supported="no">
|
||||
<description>PC DOS 7.00C/V Update (Japanese)</description>
|
||||
<year>1995</year>
|
||||
<publisher>IBM</publisher>
|
||||
<info name="version" value="J7.00C/V" />
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="Disk01.img" size="1474560" crc="6325f1dd" sha1="8ce2ff548841ec655493b90353de7868c68e7355" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="Disk02.img" size="1474560" crc="9f44b8a7" sha1="b30646ce4b96d95db3a64c5168de23986c759f1f" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop3" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="Disk03.img" size="1474560" crc="15a43440" sha1="70b387dd45a58a5b70d2979f7f425ba67b7508e6" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="pcdos2k">
|
||||
<description>IBM PC DOS 2000</description>
|
||||
<year>1998</year>
|
||||
@ -1970,6 +2074,43 @@ Missing files come here
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="msdos62v" cloneof="msdos62" supported="no">
|
||||
<description>MS-DOS (Version 6.2/V) (Japanese)</description>
|
||||
<year>1993</year>
|
||||
<publisher>Microsoft</publisher>
|
||||
<info name="version" value="6.2/V" />
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="disk1v.img" size="1474560" crc="5827f2b3" sha1="d625f629b3302cff83ec34bab3a3d02d2f133a04" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="disk2v.img" size="1474560" crc="dd60e0ef" sha1="c9612d65d9b15e8b432ce50797d8f502845cb77a" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop3" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="disk3v.img" size="1474560" crc="275f622f" sha1="3dff00f6e08f2cdafc99c0b9ba5769a675bc5731" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop4" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="disk4v.img" size="1474560" crc="e0be2d2f" sha1="866b288ab0f844c0fa6260aa05204541449c39ea" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop5" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="disk5v.img" size="1474560" crc="3ff5cdba" sha1="15c5e5d9165bcd33ea9238b2dd4cb2a5a51d100e" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop6" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="disk6v.img" size="1474560" crc="8c4c0ac7" sha1="a56ec288e014bc2d2d9c06a10e9a69eaced811fb" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="msdos621">
|
||||
<description>MS-DOS (Version 6.21)</description>
|
||||
<year>1994</year>
|
||||
@ -2029,29 +2170,6 @@ Missing files come here
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="msdos622g" cloneof="msdos622">
|
||||
<!-- KryoFlux dump from original disks, shows as unmodified -->
|
||||
<description>MS-DOS (Version 6.22, German)</description>
|
||||
<year>1994</year>
|
||||
<publisher>Microsoft</publisher>
|
||||
<info name="version" value="6.22" />
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size="1474560">
|
||||
<rom name="MS_DOS_6.22_German_disk1.img" size="1474560" crc="59641924" sha1="df473043d61524d74a8391c4649e7362858b6d81" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_3_5">
|
||||
<dataarea name="flop" size="1474560">
|
||||
<rom name="MS_DOS_6.22_German_disk2.img" size="1474560" crc="600c5a02" sha1="2b1b7e938cb8eb7bb4eac35a36bd9415fbfe31d3" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop3" interface="floppy_3_5">
|
||||
<dataarea name="flop" size="1474560">
|
||||
<rom name="MS_DOS_6.22_German_disk3.img" size="1474560" crc="95f32c5d" sha1="ed1358083d1c56105356e4b029e2beca6d6211da" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="msdos622a" cloneof="msdos622">
|
||||
<!-- from Acer CPR 1.2 recovery CD-ROM -->
|
||||
<description>MS-DOS (Version 6.22, Alt)</description>
|
||||
@ -2151,6 +2269,60 @@ Missing files come here
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="msdos622de" cloneof="msdos622">
|
||||
<!-- KryoFlux dump from original disks, shows as unmodified -->
|
||||
<description>MS-DOS (Version 6.22, German)</description>
|
||||
<year>1994</year>
|
||||
<publisher>Microsoft</publisher>
|
||||
<info name="version" value="6.22" />
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size="1474560">
|
||||
<rom name="MS_DOS_6.22_German_disk1.img" size="1474560" crc="59641924" sha1="df473043d61524d74a8391c4649e7362858b6d81" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_3_5">
|
||||
<dataarea name="flop" size="1474560">
|
||||
<rom name="MS_DOS_6.22_German_disk2.img" size="1474560" crc="600c5a02" sha1="2b1b7e938cb8eb7bb4eac35a36bd9415fbfe31d3" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop3" interface="floppy_3_5">
|
||||
<dataarea name="flop" size="1474560">
|
||||
<rom name="MS_DOS_6.22_German_disk3.img" size="1474560" crc="95f32c5d" sha1="ed1358083d1c56105356e4b029e2beca6d6211da" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="msdos622ptbr" cloneof="msdos622">
|
||||
<description>MS-DOS (Version 6.22, Brazilian Portuguese)</description>
|
||||
<year>1994</year>
|
||||
<publisher>Microsoft</publisher>
|
||||
<info name="version" value="6.22" />
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Installation Disk" />
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="MS-DOS 6.22 [BR] - Disk 1 of 4 - Installation Disk (Bootable).img" size="1474560" crc="0bd427df" sha1="9bee890cbd06d10d5b751700df17e48b6f516cc4" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Tools Disk (1)" />
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="MS-DOS 6.22 [BR] - Disk 2 of 4 - Tools Disk (1).img" size="1474560" crc="9744e974" sha1="3459d87140b035515255bcde19df03e0c4310495" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop3" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Tools Disk (2)" />
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="MS-DOS 6.22 [BR] - Disk 3 of 4 - Tools Disk (2).img" size="1474560" crc="f92b43b8" sha1="8db7f62bd89130abda581433173b0e329a90e2b7" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop4" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Supplemental Disk" />
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="MS-DOS 6.22 [BR] - Disk 4 of 4 - Supplemental Disk.img" size="1474560" crc="491b3f2c" sha1="1b288096d3d59af039c591d68bf1490fbe1929e0" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="msdos622sup" cloneof="msdos622">
|
||||
<!-- Added Bad_Dump status, as questions remains on how they were dumped -->
|
||||
<!-- Missing from this group: the 360kb Disk set-->
|
||||
@ -5443,6 +5615,32 @@ Missing files come here
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="b17">
|
||||
<description>B-17 Flying Fortress</description>
|
||||
<year>1992</year>
|
||||
<publisher>MicroProse</publisher>
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="B-17 Flying Fortress (1992)(MicroProse)(Disk 1 of 4).dsk" size="1474560" crc="5520ba43" sha1="f9667ee9e1bb355eea027fe1b7bce0c3b8d70e85" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="B-17 Flying Fortress (1992)(MicroProse)(Disk 2 of 4).dsk" size="1474560" crc="d6133a8f" sha1="52ca52b88bf4f37bc1c2fc6d29fbc726fbe98013" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop3" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="B-17 Flying Fortress (1992)(MicroProse)(Disk 3 of 4).dsk" size="1474560" crc="ccedd1f0" sha1="fb7ad5f0c3a02dc96e17b888143dde8c0fb6b5e8" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop4" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="B-17 Flying Fortress (1992)(MicroProse)(Disk 4 of 4).dsk" size="1474560" crc="cc028485" sha1="68ade93d34ae98167d1fe25f237f17328e847a76" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="bibadv">
|
||||
<description>Bible Adventures</description>
|
||||
<year>1992</year>
|
||||
@ -5482,6 +5680,17 @@ Missing files come here
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="bodyblow">
|
||||
<description>Body Blows</description>
|
||||
<year>1993</year>
|
||||
<publisher>Team 17</publisher>
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="Body Blows (1993)(Team 17)[cp manual].dsk" size="1474560" crc="c0b04cc0" sha1="08219a0cb4ce9d6a0766bb1d1820bc1e25876178" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="boppin">
|
||||
<description>Boppin' (Super Ultimate, v1.1)</description>
|
||||
<year>1994</year>
|
||||
@ -5660,6 +5869,17 @@ Missing files come here
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="corncob">
|
||||
<description>Corncob Deluxe</description>
|
||||
<year>1992</year>
|
||||
<publisher>Personal Companion Software</publisher>
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Corncob Deluxe (1992)(Personal Companion Software).dsk" size="737280" crc="1020897e" sha1="800e3adc74674d7433f1519b906dd35f3d996567" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="cosmo">
|
||||
<description>Cosmo's Cosmic Adventure - Forbidden Planet</description>
|
||||
<year>1992</year>
|
||||
@ -6070,6 +6290,22 @@ Missing files come here
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="dune">
|
||||
<description>Dune</description>
|
||||
<year>1992</year>
|
||||
<publisher>Virgin Games</publisher>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "1228800">
|
||||
<rom name="Dune (1992)(Virgin Games)(Disk 1 of 2).dsk" size="1228800" crc="373be931" sha1="484f3e25773caf433616f12c6b56984425270d64" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "1228800">
|
||||
<rom name="Dune (1992)(Virgin Games)(Disk 2 of 2).dsk" size="1228800" crc="20804491" sha1="602d01255eb53183f59e32b4c0a1a338c6837230" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="dune2">
|
||||
<description>Dune II - The Battle for Arrakis</description>
|
||||
<year>1993</year>
|
||||
@ -6185,7 +6421,7 @@ Missing files come here
|
||||
<software name="eschell">
|
||||
<description>Escape From Hell</description>
|
||||
<year>1990</year>
|
||||
<publisher>Electronic Arts, Inc.</publisher>
|
||||
<publisher>Electronic Arts</publisher>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="368640">
|
||||
<rom name="disk1.img" size="368640" crc="74856caa" sha1="fab7f8e551bcf735952b95237d2531e6d1bbb645" offset="0" />
|
||||
@ -6219,10 +6455,37 @@ Missing files come here
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="gconqust">
|
||||
<description>Global Conquest</description>
|
||||
<year>1992</year>
|
||||
<publisher>Microplay</publisher>
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Global Conquest (1992)(Microplay)(Disk 1 of 2).dsk" size="737280" crc="cc34328c" sha1="a575e663a0ef14458c6d956da6e741f47b10176e" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Global Conquest (1992)(Microplay)(Disk 2 of 2).dsk" size="737280" crc="30f85fa1" sha1="315ebf4f20a17c9f532c22e9f61d4fe58e98bc7b" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="gconqstg">
|
||||
<description>Global Conquest Official Strategy Guide</description>
|
||||
<year>1992</year>
|
||||
<publisher>Microplay</publisher>
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Global Conquest Official Strategy Guide (1992)(Microplay).dsk" size="737280" crc="53a53988" sha1="71da5ea2a930191c77e4fb1825febe21e7a917b4" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="goblins">
|
||||
<description>Gobliiins (US - VGA release)</description>
|
||||
<year>1992</year>
|
||||
<publisher>Sierra On-Line, Inc.</publisher>
|
||||
<publisher>Sierra</publisher>
|
||||
<info name="version" value="1.000 09/11/92" />
|
||||
<info name="developer" value="Coktel Vision, M.D.O." />
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
@ -6240,7 +6503,7 @@ Missing files come here
|
||||
<software name="goblins2">
|
||||
<description>Gobliins 2: The Prince Buffoon</description>
|
||||
<year>1993</year>
|
||||
<publisher>Sierra On-Line, Inc.</publisher>
|
||||
<publisher>Sierra</publisher>
|
||||
<info name="version" value="1.000.000 02/10/93" />
|
||||
<info name="developer" value="Coktel Vision, M.D.O." />
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
@ -6258,7 +6521,7 @@ Missing files come here
|
||||
<software name="goblins3">
|
||||
<description>Goblins Quest 3</description>
|
||||
<year>1993</year>
|
||||
<publisher>Sierra On-Line, Inc.</publisher>
|
||||
<publisher>Sierra</publisher>
|
||||
<info name="version" value="1.00" />
|
||||
<info name="developer" value="Coktel Vision" />
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
@ -6556,14 +6819,117 @@ Missing files come here
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="kbounty">
|
||||
<!-- Dumped via Kryoflux, track 0 shows as modified -->
|
||||
<description>King's Bounty</description>
|
||||
<year>1991</year>
|
||||
<publisher>New World Computing</publisher>
|
||||
<software name="kingqst5">
|
||||
<description>King's Quest V - Absence Makes the Heart Go Yonder!</description>
|
||||
<year>1990</year>
|
||||
<publisher>Sierra</publisher>
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<dataarea name="flop" size="737280">
|
||||
<rom name="king's bounty.img" size="737280" crc="267624e2" sha1="763a5014008f46f93a13c822377c41965c09a1f8" offset="0" status="baddump" />
|
||||
<feature name="part_id" value="Startup Disk" />
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<!-- has a saved configuration file -->
|
||||
<rom name="King's Quest V - Absence Makes the Heart Go Yonder! (1990)(Sierra On-Line)(Disk 1 of 8).dsk" size="1474560" crc="f5ba7763" sha1="17308670441b68975e62e43fd5e62e450b63aa39" offset="0" status="baddump"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk 1" />
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="King's Quest V - Absence Makes the Heart Go Yonder! (1990)(Sierra On-Line)(Disk 2 of 8).dsk" size="1474560" crc="64301d2a" sha1="42b88d1f42166159933ab6732842794592edb4a5" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop3" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk 2" />
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="King's Quest V - Absence Makes the Heart Go Yonder! (1990)(Sierra On-Line)(Disk 3 of 8).dsk" size="1474560" crc="a4a83cf3" sha1="b9e93420475e20333735bc45eed5035aebd304cd" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop4" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk 3" />
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="King's Quest V - Absence Makes the Heart Go Yonder! (1990)(Sierra On-Line)(Disk 4 of 8).dsk" size="1474560" crc="9471702d" sha1="b7d86ed264c382a6dd5c273665950282f62a7fa1" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop5" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk 4" />
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="King's Quest V - Absence Makes the Heart Go Yonder! (1990)(Sierra On-Line)(Disk 5 of 8).dsk" size="1474560" crc="a7db36ba" sha1="71e8917cb7b416cfc550328ef0b4f9dfc5585a39" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop6" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk 5" />
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="King's Quest V - Absence Makes the Heart Go Yonder! (1990)(Sierra On-Line)(Disk 6 of 8).dsk" size="1474560" crc="3eb4d622" sha1="624c19c35a5614f81972d3ef461114462211a4b3" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop7" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk 6" />
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="King's Quest V - Absence Makes the Heart Go Yonder! (1990)(Sierra On-Line)(Disk 7 of 8).dsk" size="1474560" crc="c6d32a66" sha1="bf4ad8019fa543046c46cc06002f8b4185fe38b2" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop8" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk 7" />
|
||||
<dataarea name="flop" size = "1474560">
|
||||
<rom name="King's Quest V - Absence Makes the Heart Go Yonder! (1990)(Sierra On-Line)(Disk 8 of 8).dsk" size="1474560" crc="474c2cc7" sha1="8847d6dc07c49dcc2022c46fb1086c77155c7f47" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="kingqst5_525" cloneof="kingqst5">
|
||||
<description>King's Quest V - Absence Makes the Heart Go Yonder! (Re-release)</description>
|
||||
<year>1990</year>
|
||||
<publisher>Sierra</publisher>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<feature name="part_id" value="Startup Disk" />
|
||||
<dataarea name="flop" size = "1228800">
|
||||
<rom name="King's Quest V - Absence Makes the Heart Go Yonder! (USA) (Re-release) (Disk 9).img" size="1228800" crc="6f17c558" sha1="1a357f90580470d2afd905657087b45eba4beba0" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_5_25">
|
||||
<feature name="part_id" value="Disk 1" />
|
||||
<dataarea name="flop" size = "1228800">
|
||||
<rom name="King's Quest V - Absence Makes the Heart Go Yonder! (USA) (Re-release) (Disk 1).img" size="1228800" crc="ce59191c" sha1="0f02214a7c4358075e49d553c3865be5d6847f8c" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop3" interface="floppy_5_25">
|
||||
<feature name="part_id" value="Disk 2" />
|
||||
<dataarea name="flop" size = "1228800">
|
||||
<rom name="King's Quest V - Absence Makes the Heart Go Yonder! (USA) (Re-release) (Disk 2).img" size="1228800" crc="12977d48" sha1="09b3d3d33c854458249dc1568fe02174646f4ff6" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop4" interface="floppy_5_25">
|
||||
<feature name="part_id" value="Disk 3" />
|
||||
<dataarea name="flop" size = "1228800">
|
||||
<rom name="King's Quest V - Absence Makes the Heart Go Yonder! (USA) (Re-release) (Disk 3).img" size="1228800" crc="56ea7dd6" sha1="6a8910ba2a9c6e07accd09e7636dea43d16c7282" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop5" interface="floppy_5_25">
|
||||
<feature name="part_id" value="Disk 4" />
|
||||
<dataarea name="flop" size = "1228800">
|
||||
<rom name="King's Quest V - Absence Makes the Heart Go Yonder! (USA) (Re-release) (Disk 4).img" size="1228800" crc="37d3bd46" sha1="0cec3d03ac78aaa063cde53a44f5a5b6b9afee6a" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop6" interface="floppy_5_25">
|
||||
<feature name="part_id" value="Disk 5" />
|
||||
<dataarea name="flop" size = "1228800">
|
||||
<rom name="King's Quest V - Absence Makes the Heart Go Yonder! (USA) (Re-release) (Disk 5).img" size="1228800" crc="2427f41f" sha1="66bac67e2c5c4daa98cf95b6efbeb81d33ee218c" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop7" interface="floppy_5_25">
|
||||
<feature name="part_id" value="Disk 6" />
|
||||
<dataarea name="flop" size = "1228800">
|
||||
<rom name="King's Quest V - Absence Makes the Heart Go Yonder! (USA) (Re-release) (Disk 6).img" size="1228800" crc="62792b08" sha1="ced1e2c11067f29c16fe5ca7e744cb984d68f77d" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop8" interface="floppy_5_25">
|
||||
<feature name="part_id" value="Disk 7" />
|
||||
<dataarea name="flop" size = "1228800">
|
||||
<rom name="King's Quest V - Absence Makes the Heart Go Yonder! (USA) (Re-release) (Disk 7).img" size="1228800" crc="3769b33b" sha1="fa322e80edb7b17a4541d69ca6648a0d3c88dec1" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop9" interface="floppy_5_25">
|
||||
<feature name="part_id" value="Disk 8" />
|
||||
<dataarea name="flop" size = "1228800">
|
||||
<rom name="King's Quest V - Absence Makes the Heart Go Yonder! (USA) (Re-release) (Disk 8).img" size="1228800" crc="99a71113" sha1="3d68e348c5412b78174c54c558a4cca11de053ef" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
@ -6624,6 +6990,30 @@ Missing files come here
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="lightspd">
|
||||
<description>Lightspeed</description>
|
||||
<year>1990</year>
|
||||
<publisher>MicroProse</publisher>
|
||||
<part name="flop1" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk A" />
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Lightspeed (1990)(MicroProse)(Disk 1 of 3).dsk" size="737280" crc="ccd5011e" sha1="34287faea30e4b8c589f8a18cc9e511d528e439e" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk B" />
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Lightspeed (1990)(MicroProse)(Disk 2 of 3).dsk" size="737280" crc="27c65967" sha1="bd4e23ea6f2c64d0f216bb5bab888e6bf558f42d" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop3" interface="floppy_3_5">
|
||||
<feature name="part_id" value="Disk C" />
|
||||
<dataarea name="flop" size = "737280">
|
||||
<rom name="Lightspeed (1990)(MicroProse)(Disk 3 of 3).dsk" size="737280" crc="b4eea9dc" sha1="fd90aad687eb9a5b248abf4ced745a6286c82f92" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="tleodoom">
|
||||
<description>The Lost Episodes of Doom (Companion Disk)</description>
|
||||
<year>1995</year>
|
||||
@ -7392,6 +7782,37 @@ Missing files come here
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="trek25th">
|
||||
<description>Star Trek - 25th Anniversary</description>
|
||||
<year>1992</year>
|
||||
<publisher>Interplay</publisher>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "1228800">
|
||||
<rom name="Star Trek - 25th Anniversary (1992)(Interplay)(Disk 1 of 5).dsk" size="1228800" crc="cb4848bc" sha1="f3c14bc156b2e2cda22cd5441d48ab4b330cf418" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "1228800">
|
||||
<rom name="Star Trek - 25th Anniversary (1992)(Interplay)(Disk 2 of 5).dsk" size="1228800" crc="6818afba" sha1="85d33b6a6c5f7c3c01bef633727021e08157c499" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop3" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "1228800">
|
||||
<rom name="Star Trek - 25th Anniversary (1992)(Interplay)(Disk 3 of 5).dsk" size="1228800" crc="54341517" sha1="15249e3179068a41536ba0106a393dc779d1a230" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop4" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "1228800">
|
||||
<rom name="Star Trek - 25th Anniversary (1992)(Interplay)(Disk 4 of 5).dsk" size="1228800" crc="8f53295d" sha1="53c5feb83716b24a3afe79a7f746acb4c00e2b24" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop5" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "1228800">
|
||||
<rom name="Star Trek - 25th Anniversary (1992)(Interplay)(Disk 5 of 5).dsk" size="1228800" crc="cb1a3a83" sha1="aa3c3fe165e8171d3dcf83dde922d64e2131b425" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="swxwing">
|
||||
<description>Star Wars - X-Wing - Space Combat Simulator</description>
|
||||
<year>1993</year>
|
||||
|
@ -22838,6 +22838,7 @@ a contest among doujin programmers... -->
|
||||
<description>Chourensha 68k (v1.01)</description>
|
||||
<year>1995</year>
|
||||
<publisher><doujin></publisher>
|
||||
<info name="alt_title" value="超連射68K" />
|
||||
<info name="developer" value="Famibe no Yosshin" />
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="1261824">
|
||||
@ -22846,10 +22847,24 @@ a contest among doujin programmers... -->
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="chorensa100" cloneof="chorensa">
|
||||
<description>Chourensha 68k (v1.00)</description>
|
||||
<year>1995</year>
|
||||
<publisher><doujin></publisher>
|
||||
<info name="alt_title" value="超連射68K" />
|
||||
<info name="developer" value="Famibe no Yosshin" />
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size = "1261824">
|
||||
<rom name="chourensha 68k v1.00.dim" size="1261824" crc="7ffdadb8" sha1="8bf616f9fead4a776afa9ebc3c8c14f79f69a35f" offset="0"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="chorensa045" cloneof="chorensa">
|
||||
<description>Chourensha 68k (v0.45)</description>
|
||||
<year>1995</year>
|
||||
<publisher><doujin></publisher>
|
||||
<info name="alt_title" value="超連射68K" />
|
||||
<info name="developer" value="Famibe no Yosshin" />
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="1261824">
|
||||
@ -22862,6 +22877,7 @@ a contest among doujin programmers... -->
|
||||
<description>Chourensha 68k (v0.35)</description>
|
||||
<year>1995</year>
|
||||
<publisher><doujin></publisher>
|
||||
<info name="alt_title" value="超連射68K" />
|
||||
<info name="developer" value="Famibe no Yosshin" />
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="1261824">
|
||||
@ -22874,6 +22890,7 @@ a contest among doujin programmers... -->
|
||||
<description>Chourensha 68k (v0.10)</description>
|
||||
<year>1995</year>
|
||||
<publisher><doujin></publisher>
|
||||
<info name="alt_title" value="超連射68K" />
|
||||
<info name="developer" value="Famibe no Yosshin" />
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="1261824">
|
||||
|
@ -1,5 +1,5 @@
|
||||
-- converter for simple cheats
|
||||
-- simple cheats are single address every frame ram, rom or gg,ar cheats in one file called cheat.simple
|
||||
-- simple cheats are single/linked address every frame ram, rom or gg,ar cheats in one file called cheat.simple
|
||||
--
|
||||
-- ram/rom cheat format: <set name>,<cputag|regiontag>,<hex offset>,<b|w|d|q - size>,<hex value>,<desc>
|
||||
-- only program address space is supported, comments are prepended with ;
|
||||
@ -9,6 +9,7 @@
|
||||
-- gg for game genie -- nes, snes, megadriv, gamegear, gameboy
|
||||
-- ar for action replay -- nes, snes, megadriv, gamegear, sms
|
||||
--
|
||||
-- use "^" as description to link to previous cheat
|
||||
-- set name is <softlist>/<entry> like "nes/smb" for softlist items
|
||||
-- Don't use commas in the description
|
||||
|
||||
@ -22,10 +23,30 @@ function simple.filename(name)
|
||||
end
|
||||
|
||||
local codefuncs = {}
|
||||
local currcheat
|
||||
|
||||
local function prepare_rom_cheat(desc, region, addr, val, size, banksize, comp)
|
||||
local cheat = { desc = desc, region = { rom = region } }
|
||||
cheat.script = { off = "if on then rom:write_u" .. size .. "(addr, save) end" }
|
||||
local cheat
|
||||
if desc:sub(1,1) ~= "^" then
|
||||
currcheat = { desc = desc, region = { rom = region } }
|
||||
currcheat.script = { off = string.format([[
|
||||
if on then
|
||||
for k, v in pairs(addrs) do
|
||||
rom:write_u%d(v.addr, v.save)
|
||||
end
|
||||
end]], size),
|
||||
on = string.format([[
|
||||
addrs = {
|
||||
--flag
|
||||
}
|
||||
on = true
|
||||
for k, v in pairs(addrs) do
|
||||
v.save = rom:read_u%d(v.addr)
|
||||
rom:write_u%d(v.addr, v.val)
|
||||
end]], size, size) }
|
||||
cheat = currcheat
|
||||
|
||||
end
|
||||
if banksize and comp then
|
||||
local rom = manager:machine():memory().regions[region]
|
||||
local bankaddr = addr & (banksize - 1)
|
||||
@ -43,17 +64,17 @@ local function prepare_rom_cheat(desc, region, addr, val, size, banksize, comp)
|
||||
error("rom cheat compare value not found " .. desc)
|
||||
end
|
||||
end
|
||||
cheat.script.on = string.format([[
|
||||
on = true
|
||||
addr = %d
|
||||
save = rom:read_u%d(addr)
|
||||
rom:write_u%d(addr, %d)]], addr, size, size, val)
|
||||
currcheat.script.on = currcheat.script.on:gsub("%-%-flag", string.format("{addr = %d, val = %d},\n--flag", addr, val), 1)
|
||||
return cheat
|
||||
end
|
||||
|
||||
local function prepare_ram_cheat(desc, tag, addr, val, size)
|
||||
local cheat = { desc = desc, space = { cpup = { tag = tag, type = "program" } } }
|
||||
cheat.script = { run = "cpup:write_u" .. size .. "(" .. addr .. "," .. val .. ", true)" }
|
||||
local cheat
|
||||
if desc:sub(1,1) ~= "^" then
|
||||
currcheat = { desc = desc, space = { cpup = { tag = tag, type = "program" } }, script = { run = "" } }
|
||||
cheat = currcheat
|
||||
end
|
||||
currcheat.script.run = currcheat.script.run .. " cpup:write_u" .. size .. "(" .. addr .. "," .. val .. ", true)"
|
||||
return cheat
|
||||
end
|
||||
|
||||
@ -75,7 +96,7 @@ function codefuncs.nes_gg(desc, code)
|
||||
elseif #code == 8 then
|
||||
addr = ((value >> 12) & 7) | ((value >> 16) & 0x78) | ((value >> 20) & 0x80) | (value & 0x700) | ((value >> 4) & 0x7800)
|
||||
newval = ((value >> 28) & 7) | (value & 8) | ((value >> 20) & 0x70) | ((value >> 24) & 0x80)
|
||||
comp = ((value >> 4) & 7) | ((value >> 8) & 8) | ((value << 4) & 0x70) | ((value << 1) & 0x80)
|
||||
comp = ((value >> 4) & 7) | ((value >> 8) & 8) | ((value << 4) & 0x70) | (value & 0x80)
|
||||
-- assume 8K banks, 32K also common but is an easy multiple of 8K
|
||||
return prepare_rom_cheat(desc, ":nes_slot:cart:prg_rom", addr, newval, 8, 8192, comp)
|
||||
else
|
||||
@ -292,6 +313,7 @@ function simple.conv_cheat(data)
|
||||
end
|
||||
end
|
||||
end
|
||||
currcheat = nil
|
||||
return cheats
|
||||
end
|
||||
|
||||
|
@ -847,6 +847,19 @@ if (BUSES["IMI7000"]~=null) then
|
||||
end
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
--
|
||||
--@src/devices/bus/intellec4/intellec4.h,BUSES["INTELLEC4"] = true
|
||||
---------------------------------------------------
|
||||
|
||||
if (BUSES["INTELLEC4"]~=null) then
|
||||
files {
|
||||
MAME_DIR .. "src/devices/bus/intellec4/intellec4.cpp",
|
||||
MAME_DIR .. "src/devices/bus/intellec4/intellec4.h",
|
||||
}
|
||||
end
|
||||
|
||||
|
||||
---------------------------------------------------
|
||||
--
|
||||
--@src/devices/bus/intv/slot.h,BUSES["INTV"] = true
|
||||
|
@ -3148,6 +3148,7 @@ files {
|
||||
MAME_DIR .. "src/mame/includes/kopunch.h",
|
||||
MAME_DIR .. "src/mame/video/kopunch.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/lindbergh.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/sderby2.cpp",
|
||||
MAME_DIR .. "src/mame/machine/segabb.cpp",
|
||||
MAME_DIR .. "src/mame/machine/segabb.h",
|
||||
MAME_DIR .. "src/mame/machine/megadriv.cpp",
|
||||
|
@ -663,6 +663,7 @@ BUSES["HPHIL"] = true
|
||||
BUSES["HPDIO"] = true
|
||||
BUSES["IEEE488"] = true
|
||||
BUSES["IMI7000"] = true
|
||||
BUSES["INTELLEC4"] = true
|
||||
BUSES["INTV"] = true
|
||||
BUSES["INTV_CTRL"] = true
|
||||
BUSES["IQ151"] = true
|
||||
|
@ -60,6 +60,7 @@ MACHINES["TTL7474"] = true
|
||||
MACHINES["RIOT6532"] = true
|
||||
MACHINES["PIT8253"] = true
|
||||
MACHINES["Z80CTC"] = true
|
||||
MACHINES["Z80PIO"] = true
|
||||
MACHINES["68681"] = true
|
||||
MACHINES["BANKDEV"] = true
|
||||
MACHINES["GEN_LATCH"] = true
|
||||
|
@ -66,7 +66,7 @@ const tiny_rom_entry *cbm2_hrg_device::device_rom_region() const
|
||||
// ADDRESS_MAP( hrg_a_map )
|
||||
//-------------------------------------------------
|
||||
|
||||
static ADDRESS_MAP_START( hrg_a_map, AS_0, 8, cbm2_hrg_a_device )
|
||||
static ADDRESS_MAP_START( hrg_a_map, 0, 8, cbm2_hrg_a_device )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
|
||||
AM_RANGE(0x0000, 0x7fff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
@ -76,7 +76,7 @@ ADDRESS_MAP_END
|
||||
// ADDRESS_MAP( hrg_b_map )
|
||||
//-------------------------------------------------
|
||||
|
||||
static ADDRESS_MAP_START( hrg_b_map, AS_0, 8, cbm2_hrg_b_device )
|
||||
static ADDRESS_MAP_START( hrg_b_map, 0, 8, cbm2_hrg_b_device )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
|
||||
AM_RANGE(0x0000, 0x3fff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
@ -96,7 +96,7 @@ MACHINE_CONFIG_MEMBER( cbm2_hrg_a_device::device_add_mconfig )
|
||||
|
||||
MCFG_DEVICE_ADD(EF9365_TAG, EF9365, 1750000)
|
||||
MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
|
||||
MCFG_DEVICE_ADDRESS_MAP(AS_0, hrg_a_map)
|
||||
MCFG_DEVICE_ADDRESS_MAP(0, hrg_a_map)
|
||||
MCFG_EF936X_PALETTE("palette")
|
||||
MCFG_EF936X_BITPLANES_CNT(1);
|
||||
MCFG_EF936X_DISPLAYMODE(DISPLAY_MODE_512x512);
|
||||
@ -112,7 +112,7 @@ MACHINE_CONFIG_MEMBER( cbm2_hrg_b_device::device_add_mconfig )
|
||||
|
||||
MCFG_DEVICE_ADD(EF9366_TAG, EF9365, 1750000)
|
||||
MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
|
||||
MCFG_DEVICE_ADDRESS_MAP(AS_0, hrg_b_map)
|
||||
MCFG_DEVICE_ADDRESS_MAP(0, hrg_b_map)
|
||||
MCFG_EF936X_PALETTE("palette")
|
||||
MCFG_EF936X_BITPLANES_CNT(1);
|
||||
MCFG_EF936X_DISPLAYMODE(DISPLAY_MODE_512x256);
|
||||
|
@ -32,12 +32,12 @@ DEFINE_DEVICE_TYPE(COMPIS_UHRG, compis_uhrg_device, "compis_uhrg", "Compis UHRG"
|
||||
// ADDRESS_MAP( upd7220_map )
|
||||
//-------------------------------------------------
|
||||
|
||||
static ADDRESS_MAP_START( hrg_map, AS_0, 16, compis_hrg_device )
|
||||
static ADDRESS_MAP_START( hrg_map, 0, 16, compis_hrg_device )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
|
||||
AM_RANGE(0x00000, 0x7fff) AM_RAM AM_SHARE("video_ram")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( uhrg_map, AS_0, 16, compis_uhrg_device )
|
||||
static ADDRESS_MAP_START( uhrg_map, 0, 16, compis_uhrg_device )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0x1ffff)
|
||||
AM_RANGE(0x00000, 0x1ffff) AM_RAM AM_SHARE("video_ram")
|
||||
ADDRESS_MAP_END
|
||||
@ -85,7 +85,7 @@ MACHINE_CONFIG_MEMBER( compis_hrg_device::device_add_mconfig )
|
||||
MCFG_SCREEN_UPDATE_DEVICE(UPD7220_TAG, upd7220_device, screen_update)
|
||||
|
||||
MCFG_DEVICE_ADD(UPD7220_TAG, UPD7220, 2252500) // unknown clock
|
||||
MCFG_DEVICE_ADDRESS_MAP(AS_0, hrg_map)
|
||||
MCFG_DEVICE_ADDRESS_MAP(0, hrg_map)
|
||||
MCFG_UPD7220_DISPLAY_PIXELS_CALLBACK_OWNER(compis_hrg_device, display_pixels)
|
||||
MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
|
||||
|
||||
@ -103,7 +103,7 @@ MACHINE_CONFIG_MEMBER( compis_uhrg_device::device_add_mconfig )
|
||||
MCFG_SCREEN_UPDATE_DEVICE(UPD7220_TAG, upd7220_device, screen_update)
|
||||
|
||||
MCFG_DEVICE_ADD(UPD7220_TAG, UPD7220, 2252500*2) // unknown clock
|
||||
MCFG_DEVICE_ADDRESS_MAP(AS_0, uhrg_map)
|
||||
MCFG_DEVICE_ADDRESS_MAP(0, uhrg_map)
|
||||
MCFG_UPD7220_DISPLAY_PIXELS_CALLBACK_OWNER(compis_uhrg_device, display_pixels)
|
||||
MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
|
||||
|
||||
|
@ -113,7 +113,7 @@ public:
|
||||
protected:
|
||||
dio16_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
void install_space(address_spacenum spacenum, offs_t start, offs_t end, read8_delegate rhandler, write8_delegate whandler);
|
||||
void install_space(int spacenum, offs_t start, offs_t end, read8_delegate rhandler, write8_delegate whandler);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
105
src/devices/bus/intellec4/intellec4.cpp
Normal file
105
src/devices/bus/intellec4/intellec4.cpp
Normal file
@ -0,0 +1,105 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Vas Crabb
|
||||
|
||||
#include "emu.h"
|
||||
#include "intellec4.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
|
||||
DEFINE_DEVICE_TYPE_NS(INTELLEC4_UNIV_SLOT, bus::intellec4, univ_slot_device, "intlc4univslot", "INTELLEC 4/MOD 40 Universal Slot")
|
||||
DEFINE_DEVICE_TYPE_NS(INTELLEC4_UNIV_BUS, bus::intellec4, univ_bus_device, "intlc4univbus", "INTELLEC 4/MOD 40 Universal Bus")
|
||||
|
||||
|
||||
namespace bus { namespace intellec4 {
|
||||
|
||||
univ_slot_device::univ_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, INTELLEC4_UNIV_SLOT, tag, owner, clock)
|
||||
, device_slot_interface(mconfig, *this)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void univ_slot_device::set_bus_tag(device_t &device, char const *tag)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void univ_slot_device::device_start()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
univ_bus_device::univ_bus_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, INTELLEC4_UNIV_BUS, tag, owner, clock)
|
||||
, m_stop_out_cb(*this)
|
||||
, m_test_out_cb(*this)
|
||||
, m_reset_4002_out_cb(*this)
|
||||
, m_user_reset_out_cb(*this)
|
||||
, m_stop(0U)
|
||||
, m_test(0U)
|
||||
, m_reset_4002(0U)
|
||||
, m_user_reset(0U)
|
||||
{
|
||||
std::fill(std::begin(m_cards), std::end(m_cards), nullptr);
|
||||
}
|
||||
|
||||
|
||||
WRITE_LINE_MEMBER(univ_bus_device::sync_in)
|
||||
{
|
||||
// FIXME: distribute to cards
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(univ_bus_device::test_in)
|
||||
{
|
||||
if (state)
|
||||
m_test &= ~u16(1U);
|
||||
else
|
||||
m_test |= 1U;
|
||||
// FIXME: distribute to cards
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(univ_bus_device::stop_in)
|
||||
{
|
||||
if (state)
|
||||
m_stop &= ~u16(1U);
|
||||
else
|
||||
m_stop |= 1U;
|
||||
// FIXME: distribute to cards
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(univ_bus_device::stop_acknowledge_in)
|
||||
{
|
||||
// FIXME: distribute to cards
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(univ_bus_device::cpu_reset_in)
|
||||
{
|
||||
// FIXME: distribute to cards
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(univ_bus_device::reset_4002_in)
|
||||
{
|
||||
if (state)
|
||||
m_reset_4002 &= ~u16(1U);
|
||||
else
|
||||
m_reset_4002 |= 1U;
|
||||
// FIXME: distribute to cards
|
||||
}
|
||||
|
||||
|
||||
void univ_bus_device::device_start()
|
||||
{
|
||||
m_stop_out_cb.resolve_safe();
|
||||
m_test_out_cb.resolve_safe();
|
||||
m_reset_4002_out_cb.resolve_safe();
|
||||
m_user_reset_out_cb.resolve_safe();
|
||||
}
|
||||
|
||||
} } // namespace bus::intellec4
|
||||
|
||||
|
||||
|
||||
SLOT_INTERFACE_START(intellec4_univ_cards)
|
||||
SLOT_INTERFACE_END
|
195
src/devices/bus/intellec4/intellec4.h
Normal file
195
src/devices/bus/intellec4/intellec4.h
Normal file
@ -0,0 +1,195 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Vas Crabb
|
||||
/*
|
||||
INTELLEC® 4/MOD 40 Universal Slot
|
||||
|
||||
1 2 /TEST
|
||||
GND 3 4 GND
|
||||
NC 5 6 NC
|
||||
NC 7 8 NC
|
||||
NC 9 10 NC
|
||||
MA0 11 12 MA1
|
||||
MA2 13 14 MA3
|
||||
MA4 15 16 MA5
|
||||
MA6 17 18 MA7
|
||||
C0 19 20 C1
|
||||
21 22 NC
|
||||
/MDI0 23 24 NC
|
||||
/MDI1 25 26
|
||||
/MDI3 27 28
|
||||
/MDI2 29 30
|
||||
/MDI5 31 32
|
||||
/MDI4 33 34
|
||||
/MDI7 35 36
|
||||
/MDI6 37 38
|
||||
39 40
|
||||
/OUT 41 42 /ENABLE MON PROM
|
||||
-10V 43 44 -10V
|
||||
/CPU RESET 45 46 /USER RESET
|
||||
/CM-RAM2 47 48 /CM-RAM3
|
||||
/CM-RAM0 49 50 /CM-RAM1
|
||||
I/O 1 51 52 I/O 0
|
||||
I/O 2 53 54 /IN
|
||||
F/L 55 56 I/O 3
|
||||
57 58
|
||||
59 60
|
||||
61 62
|
||||
63 64
|
||||
65 66
|
||||
67 68
|
||||
69 70
|
||||
71 72 /D3
|
||||
/STOP ACKNOWLEDGE 73 74 /STOP
|
||||
75 76 /D2
|
||||
77 78
|
||||
/SYNC 79 80 /D1
|
||||
81 82 /PROM SEL
|
||||
/D0 83 84
|
||||
85 86
|
||||
87 88 /RESET-4002
|
||||
89 90
|
||||
91 92
|
||||
/CM-ROM 93 94 C3
|
||||
W 95 96 C2
|
||||
PHASE 2 97 98 PHASE 1
|
||||
+5V 99 100 +5V
|
||||
|
||||
NC Not connected on backplane
|
||||
GND Common ground
|
||||
+5V Power supply
|
||||
-10V Power supply
|
||||
PHASE1 5.185MHz/7 clock phase 1
|
||||
PHASE2 5.185MHz/7 clock phase 2
|
||||
/SYNC CPU /SYNC output (instruction cycle synchronisation)
|
||||
/TEST CPU /TEST input, wired-or (cards should pull low to assert)
|
||||
/STOP CPU /STP input, wired-or (cards should pull low to assert)
|
||||
/STOP ACKNOWLEDGE CPU /STP ACK output (stop/halt acknowledge)
|
||||
/CM-ROM CPU /CM-ROM0 output (ROM chip select)
|
||||
/CM-RAM0.../CM-RAM3 CPU /CM-RAM outputs (RAM chip select)
|
||||
/D0.../D3 CPU data bus
|
||||
MA0...MA7 A outputs from 4289 on CPU board (low ROM address/SRC address)
|
||||
C0...C3 C outputs from 4289 on CPU board (high ROM address/I/O chip select)
|
||||
W PM output from 4289 on CPU board (program memory enable)
|
||||
F/L FL output from 4289 on CPU board (program memory nybble select)
|
||||
I/O 0...I/O 3 I/O lines to 4289 on CPU board (bidirectional I/O data)
|
||||
/MDI0.../MDI7 OPR/OPA multiplexer inputs on CPU board (ROM data when onboard monitor PROM is not selected)
|
||||
/IN IN output from 4289 on CPU board (I/O read strobe)
|
||||
/OUT OUT output from 4289 on CPU board (I/O write strobe)
|
||||
/CPU RESET CPU/4289 reset output from control board
|
||||
/RESET-4002 Open collector output from control board
|
||||
/ENABLE MON PROM Output from control board
|
||||
/PROM SEL Output from control board
|
||||
/USER RESET Input to control board, edge sensitive, wired or (cards should pull low to assert)
|
||||
|
||||
other pins connected between universal slots but not connected to CPU or control cards
|
||||
*/
|
||||
#ifndef MAME_BUS_INTELLEC4_INTELLEC4_H
|
||||
#define MAME_BUS_INTELLEC4_INTELLEC4_H
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
#define MCFG_INTELLEC4_UNIV_SLOT_ADD(bus_tag, slot_tag, clock, slot_intf, def_slot) \
|
||||
MCFG_DEVICE_ADD(slot_tag, INTELLEC4_UNIV_SLOT, clock) \
|
||||
MCFG_DEVICE_SLOT_INTERFACE(slot_intf, def_slot, false) \
|
||||
bus::intellec4::univ_slot_device::set_bus_tag(*device, bus_tag);
|
||||
|
||||
#define MCFG_INTELLEC4_UNIV_SLOT_REMOVE(slot_tag) \
|
||||
MCFG_DEVICE_REMOVE(slot_tag)
|
||||
|
||||
|
||||
#define MCFG_INTELLEC4_UNIV_BUS_STOP_CB(obj) \
|
||||
bus::intellec4::univ_bus_device::set_stop_out_cb(*device, DEVCB_##obj);
|
||||
|
||||
#define MCFG_INTELLEC4_UNIV_BUS_TEST_CB(obj) \
|
||||
bus::intellec4::univ_bus_device::set_test_out_cb(*device, DEVCB_##obj);
|
||||
|
||||
#define MCFG_INTELLEC4_UNIV_BUS_RESET_4002_CB(obj) \
|
||||
bus::intellec4::univ_bus_device::set_reset_4002_out_cb(*device, DEVCB_##obj);
|
||||
|
||||
#define MCFG_INTELLEC4_UNIV_BUS_USER_RESET_CB(obj) \
|
||||
bus::intellec4::univ_bus_device::set_user_reset_out_cb(*device, DEVCB_##obj);
|
||||
|
||||
|
||||
namespace bus { namespace intellec4 {
|
||||
|
||||
class univ_slot_device;
|
||||
class univ_bus_device;
|
||||
class device_univ_card_interface;
|
||||
|
||||
|
||||
class univ_slot_device : public device_t, public device_slot_interface
|
||||
{
|
||||
public:
|
||||
// configuration helpers
|
||||
static void set_bus_tag(device_t &device, char const *bus_tag);
|
||||
|
||||
univ_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// device_t implementation
|
||||
virtual void device_start() override;
|
||||
};
|
||||
|
||||
|
||||
class univ_bus_device : public device_t
|
||||
{
|
||||
public:
|
||||
// configuration helpers
|
||||
template <typename Obj> static devcb_base &set_stop_out_cb(device_t &device, Obj &&cb)
|
||||
{ return downcast<univ_bus_device &>(device).m_stop_out_cb.set_callback(std::forward<Obj>(cb)); }
|
||||
template <typename Obj> static devcb_base &set_test_out_cb(device_t &device, Obj &&cb)
|
||||
{ return downcast<univ_bus_device &>(device).m_test_out_cb.set_callback(std::forward<Obj>(cb)); }
|
||||
template <typename Obj> static devcb_base &set_reset_4002_out_cb(device_t &device, Obj &&cb)
|
||||
{ return downcast<univ_bus_device &>(device).m_reset_4002_out_cb.set_callback(std::forward<Obj>(cb)); }
|
||||
template <typename Obj> static devcb_base &set_user_reset_out_cb(device_t &device, Obj &&cb)
|
||||
{ return downcast<univ_bus_device &>(device).m_user_reset_out_cb.set_callback(std::forward<Obj>(cb)); }
|
||||
|
||||
univ_bus_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// input lines
|
||||
DECLARE_WRITE_LINE_MEMBER(sync_in);
|
||||
DECLARE_WRITE_LINE_MEMBER(test_in);
|
||||
DECLARE_WRITE_LINE_MEMBER(stop_in);
|
||||
DECLARE_WRITE_LINE_MEMBER(stop_acknowledge_in);
|
||||
DECLARE_WRITE_LINE_MEMBER(cpu_reset_in);
|
||||
DECLARE_WRITE_LINE_MEMBER(reset_4002_in);
|
||||
|
||||
// output lines
|
||||
DECLARE_READ_LINE_MEMBER(stop_out) const { return (m_stop & ~u16(1U)) ? 0 : 1; }
|
||||
DECLARE_READ_LINE_MEMBER(test_out) const { return (m_test & ~u16(1U)) ? 0 : 1; }
|
||||
DECLARE_READ_LINE_MEMBER(reset_4002_out) const { return (m_reset_4002 & ~u16(1U)) ? 0 : 1; }
|
||||
DECLARE_READ_LINE_MEMBER(user_reset_out) const { return (m_user_reset & ~u16(1U)) ? 0 : 1; }
|
||||
|
||||
protected:
|
||||
// device_t implementation
|
||||
virtual void device_start() override;
|
||||
|
||||
private:
|
||||
// output line callbacks
|
||||
devcb_write_line m_stop_out_cb;
|
||||
devcb_write_line m_test_out_cb;
|
||||
devcb_write_line m_reset_4002_out_cb;
|
||||
devcb_write_line m_user_reset_out_cb;
|
||||
|
||||
// cards
|
||||
device_univ_card_interface *m_cards[15];
|
||||
|
||||
// packed line states
|
||||
u16 m_stop, m_test, m_reset_4002, m_user_reset;
|
||||
};
|
||||
|
||||
|
||||
class device_univ_card_interface : public device_slot_card_interface
|
||||
{
|
||||
};
|
||||
|
||||
} } // namespace bus::intellec4
|
||||
|
||||
|
||||
DECLARE_DEVICE_TYPE_NS(INTELLEC4_UNIV_SLOT, bus::intellec4, univ_slot_device)
|
||||
DECLARE_DEVICE_TYPE_NS(INTELLEC4_UNIV_BUS, bus::intellec4, univ_bus_device)
|
||||
|
||||
SLOT_INTERFACE_EXTERN( intellec4_univ_cards );
|
||||
|
||||
#endif // MAME_BUS_INTELLEC4_INTELLEC4_H
|
@ -129,13 +129,13 @@ isa8_device::isa8_device(const machine_config &mconfig, const char *tag, device_
|
||||
isa8_device::isa8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, type, tag, owner, clock),
|
||||
device_memory_interface(mconfig, *this),
|
||||
m_program_config("ISA 8-bit program", ENDIANNESS_LITTLE, 8, 24, 0, nullptr),
|
||||
m_mem_config("ISA 8-bit mem", ENDIANNESS_LITTLE, 8, 24, 0, nullptr),
|
||||
m_io_config("ISA 8-bit I/O", ENDIANNESS_LITTLE, 8, 16, 0, nullptr),
|
||||
m_program16_config("ISA 16-bit program", ENDIANNESS_LITTLE, 16, 24, 0, nullptr),
|
||||
m_mem16_config("ISA 16-bit mem", ENDIANNESS_LITTLE, 16, 24, 0, nullptr),
|
||||
m_io16_config("ISA 16-bit I/O", ENDIANNESS_LITTLE, 16, 16, 0, nullptr),
|
||||
m_maincpu(nullptr),
|
||||
m_iospace(nullptr),
|
||||
m_prgspace(nullptr),
|
||||
m_memspace(nullptr),
|
||||
m_out_irq2_cb(*this),
|
||||
m_out_irq3_cb(*this),
|
||||
m_out_irq4_cb(*this),
|
||||
@ -153,18 +153,38 @@ isa8_device::isa8_device(const machine_config &mconfig, device_type type, const
|
||||
m_dma_eop[i] = false;
|
||||
}
|
||||
m_nmi_enabled = false;
|
||||
m_iowidth = m_prgwidth = 0;
|
||||
m_iowidth = m_memwidth = 0;
|
||||
m_allocspaces = false;
|
||||
}
|
||||
|
||||
READ8_MEMBER(isa8_device::prog_r)
|
||||
std::vector<std::pair<int, const address_space_config *>> isa8_device::memory_space_config() const
|
||||
{
|
||||
return m_prgspace->read_byte(offset);
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_ISA_MEM, &m_mem_config),
|
||||
std::make_pair(AS_ISA_IO, &m_io_config),
|
||||
std::make_pair(AS_ISA_MEMALT, &m_mem16_config),
|
||||
std::make_pair(AS_ISA_IOALT, &m_io16_config)
|
||||
};
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(isa8_device::prog_w)
|
||||
std::vector<std::pair<int, const address_space_config *>> isa16_device::memory_space_config() const
|
||||
{
|
||||
m_prgspace->write_byte(offset, data);
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_ISA_MEM, &m_mem16_config),
|
||||
std::make_pair(AS_ISA_IO, &m_io16_config),
|
||||
std::make_pair(AS_ISA_MEMALT, &m_mem_config),
|
||||
std::make_pair(AS_ISA_IOALT, &m_io_config)
|
||||
};
|
||||
}
|
||||
|
||||
READ8_MEMBER(isa8_device::mem_r)
|
||||
{
|
||||
return m_memspace->read_byte(offset);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(isa8_device::mem_w)
|
||||
{
|
||||
m_memspace->write_byte(offset, data);
|
||||
}
|
||||
|
||||
READ8_MEMBER(isa8_device::io_r)
|
||||
@ -206,17 +226,17 @@ void isa8_device::device_start()
|
||||
|
||||
if (m_allocspaces)
|
||||
{
|
||||
m_iospace = &space(AS_IO);
|
||||
m_prgspace = &space(AS_PROGRAM);
|
||||
m_iospace = &space(AS_ISA_IO);
|
||||
m_memspace = &space(AS_ISA_MEM);
|
||||
m_iowidth = m_iospace->data_width();
|
||||
m_prgwidth = m_prgspace->data_width();
|
||||
m_memwidth = m_memspace->data_width();
|
||||
}
|
||||
else // use host CPU's program and I/O spaces directly
|
||||
{
|
||||
m_iospace = &m_maincpu->space(AS_IO);
|
||||
m_iowidth = m_maincpu->space_config(AS_IO)->m_databus_width;
|
||||
m_prgspace = &m_maincpu->space(AS_PROGRAM);
|
||||
m_prgwidth = m_maincpu->space_config(AS_PROGRAM)->m_databus_width;
|
||||
m_memspace = &m_maincpu->space(AS_PROGRAM);
|
||||
m_memwidth = m_maincpu->space_config(AS_PROGRAM)->m_databus_width;
|
||||
}
|
||||
}
|
||||
|
||||
@ -229,20 +249,20 @@ void isa8_device::device_reset()
|
||||
}
|
||||
|
||||
|
||||
void isa8_device::install_space(address_spacenum spacenum, offs_t start, offs_t end, read8_delegate rhandler, write8_delegate whandler)
|
||||
void isa8_device::install_space(int spacenum, offs_t start, offs_t end, read8_delegate rhandler, write8_delegate whandler)
|
||||
{
|
||||
int buswidth;
|
||||
address_space *space;
|
||||
|
||||
if (spacenum == AS_IO)
|
||||
if (spacenum == AS_ISA_IO)
|
||||
{
|
||||
space = m_iospace;
|
||||
buswidth = m_iowidth;
|
||||
}
|
||||
else if (spacenum == AS_PROGRAM)
|
||||
else if (spacenum == AS_ISA_MEM)
|
||||
{
|
||||
space = m_prgspace;
|
||||
buswidth = m_prgwidth;
|
||||
space = m_memspace;
|
||||
buswidth = m_memwidth;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -277,24 +297,24 @@ void isa8_device::install_space(address_spacenum spacenum, offs_t start, offs_t
|
||||
|
||||
void isa8_device::install_memory(offs_t start, offs_t end, read8_delegate rhandler, write8_delegate whandler)
|
||||
{
|
||||
install_space(AS_PROGRAM, start, end, rhandler, whandler);
|
||||
install_space(AS_ISA_MEM, start, end, rhandler, whandler);
|
||||
}
|
||||
|
||||
void isa8_device::install_device(offs_t start, offs_t end, read8_delegate rhandler, write8_delegate whandler)
|
||||
{
|
||||
install_space(AS_IO, start, end, rhandler, whandler);
|
||||
install_space(AS_ISA_IO, start, end, rhandler, whandler);
|
||||
}
|
||||
|
||||
|
||||
void isa8_device::install_bank(offs_t start, offs_t end, const char *tag, uint8_t *data)
|
||||
{
|
||||
m_prgspace->install_readwrite_bank(start, end, 0, tag );
|
||||
machine().root_device().membank(m_prgspace->device().siblingtag(tag).c_str())->set_base(data);
|
||||
m_memspace->install_readwrite_bank(start, end, 0, tag );
|
||||
machine().root_device().membank(m_memspace->device().siblingtag(tag).c_str())->set_base(data);
|
||||
}
|
||||
|
||||
void isa8_device::unmap_bank(offs_t start, offs_t end)
|
||||
{
|
||||
m_prgspace->unmap_readwrite(start, end);
|
||||
m_memspace->unmap_readwrite(start, end);
|
||||
}
|
||||
|
||||
void isa8_device::install_rom(device_t *dev, offs_t start, offs_t end, const char *tag, const char *region)
|
||||
@ -304,22 +324,22 @@ void isa8_device::install_rom(device_t *dev, offs_t start, offs_t end, const cha
|
||||
uint8_t *dest = machine().root_device().memregion("isa")->base() + start - 0xc0000;
|
||||
memcpy(dest,src, end - start + 1);
|
||||
} else {
|
||||
m_prgspace->install_read_bank(start, end, 0, tag);
|
||||
m_prgspace->unmap_write(start, end);
|
||||
machine().root_device().membank(m_prgspace->device().siblingtag(tag).c_str())->set_base(machine().root_device().memregion(dev->subtag(region).c_str())->base());
|
||||
m_memspace->install_read_bank(start, end, 0, tag);
|
||||
m_memspace->unmap_write(start, end);
|
||||
machine().root_device().membank(m_memspace->device().siblingtag(tag).c_str())->set_base(machine().root_device().memregion(dev->subtag(region).c_str())->base());
|
||||
}
|
||||
}
|
||||
|
||||
void isa8_device::unmap_rom(offs_t start, offs_t end)
|
||||
{
|
||||
m_prgspace->unmap_read(start, end);
|
||||
m_memspace->unmap_read(start, end);
|
||||
}
|
||||
|
||||
bool isa8_device::is_option_rom_space_available(offs_t start, int size)
|
||||
{
|
||||
m_maincpu = machine().device<cpu_device>(m_cputag);
|
||||
for(int i = 0; i < size; i += 4096) // 4KB granularity should be enough
|
||||
if(m_prgspace->get_read_ptr(start + i)) return false;
|
||||
if(m_memspace->get_read_ptr(start + i)) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -465,7 +485,7 @@ void isa16_device::device_start()
|
||||
|
||||
void isa16_device::install16_device(offs_t start, offs_t end, read16_delegate rhandler, write16_delegate whandler)
|
||||
{
|
||||
int buswidth = m_prgwidth;
|
||||
int buswidth = m_iowidth;
|
||||
switch(buswidth)
|
||||
{
|
||||
case 16:
|
||||
@ -490,14 +510,14 @@ void isa16_device::install16_device(offs_t start, offs_t end, read16_delegate rh
|
||||
}
|
||||
}
|
||||
|
||||
READ16_MEMBER(isa16_device::prog16_r)
|
||||
READ16_MEMBER(isa16_device::mem16_r)
|
||||
{
|
||||
return m_prgspace->read_word(offset<<1, mem_mask);
|
||||
return m_memspace->read_word(offset<<1, mem_mask);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(isa16_device::prog16_w)
|
||||
WRITE16_MEMBER(isa16_device::mem16_w)
|
||||
{
|
||||
m_prgspace->write_word(offset<<1, data, mem_mask);
|
||||
m_memspace->write_word(offset<<1, data, mem_mask);
|
||||
}
|
||||
|
||||
READ16_MEMBER(isa16_device::io16_r)
|
||||
@ -510,21 +530,21 @@ WRITE16_MEMBER(isa16_device::io16_w)
|
||||
m_iospace->write_word(offset<<1, data, mem_mask);
|
||||
}
|
||||
|
||||
READ16_MEMBER(isa16_device::prog16_swap_r)
|
||||
READ16_MEMBER(isa16_device::mem16_swap_r)
|
||||
{
|
||||
uint16_t rv;
|
||||
mem_mask = (mem_mask<<8) | (mem_mask>>8);
|
||||
|
||||
rv = m_prgspace->read_word(offset<<1, mem_mask);
|
||||
rv = m_memspace->read_word(offset<<1, mem_mask);
|
||||
|
||||
return (rv<<8) | (rv>>8);
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(isa16_device::prog16_swap_w)
|
||||
WRITE16_MEMBER(isa16_device::mem16_swap_w)
|
||||
{
|
||||
mem_mask = (mem_mask<<8) | (mem_mask>>8);
|
||||
data = (data<<8) | (data>>8);
|
||||
m_prgspace->write_word(offset<<1, data, mem_mask);
|
||||
m_memspace->write_word(offset<<1, data, mem_mask);
|
||||
}
|
||||
|
||||
READ16_MEMBER(isa16_device::io16_swap_r)
|
||||
|
@ -186,6 +186,14 @@ class isa8_device : public device_t,
|
||||
public device_memory_interface
|
||||
{
|
||||
public:
|
||||
enum
|
||||
{
|
||||
AS_ISA_MEM = 0,
|
||||
AS_ISA_IO = 1,
|
||||
AS_ISA_MEMALT = 2,
|
||||
AS_ISA_IOALT = 3
|
||||
};
|
||||
|
||||
// construction/destruction
|
||||
isa8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
// inline configuration
|
||||
@ -203,17 +211,7 @@ public:
|
||||
template <class Object> static devcb_base &set_out_drq3_callback(device_t &device, Object &&cb) { return downcast<isa8_device &>(device).m_out_drq3_cb.set_callback(std::forward<Object>(cb)); }
|
||||
|
||||
// for ISA8, put the 8-bit configs in the primary slots and the 16-bit configs in the secondary
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum) const override
|
||||
{
|
||||
switch (spacenum)
|
||||
{
|
||||
case AS_PROGRAM: return &m_program_config;
|
||||
case AS_IO: return &m_io_config;
|
||||
case AS_DATA: return &m_program16_config;
|
||||
case AS_3: return &m_io16_config;
|
||||
default: fatalerror("isa: invalid memory space!\n");
|
||||
}
|
||||
}
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
void install_device(offs_t start, offs_t end, read8_delegate rhandler, write8_delegate whandler);
|
||||
template<typename T> void install_device(offs_t addrstart, offs_t addrend, T &device, void (T::*map)(class address_map &map), int bits = 8)
|
||||
@ -228,6 +226,7 @@ public:
|
||||
void install_rom(device_t *dev, offs_t start, offs_t end, const char *tag, const char *region);
|
||||
void install_memory(offs_t start, offs_t end, read8_delegate rhandler, write8_delegate whandler);
|
||||
|
||||
void unmap_device(offs_t start, offs_t end) const { m_iospace->unmap_readwrite(start, end); }
|
||||
void unmap_bank(offs_t start, offs_t end);
|
||||
void unmap_rom(offs_t start, offs_t end);
|
||||
bool is_option_rom_space_available(offs_t start, int size);
|
||||
@ -244,8 +243,8 @@ public:
|
||||
DECLARE_WRITE_LINE_MEMBER( drq3_w );
|
||||
|
||||
// 8 bit accessors for ISA-defined address spaces
|
||||
DECLARE_READ8_MEMBER(prog_r);
|
||||
DECLARE_WRITE8_MEMBER(prog_w);
|
||||
DECLARE_READ8_MEMBER(mem_r);
|
||||
DECLARE_WRITE8_MEMBER(mem_w);
|
||||
DECLARE_READ8_MEMBER(io_r);
|
||||
DECLARE_WRITE8_MEMBER(io_w);
|
||||
|
||||
@ -258,12 +257,12 @@ public:
|
||||
|
||||
virtual void set_dma_channel(uint8_t channel, device_isa8_card_interface *dev, bool do_eop);
|
||||
|
||||
const address_space_config m_program_config, m_io_config, m_program16_config, m_io16_config;
|
||||
const address_space_config m_mem_config, m_io_config, m_mem16_config, m_io16_config;
|
||||
|
||||
protected:
|
||||
isa8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
void install_space(address_spacenum spacenum, offs_t start, offs_t end, read8_delegate rhandler, write8_delegate whandler);
|
||||
void install_space(int spacenum, offs_t start, offs_t end, read8_delegate rhandler, write8_delegate whandler);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
@ -273,8 +272,8 @@ protected:
|
||||
cpu_device *m_maincpu;
|
||||
|
||||
// address spaces
|
||||
address_space *m_iospace, *m_prgspace;
|
||||
int m_iowidth, m_prgwidth;
|
||||
address_space *m_iospace, *m_memspace;
|
||||
int m_iowidth, m_memwidth;
|
||||
bool m_allocspaces;
|
||||
|
||||
devcb_write_line m_out_irq2_cb;
|
||||
@ -370,17 +369,7 @@ public:
|
||||
void install16_device(offs_t start, offs_t end, read16_delegate rhandler, write16_delegate whandler);
|
||||
|
||||
// for ISA16, put the 16-bit configs in the primary slots and the 8-bit configs in the secondary
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum) const override
|
||||
{
|
||||
switch (spacenum)
|
||||
{
|
||||
case AS_PROGRAM: return &m_program16_config;
|
||||
case AS_IO: return &m_io16_config;
|
||||
case AS_DATA: return &m_program_config;
|
||||
case AS_3: return &m_io_config;
|
||||
default: fatalerror("isa: invalid memory space!\n");
|
||||
}
|
||||
}
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( irq10_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( irq11_w );
|
||||
@ -397,13 +386,13 @@ public:
|
||||
void dack16_w(int line,uint16_t data);
|
||||
|
||||
// 16 bit accessors for ISA-defined address spaces
|
||||
DECLARE_READ16_MEMBER(prog16_r);
|
||||
DECLARE_WRITE16_MEMBER(prog16_w);
|
||||
DECLARE_READ16_MEMBER(mem16_r);
|
||||
DECLARE_WRITE16_MEMBER(mem16_w);
|
||||
DECLARE_READ16_MEMBER(io16_r);
|
||||
DECLARE_WRITE16_MEMBER(io16_w);
|
||||
// byte-swapped versions of 16-bit accessors
|
||||
DECLARE_READ16_MEMBER(prog16_swap_r);
|
||||
DECLARE_WRITE16_MEMBER(prog16_swap_w);
|
||||
DECLARE_READ16_MEMBER(mem16_swap_r);
|
||||
DECLARE_WRITE16_MEMBER(mem16_swap_w);
|
||||
DECLARE_READ16_MEMBER(io16_swap_r);
|
||||
DECLARE_WRITE16_MEMBER(io16_swap_w);
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
DEFINE_DEVICE_TYPE(ISA8_NUM_9_REV, isa8_number_9_rev_device, "number_9_rev", "Number Nine Revolution 512x32/1024x8")
|
||||
|
||||
static ADDRESS_MAP_START( upd7220_map, AS_0, 16, isa8_number_9_rev_device )
|
||||
static ADDRESS_MAP_START( upd7220_map, 0, 16, isa8_number_9_rev_device )
|
||||
AM_RANGE(0x00000, 0x3ffff) AM_NOP
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -61,7 +61,7 @@ MACHINE_CONFIG_MEMBER( isa8_number_9_rev_device::device_add_mconfig )
|
||||
MCFG_PALETTE_ADD("palette", 4096)
|
||||
|
||||
MCFG_DEVICE_ADD("upd7220", UPD7220, XTAL_4_433619MHz/2) // unknown clock
|
||||
MCFG_DEVICE_ADDRESS_MAP(AS_0, upd7220_map)
|
||||
MCFG_DEVICE_ADDRESS_MAP(0, upd7220_map)
|
||||
MCFG_UPD7220_DISPLAY_PIXELS_CALLBACK_OWNER(isa8_number_9_rev_device, hgdc_display_pixels)
|
||||
MCFG_VIDEO_SET_SCREEN("screen")
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -182,7 +182,8 @@ void southbridge_device::device_start()
|
||||
spaceio.install_readwrite_handler(0x0000, 0x001f, read8_delegate(FUNC(am9517a_device::read),&(*m_dma8237_1)), write8_delegate(FUNC(am9517a_device::write),&(*m_dma8237_1)), 0xffffffff);
|
||||
spaceio.install_readwrite_handler(0x0020, 0x003f, read8_delegate(FUNC(pic8259_device::read),&(*m_pic8259_master)), write8_delegate(FUNC(pic8259_device::write),&(*m_pic8259_master)), 0xffffffff);
|
||||
spaceio.install_readwrite_handler(0x0040, 0x005f, read8_delegate(FUNC(pit8254_device::read),&(*m_pit8254)), write8_delegate(FUNC(pit8254_device::write),&(*m_pit8254)), 0xffffffff);
|
||||
spaceio.install_readwrite_handler(0x0060, 0x0063, read8_delegate(FUNC(southbridge_device::at_keybc_r),this), write8_delegate(FUNC(southbridge_device::at_keybc_w),this), 0xffffffff);
|
||||
spaceio.install_readwrite_handler(0x0060, 0x0063, read8_delegate(FUNC(at_keyboard_controller_device::data_r), &(*m_keybc)), write8_delegate(FUNC(at_keyboard_controller_device::data_w), &(*m_keybc)), 0x000000ff);
|
||||
spaceio.install_readwrite_handler(0x0060, 0x0063, read8_delegate(FUNC(southbridge_device::at_portb_r), this), write8_delegate(FUNC(southbridge_device::at_portb_w), this), 0x0000ff00);
|
||||
spaceio.install_readwrite_handler(0x0064, 0x0067, read8_delegate(FUNC(at_keyboard_controller_device::status_r),&(*m_keybc)), write8_delegate(FUNC(at_keyboard_controller_device::command_w),&(*m_keybc)), 0xffffffff);
|
||||
spaceio.install_readwrite_handler(0x0070, 0x007f, read8_delegate(FUNC(ds12885_device::read),&(*m_ds12885)), write8_delegate(FUNC(ds12885_device::write),&(*m_ds12885)), 0xffffffff);
|
||||
spaceio.install_readwrite_handler(0x0080, 0x009f, read8_delegate(FUNC(southbridge_device::at_page8_r),this), write8_delegate(FUNC(southbridge_device::at_page8_w),this), 0xffffffff);
|
||||
@ -458,27 +459,6 @@ WRITE8_MEMBER( southbridge_device::at_dma8237_2_w )
|
||||
m_dma8237_2->write( space, offset / 2, data);
|
||||
}
|
||||
|
||||
READ8_MEMBER( southbridge_device::at_keybc_r )
|
||||
{
|
||||
switch (offset)
|
||||
{
|
||||
case 0: return m_keybc->data_r(space, 0);
|
||||
case 1: return at_portb_r(space, 0);
|
||||
}
|
||||
|
||||
return 0xff;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( southbridge_device::at_keybc_w )
|
||||
{
|
||||
switch (offset)
|
||||
{
|
||||
case 0: m_keybc->data_w(space, 0, data); break;
|
||||
case 1: at_portb_w(space, 0, data); break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
WRITE8_MEMBER( southbridge_device::write_rtc )
|
||||
{
|
||||
if (offset==0) {
|
||||
|
@ -121,8 +121,6 @@ private:
|
||||
DECLARE_WRITE8_MEMBER(ide2_write_cs1_w);
|
||||
DECLARE_READ8_MEMBER(at_dma8237_2_r);
|
||||
DECLARE_WRITE8_MEMBER(at_dma8237_2_w);
|
||||
DECLARE_READ8_MEMBER(at_keybc_r);
|
||||
DECLARE_WRITE8_MEMBER(at_keybc_w);
|
||||
DECLARE_WRITE8_MEMBER(write_rtc);
|
||||
DECLARE_READ8_MEMBER(pc_dma_read_byte);
|
||||
DECLARE_WRITE8_MEMBER(pc_dma_write_byte);
|
||||
|
@ -866,7 +866,7 @@ msx_cart_keyboard_master_device::msx_cart_keyboard_master_device(const machine_c
|
||||
}
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( vlm_map, AS_0, 8, msx_cart_keyboard_master_device )
|
||||
static ADDRESS_MAP_START( vlm_map, 0, 8, msx_cart_keyboard_master_device )
|
||||
AM_RANGE(0x0000, 0xffff) AM_READ(read_vlm)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -876,7 +876,7 @@ MACHINE_CONFIG_MEMBER( msx_cart_keyboard_master_device::device_add_mconfig )
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
MCFG_SOUND_ADD("vlm5030", VLM5030, XTAL_3_579545MHz)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
|
||||
MCFG_DEVICE_ADDRESS_MAP(AS_0, vlm_map)
|
||||
MCFG_DEVICE_ADDRESS_MAP(0, vlm_map)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
@ -29,7 +29,7 @@ msx_cart_moonsound_device::msx_cart_moonsound_device(const machine_config &mconf
|
||||
}
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( ymf278b_map, AS_0, 8, msx_cart_moonsound_device )
|
||||
static ADDRESS_MAP_START( ymf278b_map, 0, 8, msx_cart_moonsound_device )
|
||||
AM_RANGE(0x000000, 0x1fffff) AM_ROM
|
||||
AM_RANGE(0x200000, 0x3fffff) AM_RAM // 2MB sram for testing
|
||||
ADDRESS_MAP_END
|
||||
@ -39,7 +39,7 @@ MACHINE_CONFIG_MEMBER( msx_cart_moonsound_device::device_add_mconfig )
|
||||
// The moonsound cartridge has a separate stereo output.
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
MCFG_SOUND_ADD("ymf278b", YMF278B, YMF278B_STD_CLOCK)
|
||||
MCFG_DEVICE_ADDRESS_MAP(AS_0, ymf278b_map)
|
||||
MCFG_DEVICE_ADDRESS_MAP(0, ymf278b_map)
|
||||
MCFG_YMF278B_IRQ_HANDLER(WRITELINE(msx_cart_moonsound_device, irq_w))
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 0.50)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 0.50)
|
||||
|
@ -69,7 +69,7 @@ const tiny_rom_entry *cbm8000_hsg_device::device_rom_region() const
|
||||
// ADDRESS_MAP( hsg_a_map )
|
||||
//-------------------------------------------------
|
||||
|
||||
static ADDRESS_MAP_START( hsg_a_map, AS_0, 8, cbm8000_hsg_a_device )
|
||||
static ADDRESS_MAP_START( hsg_a_map, 0, 8, cbm8000_hsg_a_device )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
|
||||
AM_RANGE(0x0000, 0x7fff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
@ -79,7 +79,7 @@ ADDRESS_MAP_END
|
||||
// ADDRESS_MAP( hsg_b_map )
|
||||
//-------------------------------------------------
|
||||
|
||||
static ADDRESS_MAP_START( hsg_b_map, AS_0, 8, cbm8000_hsg_b_device )
|
||||
static ADDRESS_MAP_START( hsg_b_map, 0, 8, cbm8000_hsg_b_device )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
|
||||
AM_RANGE(0x0000, 0x3fff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
@ -99,7 +99,7 @@ MACHINE_CONFIG_MEMBER( cbm8000_hsg_a_device::device_add_mconfig )
|
||||
|
||||
MCFG_DEVICE_ADD(EF9365_TAG, EF9365, 1750000)
|
||||
MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
|
||||
MCFG_DEVICE_ADDRESS_MAP(AS_0, hsg_a_map)
|
||||
MCFG_DEVICE_ADDRESS_MAP(0, hsg_a_map)
|
||||
MCFG_EF936X_PALETTE("palette")
|
||||
MCFG_EF936X_BITPLANES_CNT(1);
|
||||
MCFG_EF936X_DISPLAYMODE(DISPLAY_MODE_512x512);
|
||||
@ -115,7 +115,7 @@ MACHINE_CONFIG_MEMBER( cbm8000_hsg_b_device::device_add_mconfig )
|
||||
|
||||
MCFG_DEVICE_ADD(EF9366_TAG, EF9365, 1750000)
|
||||
MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
|
||||
MCFG_DEVICE_ADDRESS_MAP(AS_0, hsg_b_map)
|
||||
MCFG_DEVICE_ADDRESS_MAP(0, hsg_b_map)
|
||||
MCFG_EF936X_PALETTE("palette")
|
||||
MCFG_EF936X_BITPLANES_CNT(1);
|
||||
MCFG_EF936X_DISPLAYMODE(DISPLAY_MODE_512x256);
|
||||
|
@ -205,6 +205,13 @@ SLOT_INTERFACE_END
|
||||
|
||||
DEFINE_DEVICE_TYPE(VME, vme_device, "vme", "VME bus")
|
||||
|
||||
std::vector<std::pair<int, const address_space_config *>> vme_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_a32_config)
|
||||
};
|
||||
}
|
||||
|
||||
// static_set_cputag - used to be able to lookup the CPU owning this VME bus
|
||||
void vme_device::static_set_cputag(device_t &device, const char *tag)
|
||||
{
|
||||
|
@ -142,14 +142,8 @@ public:
|
||||
static void static_set_cputag(device_t &device, const char *tag);
|
||||
static void static_use_owner_spaces(device_t &device);
|
||||
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum) const override
|
||||
{
|
||||
switch (spacenum)
|
||||
{
|
||||
case AS_PROGRAM: return &m_a32_config;
|
||||
default: return nullptr;
|
||||
}
|
||||
}
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
const address_space_config m_a32_config;
|
||||
|
||||
void add_vme_card(device_vme_card_interface *card);
|
||||
|
@ -83,7 +83,7 @@ const tiny_rom_entry *wangpc_tig_device::device_rom_region() const
|
||||
// UPD7220_INTERFACE( hgdc0_intf )
|
||||
//-------------------------------------------------
|
||||
|
||||
static ADDRESS_MAP_START( upd7220_0_map, AS_0, 16, wangpc_tig_device )
|
||||
static ADDRESS_MAP_START( upd7220_0_map, 0, 16, wangpc_tig_device )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
|
||||
AM_RANGE(0x0000, 0x0fff) AM_MIRROR(0x1000) AM_RAM // frame buffer
|
||||
AM_RANGE(0x4000, 0x7fff) AM_RAM // font memory
|
||||
@ -98,7 +98,7 @@ UPD7220_DRAW_TEXT_LINE_MEMBER( wangpc_tig_device::hgdc_draw_text )
|
||||
// UPD7220_INTERFACE( hgdc1_intf )
|
||||
//-------------------------------------------------
|
||||
|
||||
static ADDRESS_MAP_START( upd7220_1_map, AS_0, 16, wangpc_tig_device )
|
||||
static ADDRESS_MAP_START( upd7220_1_map, 0, 16, wangpc_tig_device )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xffff)
|
||||
AM_RANGE(0x0000, 0xffff) AM_RAM // graphics memory
|
||||
ADDRESS_MAP_END
|
||||
@ -123,12 +123,12 @@ MACHINE_CONFIG_MEMBER( wangpc_tig_device::device_add_mconfig )
|
||||
MCFG_PALETTE_ADD_MONOCHROME_HIGHLIGHT("palette")
|
||||
|
||||
MCFG_DEVICE_ADD(UPD7720_0_TAG, UPD7220, XTAL_52_832MHz/28)
|
||||
MCFG_DEVICE_ADDRESS_MAP(AS_0, upd7220_0_map)
|
||||
MCFG_DEVICE_ADDRESS_MAP(0, upd7220_0_map)
|
||||
MCFG_UPD7220_DRAW_TEXT_CALLBACK_OWNER(wangpc_tig_device, hgdc_draw_text)
|
||||
MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
|
||||
|
||||
MCFG_DEVICE_ADD(UPD7720_1_TAG, UPD7220, XTAL_52_832MHz/28)
|
||||
MCFG_DEVICE_ADDRESS_MAP(AS_0, upd7220_1_map)
|
||||
MCFG_DEVICE_ADDRESS_MAP(0, upd7220_1_map)
|
||||
MCFG_UPD7220_DISPLAY_PIXELS_CALLBACK_OWNER(wangpc_tig_device, hgdc_display_pixels)
|
||||
MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -47,6 +47,14 @@ n8x300_cpu_device::n8x300_cpu_device(const machine_config &mconfig, const char *
|
||||
{
|
||||
}
|
||||
|
||||
std::vector<std::pair<int, const address_space_config *>> n8x300_cpu_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config),
|
||||
std::make_pair(AS_IO, &m_io_config)
|
||||
};
|
||||
}
|
||||
|
||||
void n8x300_cpu_device::set_reg(uint8_t reg, uint8_t val)
|
||||
{
|
||||
switch(reg)
|
||||
|
@ -60,15 +60,7 @@ protected:
|
||||
virtual void execute_run() override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override
|
||||
{
|
||||
switch (spacenum)
|
||||
{
|
||||
case AS_PROGRAM: return &m_program_config;
|
||||
case AS_IO: return &m_io_config;
|
||||
default: return nullptr;
|
||||
}
|
||||
}
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_disasm_interface overrides
|
||||
virtual uint32_t disasm_min_opcode_bytes() const override { return 2; }
|
||||
|
@ -649,26 +649,29 @@ void adsp21xx_device::device_reset()
|
||||
// the space doesn't exist
|
||||
//-------------------------------------------------
|
||||
|
||||
const address_space_config *adsp2100_device::memory_space_config(address_spacenum spacenum) const
|
||||
std::vector<std::pair<int, const address_space_config *>> adsp2100_device::memory_space_config() const
|
||||
{
|
||||
return (spacenum == AS_PROGRAM) ? &m_program_config :
|
||||
(spacenum == AS_DATA) ? &m_data_config :
|
||||
nullptr;
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config),
|
||||
std::make_pair(AS_DATA, &m_data_config)
|
||||
};
|
||||
}
|
||||
|
||||
const address_space_config *adsp2101_device::memory_space_config(address_spacenum spacenum) const
|
||||
std::vector<std::pair<int, const address_space_config *>> adsp2101_device::memory_space_config() const
|
||||
{
|
||||
return (spacenum == AS_PROGRAM) ? &m_program_config :
|
||||
(spacenum == AS_DATA) ? &m_data_config :
|
||||
nullptr;
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config),
|
||||
std::make_pair(AS_DATA, &m_data_config)
|
||||
};
|
||||
}
|
||||
|
||||
const address_space_config *adsp2181_device::memory_space_config(address_spacenum spacenum) const
|
||||
std::vector<std::pair<int, const address_space_config *>> adsp2181_device::memory_space_config() const
|
||||
{
|
||||
return (spacenum == AS_PROGRAM) ? &m_program_config :
|
||||
(spacenum == AS_DATA) ? &m_data_config :
|
||||
(spacenum == AS_IO) ? &m_io_config :
|
||||
nullptr;
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config),
|
||||
std::make_pair(AS_DATA, &m_data_config),
|
||||
std::make_pair(AS_IO, &m_io_config)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
@ -494,7 +494,7 @@ protected:
|
||||
virtual uint32_t execute_input_lines() const override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override;
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// interrupts
|
||||
virtual bool generate_irq(int which, int indx) override;
|
||||
@ -517,7 +517,7 @@ protected:
|
||||
virtual uint32_t execute_input_lines() const override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override;
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// interrupts
|
||||
virtual bool generate_irq(int which, int indx) override;
|
||||
@ -538,7 +538,7 @@ protected:
|
||||
virtual uint32_t execute_input_lines() const override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override;
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// interrupts
|
||||
virtual bool generate_irq(int which, int indx) override;
|
||||
|
@ -203,6 +203,13 @@ alpha8301_cpu_device::alpha8301_cpu_device(const machine_config &mconfig, const
|
||||
{
|
||||
}
|
||||
|
||||
std::vector<std::pair<int, const address_space_config *>> alpha8201_cpu_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config),
|
||||
std::make_pair(AS_IO, &m_io_config)
|
||||
};
|
||||
}
|
||||
|
||||
/* Get next opcode argument and increment program counter */
|
||||
unsigned alpha8201_cpu_device::M_RDMEM_OPCODE()
|
||||
|
@ -75,7 +75,7 @@ protected:
|
||||
virtual void execute_set_input(int inputnum, int state) override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override { return (spacenum == AS_PROGRAM) ? &m_program_config : ( (spacenum == AS_IO) ? &m_io_config : nullptr ); }
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_state_interface overrides
|
||||
virtual void state_import(const device_state_entry &entry) override;
|
||||
|
@ -794,15 +794,13 @@ static const prom_load_t pl_madr_a91 =
|
||||
// device_memory_interface overrides
|
||||
//-------------------------------------------------
|
||||
|
||||
const address_space_config*alto2_cpu_device::memory_space_config(address_spacenum spacenum) const
|
||||
std::vector<std::pair<int, const address_space_config *>> alto2_cpu_device::memory_space_config() const
|
||||
{
|
||||
if (AS_0 == spacenum)
|
||||
return &m_ucode_config;
|
||||
if (AS_1 == spacenum)
|
||||
return &m_const_config;
|
||||
if (AS_2 == spacenum)
|
||||
return &m_iomem_config;
|
||||
return nullptr;
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(0, &m_ucode_config),
|
||||
std::make_pair(1, &m_const_config),
|
||||
std::make_pair(2, &m_iomem_config)
|
||||
};
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -812,7 +810,7 @@ const address_space_config*alto2_cpu_device::memory_space_config(address_spacenu
|
||||
void alto2_cpu_device::device_start()
|
||||
{
|
||||
// get a pointer to the IO address space
|
||||
m_iomem = &space(AS_2);
|
||||
m_iomem = &space(2);
|
||||
|
||||
// Decode 2 pages of micro code PROMs to CROM
|
||||
// If m_cram_config == 1 or 3, only the first page will be used
|
||||
|
@ -230,7 +230,7 @@ protected:
|
||||
virtual void execute_set_input(int inputnum, int state) override;
|
||||
|
||||
//! device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override;
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
//! device (P)ROMs
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
|
@ -118,6 +118,14 @@ am29000_cpu_device::am29000_cpu_device(const machine_config &mconfig, const char
|
||||
m_next_pc = 0;
|
||||
}
|
||||
|
||||
std::vector<std::pair<int, const address_space_config *>> am29000_cpu_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config),
|
||||
std::make_pair(AS_DATA, &m_data_config),
|
||||
std::make_pair(AS_IO, &m_io_config)
|
||||
};
|
||||
}
|
||||
|
||||
void am29000_cpu_device::device_start()
|
||||
{
|
||||
|
@ -451,16 +451,7 @@ protected:
|
||||
virtual void execute_set_input(int inputnum, int state) override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override
|
||||
{
|
||||
switch (spacenum)
|
||||
{
|
||||
case AS_PROGRAM: return &m_program_config;
|
||||
case AS_IO: return &m_io_config;
|
||||
case AS_DATA: return &m_data_config;
|
||||
default: return nullptr;
|
||||
}
|
||||
}
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_state_interface overrides
|
||||
virtual void state_import(const device_state_entry &entry) override;
|
||||
|
@ -68,6 +68,14 @@ amis2152_cpu_device::amis2152_cpu_device(const machine_config &mconfig, const ch
|
||||
: amis2000_base_device(mconfig, AMI_S2152, tag, owner, clock, 3, 11, 3, 13, ADDRESS_MAP_NAME(program_1_5k), 7, ADDRESS_MAP_NAME(data_80x4))
|
||||
{ }
|
||||
|
||||
std::vector<std::pair<int, const address_space_config *>> amis2000_base_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config),
|
||||
std::make_pair(AS_DATA, &m_data_config)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// state_string_export - export state as a string
|
||||
|
@ -84,7 +84,7 @@ protected:
|
||||
virtual void execute_run() override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override { return(spacenum == AS_PROGRAM) ? &m_program_config : ((spacenum == AS_DATA) ? &m_data_config : nullptr); }
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_disasm_interface overrides
|
||||
virtual u32 disasm_min_opcode_bytes() const override { return 1; }
|
||||
|
@ -351,6 +351,14 @@ apexc_cpu_device::apexc_cpu_device(const machine_config &mconfig, const char *ta
|
||||
{
|
||||
}
|
||||
|
||||
std::vector<std::pair<int, const address_space_config *>> apexc_cpu_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config),
|
||||
std::make_pair(AS_IO, &m_io_config)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
word accessor functions
|
||||
|
@ -34,7 +34,7 @@ protected:
|
||||
virtual void execute_run() override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override { return (spacenum == AS_PROGRAM) ? &m_program_config : ( (spacenum == AS_IO) ? &m_io_config : nullptr ); }
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_state_interface overrides
|
||||
virtual void state_import(const device_state_entry &entry) override;
|
||||
|
@ -36,7 +36,7 @@ protected:
|
||||
virtual void execute_set_input(int inputnum, int state) override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override { return (spacenum == AS_PROGRAM) ? &m_program_config : nullptr; }
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_state_interface overrides
|
||||
virtual void state_import(const device_state_entry &entry) override;
|
||||
|
@ -56,6 +56,13 @@ arcompact_device::arcompact_device(const machine_config &mconfig, const char *ta
|
||||
{
|
||||
}
|
||||
|
||||
std::vector<std::pair<int, const address_space_config *>> arcompact_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config),
|
||||
std::make_pair(AS_IO, &m_io_config)
|
||||
};
|
||||
}
|
||||
|
||||
offs_t arcompact_device::disasm_disassemble(std::ostream &stream, offs_t pc, const uint8_t *oprom, const uint8_t *opram, uint32_t options)
|
||||
{
|
||||
|
@ -95,7 +95,7 @@ protected:
|
||||
virtual void execute_set_input(int inputnum, int state) override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override { return (spacenum == AS_PROGRAM) ? &m_program_config : ( (spacenum == AS_IO) ? &m_io_config : nullptr ); }
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_state_interface overrides
|
||||
virtual void state_import(const device_state_entry &entry) override;
|
||||
|
@ -228,6 +228,13 @@ DEFINE_DEVICE_TYPE(ARM, arm_cpu_device, "arm_le", "ARM (little)")
|
||||
DEFINE_DEVICE_TYPE(ARM_BE, arm_be_cpu_device, "arm_be", "ARM (big)")
|
||||
|
||||
|
||||
std::vector<std::pair<int, const address_space_config *>> arm_cpu_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config)
|
||||
};
|
||||
}
|
||||
|
||||
arm_cpu_device::arm_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: arm_cpu_device(mconfig, ARM, tag, owner, clock, ENDIANNESS_LITTLE)
|
||||
{
|
||||
|
@ -58,7 +58,7 @@ protected:
|
||||
virtual void execute_set_input(int inputnum, int state) override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override { return (spacenum == AS_PROGRAM) ? &m_program_config : nullptr; }
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_state_interface overrides
|
||||
virtual void state_string_export(const device_state_entry &entry, std::string &str) const override;
|
||||
|
@ -118,6 +118,13 @@ sa1110_cpu_device::sa1110_cpu_device(const machine_config &mconfig, const char *
|
||||
{
|
||||
}
|
||||
|
||||
std::vector<std::pair<int, const address_space_config *>> arm7_cpu_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config)
|
||||
};
|
||||
}
|
||||
|
||||
void arm7_cpu_device::update_reg_ptr()
|
||||
{
|
||||
m_reg_group = sRegisterTable[GET_MODE];
|
||||
@ -436,7 +443,7 @@ bool arm7_cpu_device::arm7_tlb_translate(offs_t &addr, int flags)
|
||||
}
|
||||
|
||||
|
||||
bool arm7_cpu_device::memory_translate(address_spacenum spacenum, int intention, offs_t &address)
|
||||
bool arm7_cpu_device::memory_translate(int spacenum, int intention, offs_t &address)
|
||||
{
|
||||
/* only applies to the program address space and only does something if the MMU's enabled */
|
||||
if( spacenum == AS_PROGRAM && ( m_control & COPRO_CTRL_MMU_EN ) )
|
||||
|
@ -67,8 +67,8 @@ protected:
|
||||
virtual void execute_set_input(int inputnum, int state) override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override { return (spacenum == AS_PROGRAM) ? &m_program_config : nullptr; }
|
||||
virtual bool memory_translate(address_spacenum spacenum, int intention, offs_t &address) override;
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
virtual bool memory_translate(int spacenum, int intention, offs_t &address) override;
|
||||
|
||||
// device_state_interface overrides
|
||||
virtual void state_export(const device_state_entry &entry) override;
|
||||
|
@ -66,13 +66,11 @@ WRITE32_MEMBER(lpc210x_device::flash_w)
|
||||
}
|
||||
|
||||
|
||||
const address_space_config *lpc210x_device::memory_space_config(address_spacenum spacenum) const
|
||||
std::vector<std::pair<int, const address_space_config *>> lpc210x_device::memory_space_config() const
|
||||
{
|
||||
switch(spacenum)
|
||||
{
|
||||
case AS_PROGRAM: return &m_program_config;
|
||||
default: return nullptr;
|
||||
}
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
@ -77,7 +77,7 @@ protected:
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum) const override;
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
uint32_t m_TxPR[2];
|
||||
|
||||
|
@ -235,9 +235,11 @@ void asap_device::device_reset()
|
||||
// the space doesn't exist
|
||||
//-------------------------------------------------
|
||||
|
||||
const address_space_config *asap_device::memory_space_config(address_spacenum spacenum) const
|
||||
std::vector<std::pair<int, const address_space_config *>> asap_device::memory_space_config() const
|
||||
{
|
||||
return (spacenum == AS_PROGRAM) ? &m_program_config : nullptr;
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
@ -81,7 +81,7 @@ protected:
|
||||
virtual void execute_set_input(int inputnum, int state) override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override;
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_state_interface overrides
|
||||
virtual void state_import(const device_state_entry &entry) override;
|
||||
|
@ -876,21 +876,13 @@ void avr8_device::device_reset()
|
||||
// the space doesn't exist
|
||||
//-------------------------------------------------
|
||||
|
||||
const address_space_config *avr8_device::memory_space_config(address_spacenum spacenum) const
|
||||
std::vector<std::pair<int, const address_space_config *>> avr8_device::memory_space_config() const
|
||||
{
|
||||
if (spacenum == AS_PROGRAM)
|
||||
{
|
||||
return &m_program_config;
|
||||
}
|
||||
else if (spacenum == AS_DATA)
|
||||
{
|
||||
return &m_data_config;
|
||||
}
|
||||
else if (spacenum == AS_IO)
|
||||
{
|
||||
return &m_io_config;
|
||||
}
|
||||
return nullptr;
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config),
|
||||
std::make_pair(AS_DATA, &m_data_config),
|
||||
std::make_pair(AS_IO, &m_io_config)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
@ -120,7 +120,7 @@ protected:
|
||||
virtual void execute_set_input(int inputnum, int state) override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override;
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_disasm_interface overrides
|
||||
virtual uint32_t disasm_min_opcode_bytes() const override;
|
||||
|
@ -72,6 +72,14 @@ ccpu_cpu_device::ccpu_cpu_device(const machine_config &mconfig, const char *tag,
|
||||
{
|
||||
}
|
||||
|
||||
std::vector<std::pair<int, const address_space_config *>> ccpu_cpu_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config),
|
||||
std::make_pair(AS_DATA, &m_data_config),
|
||||
std::make_pair(AS_IO, &m_io_config)
|
||||
};
|
||||
}
|
||||
|
||||
READ8_MEMBER( ccpu_cpu_device::read_jmi )
|
||||
{
|
||||
|
@ -72,16 +72,7 @@ protected:
|
||||
virtual void execute_run() override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override
|
||||
{
|
||||
switch (spacenum)
|
||||
{
|
||||
case AS_PROGRAM: return &m_program_config;
|
||||
case AS_IO: return &m_io_config;
|
||||
case AS_DATA: return &m_data_config;
|
||||
default: return nullptr;
|
||||
}
|
||||
}
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_state_interface overrides
|
||||
virtual void state_string_export(const device_state_entry &entry, std::string &str) const override;
|
||||
|
@ -262,16 +262,12 @@ void clipper_device::execute_set_input(int inputnum, int state)
|
||||
* The CLIPPER has a true Harvard architecture. In the InterPro, these are tied back together
|
||||
* again by the MMU, which then directs the access to one of 3 address spaces: main, i/o or boot.
|
||||
*/
|
||||
const address_space_config *clipper_device::memory_space_config(address_spacenum spacenum) const
|
||||
std::vector<std::pair<int, const address_space_config *>> clipper_device::memory_space_config() const
|
||||
{
|
||||
switch (spacenum)
|
||||
{
|
||||
case AS_PROGRAM: return &m_insn_config;
|
||||
case AS_DATA: return &m_data_config;
|
||||
default: break;
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_insn_config),
|
||||
std::make_pair(AS_DATA, &m_data_config)
|
||||
};
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -195,7 +195,7 @@ protected:
|
||||
virtual void execute_set_input(int inputnum, int state) override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum) const override;
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_state_interface overrides
|
||||
#if 0
|
||||
|
@ -314,6 +314,14 @@ cop446c_cpu_device::cop446c_cpu_device(const machine_config &mconfig, const char
|
||||
{
|
||||
}
|
||||
|
||||
std::vector<std::pair<int, const address_space_config *>> cop400_cpu_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config),
|
||||
std::make_pair(AS_DATA, &m_data_config)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -157,10 +157,7 @@ protected:
|
||||
virtual void execute_run() override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override
|
||||
{
|
||||
return (spacenum == AS_PROGRAM) ? &m_program_config : ( (spacenum == AS_DATA) ? &m_data_config : nullptr );
|
||||
}
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_state_interface overrides
|
||||
virtual void state_import(const device_state_entry &entry) override;
|
||||
|
@ -408,19 +408,12 @@ void cosmac_device::device_reset()
|
||||
// the space doesn't exist
|
||||
//-------------------------------------------------
|
||||
|
||||
const address_space_config *cosmac_device::memory_space_config(address_spacenum spacenum) const
|
||||
std::vector<std::pair<int, const address_space_config *>> cosmac_device::memory_space_config() const
|
||||
{
|
||||
switch (spacenum)
|
||||
{
|
||||
case AS_PROGRAM:
|
||||
return &m_program_config;
|
||||
|
||||
case AS_IO:
|
||||
return &m_io_config;
|
||||
|
||||
default:
|
||||
return nullptr;
|
||||
}
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config),
|
||||
std::make_pair(AS_IO, &m_io_config)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
@ -229,7 +229,7 @@ protected:
|
||||
virtual void execute_set_input(int inputnum, int state) override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override;
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_state_interface overrides
|
||||
virtual void state_import(const device_state_entry &entry) override;
|
||||
|
@ -3401,6 +3401,12 @@ cp1610_cpu_device::cp1610_cpu_device(const machine_config &mconfig, const char *
|
||||
{
|
||||
}
|
||||
|
||||
std::vector<std::pair<int, const address_space_config *>> cp1610_cpu_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config)
|
||||
};
|
||||
}
|
||||
|
||||
void cp1610_cpu_device::state_string_export(const device_state_entry &entry, std::string &str) const
|
||||
{
|
||||
|
@ -54,7 +54,7 @@ protected:
|
||||
virtual void execute_set_input(int inputnum, int state) override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override { return (spacenum == AS_PROGRAM) ? &m_program_config : nullptr; }
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_state_interface overrides
|
||||
virtual void state_string_export(const device_state_entry &entry, std::string &str) const override;
|
||||
|
@ -83,6 +83,13 @@ cquestsnd_cpu_device::cquestsnd_cpu_device(const machine_config &mconfig, const
|
||||
{
|
||||
}
|
||||
|
||||
std::vector<std::pair<int, const address_space_config *>> cquestsnd_cpu_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
offs_t cquestsnd_cpu_device::disasm_disassemble(std::ostream &stream, offs_t pc, const uint8_t *oprom, const uint8_t *opram, uint32_t options)
|
||||
{
|
||||
@ -121,6 +128,12 @@ cquestlin_cpu_device::cquestlin_cpu_device(const machine_config &mconfig, const
|
||||
{
|
||||
}
|
||||
|
||||
std::vector<std::pair<int, const address_space_config *>> cquestlin_cpu_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config)
|
||||
};
|
||||
}
|
||||
|
||||
offs_t cquestlin_cpu_device::disasm_disassemble(std::ostream &stream, offs_t pc, const uint8_t *oprom, const uint8_t *opram, uint32_t options)
|
||||
{
|
||||
@ -362,6 +375,12 @@ void cquestrot_cpu_device::state_string_export(const device_state_entry &entry,
|
||||
}
|
||||
}
|
||||
|
||||
std::vector<std::pair<int, const address_space_config *>> cquestrot_cpu_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config)
|
||||
};
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
LINE DRAWER INITIALIZATION AND SHUTDOWN
|
||||
|
@ -84,7 +84,7 @@ protected:
|
||||
virtual void execute_run() override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override { return (spacenum == AS_PROGRAM) ? &m_program_config : nullptr; }
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_disasm_interface overrides
|
||||
virtual uint32_t disasm_min_opcode_bytes() const override { return 8; }
|
||||
@ -184,7 +184,7 @@ protected:
|
||||
virtual void execute_run() override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override { return (spacenum == AS_PROGRAM) ? &m_program_config : nullptr; }
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_state_interface overrides
|
||||
virtual void state_string_export(const device_state_entry &entry, std::string &str) const override;
|
||||
@ -298,7 +298,7 @@ protected:
|
||||
virtual void execute_run() override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override { return (spacenum == AS_PROGRAM) ? &m_program_config : nullptr; }
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_state_interface overrides
|
||||
virtual void state_string_export(const device_state_entry &entry, std::string &str) const override;
|
||||
|
@ -88,21 +88,27 @@ drcbe_interface::drcbe_interface(drcuml_state &drcuml, drc_cache &cache, device_
|
||||
m_cache(cache),
|
||||
m_device(device),
|
||||
m_state(*(drcuml_machine_state *)cache.alloc_near(sizeof(m_state))),
|
||||
m_accessors((data_accessors *)cache.alloc_near(sizeof(*m_accessors) * ADDRESS_SPACES))
|
||||
m_accessors(nullptr)
|
||||
{
|
||||
// reset the machine state
|
||||
memset(m_accessors, 0, sizeof(*m_accessors) * ADDRESS_SPACES);
|
||||
memset(&m_state, 0, sizeof(m_state));
|
||||
|
||||
// find the spaces and fetch memory accessors
|
||||
device_memory_interface *memory;
|
||||
if (device.interface(memory))
|
||||
for (address_spacenum spacenum = AS_0; spacenum < ARRAY_LENGTH(m_space); ++spacenum)
|
||||
{
|
||||
int count = memory->max_space_count();
|
||||
m_accessors = ((data_accessors *)cache.alloc_near(sizeof(*m_accessors) * count));
|
||||
memset(m_accessors, 0, sizeof(*m_accessors) * count);
|
||||
m_space.resize(count, nullptr);
|
||||
|
||||
for (int spacenum = 0; spacenum < count; ++spacenum)
|
||||
if (memory->has_space(spacenum))
|
||||
{
|
||||
m_space[spacenum] = &memory->space(spacenum);
|
||||
m_space[spacenum]->accessors(m_accessors[spacenum]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -141,12 +141,12 @@ public:
|
||||
|
||||
protected:
|
||||
// internal state
|
||||
drcuml_state & m_drcuml; // pointer back to our owner
|
||||
drc_cache & m_cache; // pointer to the cache
|
||||
device_t & m_device; // CPU device we are associated with
|
||||
address_space * m_space[ADDRESS_SPACES];// pointers to CPU's address space
|
||||
drcuml_machine_state & m_state; // state of the machine (in near cache)
|
||||
data_accessors * m_accessors; // memory accessors (in near cache)
|
||||
drcuml_state & m_drcuml; // pointer back to our owner
|
||||
drc_cache & m_cache; // pointer to the cache
|
||||
device_t & m_device; // CPU device we are associated with
|
||||
std::vector<address_space *> m_space; // pointers to CPU's address space
|
||||
drcuml_machine_state & m_state; // state of the machine (in near cache)
|
||||
data_accessors * m_accessors; // memory accessors (in near cache)
|
||||
};
|
||||
|
||||
|
||||
|
@ -201,11 +201,12 @@ void dsp16_device::device_reset()
|
||||
// the space doesn't exist
|
||||
//-------------------------------------------------
|
||||
|
||||
const address_space_config *dsp16_device::memory_space_config(address_spacenum spacenum) const
|
||||
std::vector<std::pair<int, const address_space_config *>> dsp16_device::memory_space_config() const
|
||||
{
|
||||
return (spacenum == AS_PROGRAM) ? &m_program_config :
|
||||
(spacenum == AS_DATA) ? &m_data_config :
|
||||
nullptr;
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config),
|
||||
std::make_pair(AS_DATA, &m_data_config)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
@ -77,7 +77,7 @@ protected:
|
||||
virtual void execute_set_input(int inputnum, int state) override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override;
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_state_interface overrides
|
||||
virtual void state_string_export(const device_state_entry &entry, std::string &str) const override;
|
||||
|
@ -305,9 +305,11 @@ void dsp32c_device::device_reset()
|
||||
// the space doesn't exist
|
||||
//-------------------------------------------------
|
||||
|
||||
const address_space_config *dsp32c_device::memory_space_config(address_spacenum spacenum) const
|
||||
std::vector<std::pair<int, const address_space_config *>> dsp32c_device::memory_space_config() const
|
||||
{
|
||||
return (spacenum == AS_PROGRAM) ? &m_program_config : nullptr;
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
@ -118,7 +118,7 @@ protected:
|
||||
virtual void execute_set_input(int inputnum, int state) override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override;
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_state_interface overrides
|
||||
virtual void state_import(const device_state_entry &entry) override;
|
||||
|
@ -127,6 +127,14 @@ dsp56k_device::dsp56k_device(const machine_config &mconfig, const char *tag, dev
|
||||
{
|
||||
}
|
||||
|
||||
std::vector<std::pair<int, const address_space_config *>> dsp56k_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config),
|
||||
std::make_pair(AS_DATA, &m_data_config)
|
||||
};
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
MEMORY ACCESSORS
|
||||
***************************************************************************/
|
||||
|
@ -229,7 +229,7 @@ protected:
|
||||
virtual void execute_set_input(int inputnum, int state) override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override { return (spacenum == AS_PROGRAM) ? &m_program_config : ((spacenum == AS_DATA) ? &m_data_config : nullptr ); }
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_state_interface overrides
|
||||
virtual void state_string_export(const device_state_entry &entry, std::string &str) const override;
|
||||
|
@ -173,6 +173,14 @@ void e0c6200_cpu_device::do_interrupt()
|
||||
standard_irq_callback(m_irq_id);
|
||||
}
|
||||
|
||||
std::vector<std::pair<int, const address_space_config *>> e0c6200_cpu_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config),
|
||||
std::make_pair(AS_DATA, &m_data_config)
|
||||
};
|
||||
}
|
||||
|
||||
void e0c6200_cpu_device::execute_run()
|
||||
{
|
||||
while (m_icount > 0)
|
||||
|
@ -31,7 +31,7 @@ protected:
|
||||
virtual void do_interrupt();
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override { return(spacenum == AS_PROGRAM) ? &m_program_config : ((spacenum == AS_DATA) ? &m_data_config : nullptr); }
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_disasm_interface overrides
|
||||
virtual u32 disasm_min_opcode_bytes() const override { return 2; }
|
||||
|
@ -1880,21 +1880,15 @@ void hyperstone_device::device_stop()
|
||||
|
||||
//-------------------------------------------------
|
||||
// memory_space_config - return the configuration
|
||||
// of the specified address space, or nullptr if
|
||||
// the space doesn't exist
|
||||
// of the address spaces
|
||||
//-------------------------------------------------
|
||||
|
||||
const address_space_config *hyperstone_device::memory_space_config(address_spacenum spacenum) const
|
||||
std::vector<std::pair<int, const address_space_config *>> hyperstone_device::memory_space_config() const
|
||||
{
|
||||
if (spacenum == AS_PROGRAM)
|
||||
{
|
||||
return &m_program_config;
|
||||
}
|
||||
else if (spacenum == AS_IO)
|
||||
{
|
||||
return &m_io_config;
|
||||
}
|
||||
return nullptr;
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config),
|
||||
std::make_pair(AS_IO, &m_io_config)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
@ -115,7 +115,7 @@ protected:
|
||||
virtual void execute_set_input(int inputnum, int state) override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override;
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_disasm_interface overrides
|
||||
virtual uint32_t disasm_min_opcode_bytes() const override;
|
||||
|
@ -569,8 +569,10 @@ void es5510_device::device_reset() {
|
||||
memset(&ram_pp, 0, sizeof(ram_t));
|
||||
}
|
||||
|
||||
const address_space_config *es5510_device::memory_space_config(address_spacenum spacenum) const {
|
||||
return nullptr;
|
||||
std::vector<std::pair<int, const address_space_config *>> es5510_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
};
|
||||
}
|
||||
|
||||
uint64_t es5510_device::execute_clocks_to_cycles(uint64_t clocks) const {
|
||||
|
@ -124,7 +124,7 @@ public:
|
||||
protected:
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override;
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
virtual uint64_t execute_clocks_to_cycles(uint64_t clocks) const override;
|
||||
virtual uint64_t execute_cycles_to_clocks(uint64_t cycles) const override;
|
||||
virtual uint32_t execute_min_cycles() const override;
|
||||
|
@ -338,13 +338,11 @@ void esrip_device::device_stop()
|
||||
// the space doesn't exist
|
||||
//-------------------------------------------------
|
||||
|
||||
const address_space_config *esrip_device::memory_space_config(address_spacenum spacenum) const
|
||||
std::vector<std::pair<int, const address_space_config *>> esrip_device::memory_space_config() const
|
||||
{
|
||||
if (spacenum == AS_PROGRAM)
|
||||
{
|
||||
return &m_program_config;
|
||||
}
|
||||
return nullptr;
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config),
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
@ -133,7 +133,7 @@ protected:
|
||||
virtual void execute_set_input(int inputnum, int state) override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override;
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_disasm_interface overrides
|
||||
virtual uint32_t disasm_min_opcode_bytes() const override;
|
||||
|
@ -75,6 +75,14 @@ f8_cpu_device::f8_cpu_device(const machine_config &mconfig, const char *tag, dev
|
||||
memset(m_r, 0x00, sizeof(m_r));
|
||||
}
|
||||
|
||||
std::vector<std::pair<int, const address_space_config *>> f8_cpu_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config),
|
||||
std::make_pair(AS_IO, &m_io_config)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
* ROMC (ROM cycles)
|
||||
|
@ -48,7 +48,7 @@ protected:
|
||||
virtual void execute_set_input(int inputnum, int state) override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override { return (spacenum == AS_PROGRAM) ? &m_program_config : ( (spacenum == AS_IO) ? &m_io_config : nullptr ); }
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_state_interface overrides
|
||||
virtual void state_string_export(const device_state_entry &entry, std::string &str) const override;
|
||||
|
@ -117,6 +117,14 @@ g65816_device::g65816_device(const machine_config &mconfig, device_type type, co
|
||||
}
|
||||
|
||||
|
||||
std::vector<std::pair<int, const address_space_config *>> g65816_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
static ADDRESS_MAP_START(_5a22_map, AS_PROGRAM, 8, _5a22_device)
|
||||
AM_RANGE(0x4202, 0x4202) AM_MIRROR(0xbf0000) AM_WRITE(wrmpya_w)
|
||||
AM_RANGE(0x4203, 0x4203) AM_MIRROR(0xbf0000) AM_WRITE(wrmpyb_w)
|
||||
|
@ -77,7 +77,7 @@ protected:
|
||||
virtual void execute_set_input(int inputnum, int state) override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override { return (spacenum == AS_PROGRAM) ? &m_program_config : nullptr; }
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_state_interface overrides
|
||||
virtual void state_import(const device_state_entry &entry) override;
|
||||
|
@ -235,7 +235,7 @@
|
||||
#define NFLAG_8(A) (A)
|
||||
#define NFLAG_16(A) ((A)>>8)
|
||||
|
||||
#define CFLAG_AS_1() ((FLAG_C>>8)&1)
|
||||
#define CFLAG_1() ((FLAG_C>>8)&1)
|
||||
|
||||
|
||||
|
||||
|
@ -240,7 +240,7 @@
|
||||
int32_t result, r0, r1, carry; \
|
||||
r0 = REGISTER_A; \
|
||||
r1 = SRC; \
|
||||
carry = CFLAG_AS_1(); \
|
||||
carry = CFLAG_1(); \
|
||||
result = (r0 & 0x0f) + (r1 & 0x0f) + (carry << 0); \
|
||||
if (result > 0x09) result += 0x06; \
|
||||
carry = result > 0x0f; \
|
||||
@ -253,7 +253,7 @@
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
FLAG_C = tmp16 = REGISTER_A + SRC + CFLAG_AS_1(); \
|
||||
FLAG_C = tmp16 = REGISTER_A + SRC + CFLAG_1(); \
|
||||
FLAG_V = VFLAG_ADD_8(SRC, REGISTER_A, FLAG_C); \
|
||||
FLAG_N = FLAG_Z = REGISTER_A = MAKE_UINT_8(tmp16); \
|
||||
} \
|
||||
@ -266,7 +266,7 @@
|
||||
int32_t result, r0, r1, carry; \
|
||||
r0 = REGISTER_A; \
|
||||
r1 = SRC; \
|
||||
carry = CFLAG_AS_1(); \
|
||||
carry = CFLAG_1(); \
|
||||
if (!FLAG_D) \
|
||||
{ \
|
||||
result = r0 + r1 + carry; \
|
||||
@ -994,12 +994,12 @@
|
||||
#if FLAG_SET_M
|
||||
#define OP_ROL() \
|
||||
CLK(CLK_OP + CLK_IMPLIED); \
|
||||
FLAG_C = (REGISTER_A<<1) | CFLAG_AS_1(); \
|
||||
FLAG_C = (REGISTER_A<<1) | CFLAG_1(); \
|
||||
FLAG_N = FLAG_Z = REGISTER_A = MAKE_UINT_8(FLAG_C)
|
||||
#else
|
||||
#define OP_ROL() \
|
||||
CLK(CLK_OP + CLK_IMPLIED); \
|
||||
FLAG_C = (REGISTER_A<<1) | CFLAG_AS_1(); \
|
||||
FLAG_C = (REGISTER_A<<1) | CFLAG_1(); \
|
||||
FLAG_Z = REGISTER_A = MAKE_UINT_16(FLAG_C); \
|
||||
FLAG_N = NFLAG_16(FLAG_C); \
|
||||
FLAG_C = CFLAG_16(FLAG_C)
|
||||
@ -1011,14 +1011,14 @@
|
||||
#define OP_ROLM(MODE) \
|
||||
CLK(CLK_OP + CLK_RMW8 + CLK_W_##MODE); \
|
||||
DST = EA_##MODE(); \
|
||||
FLAG_C = (read_8_##MODE(DST)<<1) | CFLAG_AS_1(); \
|
||||
FLAG_C = (read_8_##MODE(DST)<<1) | CFLAG_1(); \
|
||||
FLAG_N = FLAG_Z = MAKE_UINT_8(FLAG_C); \
|
||||
write_8_##MODE(DST, FLAG_Z)
|
||||
#else
|
||||
#define OP_ROLM(MODE) \
|
||||
CLK(CLK_OP + CLK_RMW16 + CLK_W_##MODE); \
|
||||
DST = EA_##MODE(); \
|
||||
FLAG_C = (read_16_##MODE(DST)<<1) | CFLAG_AS_1(); \
|
||||
FLAG_C = (read_16_##MODE(DST)<<1) | CFLAG_1(); \
|
||||
FLAG_Z = MAKE_UINT_16(FLAG_C); \
|
||||
FLAG_N = NFLAG_16(FLAG_C); \
|
||||
FLAG_C = CFLAG_16(FLAG_C); \
|
||||
@ -1102,7 +1102,7 @@
|
||||
if(!FLAG_D) \
|
||||
{ \
|
||||
FLAG_C = ~FLAG_C; \
|
||||
FLAG_C = REGISTER_A - SRC - CFLAG_AS_1(); \
|
||||
FLAG_C = REGISTER_A - SRC - CFLAG_1(); \
|
||||
FLAG_V = VFLAG_SUB_8(SRC, REGISTER_A, FLAG_C); \
|
||||
FLAG_N = FLAG_Z = REGISTER_A = MAKE_UINT_8(FLAG_C); \
|
||||
FLAG_C = ~FLAG_C; \
|
||||
@ -1114,7 +1114,7 @@
|
||||
r0 = REGISTER_A; \
|
||||
r1 = SRC; \
|
||||
r1 ^= 0xff; \
|
||||
carry = CFLAG_AS_1(); \
|
||||
carry = CFLAG_1(); \
|
||||
result = (r0 & 0x0f) + (r1 & 0x0f) + (carry << 0); \
|
||||
if (result <= 0x0f) result -= 0x06; \
|
||||
carry = result > 0x0f; \
|
||||
@ -1133,7 +1133,7 @@
|
||||
r0 = REGISTER_A; \
|
||||
r1 = SRC; \
|
||||
r1 ^= 0xffff; \
|
||||
carry = CFLAG_AS_1(); \
|
||||
carry = CFLAG_1(); \
|
||||
if (!FLAG_D) \
|
||||
{ \
|
||||
result = r0 + r1 + carry; \
|
||||
@ -1450,7 +1450,7 @@
|
||||
#undef OP_XCE
|
||||
#define OP_XCE() \
|
||||
CLK(CLK_OP + CLK_IMPLIED); \
|
||||
SRC = CFLAG_AS_1(); \
|
||||
SRC = CFLAG_1(); \
|
||||
FLAG_C = FLAG_E<<8; \
|
||||
g65816i_set_flag_e(SRC)
|
||||
|
||||
|
@ -169,6 +169,13 @@ h6280_device::h6280_device(const machine_config &mconfig, const char *tag, devic
|
||||
m_opcode[op] = s_opcodetable[op];
|
||||
}
|
||||
|
||||
std::vector<std::pair<int, const address_space_config *>> h6280_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config),
|
||||
std::make_pair(AS_IO, &m_io_config)
|
||||
};
|
||||
}
|
||||
|
||||
const h6280_device::ophandler h6280_device::s_opcodetable[256] =
|
||||
{
|
||||
@ -2564,7 +2571,7 @@ WRITE8_MEMBER( h6280_device::timer_w )
|
||||
}
|
||||
}
|
||||
|
||||
bool h6280_device::memory_translate(address_spacenum spacenum, int intention, offs_t &address)
|
||||
bool h6280_device::memory_translate(int spacenum, int intention, offs_t &address)
|
||||
{
|
||||
if (spacenum == AS_PROGRAM)
|
||||
address = translated(address);
|
||||
|
@ -85,8 +85,8 @@ protected:
|
||||
virtual void execute_set_input(int inputnum, int state) override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override { return (spacenum == AS_PROGRAM) ? &m_program_config : ( (spacenum == AS_IO) ? &m_io_config : nullptr ); }
|
||||
virtual bool memory_translate(address_spacenum spacenum, int intention, offs_t &address) override;
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
virtual bool memory_translate(int spacenum, int intention, offs_t &address) override;
|
||||
|
||||
// device_disasm_interface overrides
|
||||
virtual uint32_t disasm_min_opcode_bytes() const override;
|
||||
|
@ -236,11 +236,12 @@ void h8_device::internal_update()
|
||||
internal_update(total_cycles());
|
||||
}
|
||||
|
||||
const address_space_config *h8_device::memory_space_config(address_spacenum spacenum) const
|
||||
std::vector<std::pair<int, const address_space_config *>> h8_device::memory_space_config() const
|
||||
{
|
||||
return
|
||||
spacenum == AS_PROGRAM ? &program_config :
|
||||
spacenum == AS_IO ? &io_config : nullptr;
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &program_config),
|
||||
std::make_pair(AS_IO, &io_config)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
@ -167,7 +167,7 @@ protected:
|
||||
virtual void execute_run() override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override;
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_state_interface overrides
|
||||
virtual void state_import(const device_state_entry &entry) override;
|
||||
|
@ -73,6 +73,12 @@ hcd62121_cpu_device::hcd62121_cpu_device(const machine_config &mconfig, const ch
|
||||
{
|
||||
}
|
||||
|
||||
std::vector<std::pair<int, const address_space_config *>> hcd62121_cpu_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config)
|
||||
};
|
||||
}
|
||||
|
||||
u8 hcd62121_cpu_device::read_op()
|
||||
{
|
||||
|
@ -54,7 +54,7 @@ protected:
|
||||
virtual void execute_run() override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override { return (spacenum == AS_PROGRAM) ? &m_program_config : nullptr; }
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_state_interface overrides
|
||||
virtual void state_export(const device_state_entry &entry) override;
|
||||
|
@ -120,6 +120,13 @@ hd61700_cpu_device::hd61700_cpu_device(const machine_config &mconfig, const char
|
||||
{
|
||||
}
|
||||
|
||||
std::vector<std::pair<int, const address_space_config *>> hd61700_cpu_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - start up the device
|
||||
|
@ -87,7 +87,7 @@ protected:
|
||||
virtual void state_string_export(const device_state_entry &entry, std::string &str) const override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override { return (spacenum == AS_PROGRAM) ? &m_program_config : nullptr; }
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_disasm_interface overrides
|
||||
virtual uint32_t disasm_min_opcode_bytes() const override { return 1; }
|
||||
|
@ -149,6 +149,13 @@ hd44828_device::hd44828_device(const machine_config &mconfig, const char *tag, d
|
||||
: hmcs45_cpu_device(mconfig, HD44828, tag, owner, clock, IS_CMOS)
|
||||
{ }
|
||||
|
||||
std::vector<std::pair<int, const address_space_config *>> hmcs40_cpu_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config),
|
||||
std::make_pair(AS_DATA, &m_data_config)
|
||||
};
|
||||
}
|
||||
|
||||
// disasm
|
||||
void hmcs40_cpu_device::state_string_export(const device_state_entry &entry, std::string &str) const
|
||||
|
@ -155,7 +155,7 @@ protected:
|
||||
virtual void execute_run() override;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override { return(spacenum == AS_PROGRAM) ? &m_program_config : ((spacenum == AS_DATA) ? &m_data_config : nullptr); }
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_disasm_interface overrides
|
||||
virtual u32 disasm_min_opcode_bytes() const override { return 2; }
|
||||
|
@ -152,6 +152,14 @@ hp_hybrid_cpu_device::hp_hybrid_cpu_device(const machine_config &mconfig, device
|
||||
{
|
||||
}
|
||||
|
||||
std::vector<std::pair<int, const address_space_config *>> hp_hybrid_cpu_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config),
|
||||
std::make_pair(AS_IO, &m_io_config)
|
||||
};
|
||||
}
|
||||
|
||||
void hp_hybrid_cpu_device::device_start()
|
||||
{
|
||||
m_reg_A = 0;
|
||||
|
@ -79,7 +79,7 @@ protected:
|
||||
virtual uint16_t execute_no_bpc_ioc(uint16_t opcode) = 0;
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const override { return (spacenum == AS_PROGRAM) ? &m_program_config : ( (spacenum == AS_IO) ? &m_io_config : nullptr ); }
|
||||
virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override;
|
||||
|
||||
// device_state_interface overrides
|
||||
virtual void state_string_export(const device_state_entry &entry, std::string &str) const override;
|
||||
|
@ -131,6 +131,13 @@ pentium4_device::pentium4_device(const machine_config &mconfig, const char *tag,
|
||||
set_vtlb_dynamic_entries(196);
|
||||
}
|
||||
|
||||
std::vector<std::pair<int, const address_space_config *>> i386_device::memory_space_config() const
|
||||
{
|
||||
return std::vector<std::pair<int, const address_space_config *>> {
|
||||
std::make_pair(AS_PROGRAM, &m_program_config),
|
||||
std::make_pair(AS_IO, &m_io_config)
|
||||
};
|
||||
}
|
||||
|
||||
int i386_parity_table[256];
|
||||
MODRM_TABLE i386_MODRM_table[256];
|
||||
@ -4005,7 +4012,7 @@ void i386_device::execute_run()
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
bool i386_device::memory_translate(address_spacenum spacenum, int intention, offs_t &address)
|
||||
bool i386_device::memory_translate(int spacenum, int intention, offs_t &address)
|
||||
{
|
||||
bool ret = true;
|
||||
if(spacenum == AS_PROGRAM)
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user