mirror of
https://github.com/holub/mame
synced 2025-04-26 10:13:37 +03:00
Merge branch 'master' of https://github.com/mamedev/mame
This commit is contained in:
commit
8fc8ae62a7
0
hash/a800.xml
Executable file → Normal file
0
hash/a800.xml
Executable file → Normal file
0
hash/a800_flop.xml
Executable file → Normal file
0
hash/a800_flop.xml
Executable file → Normal file
@ -30,17 +30,22 @@
|
|||||||
|
|
||||||
Some Japanese carts have a number starting with S (S-x on case, SCxxxx-xxx part numbers) (see ekara_japan_s.xml) (for e-kara - custom presentation)
|
Some Japanese carts have a number starting with S (S-x on case, SCxxxx-xxx part numbers) (see ekara_japan_s.xml) (for e-kara - custom presentation)
|
||||||
M (M-x on case, MCxxxx-xxx part numbers) (see ekara_japan_m.xml) (for e-kara - custom presentation)
|
M (M-x on case, MCxxxx-xxx part numbers) (see ekara_japan_m.xml) (for e-kara - custom presentation)
|
||||||
EN (EN-X on case, no part numbers) (see ekara_japan_en.xml) (for e-kara - custom presentation) (check other compatibility)
|
EN (EN-X on case, no part numbers) (see ekara_japan_en.xml) (for e-kara - custom presentation)
|
||||||
|
BH (BG-XX on case, BH-xxxx on PCB) (see ekara_japan_bh.xml) (for e-kara - custom presentation)
|
||||||
|
GK (GK-X on case) (see ekara_japan_gk.xml) (for e-kara / e-pitch - custom presentation)
|
||||||
G (G-x on case, GCxxxx-xxx part numbers) (see ekara_japan_g.xml) (for e-kara, Popira / 2)
|
G (G-x on case, GCxxxx-xxx part numbers) (see ekara_japan_g.xml) (for e-kara, Popira / 2)
|
||||||
P (P-x on case, PCxxxx-xxx part numbers) (see ekara_japan_p.xml) (for e-kara, Popira / 2, DDR Family Mat)
|
P (P-x on case, PCxxxx-xxx part numbers) (see ekara_japan_p.xml) (for e-kara, Popira / 2, DDR Family Mat)
|
||||||
D (D-x on case, DCxxxx-xxx part numbers) (see ekara_japan_d.xml) (for e-kara, Popira / 2, Taiko De Popira)
|
D (D-x on case, DCxxxx-xxx part numbers) (see ekara_japan_d.xml) (for e-kara, Popira / 2, Taiko De Popira)
|
||||||
SP (SP-x on case, no part numbers) (see ekara_japan_sp.xml) (for e-kara, Popira / 2, Taiko de Popira, Jumping Popira)
|
SP (SP-x on case, no part numbers) (see ekara_japan_sp.xml) (for e-kara, Popira / 2, Taiko de Popira, Jumping Popira)
|
||||||
|
A (A-x on case, Pichi Pichi Pitch series)(see ekara_japan_a.xml) (for e-kara / e-pitch)
|
||||||
|
JP (JP-x on case) (see ekara_japan_jp.xml) (for Jumping Popira Only)
|
||||||
|
|
||||||
these exist but haven't got any
|
these exist but haven't got any
|
||||||
Some Japanese carts have a number starting with JP (for Jumping Popira Only?)
|
Some Japanese carts have a number starting with
|
||||||
A (for Pichi Pichi Pitch Only?)
|
|
||||||
KE (for Kids Lyric book device Only?)
|
KE (for Kids Lyric book device Only?)
|
||||||
KD (for e-kara?)
|
KD (for e-kara?)
|
||||||
|
PR (seen a PR-02 AYY) (what is it?)
|
||||||
|
KR (seen a KR-1) (bundled with later units?)
|
||||||
|
|
||||||
(there are others, need to document them)
|
(there are others, need to document them)
|
||||||
|
|
||||||
@ -59,6 +64,7 @@
|
|||||||
The EC number is printed on the left side of the cart label, as well as in the serial code
|
The EC number is printed on the left side of the cart label, as well as in the serial code
|
||||||
early carts don't have a number printed on the box, only the title, after a certain point a number was added (when?)
|
early carts don't have a number printed on the box, only the title, after a certain point a number was added (when?)
|
||||||
|
|
||||||
|
Only known undumped carts in main series are 58, 64, 81, 83, 84, 85 (assuming highest number is 85)
|
||||||
|
|
||||||
.. *EC0001-JPM J-Pop Mix Volume 1
|
.. *EC0001-JPM J-Pop Mix Volume 1
|
||||||
.. *EC0002-JPM J-Pop Mix Volume 2
|
.. *EC0002-JPM J-Pop Mix Volume 2
|
||||||
@ -76,12 +82,12 @@
|
|||||||
.. *EC0013-JPM J-Pop Mix Volume 8
|
.. *EC0013-JPM J-Pop Mix Volume 8
|
||||||
.. *EC0014-ATS Artist Selection Volume 1 - untranslated artist
|
.. *EC0014-ATS Artist Selection Volume 1 - untranslated artist
|
||||||
.. *EC0015-ATS Artist Selection Volume 2 - untranslated artist
|
.. *EC0015-ATS Artist Selection Volume 2 - untranslated artist
|
||||||
.. EC0016-ENK ENK Volume 2
|
.. *EC0016-ENK ENK Volume 2
|
||||||
.. EC0017-G73 1973-75 Volume 1
|
.. *EC0017-G73 1973-75 Volume 1
|
||||||
.. *EC0018-G82 1982-84 Volume 1
|
.. *EC0018-G82 1982-84 Volume 1
|
||||||
.. EC0019-BSC Graduation Encouragement Volume 1
|
.. *EC0019-BSC Graduation Encouragement Volume 1
|
||||||
|
|
||||||
.. EC0020-KID Kid's Mix Volume 2
|
.. *EC0020-KID Kid's Mix Volume 2
|
||||||
.. *EC0021-JPM J-Pop Mix Volume 9
|
.. *EC0021-JPM J-Pop Mix Volume 9
|
||||||
.. *EC0022-JPM J-Pop Mix Volume 10
|
.. *EC0022-JPM J-Pop Mix Volume 10
|
||||||
23 *EC0023-JPM J-Pop Mix Volume 11
|
23 *EC0023-JPM J-Pop Mix Volume 11
|
||||||
@ -89,7 +95,7 @@
|
|||||||
25 *EC0025-JPM J-Pop Mix Volume 13
|
25 *EC0025-JPM J-Pop Mix Volume 13
|
||||||
26 *EC0026-JPM J-Pop Mix Volume 14
|
26 *EC0026-JPM J-Pop Mix Volume 14
|
||||||
27 *EC0027-JPM J-Pop Mix Volume 15
|
27 *EC0027-JPM J-Pop Mix Volume 15
|
||||||
28 EC0028-JPM J-Pop Mix Volume 16
|
28 *EC0028-JPM J-Pop Mix Volume 16
|
||||||
29 *EC0029-ATS Artist Selection Volume 3 - Dreams Come True
|
29 *EC0029-ATS Artist Selection Volume 3 - Dreams Come True
|
||||||
|
|
||||||
30 *EC0030-ENK ENK Volume 3
|
30 *EC0030-ENK ENK Volume 3
|
||||||
@ -100,13 +106,13 @@
|
|||||||
35 *EC0035-ATS Artist Selection Volume 5 - Matsuda Seiko
|
35 *EC0035-ATS Artist Selection Volume 5 - Matsuda Seiko
|
||||||
36 *EC0036-ATS Artist Selection Volume 6 - KinKi Kids
|
36 *EC0036-ATS Artist Selection Volume 6 - KinKi Kids
|
||||||
37 *EC0037-ENK ENK Volume 4
|
37 *EC0037-ENK ENK Volume 4
|
||||||
38 EC0038-BSC Graduation Encouragement Volume 2
|
38 *EC0038-BSC Graduation Encouragement Volume 2
|
||||||
39 EC0039-ATS Artist Selection Volume 7 - B'z
|
39 *EC0039-ATS Artist Selection Volume 7 - B'z
|
||||||
|
|
||||||
40 EC0040-JPM J-Pop Mix Volume 18
|
40 *EC0040-JPM J-Pop Mix Volume 18
|
||||||
41 *EC0041-ATS Artist Selection Volume 8 - untranslated artist
|
41 *EC0041-ATS Artist Selection Volume 8 - untranslated artist
|
||||||
42 *EC0042-JPM J-Pop Mix Volume 19
|
42 *EC0042-JPM J-Pop Mix Volume 19
|
||||||
43 EC0043-ENK ENK Volume 5
|
43 *EC0043-ENK ENK Volume 5
|
||||||
44 *EC0044-ATS Artist Selection Volume 9 - Every Little Thing
|
44 *EC0044-ATS Artist Selection Volume 9 - Every Little Thing
|
||||||
45 *EC0045-ATS Artist Selection Volume 10 - Mr. Children
|
45 *EC0045-ATS Artist Selection Volume 10 - Mr. Children
|
||||||
46 *EC0046-JPM J-Pop Mix Volume 20
|
46 *EC0046-JPM J-Pop Mix Volume 20
|
||||||
@ -114,16 +120,16 @@
|
|||||||
48 *EC0048-ENK ENK Volume 6
|
48 *EC0048-ENK ENK Volume 6
|
||||||
49 *EC0049-ATS Artist Selection Volume 11 - Judy and Mary
|
49 *EC0049-ATS Artist Selection Volume 11 - Judy and Mary
|
||||||
|
|
||||||
50 EC0050-ATS Artist Selection Volume 12 - The Beatles
|
50 *EC0050-ATS Artist Selection Volume 12 - The Beatles
|
||||||
51 *EC0051-JPM J-Pop Mix Volume 21
|
51 *EC0051-JPM J-Pop Mix Volume 21
|
||||||
52 *EC0052-ENK ENK Volume 7
|
52 *EC0052-ENK ENK Volume 7
|
||||||
53 EC0053-JPM J-Pop Mix Volume 22
|
53 *EC0053-JPM J-Pop Mix Volume 22
|
||||||
54 *EC0054-JPM J-Pop Mix Volume 23
|
54 *EC0054-JPM J-Pop Mix Volume 23
|
||||||
55 EC0055-ATS Artist Selection Volume 13 - Tube
|
55 *EC0055-ATS Artist Selection Volume 13 - Tube
|
||||||
56 EC0056-JPM J-Pop Mix Volume 24
|
56 *EC0056-JPM J-Pop Mix Volume 24
|
||||||
57 EC0057-ATS Artist Selection Volume 14 - SMAP (should be Vol 14? sales sheet still lists 13 tho)
|
57 *EC0057-ATS Artist Selection Volume 14 - SMAP (should be Vol 14? sales sheet still lists 13 tho)
|
||||||
58 EC0058-ENK ENK Volume 8
|
58 EC0058-ENK ENK Volume 8
|
||||||
59 EC0059-JPM J-Pop Mix Volume 25
|
59 *EC0059-JPM J-Pop Mix Volume 25
|
||||||
|
|
||||||
60 *EC0060-JPM J-Pop Mix Volume 26
|
60 *EC0060-JPM J-Pop Mix Volume 26
|
||||||
61 *EC0061-JPM J-Pop Mix Volume 27
|
61 *EC0061-JPM J-Pop Mix Volume 27
|
||||||
@ -181,24 +187,6 @@
|
|||||||
|
|
||||||
***********************************************************************************
|
***********************************************************************************
|
||||||
|
|
||||||
Japanese cart listing (by A code)
|
|
||||||
|
|
||||||
These are for Pichi Pichi Pitch
|
|
||||||
(not e-kara compatible?)
|
|
||||||
|
|
||||||
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10109392860
|
|
||||||
|
|
||||||
A-1 (unknown)
|
|
||||||
A-2 (unknown)
|
|
||||||
A-3 (unknown)
|
|
||||||
A-4 (unknown)
|
|
||||||
A-5 (unknown)
|
|
||||||
A-6 (unknown)
|
|
||||||
A-7 (unknown)
|
|
||||||
A-8 (unknown)
|
|
||||||
|
|
||||||
***********************************************************************************
|
|
||||||
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!-- Japanese e-kara cartridges EC series -->
|
<!-- Japanese e-kara cartridges EC series -->
|
||||||
@ -258,17 +246,6 @@
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="ec0011">
|
|
||||||
<description>J-Pop Mix Volume 6 (Japan) (EC0011-JPM)</description>
|
|
||||||
<year>2000</year>
|
|
||||||
<publisher>Takara</publisher>
|
|
||||||
<part name="cart" interface="ekara_cart">
|
|
||||||
<dataarea name="rom" size="0x100000">
|
|
||||||
<rom name="ec0011-jpm.u1" size="0x100000" crc="5d0ca1e7" sha1="0c1bf33b3a436da2c19bd7171ab1a234a623987c" offset="0" />
|
|
||||||
</dataarea>
|
|
||||||
</part>
|
|
||||||
</software>
|
|
||||||
|
|
||||||
<software name="ec0006">
|
<software name="ec0006">
|
||||||
<description>ENK Volume 1 (Japan) (EC0006-ENK)</description>
|
<description>ENK Volume 1 (Japan) (EC0006-ENK)</description>
|
||||||
<year>2000</year>
|
<year>2000</year>
|
||||||
@ -324,6 +301,17 @@
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
|
<software name="ec0011">
|
||||||
|
<description>J-Pop Mix Volume 6 (Japan) (EC0011-JPM)</description>
|
||||||
|
<year>2000</year>
|
||||||
|
<publisher>Takara</publisher>
|
||||||
|
<part name="cart" interface="ekara_cart">
|
||||||
|
<dataarea name="rom" size="0x100000">
|
||||||
|
<rom name="ec0011-jpm.u1" size="0x100000" crc="5d0ca1e7" sha1="0c1bf33b3a436da2c19bd7171ab1a234a623987c" offset="0" />
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
<software name="ec0012">
|
<software name="ec0012">
|
||||||
<description>J-Pop Mix Volume 7 (Japan) (EC0012-JPM)</description>
|
<description>J-Pop Mix Volume 7 (Japan) (EC0012-JPM)</description>
|
||||||
<year>2000</year>
|
<year>2000</year>
|
||||||
@ -368,10 +356,28 @@
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<!-- EC0016-ENK ENK Volume 2 -->
|
<software name="ec0016">
|
||||||
|
<description>ENK Volume 2 (Japan) (EC0016-ENK)</description>
|
||||||
<!-- EC0017-G73 1973-75 Volume 1 -->
|
<year>2000</year>
|
||||||
|
<publisher>Takara</publisher>
|
||||||
|
<part name="cart" interface="ekara_cart">
|
||||||
|
<dataarea name="rom" size="0x100000">
|
||||||
|
<rom name="ec0016-enk.u1" size="0x100000" crc="1bac5cc7" sha1="d80e266d079ea2e8a5acb8c1ed97a94c5d31e6ec" offset="0" />
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
|
<software name="ec0017">
|
||||||
|
<description>1973-75 Volume 1 (Japan) (EC0017-G73)</description>
|
||||||
|
<year>2000</year>
|
||||||
|
<publisher>Takara</publisher>
|
||||||
|
<part name="cart" interface="ekara_cart">
|
||||||
|
<dataarea name="rom" size="0x100000">
|
||||||
|
<rom name="ec0017-g73.u1" size="0x100000" crc="7f4efd49" sha1="32403cf65f4ae372da64cef25e03ddd66cdffa25" offset="0" />
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
<software name="ec0018">
|
<software name="ec0018">
|
||||||
<description>1982-84 Volume 1 (Japan) (EC0018-G82)</description>
|
<description>1982-84 Volume 1 (Japan) (EC0018-G82)</description>
|
||||||
<year>2000</year>
|
<year>2000</year>
|
||||||
@ -383,10 +389,28 @@
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<!-- EC0019-BSC Graduation Encouragement Volume 1 -->
|
<software name="ec0019">
|
||||||
|
<description>Graduation Encouragement Volume 1 (Japan) (EC0019-BSC)</description>
|
||||||
<!-- EC0020-KID Kid's Mix Volume 2 -->
|
<year>2000</year>
|
||||||
|
<publisher>Takara</publisher>
|
||||||
|
<part name="cart" interface="ekara_cart">
|
||||||
|
<dataarea name="rom" size="0x100000">
|
||||||
|
<rom name="ec0019-bsc.u1" size="0x100000" crc="c7de4c19" sha1="2cfc8c8b684f7b5ddac384840665fae97b8d9829" offset="0" />
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
|
<software name="ec0020">
|
||||||
|
<description>Kid's Mix Volume 2 (Japan) (EC0020-KID)</description>
|
||||||
|
<year>2000</year>
|
||||||
|
<publisher>Takara</publisher>
|
||||||
|
<part name="cart" interface="ekara_cart">
|
||||||
|
<dataarea name="rom" size="0x100000">
|
||||||
|
<rom name="ec0020-kid.u1" size="0x100000" crc="ed3e5c2c" sha1="c9ca415b50a7b87d8bf54beb3c9f794bd928e489" offset="0" />
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
<software name="ec0021">
|
<software name="ec0021">
|
||||||
<description>J-Pop Mix Volume 9 (Japan) (EC0021-JPM)</description>
|
<description>J-Pop Mix Volume 9 (Japan) (EC0021-JPM)</description>
|
||||||
<year>2000</year>
|
<year>2000</year>
|
||||||
@ -464,7 +488,16 @@
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<!-- EC0028-JPM J-Pop Mix Volume 16 -->
|
<software name="ec0028">
|
||||||
|
<description>J-Pop Mix Volume 16 (Japan) (EC0028-JPM)</description>
|
||||||
|
<year>2000</year>
|
||||||
|
<publisher>Takara</publisher>
|
||||||
|
<part name="cart" interface="ekara_cart">
|
||||||
|
<dataarea name="rom" size="0x100000">
|
||||||
|
<rom name="ec0028-jpm.u1" size="0x100000" crc="f671ce7e" sha1="d901d6196d7864f5e512fbb6d539ec0580417385" offset="0" />
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
<software name="ec0029">
|
<software name="ec0029">
|
||||||
<description>Artist Selection Volume 3 (Dreams Come True) (Japan) (EC0029-ATS)</description>
|
<description>Artist Selection Volume 3 (Dreams Come True) (Japan) (EC0029-ATS)</description>
|
||||||
@ -565,11 +598,38 @@
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<!-- EC0038-BSC Graduation Encouragement Volume 2 -->
|
<software name="ec0038">
|
||||||
|
<description>Graduation Encouragement Volume 2 (Japan) (EC0038-BSC)</description>
|
||||||
<!-- EC0039-ATS Artist Selection Volume 7 - B's -->
|
<year>2000</year>
|
||||||
|
<publisher>Takara</publisher>
|
||||||
<!-- EC0040-JPM J-Pop Mix Volume 18 -->
|
<part name="cart" interface="ekara_cart">
|
||||||
|
<dataarea name="rom" size="0x100000">
|
||||||
|
<rom name="ec0038-bsc.u1" size="0x100000" crc="34817291" sha1="a6069419bf3fd143fb247ba625c41b42000cda27" offset="0" />
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
|
<software name="ec0039">
|
||||||
|
<description>Artist Selection Volume 7 (B'z) (Japan) (EC0039-ATS)</description>
|
||||||
|
<year>2000</year>
|
||||||
|
<publisher>Takara</publisher>
|
||||||
|
<part name="cart" interface="ekara_cart">
|
||||||
|
<dataarea name="rom" size="0x100000">
|
||||||
|
<rom name="ec0039-ats.u1" size="0x100000" crc="aa50b08a" sha1="91a97c0591e137e50b20f052b402ce52b70a16eb" offset="0" />
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
|
<software name="ec0040">
|
||||||
|
<description>J-Pop Mix Volume 18 (Japan) (EC0040-JPM)</description>
|
||||||
|
<year>2000</year>
|
||||||
|
<publisher>Takara</publisher>
|
||||||
|
<part name="cart" interface="ekara_cart">
|
||||||
|
<dataarea name="rom" size="0x100000">
|
||||||
|
<rom name="ec0040-jpm.u1" size="0x100000" crc="e2cb7232" sha1="c9c1f7d316f0c239c659632296695081e50b85e5" offset="0" />
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
<software name="ec0041">
|
<software name="ec0041">
|
||||||
<description>Artist Selection Volume 8 (unknown) (Japan) (EC0041-ATS)</description>
|
<description>Artist Selection Volume 8 (unknown) (Japan) (EC0041-ATS)</description>
|
||||||
@ -593,7 +653,16 @@
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<!-- EC0043-ENK ENK Volume 5 -->
|
<software name="ec0043">
|
||||||
|
<description>ENK Volume 5 (Japan) (EC0043-ENK)</description>
|
||||||
|
<year>2001</year>
|
||||||
|
<publisher>Takara</publisher>
|
||||||
|
<part name="cart" interface="ekara_cart">
|
||||||
|
<dataarea name="rom" size="0x100000">
|
||||||
|
<rom name="ec0043-enk.u1" size="0x100000" crc="c730037d" sha1="c283b99fe4ae51adc3e13a6fae4eaffb891ec20d" offset="0" />
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
<software name="ec0044">
|
<software name="ec0044">
|
||||||
<description>Artist Selection Volume 9 (Every Little Thing) (Japan) (EC0044-ATS)</description>
|
<description>Artist Selection Volume 9 (Every Little Thing) (Japan) (EC0044-ATS)</description>
|
||||||
@ -664,8 +733,18 @@
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<!-- EC0050-ATS Artist Selection Volume 12 - The Beatles -->
|
<software name="ec0050">
|
||||||
|
<description>Artist Selection Volume 12 (The Beatles) (Japan) (EC0050-ATS)</description>
|
||||||
|
<year>2001</year>
|
||||||
|
<publisher>Takara</publisher>
|
||||||
|
<part name="cart" interface="ekara_cart">
|
||||||
|
<dataarea name="rom" size="0x200000">
|
||||||
|
<rom name="ec0050-ats.u1" size="0x200000" crc="56ce5d3a" sha1="c499bae5faa00e0987b89185d0e2ec142054773a" offset="0" />
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
|
|
||||||
<software name="ec0051">
|
<software name="ec0051">
|
||||||
<description>J-Pop Mix Volume 21 (Japan) (EC0051-JPM)</description>
|
<description>J-Pop Mix Volume 21 (Japan) (EC0051-JPM)</description>
|
||||||
<year>2001</year>
|
<year>2001</year>
|
||||||
@ -688,7 +767,16 @@
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<!-- EC0053-JPM J-Pop Mix Volume 22 -->
|
<software name="ec0053">
|
||||||
|
<description>J-Pop Mix Volume 22 (Japan) (EC0053-JPM)</description>
|
||||||
|
<year>2001</year>
|
||||||
|
<publisher>Takara</publisher>
|
||||||
|
<part name="cart" interface="ekara_cart">
|
||||||
|
<dataarea name="rom" size="0x100000">
|
||||||
|
<rom name="ec0053-jpm.u1" size="0x100000" crc="6f799665" sha1="bf029d5c10efb8b76bff7dda0806bf943d0fff01" offset="0" />
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
<software name="ec0054">
|
<software name="ec0054">
|
||||||
<description>J-Pop Mix Volume 23 (Japan) (EC0054-JPM)</description>
|
<description>J-Pop Mix Volume 23 (Japan) (EC0054-JPM)</description>
|
||||||
@ -701,16 +789,52 @@
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<!-- EC0055-ATS Artist Selection Volume 13 - Tube -->
|
<software name="ec0055">
|
||||||
|
<description>Artist Selection Volume 13 (Tube) (Japan) (EC0055-ATS)</description>
|
||||||
<!-- EC0056-JPM J-Pop Mix Volume 24 -->
|
<year>2001</year>
|
||||||
|
<publisher>Takara</publisher>
|
||||||
<!-- EC0057-ATS Artist Selection Volume 14 - SMAP -->
|
<part name="cart" interface="ekara_cart">
|
||||||
|
<dataarea name="rom" size="0x100000">
|
||||||
|
<rom name="ec0055-ats.u1" size="0x100000" crc="af6b0f2a" sha1="719bd1bc88517e4e067e99416547afe9ca1ff93f" offset="0" />
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
|
<software name="ec0056">
|
||||||
|
<description>J-Pop Mix Volume 24 (Japan) (EC0056-JPM)</description>
|
||||||
|
<year>2001</year>
|
||||||
|
<publisher>Takara</publisher>
|
||||||
|
<part name="cart" interface="ekara_cart">
|
||||||
|
<dataarea name="rom" size="0x100000">
|
||||||
|
<rom name="ec0056-jpm.u1" size="0x100000" crc="8c0b175b" sha1="697d7eb50a84001ddb66f50a50c682c63c21ed60" offset="0" />
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
|
<software name="ec0057">
|
||||||
|
<description>Artist Selection Volume 14 (SMAP) (Japan) (EC0057-ATS)</description>
|
||||||
|
<year>2001</year>
|
||||||
|
<publisher>Takara</publisher>
|
||||||
|
<part name="cart" interface="ekara_cart">
|
||||||
|
<dataarea name="rom" size="0x100000">
|
||||||
|
<rom name="ec0057-ats.u1" size="0x100000" crc="15345511" sha1="7e5197a8f7a0ec0160d7f5214428b153f35619f6" offset="0" />
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
<!-- EC0058-ENK ENK Volume 8 -->
|
<!-- EC0058-ENK ENK Volume 8 -->
|
||||||
|
|
||||||
<!-- EC0059-JPM J-Pop Mix Volume 25 -->
|
<software name="ec0059">
|
||||||
|
<description>J-Pop Mix Volume 25 (Japan) (EC0059-JPM)</description>
|
||||||
|
<year>2001</year>
|
||||||
|
<publisher>Takara</publisher>
|
||||||
|
<part name="cart" interface="ekara_cart">
|
||||||
|
<dataarea name="rom" size="0x100000">
|
||||||
|
<rom name="ec0059-jpm.u1" size="0x100000" crc="e72ab46f" sha1="ef1fc7fba2beae7549edce697b12dd3b48dd1103" offset="0" />
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
<software name="ec0060">
|
<software name="ec0060">
|
||||||
<description>J-Pop Mix Volume 26 (Japan) (EC0060-JPM)</description>
|
<description>J-Pop Mix Volume 26 (Japan) (EC0060-JPM)</description>
|
||||||
<year>2001</year>
|
<year>2001</year>
|
||||||
@ -721,7 +845,7 @@
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="ec0061">
|
<software name="ec0061">
|
||||||
<description>J-Pop Mix Volume 27 (Japan) (EC0061-JPM)</description>
|
<description>J-Pop Mix Volume 27 (Japan) (EC0061-JPM)</description>
|
||||||
<year>2001</year>
|
<year>2001</year>
|
||||||
@ -743,7 +867,7 @@
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="ec0063">
|
<software name="ec0063">
|
||||||
<description>J-Pop Mix Volume 29 (Japan) (EC0063-JPM)</description>
|
<description>J-Pop Mix Volume 29 (Japan) (EC0063-JPM)</description>
|
||||||
<year>2001</year>
|
<year>2001</year>
|
||||||
@ -767,7 +891,7 @@
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="ec0066">
|
<software name="ec0066">
|
||||||
<description>J-Pop Mix Volume 31 (Japan) (EC0066-JPM)</description>
|
<description>J-Pop Mix Volume 31 (Japan) (EC0066-JPM)</description>
|
||||||
<year>2001</year>
|
<year>2001</year>
|
||||||
@ -778,7 +902,7 @@
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="ec0067">
|
<software name="ec0067">
|
||||||
<description>J-Pop Mix Volume 32 (Japan) (EC0067-JPM)</description>
|
<description>J-Pop Mix Volume 32 (Japan) (EC0067-JPM)</description>
|
||||||
<year>2001</year>
|
<year>2001</year>
|
||||||
@ -811,7 +935,7 @@
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="ec0070">
|
<software name="ec0070">
|
||||||
<description>J-Pop Mix Volume 34 (Japan) (EC0070-JPM)</description>
|
<description>J-Pop Mix Volume 34 (Japan) (EC0070-JPM)</description>
|
||||||
<year>2001</year>
|
<year>2001</year>
|
||||||
@ -866,7 +990,7 @@
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="ec0075">
|
<software name="ec0075">
|
||||||
<description>J-Pop Mix Volume 38 (Japan) (EC0075-JPM)</description>
|
<description>J-Pop Mix Volume 38 (Japan) (EC0075-JPM)</description>
|
||||||
<year>2001</year>
|
<year>2001</year>
|
||||||
@ -876,7 +1000,7 @@
|
|||||||
<rom name="ec0075-jpm.u1" size="0x100000" crc="cbb8e615" sha1="5fbbfbf4278ce7e289d859e389808b155bb16e4a" offset="0" />
|
<rom name="ec0075-jpm.u1" size="0x100000" crc="cbb8e615" sha1="5fbbfbf4278ce7e289d859e389808b155bb16e4a" offset="0" />
|
||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="ec0076">
|
<software name="ec0076">
|
||||||
<description>J-Pop Mix Volume 39 (Japan) (EC0076-JPM)</description>
|
<description>J-Pop Mix Volume 39 (Japan) (EC0076-JPM)</description>
|
||||||
@ -888,7 +1012,7 @@
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="ec0077">
|
<software name="ec0077">
|
||||||
<description>Artist Selection Volume 15 - unknown artist (Japan) (EC0077-ATS)</description>
|
<description>Artist Selection Volume 15 - unknown artist (Japan) (EC0077-ATS)</description>
|
||||||
<year>2001</year>
|
<year>2001</year>
|
||||||
@ -898,8 +1022,8 @@
|
|||||||
<rom name="ec0077-ats.u1" size="0x100000" crc="368b0daf" sha1="8274a06ca2e3dbcd5176ac1b916be4a5a0df12ef" offset="0" />
|
<rom name="ec0077-ats.u1" size="0x100000" crc="368b0daf" sha1="8274a06ca2e3dbcd5176ac1b916be4a5a0df12ef" offset="0" />
|
||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="ec0078">
|
<software name="ec0078">
|
||||||
<description>J-Pop Mix Volume 40 (Japan) (EC0078-JPM)</description>
|
<description>J-Pop Mix Volume 40 (Japan) (EC0078-JPM)</description>
|
||||||
<year>2001</year>
|
<year>2001</year>
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
Japanese cart listing (by A code) (A-x on cartridge)
|
Japanese cart listing (by A code) (A-x on cartridge)
|
||||||
|
|
||||||
These are for use with e-pitch / e-kara (e-pitch internal ROM is the same as e-kara Japan, just button layout is changed)
|
These are for use with e-pitch / e-kara (e-pitch internal ROM is the same as e-kara Japan, just button layout is changed)
|
||||||
|
|
||||||
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10109392860
|
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10109392860
|
||||||
|
|
||||||
A-1 Pichi Pichi Pitch vol.1 / ぴちぴちピッチvol.1
|
A-1 Pichi Pichi Pitch vol.1 / ぴちぴちピッチvol.1
|
||||||
@ -33,7 +33,7 @@
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="a4" supported="no">
|
<software name="a4" supported="no">
|
||||||
<description>A-4 Pichi Pichi Pitch Pure Chapter 1 (Japan)</description>
|
<description>A-4 Pichi Pichi Pitch Pure Chapter 1 (Japan)</description>
|
||||||
<year>2004</year>
|
<year>2004</year>
|
||||||
@ -44,7 +44,7 @@
|
|||||||
<rom name="ekaraa4.bin" size="0x200000" crc="03dcc45a" sha1="ae884128c09b4fc7521f0010bbe9624419a3d0b8" offset="0" />
|
<rom name="ekaraa4.bin" size="0x200000" crc="03dcc45a" sha1="ae884128c09b4fc7521f0010bbe9624419a3d0b8" offset="0" />
|
||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="a5">
|
<software name="a5">
|
||||||
<description>A-5 Pichi Pichi Pitch Karaoke Party (Japan)</description>
|
<description>A-5 Pichi Pichi Pitch Karaoke Party (Japan)</description>
|
||||||
@ -67,6 +67,6 @@
|
|||||||
<rom name="ekaraa7.bin" size="0x200000" crc="5b59900e" sha1="fdb8148211f00d0119b9ad082bf8fd348d509800" offset="0" />
|
<rom name="ekaraa7.bin" size="0x200000" crc="5b59900e" sha1="fdb8148211f00d0119b9ad082bf8fd348d509800" offset="0" />
|
||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
</softwarelist>
|
</softwarelist>
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
A secondary 4-digit naming scheme BHxxxx (no extension) appears on a sticker on the cartridge PCB only
|
A secondary 4-digit naming scheme BHxxxx (no extension) appears on a sticker on the cartridge PCB only
|
||||||
|
|
||||||
For e-kara only
|
For e-kara only
|
||||||
|
|
||||||
These are probably all just titled 'Best Hit Collection'
|
These are probably all just titled 'Best Hit Collection'
|
||||||
|
|
||||||
BH-01 (unknown)
|
BH-01 (unknown)
|
||||||
@ -33,7 +33,7 @@
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="bh03">
|
<software name="bh03">
|
||||||
<description>BH-03 Best Hit Collection (Japan)</description>
|
<description>BH-03 Best Hit Collection (Japan)</description>
|
||||||
<year>2005</year>
|
<year>2005</year>
|
||||||
@ -43,7 +43,7 @@
|
|||||||
<rom name="bh03.bin" size="0x100000" crc="d17cafd4" sha1="b74fd0f77a726547d4001d4177a5ccd2ea35536a" offset="0" />
|
<rom name="bh03.bin" size="0x100000" crc="d17cafd4" sha1="b74fd0f77a726547d4001d4177a5ccd2ea35536a" offset="0" />
|
||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="bh05">
|
<software name="bh05">
|
||||||
<description>BH-05 Best Hit Collection (Japan)</description>
|
<description>BH-05 Best Hit Collection (Japan)</description>
|
||||||
@ -65,6 +65,6 @@
|
|||||||
<rom name="bh06.bin" size="0x100000" crc="6e264ecb" sha1="6c3e4253565242c0c6dcdab7698f5b1e28544b2e" offset="0" />
|
<rom name="bh06.bin" size="0x100000" crc="6e264ecb" sha1="6c3e4253565242c0c6dcdab7698f5b1e28544b2e" offset="0" />
|
||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
</softwarelist>
|
</softwarelist>
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
*D-1 DC0001-BHT BHT (Best Artists?) Volume 8 (most other BHT carts are in G series, or P series)
|
*D-1 DC0001-BHT BHT (Best Artists?) Volume 8 (most other BHT carts are in G series, or P series)
|
||||||
*D-2 DC0002-BAT BAT Volume 6
|
*D-2 DC0002-BAT BAT Volume 6
|
||||||
*D-3 DC0003-BHT BHT (Best Artists?) Volume 9
|
*D-3 DC0003-BHT BHT (Best Artists?) Volume 9
|
||||||
D-4 DC0004-TPJ TV Pop Volume 8
|
D-4 DC0004-TPJ TV Pop Volume 8
|
||||||
*D-5 DC0005-TPJ TV Pop Volume 9
|
*D-5 DC0005-TPJ TV Pop Volume 9
|
||||||
D-6 DC0006-BHT BHT (Best Artists?) Volume 10
|
D-6 DC0006-BHT BHT (Best Artists?) Volume 10
|
||||||
|
@ -110,7 +110,7 @@
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="gc0008a" cloneof="gc0008">
|
<software name="gc0008a" cloneof="gc0008">
|
||||||
<description>MIN Volume 1 (Japan) (GC0008-MIN) (set 2)</description>
|
<description>MIN Volume 1 (Japan) (GC0008-MIN) (set 2)</description>
|
||||||
<year>2001</year>
|
<year>2001</year>
|
||||||
@ -120,7 +120,7 @@
|
|||||||
<rom name="gc0008-min(alt).u1" size="0x200000" crc="b34d1721" sha1="3621f02423f55c43d1b16855c01189719ddbcb6e" offset="0" />
|
<rom name="gc0008-min(alt).u1" size="0x200000" crc="b34d1721" sha1="3621f02423f55c43d1b16855c01189719ddbcb6e" offset="0" />
|
||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<!-- Notes from Sean
|
<!-- Notes from Sean
|
||||||
|
|
||||||
@ -133,7 +133,7 @@
|
|||||||
e-Kara units, Popira, Taiko de Popira and DDR all of them have pin 4 of the cart connector going to VCC and pin 32 going to ground. So none of them can communicate with the SEEPROM in G10
|
e-Kara units, Popira, Taiko de Popira and DDR all of them have pin 4 of the cart connector going to VCC and pin 32 going to ground. So none of them can communicate with the SEEPROM in G10
|
||||||
|
|
||||||
Popira 2 however can make use of these pins -->
|
Popira 2 however can make use of these pins -->
|
||||||
|
|
||||||
<software name="gc0010">
|
<software name="gc0010">
|
||||||
<description>BAT Volume 4 (Japan) (GC0010-BAT)</description>
|
<description>BAT Volume 4 (Japan) (GC0010-BAT)</description>
|
||||||
<year>2002</year>
|
<year>2002</year>
|
||||||
@ -183,7 +183,7 @@
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="gc0017">
|
<software name="gc0017">
|
||||||
<description>TV Pop Volume 6 (Japan) (GC0017-TPJ)</description>
|
<description>TV Pop Volume 6 (Japan) (GC0017-TPJ)</description>
|
||||||
<year>2002</year>
|
<year>2002</year>
|
||||||
@ -194,6 +194,6 @@
|
|||||||
<rom name="gc0017-tpj.u1" size="0x100000" crc="2c7d00a2" sha1="5976b9f3a95afb3b23f1d1d996de0b7aa41ee25c" offset="0" />
|
<rom name="gc0017-tpj.u1" size="0x100000" crc="2c7d00a2" sha1="5976b9f3a95afb3b23f1d1d996de0b7aa41ee25c" offset="0" />
|
||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
</softwarelist>
|
</softwarelist>
|
||||||
|
@ -54,7 +54,7 @@
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="mc0006">
|
<software name="mc0006">
|
||||||
<description>KSM Mini Volume 2 (Japan) (MC0006-KSM)</description>
|
<description>KSM Mini Volume 2 (Japan) (MC0006-KSM)</description>
|
||||||
<year>2003</year>
|
<year>2003</year>
|
||||||
@ -64,7 +64,7 @@
|
|||||||
<rom name="mc0006-ksm.u1" size="0x080000" crc="6d3c8c02" sha1="568a0e156a2189156149578277b6d615fe4e157f" offset="0" />
|
<rom name="mc0006-ksm.u1" size="0x080000" crc="6d3c8c02" sha1="568a0e156a2189156149578277b6d615fe4e157f" offset="0" />
|
||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="mc0012">
|
<software name="mc0012">
|
||||||
<description>Artist Mini Volume 7 (untranslated artist) (Japan) (MC0012-ATM)</description>
|
<description>Artist Mini Volume 7 (untranslated artist) (Japan) (MC0012-ATM)</description>
|
||||||
@ -87,7 +87,7 @@
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="mc0014">
|
<software name="mc0014">
|
||||||
<description>Artist Mini Volume 8 (BoA) (Japan) (MC0014-ATM)</description>
|
<description>Artist Mini Volume 8 (BoA) (Japan) (MC0014-ATM)</description>
|
||||||
<year>2003</year>
|
<year>2003</year>
|
||||||
@ -97,6 +97,6 @@
|
|||||||
<rom name="mc0014-atm.u1" size="0x080000" crc="170e02af" sha1="02b38146db7d74727f7dccf6dcc3d004979210a1" offset="0" />
|
<rom name="mc0014-atm.u1" size="0x080000" crc="170e02af" sha1="02b38146db7d74727f7dccf6dcc3d004979210a1" offset="0" />
|
||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
</softwarelist>
|
</softwarelist>
|
||||||
|
@ -50,7 +50,7 @@
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="pc0003">
|
<software name="pc0003">
|
||||||
<description>ENB Volume 1 (Japan) (PC0003-ENB)</description>
|
<description>ENB Volume 1 (Japan) (PC0003-ENB)</description>
|
||||||
<year>2001</year>
|
<year>2001</year>
|
||||||
|
@ -44,7 +44,7 @@
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="sp03">
|
<software name="sp03">
|
||||||
<description>SP-03 Super Cartridge (Japan)</description>
|
<description>SP-03 Super Cartridge (Japan)</description>
|
||||||
<year>2004</year>
|
<year>2004</year>
|
||||||
@ -55,8 +55,8 @@
|
|||||||
<rom name="sp03.u1" size="0x200000" crc="cd7dbbaf" sha1="cc62c10f8f83015e4c472bc41e9a1fd7ac497655" offset="0" />
|
<rom name="sp03.u1" size="0x200000" crc="cd7dbbaf" sha1="cc62c10f8f83015e4c472bc41e9a1fd7ac497655" offset="0" />
|
||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="sp04">
|
<software name="sp04">
|
||||||
<description>SP-04 Super Cartridge (Japan)</description>
|
<description>SP-04 Super Cartridge (Japan)</description>
|
||||||
<year>2004</year>
|
<year>2004</year>
|
||||||
@ -67,6 +67,6 @@
|
|||||||
<rom name="sp04.u1" size="0x200000" crc="77818ddb" sha1="708980b1ae30864bd3395ef663de1c57ecbc113c" offset="0" />
|
<rom name="sp04.u1" size="0x200000" crc="77818ddb" sha1="708980b1ae30864bd3395ef663de1c57ecbc113c" offset="0" />
|
||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
</softwarelist>
|
</softwarelist>
|
||||||
|
@ -27,9 +27,9 @@
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<!-- this one has some songs programmed into it (TODO, list them here for reference) -->
|
<!-- this one has some songs programmed into it (TODO, list them here for reference) -->
|
||||||
|
|
||||||
<software name="ekaraweb12a">
|
<software name="ekaraweb12a">
|
||||||
<description>e-kara Web cartridge 12M (used, with 7 Songs) (Japan)</description>
|
<description>e-kara Web cartridge 12M (used, with 7 Songs) (Japan)</description>
|
||||||
<year>2003</year>
|
<year>2003</year>
|
||||||
@ -39,6 +39,6 @@
|
|||||||
<rom name="ekaraweb3.bin" size="0x100000" crc="a6a095b9" sha1="709d7edb5799b97127502408bec698663b902462" offset="0" />
|
<rom name="ekaraweb3.bin" size="0x100000" crc="a6a095b9" sha1="709d7edb5799b97127502408bec698663b902462" offset="0" />
|
||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
</softwarelist>
|
</softwarelist>
|
||||||
|
@ -546,7 +546,7 @@ C1066 - ??
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="famous7">
|
<software name="famous7">
|
||||||
<description>Famous 7</description>
|
<description>Famous 7</description>
|
||||||
<year>1993</year>
|
<year>1993</year>
|
||||||
|
24
hash/ibm5150.xml
Executable file → Normal file
24
hash/ibm5150.xml
Executable file → Normal file
@ -3592,7 +3592,7 @@ Known PC Booter Games Not Dumped, Or Dumped and Lost when Demonlord's Site went
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="strecalc">
|
<software name="strecalc">
|
||||||
<description>StretchCalc</description>
|
<description>StretchCalc</description>
|
||||||
<year>1983</year>
|
<year>1983</year>
|
||||||
@ -7132,7 +7132,7 @@ has been replaced with an all-zero block. -->
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="brdtale">
|
<software name="brdtale">
|
||||||
<description>The Bard's Tale - Tales of the Unknown (5.25")</description>
|
<description>The Bard's Tale - Tales of the Unknown (5.25")</description>
|
||||||
<year>1987</year>
|
<year>1987</year>
|
||||||
@ -7409,7 +7409,7 @@ has been replaced with an all-zero block. -->
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="budokan">
|
<software name="budokan">
|
||||||
<description>Budokan - The Martial Spirit</description>
|
<description>Budokan - The Martial Spirit</description>
|
||||||
<year>1989</year>
|
<year>1989</year>
|
||||||
@ -7420,7 +7420,7 @@ has been replaced with an all-zero block. -->
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="budokana" cloneof="budokan">
|
<software name="budokana" cloneof="budokan">
|
||||||
<description>Budokan - The Martial Spirit (Big Games release)</description>
|
<description>Budokan - The Martial Spirit (Big Games release)</description>
|
||||||
<year>1989</year>
|
<year>1989</year>
|
||||||
@ -8171,7 +8171,7 @@ has been replaced with an all-zero block. -->
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="gunboata" cloneof="gunboat">
|
<software name="gunboata" cloneof="gunboat">
|
||||||
<description>Gunboat: River Combat Simulation (Hit Squad release)</description>
|
<description>Gunboat: River Combat Simulation (Hit Squad release)</description>
|
||||||
<year>1990</year>
|
<year>1990</year>
|
||||||
@ -8357,7 +8357,7 @@ has been replaced with an all-zero block. -->
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="shogun">
|
<software name="shogun">
|
||||||
<description>James Clavell's Shogun (set 1)</description>
|
<description>James Clavell's Shogun (set 1)</description>
|
||||||
<year>1987</year>
|
<year>1987</year>
|
||||||
@ -9271,7 +9271,7 @@ has been replaced with an all-zero block. -->
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="monopoly">
|
<software name="monopoly">
|
||||||
<description>Monopoly v2.00 (Shareware)</description>
|
<description>Monopoly v2.00 (Shareware)</description>
|
||||||
<year>1989</year>
|
<year>1989</year>
|
||||||
@ -9298,7 +9298,7 @@ has been replaced with an all-zero block. -->
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="montypyt35" cloneof="montypyt">
|
<software name="montypyt35" cloneof="montypyt">
|
||||||
<description>Monty Python's Flying Circus (3.5")</description>
|
<description>Monty Python's Flying Circus (3.5")</description>
|
||||||
<year>1990</year>
|
<year>1990</year>
|
||||||
@ -10279,7 +10279,7 @@ has been replaced with an all-zero block. -->
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="bartvssma" cloneof="bartvssm">
|
<software name="bartvssma" cloneof="bartvssm">
|
||||||
<description>The Simpsons - Bart vs. the Space Mutants (Hit-Squad release)</description>
|
<description>The Simpsons - Bart vs. the Space Mutants (Hit-Squad release)</description>
|
||||||
<year>1991</year>
|
<year>1991</year>
|
||||||
@ -11038,7 +11038,7 @@ has been replaced with an all-zero block. -->
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="xenon">
|
<software name="xenon">
|
||||||
<description>Xenon (5.25")</description>
|
<description>Xenon (5.25")</description>
|
||||||
<year>1988</year>
|
<year>1988</year>
|
||||||
@ -11056,7 +11056,7 @@ has been replaced with an all-zero block. -->
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="xenon35" cloneof="xenon">
|
<software name="xenon35" cloneof="xenon">
|
||||||
<description>Xenon (16 Blitz Plus release) (3.5")</description>
|
<description>Xenon (16 Blitz Plus release) (3.5")</description>
|
||||||
<year>1990</year>
|
<year>1990</year>
|
||||||
@ -11123,7 +11123,7 @@ has been replaced with an all-zero block. -->
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="zoola" cloneof="zool">
|
<software name="zoola" cloneof="zool">
|
||||||
<description>Zool (Big Games release)</description>
|
<description>Zool (Big Games release)</description>
|
||||||
<year>1993</year>
|
<year>1993</year>
|
||||||
|
@ -10747,7 +10747,7 @@
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="micromc2">
|
<software name="micromc2">
|
||||||
<description>Micro Machines 2: Turbo Tournament</description>
|
<description>Micro Machines 2: Turbo Tournament</description>
|
||||||
<year>1995</year>
|
<year>1995</year>
|
||||||
@ -11301,7 +11301,7 @@
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="monkeyit" cloneof="monkeyk">
|
<software name="monkeyit" cloneof="monkeyk">
|
||||||
<description>The Secret of Monkey Island (Italian)</description>
|
<description>The Secret of Monkey Island (Italian)</description>
|
||||||
<year>1991</year>
|
<year>1991</year>
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="jp02">
|
<software name="jp02">
|
||||||
<description>JP-02 (Japan)</description>
|
<description>JP-02 (Japan)</description>
|
||||||
<year>2004</year>
|
<year>2004</year>
|
||||||
@ -41,5 +41,5 @@
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
</softwarelist>
|
</softwarelist>
|
||||||
|
@ -2,6 +2,19 @@
|
|||||||
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
|
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
|
||||||
<softwarelist name="leapfrog_leappad_cart" description="LeapFrog LeapPad cartridges">
|
<softwarelist name="leapfrog_leappad_cart" description="LeapFrog LeapPad cartridges">
|
||||||
|
|
||||||
|
<software name="hititmstro" supported="no">
|
||||||
|
<description>Music - Hit it, Maestro! (UK)</description>
|
||||||
|
<year>2001</year>
|
||||||
|
<publisher>LeapFrog</publisher>
|
||||||
|
<info name="serial" value="500-00090 RVB"/>
|
||||||
|
<part name="cart" interface="leapfrog_leappad_cart">
|
||||||
|
<feature name="u1" value="MX23L3211B"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
|
||||||
|
<dataarea name="rom" size="0x400000">
|
||||||
|
<rom name="500-00090 RVB - Music - Hit it, Maestro!.bin" size="0x400000" crc="a2770684" sha1="4f389c6dbcd3ff2a647a6d18df86c472444074e4" offset="0" />
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
<software name="tadshop" supported="no">
|
<software name="tadshop" supported="no">
|
||||||
<description>Pre Math - Tad goes shopping (UK)</description>
|
<description>Pre Math - Tad goes shopping (UK)</description>
|
||||||
<year>2001</year>
|
<year>2001</year>
|
||||||
@ -81,6 +94,34 @@
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
|
<!-- Same ROM as 500-00263 - Phonics - Leap's Friends From A to Z -->
|
||||||
|
<software name="prlpfrnds" supported="no">
|
||||||
|
<description>Pre Reading - Leap's Friends From A to Z (UK)</description>
|
||||||
|
<year>2002</year>
|
||||||
|
<publisher>LeapFrog</publisher>
|
||||||
|
<info name="serial" value="500-00804"/>
|
||||||
|
<part name="cart" interface="leapfrog_leappad_cart">
|
||||||
|
<feature name="u1" value="LeapFrog 2000 8M DIE ROM"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
|
||||||
|
<dataarea name="rom" size="0x100000">
|
||||||
|
<rom name="500-00804 - Pre Reading - Leap's Friends From A to Z.bin" size="0x100000" crc="cea3f327" sha1="c49779322dd046ef67bef93d144d2d07251eeadf" offset="0" />
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
|
<software name="findnemo" supported="no">
|
||||||
|
<description>Reading - Disney/Pixar Finding Nemo (UK)</description>
|
||||||
|
<year>2003</year>
|
||||||
|
<publisher>LeapFrog</publisher>
|
||||||
|
<info name="serial" value="500-01148"/>
|
||||||
|
<part name="cart" interface="leapfrog_leappad_cart">
|
||||||
|
<feature name="pcb" value="335-13845-40"/>
|
||||||
|
<feature name="u1" value="MR27V1602E"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
|
||||||
|
<dataarea name="rom" size="0x200000">
|
||||||
|
<rom name="500-01148 - Reading - Finding Nemo.bin" size="0x200000" crc="b299286b" sha1="3e8c63486f5646f65b5f86efeee4a6ee9d979f32" offset="0" />
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
<software name="leapsbond" supported="no">
|
<software name="leapsbond" supported="no">
|
||||||
<description>Leap's Pond - Activity & Game Book (UK)</description>
|
<description>Leap's Pond - Activity & Game Book (UK)</description>
|
||||||
<year>2003</year>
|
<year>2003</year>
|
||||||
@ -96,6 +137,19 @@
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
|
<software name="hoppop" supported="no">
|
||||||
|
<description>Hop on Pop - Based on the Book by Dr. Seuss (UK)</description>
|
||||||
|
<year>2004</year>
|
||||||
|
<publisher>LeapFrog</publisher>
|
||||||
|
<info name="serial" value="500-10438"/>
|
||||||
|
<part name="cart" interface="leapfrog_leappad_cart">
|
||||||
|
<feature name="u1" value="MR27V3202J-03-01"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
|
||||||
|
<dataarea name="rom" size="0x400000">
|
||||||
|
<rom name="500-10438 - Hop on Pop.bin" size="0x400000" crc="49308dc4" sha1="50864fdd604f6b88a0545df45663cae60e30c0e4" offset="0" />
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
<software name="dinosaurg" supported="no">
|
<software name="dinosaurg" supported="no">
|
||||||
<description>Leap und die Welt der Dinosaurier (Germany)</description>
|
<description>Leap und die Welt der Dinosaurier (Germany)</description>
|
||||||
<year>2004</year>
|
<year>2004</year>
|
||||||
@ -111,6 +165,21 @@
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
|
<software name="abcabent" supported="no">
|
||||||
|
<description>ABC-Abenteuer (Germany)</description>
|
||||||
|
<year>2003</year>
|
||||||
|
<publisher>LeapFrog</publisher>
|
||||||
|
<info name="serial" value="500-10717 UBL"/>
|
||||||
|
<part name="cart" interface="leapfrog_leappad_cart">
|
||||||
|
<feature name="pcb" value="57000-003-2911"/>
|
||||||
|
<feature name="pcb_rev" value="REV.01"/>
|
||||||
|
<feature name="u1" value="Sunplus32m"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
|
||||||
|
<dataarea name="rom" size="0x400000">
|
||||||
|
<rom name="500-10717 UBL - ABC-Abenteuer (GER).bin" size="0x400000" crc="6c5c0180" sha1="3cfacb759d3cac16e52aad4629f0759bb8817f1a" offset="0" />
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
<software name="tadsgngt" supported="no">
|
<software name="tadsgngt" supported="no">
|
||||||
<description>Tad's Good Night (UK)</description>
|
<description>Tad's Good Night (UK)</description>
|
||||||
<year>1999</year>
|
<year>1999</year>
|
||||||
@ -141,6 +210,21 @@
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
|
<software name="wwyoubbe" supported="no">
|
||||||
|
<description>What will you be? (UK)</description>
|
||||||
|
<year>2004</year>
|
||||||
|
<publisher>LeapFrog</publisher>
|
||||||
|
<info name="serial" value="500-10760"/>
|
||||||
|
<part name="cart" interface="leapfrog_leappad_cart">
|
||||||
|
<feature name="pcb" value="30388-003-0032"/>
|
||||||
|
<feature name="pcb_rev" value="REV:00"/>
|
||||||
|
<feature name="u1" value="MX12L1611B"/> <!-- ROM on epoxy blob, but type silkscreened on the PCB -->
|
||||||
|
<dataarea name="rom" size="0x200000">
|
||||||
|
<rom name="500-10760 - What will you be.bin" size="0x200000" crc="b6b36f74" sha1="5d017a501b7feabd8c4d90b8672af19c3d321f41" offset="0" />
|
||||||
|
</dataarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
<software name="angelg" supported="no">
|
<software name="angelg" supported="no">
|
||||||
<description>Das Angel-Abenteuer (Germany)</description>
|
<description>Das Angel-Abenteuer (Germany)</description>
|
||||||
<year>2002</year>
|
<year>2002</year>
|
||||||
|
0
hash/msx1_cass.xml
Executable file → Normal file
0
hash/msx1_cass.xml
Executable file → Normal file
1206
hash/pc98.xml
1206
hash/pc98.xml
File diff suppressed because it is too large
Load Diff
@ -1098,6 +1098,43 @@
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
|
<software name="cyberwar">
|
||||||
|
<!--
|
||||||
|
Origin: Neo Kobe Collection
|
||||||
|
<rom name="cyber war (disc 1).ccd" size="771" crc="b00b4fc3" sha1="c0ca2f35f7f2c623a2cffefd00199fad85040ba8"/>
|
||||||
|
<rom name="cyber war (disc 1).cue" size="79" crc="4aa9158f" sha1="22e5bcad2ba79f857a7e025ca8d5dc75bbfa8894"/>
|
||||||
|
<rom name="cyber war (disc 1).img" size="614424720" crc="5513bd0a" sha1="21d2a3f27fa043cc8a486e47a236181eb15cbabb"/>
|
||||||
|
<rom name="cyber war (disc 1).sub" size="25078560" crc="81fb6f2b" sha1="93f38cd1fe5730af8918cc32e51cdc0c40645a0a"/>
|
||||||
|
<rom name="cyber war (disc 2).ccd" size="772" crc="209cd755" sha1="f78e9fe3536b4a7c5841636ea1ca0728b4a39222"/>
|
||||||
|
<rom name="cyber war (disc 2).cue" size="79" crc="63566323" sha1="1c22a830eb3307507db202142a5227816cd4750f"/>
|
||||||
|
<rom name="cyber war (disc 2).img" size="668755920" crc="0c1db581" sha1="88a733ef4014db7e827f13137fda1ac4a5bd6eb6"/>
|
||||||
|
<rom name="cyber war (disc 2).sub" size="27296160" crc="65914b39" sha1="eed5a88ae1fb798da6f9486565cad66be0f39f90"/>
|
||||||
|
<rom name="cyber war (disc 3).ccd" size="771" crc="ec671429" sha1="a84b25f3956ca6219fd54bda5f3632b758c7529f"/>
|
||||||
|
<rom name="cyber war (disc 3).cue" size="79" crc="7bfcb147" sha1="2913f71b0ddd72be5df2e6ce588662fe33f08c7b"/>
|
||||||
|
<rom name="cyber war (disc 3).img" size="698953248" crc="4fdbd398" sha1="463d2708b3e4a2581ea21ea90c2921f90d3a60bc"/>
|
||||||
|
<rom name="cyber war (disc 3).sub" size="28528704" crc="1ae19b0c" sha1="3dd896aeab94d76dd58c564333bac22d70ec71ee"/>
|
||||||
|
-->
|
||||||
|
<description>Cyberwar</description>
|
||||||
|
<year>1995</year>
|
||||||
|
<publisher>塚本吉彦事務所 (Tsukamoto Yoshihiko Jimusho)</publisher>
|
||||||
|
<info name="alt_title" value="サイバーウォー" />
|
||||||
|
<part name="cdrom1" interface="cdrom">
|
||||||
|
<diskarea name="cdrom">
|
||||||
|
<disk name="cyber war (disc 1)" sha1="4b62409f228d06e30c4099d984863be76039a72b"/>
|
||||||
|
</diskarea>
|
||||||
|
</part>
|
||||||
|
<part name="cdrom2" interface="cdrom">
|
||||||
|
<diskarea name="cdrom">
|
||||||
|
<disk name="cyber war (disc 2)" sha1="4bc9c31c839caf73dc27dc05133656a4db6eac74"/>
|
||||||
|
</diskarea>
|
||||||
|
</part>
|
||||||
|
<part name="cdrom3" interface="cdrom">
|
||||||
|
<diskarea name="cdrom">
|
||||||
|
<disk name="cyber war (disc 3)" sha1="0547eda244bcb5e11b4d9381cd5f372fb3fb8485"/>
|
||||||
|
</diskarea>
|
||||||
|
</part>
|
||||||
|
</software>
|
||||||
|
|
||||||
<!-- Hybrid disc, also included in fmtowns_cd.xml -->
|
<!-- Hybrid disc, also included in fmtowns_cd.xml -->
|
||||||
<software name="dangel">
|
<software name="dangel">
|
||||||
<!--
|
<!--
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
<softwarelist name="sega_beena_cart" description="Sega Beena Cartridges">
|
<softwarelist name="sega_beena_cart" description="Sega Beena Cartridges">
|
||||||
|
|
||||||
<!-- you must byteswap ROMs to see text, due to endian? -->
|
<!-- you must byteswap ROMs to see text, due to endian? -->
|
||||||
|
|
||||||
<software name="fpc" supported="no">
|
<software name="fpc" supported="no">
|
||||||
<description>Fresh Pretty Cure</description> <!-- is this the correct title? -->
|
<description>Fresh Pretty Cure</description> <!-- is this the correct title? -->
|
||||||
<year>2009</year>
|
<year>2009</year>
|
||||||
<publisher>Sega</publisher>
|
<publisher>Sega</publisher>
|
||||||
|
0
hash/timex_dock.xml
Executable file → Normal file
0
hash/timex_dock.xml
Executable file → Normal file
@ -227454,7 +227454,7 @@
|
|||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<!-- Project.org 2612 VGM Archives located at http://project2612.org/list.php
|
<!-- Project.org 2612 VGM Archives located at http://project2612.org/list.php
|
||||||
Also https://archive.org/details/Project2612CompleteArchive20180623681Sets.7z -->
|
Also https://archive.org/details/Project2612CompleteArchive20180623681Sets.7z -->
|
||||||
|
|
||||||
|
@ -259,17 +259,17 @@ function cheatfind.startplugin()
|
|||||||
local devtable = {}
|
local devtable = {}
|
||||||
local devsel = 1
|
local devsel = 1
|
||||||
local devcur = 1
|
local devcur = 1
|
||||||
|
|
||||||
|
|
||||||
--local formtable = { " I1", " i1", "<I2", ">I2", "<i2", ">i2", "<I4", ">I4", "<i4", ">i4", "<I8", ">I8", "<i8", ">i8", }-- " <f", " >f", " <d", " >d" }
|
--local formtable = { " I1", " i1", "<I2", ">I2", "<i2", ">i2", "<I4", ">I4", "<i4", ">i4", "<I8", ">I8", "<i8", ">i8", }-- " <f", " >f", " <d", " >d" }
|
||||||
--local formname = { "u8", "s8", "little u16", "big u16", "little s16", "big s16",
|
--local formname = { "u8", "s8", "little u16", "big u16", "little s16", "big s16",
|
||||||
-- "little u32", "big u32", "little s32", "big s32", "little u64", "big u64", "little s64", "big s64", }
|
-- "little u32", "big u32", "little s32", "big s32", "little u64", "big u64", "little s64", "big s64", }
|
||||||
-- -- "little float", "big float", "little double", "big double" }
|
-- -- "little float", "big float", "little double", "big double" }
|
||||||
-- Reordered into likelyhood of use order: unsigned byte by big endian unsigned by little endian unsigned then unsigned in same order
|
-- Reordered into likelyhood of use order: unsigned byte by big endian unsigned by little endian unsigned then unsigned in same order
|
||||||
local formtable = { " I1", ">I2", ">I4", ">I8", "<I2", "<I4", "<I8", " i1", ">i2", ">i4", ">i8", "<i2", "<i4", "<i8", }-- " <f", " >f", " <d", " >d" }
|
local formtable = { " I1", ">I2", ">I4", ">I8", "<I2", "<I4", "<I8", " i1", ">i2", ">i4", ">i8", "<i2", "<i4", "<i8", }-- " <f", " >f", " <d", " >d" }
|
||||||
local formname = { "u8", "big u16", "big u32", "big u64", "little u16", "little u32",
|
local formname = { "u8", "big u16", "big u32", "big u64", "little u16", "little u32",
|
||||||
"little u64", "s8", "big s16", "big s32", "big s64", "little s16", "little s32", "little s64", }
|
"little u64", "s8", "big s16", "big s32", "big s64", "little s16", "little s32", "little s64", }
|
||||||
|
|
||||||
local width = 1
|
local width = 1
|
||||||
local bcd = 0
|
local bcd = 0
|
||||||
local align = 0
|
local align = 0
|
||||||
@ -278,16 +278,16 @@ function cheatfind.startplugin()
|
|||||||
local value = 0
|
local value = 0
|
||||||
local leftop = 1
|
local leftop = 1
|
||||||
local rightop = 1
|
local rightop = 1
|
||||||
local leftop_text = "Slot 1"
|
local leftop_text = "Slot 1"
|
||||||
local rightop_text = "Slot 1"
|
local rightop_text = "Slot 1"
|
||||||
local value_text = ""
|
local value_text = ""
|
||||||
local expression_text = "Slot 1 < Slot 1"
|
local expression_text = "Slot 1 < Slot 1"
|
||||||
local pausetable = { "Automatic", "Manual" }
|
local pausetable = { "Automatic", "Manual" }
|
||||||
local pausesel = 1
|
local pausesel = 1
|
||||||
local pokevaltable = { "Slot 1 Value", "Last Slot Value", "0x00", "0x01", "0x02", "0x03", "0x04", "0x05", "0x06", "0x07", "0x08", "0x09", "0x63 (Decimal 99)", "0x99 (BCD 99)",
|
local pokevaltable = { "Slot 1 Value", "Last Slot Value", "0x00", "0x01", "0x02", "0x03", "0x04", "0x05", "0x06", "0x07", "0x08", "0x09", "0x63 (Decimal 99)", "0x99 (BCD 99)",
|
||||||
"0xFF (Decimal 255)" , "0x3E7 (Decimal 999)", "0x999 (BCD 999)", "0x270F (Decimal 9999)", "0x9999 (BCD 9999)", "0xFFFF (Decimal 65535)" }
|
"0xFF (Decimal 255)" , "0x3E7 (Decimal 999)", "0x999 (BCD 999)", "0x270F (Decimal 9999)", "0x9999 (BCD 9999)", "0xFFFF (Decimal 65535)" }
|
||||||
local pokevalsel = 1
|
local pokevalsel = 1
|
||||||
|
|
||||||
local matches = {}
|
local matches = {}
|
||||||
local matchsel = 0
|
local matchsel = 0
|
||||||
local matchpg = 0
|
local matchpg = 0
|
||||||
@ -350,12 +350,12 @@ function cheatfind.startplugin()
|
|||||||
end
|
end
|
||||||
|
|
||||||
emu.register_start(start)
|
emu.register_start(start)
|
||||||
|
|
||||||
local menu_is_showing = false
|
local menu_is_showing = false
|
||||||
local tabbed_out = false
|
local tabbed_out = false
|
||||||
|
|
||||||
local function menu_populate()
|
local function menu_populate()
|
||||||
if pausesel == 1 then
|
if pausesel == 1 then
|
||||||
emu.pause()
|
emu.pause()
|
||||||
menu_is_showing = true
|
menu_is_showing = true
|
||||||
end
|
end
|
||||||
@ -504,24 +504,24 @@ function cheatfind.startplugin()
|
|||||||
local m = { _("Pause Mode"), pausetable[pausesel], 0 }
|
local m = { _("Pause Mode"), pausetable[pausesel], 0 }
|
||||||
menu_lim(pausesel, 1, pausetable, m)
|
menu_lim(pausesel, 1, pausetable, m)
|
||||||
local function f(event)
|
local function f(event)
|
||||||
if (event == "left" or event == "right") then
|
if (event == "left" or event == "right") then
|
||||||
if pausesel == 1 then
|
if pausesel == 1 then
|
||||||
pausesel = 2
|
pausesel = 2
|
||||||
menu_is_showing = false
|
menu_is_showing = false
|
||||||
manager:machine():popmessage(_("Manually pause & unpause the game when needed with the pause hotkey"))
|
manager:machine():popmessage(_("Manually pause & unpause the game when needed with the pause hotkey"))
|
||||||
else
|
else
|
||||||
pausesel = 1
|
pausesel = 1
|
||||||
emu.pause()
|
emu.pause()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
return m, f
|
return m, f
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
menu[#menu + 1] = function()
|
menu[#menu + 1] = function()
|
||||||
local function f(event)
|
local function f(event)
|
||||||
local ret = false
|
local ret = false
|
||||||
@ -542,7 +542,7 @@ function cheatfind.startplugin()
|
|||||||
leftop_text = "Slot 1"
|
leftop_text = "Slot 1"
|
||||||
rightop_text = "Slot 1"
|
rightop_text = "Slot 1"
|
||||||
value_text = ""
|
value_text = ""
|
||||||
expression_text = "Slot 1 < Slot 1"
|
expression_text = "Slot 1 < Slot 1"
|
||||||
matchsel = 0
|
matchsel = 0
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
@ -550,9 +550,9 @@ function cheatfind.startplugin()
|
|||||||
local opsel = 1
|
local opsel = 1
|
||||||
return { _("Start new search"), "", 0 }, f
|
return { _("Start new search"), "", 0 }, f
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if #menu_blocks ~= 0 then
|
if #menu_blocks ~= 0 then
|
||||||
menu[#menu + 1] = function() return { "---", "", "off" }, nil end
|
menu[#menu + 1] = function() return { "---", "", "off" }, nil end
|
||||||
menu[#menu + 1] = function()
|
menu[#menu + 1] = function()
|
||||||
@ -562,7 +562,7 @@ function cheatfind.startplugin()
|
|||||||
menu_blocks[num][#menu_blocks[num] + 1] = cheat.save(devtable[devcur].space, region.offset, region.size)
|
menu_blocks[num][#menu_blocks[num] + 1] = cheat.save(devtable[devcur].space, region.offset, region.size)
|
||||||
end
|
end
|
||||||
manager:machine():popmessage(string.format(_("Memory State saved to Slot %d"), #menu_blocks[1]))
|
manager:machine():popmessage(string.format(_("Memory State saved to Slot %d"), #menu_blocks[1]))
|
||||||
|
|
||||||
if (leftop == #menu_blocks[1] - 1 and rightop == #menu_blocks[1] - 2 ) then
|
if (leftop == #menu_blocks[1] - 1 and rightop == #menu_blocks[1] - 2 ) then
|
||||||
leftop = #menu_blocks[1]
|
leftop = #menu_blocks[1]
|
||||||
rightop = #menu_blocks[1]-1
|
rightop = #menu_blocks[1]-1
|
||||||
@ -571,7 +571,7 @@ function cheatfind.startplugin()
|
|||||||
rightop = #menu_blocks[1]
|
rightop = #menu_blocks[1]
|
||||||
elseif (leftop == #menu_blocks[1] - 1 ) then
|
elseif (leftop == #menu_blocks[1] - 1 ) then
|
||||||
leftop = #menu_blocks[1]
|
leftop = #menu_blocks[1]
|
||||||
elseif (rightop == #menu_blocks[1] - 1) then
|
elseif (rightop == #menu_blocks[1] - 1) then
|
||||||
rightop = #menu_blocks[1]
|
rightop = #menu_blocks[1]
|
||||||
end
|
end
|
||||||
leftop_text = string.format("Slot %d", leftop)
|
leftop_text = string.format("Slot %d", leftop)
|
||||||
@ -618,27 +618,27 @@ function cheatfind.startplugin()
|
|||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if optable[opsel] == "lt" then
|
if optable[opsel] == "lt" then
|
||||||
if (value == 0 ) then
|
if (value == 0 ) then
|
||||||
expression_text = string.format("%s < %s", leftop_text, rightop_text)
|
expression_text = string.format("%s < %s", leftop_text, rightop_text)
|
||||||
else
|
else
|
||||||
expression_text = string.format("%s == %s - %d", leftop_text, rightop_text, value)
|
expression_text = string.format("%s == %s - %d", leftop_text, rightop_text, value)
|
||||||
end
|
end
|
||||||
elseif optable[opsel] == "gt" then
|
elseif optable[opsel] == "gt" then
|
||||||
if (value == 0 ) then
|
if (value == 0 ) then
|
||||||
expression_text = string.format("%s > %s", leftop_text, rightop_text)
|
expression_text = string.format("%s > %s", leftop_text, rightop_text)
|
||||||
else
|
else
|
||||||
expression_text = string.format("%s == %s + %d", leftop_text, rightop_text, value)
|
expression_text = string.format("%s == %s + %d", leftop_text, rightop_text, value)
|
||||||
end
|
end
|
||||||
elseif optable[opsel] == "eq" then
|
elseif optable[opsel] == "eq" then
|
||||||
expression_text = string.format("%s == %s", leftop_text, rightop_text)
|
expression_text = string.format("%s == %s", leftop_text, rightop_text)
|
||||||
elseif optable[opsel] == "ne" then
|
elseif optable[opsel] == "ne" then
|
||||||
if (value == 0 ) then
|
if (value == 0 ) then
|
||||||
expression_text = string.format("%s != %s", leftop_text, rightop_text)
|
expression_text = string.format("%s != %s", leftop_text, rightop_text)
|
||||||
else
|
else
|
||||||
expression_text = string.format("%s == %s +/- %d", leftop_text, rightop_text, value)
|
expression_text = string.format("%s == %s +/- %d", leftop_text, rightop_text, value)
|
||||||
end
|
end
|
||||||
elseif optable[opsel] == "beq" then
|
elseif optable[opsel] == "beq" then
|
||||||
expression_text = string.format("%s BITWISE== %s", leftop_text, rightop_text)
|
expression_text = string.format("%s BITWISE== %s", leftop_text, rightop_text)
|
||||||
elseif optable[opsel] == "bne" then
|
elseif optable[opsel] == "bne" then
|
||||||
@ -651,10 +651,10 @@ function cheatfind.startplugin()
|
|||||||
expression_text = string.format("%s == %d", leftop_text, value)
|
expression_text = string.format("%s == %d", leftop_text, value)
|
||||||
elseif optable[opsel] == "nev" then
|
elseif optable[opsel] == "nev" then
|
||||||
string.format("%s != %d", leftop_text, value)
|
string.format("%s != %d", leftop_text, value)
|
||||||
end
|
end
|
||||||
return { _("Perform Compare : ") .. expression_text, "", 0 }, f
|
return { _("Perform Compare : ") .. expression_text, "", 0 }, f
|
||||||
end
|
end
|
||||||
menu[#menu + 1] = function() return { "---", "", "off" }, nil end
|
menu[#menu + 1] = function() return { "---", "", "off" }, nil end
|
||||||
menu[#menu + 1] = function()
|
menu[#menu + 1] = function()
|
||||||
local m = { _(leftop), "", 0 }
|
local m = { _(leftop), "", 0 }
|
||||||
menu_lim(leftop, 1, #menu_blocks[1], m)
|
menu_lim(leftop, 1, #menu_blocks[1], m)
|
||||||
@ -712,7 +712,7 @@ function cheatfind.startplugin()
|
|||||||
m = { _("Value"), value, "" }
|
m = { _("Value"), value, "" }
|
||||||
else
|
else
|
||||||
m = { _("Difference"), value, "" }
|
m = { _("Difference"), value, "" }
|
||||||
end
|
end
|
||||||
local max = 100 -- max value?
|
local max = 100 -- max value?
|
||||||
menu_lim(value, 0, max, m)
|
menu_lim(value, 0, max, m)
|
||||||
if value == 0 and optable[opsel]:sub(3, 3) ~= "v" then
|
if value == 0 and optable[opsel]:sub(3, 3) ~= "v" then
|
||||||
@ -726,7 +726,7 @@ function cheatfind.startplugin()
|
|||||||
menu_lim(width, 1, #formtable, m)
|
menu_lim(width, 1, #formtable, m)
|
||||||
return m, function(event) local r width, r = incdec(event, width, 1, #formtable) return r end
|
return m, function(event) local r width, r = incdec(event, width, 1, #formtable) return r end
|
||||||
end
|
end
|
||||||
|
|
||||||
menu[#menu + 1] = function()
|
menu[#menu + 1] = function()
|
||||||
local m = { _("Test/Write Poke Value"), pokevaltable[pokevalsel], 0 }
|
local m = { _("Test/Write Poke Value"), pokevaltable[pokevalsel], 0 }
|
||||||
menu_lim(pokevalsel, 1, #pokevaltable, m)
|
menu_lim(pokevalsel, 1, #pokevaltable, m)
|
||||||
@ -741,19 +741,19 @@ function cheatfind.startplugin()
|
|||||||
elseif pokevalsel == 3 then
|
elseif pokevalsel == 3 then
|
||||||
manager:machine():popmessage(_("Use this if you want to poke 0x00"))
|
manager:machine():popmessage(_("Use this if you want to poke 0x00"))
|
||||||
elseif pokevalsel == 4 then
|
elseif pokevalsel == 4 then
|
||||||
manager:machine():popmessage(_("Use this if you want to poke 0x01"))
|
manager:machine():popmessage(_("Use this if you want to poke 0x01"))
|
||||||
elseif pokevalsel == 5 then
|
elseif pokevalsel == 5 then
|
||||||
manager:machine():popmessage(_("Use this if you want to poke 0x02"))
|
manager:machine():popmessage(_("Use this if you want to poke 0x02"))
|
||||||
elseif pokevalsel == 6 then
|
elseif pokevalsel == 6 then
|
||||||
manager:machine():popmessage(_("Use this if you want to poke 0x03"))
|
manager:machine():popmessage(_("Use this if you want to poke 0x03"))
|
||||||
elseif pokevalsel == 7 then
|
elseif pokevalsel == 7 then
|
||||||
manager:machine():popmessage(_("Use this if you want to poke 0x04"))
|
manager:machine():popmessage(_("Use this if you want to poke 0x04"))
|
||||||
elseif pokevalsel == 8 then
|
elseif pokevalsel == 8 then
|
||||||
manager:machine():popmessage(_("Use this if you want to poke 0x05"))
|
manager:machine():popmessage(_("Use this if you want to poke 0x05"))
|
||||||
elseif pokevalsel == 9 then
|
elseif pokevalsel == 9 then
|
||||||
manager:machine():popmessage(_("Use this if you want to poke 0x06"))
|
manager:machine():popmessage(_("Use this if you want to poke 0x06"))
|
||||||
elseif pokevalsel == 10 then
|
elseif pokevalsel == 10 then
|
||||||
manager:machine():popmessage(_("Use this if you want to poke 0x07"))
|
manager:machine():popmessage(_("Use this if you want to poke 0x07"))
|
||||||
elseif pokevalsel == 11 then
|
elseif pokevalsel == 11 then
|
||||||
manager:machine():popmessage(_("Use this if you want to poke 0x08"))
|
manager:machine():popmessage(_("Use this if you want to poke 0x08"))
|
||||||
elseif pokevalsel == 12 then
|
elseif pokevalsel == 12 then
|
||||||
@ -763,7 +763,7 @@ function cheatfind.startplugin()
|
|||||||
elseif pokevalsel == 14 then
|
elseif pokevalsel == 14 then
|
||||||
manager:machine():popmessage(_("Use this if you want to poke 0x99 (BCD 99)"))
|
manager:machine():popmessage(_("Use this if you want to poke 0x99 (BCD 99)"))
|
||||||
elseif pokevalsel == 15 then
|
elseif pokevalsel == 15 then
|
||||||
manager:machine():popmessage(_("Use this if you want to poke 0xFF (Decimal 255)"))
|
manager:machine():popmessage(_("Use this if you want to poke 0xFF (Decimal 255)"))
|
||||||
elseif pokevalsel == 16 then
|
elseif pokevalsel == 16 then
|
||||||
manager:machine():popmessage(_("Use this if you want to poke 0x3E7 (Decimal 999)"))
|
manager:machine():popmessage(_("Use this if you want to poke 0x3E7 (Decimal 999)"))
|
||||||
elseif pokevalsel == 17 then
|
elseif pokevalsel == 17 then
|
||||||
@ -773,15 +773,15 @@ function cheatfind.startplugin()
|
|||||||
elseif pokevalsel == 19 then
|
elseif pokevalsel == 19 then
|
||||||
manager:machine():popmessage(_("Use this if you want to poke 0x9999 (BCD 9999)"))
|
manager:machine():popmessage(_("Use this if you want to poke 0x9999 (BCD 9999)"))
|
||||||
elseif pokevalsel == 20 then
|
elseif pokevalsel == 20 then
|
||||||
manager:machine():popmessage(_("Use this if you want to poke 0xFFFF (Decimal 65535)"))
|
manager:machine():popmessage(_("Use this if you want to poke 0xFFFF (Decimal 65535)"))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return r
|
return r
|
||||||
end
|
end
|
||||||
return m, f
|
return m, f
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
menu[#menu + 1] = function()
|
menu[#menu + 1] = function()
|
||||||
if optable[opsel] == "bne" or optable[opsel] == "beq" then
|
if optable[opsel] == "bne" or optable[opsel] == "beq" then
|
||||||
return nil
|
return nil
|
||||||
@ -873,12 +873,12 @@ function cheatfind.startplugin()
|
|||||||
|
|
||||||
local function match_exec(match)
|
local function match_exec(match)
|
||||||
local dev = devtable[devcur]
|
local dev = devtable[devcur]
|
||||||
|
|
||||||
local wid = formtable[width]:sub(3, 3)
|
local wid = formtable[width]:sub(3, 3)
|
||||||
local widchar
|
local widchar
|
||||||
local pokevalue
|
local pokevalue
|
||||||
local form
|
local form
|
||||||
|
|
||||||
if pokevalsel == 1 then
|
if pokevalsel == 1 then
|
||||||
pokevalue = match.oldval
|
pokevalue = match.oldval
|
||||||
elseif pokevalsel == 2 then
|
elseif pokevalsel == 2 then
|
||||||
@ -914,25 +914,25 @@ function cheatfind.startplugin()
|
|||||||
elseif pokevalsel == 17 and wid == "1" then
|
elseif pokevalsel == 17 and wid == "1" then
|
||||||
pokevalue = 153
|
pokevalue = 153
|
||||||
elseif pokevalsel == 18 and wid == "1" then
|
elseif pokevalsel == 18 and wid == "1" then
|
||||||
pokevalue = 99
|
pokevalue = 99
|
||||||
elseif pokevalsel == 19 and wid == "1" then
|
elseif pokevalsel == 19 and wid == "1" then
|
||||||
pokevalue = 153
|
pokevalue = 153
|
||||||
elseif pokevalsel == 20 and wid == "1" then
|
elseif pokevalsel == 20 and wid == "1" then
|
||||||
pokevalue = 255
|
pokevalue = 255
|
||||||
elseif pokevalsel == 16 then
|
elseif pokevalsel == 16 then
|
||||||
pokevalue = 999
|
pokevalue = 999
|
||||||
elseif pokevalsel == 17 then
|
elseif pokevalsel == 17 then
|
||||||
pokevalue = 2457
|
pokevalue = 2457
|
||||||
elseif pokevalsel == 18 then
|
elseif pokevalsel == 18 then
|
||||||
pokevalue = 9999
|
pokevalue = 9999
|
||||||
elseif pokevalsel == 19 then
|
elseif pokevalsel == 19 then
|
||||||
pokevalue = 39321
|
pokevalue = 39321
|
||||||
elseif pokevalsel == 20 then
|
elseif pokevalsel == 20 then
|
||||||
pokevalue = 65535
|
pokevalue = 65535
|
||||||
end
|
end
|
||||||
|
|
||||||
local cheat = { desc = string.format(_("Test Cheat %08X:%02X"), match.addr, pokevalue), script = {} }
|
local cheat = { desc = string.format(_("Test Cheat %08X:%02X"), match.addr, pokevalue), script = {} }
|
||||||
|
|
||||||
if wid == "2" then
|
if wid == "2" then
|
||||||
wid = "u16"
|
wid = "u16"
|
||||||
form = "%08x %04x"
|
form = "%08x %04x"
|
||||||
@ -958,7 +958,7 @@ function cheatfind.startplugin()
|
|||||||
form = "%08x %02x"
|
form = "%08x %02x"
|
||||||
widchar = "b"
|
widchar = "b"
|
||||||
end
|
end
|
||||||
|
|
||||||
if getmetatable(dev.space).__name:match("device_t") then
|
if getmetatable(dev.space).__name:match("device_t") then
|
||||||
cheat.ram = { ram = dev.tag }
|
cheat.ram = { ram = dev.tag }
|
||||||
cheat.script.run = "ram:write(" .. match.addr .. "," .. pokevalue .. ")"
|
cheat.script.run = "ram:write(" .. match.addr .. "," .. pokevalue .. ")"
|
||||||
@ -1001,7 +1001,7 @@ function cheatfind.startplugin()
|
|||||||
cheat_save.json = json.stringify({[1] = cheat}, {indent = true})
|
cheat_save.json = json.stringify({[1] = cheat}, {indent = true})
|
||||||
cheat_save.xml = string.format("<mamecheat version=\"1\">\n <cheat desc=\"%%s\">\n <script state=\"run\">\n <action>%s.pp%s@%X=%X</action>\n </script>\n </cheat>\n</mamecheat>", dev.tag:sub(2), widchar, match.addr, match.newval)
|
cheat_save.xml = string.format("<mamecheat version=\"1\">\n <cheat desc=\"%%s\">\n <script state=\"run\">\n <action>%s.pp%s@%X=%X</action>\n </script>\n </cheat>\n</mamecheat>", dev.tag:sub(2), widchar, match.addr, match.newval)
|
||||||
cheat_save.simple = string.format("%s,%s,%X,%s,%X,%%s\n", setname, dev.tag, match.addr, widchar, pokevalue)
|
cheat_save.simple = string.format("%s,%s,%X,%s,%X,%%s\n", setname, dev.tag, match.addr, widchar, pokevalue)
|
||||||
cheat_save.dat = string.format(":%s:40000000:%X:%08X:FFFFFFFF:%%s\n", setname, match.addr, pokevalue)
|
cheat_save.dat = string.format(":%s:40000000:%X:%08X:FFFFFFFF:%%s\n", setname, match.addr, pokevalue)
|
||||||
manager:machine():popmessage(string.format(_("Default name is %s"), cheat_save.name))
|
manager:machine():popmessage(string.format(_("Default name is %s"), cheat_save.name))
|
||||||
return true
|
return true
|
||||||
else
|
else
|
||||||
@ -1026,7 +1026,7 @@ function cheatfind.startplugin()
|
|||||||
match.mode = 1
|
match.mode = 1
|
||||||
end
|
end
|
||||||
local modes = { _("Test"), _("Write"), _("Watch") }
|
local modes = { _("Test"), _("Write"), _("Watch") }
|
||||||
local m = { string.format("%08x" .. bitwidth .. bitwidth, match.addr, match.oldval,
|
local m = { string.format("%08x" .. bitwidth .. bitwidth, match.addr, match.oldval,
|
||||||
match.newval), modes[match.mode], 0 }
|
match.newval), modes[match.mode], 0 }
|
||||||
menu_lim(match.mode, 1, #modes, m)
|
menu_lim(match.mode, 1, #modes, m)
|
||||||
local function f(event)
|
local function f(event)
|
||||||
@ -1081,12 +1081,12 @@ function cheatfind.startplugin()
|
|||||||
local height = mame_manager:ui():get_line_height()
|
local height = mame_manager:ui():get_line_height()
|
||||||
for num, watch in ipairs(watches) do
|
for num, watch in ipairs(watches) do
|
||||||
screen:draw_text("left", num * height, string.format(watch.format, watch.addr, watch.func()))
|
screen:draw_text("left", num * height, string.format(watch.format, watch.addr, watch.func()))
|
||||||
end
|
end
|
||||||
if tabbed_out and manager:ui():is_menu_active() then
|
if tabbed_out and manager:ui():is_menu_active() then
|
||||||
emu.pause()
|
emu.pause()
|
||||||
menu_is_showing = true
|
menu_is_showing = true
|
||||||
tabbed_out = false
|
tabbed_out = false
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
emu.register_periodic(function ()
|
emu.register_periodic(function ()
|
||||||
if menu_is_showing and not manager:ui():is_menu_active() then
|
if menu_is_showing and not manager:ui():is_menu_active() then
|
||||||
@ -1094,7 +1094,7 @@ function cheatfind.startplugin()
|
|||||||
menu_is_showing = false
|
menu_is_showing = false
|
||||||
tabbed_out = true
|
tabbed_out = true
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
return exports
|
return exports
|
||||||
|
@ -80,7 +80,7 @@ DEFINE_DEVICE_TYPE(ACORN_BUS, acorn_bus_device, "acorn_bus", "Acorn Bus")
|
|||||||
|
|
||||||
acorn_bus_device::acorn_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
acorn_bus_device::acorn_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||||
: device_t(mconfig, ACORN_BUS, tag, owner, clock)
|
: device_t(mconfig, ACORN_BUS, tag, owner, clock)
|
||||||
, m_maincpu(*this, finder_base::DUMMY_TAG)
|
, m_space(*this, finder_base::DUMMY_TAG, -1)
|
||||||
, m_out_irq_cb(*this)
|
, m_out_irq_cb(*this)
|
||||||
, m_out_nmi_cb(*this)
|
, m_out_nmi_cb(*this)
|
||||||
{
|
{
|
||||||
|
@ -64,11 +64,11 @@ public:
|
|||||||
acorn_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
acorn_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||||
|
|
||||||
// inline configuration
|
// inline configuration
|
||||||
template <typename T> void set_cputag(T &&tag) { m_maincpu.set_tag(std::forward<T>(tag)); }
|
template <typename T> void set_space(T &&tag, int spacenum) { m_space.set_tag(std::forward<T>(tag), spacenum); }
|
||||||
auto out_irq_callback() { return m_out_irq_cb.bind(); }
|
auto out_irq_callback() { return m_out_irq_cb.bind(); }
|
||||||
auto out_nmi_callback() { return m_out_nmi_cb.bind(); }
|
auto out_nmi_callback() { return m_out_nmi_cb.bind(); }
|
||||||
|
|
||||||
address_space &memspace() const { return m_maincpu->space(AS_PROGRAM); }
|
address_space &memspace() const { return *m_space; }
|
||||||
|
|
||||||
DECLARE_WRITE_LINE_MEMBER(irq_w);
|
DECLARE_WRITE_LINE_MEMBER(irq_w);
|
||||||
DECLARE_WRITE_LINE_MEMBER(nmi_w);
|
DECLARE_WRITE_LINE_MEMBER(nmi_w);
|
||||||
@ -81,7 +81,7 @@ protected:
|
|||||||
virtual void device_reset() override;
|
virtual void device_reset() override;
|
||||||
|
|
||||||
// internal state
|
// internal state
|
||||||
required_device<cpu_device> m_maincpu;
|
required_address_space m_space;
|
||||||
|
|
||||||
devcb_write_line m_out_irq_cb;
|
devcb_write_line m_out_irq_cb;
|
||||||
devcb_write_line m_out_nmi_cb;
|
devcb_write_line m_out_nmi_cb;
|
||||||
|
@ -231,8 +231,8 @@ READ16_MEMBER( buddha_device::ide_0_interrupt_r )
|
|||||||
|
|
||||||
data = m_ide_0_interrupt << 15;
|
data = m_ide_0_interrupt << 15;
|
||||||
|
|
||||||
// if (VERBOSE)
|
// if (VERBOSE)
|
||||||
// logerror("ide_0_interrupt_r %04x [mask = %04x]\n", data, mem_mask);
|
// logerror("ide_0_interrupt_r %04x [mask = %04x]\n", data, mem_mask);
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
@ -243,8 +243,8 @@ READ16_MEMBER( buddha_device::ide_1_interrupt_r )
|
|||||||
|
|
||||||
data = m_ide_1_interrupt << 15;
|
data = m_ide_1_interrupt << 15;
|
||||||
|
|
||||||
// if (VERBOSE)
|
// if (VERBOSE)
|
||||||
// logerror("ide_1_interrupt_r %04x [mask = %04x]\n", data, mem_mask);
|
// logerror("ide_1_interrupt_r %04x [mask = %04x]\n", data, mem_mask);
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
@ -92,18 +92,18 @@ void bbc_1mhzbus_slot_device::device_reset()
|
|||||||
// read
|
// read
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
READ8_MEMBER(bbc_1mhzbus_slot_device::fred_r)
|
uint8_t bbc_1mhzbus_slot_device::fred_r(offs_t offset)
|
||||||
{
|
{
|
||||||
if (m_card)
|
if (m_card)
|
||||||
return m_card->fred_r(space, offset);
|
return m_card->fred_r(offset);
|
||||||
else
|
else
|
||||||
return 0xff;
|
return 0xff;
|
||||||
}
|
}
|
||||||
|
|
||||||
READ8_MEMBER(bbc_1mhzbus_slot_device::jim_r)
|
uint8_t bbc_1mhzbus_slot_device::jim_r(offs_t offset)
|
||||||
{
|
{
|
||||||
if (m_card)
|
if (m_card)
|
||||||
return m_card->jim_r(space, offset);
|
return m_card->jim_r(offset);
|
||||||
else
|
else
|
||||||
return 0xff;
|
return 0xff;
|
||||||
}
|
}
|
||||||
@ -112,16 +112,16 @@ READ8_MEMBER(bbc_1mhzbus_slot_device::jim_r)
|
|||||||
// write
|
// write
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_1mhzbus_slot_device::fred_w)
|
void bbc_1mhzbus_slot_device::fred_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
if (m_card)
|
if (m_card)
|
||||||
m_card->fred_w(space, offset, data);
|
m_card->fred_w(offset, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_1mhzbus_slot_device::jim_w)
|
void bbc_1mhzbus_slot_device::jim_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
if (m_card)
|
if (m_card)
|
||||||
m_card->jim_w(space, offset, data);
|
m_card->jim_w(offset, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
@ -107,10 +107,10 @@ public:
|
|||||||
auto irq_handler() { return m_irq_handler.bind(); }
|
auto irq_handler() { return m_irq_handler.bind(); }
|
||||||
auto nmi_handler() { return m_nmi_handler.bind(); }
|
auto nmi_handler() { return m_nmi_handler.bind(); }
|
||||||
|
|
||||||
virtual DECLARE_READ8_MEMBER(fred_r);
|
virtual uint8_t fred_r(offs_t offset);
|
||||||
virtual DECLARE_WRITE8_MEMBER(fred_w);
|
virtual void fred_w(offs_t offset, uint8_t data);
|
||||||
virtual DECLARE_READ8_MEMBER(jim_r);
|
virtual uint8_t jim_r(offs_t offset);
|
||||||
virtual DECLARE_WRITE8_MEMBER(jim_w);
|
virtual void jim_w(offs_t offset, uint8_t data);
|
||||||
|
|
||||||
DECLARE_WRITE_LINE_MEMBER( irq_w ) { m_irq_handler(state); }
|
DECLARE_WRITE_LINE_MEMBER( irq_w ) { m_irq_handler(state); }
|
||||||
DECLARE_WRITE_LINE_MEMBER( nmi_w ) { m_nmi_handler(state); }
|
DECLARE_WRITE_LINE_MEMBER( nmi_w ) { m_nmi_handler(state); }
|
||||||
@ -134,10 +134,10 @@ private:
|
|||||||
class device_bbc_1mhzbus_interface : public device_slot_card_interface
|
class device_bbc_1mhzbus_interface : public device_slot_card_interface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual DECLARE_READ8_MEMBER(fred_r) { return 0xff; }
|
virtual uint8_t fred_r(offs_t offset) { return 0xff; }
|
||||||
virtual DECLARE_WRITE8_MEMBER(fred_w) { }
|
virtual void fred_w(offs_t offset, uint8_t data) { }
|
||||||
virtual DECLARE_READ8_MEMBER(jim_r) { return 0xff; }
|
virtual uint8_t jim_r(offs_t offset) { return 0xff; }
|
||||||
virtual DECLARE_WRITE8_MEMBER(jim_w) { }
|
virtual void jim_w(offs_t offset, uint8_t data) { }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
device_bbc_1mhzbus_interface(const machine_config &mconfig, device_t &device);
|
device_bbc_1mhzbus_interface(const machine_config &mconfig, device_t &device);
|
||||||
|
@ -65,7 +65,7 @@ void bbc_beebsid_device::device_start()
|
|||||||
// IMPLEMENTATION
|
// IMPLEMENTATION
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
READ8_MEMBER(bbc_beebsid_device::fred_r)
|
uint8_t bbc_beebsid_device::fred_r(offs_t offset)
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
@ -74,31 +74,31 @@ READ8_MEMBER(bbc_beebsid_device::fred_r)
|
|||||||
data = m_sid->read(offset);
|
data = m_sid->read(offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
data &= m_1mhzbus->fred_r(space, offset);
|
data &= m_1mhzbus->fred_r(offset);
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_beebsid_device::fred_w)
|
void bbc_beebsid_device::fred_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
if (offset >= 0x20 && offset < 0x40)
|
if (offset >= 0x20 && offset < 0x40)
|
||||||
{
|
{
|
||||||
m_sid->write(offset, data);
|
m_sid->write(offset, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_1mhzbus->fred_w(space, offset, data);
|
m_1mhzbus->fred_w(offset, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
READ8_MEMBER(bbc_beebsid_device::jim_r)
|
uint8_t bbc_beebsid_device::jim_r(offs_t offset)
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
data &= m_1mhzbus->jim_r(space, offset);
|
data &= m_1mhzbus->jim_r(offset);
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_beebsid_device::jim_w)
|
void bbc_beebsid_device::jim_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
m_1mhzbus->jim_w(space, offset, data);
|
m_1mhzbus->jim_w(offset, data);
|
||||||
}
|
}
|
||||||
|
@ -34,10 +34,10 @@ protected:
|
|||||||
// optional information overrides
|
// optional information overrides
|
||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
|
|
||||||
virtual DECLARE_READ8_MEMBER(fred_r) override;
|
virtual uint8_t fred_r(offs_t offset) override;
|
||||||
virtual DECLARE_WRITE8_MEMBER(fred_w) override;
|
virtual void fred_w(offs_t offset, uint8_t data) override;
|
||||||
virtual DECLARE_READ8_MEMBER(jim_r) override;
|
virtual uint8_t jim_r(offs_t offset) override;
|
||||||
virtual DECLARE_WRITE8_MEMBER(jim_w) override;
|
virtual void jim_w(offs_t offset, uint8_t data) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
required_device<bbc_1mhzbus_slot_device> m_1mhzbus;
|
required_device<bbc_1mhzbus_slot_device> m_1mhzbus;
|
||||||
|
@ -98,7 +98,7 @@ void cfa3000_opt_device::device_start()
|
|||||||
// IMPLEMENTATION
|
// IMPLEMENTATION
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
READ8_MEMBER(cfa3000_opt_device::fred_r)
|
uint8_t cfa3000_opt_device::fred_r(offs_t offset)
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@ protected:
|
|||||||
// optional information overrides
|
// optional information overrides
|
||||||
virtual ioport_constructor device_input_ports() const override;
|
virtual ioport_constructor device_input_ports() const override;
|
||||||
|
|
||||||
virtual DECLARE_READ8_MEMBER(fred_r) override;
|
virtual uint8_t fred_r(offs_t offset) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
required_ioport m_opt;
|
required_ioport m_opt;
|
||||||
|
@ -81,7 +81,7 @@ void bbc_emrmidi_device::device_start()
|
|||||||
// IMPLEMENTATION
|
// IMPLEMENTATION
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
READ8_MEMBER(bbc_emrmidi_device::fred_r)
|
uint8_t bbc_emrmidi_device::fred_r(offs_t offset)
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ READ8_MEMBER(bbc_emrmidi_device::fred_r)
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_emrmidi_device::fred_w)
|
void bbc_emrmidi_device::fred_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
if (offset >= 0xf0 && offset < 0xf2)
|
if (offset >= 0xf0 && offset < 0xf2)
|
||||||
{
|
{
|
||||||
|
@ -36,8 +36,8 @@ protected:
|
|||||||
// optional information overrides
|
// optional information overrides
|
||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
|
|
||||||
virtual DECLARE_READ8_MEMBER(fred_r) override;
|
virtual uint8_t fred_r(offs_t offset) override;
|
||||||
virtual DECLARE_WRITE8_MEMBER(fred_w) override;
|
virtual void fred_w(offs_t offset, uint8_t data) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DECLARE_WRITE_LINE_MEMBER(write_acia_clock);
|
DECLARE_WRITE_LINE_MEMBER(write_acia_clock);
|
||||||
|
@ -197,7 +197,7 @@ void bbc_b488_device::device_start()
|
|||||||
// IMPLEMENTATION
|
// IMPLEMENTATION
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
READ8_MEMBER(bbc_ieee488_device::fred_r)
|
uint8_t bbc_ieee488_device::fred_r(offs_t offset)
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
@ -206,37 +206,37 @@ READ8_MEMBER(bbc_ieee488_device::fred_r)
|
|||||||
data = m_tms9914->read(offset & 0x07);
|
data = m_tms9914->read(offset & 0x07);
|
||||||
}
|
}
|
||||||
|
|
||||||
data &= m_1mhzbus->fred_r(space, offset);
|
data &= m_1mhzbus->fred_r(offset);
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_ieee488_device::fred_w)
|
void bbc_ieee488_device::fred_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
if (offset >= 0x20 && offset < 0x28)
|
if (offset >= 0x20 && offset < 0x28)
|
||||||
{
|
{
|
||||||
m_tms9914->write(offset & 0x07, data);
|
m_tms9914->write(offset & 0x07, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_1mhzbus->fred_w(space, offset, data);
|
m_1mhzbus->fred_w(offset, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
READ8_MEMBER(bbc_ieee488_device::jim_r)
|
uint8_t bbc_ieee488_device::jim_r(offs_t offset)
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
data &= m_1mhzbus->jim_r(space, offset);
|
data &= m_1mhzbus->jim_r(offset);
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_ieee488_device::jim_w)
|
void bbc_ieee488_device::jim_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
m_1mhzbus->jim_w(space, offset, data);
|
m_1mhzbus->jim_w(offset, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
READ8_MEMBER(bbc_b488_device::fred_r)
|
uint8_t bbc_b488_device::fred_r(offs_t offset)
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
@ -248,7 +248,7 @@ READ8_MEMBER(bbc_b488_device::fred_r)
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_b488_device::fred_w)
|
void bbc_b488_device::fred_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
if (offset >= 0x20 && offset < 0x28)
|
if (offset >= 0x20 && offset < 0x28)
|
||||||
{
|
{
|
||||||
@ -257,7 +257,7 @@ WRITE8_MEMBER(bbc_b488_device::fred_w)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//READ8_MEMBER(bbc_procyon_device::fred_r)
|
//uint8_t bbc_procyon_device::fred_r(offs_t offset)
|
||||||
//{
|
//{
|
||||||
//uint8_t data = 0xff;
|
//uint8_t data = 0xff;
|
||||||
|
|
||||||
@ -269,7 +269,7 @@ WRITE8_MEMBER(bbc_b488_device::fred_w)
|
|||||||
//return data;
|
//return data;
|
||||||
//}
|
//}
|
||||||
|
|
||||||
//WRITE8_MEMBER(bbc_procyon_device::fred_w)
|
//void bbc_procyon_device::fred_w(offs_t offset, uint8_t data)
|
||||||
//{
|
//{
|
||||||
//if (offset >= 0x20 && offset < 0x28)
|
//if (offset >= 0x20 && offset < 0x28)
|
||||||
//{
|
//{
|
||||||
|
@ -42,10 +42,10 @@ protected:
|
|||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||||
|
|
||||||
virtual DECLARE_READ8_MEMBER(fred_r) override;
|
virtual uint8_t fred_r(offs_t offset) override;
|
||||||
virtual DECLARE_WRITE8_MEMBER(fred_w) override;
|
virtual void fred_w(offs_t offset, uint8_t data) override;
|
||||||
virtual DECLARE_READ8_MEMBER(jim_r) override;
|
virtual uint8_t jim_r(offs_t offset) override;
|
||||||
virtual DECLARE_WRITE8_MEMBER(jim_w) override;
|
virtual void jim_w(offs_t offset, uint8_t data) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
required_device<ieee488_device> m_ieee;
|
required_device<ieee488_device> m_ieee;
|
||||||
@ -69,8 +69,8 @@ protected:
|
|||||||
// optional information overrides
|
// optional information overrides
|
||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
|
|
||||||
virtual DECLARE_READ8_MEMBER(fred_r) override;
|
virtual uint8_t fred_r(offs_t offset) override;
|
||||||
virtual DECLARE_WRITE8_MEMBER(fred_w) override;
|
virtual void fred_w(offs_t offset, uint8_t data) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
required_device<ieee488_device> m_ieee;
|
required_device<ieee488_device> m_ieee;
|
||||||
@ -94,8 +94,8 @@ private:
|
|||||||
// virtual void device_add_mconfig(machine_config &config) override;
|
// virtual void device_add_mconfig(machine_config &config) override;
|
||||||
// virtual const tiny_rom_entry *device_rom_region() const override;
|
// virtual const tiny_rom_entry *device_rom_region() const override;
|
||||||
//
|
//
|
||||||
// virtual DECLARE_READ8_MEMBER(fred_r) override;
|
// virtual uint8_t fred_r(offs_t offset) override;
|
||||||
// virtual DECLARE_WRITE8_MEMBER(fred_w) override;
|
// virtual void fred_w(offs_t offset, uint8_t data) override;
|
||||||
//
|
//
|
||||||
//private:
|
//private:
|
||||||
// required_device<ieee488_device> m_ieee;
|
// required_device<ieee488_device> m_ieee;
|
||||||
|
@ -91,7 +91,7 @@ void bbc_m2000_device::device_start()
|
|||||||
// IMPLEMENTATION
|
// IMPLEMENTATION
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
READ8_MEMBER(bbc_m2000_device::fred_r)
|
uint8_t bbc_m2000_device::fred_r(offs_t offset)
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
@ -113,12 +113,12 @@ READ8_MEMBER(bbc_m2000_device::fred_r)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
data &= m_1mhzbus->fred_r(space, offset);
|
data &= m_1mhzbus->fred_r(offset);
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_m2000_device::fred_w)
|
void bbc_m2000_device::fred_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
if (offset >= 0x08 && offset < 0x10)
|
if (offset >= 0x08 && offset < 0x10)
|
||||||
{
|
{
|
||||||
@ -138,21 +138,21 @@ WRITE8_MEMBER(bbc_m2000_device::fred_w)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_1mhzbus->fred_w(space, offset, data);
|
m_1mhzbus->fred_w(offset, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
READ8_MEMBER(bbc_m2000_device::jim_r)
|
uint8_t bbc_m2000_device::jim_r(offs_t offset)
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
data &= m_1mhzbus->jim_r(space, offset);
|
data &= m_1mhzbus->jim_r(offset);
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_m2000_device::jim_w)
|
void bbc_m2000_device::jim_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
m_1mhzbus->jim_w(space, offset, data);
|
m_1mhzbus->jim_w(offset, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE_LINE_MEMBER(bbc_m2000_device::write_acia_clock)
|
WRITE_LINE_MEMBER(bbc_m2000_device::write_acia_clock)
|
||||||
|
@ -38,10 +38,10 @@ protected:
|
|||||||
// optional information overrides
|
// optional information overrides
|
||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
|
|
||||||
virtual DECLARE_READ8_MEMBER(fred_r) override;
|
virtual uint8_t fred_r(offs_t offset) override;
|
||||||
virtual DECLARE_WRITE8_MEMBER(fred_w) override;
|
virtual void fred_w(offs_t offset, uint8_t data) override;
|
||||||
virtual DECLARE_READ8_MEMBER(jim_r) override;
|
virtual uint8_t jim_r(offs_t offset) override;
|
||||||
virtual DECLARE_WRITE8_MEMBER(jim_w) override;
|
virtual void jim_w(offs_t offset, uint8_t data) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DECLARE_WRITE_LINE_MEMBER(write_acia_clock);
|
DECLARE_WRITE_LINE_MEMBER(write_acia_clock);
|
||||||
|
@ -159,7 +159,7 @@ void bbc_opusa_device::device_start()
|
|||||||
// IMPLEMENTATION
|
// IMPLEMENTATION
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
READ8_MEMBER(bbc_opus3_device::fred_r)
|
uint8_t bbc_opus3_device::fred_r(offs_t offset)
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
@ -175,7 +175,7 @@ READ8_MEMBER(bbc_opus3_device::fred_r)
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_opus3_device::fred_w)
|
void bbc_opus3_device::fred_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
floppy_image_device *floppy = nullptr;
|
floppy_image_device *floppy = nullptr;
|
||||||
|
|
||||||
@ -219,7 +219,7 @@ WRITE_LINE_MEMBER(bbc_opus3_device::fdc_drq_w)
|
|||||||
m_slot->nmi_w((m_fdc_drq && m_fdc_ie) ? ASSERT_LINE : CLEAR_LINE);
|
m_slot->nmi_w((m_fdc_drq && m_fdc_ie) ? ASSERT_LINE : CLEAR_LINE);
|
||||||
}
|
}
|
||||||
|
|
||||||
READ8_MEMBER(bbc_opus3_device::jim_r)
|
uint8_t bbc_opus3_device::jim_r(offs_t offset)
|
||||||
{
|
{
|
||||||
if ((m_ramdisk_page << 8) < m_ramdisk->size())
|
if ((m_ramdisk_page << 8) < m_ramdisk->size())
|
||||||
return m_ramdisk->read((m_ramdisk_page << 8) + offset);
|
return m_ramdisk->read((m_ramdisk_page << 8) + offset);
|
||||||
@ -227,7 +227,7 @@ READ8_MEMBER(bbc_opus3_device::jim_r)
|
|||||||
return 0xff;
|
return 0xff;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_opus3_device::jim_w)
|
void bbc_opus3_device::jim_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
if ((m_ramdisk_page << 8) < m_ramdisk->size())
|
if ((m_ramdisk_page << 8) < m_ramdisk->size())
|
||||||
m_ramdisk->write((m_ramdisk_page << 8) + offset, data);
|
m_ramdisk->write((m_ramdisk_page << 8) + offset, data);
|
||||||
|
@ -39,10 +39,10 @@ protected:
|
|||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||||
|
|
||||||
virtual DECLARE_READ8_MEMBER(fred_r) override;
|
virtual uint8_t fred_r(offs_t offset) override;
|
||||||
virtual DECLARE_WRITE8_MEMBER(fred_w) override;
|
virtual void fred_w(offs_t offset, uint8_t data) override;
|
||||||
virtual DECLARE_READ8_MEMBER(jim_r) override;
|
virtual uint8_t jim_r(offs_t offset) override;
|
||||||
virtual DECLARE_WRITE8_MEMBER(jim_w) override;
|
virtual void jim_w(offs_t offset, uint8_t data) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DECLARE_FLOPPY_FORMATS(floppy_formats);
|
DECLARE_FLOPPY_FORMATS(floppy_formats);
|
||||||
|
@ -69,7 +69,7 @@ void bbc_sprite_device::device_reset()
|
|||||||
// IMPLEMENTATION
|
// IMPLEMENTATION
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
READ8_MEMBER(bbc_sprite_device::fred_r)
|
uint8_t bbc_sprite_device::fred_r(offs_t offset)
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
@ -85,7 +85,7 @@ READ8_MEMBER(bbc_sprite_device::fred_r)
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_sprite_device::fred_w)
|
void bbc_sprite_device::fred_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
switch (offset)
|
switch (offset)
|
||||||
{
|
{
|
||||||
|
@ -34,8 +34,8 @@ protected:
|
|||||||
// optional information overrides
|
// optional information overrides
|
||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
|
|
||||||
virtual DECLARE_READ8_MEMBER(fred_r) override;
|
virtual uint8_t fred_r(offs_t offset) override;
|
||||||
virtual DECLARE_WRITE8_MEMBER(fred_w) override;
|
virtual void fred_w(offs_t offset, uint8_t data) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
required_device<tms9129_device> m_vdp;
|
required_device<tms9129_device> m_vdp;
|
||||||
|
@ -116,22 +116,22 @@ void bbc_mertec_device::upd7002_eoc(int data)
|
|||||||
|
|
||||||
READ8_MEMBER(bbc_mertec_device::fred_r)
|
READ8_MEMBER(bbc_mertec_device::fred_r)
|
||||||
{
|
{
|
||||||
return m_2mhzbus->fred_r(space, offset);
|
return m_2mhzbus->fred_r(offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_mertec_device::fred_w)
|
WRITE8_MEMBER(bbc_mertec_device::fred_w)
|
||||||
{
|
{
|
||||||
m_2mhzbus->fred_w(space, offset, data);
|
m_2mhzbus->fred_w(offset, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
READ8_MEMBER(bbc_mertec_device::jim_r)
|
READ8_MEMBER(bbc_mertec_device::jim_r)
|
||||||
{
|
{
|
||||||
return m_2mhzbus->jim_r(space, offset);
|
return m_2mhzbus->jim_r(offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_mertec_device::jim_w)
|
WRITE8_MEMBER(bbc_mertec_device::jim_w)
|
||||||
{
|
{
|
||||||
m_2mhzbus->jim_w(space, offset, data);
|
m_2mhzbus->jim_w(offset, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
READ8_MEMBER(bbc_mertec_device::sheila_r)
|
READ8_MEMBER(bbc_mertec_device::sheila_r)
|
||||||
|
@ -92,10 +92,10 @@ void bbc_tube_slot_device::device_reset()
|
|||||||
// host_r
|
// host_r
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
READ8_MEMBER(bbc_tube_slot_device::host_r)
|
uint8_t bbc_tube_slot_device::host_r(offs_t offset)
|
||||||
{
|
{
|
||||||
if (m_card)
|
if (m_card)
|
||||||
return m_card->host_r(space, offset);
|
return m_card->host_r(offset);
|
||||||
else
|
else
|
||||||
return 0xfe;
|
return 0xfe;
|
||||||
}
|
}
|
||||||
@ -104,10 +104,10 @@ READ8_MEMBER(bbc_tube_slot_device::host_r)
|
|||||||
// host_w
|
// host_w
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_tube_slot_device::host_w)
|
void bbc_tube_slot_device::host_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
if (m_card)
|
if (m_card)
|
||||||
m_card->host_w(space, offset, data);
|
m_card->host_w(offset, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -66,8 +66,8 @@ public:
|
|||||||
// callbacks
|
// callbacks
|
||||||
auto irq_handler() { return m_irq_handler.bind(); }
|
auto irq_handler() { return m_irq_handler.bind(); }
|
||||||
|
|
||||||
DECLARE_READ8_MEMBER( host_r );
|
uint8_t host_r(offs_t offset);
|
||||||
DECLARE_WRITE8_MEMBER( host_w );
|
void host_w(offs_t offset, uint8_t data);
|
||||||
|
|
||||||
DECLARE_WRITE_LINE_MEMBER( irq_w ) { m_irq_handler(state); }
|
DECLARE_WRITE_LINE_MEMBER( irq_w ) { m_irq_handler(state); }
|
||||||
|
|
||||||
@ -90,8 +90,8 @@ class device_bbc_tube_interface : public device_slot_card_interface
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// reading and writing
|
// reading and writing
|
||||||
virtual DECLARE_READ8_MEMBER(host_r) { return 0xfe; }
|
virtual uint8_t host_r(offs_t offset) { return 0xfe; }
|
||||||
virtual DECLARE_WRITE8_MEMBER(host_w) { }
|
virtual void host_w(offs_t offset, uint8_t data) { }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
device_bbc_tube_interface(const machine_config &mconfig, device_t &device);
|
device_bbc_tube_interface(const machine_config &mconfig, device_t &device);
|
||||||
|
@ -168,27 +168,27 @@ void bbc_tube_6502_device::device_reset()
|
|||||||
// IMPLEMENTATION
|
// IMPLEMENTATION
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
READ8_MEMBER(bbc_tube_6502_device::host_r)
|
uint8_t bbc_tube_6502_device::host_r(offs_t offset)
|
||||||
{
|
{
|
||||||
return m_ula->host_r(space, offset);
|
return m_ula->host_r(offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_tube_6502_device::host_w)
|
void bbc_tube_6502_device::host_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
m_ula->host_w(space, offset, data);
|
m_ula->host_w(offset, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
READ8_MEMBER(bbc_tube_6502_device::tube_r)
|
uint8_t bbc_tube_6502_device::tube_r(offs_t offset)
|
||||||
{
|
{
|
||||||
// Disable ROM on first access
|
// Disable ROM on first access
|
||||||
if (!machine().side_effects_disabled())
|
if (!machine().side_effects_disabled())
|
||||||
m_bankdev->set_bank(1);
|
m_bankdev->set_bank(1);
|
||||||
|
|
||||||
return m_ula->parasite_r(space, offset);
|
return m_ula->parasite_r(offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_tube_6502_device::tube_w)
|
void bbc_tube_6502_device::tube_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
m_ula->parasite_w(space, offset, data);
|
m_ula->parasite_w(offset, data);
|
||||||
}
|
}
|
||||||
|
@ -52,11 +52,11 @@ protected:
|
|||||||
|
|
||||||
void add_common_devices(machine_config &config);
|
void add_common_devices(machine_config &config);
|
||||||
|
|
||||||
virtual DECLARE_READ8_MEMBER( host_r ) override;
|
virtual uint8_t host_r(offs_t offset) override;
|
||||||
virtual DECLARE_WRITE8_MEMBER( host_w ) override;
|
virtual void host_w(offs_t offset, uint8_t data) override;
|
||||||
|
|
||||||
virtual DECLARE_READ8_MEMBER( tube_r );
|
virtual uint8_t tube_r(offs_t offset);
|
||||||
virtual DECLARE_WRITE8_MEMBER( tube_w );
|
virtual void tube_w(offs_t offset, uint8_t data);
|
||||||
|
|
||||||
required_device<cpu_device> m_maincpu;
|
required_device<cpu_device> m_maincpu;
|
||||||
required_device<address_map_bank_device> m_bankdev;
|
required_device<address_map_bank_device> m_bankdev;
|
||||||
|
@ -126,12 +126,12 @@ void bbc_tube_80186_device::device_reset()
|
|||||||
// IMPLEMENTATION
|
// IMPLEMENTATION
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
READ8_MEMBER(bbc_tube_80186_device::host_r)
|
uint8_t bbc_tube_80186_device::host_r(offs_t offset)
|
||||||
{
|
{
|
||||||
return m_ula->host_r(space, offset);
|
return m_ula->host_r(offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_tube_80186_device::host_w)
|
void bbc_tube_80186_device::host_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
m_ula->host_w(space, offset, data);
|
m_ula->host_w(offset, data);
|
||||||
}
|
}
|
||||||
|
@ -40,8 +40,8 @@ protected:
|
|||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||||
|
|
||||||
virtual DECLARE_READ8_MEMBER( host_r ) override;
|
virtual uint8_t host_r(offs_t offset) override;
|
||||||
virtual DECLARE_WRITE8_MEMBER( host_w ) override;
|
virtual void host_w(offs_t offset, uint8_t data) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
required_device<i80186_cpu_device> m_i80186;
|
required_device<i80186_cpu_device> m_i80186;
|
||||||
|
@ -129,24 +129,25 @@ void bbc_tube_80286_device::device_reset()
|
|||||||
// IMPLEMENTATION
|
// IMPLEMENTATION
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
READ8_MEMBER(bbc_tube_80286_device::host_r)
|
uint8_t bbc_tube_80286_device::host_r(offs_t offset)
|
||||||
{
|
{
|
||||||
return m_ula->host_r(space, offset);
|
return m_ula->host_r(offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_tube_80286_device::host_w)
|
void bbc_tube_80286_device::host_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
m_ula->host_w(space, offset, data);
|
m_ula->host_w(offset, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
READ8_MEMBER(bbc_tube_80286_device::disable_boot_rom)
|
uint8_t bbc_tube_80286_device::disable_boot_rom()
|
||||||
{
|
{
|
||||||
m_i80286->space(AS_PROGRAM).install_ram(0xc0000, 0xfffff, m_ram->pointer() + 0xc0000);
|
if (!machine().side_effects_disabled())
|
||||||
|
m_i80286->space(AS_PROGRAM).install_ram(0xc0000, 0xfffff, m_ram->pointer() + 0xc0000);
|
||||||
|
|
||||||
return 0xff;
|
return 0xff;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_tube_80286_device::irq_latch_w)
|
void bbc_tube_80286_device::irq_latch_w(uint8_t data)
|
||||||
{
|
{
|
||||||
m_irq_latch = data;
|
m_irq_latch = data;
|
||||||
}
|
}
|
||||||
|
@ -38,8 +38,8 @@ protected:
|
|||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||||
|
|
||||||
virtual DECLARE_READ8_MEMBER( host_r ) override;
|
virtual uint8_t host_r(offs_t offset) override;
|
||||||
virtual DECLARE_WRITE8_MEMBER( host_w ) override;
|
virtual void host_w(offs_t offset, uint8_t data) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
uint8_t m_irq_latch;
|
uint8_t m_irq_latch;
|
||||||
@ -51,8 +51,8 @@ private:
|
|||||||
required_device<ram_device> m_ram;
|
required_device<ram_device> m_ram;
|
||||||
required_memory_region m_bootstrap;
|
required_memory_region m_bootstrap;
|
||||||
|
|
||||||
DECLARE_READ8_MEMBER( disable_boot_rom );
|
uint8_t disable_boot_rom();
|
||||||
DECLARE_WRITE8_MEMBER( irq_latch_w );
|
void irq_latch_w(uint8_t data);
|
||||||
|
|
||||||
void tube_80286_io(address_map &map);
|
void tube_80286_io(address_map &map);
|
||||||
void tube_80286_mem(address_map &map);
|
void tube_80286_mem(address_map &map);
|
||||||
|
@ -120,18 +120,18 @@ void bbc_tube_arm_device::device_reset()
|
|||||||
// IMPLEMENTATION
|
// IMPLEMENTATION
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
READ8_MEMBER(bbc_tube_arm_device::host_r)
|
uint8_t bbc_tube_arm_device::host_r(offs_t offset)
|
||||||
{
|
{
|
||||||
return m_ula->host_r(space, offset);
|
return m_ula->host_r(offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_tube_arm_device::host_w)
|
void bbc_tube_arm_device::host_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
m_ula->host_w(space, offset, data);
|
m_ula->host_w(offset, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
READ8_MEMBER(bbc_tube_arm_device::ram_r)
|
uint8_t bbc_tube_arm_device::ram_r(offs_t offset)
|
||||||
{
|
{
|
||||||
uint8_t data;
|
uint8_t data;
|
||||||
|
|
||||||
@ -143,7 +143,7 @@ READ8_MEMBER(bbc_tube_arm_device::ram_r)
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_tube_arm_device::ram_w)
|
void bbc_tube_arm_device::ram_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
/* clear ROM select on first write */
|
/* clear ROM select on first write */
|
||||||
if (!machine().side_effects_disabled()) m_rom_select = false;
|
if (!machine().side_effects_disabled()) m_rom_select = false;
|
||||||
|
@ -38,8 +38,8 @@ protected:
|
|||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||||
|
|
||||||
virtual DECLARE_READ8_MEMBER( host_r ) override;
|
virtual uint8_t host_r(offs_t offset) override;
|
||||||
virtual DECLARE_WRITE8_MEMBER( host_w ) override;
|
virtual void host_w(offs_t offset, uint8_t data) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
required_device<arm_cpu_device> m_arm;
|
required_device<arm_cpu_device> m_arm;
|
||||||
@ -49,8 +49,8 @@ private:
|
|||||||
|
|
||||||
bool m_rom_select;
|
bool m_rom_select;
|
||||||
|
|
||||||
DECLARE_READ8_MEMBER( ram_r );
|
uint8_t ram_r(offs_t offset);
|
||||||
DECLARE_WRITE8_MEMBER( ram_w );
|
void ram_w(offs_t offset, uint8_t data);
|
||||||
|
|
||||||
void tube_arm_mem(address_map &map);
|
void tube_arm_mem(address_map &map);
|
||||||
};
|
};
|
||||||
|
@ -109,12 +109,12 @@ void bbc_tube_casper_device::device_start()
|
|||||||
// IMPLEMENTATION
|
// IMPLEMENTATION
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
READ8_MEMBER(bbc_tube_casper_device::host_r)
|
uint8_t bbc_tube_casper_device::host_r(offs_t offset)
|
||||||
{
|
{
|
||||||
return m_via6522_0->read(offset & 0xf);
|
return m_via6522_0->read(offset & 0xf);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_tube_casper_device::host_w)
|
void bbc_tube_casper_device::host_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
m_via6522_0->write(offset & 0xf, data);
|
m_via6522_0->write(offset & 0xf, data);
|
||||||
}
|
}
|
||||||
|
@ -36,8 +36,8 @@ protected:
|
|||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||||
|
|
||||||
virtual DECLARE_READ8_MEMBER( host_r ) override;
|
virtual uint8_t host_r(offs_t offset) override;
|
||||||
virtual DECLARE_WRITE8_MEMBER( host_w ) override;
|
virtual void host_w(offs_t offset, uint8_t data) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
required_device<cpu_device> m_m68000;
|
required_device<cpu_device> m_m68000;
|
||||||
|
@ -233,23 +233,23 @@ void bbc_tube_rc6502_device::device_reset()
|
|||||||
// IMPLEMENTATION
|
// IMPLEMENTATION
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
READ8_MEMBER(bbc_tube_rc6502_device::host_r)
|
uint8_t bbc_tube_rc6502_device::host_r(offs_t offset)
|
||||||
{
|
{
|
||||||
return m_ula->host_r(space, offset);
|
return m_ula->host_r(offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_tube_rc6502_device::host_w)
|
void bbc_tube_rc6502_device::host_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
m_ula->host_w(space, offset, data);
|
m_ula->host_w(offset, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
READ8_MEMBER(bbc_tube_rc6502_device::config_r)
|
uint8_t bbc_tube_rc6502_device::config_r()
|
||||||
{
|
{
|
||||||
return m_banknum;
|
return m_banknum;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_tube_rc6502_device::register_w)
|
void bbc_tube_rc6502_device::register_w(uint8_t data)
|
||||||
{
|
{
|
||||||
switch (data & 0x06)
|
switch (data & 0x06)
|
||||||
{
|
{
|
||||||
|
@ -47,11 +47,11 @@ protected:
|
|||||||
|
|
||||||
void add_common_devices(machine_config &config);
|
void add_common_devices(machine_config &config);
|
||||||
|
|
||||||
virtual DECLARE_READ8_MEMBER( host_r ) override;
|
virtual uint8_t host_r(offs_t offset) override;
|
||||||
virtual DECLARE_WRITE8_MEMBER( host_w ) override;
|
virtual void host_w(offs_t offset, uint8_t data) override;
|
||||||
|
|
||||||
DECLARE_READ8_MEMBER(config_r);
|
uint8_t config_r();
|
||||||
DECLARE_WRITE8_MEMBER(register_w);
|
void register_w(uint8_t data);
|
||||||
|
|
||||||
void tube_rc6502_bank(address_map &map);
|
void tube_rc6502_bank(address_map &map);
|
||||||
|
|
||||||
|
@ -134,18 +134,18 @@ void bbc_tube_z80_device::device_reset()
|
|||||||
// IMPLEMENTATION
|
// IMPLEMENTATION
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
READ8_MEMBER(bbc_tube_z80_device::host_r)
|
uint8_t bbc_tube_z80_device::host_r(offs_t offset)
|
||||||
{
|
{
|
||||||
return m_ula->host_r(space, offset);
|
return m_ula->host_r(offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_tube_z80_device::host_w)
|
void bbc_tube_z80_device::host_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
m_ula->host_w(space, offset, data);
|
m_ula->host_w(offset, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
READ8_MEMBER(bbc_tube_z80_device::opcode_r)
|
uint8_t bbc_tube_z80_device::opcode_r(offs_t offset)
|
||||||
{
|
{
|
||||||
if (!machine().side_effects_disabled())
|
if (!machine().side_effects_disabled())
|
||||||
{
|
{
|
||||||
@ -158,7 +158,7 @@ READ8_MEMBER(bbc_tube_z80_device::opcode_r)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
READ8_MEMBER(bbc_tube_z80_device::mem_r)
|
uint8_t bbc_tube_z80_device::mem_r(offs_t offset)
|
||||||
{
|
{
|
||||||
uint8_t data;
|
uint8_t data;
|
||||||
|
|
||||||
@ -170,7 +170,7 @@ READ8_MEMBER(bbc_tube_z80_device::mem_r)
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_tube_z80_device::mem_w)
|
void bbc_tube_z80_device::mem_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
m_ram->pointer()[offset] = data;
|
m_ram->pointer()[offset] = data;
|
||||||
}
|
}
|
||||||
|
@ -40,8 +40,8 @@ protected:
|
|||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||||
|
|
||||||
virtual DECLARE_READ8_MEMBER( host_r ) override;
|
virtual uint8_t host_r(offs_t offset) override;
|
||||||
virtual DECLARE_WRITE8_MEMBER( host_w ) override;
|
virtual void host_w(offs_t offset, uint8_t data) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
IRQ_CALLBACK_MEMBER( irq_callback );
|
IRQ_CALLBACK_MEMBER( irq_callback );
|
||||||
@ -54,9 +54,9 @@ private:
|
|||||||
|
|
||||||
bool m_rom_enabled;
|
bool m_rom_enabled;
|
||||||
|
|
||||||
DECLARE_READ8_MEMBER( mem_r );
|
uint8_t mem_r(offs_t offset);
|
||||||
DECLARE_WRITE8_MEMBER( mem_w );
|
void mem_w(offs_t offset, uint8_t data);
|
||||||
DECLARE_READ8_MEMBER( opcode_r );
|
uint8_t opcode_r(offs_t offset);
|
||||||
|
|
||||||
void tube_z80_fetch(address_map &map);
|
void tube_z80_fetch(address_map &map);
|
||||||
void tube_z80_io(address_map &map);
|
void tube_z80_io(address_map &map);
|
||||||
|
@ -146,12 +146,12 @@ void bbc_tube_zep100_device::device_reset()
|
|||||||
// IMPLEMENTATION
|
// IMPLEMENTATION
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
READ8_MEMBER(bbc_tube_zep100_device::host_r)
|
uint8_t bbc_tube_zep100_device::host_r(offs_t offset)
|
||||||
{
|
{
|
||||||
return m_via->read(offset & 0x0f);
|
return m_via->read(offset & 0x0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_tube_zep100_device::host_w)
|
void bbc_tube_zep100_device::host_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
if (offset & 0x10)
|
if (offset & 0x10)
|
||||||
m_z80->reset();
|
m_z80->reset();
|
||||||
@ -160,7 +160,7 @@ WRITE8_MEMBER(bbc_tube_zep100_device::host_w)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
READ8_MEMBER(bbc_tube_zep100_device::mem_r)
|
uint8_t bbc_tube_zep100_device::mem_r(offs_t offset)
|
||||||
{
|
{
|
||||||
uint8_t data;
|
uint8_t data;
|
||||||
|
|
||||||
@ -172,13 +172,13 @@ READ8_MEMBER(bbc_tube_zep100_device::mem_r)
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_tube_zep100_device::mem_w)
|
void bbc_tube_zep100_device::mem_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
m_ram->pointer()[offset] = data;
|
m_ram->pointer()[offset] = data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
READ8_MEMBER(bbc_tube_zep100_device::io_r)
|
uint8_t bbc_tube_zep100_device::io_r(offs_t offset)
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
@ -190,23 +190,23 @@ READ8_MEMBER(bbc_tube_zep100_device::io_r)
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_tube_zep100_device::io_w)
|
void bbc_tube_zep100_device::io_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
m_ppi->write(offset & 0x03, data);
|
m_ppi->write(offset & 0x03, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_tube_zep100_device::via_pb_w)
|
void bbc_tube_zep100_device::via_pb_w(uint8_t data)
|
||||||
{
|
{
|
||||||
m_port_b = data;
|
m_port_b = data;
|
||||||
}
|
}
|
||||||
|
|
||||||
READ8_MEMBER(bbc_tube_zep100_device::ppi_pb_r)
|
uint8_t bbc_tube_zep100_device::ppi_pb_r()
|
||||||
{
|
{
|
||||||
return m_port_b;
|
return m_port_b;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(bbc_tube_zep100_device::ppi_pc_w)
|
void bbc_tube_zep100_device::ppi_pc_w(uint8_t data)
|
||||||
{
|
{
|
||||||
m_via->write_ca1(BIT(data, 7));
|
m_via->write_ca1(BIT(data, 7));
|
||||||
m_via->write_cb1(BIT(data, 1));
|
m_via->write_cb1(BIT(data, 1));
|
||||||
|
@ -43,8 +43,8 @@ protected:
|
|||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||||
|
|
||||||
virtual DECLARE_READ8_MEMBER( host_r ) override;
|
virtual uint8_t host_r(offs_t offset) override;
|
||||||
virtual DECLARE_WRITE8_MEMBER( host_w ) override;
|
virtual void host_w(offs_t offset, uint8_t data) override;
|
||||||
|
|
||||||
bool m_rom_enabled;
|
bool m_rom_enabled;
|
||||||
|
|
||||||
@ -57,14 +57,14 @@ private:
|
|||||||
|
|
||||||
uint8_t m_port_b;
|
uint8_t m_port_b;
|
||||||
|
|
||||||
DECLARE_READ8_MEMBER( mem_r );
|
uint8_t mem_r(offs_t offset);
|
||||||
DECLARE_WRITE8_MEMBER( mem_w );
|
void mem_w(offs_t offset, uint8_t data);
|
||||||
DECLARE_READ8_MEMBER( io_r );
|
uint8_t io_r(offs_t offset);
|
||||||
DECLARE_WRITE8_MEMBER( io_w );
|
void io_w(offs_t offset, uint8_t data);
|
||||||
|
|
||||||
DECLARE_WRITE8_MEMBER( via_pb_w );
|
void via_pb_w(uint8_t data);
|
||||||
DECLARE_READ8_MEMBER( ppi_pb_r );
|
uint8_t ppi_pb_r();
|
||||||
DECLARE_WRITE8_MEMBER( ppi_pc_w );
|
void ppi_pc_w(uint8_t data);
|
||||||
|
|
||||||
void tube_zep100_io(address_map &map);
|
void tube_zep100_io(address_map &map);
|
||||||
void tube_zep100_mem(address_map &map);
|
void tube_zep100_mem(address_map &map);
|
||||||
|
@ -95,11 +95,11 @@ void bw2_expansion_slot_device::device_reset()
|
|||||||
// cd_r - cartridge data read
|
// cd_r - cartridge data read
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
uint8_t bw2_expansion_slot_device::cd_r(address_space &space, offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6)
|
uint8_t bw2_expansion_slot_device::cd_r(offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6)
|
||||||
{
|
{
|
||||||
if (m_cart != nullptr)
|
if (m_cart != nullptr)
|
||||||
{
|
{
|
||||||
data = m_cart->bw2_cd_r(space, offset, data, ram2, ram3, ram4, ram5, ram6);
|
data = m_cart->bw2_cd_r(offset, data, ram2, ram3, ram4, ram5, ram6);
|
||||||
}
|
}
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
@ -110,11 +110,11 @@ uint8_t bw2_expansion_slot_device::cd_r(address_space &space, offs_t offset, uin
|
|||||||
// cd_w - cartridge data write
|
// cd_w - cartridge data write
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void bw2_expansion_slot_device::cd_w(address_space &space, offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6)
|
void bw2_expansion_slot_device::cd_w(offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6)
|
||||||
{
|
{
|
||||||
if (m_cart != nullptr)
|
if (m_cart != nullptr)
|
||||||
{
|
{
|
||||||
m_cart->bw2_cd_w(space, offset, data, ram2, ram3, ram4, ram5, ram6);
|
m_cart->bw2_cd_w(offset, data, ram2, ram3, ram4, ram5, ram6);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -123,13 +123,13 @@ void bw2_expansion_slot_device::cd_w(address_space &space, offs_t offset, uint8_
|
|||||||
// slot_r - slot read
|
// slot_r - slot read
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
READ8_MEMBER( bw2_expansion_slot_device::slot_r )
|
uint8_t bw2_expansion_slot_device::slot_r(offs_t offset)
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
if (m_cart != nullptr)
|
if (m_cart != nullptr)
|
||||||
{
|
{
|
||||||
data = m_cart->bw2_slot_r(space, offset);
|
data = m_cart->bw2_slot_r(offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
@ -140,11 +140,11 @@ READ8_MEMBER( bw2_expansion_slot_device::slot_r )
|
|||||||
// slot_w - slot write
|
// slot_w - slot write
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
WRITE8_MEMBER( bw2_expansion_slot_device::slot_w )
|
void bw2_expansion_slot_device::slot_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
if (m_cart != nullptr)
|
if (m_cart != nullptr)
|
||||||
{
|
{
|
||||||
m_cart->bw2_slot_w(space, offset, data);
|
m_cart->bw2_slot_w(offset, data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -153,13 +153,13 @@ WRITE8_MEMBER( bw2_expansion_slot_device::slot_w )
|
|||||||
// modsel_r - modsel read
|
// modsel_r - modsel read
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
READ8_MEMBER( bw2_expansion_slot_device::modsel_r )
|
uint8_t bw2_expansion_slot_device::modsel_r(offs_t offset)
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
if (m_cart != nullptr)
|
if (m_cart != nullptr)
|
||||||
{
|
{
|
||||||
data = m_cart->bw2_modsel_r(space, offset);
|
data = m_cart->bw2_modsel_r(offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
@ -170,11 +170,11 @@ READ8_MEMBER( bw2_expansion_slot_device::modsel_r )
|
|||||||
// modsel_w - modsel write
|
// modsel_w - modsel write
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
WRITE8_MEMBER( bw2_expansion_slot_device::modsel_w )
|
void bw2_expansion_slot_device::modsel_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
if (m_cart != nullptr)
|
if (m_cart != nullptr)
|
||||||
{
|
{
|
||||||
m_cart->bw2_modsel_w(space, offset, data);
|
m_cart->bw2_modsel_w(offset, data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,14 +76,14 @@ public:
|
|||||||
virtual ~bw2_expansion_slot_device();
|
virtual ~bw2_expansion_slot_device();
|
||||||
|
|
||||||
// computer interface
|
// computer interface
|
||||||
uint8_t cd_r(address_space &space, offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6);
|
uint8_t cd_r(offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6);
|
||||||
void cd_w(address_space &space, offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6);
|
void cd_w(offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6);
|
||||||
|
|
||||||
DECLARE_READ8_MEMBER( slot_r );
|
uint8_t slot_r(offs_t offset);
|
||||||
DECLARE_WRITE8_MEMBER( slot_w );
|
void slot_w(offs_t offset, uint8_t data);
|
||||||
|
|
||||||
DECLARE_READ8_MEMBER( modsel_r );
|
uint8_t modsel_r(offs_t offset);
|
||||||
DECLARE_WRITE8_MEMBER( modsel_w );
|
void modsel_w(offs_t offset, uint8_t data);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// device-level overrides
|
// device-level overrides
|
||||||
@ -103,14 +103,14 @@ public:
|
|||||||
// construction/destruction
|
// construction/destruction
|
||||||
virtual ~device_bw2_expansion_slot_interface();
|
virtual ~device_bw2_expansion_slot_interface();
|
||||||
|
|
||||||
virtual uint8_t bw2_cd_r(address_space &space, offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6) { return data; };
|
virtual uint8_t bw2_cd_r(offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6) { return data; }
|
||||||
virtual void bw2_cd_w(address_space &space, offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6) { };
|
virtual void bw2_cd_w(offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6) { }
|
||||||
|
|
||||||
virtual uint8_t bw2_slot_r(address_space &space, offs_t offset) { return 0xff; }
|
virtual uint8_t bw2_slot_r(offs_t offset) { return 0xff; }
|
||||||
virtual void bw2_slot_w(address_space &space, offs_t offset, uint8_t data) { }
|
virtual void bw2_slot_w(offs_t offset, uint8_t data) { }
|
||||||
|
|
||||||
virtual uint8_t bw2_modsel_r(address_space &space, offs_t offset) { return 0xff; }
|
virtual uint8_t bw2_modsel_r(offs_t offset) { return 0xff; }
|
||||||
virtual void bw2_modsel_w(address_space &space, offs_t offset, uint8_t data) { }
|
virtual void bw2_modsel_w(offs_t offset, uint8_t data) { }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
device_bw2_expansion_slot_interface(const machine_config &mconfig, device_t &device);
|
device_bw2_expansion_slot_interface(const machine_config &mconfig, device_t &device);
|
||||||
|
@ -88,7 +88,7 @@ void bw2_ramcard_device::device_reset()
|
|||||||
// bw2_cd_r - cartridge data read
|
// bw2_cd_r - cartridge data read
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
uint8_t bw2_ramcard_device::bw2_cd_r(address_space &space, offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6)
|
uint8_t bw2_ramcard_device::bw2_cd_r(offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6)
|
||||||
{
|
{
|
||||||
if (!ram2)
|
if (!ram2)
|
||||||
{
|
{
|
||||||
@ -107,7 +107,7 @@ uint8_t bw2_ramcard_device::bw2_cd_r(address_space &space, offs_t offset, uint8_
|
|||||||
// bw2_cd_r - cartridge data write
|
// bw2_cd_r - cartridge data write
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void bw2_ramcard_device::bw2_cd_w(address_space &space, offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6)
|
void bw2_ramcard_device::bw2_cd_w(offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6)
|
||||||
{
|
{
|
||||||
if (m_en && !ram5)
|
if (m_en && !ram5)
|
||||||
{
|
{
|
||||||
@ -120,7 +120,7 @@ void bw2_ramcard_device::bw2_cd_w(address_space &space, offs_t offset, uint8_t d
|
|||||||
// bw2_slot_w - slot write
|
// bw2_slot_w - slot write
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void bw2_ramcard_device::bw2_slot_w(address_space &space, offs_t offset, uint8_t data)
|
void bw2_ramcard_device::bw2_slot_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
m_en = 1;
|
m_en = 1;
|
||||||
m_bank = data & 0x0f;
|
m_bank = data & 0x0f;
|
||||||
|
@ -37,9 +37,9 @@ protected:
|
|||||||
virtual void device_reset() override;
|
virtual void device_reset() override;
|
||||||
|
|
||||||
// device_bw2_expansion_slot_interface overrides
|
// device_bw2_expansion_slot_interface overrides
|
||||||
virtual uint8_t bw2_cd_r(address_space &space, offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6) override;
|
virtual uint8_t bw2_cd_r(offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6) override;
|
||||||
virtual void bw2_cd_w(address_space &space, offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6) override;
|
virtual void bw2_cd_w(offs_t offset, uint8_t data, int ram2, int ram3, int ram4, int ram5, int ram6) override;
|
||||||
virtual void bw2_slot_w(address_space &space, offs_t offset, uint8_t data) override;
|
virtual void bw2_slot_w(offs_t offset, uint8_t data) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
required_memory_region m_rom;
|
required_memory_region m_rom;
|
||||||
|
@ -30,8 +30,8 @@ DEFINE_DEVICE_TYPE(CG_EXP_SLOT, cg_exp_slot_device, "cg_exp_slot", "Colour Genie
|
|||||||
cg_exp_slot_device::cg_exp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
cg_exp_slot_device::cg_exp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||||
device_t(mconfig, CG_EXP_SLOT, tag, owner, clock),
|
device_t(mconfig, CG_EXP_SLOT, tag, owner, clock),
|
||||||
device_slot_interface(mconfig, *this),
|
device_slot_interface(mconfig, *this),
|
||||||
m_program(nullptr),
|
m_program(*this, finder_base::DUMMY_TAG, -1),
|
||||||
m_io(nullptr),
|
m_io(*this, finder_base::DUMMY_TAG, -1),
|
||||||
m_cart(nullptr),
|
m_cart(nullptr),
|
||||||
m_int_handler(*this),
|
m_int_handler(*this),
|
||||||
m_nmi_handler(*this),
|
m_nmi_handler(*this),
|
||||||
@ -67,24 +67,6 @@ void cg_exp_slot_device::device_reset()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------
|
|
||||||
// set_program_space - set address space we are attached to
|
|
||||||
//-------------------------------------------------
|
|
||||||
|
|
||||||
void cg_exp_slot_device::set_program_space(address_space *program)
|
|
||||||
{
|
|
||||||
m_program = program;
|
|
||||||
}
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
|
||||||
// set_io_space - set address space we are attached to
|
|
||||||
//-------------------------------------------------
|
|
||||||
|
|
||||||
void cg_exp_slot_device::set_io_space(address_space *io)
|
|
||||||
{
|
|
||||||
m_io = io;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
// CARTRIDGE INTERFACE
|
// CARTRIDGE INTERFACE
|
||||||
|
@ -64,8 +64,8 @@ public:
|
|||||||
cg_exp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
cg_exp_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||||
virtual ~cg_exp_slot_device();
|
virtual ~cg_exp_slot_device();
|
||||||
|
|
||||||
void set_program_space(address_space *program);
|
template <typename T> void set_program_space(T &&tag, int spacenum) { m_program.set_tag(std::forward<T>(tag), spacenum); }
|
||||||
void set_io_space(address_space *io);
|
template <typename T> void set_io_space(T &&tag, int spacenum) { m_io.set_tag(std::forward<T>(tag), spacenum); }
|
||||||
|
|
||||||
// callbacks
|
// callbacks
|
||||||
auto int_handler() { return m_int_handler.bind(); }
|
auto int_handler() { return m_int_handler.bind(); }
|
||||||
@ -77,8 +77,8 @@ public:
|
|||||||
DECLARE_WRITE_LINE_MEMBER( nmi_w ) { m_nmi_handler(state); }
|
DECLARE_WRITE_LINE_MEMBER( nmi_w ) { m_nmi_handler(state); }
|
||||||
DECLARE_WRITE_LINE_MEMBER( reset_w ) { m_reset_handler(state); }
|
DECLARE_WRITE_LINE_MEMBER( reset_w ) { m_reset_handler(state); }
|
||||||
|
|
||||||
address_space *m_program;
|
required_address_space m_program;
|
||||||
address_space *m_io;
|
required_address_space m_io;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// device-level overrides
|
// device-level overrides
|
||||||
|
@ -24,16 +24,16 @@ class compis_graphics_slot_device;
|
|||||||
class device_compis_graphics_card_interface : public device_slot_card_interface
|
class device_compis_graphics_card_interface : public device_slot_card_interface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual uint8_t mcs0_r(address_space &space, offs_t offset) { return 0xff; }
|
virtual uint8_t mcs0_r(offs_t offset) { return 0xff; }
|
||||||
virtual void mcs0_w(address_space &space, offs_t offset, uint8_t data) { }
|
virtual void mcs0_w(offs_t offset, uint8_t data) { }
|
||||||
virtual uint8_t mcs1_r(address_space &space, offs_t offset) { return 0xff; }
|
virtual uint8_t mcs1_r(offs_t offset) { return 0xff; }
|
||||||
virtual void mcs1_w(address_space &space, offs_t offset, uint8_t data) { }
|
virtual void mcs1_w(offs_t offset, uint8_t data) { }
|
||||||
virtual uint16_t pcs3_r(address_space &space, offs_t offset) { return 0xff; }
|
virtual uint16_t pcs3_r(offs_t offset) { return 0xff; }
|
||||||
virtual void pcs3_w(address_space &space, offs_t offset, uint16_t data) { }
|
virtual void pcs3_w(offs_t offset, uint16_t data) { }
|
||||||
virtual uint8_t pcs6_6_r(address_space &space, offs_t offset) { return 0xff; }
|
virtual uint8_t pcs6_6_r(offs_t offset) { return 0xff; }
|
||||||
virtual void pcs6_6_w(address_space &space, offs_t offset, uint8_t data) { }
|
virtual void pcs6_6_w(offs_t offset, uint8_t data) { }
|
||||||
virtual uint8_t dma_ack_r(address_space &space, offs_t offset) { return 0xff; }
|
virtual uint8_t dma_ack_r(offs_t offset) { return 0xff; }
|
||||||
virtual void dma_ack_w(address_space &space, offs_t offset, uint8_t data) { }
|
virtual void dma_ack_w(offs_t offset, uint8_t data) { }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
@ -64,16 +64,16 @@ public:
|
|||||||
auto drq() { return m_write_dma_request.bind(); }
|
auto drq() { return m_write_dma_request.bind(); }
|
||||||
|
|
||||||
// computer interface
|
// computer interface
|
||||||
DECLARE_READ8_MEMBER( mcs0_r ) { return m_card ? m_card->mcs0_r(space, offset) : 0xff; }
|
uint8_t mcs0_r(offs_t offset) { return m_card ? m_card->mcs0_r(offset) : 0xff; }
|
||||||
DECLARE_WRITE8_MEMBER( mcs0_w ) { if (m_card) m_card->mcs0_w(space, offset, data); }
|
void mcs0_w(offs_t offset, uint8_t data) { if (m_card) m_card->mcs0_w(offset, data); }
|
||||||
DECLARE_READ8_MEMBER( mcs1_r ) { return m_card ? m_card->mcs1_r(space, offset) : 0xff; }
|
uint8_t mcs1_r(offs_t offset) { return m_card ? m_card->mcs1_r(offset) : 0xff; }
|
||||||
DECLARE_WRITE8_MEMBER( mcs1_w ) { if (m_card) m_card->mcs1_w(space, offset, data); }
|
void mcs1_w(offs_t offset, uint8_t data) { if (m_card) m_card->mcs1_w(offset, data); }
|
||||||
DECLARE_READ16_MEMBER( pcs3_r ) { return m_card ? m_card->pcs3_r(space, offset) : 0xff; }
|
uint8_t pcs3_r(offs_t offset) { return m_card ? m_card->pcs3_r(offset) : 0xff; }
|
||||||
DECLARE_WRITE16_MEMBER( pcs3_w ) { if (m_card) m_card->pcs3_w(space, offset, data); }
|
void pcs3_w(offs_t offset, uint8_t data) { if (m_card) m_card->pcs3_w(offset, data); }
|
||||||
DECLARE_READ8_MEMBER( pcs6_6_r ) { return m_card ? m_card->pcs6_6_r(space, offset) : 0xff; }
|
uint8_t pcs6_6_r(offs_t offset) { return m_card ? m_card->pcs6_6_r(offset) : 0xff; }
|
||||||
DECLARE_WRITE8_MEMBER( pcs6_6_w ) { if (m_card) m_card->pcs6_6_w(space, offset, data); }
|
void pcs6_6_w(offs_t offset, uint8_t data) { if (m_card) m_card->pcs6_6_w(offset, data); }
|
||||||
DECLARE_READ8_MEMBER( dma_ack_r ) { return m_card ? m_card->dma_ack_r(space, offset) : 0xff; }
|
uint8_t dma_ack_r(offs_t offset) { return m_card ? m_card->dma_ack_r(offset) : 0xff; }
|
||||||
DECLARE_WRITE8_MEMBER( dma_ack_w ) { if (m_card) m_card->dma_ack_w(space, offset, data); }
|
void dma_ack_w(offs_t offset, uint8_t data) { if (m_card) m_card->dma_ack_w(offset, data); }
|
||||||
|
|
||||||
// card interface
|
// card interface
|
||||||
DECLARE_WRITE_LINE_MEMBER( dma_request_w ) { m_write_dma_request(state); }
|
DECLARE_WRITE_LINE_MEMBER( dma_request_w ) { m_write_dma_request(state); }
|
||||||
|
@ -165,12 +165,12 @@ void compis_hrg_device::device_reset()
|
|||||||
// pcs6_6_r -
|
// pcs6_6_r -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
uint8_t compis_hrg_device::pcs6_6_r(address_space &space, offs_t offset)
|
uint8_t compis_hrg_device::pcs6_6_r(offs_t offset)
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
if (offset < 2)
|
if (offset < 2)
|
||||||
data = m_crtc->read(space, offset & 0x01);
|
data = m_crtc->read(offset & 0x01);
|
||||||
else
|
else
|
||||||
// monochrome only, hblank? vblank?
|
// monochrome only, hblank? vblank?
|
||||||
if(offset == 2)
|
if(offset == 2)
|
||||||
@ -202,10 +202,10 @@ uint8_t compis_hrg_device::pcs6_6_r(address_space &space, offs_t offset)
|
|||||||
// pcs6_6_w -
|
// pcs6_6_w -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void compis_hrg_device::pcs6_6_w(address_space &space, offs_t offset, uint8_t data)
|
void compis_hrg_device::pcs6_6_w(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
//logerror("%s PCS 6:6 write %04x : %02x\n", machine().describe_context(), offset, data);
|
//logerror("%s PCS 6:6 write %04x : %02x\n", machine().describe_context(), offset, data);
|
||||||
|
|
||||||
// 0x336 is likely the color plane register
|
// 0x336 is likely the color plane register
|
||||||
if (offset < 2) m_crtc->write(space, offset & 0x01, data);
|
if (offset < 2) m_crtc->write(offset & 0x01, data);
|
||||||
}
|
}
|
||||||
|
@ -41,8 +41,8 @@ protected:
|
|||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
|
|
||||||
// device_compis_graphics_card_interface overrides
|
// device_compis_graphics_card_interface overrides
|
||||||
virtual uint8_t pcs6_6_r(address_space &space, offs_t offset) override;
|
virtual uint8_t pcs6_6_r(offs_t offset) override;
|
||||||
virtual void pcs6_6_w(address_space &space, offs_t offset, uint8_t data) override;
|
virtual void pcs6_6_w(offs_t offset, uint8_t data) override;
|
||||||
|
|
||||||
required_device<upd7220_device> m_crtc;
|
required_device<upd7220_device> m_crtc;
|
||||||
required_device<palette_device> m_palette;
|
required_device<palette_device> m_palette;
|
||||||
|
@ -279,10 +279,10 @@ void dmvcart_slot_device::ram_write(uint8_t cas, offs_t offset, uint8_t data)
|
|||||||
IO read
|
IO read
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
|
|
||||||
void dmvcart_slot_device::io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data)
|
void dmvcart_slot_device::io_read(int ifsel, offs_t offset, uint8_t &data)
|
||||||
{
|
{
|
||||||
if (m_cart)
|
if (m_cart)
|
||||||
m_cart->io_read(space, ifsel, offset, data);
|
m_cart->io_read(ifsel, offset, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -290,10 +290,10 @@ void dmvcart_slot_device::io_read(address_space &space, int ifsel, offs_t offset
|
|||||||
IO write
|
IO write
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
|
|
||||||
void dmvcart_slot_device::io_write(address_space &space, int ifsel, offs_t offset, uint8_t data)
|
void dmvcart_slot_device::io_write(int ifsel, offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
if (m_cart)
|
if (m_cart)
|
||||||
m_cart->io_write(space, ifsel, offset, data);
|
m_cart->io_write(ifsel, offset, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*-------------------------------------------------
|
/*-------------------------------------------------
|
||||||
|
@ -25,8 +25,8 @@ public:
|
|||||||
|
|
||||||
virtual bool read(offs_t offset, uint8_t &data) { return false; }
|
virtual bool read(offs_t offset, uint8_t &data) { return false; }
|
||||||
virtual bool write(offs_t offset, uint8_t data) { return false; }
|
virtual bool write(offs_t offset, uint8_t data) { return false; }
|
||||||
virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) { }
|
virtual void io_read(int ifsel, offs_t offset, uint8_t &data) { }
|
||||||
virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) { }
|
virtual void io_write(int ifsel, offs_t offset, uint8_t data) { }
|
||||||
|
|
||||||
// slot 1
|
// slot 1
|
||||||
virtual void ram_read(uint8_t cas, offs_t offset, uint8_t &data) { }
|
virtual void ram_read(uint8_t cas, offs_t offset, uint8_t &data) { }
|
||||||
@ -87,8 +87,8 @@ public:
|
|||||||
virtual bool write(offs_t offset, uint8_t data);
|
virtual bool write(offs_t offset, uint8_t data);
|
||||||
virtual void ram_read(uint8_t cas, offs_t offset, uint8_t &data);
|
virtual void ram_read(uint8_t cas, offs_t offset, uint8_t &data);
|
||||||
virtual void ram_write(uint8_t cas, offs_t offset, uint8_t data);
|
virtual void ram_write(uint8_t cas, offs_t offset, uint8_t data);
|
||||||
virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data);
|
virtual void io_read(int ifsel, offs_t offset, uint8_t &data);
|
||||||
virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data);
|
virtual void io_write(int ifsel, offs_t offset, uint8_t data);
|
||||||
virtual void hold_w(int state);
|
virtual void hold_w(int state);
|
||||||
virtual void switch16_w(int state);
|
virtual void switch16_w(int state);
|
||||||
virtual void timint_w(int state);
|
virtual void timint_w(int state);
|
||||||
|
@ -99,13 +99,13 @@ void dmv_k210_device::device_add_mconfig(machine_config &config)
|
|||||||
m_centronics->set_output_latch(*m_cent_data_out);
|
m_centronics->set_output_latch(*m_cent_data_out);
|
||||||
}
|
}
|
||||||
|
|
||||||
void dmv_k210_device::io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data)
|
void dmv_k210_device::io_read(int ifsel, offs_t offset, uint8_t &data)
|
||||||
{
|
{
|
||||||
if (ifsel == 0)
|
if (ifsel == 0)
|
||||||
data = m_ppi->read(offset & 0x03);
|
data = m_ppi->read(offset & 0x03);
|
||||||
}
|
}
|
||||||
|
|
||||||
void dmv_k210_device::io_write(address_space &space, int ifsel, offs_t offset, uint8_t data)
|
void dmv_k210_device::io_write(int ifsel, offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
if (ifsel == 0)
|
if (ifsel == 0)
|
||||||
m_ppi->write(offset & 0x03, data);
|
m_ppi->write(offset & 0x03, data);
|
||||||
|
@ -33,8 +33,8 @@ protected:
|
|||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
|
|
||||||
// dmvcart_interface overrides
|
// dmvcart_interface overrides
|
||||||
virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) override;
|
virtual void io_read(int ifsel, offs_t offset, uint8_t &data) override;
|
||||||
virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
|
virtual void io_write(int ifsel, offs_t offset, uint8_t data) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DECLARE_READ8_MEMBER(porta_r);
|
DECLARE_READ8_MEMBER(porta_r);
|
||||||
|
@ -54,7 +54,7 @@ void dmv_k233_device::device_reset()
|
|||||||
m_enabled = false;
|
m_enabled = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void dmv_k233_device::io_write(address_space &space, int ifsel, offs_t offset, uint8_t data)
|
void dmv_k233_device::io_write(int ifsel, offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
if (ifsel == 1)
|
if (ifsel == 1)
|
||||||
m_enabled = !m_enabled;
|
m_enabled = !m_enabled;
|
||||||
|
@ -27,7 +27,7 @@ protected:
|
|||||||
virtual void device_reset() override;
|
virtual void device_reset() override;
|
||||||
|
|
||||||
// dmvcart_interface overrides
|
// dmvcart_interface overrides
|
||||||
virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
|
virtual void io_write(int ifsel, offs_t offset, uint8_t data) override;
|
||||||
virtual bool read(offs_t offset, uint8_t &data) override;
|
virtual bool read(offs_t offset, uint8_t &data) override;
|
||||||
virtual bool write(offs_t offset, uint8_t data) override;
|
virtual bool write(offs_t offset, uint8_t data) override;
|
||||||
|
|
||||||
|
@ -206,7 +206,7 @@ WRITE_LINE_MEMBER(dmv_k801_device::epci_irq_w)
|
|||||||
m_bus->m_out_irq_cb(state);
|
m_bus->m_out_irq_cb(state);
|
||||||
}
|
}
|
||||||
|
|
||||||
void dmv_k801_device::io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data)
|
void dmv_k801_device::io_read(int ifsel, offs_t offset, uint8_t &data)
|
||||||
{
|
{
|
||||||
uint8_t dsw = m_dsw->read() & 0x0f;
|
uint8_t dsw = m_dsw->read() & 0x0f;
|
||||||
if ((dsw >> 1) == ifsel && BIT(offset, 3) == BIT(dsw, 0))
|
if ((dsw >> 1) == ifsel && BIT(offset, 3) == BIT(dsw, 0))
|
||||||
@ -218,7 +218,7 @@ void dmv_k801_device::io_read(address_space &space, int ifsel, offs_t offset, ui
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void dmv_k801_device::io_write(address_space &space, int ifsel, offs_t offset, uint8_t data)
|
void dmv_k801_device::io_write(int ifsel, offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
uint8_t dsw = m_dsw->read() & 0x0f;
|
uint8_t dsw = m_dsw->read() & 0x0f;
|
||||||
if ((dsw >> 1) == ifsel && BIT(offset, 3) == BIT(dsw, 0))
|
if ((dsw >> 1) == ifsel && BIT(offset, 3) == BIT(dsw, 0))
|
||||||
@ -230,7 +230,7 @@ void dmv_k801_device::io_write(address_space &space, int ifsel, offs_t offset, u
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void dmv_k211_device::io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data)
|
void dmv_k211_device::io_read(int ifsel, offs_t offset, uint8_t &data)
|
||||||
{
|
{
|
||||||
uint8_t jumpers = m_dsw->read() & 0x03;
|
uint8_t jumpers = m_dsw->read() & 0x03;
|
||||||
if ((BIT(jumpers, 0) && ifsel == 0) || (BIT(jumpers, 1) && ifsel == 1))
|
if ((BIT(jumpers, 0) && ifsel == 0) || (BIT(jumpers, 1) && ifsel == 1))
|
||||||
@ -242,7 +242,7 @@ void dmv_k211_device::io_read(address_space &space, int ifsel, offs_t offset, ui
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void dmv_k211_device::io_write(address_space &space, int ifsel, offs_t offset, uint8_t data)
|
void dmv_k211_device::io_write(int ifsel, offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
uint8_t jumpers = m_dsw->read() & 0x03;
|
uint8_t jumpers = m_dsw->read() & 0x03;
|
||||||
if ((BIT(jumpers, 0) && ifsel == 0) || (BIT(jumpers, 1) && ifsel == 1))
|
if ((BIT(jumpers, 0) && ifsel == 0) || (BIT(jumpers, 1) && ifsel == 1))
|
||||||
|
@ -36,8 +36,8 @@ protected:
|
|||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
|
|
||||||
// dmvcart_interface overrides
|
// dmvcart_interface overrides
|
||||||
virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) override;
|
virtual void io_read(int ifsel, offs_t offset, uint8_t &data) override;
|
||||||
virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
|
virtual void io_write(int ifsel, offs_t offset, uint8_t data) override;
|
||||||
|
|
||||||
required_device<mc2661_device> m_epci;
|
required_device<mc2661_device> m_epci;
|
||||||
required_device<rs232_port_device> m_rs232;
|
required_device<rs232_port_device> m_rs232;
|
||||||
@ -67,8 +67,8 @@ protected:
|
|||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
|
|
||||||
// dmvcart_interface overrides
|
// dmvcart_interface overrides
|
||||||
virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) override;
|
virtual void io_read(int ifsel, offs_t offset, uint8_t &data) override;
|
||||||
virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
|
virtual void io_write(int ifsel, offs_t offset, uint8_t data) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
// ======================> dmv_k212_device
|
// ======================> dmv_k212_device
|
||||||
|
@ -90,23 +90,23 @@ ioport_constructor dmv_k803_device::device_input_ports() const
|
|||||||
return INPUT_PORTS_NAME( dmv_k803 );
|
return INPUT_PORTS_NAME( dmv_k803 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void dmv_k803_device::io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data)
|
void dmv_k803_device::io_read(int ifsel, offs_t offset, uint8_t &data)
|
||||||
{
|
{
|
||||||
uint8_t dsw = m_dsw->read() & 0x0f;
|
uint8_t dsw = m_dsw->read() & 0x0f;
|
||||||
if ((dsw >> 1) == ifsel && BIT(offset, 3) == BIT(dsw, 0))
|
if ((dsw >> 1) == ifsel && BIT(offset, 3) == BIT(dsw, 0))
|
||||||
{
|
{
|
||||||
if (offset & 0x04)
|
if (offset & 0x04)
|
||||||
data = m_rtc->read(space, ((m_latch & 0x07) << 2) | (offset & 0x03));
|
data = m_rtc->read(((m_latch & 0x07) << 2) | (offset & 0x03));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void dmv_k803_device::io_write(address_space &space, int ifsel, offs_t offset, uint8_t data)
|
void dmv_k803_device::io_write(int ifsel, offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
uint8_t dsw = m_dsw->read() & 0x0f;
|
uint8_t dsw = m_dsw->read() & 0x0f;
|
||||||
if ((dsw >> 1) == ifsel && BIT(offset, 3) == BIT(dsw, 0))
|
if ((dsw >> 1) == ifsel && BIT(offset, 3) == BIT(dsw, 0))
|
||||||
{
|
{
|
||||||
if (offset & 0x04)
|
if (offset & 0x04)
|
||||||
m_rtc->write(space, ((m_latch & 0x07) << 2) | (offset & 0x03), data);
|
m_rtc->write(((m_latch & 0x07) << 2) | (offset & 0x03), data);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_latch = data;
|
m_latch = data;
|
||||||
|
@ -31,8 +31,8 @@ protected:
|
|||||||
virtual ioport_constructor device_input_ports() const override;
|
virtual ioport_constructor device_input_ports() const override;
|
||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
|
|
||||||
virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) override;
|
virtual void io_read(int ifsel, offs_t offset, uint8_t &data) override;
|
||||||
virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
|
virtual void io_write(int ifsel, offs_t offset, uint8_t data) override;
|
||||||
|
|
||||||
void update_int();
|
void update_int();
|
||||||
|
|
||||||
|
@ -128,19 +128,19 @@ const tiny_rom_entry *dmv_k806_device::device_rom_region() const
|
|||||||
return ROM_NAME( dmv_k806 );
|
return ROM_NAME( dmv_k806 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void dmv_k806_device::io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data)
|
void dmv_k806_device::io_read(int ifsel, offs_t offset, uint8_t &data)
|
||||||
{
|
{
|
||||||
uint8_t jumpers = m_jumpers->read();
|
uint8_t jumpers = m_jumpers->read();
|
||||||
if (BIT(jumpers, ifsel) && ((!BIT(offset, 3) && BIT(jumpers, 5)) || (BIT(offset, 3) && BIT(jumpers, 6))))
|
if (BIT(jumpers, ifsel) && ((!BIT(offset, 3) && BIT(jumpers, 5)) || (BIT(offset, 3) && BIT(jumpers, 6))))
|
||||||
data = m_mcu->upi41_master_r(space, offset & 1);
|
data = m_mcu->upi41_master_r(machine().dummy_space(), offset & 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void dmv_k806_device::io_write(address_space &space, int ifsel, offs_t offset, uint8_t data)
|
void dmv_k806_device::io_write(int ifsel, offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
uint8_t jumpers = m_jumpers->read();
|
uint8_t jumpers = m_jumpers->read();
|
||||||
if (BIT(jumpers, ifsel) && ((!BIT(offset, 3) && BIT(jumpers, 5)) || (BIT(offset, 3) && BIT(jumpers, 6))))
|
if (BIT(jumpers, ifsel) && ((!BIT(offset, 3) && BIT(jumpers, 5)) || (BIT(offset, 3) && BIT(jumpers, 6))))
|
||||||
{
|
{
|
||||||
m_mcu->upi41_master_w(space, offset & 1, data);
|
m_mcu->upi41_master_w(machine().dummy_space(), offset & 1, data);
|
||||||
m_bus->m_out_int_cb(CLEAR_LINE);
|
m_bus->m_out_int_cb(CLEAR_LINE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35,8 +35,8 @@ protected:
|
|||||||
virtual ioport_constructor device_input_ports() const override;
|
virtual ioport_constructor device_input_ports() const override;
|
||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
|
|
||||||
virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) override;
|
virtual void io_read(int ifsel, offs_t offset, uint8_t &data) override;
|
||||||
virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
|
virtual void io_write(int ifsel, offs_t offset, uint8_t data) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DECLARE_READ_LINE_MEMBER(portt1_r);
|
DECLARE_READ_LINE_MEMBER(portt1_r);
|
||||||
|
@ -33,8 +33,8 @@ DEFINE_DEVICE_TYPE(TATUNG_PIPE, tatung_pipe_device, "tatung_pipe", "Tatung Pipe
|
|||||||
tatung_pipe_device::tatung_pipe_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
tatung_pipe_device::tatung_pipe_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||||
device_t(mconfig, TATUNG_PIPE, tag, owner, clock),
|
device_t(mconfig, TATUNG_PIPE, tag, owner, clock),
|
||||||
device_slot_interface(mconfig, *this),
|
device_slot_interface(mconfig, *this),
|
||||||
m_program(nullptr),
|
m_program(*this, finder_base::DUMMY_TAG, -1),
|
||||||
m_io(nullptr),
|
m_io(*this, finder_base::DUMMY_TAG, -1),
|
||||||
m_card(nullptr),
|
m_card(nullptr),
|
||||||
m_int_handler(*this),
|
m_int_handler(*this),
|
||||||
m_nmi_handler(*this),
|
m_nmi_handler(*this),
|
||||||
@ -50,6 +50,28 @@ tatung_pipe_device::~tatung_pipe_device()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------
|
||||||
|
// device_config_complete - perform any
|
||||||
|
// operations now that the configuration is
|
||||||
|
// complete
|
||||||
|
//-------------------------------------------------
|
||||||
|
|
||||||
|
void tatung_pipe_device::device_config_complete()
|
||||||
|
{
|
||||||
|
// for passthrough connectors, use the parent slot's spaces
|
||||||
|
if (dynamic_cast<device_tatung_pipe_interface *>(owner()) != nullptr)
|
||||||
|
{
|
||||||
|
auto parent = dynamic_cast<tatung_pipe_device *>(owner()->owner());
|
||||||
|
if (parent != nullptr)
|
||||||
|
{
|
||||||
|
if (m_program.finder_tag() == finder_base::DUMMY_TAG)
|
||||||
|
m_program.set_tag(parent->m_program, parent->m_program.spacenum());
|
||||||
|
if (m_io.finder_tag() == finder_base::DUMMY_TAG)
|
||||||
|
m_io.set_tag(parent->m_io, parent->m_io.spacenum());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// device_start - device-specific startup
|
// device_start - device-specific startup
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
@ -83,24 +105,6 @@ WRITE_LINE_MEMBER( tatung_pipe_device::host_int_w )
|
|||||||
m_card->int_w(state);
|
m_card->int_w(state);
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------
|
|
||||||
// set_program_space - set address space we are attached to
|
|
||||||
//-------------------------------------------------
|
|
||||||
|
|
||||||
void tatung_pipe_device::set_program_space(address_space *program)
|
|
||||||
{
|
|
||||||
m_program = program;
|
|
||||||
}
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
|
||||||
// set_io_space - set address space we are attached to
|
|
||||||
//-------------------------------------------------
|
|
||||||
|
|
||||||
void tatung_pipe_device::set_io_space(address_space *io)
|
|
||||||
{
|
|
||||||
m_io = io;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
// CARD INTERFACE
|
// CARD INTERFACE
|
||||||
|
@ -68,8 +68,8 @@ public:
|
|||||||
}
|
}
|
||||||
virtual ~tatung_pipe_device();
|
virtual ~tatung_pipe_device();
|
||||||
|
|
||||||
void set_program_space(address_space *program);
|
template <typename T> void set_program_space(T &&tag, int spacenum) { m_program.set_tag(std::forward<T>(tag), spacenum); }
|
||||||
void set_io_space(address_space *io);
|
template <typename T> void set_io_space(T &&tag, int spacenum) { m_io.set_tag(std::forward<T>(tag), spacenum); }
|
||||||
|
|
||||||
// callbacks
|
// callbacks
|
||||||
auto int_handler() { return m_int_handler.bind(); }
|
auto int_handler() { return m_int_handler.bind(); }
|
||||||
@ -86,11 +86,12 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
// device-level overrides
|
// device-level overrides
|
||||||
|
virtual void device_config_complete() override;
|
||||||
virtual void device_start() override;
|
virtual void device_start() override;
|
||||||
virtual void device_reset() override;
|
virtual void device_reset() override;
|
||||||
|
|
||||||
address_space *m_program;
|
required_address_space m_program;
|
||||||
address_space *m_io;
|
required_address_space m_io;
|
||||||
|
|
||||||
device_tatung_pipe_interface *m_card;
|
device_tatung_pipe_interface *m_card;
|
||||||
|
|
||||||
|
@ -159,9 +159,6 @@ void tk02_device::device_start()
|
|||||||
|
|
||||||
void tk02_device::device_reset()
|
void tk02_device::device_reset()
|
||||||
{
|
{
|
||||||
m_pipe->set_io_space(&io_space());
|
|
||||||
m_pipe->set_program_space(&program_space());
|
|
||||||
|
|
||||||
io_space().install_device(0x40, 0x4f, *this, &tk02_device::map);
|
io_space().install_device(0x40, 0x4f, *this, &tk02_device::map);
|
||||||
io_space().install_readwrite_handler(0x40, 0x47, 0, 0, 0xff00, read8_delegate(FUNC(tk02_device::ram_r), this), write8_delegate(FUNC(tk02_device::ram_w), this));
|
io_space().install_readwrite_handler(0x40, 0x47, 0, 0, 0xff00, read8_delegate(FUNC(tk02_device::ram_r), this), write8_delegate(FUNC(tk02_device::ram_w), this));
|
||||||
}
|
}
|
||||||
|
@ -273,5 +273,5 @@ WRITE_LINE_MEMBER(ekara_cart_slot_device::write_scl)
|
|||||||
|
|
||||||
READ_LINE_MEMBER(ekara_cart_slot_device::read_sda )
|
READ_LINE_MEMBER(ekara_cart_slot_device::read_sda )
|
||||||
{
|
{
|
||||||
return m_cart->read_sda();
|
return m_cart->read_sda();
|
||||||
}
|
}
|
||||||
|
@ -36,7 +36,7 @@ public:
|
|||||||
virtual DECLARE_READ8_MEMBER(read_extra) { return 0xff; }
|
virtual DECLARE_READ8_MEMBER(read_extra) { return 0xff; }
|
||||||
virtual DECLARE_WRITE8_MEMBER(write_extra) { }
|
virtual DECLARE_WRITE8_MEMBER(write_extra) { }
|
||||||
|
|
||||||
virtual DECLARE_WRITE_LINE_MEMBER(write_sda) { }
|
virtual DECLARE_WRITE_LINE_MEMBER(write_sda) { }
|
||||||
virtual DECLARE_WRITE_LINE_MEMBER(write_scl) { }
|
virtual DECLARE_WRITE_LINE_MEMBER(write_scl) { }
|
||||||
//virtual DECLARE_WRITE_LINE_MEMBER( write_wc )
|
//virtual DECLARE_WRITE_LINE_MEMBER( write_wc )
|
||||||
virtual DECLARE_READ_LINE_MEMBER( read_sda ) { return 0; }
|
virtual DECLARE_READ_LINE_MEMBER( read_sda ) { return 0; }
|
||||||
@ -107,7 +107,7 @@ public:
|
|||||||
virtual DECLARE_READ8_MEMBER(read_extra);
|
virtual DECLARE_READ8_MEMBER(read_extra);
|
||||||
virtual DECLARE_WRITE8_MEMBER(write_extra);
|
virtual DECLARE_WRITE8_MEMBER(write_extra);
|
||||||
|
|
||||||
virtual DECLARE_WRITE_LINE_MEMBER(write_sda);
|
virtual DECLARE_WRITE_LINE_MEMBER(write_sda);
|
||||||
virtual DECLARE_WRITE_LINE_MEMBER(write_scl);
|
virtual DECLARE_WRITE_LINE_MEMBER(write_scl);
|
||||||
//virtual DECLARE_WRITE_LINE_MEMBER( write_wc );
|
//virtual DECLARE_WRITE_LINE_MEMBER( write_wc );
|
||||||
virtual DECLARE_READ_LINE_MEMBER( read_sda );
|
virtual DECLARE_READ_LINE_MEMBER( read_sda );
|
||||||
|
@ -46,7 +46,7 @@ void electron_abr_device::device_start()
|
|||||||
// read - cartridge data read
|
// read - cartridge data read
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
uint8_t electron_abr_device::read(address_space &space, offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
|
uint8_t electron_abr_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
@ -62,7 +62,7 @@ uint8_t electron_abr_device::read(address_space &space, offs_t offset, int infc,
|
|||||||
// write - cartridge data write
|
// write - cartridge data write
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void electron_abr_device::write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
|
void electron_abr_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
|
||||||
{
|
{
|
||||||
if (infc)
|
if (infc)
|
||||||
{
|
{
|
||||||
|
@ -32,8 +32,8 @@ protected:
|
|||||||
virtual void device_start() override;
|
virtual void device_start() override;
|
||||||
|
|
||||||
// electron_cart_interface overrides
|
// electron_cart_interface overrides
|
||||||
virtual uint8_t read(address_space &space, offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
|
virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
|
||||||
virtual void write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
|
virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool m_bank_locked[2];
|
bool m_bank_locked[2];
|
||||||
|
@ -81,7 +81,7 @@ void electron_ap34_device::device_start()
|
|||||||
// read - cartridge data read
|
// read - cartridge data read
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
uint8_t electron_ap34_device::read(address_space &space, offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
|
uint8_t electron_ap34_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
@ -116,14 +116,14 @@ uint8_t electron_ap34_device::read(address_space &space, offs_t offset, int infc
|
|||||||
// write - cartridge data write
|
// write - cartridge data write
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void electron_ap34_device::write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
|
void electron_ap34_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
|
||||||
{
|
{
|
||||||
if (infc)
|
if (infc)
|
||||||
{
|
{
|
||||||
switch (offset & 0xff)
|
switch (offset & 0xff)
|
||||||
{
|
{
|
||||||
case 0xc0:
|
case 0xc0:
|
||||||
wd1770_control_w(space, 0, data);
|
wd1770_control_w(data);
|
||||||
break;
|
break;
|
||||||
case 0xc4:
|
case 0xc4:
|
||||||
case 0xc5:
|
case 0xc5:
|
||||||
@ -147,7 +147,7 @@ void electron_ap34_device::write(address_space &space, offs_t offset, uint8_t da
|
|||||||
// IMPLEMENTATION
|
// IMPLEMENTATION
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
WRITE8_MEMBER(electron_ap34_device::wd1770_control_w)
|
void electron_ap34_device::wd1770_control_w(uint8_t data)
|
||||||
{
|
{
|
||||||
floppy_image_device *floppy = nullptr;
|
floppy_image_device *floppy = nullptr;
|
||||||
|
|
||||||
|
@ -36,11 +36,11 @@ protected:
|
|||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
|
|
||||||
// electron_cart_interface overrides
|
// electron_cart_interface overrides
|
||||||
virtual uint8_t read(address_space &space, offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
|
virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
|
||||||
virtual void write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
|
virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DECLARE_WRITE8_MEMBER(wd1770_control_w);
|
void wd1770_control_w(uint8_t data);
|
||||||
DECLARE_FLOPPY_FORMATS(floppy_formats);
|
DECLARE_FLOPPY_FORMATS(floppy_formats);
|
||||||
|
|
||||||
required_device<wd1770_device> m_fdc;
|
required_device<wd1770_device> m_fdc;
|
||||||
|
@ -82,13 +82,13 @@ void electron_ap5_device::device_start()
|
|||||||
// read - cartridge data read
|
// read - cartridge data read
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
uint8_t electron_ap5_device::read(address_space &space, offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
|
uint8_t electron_ap5_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
if (infc)
|
if (infc)
|
||||||
{
|
{
|
||||||
data = m_1mhzbus->fred_r(space, offset);
|
data = m_1mhzbus->fred_r(offset);
|
||||||
|
|
||||||
switch (offset & 0xf0)
|
switch (offset & 0xf0)
|
||||||
{
|
{
|
||||||
@ -97,13 +97,13 @@ uint8_t electron_ap5_device::read(address_space &space, offs_t offset, int infc,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xe0:
|
case 0xe0:
|
||||||
data &= m_tube->host_r(space, offset & 0x0f);
|
data &= m_tube->host_r(offset & 0x0f);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (infd)
|
else if (infd)
|
||||||
{
|
{
|
||||||
data = m_1mhzbus->jim_r(space, offset);
|
data = m_1mhzbus->jim_r(offset);
|
||||||
}
|
}
|
||||||
else if (oe)
|
else if (oe)
|
||||||
{
|
{
|
||||||
@ -121,11 +121,11 @@ uint8_t electron_ap5_device::read(address_space &space, offs_t offset, int infc,
|
|||||||
// write - cartridge data write
|
// write - cartridge data write
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void electron_ap5_device::write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
|
void electron_ap5_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
|
||||||
{
|
{
|
||||||
if (infc)
|
if (infc)
|
||||||
{
|
{
|
||||||
m_1mhzbus->fred_w(space, offset, data);
|
m_1mhzbus->fred_w(offset, data);
|
||||||
|
|
||||||
switch (offset & 0xf0)
|
switch (offset & 0xf0)
|
||||||
{
|
{
|
||||||
@ -134,13 +134,13 @@ void electron_ap5_device::write(address_space &space, offs_t offset, uint8_t dat
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xe0:
|
case 0xe0:
|
||||||
m_tube->host_w(space, offset & 0x0f, data);
|
m_tube->host_w(offset & 0x0f, data);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (infd)
|
else if (infd)
|
||||||
{
|
{
|
||||||
m_1mhzbus->jim_w(space, offset, data);
|
m_1mhzbus->jim_w(offset, data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,8 +37,8 @@ protected:
|
|||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
|
|
||||||
// electron_cart_interface overrides
|
// electron_cart_interface overrides
|
||||||
virtual uint8_t read(address_space &space, offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
|
virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
|
||||||
virtual void write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
|
virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
image_init_result load_rom(device_image_interface &image, generic_slot_device *slot);
|
image_init_result load_rom(device_image_interface &image, generic_slot_device *slot);
|
||||||
|
@ -48,7 +48,7 @@ void electron_aqr_device::device_start()
|
|||||||
// read - cartridge data read
|
// read - cartridge data read
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
uint8_t electron_aqr_device::read(address_space &space, offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
|
uint8_t electron_aqr_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ uint8_t electron_aqr_device::read(address_space &space, offs_t offset, int infc,
|
|||||||
// write - cartridge data write
|
// write - cartridge data write
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void electron_aqr_device::write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
|
void electron_aqr_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
|
||||||
{
|
{
|
||||||
if (infc)
|
if (infc)
|
||||||
{
|
{
|
||||||
|
@ -32,8 +32,8 @@ protected:
|
|||||||
virtual void device_start() override;
|
virtual void device_start() override;
|
||||||
|
|
||||||
// electron_cart_interface overrides
|
// electron_cart_interface overrides
|
||||||
virtual uint8_t read(address_space &space, offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
|
virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
|
||||||
virtual void write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
|
virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
uint8_t m_page_register;
|
uint8_t m_page_register;
|
||||||
|
@ -88,7 +88,7 @@ void electron_click_device::device_reset()
|
|||||||
// read - cartridge data read
|
// read - cartridge data read
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
uint8_t electron_click_device::read(address_space &space, offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
|
uint8_t electron_click_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
@ -98,7 +98,7 @@ uint8_t electron_click_device::read(address_space &space, offs_t offset, int inf
|
|||||||
{
|
{
|
||||||
case 0xf8:
|
case 0xf8:
|
||||||
case 0xf9:
|
case 0xf9:
|
||||||
data = m_rtc->read(space, offset & 0x01);
|
data = m_rtc->read(machine().dummy_space(), offset & 0x01);
|
||||||
break;
|
break;
|
||||||
case 0xfc:
|
case 0xfc:
|
||||||
data = m_page_register;
|
data = m_page_register;
|
||||||
@ -127,7 +127,7 @@ uint8_t electron_click_device::read(address_space &space, offs_t offset, int inf
|
|||||||
// write - cartridge data write
|
// write - cartridge data write
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void electron_click_device::write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
|
void electron_click_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
|
||||||
{
|
{
|
||||||
if (infc)
|
if (infc)
|
||||||
{
|
{
|
||||||
@ -135,7 +135,7 @@ void electron_click_device::write(address_space &space, offs_t offset, uint8_t d
|
|||||||
{
|
{
|
||||||
case 0xf8:
|
case 0xf8:
|
||||||
case 0xf9:
|
case 0xf9:
|
||||||
m_rtc->write(space, offset & 0x01, data);
|
m_rtc->write(machine().dummy_space(), offset & 0x01, data);
|
||||||
break;
|
break;
|
||||||
case 0xfc:
|
case 0xfc:
|
||||||
m_page_register = data;
|
m_page_register = data;
|
||||||
|
@ -41,8 +41,8 @@ protected:
|
|||||||
virtual void device_reset() override;
|
virtual void device_reset() override;
|
||||||
|
|
||||||
// electron_cart_interface overrides
|
// electron_cart_interface overrides
|
||||||
virtual uint8_t read(address_space &space, offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
|
virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
|
||||||
virtual void write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
|
virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
required_device<mc146818_device> m_rtc;
|
required_device<mc146818_device> m_rtc;
|
||||||
|
@ -87,7 +87,7 @@ void electron_cumana_device::device_start()
|
|||||||
// read - cartridge data read
|
// read - cartridge data read
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
uint8_t electron_cumana_device::read(address_space &space, offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
|
uint8_t electron_cumana_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
@ -103,7 +103,7 @@ uint8_t electron_cumana_device::read(address_space &space, offs_t offset, int in
|
|||||||
break;
|
break;
|
||||||
case 0x98:
|
case 0x98:
|
||||||
case 0x9c:
|
case 0x9c:
|
||||||
data = m_rtc->read(space, BIT(offset, 2));
|
data = m_rtc->read(machine().dummy_space(), BIT(offset, 2));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -134,7 +134,7 @@ uint8_t electron_cumana_device::read(address_space &space, offs_t offset, int in
|
|||||||
// write - cartridge data write
|
// write - cartridge data write
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void electron_cumana_device::write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
|
void electron_cumana_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
|
||||||
{
|
{
|
||||||
if (infc)
|
if (infc)
|
||||||
{
|
{
|
||||||
@ -147,12 +147,11 @@ void electron_cumana_device::write(address_space &space, offs_t offset, uint8_t
|
|||||||
m_fdc->write(offset & 0x03, data);
|
m_fdc->write(offset & 0x03, data);
|
||||||
break;
|
break;
|
||||||
case 0x94:
|
case 0x94:
|
||||||
wd1793_control_w(space, 0, data);
|
wd1793_control_w(data);
|
||||||
break;
|
break;
|
||||||
case 0x98:
|
case 0x98:
|
||||||
case 0x9c:
|
case 0x9c:
|
||||||
m_rtc->write(space, BIT(offset, 2), data);
|
m_rtc->write(machine().dummy_space(), BIT(offset, 2), data);
|
||||||
break;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -170,7 +169,7 @@ void electron_cumana_device::write(address_space &space, offs_t offset, uint8_t
|
|||||||
// IMPLEMENTATION
|
// IMPLEMENTATION
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
WRITE8_MEMBER(electron_cumana_device::wd1793_control_w)
|
void electron_cumana_device::wd1793_control_w(uint8_t data)
|
||||||
{
|
{
|
||||||
floppy_image_device *floppy = nullptr;
|
floppy_image_device *floppy = nullptr;
|
||||||
|
|
||||||
|
@ -37,11 +37,11 @@ protected:
|
|||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
|
|
||||||
// electron_cart_interface overrides
|
// electron_cart_interface overrides
|
||||||
virtual uint8_t read(address_space &space, offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
|
virtual uint8_t read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2) override;
|
||||||
virtual void write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
|
virtual void write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DECLARE_WRITE8_MEMBER(wd1793_control_w);
|
void wd1793_control_w(uint8_t data);
|
||||||
DECLARE_FLOPPY_FORMATS(floppy_formats);
|
DECLARE_FLOPPY_FORMATS(floppy_formats);
|
||||||
|
|
||||||
required_device<fd1793_device> m_fdc;
|
required_device<fd1793_device> m_fdc;
|
||||||
|
@ -65,7 +65,7 @@ void electron_mgc_device::device_reset()
|
|||||||
// read - cartridge data read
|
// read - cartridge data read
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
uint8_t electron_mgc_device::read(address_space &space, offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
|
uint8_t electron_mgc_device::read(offs_t offset, int infc, int infd, int romqa, int oe, int oe2)
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
@ -82,7 +82,7 @@ uint8_t electron_mgc_device::read(address_space &space, offs_t offset, int infc,
|
|||||||
// write - cartridge data write
|
// write - cartridge data write
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void electron_mgc_device::write(address_space &space, offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
|
void electron_mgc_device::write(offs_t offset, uint8_t data, int infc, int infd, int romqa, int oe, int oe2)
|
||||||
{
|
{
|
||||||
if (infc)
|
if (infc)
|
||||||
{
|
{
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user