mirror of
https://github.com/libretro/mame2003-plus-libretro.git
synced 2026-11-07 17:28:32 -10:00
Compare commits
1394
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d3d8defb48 | ||
|
|
b12d6012b5 | ||
|
|
2decddc0b5 | ||
|
|
fd01c495ad | ||
|
|
eb611beff8 | ||
|
|
4a79de6337 | ||
|
|
7b1ad60b94 | ||
|
|
b5ca65f5fd | ||
|
|
5f39e722a5 | ||
|
|
74a1af5baf | ||
|
|
ccaebab82e | ||
|
|
aa2b32f913 | ||
|
|
b0068b501e | ||
|
|
3277597377 | ||
|
|
da8c86f159 | ||
|
|
e05caba0aa | ||
|
|
9d9d1ed901 | ||
|
|
155d68254c | ||
|
|
0fe5665808 | ||
|
|
97cb277199 | ||
|
|
d73ba22c26 | ||
|
|
64de9b21ed | ||
|
|
1104e225f9 | ||
|
|
21c9f8ffd4 | ||
|
|
10315f744e | ||
|
|
b52156ee5d | ||
|
|
a0ab0427b9 | ||
|
|
c620bfebef | ||
|
|
f073a5af73 | ||
|
|
0d9a325c96 | ||
|
|
31419303cb | ||
|
|
0077ef7e41 | ||
|
|
546424f3cd | ||
|
|
8393e124af | ||
|
|
0f72193fcc | ||
|
|
5da0428c7f | ||
|
|
e059bb0fe8 | ||
|
|
6e6f19aa43 | ||
|
|
9bbb94cf6d | ||
|
|
d3ac6c95f2 | ||
|
|
3a2f7f39b1 | ||
|
|
07a41088de | ||
|
|
21256d2412 | ||
|
|
a045126dad | ||
|
|
6c514a3242 | ||
|
|
dc1f391a83 | ||
|
|
93159c0ce9 | ||
|
|
5bbb84086c | ||
|
|
e9cebbf19d | ||
|
|
9125fe0fa7 | ||
|
|
80a84d2df0 | ||
|
|
d6bf36f65f | ||
|
|
bcd9192749 | ||
|
|
2cca444170 | ||
|
|
5d2f4a740b | ||
|
|
f183f9862b | ||
|
|
31c9da911c | ||
|
|
0191984c9e | ||
|
|
45f7a7f89f | ||
|
|
30f9b3fad9 | ||
|
|
eb164a5d84 | ||
|
|
4c5d7fb8bc | ||
|
|
fba48d2b5a | ||
|
|
d9a26ac7e8 | ||
|
|
a4a02f8f26 | ||
|
|
5373e38e10 | ||
|
|
9b296d7990 | ||
|
|
ab58a72ccf | ||
|
|
87a1286dfa | ||
|
|
7d7fc6d9d6 | ||
|
|
872b935cef | ||
|
|
3da943f4bc | ||
|
|
e7e9738f10 | ||
|
|
5bffa186b7 | ||
|
|
b22393988e | ||
|
|
b36d10e1a9 | ||
|
|
6702ed3e8c | ||
|
|
9041a9e6ac | ||
|
|
6db645cab6 | ||
|
|
53453e5767 | ||
|
|
a8af95df1d | ||
|
|
01f5a03bb3 | ||
|
|
3a69de934a | ||
|
|
e9249b97a8 | ||
|
|
95c5640969 | ||
|
|
b9b7bfaa2d | ||
|
|
92f3b5de84 | ||
|
|
00b9562d8b | ||
|
|
9e119625ae | ||
|
|
e784df7e3c | ||
|
|
bd5c1e12e3 | ||
|
|
f1d057d593 | ||
|
|
f6c6d9d3e4 | ||
|
|
4bba6ed207 | ||
|
|
5065fd21cf | ||
|
|
bcf5a63230 | ||
|
|
65314e3431 | ||
|
|
b235c48df0 | ||
|
|
93f5620304 | ||
|
|
731fe1119c | ||
|
|
ef7ac656f4 | ||
|
|
a0fbe9244f | ||
|
|
d035ea07d0 | ||
|
|
26cc26baf1 | ||
|
|
ddfdc07803 | ||
|
|
b426945e65 | ||
|
|
25fba78bcb | ||
|
|
0e8de267b7 | ||
|
|
f970c1ceba | ||
|
|
1b67618d3c | ||
|
|
8a37a04db6 | ||
|
|
e58d3285f4 | ||
|
|
0486855fed | ||
|
|
826e3630f4 | ||
|
|
db27e4e4ff | ||
|
|
198f6aa08c | ||
|
|
62c7089644 | ||
|
|
e2e9f71ae7 | ||
|
|
dbd33ad168 | ||
|
|
7e2d046e91 | ||
|
|
870e8ba3fa | ||
|
|
59b8a9fb06 | ||
|
|
48114cea1c | ||
|
|
a4239124d4 | ||
|
|
eb6fd2ada2 | ||
|
|
95803f09cd | ||
|
|
1e2be66646 | ||
|
|
1a97128775 | ||
|
|
5af62b9ed8 | ||
|
|
798e3c88aa | ||
|
|
28cd83e14c | ||
|
|
03b6f6862e | ||
|
|
c15a7890ce | ||
|
|
250d22b0cb | ||
|
|
7cd497bf48 | ||
|
|
0cc00a2d7d | ||
|
|
3f778c3a06 | ||
|
|
2761fabad1 | ||
|
|
0cd66be68c | ||
|
|
c29b4eabe8 | ||
|
|
d69dd909bc | ||
|
|
04fb75e4f1 | ||
|
|
145a8ef321 | ||
|
|
45b4158fbd | ||
|
|
933050f39a | ||
|
|
a29811e60e | ||
|
|
f4f2ba3f76 | ||
|
|
ada3b0c61f | ||
|
|
2ddba63b3e | ||
|
|
c369a8a8fd | ||
|
|
73d01a5dbb | ||
|
|
8def4b0202 | ||
|
|
09e84fe557 | ||
|
|
57af2900d6 | ||
|
|
c478eae748 | ||
|
|
caecdc1151 | ||
|
|
a3f85258e1 | ||
|
|
d3e5487008 | ||
|
|
decf81ee5d | ||
|
|
c557dee176 | ||
|
|
aa8c681b15 | ||
|
|
e7d1a6ecc1 | ||
|
|
b3a1d08946 | ||
|
|
c1de17eb54 | ||
|
|
925e165981 | ||
|
|
c39cef083b | ||
|
|
c7cb4c4af9 | ||
|
|
04fa16be53 | ||
|
|
53fca33a3b | ||
|
|
f307165454 | ||
|
|
69ea4c48ae | ||
|
|
ac2e805b22 | ||
|
|
d11a112920 | ||
|
|
0de5b2f6fa | ||
|
|
c58dedb458 | ||
|
|
c2128c3e82 | ||
|
|
7b705ae172 | ||
|
|
3d12f13318 | ||
|
|
a2edd51b13 | ||
|
|
a2b81fa548 | ||
|
|
666803b277 | ||
|
|
d76b3b7c40 | ||
|
|
0afd3c56c9 | ||
|
|
605eaa0dbe | ||
|
|
2e9c416450 | ||
|
|
4d0b821825 | ||
|
|
2b5fc26ee6 | ||
|
|
f8ca33c3fb | ||
|
|
fa5277dd98 | ||
|
|
5cd24817c9 | ||
|
|
1fa8c3ebcf | ||
|
|
4659e0ec0f | ||
|
|
fea2b1091a | ||
|
|
f4782d9cbb | ||
|
|
60b18093f8 | ||
|
|
58764e9840 | ||
|
|
5b1af7ead8 | ||
|
|
a9e700649e | ||
|
|
0244587c0a | ||
|
|
2e3cc1d434 | ||
|
|
da2832c302 | ||
|
|
bac1626f65 | ||
|
|
12d25f3872 | ||
|
|
5aaeebb791 | ||
|
|
6580600e3a | ||
|
|
5bb27497c5 | ||
|
|
d4cbcad0a0 | ||
|
|
8c9d48347c | ||
|
|
4df08f4096 | ||
|
|
c0f2066ae3 | ||
|
|
af6022eba8 | ||
|
|
93d38a487e | ||
|
|
4e1cc83e73 | ||
|
|
7908a5eaf0 | ||
|
|
1112627984 | ||
|
|
a5bb1f4425 | ||
|
|
ea05ce215a | ||
|
|
5529775a36 | ||
|
|
e590112a6a | ||
|
|
95b69c731b | ||
|
|
38d400c11e | ||
|
|
0ce322f784 | ||
|
|
f40e11ed06 | ||
|
|
2a1b904154 | ||
|
|
936133fa31 | ||
|
|
fd6c469d7f | ||
|
|
1225d5cab1 | ||
|
|
40476ed855 | ||
|
|
5f14197c94 | ||
|
|
50b963e8f3 | ||
|
|
aa7ce81f6e | ||
|
|
4893b3f744 | ||
|
|
86009afa16 | ||
|
|
558ef7258f | ||
|
|
ec335d3a61 | ||
|
|
989e6c14bc | ||
|
|
e3197d28cc | ||
|
|
bc53de2590 | ||
|
|
656c4c4341 | ||
|
|
9efe0b7af8 | ||
|
|
0b630c106a | ||
|
|
bbf93723ac | ||
|
|
3cd3740515 | ||
|
|
82c214ba5e | ||
|
|
191b588dff | ||
|
|
b10f326a72 | ||
|
|
7c239b1429 | ||
|
|
ef52c07615 | ||
|
|
1bf1aff46e | ||
|
|
a2a0b4faa3 | ||
|
|
d58829ab3b | ||
|
|
2b709bcf70 | ||
|
|
beb3b9f226 | ||
|
|
2cbe2659ad | ||
|
|
90ae4b521b | ||
|
|
dfc557cbad | ||
|
|
f691beea3b | ||
|
|
100b135223 | ||
|
|
fa588eea44 | ||
|
|
cea00d3aa5 | ||
|
|
e8d87e9db1 | ||
|
|
ece4dea4fd | ||
|
|
e70655ce44 | ||
|
|
cbe5872688 | ||
|
|
48d8b87c9a | ||
|
|
3989fc7e1c | ||
|
|
ac1346d264 | ||
|
|
90cdced290 | ||
|
|
98b21c864e | ||
|
|
fc802d496d | ||
|
|
084885f9aa | ||
|
|
23928f5e4a | ||
|
|
5b2782e5b7 | ||
|
|
0fcccae96e | ||
|
|
61305d6032 | ||
|
|
aee3dac97c | ||
|
|
dd6a6e5041 | ||
|
|
ab4c818d75 | ||
|
|
38a426d27d | ||
|
|
79a094df21 | ||
|
|
aaf1a95728 | ||
|
|
564b73c513 | ||
|
|
61c9d71fa1 | ||
|
|
1fe0821faa | ||
|
|
5ca1a2d01f | ||
|
|
4eb7f7cbce | ||
|
|
75853b49e6 | ||
|
|
0b461178ad | ||
|
|
445fa5fec6 | ||
|
|
ac4fe980fa | ||
|
|
4089958aeb | ||
|
|
689fa63dc8 | ||
|
|
206a22a875 | ||
|
|
465e91a8d3 | ||
|
|
3251db24cf | ||
|
|
3448ee617b | ||
|
|
664e176cb0 | ||
|
|
bd51bc81b8 | ||
|
|
47d6b272b8 | ||
|
|
7283fb9ab7 | ||
|
|
3fc99dfd31 | ||
|
|
4a9aec73e5 | ||
|
|
f9919eee24 | ||
|
|
1d144fc476 | ||
|
|
8781823ff8 | ||
|
|
ab1276f90d | ||
|
|
5dba741f7a | ||
|
|
6d469936e2 | ||
|
|
0ef78a9a4e | ||
|
|
329f28e34b | ||
|
|
19fac219f3 | ||
|
|
63614309dd | ||
|
|
b73691f933 | ||
|
|
1650537bf6 | ||
|
|
2063e86f23 | ||
|
|
74f4296b0f | ||
|
|
b79faa11ef | ||
|
|
b340ce492d | ||
|
|
fd4932189d | ||
|
|
f903e2e110 | ||
|
|
b00ea1c957 | ||
|
|
523f6bc471 | ||
|
|
b7596f26f2 | ||
|
|
fda76d238d | ||
|
|
3b8fd05b7f | ||
|
|
3545ffa17d | ||
|
|
2f8ebc37ad | ||
|
|
627eb92a58 | ||
|
|
8df15d2726 | ||
|
|
59329d99c2 | ||
|
|
d290c6573f | ||
|
|
7bc63c35e0 | ||
|
|
e97cd0d6e2 | ||
|
|
c86232158c | ||
|
|
90f5941078 | ||
|
|
ba1a04bfef | ||
|
|
7a8876bba7 | ||
|
|
8daf4bcd9b | ||
|
|
44062887a6 | ||
|
|
5ff6e11472 | ||
|
|
2fbb6b7230 | ||
|
|
83eb31b093 | ||
|
|
094f896dbd | ||
|
|
9965d14d88 | ||
|
|
4b0a347a56 | ||
|
|
fb9550dc7c | ||
|
|
34ebf55a63 | ||
|
|
fa5877d00f | ||
|
|
3352d872b1 | ||
|
|
cfb86a37f3 | ||
|
|
883b14f2b7 | ||
|
|
b3caefeed3 | ||
|
|
e915f1ed77 | ||
|
|
e6802571c6 | ||
|
|
8338ca7626 | ||
|
|
5cd6c6a192 | ||
|
|
81333f3e52 | ||
|
|
4c2e4460bb | ||
|
|
76db9b75c3 | ||
|
|
9717fc0f2b | ||
|
|
6052f9e4d3 | ||
|
|
9511d7fa8f | ||
|
|
0da03f2489 | ||
|
|
505010fe51 | ||
|
|
96bf3d2d73 | ||
|
|
dd862a8b54 | ||
|
|
c994b0584d | ||
|
|
6009a8ed48 | ||
|
|
5304594287 | ||
|
|
63d5c26b58 | ||
|
|
8db6d05653 | ||
|
|
c9428ec1c1 | ||
|
|
b6f99029dd | ||
|
|
9221b2f66d | ||
|
|
3aa773e2a4 | ||
|
|
76830b0644 | ||
|
|
404be42674 | ||
|
|
3988b35060 | ||
|
|
4092d12132 | ||
|
|
c6250585b8 | ||
|
|
c90157bdc0 | ||
|
|
5f5e325987 | ||
|
|
c24656582d | ||
|
|
6135089740 | ||
|
|
9b359c8a21 | ||
|
|
1b448cefe8 | ||
|
|
27f6fd58d0 | ||
|
|
03f92aa4e2 | ||
|
|
647045487e | ||
|
|
4e37a655f3 | ||
|
|
7d4e2ccc01 | ||
|
|
8e504dda18 | ||
|
|
28a3bcc3db | ||
|
|
4986bd37b3 | ||
|
|
77808fade3 | ||
|
|
8297da7659 | ||
|
|
f6c88f7391 | ||
|
|
1ad788fe88 | ||
|
|
cf2f727441 | ||
|
|
eccf3f5a1c | ||
|
|
931741d4ba | ||
|
|
9234555754 | ||
|
|
994829d390 | ||
|
|
446d248d73 | ||
|
|
59ec9ae9a9 | ||
|
|
04af4c8ecb | ||
|
|
17cd76a4d1 | ||
|
|
3d41dd63ec | ||
|
|
7d863fe55b | ||
|
|
20f53256b1 | ||
|
|
7a3745c91b | ||
|
|
6c7587ab08 | ||
|
|
2e126b09b6 | ||
|
|
d9f7c75d0f | ||
|
|
9094949e68 | ||
|
|
7c91c55083 | ||
|
|
d22b80aafa | ||
|
|
8455198aa0 | ||
|
|
5f60a36894 | ||
|
|
6b2291d140 | ||
|
|
c39dc96a47 | ||
|
|
7e3f5c55d7 | ||
|
|
42daae9497 | ||
|
|
93e5fbe660 | ||
|
|
e4830a0f5b | ||
|
|
8b23d0f1c3 | ||
|
|
107d488712 | ||
|
|
bac6ff86fc | ||
|
|
bd371b5c70 | ||
|
|
33ac7ce4c8 | ||
|
|
555c824944 | ||
|
|
2f6b79b8cd | ||
|
|
2227597ff7 | ||
|
|
354384a08e | ||
|
|
b16dbc66e0 | ||
|
|
95806c35f7 | ||
|
|
f38ab5903e | ||
|
|
91279be5ea | ||
|
|
f8f0f8100c | ||
|
|
c107ff4821 | ||
|
|
2b9c96b8f3 | ||
|
|
da281a6845 | ||
|
|
00aab4a06a | ||
|
|
3cad29367f | ||
|
|
f0983d56c8 | ||
|
|
dae678270e | ||
|
|
20ca69a61a | ||
|
|
7c1d241f98 | ||
|
|
192492c28d | ||
|
|
00656ef605 | ||
|
|
064f99db63 | ||
|
|
9f52be61b4 | ||
|
|
95969cb409 | ||
|
|
dd43fddb29 | ||
|
|
99dfc6d319 | ||
|
|
87e9241898 | ||
|
|
0ad38d26f5 | ||
|
|
e8f7ade377 | ||
|
|
1e1aee8b01 | ||
|
|
4e4a80bf07 | ||
|
|
5120c554cf | ||
|
|
957856360c | ||
|
|
3c3f5d2018 | ||
|
|
081f2fc388 | ||
|
|
eb5d8b6d91 | ||
|
|
68081252a6 | ||
|
|
7f6cc6f289 | ||
|
|
93ed77caac | ||
|
|
cfe38c91c9 | ||
|
|
cbfdd3cfac | ||
|
|
8ed99f0665 | ||
|
|
5f98dc3cf1 | ||
|
|
3807c39bcd | ||
|
|
4adf11f0eb | ||
|
|
444bc10c2a | ||
|
|
fe1ede7f5d | ||
|
|
2fd4b574c4 | ||
|
|
ae63a9992d | ||
|
|
765f054e02 | ||
|
|
8ffa3c7736 | ||
|
|
4b1655566a | ||
|
|
48bf0c6576 | ||
|
|
12e98d3825 | ||
|
|
fbec48de26 | ||
|
|
3ff70f1049 | ||
|
|
6a35683078 | ||
|
|
7623e02f22 | ||
|
|
ff9a89de8d | ||
|
|
244018ddec | ||
|
|
3da9f7be18 | ||
|
|
10e5792459 | ||
|
|
ba480f9240 | ||
|
|
5ad53fe043 | ||
|
|
5d37a2a958 | ||
|
|
f5adc67bf3 | ||
|
|
bc5668c328 | ||
|
|
dae79e6881 | ||
|
|
1845ee2d95 | ||
|
|
944d73bad6 | ||
|
|
250b08ed78 | ||
|
|
ddbf2ac634 | ||
|
|
3ca57f4a5f | ||
|
|
a548b52061 | ||
|
|
65c195b90a | ||
|
|
c12965bea4 | ||
|
|
1035dfb264 | ||
|
|
3feca60b07 | ||
|
|
49596a7797 | ||
|
|
eb6295935f | ||
|
|
3a0e3d8426 | ||
|
|
d2b68cced4 | ||
|
|
389511ca3a | ||
|
|
a01198fd90 | ||
|
|
2dbcd8a014 | ||
|
|
4af6b905b9 | ||
|
|
a2ca0fc5ef | ||
|
|
174bdd15b7 | ||
|
|
abaf52d4ec | ||
|
|
6e32442172 | ||
|
|
e04cf9cba9 | ||
|
|
d8fbbeb585 | ||
|
|
5cb2e3756a | ||
|
|
1ae2425549 | ||
|
|
82d079d86c | ||
|
|
48b565393f | ||
|
|
0997277c7c | ||
|
|
cd4a083788 | ||
|
|
2ac37bb5f2 | ||
|
|
e57f1dc31c | ||
|
|
0720293e22 | ||
|
|
61dc29213d | ||
|
|
820b214bb7 | ||
|
|
4db726c6b8 | ||
|
|
358f5c012a | ||
|
|
d1ea797420 | ||
|
|
720ef0c5d9 | ||
|
|
62bf8afca9 | ||
|
|
85edcf5588 | ||
|
|
29def6ac5b | ||
|
|
333a6d550e | ||
|
|
655690dc68 | ||
|
|
a52de11944 | ||
|
|
cfc1a05064 | ||
|
|
bdf262379f | ||
|
|
98944d3c0a | ||
|
|
643c9bcf73 | ||
|
|
0fe6f58200 | ||
|
|
edc216ffa0 | ||
|
|
1b5869c510 | ||
|
|
d6fdae0a80 | ||
|
|
52cc561a4c | ||
|
|
81819b43b5 | ||
|
|
015fbd88bf | ||
|
|
efaec4f28e | ||
|
|
73e2aeed93 | ||
|
|
d4a5bf4581 | ||
|
|
00679d3b78 | ||
|
|
df1d09749d | ||
|
|
ffe307aaa4 | ||
|
|
c81ea394a6 | ||
|
|
34e265745f | ||
|
|
e6c5af4d79 | ||
|
|
da3548f3c9 | ||
|
|
fffb0665cd | ||
|
|
69e4b68a07 | ||
|
|
48e8458483 | ||
|
|
7a18e6289a | ||
|
|
686b8976ff | ||
|
|
ab6a8d9d31 | ||
|
|
88784633bc | ||
|
|
0422413bbb | ||
|
|
3233570240 | ||
|
|
f3bbd6284a | ||
|
|
1337ed4d1e | ||
|
|
f01f6c68c8 | ||
|
|
4bbd426645 | ||
|
|
a3e1bdecc2 | ||
|
|
6cfb3b4039 | ||
|
|
a510183a53 | ||
|
|
96034b6efe | ||
|
|
b6aac3b869 | ||
|
|
20522a26c6 | ||
|
|
f0294304be | ||
|
|
148188345e | ||
|
|
d399fb0434 | ||
|
|
3baee8fd74 | ||
|
|
3206819c48 | ||
|
|
418fe399ad | ||
|
|
be073fe1c5 | ||
|
|
c729e24b83 | ||
|
|
3e74766852 | ||
|
|
88061f4328 | ||
|
|
ecd00b1818 | ||
|
|
6f006b90a0 | ||
|
|
e49d9946a3 | ||
|
|
b37ce12303 | ||
|
|
7e0673fb35 | ||
|
|
00f12f2da7 | ||
|
|
4e47c2409b | ||
|
|
2a2ba583af | ||
|
|
b0bd7ab4a2 | ||
|
|
fa04706178 | ||
|
|
a5646f7531 | ||
|
|
929ebe9e4f | ||
|
|
5f0dff3012 | ||
|
|
97dfe652db | ||
|
|
b40699ea65 | ||
|
|
1b56b20cd6 | ||
|
|
38ec1ab42b | ||
|
|
4cc15fa4a1 | ||
|
|
a9cfcedc65 | ||
|
|
5abffa8e29 | ||
|
|
3bb111a8cd | ||
|
|
f0135f7f61 | ||
|
|
ad1eeb8b08 | ||
|
|
b7ed1be7b3 | ||
|
|
d67bd2534a | ||
|
|
2154d31e62 | ||
|
|
a663899c7d | ||
|
|
ab725a7f30 | ||
|
|
95165d5638 | ||
|
|
32f28b41c1 | ||
|
|
71c6b8ca36 | ||
|
|
11fad92fae | ||
|
|
6c1d0f0a0a | ||
|
|
80d41e0245 | ||
|
|
73d72aea18 | ||
|
|
f0a37ce4ba | ||
|
|
f581919cac | ||
|
|
7603522cb4 | ||
|
|
d6732ad36a | ||
|
|
0fe764272f | ||
|
|
e637995d2c | ||
|
|
c275c79fe5 | ||
|
|
bb864ca20b | ||
|
|
3d88790f03 | ||
|
|
d3b616a590 | ||
|
|
2d10f9a22a | ||
|
|
b3982cb1a4 | ||
|
|
453f715014 | ||
|
|
32784c7879 | ||
|
|
8f5c5db523 | ||
|
|
b81e4dd719 | ||
|
|
fd902427ef | ||
|
|
7ca870c416 | ||
|
|
21268ea8c7 | ||
|
|
5c52291ec4 | ||
|
|
bf25033136 | ||
|
|
c31cf77a12 | ||
|
|
bc10b807b1 | ||
|
|
113f8fe342 | ||
|
|
0ed70a12f1 | ||
|
|
847393a71d | ||
|
|
6473d053aa | ||
|
|
f6ef16f4fb | ||
|
|
d688f4fd49 | ||
|
|
e4c17d5277 | ||
|
|
2df4978081 | ||
|
|
d43251da46 | ||
|
|
859476acf9 | ||
|
|
2a358de827 | ||
|
|
cbafc60d5f | ||
|
|
f03f865af9 | ||
|
|
0d7dfa721f | ||
|
|
aafe295d5b | ||
|
|
ee777f235b | ||
|
|
8e60ed0217 | ||
|
|
f0f77bee45 | ||
|
|
f8b0565fd3 | ||
|
|
a7cb863de4 | ||
|
|
3bfa9f89ab | ||
|
|
eaaf94a351 | ||
|
|
5ccce74b43 | ||
|
|
d3bc97daaf | ||
|
|
9270cf4827 | ||
|
|
1a5b4b75e1 | ||
|
|
a5582a4f76 | ||
|
|
c3b9159216 | ||
|
|
fc987f1913 | ||
|
|
ce562d9348 | ||
|
|
e15cd2be08 | ||
|
|
0ead99edaf | ||
|
|
7f7ead9766 | ||
|
|
b75cb35726 | ||
|
|
a4d62997d3 | ||
|
|
2f135b9efb | ||
|
|
a33e5c0a18 | ||
|
|
5373f31ca3 | ||
|
|
89c8b2f4f9 | ||
|
|
2ad90f22d7 | ||
|
|
75a6289408 | ||
|
|
3f0bb3c930 | ||
|
|
8646ec13f6 | ||
|
|
ac64834ea6 | ||
|
|
fc6bd6b640 | ||
|
|
3a1a18e780 | ||
|
|
debcb547ea | ||
|
|
2823e46675 | ||
|
|
42c6e1bc88 | ||
|
|
fb90c4b9d2 | ||
|
|
e1679b2a6e | ||
|
|
cbe2d591bd | ||
|
|
53c6083a20 | ||
|
|
4924228dd5 | ||
|
|
52b0100473 | ||
|
|
692c1f9823 | ||
|
|
283a78420c | ||
|
|
8ba9cc0f03 | ||
|
|
fb653702f0 | ||
|
|
ff664cf8ec | ||
|
|
61b0f3a590 | ||
|
|
517e2896ad | ||
|
|
25f3e82011 | ||
|
|
c7bcc47d11 | ||
|
|
0d0461201d | ||
|
|
ee4c13520c | ||
|
|
84f35d3af0 | ||
|
|
d850ce5788 | ||
|
|
aed76b26cc | ||
|
|
b0bb203aef | ||
|
|
06a353b6bc | ||
|
|
9ae3c01cf0 | ||
|
|
9a45ce9b9b | ||
|
|
d032999421 | ||
|
|
f1b1412f1b | ||
|
|
ea3919785d | ||
|
|
4523c667ca | ||
|
|
55f2f22d3e | ||
|
|
cc8e6844c0 | ||
|
|
a536089b07 | ||
|
|
5d4212664d | ||
|
|
8c7797066d | ||
|
|
bf07e0f409 | ||
|
|
3e69da17a8 | ||
|
|
00ceb5fffe | ||
|
|
fb65e590ca | ||
|
|
32fa606e82 | ||
|
|
b61da7548e | ||
|
|
b9654b8b02 | ||
|
|
c3e15ebd51 | ||
|
|
99644ccca8 | ||
|
|
7af5e18c3c | ||
|
|
3934ad7f6a | ||
|
|
3d03cc4bc2 | ||
|
|
b4b8587904 | ||
|
|
f93c2f282f | ||
|
|
43b5d1f40e | ||
|
|
70c76b9cdc | ||
|
|
fe73badfd0 | ||
|
|
f7e4b68db4 | ||
|
|
0fecaf751c | ||
|
|
d2025b36e1 | ||
|
|
323d05b90d | ||
|
|
45129616ec | ||
|
|
380fa9092e | ||
|
|
dbc6abe094 | ||
|
|
f65ef6d39a | ||
|
|
e69f753722 | ||
|
|
59e49400fa | ||
|
|
eddec6d603 | ||
|
|
c05ce28cba | ||
|
|
3523655080 | ||
|
|
23db610f65 | ||
|
|
156b3873fb | ||
|
|
a34654262c | ||
|
|
b320a1ffc5 | ||
|
|
a477a49a26 | ||
|
|
bd41eb7547 | ||
|
|
40c457994d | ||
|
|
a9eab878c4 | ||
|
|
cbe887d64d | ||
|
|
c711a0d870 | ||
|
|
7bdf57b5de | ||
|
|
a6e6e44e55 | ||
|
|
79aee414b6 | ||
|
|
c0afa9cf2f | ||
|
|
419021fc00 | ||
|
|
912f435b61 | ||
|
|
48f1c5bbb4 | ||
|
|
e4935d64a8 | ||
|
|
bb7d918fa9 | ||
|
|
3cb60f8a87 | ||
|
|
695df35cf6 | ||
|
|
e1719ffa2e | ||
|
|
0335c8926e | ||
|
|
619c8b94f1 | ||
|
|
ae56d31289 | ||
|
|
ea78a50a2f | ||
|
|
b13e614093 | ||
|
|
cb3386c2dc | ||
|
|
7710d0c3eb | ||
|
|
1dece012e7 | ||
|
|
090df601be | ||
|
|
31e47d03f7 | ||
|
|
bec7506023 | ||
|
|
2e712d1650 | ||
|
|
ab1ce8f1df | ||
|
|
0053ae45a0 | ||
|
|
e8bd2db9db | ||
|
|
442a839ad7 | ||
|
|
cc6a2b0391 | ||
|
|
0a8c91ea27 | ||
|
|
9c7137f8a9 | ||
|
|
c76d6ea5bb | ||
|
|
63d624c17f | ||
|
|
e28af780b8 | ||
|
|
bdce39527e | ||
|
|
7c543ef481 | ||
|
|
93f7845200 | ||
|
|
bdd9abedde | ||
|
|
a1ff7485de | ||
|
|
d4cc36cb28 | ||
|
|
09c04473e9 | ||
|
|
222b32bc6f | ||
|
|
a009e4fa43 | ||
|
|
ce04eda93b | ||
|
|
5bb0cc4268 | ||
|
|
441c431362 | ||
|
|
fa55e30ad1 | ||
|
|
f9eed30e9d | ||
|
|
94c3496b1e | ||
|
|
0294852719 | ||
|
|
e1557a79bd | ||
|
|
6c413c298f | ||
|
|
b72133ac05 | ||
|
|
a146f060eb | ||
|
|
cf23344e52 | ||
|
|
1d6b85fee5 | ||
|
|
7dab4451cc | ||
|
|
e0a82be141 | ||
|
|
36f3d061e7 | ||
|
|
5f335470f4 | ||
|
|
b0d18750ed | ||
|
|
e0f4c66ec4 | ||
|
|
3091ddb45f | ||
|
|
671d3e481d | ||
|
|
b3a143706d | ||
|
|
e7048e4170 | ||
|
|
7a6d119048 | ||
|
|
f3c893e2cd | ||
|
|
aac6c20c8f | ||
|
|
0f7a9b8355 | ||
|
|
5a4eb1e4da | ||
|
|
138893e6f2 | ||
|
|
4406607dca | ||
|
|
ed20b64b07 | ||
|
|
89298ff123 | ||
|
|
b4b499aacd | ||
|
|
423f536a18 | ||
|
|
af2a85078f | ||
|
|
020efc01b4 | ||
|
|
6c37b976df | ||
|
|
9c7d3344bd | ||
|
|
aa9483fb32 | ||
|
|
41e7d82106 | ||
|
|
c5bba9e35c | ||
|
|
5f3068d39c | ||
|
|
04eb7a1b1f | ||
|
|
3af552873f | ||
|
|
bdc942211f | ||
|
|
3a02e0dc17 | ||
|
|
d08c7a5eb2 | ||
|
|
71766e8f0c | ||
|
|
891264bca3 | ||
|
|
5caabb169f | ||
|
|
87ae927539 | ||
|
|
2ec0caa3bb | ||
|
|
5e1b4bbc08 | ||
|
|
bae5a79322 | ||
|
|
1df09d273c | ||
|
|
7198ad2fba | ||
|
|
56be1182df | ||
|
|
1af4b556f7 | ||
|
|
966c10ed34 | ||
|
|
33b20043b8 | ||
|
|
f71f0abcb5 | ||
|
|
cd49b89ede | ||
|
|
f40335e800 | ||
|
|
4061b719fe | ||
|
|
16f6c696d9 | ||
|
|
13e588ec3b | ||
|
|
40a0a2e392 | ||
|
|
4ca349c84f | ||
|
|
bcb814002c | ||
|
|
21e8f8ac0b | ||
|
|
00ead5d666 | ||
|
|
d71dbc1b57 | ||
|
|
d013fdf977 | ||
|
|
d8f12a0220 | ||
|
|
e460eb1a29 | ||
|
|
e940e1a16f | ||
|
|
1c1e9b7687 | ||
|
|
a2f76b2c4e | ||
|
|
c2053dd23b | ||
|
|
cc2e1fe5bb | ||
|
|
b9966def4e | ||
|
|
471ea5ac1b | ||
|
|
756ccb779c | ||
|
|
48b7cd0522 | ||
|
|
c6a799c425 | ||
|
|
77826515fb | ||
|
|
dd704f41f3 | ||
|
|
d44ef2350b | ||
|
|
f52a75644d | ||
|
|
c0b4997051 | ||
|
|
cb5043777a | ||
|
|
7f357c5e06 | ||
|
|
ae4e3ecac1 | ||
|
|
7454b53f05 | ||
|
|
7bbcf469b1 | ||
|
|
ba41a3defe | ||
|
|
26437fde9b | ||
|
|
f47cba8b11 | ||
|
|
379d50b456 | ||
|
|
07485ae940 | ||
|
|
9af3976990 | ||
|
|
cafc5561fe | ||
|
|
89fb66229c | ||
|
|
bd51a0b1fe | ||
|
|
c58084c51a | ||
|
|
7f6ac8455a | ||
|
|
7400d8290b | ||
|
|
a9d71ca339 | ||
|
|
f992c9a035 | ||
|
|
b8a0db71ff | ||
|
|
42c09141c4 | ||
|
|
03464271d6 | ||
|
|
27823d7192 | ||
|
|
8f4e0ecf34 | ||
|
|
0497f72daf | ||
|
|
0b030b9e9d | ||
|
|
d5e42aa060 | ||
|
|
f2018dfc2d | ||
|
|
f146ea961e | ||
|
|
0208cc9924 | ||
|
|
83e4f7d40d | ||
|
|
4eea3d4d1c | ||
|
|
50e97e91b1 | ||
|
|
edf18a8809 | ||
|
|
700bea86f6 | ||
|
|
aa0bc2d268 | ||
|
|
02bbcf6f86 | ||
|
|
0b9309d9d8 | ||
|
|
acd45da2ec | ||
|
|
5a6db85846 | ||
|
|
db769cc0ca | ||
|
|
b0f3b7bd10 | ||
|
|
cc2ddd5458 | ||
|
|
ecc722cb5f | ||
|
|
f5ce5d301c | ||
|
|
981fe9b338 | ||
|
|
2bd4ba1be0 | ||
|
|
8337a2ad73 | ||
|
|
0db1cbe704 | ||
|
|
d757c21d0f | ||
|
|
9f2dffe5ff | ||
|
|
41d8e2e425 | ||
|
|
62408bb3c4 | ||
|
|
92d1f6e814 | ||
|
|
90d84caf9e | ||
|
|
02a3d2a000 | ||
|
|
e0d4ece3b2 | ||
|
|
d3d07b2eb7 | ||
|
|
a9613c5b11 | ||
|
|
bf4f26f6fd | ||
|
|
3ed410ea73 | ||
|
|
c4b556fdb5 | ||
|
|
995cee485e | ||
|
|
7cc1688669 | ||
|
|
fd3820efef | ||
|
|
3f377aeba3 | ||
|
|
b8213ff599 | ||
|
|
e877ace351 | ||
|
|
8a0ef0f493 | ||
|
|
2af7f3ca9d | ||
|
|
7d2f5c21c9 | ||
|
|
ef14861d8e | ||
|
|
609e8c43dd | ||
|
|
c48d49e706 | ||
|
|
2b38212664 | ||
|
|
6b795e0243 | ||
|
|
758a3a573b | ||
|
|
e9a6173d05 | ||
|
|
030e54907f | ||
|
|
6a475f7399 | ||
|
|
86b4abf6b2 | ||
|
|
6ec15145e8 | ||
|
|
57c5796c48 | ||
|
|
fb230aad1e | ||
|
|
a3c987880c | ||
|
|
926d85c940 | ||
|
|
d491ec4ad9 | ||
|
|
f34453af7f | ||
|
|
ec4bb7b7e5 | ||
|
|
b30ebee2d9 | ||
|
|
1dd0eba80c | ||
|
|
281acd239f | ||
|
|
6726ad759d | ||
|
|
fffe8d17ab | ||
|
|
3e666d814f | ||
|
|
a9672c4bf8 | ||
|
|
8d61636bd2 | ||
|
|
85b55f2b92 | ||
|
|
847832af18 | ||
|
|
40bd18a356 | ||
|
|
e31c8116ca | ||
|
|
20ead953b4 | ||
|
|
77eb396fd4 | ||
|
|
8c1b19c61f | ||
|
|
3a12fda068 | ||
|
|
f4cf2dd027 | ||
|
|
fc34ab6986 | ||
|
|
44d02349a2 | ||
|
|
f81297eb63 | ||
|
|
efcb9caf8a | ||
|
|
37c1ce2394 | ||
|
|
3631d8d370 | ||
|
|
c8a3a254cd | ||
|
|
1177518a15 | ||
|
|
fe9dae3453 | ||
|
|
62e8f31f3f | ||
|
|
60bfb60bdc | ||
|
|
b8c90d9b3c | ||
|
|
b3c0d6db39 | ||
|
|
eba3d6144e | ||
|
|
918f94a52b | ||
|
|
f873e768ee | ||
|
|
de117504ea | ||
|
|
d26ef91553 | ||
|
|
bd02bf2ef7 | ||
|
|
6c9dd2cd48 | ||
|
|
92154f8c2e | ||
|
|
2510e857b0 | ||
|
|
e5be46e100 | ||
|
|
b0f22e6c8d | ||
|
|
8641b827ab | ||
|
|
3249de7cea | ||
|
|
cb4049518f | ||
|
|
a84a95c961 | ||
|
|
b6019e6867 | ||
|
|
d7579d7c3c | ||
|
|
6493fe876a | ||
|
|
8f689fd8c9 | ||
|
|
c7eb9822d6 | ||
|
|
71cb57025c | ||
|
|
4d47ebefb8 | ||
|
|
dc90a6ad07 | ||
|
|
c3cc141d53 | ||
|
|
214770c2a1 | ||
|
|
bc8034c428 | ||
|
|
8e722788c1 | ||
|
|
cf9d8aafae | ||
|
|
8aafa9d05c | ||
|
|
8838c7d7a8 | ||
|
|
93f136337b | ||
|
|
c9567f29cb | ||
|
|
0b5d8d9a1e | ||
|
|
c674416dd1 | ||
|
|
6746febb7e | ||
|
|
51568444a5 | ||
|
|
d384a6a0d8 | ||
|
|
76e7239615 | ||
|
|
2a89bca81e | ||
|
|
00302ae29c | ||
|
|
1557b859cc | ||
|
|
a92d40e016 | ||
|
|
7036b95ae5 | ||
|
|
f5d2d70430 | ||
|
|
5269c0c448 | ||
|
|
92c0885b22 | ||
|
|
12b4c90b91 | ||
|
|
1584977db1 | ||
|
|
231842c171 | ||
|
|
75f3092886 | ||
|
|
d22f343163 | ||
|
|
2a84481f03 | ||
|
|
decbfe79a8 | ||
|
|
d9c151c4d6 | ||
|
|
15d060afeb | ||
|
|
4537e24549 | ||
|
|
8dd631bcb2 | ||
|
|
5dd4a30500 | ||
|
|
b0525f6bfc | ||
|
|
1654a0c039 | ||
|
|
6bdb7be5ec | ||
|
|
36871ff63d | ||
|
|
b2b642c517 | ||
|
|
369dd20a68 | ||
|
|
89c43d62c0 | ||
|
|
58cd144b11 | ||
|
|
ae88d3a4c9 | ||
|
|
522c5b0601 | ||
|
|
1a84070cc4 | ||
|
|
7478b34302 | ||
|
|
b5e55c9820 | ||
|
|
9831bccec4 | ||
|
|
8df01583bf | ||
|
|
cb8dbb62f5 | ||
|
|
cf1d3a9eca | ||
|
|
7836cc7720 | ||
|
|
b9acd0a714 | ||
|
|
4f92cd7ed5 | ||
|
|
aecfaf27c3 | ||
|
|
bc2bd4ddf8 | ||
|
|
4bf97d5a49 | ||
|
|
4bdef31591 | ||
|
|
c0e13731eb | ||
|
|
b31d1ac0dd | ||
|
|
52e8fd474a | ||
|
|
7b276db014 | ||
|
|
062c22a249 | ||
|
|
d5a70f9bf9 | ||
|
|
0d94558f53 | ||
|
|
533bf97d22 | ||
|
|
a6aedcc66c | ||
|
|
de97cc4bfe | ||
|
|
a16eb6d24d | ||
|
|
5fbf6ce577 | ||
|
|
e41903d6bc | ||
|
|
e2fa73fa75 | ||
|
|
b3fe591f9f | ||
|
|
87ec1eab73 | ||
|
|
d88d5c118e | ||
|
|
2eb26d64a1 | ||
|
|
ca2223574f | ||
|
|
75401fee25 | ||
|
|
873e5751fc | ||
|
|
dc57125243 | ||
|
|
8581c7d83a | ||
|
|
843b9475c0 | ||
|
|
e7c5e866f2 | ||
|
|
8d842197cc | ||
|
|
f1ff259775 | ||
|
|
f78baa9e6c | ||
|
|
36d6eb427d | ||
|
|
982db57b32 | ||
|
|
5d09a38282 | ||
|
|
0383ad2c57 | ||
|
|
fa46714923 | ||
|
|
aa0a8682ef | ||
|
|
6bd286e297 | ||
|
|
d65b98f4b5 | ||
|
|
7b2607e059 | ||
|
|
58dff874ec | ||
|
|
15349c4529 | ||
|
|
3f2785447b | ||
|
|
a3aec9be50 | ||
|
|
b2fe08afd2 | ||
|
|
4bab1ffc43 | ||
|
|
94cf80b829 | ||
|
|
e7c575a8fe | ||
|
|
2070ecc640 | ||
|
|
20cd2a38fa | ||
|
|
afb32e592b | ||
|
|
922df51837 | ||
|
|
df23da8827 | ||
|
|
c58894e0c6 | ||
|
|
52ae0968ce | ||
|
|
839db58c41 | ||
|
|
dd4c8ebc6f | ||
|
|
3686446132 | ||
|
|
2d51266fa6 | ||
|
|
1865122b58 | ||
|
|
ee203e3922 | ||
|
|
d0a3f1b46f | ||
|
|
e1802ffb73 | ||
|
|
5beccdc8e8 | ||
|
|
daab00d69c | ||
|
|
13e41517ab | ||
|
|
b09b06a4f4 | ||
|
|
f58c4e190b | ||
|
|
4e9f777cd4 | ||
|
|
f81421eb9a | ||
|
|
46bfbb2a91 | ||
|
|
e03d6bf74b | ||
|
|
26b145f0e0 | ||
|
|
e0b28e73c6 | ||
|
|
3e36be0646 | ||
|
|
05054e294e | ||
|
|
52a8cb60a8 | ||
|
|
bba8558618 | ||
|
|
0e52288cb2 | ||
|
|
ab455c7515 | ||
|
|
6fca6b8811 | ||
|
|
bdf96e5905 | ||
|
|
78bf492f69 | ||
|
|
55c1297356 | ||
|
|
6d0c845d71 | ||
|
|
080345ea0b | ||
|
|
638c9479ab | ||
|
|
973723e7d3 | ||
|
|
e0dbe3049e | ||
|
|
22db76a273 | ||
|
|
f53fe6f227 | ||
|
|
615cd22e93 | ||
|
|
a05c01bb7e | ||
|
|
fc1530a166 | ||
|
|
8c73745835 | ||
|
|
c3685fcbcd | ||
|
|
bf8a170147 | ||
|
|
a9215e45d5 | ||
|
|
e7013bd828 | ||
|
|
9cfa3c15ff | ||
|
|
7b4b84cfe2 | ||
|
|
bc6b1c9fdd | ||
|
|
73bd6791f8 | ||
|
|
d3e1992150 | ||
|
|
2524d27313 | ||
|
|
b8600d2c2f | ||
|
|
d2dd2e6688 | ||
|
|
d601e59092 | ||
|
|
e27d8760e4 | ||
|
|
4a0a89925d | ||
|
|
b535de4355 | ||
|
|
06f0a08381 | ||
|
|
e9da71ccd8 | ||
|
|
f9772d2710 | ||
|
|
12b524efd5 | ||
|
|
0f3dbde66d | ||
|
|
d2f9710778 | ||
|
|
99e2e59686 | ||
|
|
6cfa08e13d | ||
|
|
5ca05e9735 | ||
|
|
d52595fd5e | ||
|
|
08207c1d1a | ||
|
|
5aa09b427b | ||
|
|
fa72185179 | ||
|
|
67013fe1ed | ||
|
|
666660455a | ||
|
|
bd536204b5 | ||
|
|
c476e46b46 | ||
|
|
e1d1bcdad8 | ||
|
|
effb03c933 | ||
|
|
2f9d3e4420 | ||
|
|
5fb09fdc55 | ||
|
|
808ec51028 | ||
|
|
83a442d615 | ||
|
|
4da27c29f9 | ||
|
|
bc7bdb6bdf | ||
|
|
3ab83328b0 | ||
|
|
ed407edda9 | ||
|
|
bc2ca4e61b | ||
|
|
b28c8ddd85 | ||
|
|
b47319a191 | ||
|
|
6903d25749 | ||
|
|
6e61a4b8a0 | ||
|
|
c3a3c187a7 | ||
|
|
af3c4de98b | ||
|
|
4e5b6a9124 | ||
|
|
7df5e0a180 | ||
|
|
cccc44ff64 | ||
|
|
0daa495158 | ||
|
|
2866616fbf | ||
|
|
9fdb450bb3 | ||
|
|
d780e6c724 | ||
|
|
426a19314d | ||
|
|
31a0186862 | ||
|
|
02ebfbe1f1 | ||
|
|
fb2c27ab14 | ||
|
|
a41e0905be | ||
|
|
58ecbbb74e | ||
|
|
b648f8cdc4 | ||
|
|
f6fe4a800f | ||
|
|
98bc30c5ce | ||
|
|
401fc7a495 | ||
|
|
430661a5c3 | ||
|
|
52cc8a635b | ||
|
|
409626e72e | ||
|
|
fcaa5dfa82 | ||
|
|
0b1cc70680 | ||
|
|
6372bbe902 | ||
|
|
ea813452bf | ||
|
|
a93c67bb75 | ||
|
|
f150e1f35c | ||
|
|
cbbb20e3f0 | ||
|
|
d88eb3a455 | ||
|
|
bf76263a40 | ||
|
|
23b95c6f57 | ||
|
|
2b223bf898 | ||
|
|
c0c1abeb6b | ||
|
|
e34f5b4221 | ||
|
|
4bba11d28d | ||
|
|
2ecb71fcb1 | ||
|
|
6aef8b4a4e | ||
|
|
445fee730c | ||
|
|
d03f97c8b3 | ||
|
|
d5da4f6826 | ||
|
|
6ea13f3a47 | ||
|
|
a6aef0a640 | ||
|
|
8884d7088f | ||
|
|
5eeba98b34 | ||
|
|
ae4ed00621 | ||
|
|
e77aaf9cc2 | ||
|
|
21aa171662 | ||
|
|
7ff51a1524 | ||
|
|
81dfb550b3 | ||
|
|
48b019dab8 | ||
|
|
5f89a46c2e | ||
|
|
a7a2782c0e | ||
|
|
f481abe0b0 | ||
|
|
5838f2e83e | ||
|
|
0dc377060f | ||
|
|
df36e0e2cf | ||
|
|
04eee935ff | ||
|
|
b7b94d42d6 | ||
|
|
c34e689d2d | ||
|
|
0513aeef33 | ||
|
|
915911b4b5 | ||
|
|
bed90331a7 | ||
|
|
5d91ee7879 | ||
|
|
b2a22711f7 | ||
|
|
3e910d5f59 | ||
|
|
1a3d3603f6 | ||
|
|
2779c96006 | ||
|
|
70089f16ef | ||
|
|
1eee578672 | ||
|
|
6f485085b7 | ||
|
|
f7d36b7c18 | ||
|
|
4ea44e8eaa | ||
|
|
6a64dcfa7b | ||
|
|
260bc0262c | ||
|
|
bf185ef305 | ||
|
|
0183ab5f3c | ||
|
|
d17083ecb0 | ||
|
|
77187a3974 | ||
|
|
693e575e09 | ||
|
|
f70b8f8018 | ||
|
|
4a9b28537d | ||
|
|
b2c1c04b24 | ||
|
|
a2e387fbc3 | ||
|
|
fecf11dfbd | ||
|
|
d4d9bd8aeb | ||
|
|
36032c4a0b | ||
|
|
6de44ee0a3 | ||
|
|
fd63f561b5 | ||
|
|
de9f768db7 | ||
|
|
8da6d3ca12 | ||
|
|
6f3b18c941 | ||
|
|
863389ff7e | ||
|
|
9c9d542719 | ||
|
|
8c8e9c6917 | ||
|
|
e5ee29ecb8 | ||
|
|
9ab273f3d0 | ||
|
|
0f70a07dfc | ||
|
|
0c7cbc60d9 | ||
|
|
f21d0af52a | ||
|
|
8f1498fff4 | ||
|
|
13210d01c3 | ||
|
|
c82ce094c2 | ||
|
|
411ff45f10 | ||
|
|
886bfb3cfe | ||
|
|
9557ea82d7 | ||
|
|
7470fca163 | ||
|
|
063b7a752d | ||
|
|
bb8d16eeb1 | ||
|
|
9300ccaccd | ||
|
|
a7a40ef748 | ||
|
|
20367b706d | ||
|
|
6fbec5afba | ||
|
|
6edf97587f | ||
|
|
6147fc1c8b | ||
|
|
29ac9a3092 | ||
|
|
7be0706eae | ||
|
|
afefbe4455 | ||
|
|
24e5516206 | ||
|
|
91547c9892 | ||
|
|
6d43b44d81 | ||
|
|
713b74c1f9 | ||
|
|
ad738c2ed0 | ||
|
|
03ee05187d | ||
|
|
a5fc09cf82 | ||
|
|
0bea0ad8dd | ||
|
|
71233c3ee6 | ||
|
|
d25447d3ce | ||
|
|
8cfefb91fc | ||
|
|
6b8ac2910c | ||
|
|
5123462863 | ||
|
|
6a48b344ed | ||
|
|
2030fd6212 | ||
|
|
5760e8f190 | ||
|
|
42ff49fb51 | ||
|
|
8ca29ff29d | ||
|
|
37a43c2a98 | ||
|
|
63bc14c30b | ||
|
|
3f608e361f | ||
|
|
a496fc0304 | ||
|
|
c9a5f01578 | ||
|
|
9528328121 | ||
|
|
b25d57b6fa | ||
|
|
51b9b5e1e5 | ||
|
|
d2914bf635 | ||
|
|
7034237eed | ||
|
|
36cfc3ec93 | ||
|
|
b99b378c55 |
No files matched your search
+64
-9
@@ -41,6 +41,10 @@ include:
|
||||
- project: 'libretro-infrastructure/ci-templates'
|
||||
file: '/linux-i686.yml'
|
||||
|
||||
# Linux 64-bit (ARM)
|
||||
- project: 'libretro-infrastructure/ci-templates'
|
||||
file: '/linux-aarch64.yml'
|
||||
|
||||
# MacOS 64-bit
|
||||
- project: 'libretro-infrastructure/ci-templates'
|
||||
file: '/osx-x64.yml'
|
||||
@@ -50,8 +54,8 @@ include:
|
||||
file: '/osx-arm64.yml'
|
||||
|
||||
# MacOS PowerPC 32-bit
|
||||
- project: 'libretro-infrastructure/ci-templates'
|
||||
file: '/osx-ppc.yml'
|
||||
# - project: 'libretro-infrastructure/ci-templates'
|
||||
# file: '/osx-ppc.yml'
|
||||
|
||||
################################## CELLULAR ################################
|
||||
# Android
|
||||
@@ -67,6 +71,10 @@ include:
|
||||
file: '/ios9.yml'
|
||||
|
||||
################################## CONSOLES ################################
|
||||
# PlayStation3
|
||||
- project: 'libretro-infrastructure/ci-templates'
|
||||
file: '/psl1ght-static.yml'
|
||||
|
||||
# PlayStation Portable
|
||||
- project: 'libretro-infrastructure/ci-templates'
|
||||
file: '/psp-static.yml'
|
||||
@@ -79,6 +87,10 @@ include:
|
||||
- project: 'libretro-infrastructure/ci-templates'
|
||||
file: '/ctr-legacy-static.yml'
|
||||
|
||||
# Nintendo Wii
|
||||
- project: 'libretro-infrastructure/ci-templates'
|
||||
file: '/wii-static.yml'
|
||||
|
||||
# Nintendo WiiU
|
||||
- project: 'libretro-infrastructure/ci-templates'
|
||||
file: '/wiiu-static.yml'
|
||||
@@ -104,6 +116,10 @@ include:
|
||||
- project: 'libretro-infrastructure/ci-templates'
|
||||
file: '/emscripten-static.yml'
|
||||
|
||||
# webOS 32-bit (LGTV)
|
||||
- project: 'libretro-infrastructure/ci-templates'
|
||||
file: '/webos-make.yml'
|
||||
|
||||
# Stages for building
|
||||
stages:
|
||||
- build-prepare
|
||||
@@ -171,12 +187,20 @@ libretro-build-linux-i686:
|
||||
only:
|
||||
- master
|
||||
|
||||
# Linux 64-bit (ARM)
|
||||
libretro-build-linux-aarch64:
|
||||
extends:
|
||||
- .libretro-linux-aarch64-make-default
|
||||
- .core-defs
|
||||
only:
|
||||
- master
|
||||
|
||||
# MacOS 64-bit
|
||||
libretro-build-osx-x64:
|
||||
tags:
|
||||
- macosx-packaging
|
||||
extends:
|
||||
- .libretro-osx-x64-make-default
|
||||
- .libretro-osx-x64-make-10-7
|
||||
- .core-defs
|
||||
only:
|
||||
- master
|
||||
@@ -192,12 +216,12 @@ libretro-build-osx-arm64:
|
||||
- master
|
||||
|
||||
# MacOS PowerPC 32-bit
|
||||
libretro-build-osx-ppc:
|
||||
extends:
|
||||
- .libretro-osx-ppc-make-default
|
||||
- .core-defs
|
||||
only:
|
||||
- master
|
||||
#libretro-build-osx-ppc:
|
||||
# extends:
|
||||
# - .libretro-osx-ppc-make-default
|
||||
# - .core-defs
|
||||
# only:
|
||||
# - master
|
||||
|
||||
################################### CELLULAR #################################
|
||||
# Android ARMv7a
|
||||
@@ -257,6 +281,14 @@ libretro-build-tvos-arm64:
|
||||
- master
|
||||
|
||||
################################### CONSOLES #################################
|
||||
# PlayStation3
|
||||
libretro-build-psl1ght:
|
||||
extends:
|
||||
- .libretro-psl1ght-static-retroarch-master
|
||||
- .core-defs
|
||||
only:
|
||||
- master
|
||||
|
||||
# PlayStation Portable
|
||||
libretro-build-psp:
|
||||
extends:
|
||||
@@ -281,6 +313,21 @@ libretro-build-ctr:
|
||||
only:
|
||||
- master
|
||||
|
||||
# Nintendo Wii
|
||||
.core-defs-wii:
|
||||
extends:
|
||||
- .libretro-wii-static-retroarch-master
|
||||
- .core-defs
|
||||
only:
|
||||
- master
|
||||
|
||||
#libretro-build-wii-core:
|
||||
# extends:
|
||||
# - .core-defs-wii
|
||||
# variables:
|
||||
# INCLUDE_DRV: drv_?
|
||||
# CORENAME: mame2003_plus_drv_?
|
||||
|
||||
# Nintendo WiiU
|
||||
libretro-build-wiiu:
|
||||
extends:
|
||||
@@ -345,3 +392,11 @@ libretro-build-emscripten:
|
||||
- .core-defs
|
||||
only:
|
||||
- master
|
||||
|
||||
# webOS 32-bit
|
||||
libretro-build-webos-armv7a:
|
||||
extends:
|
||||
- .libretro-webos-armv7a-make-default
|
||||
- .core-defs
|
||||
only:
|
||||
- master
|
||||
+352
-14
@@ -2,7 +2,7 @@
|
||||
|
||||
* Current repository maintainers: arcadez, mahoneyt944, markwkidd, twinaphex
|
||||
* Past repository maintiners: arnoldsecret, grant2258
|
||||
* Significant code contributors to this project: AMadvanceMAME, BritneysPAIRS, dink, FBN Dev, grant2258, iq_132, MAME Dev, ShmupMAME
|
||||
* Significant code contributors to this project: AMadvanceMAME, BritneysPAIRS, dink, FBN Dev, grant2258, iq_132, MAME Dev, Mistydreams, ShmupMAME
|
||||
|
||||
The list of direct contributors to the MAME 2003-Plus github repository can be found at https://github.com/libretro/mame2003-plus-libretro/graphs/contributors. Additional contributor credits can be found in LICENSE.md, CHANGELOG.old, and in the individual driver source files.
|
||||
|
||||
@@ -10,46 +10,63 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
|
||||
* 96 Flag Rally
|
||||
* 1943 - The Battle Of Midway Mark II
|
||||
* 19XX: The War Against Destiny (All Sets)
|
||||
* 1945k III
|
||||
* A.B. COP
|
||||
* Action Fighter (Unprotected)
|
||||
* Action Hollywood
|
||||
* Adventure Canoe
|
||||
* Air Attack
|
||||
* Air Rescue
|
||||
* Aladdin (bootleg of Megadrive version)
|
||||
* Angler Dangler (Deco Cassette)
|
||||
* Argus (Gottlieb, prototype)
|
||||
* Astropal
|
||||
* Asura Buster
|
||||
* Backfire!
|
||||
* Back Fire (Tecmo)
|
||||
* Bang Bang Busters
|
||||
* Bare Knuckle II (chinese bootleg of Megadrive version)
|
||||
* Bare Knuckle III (bootleg of Megadrive version)
|
||||
* Baryon: Future Assault
|
||||
* Big Fight - Big Trouble In The Atlantic Ocean
|
||||
* Bomb Kick
|
||||
* Boogie Wings
|
||||
* Born To Fight
|
||||
* Botanic (English / Spanish set 1)
|
||||
* Bronx (Cycle Shooting bootleg)
|
||||
* Bubble Bobble 2 - The Return Of Super Drunk (prototype)
|
||||
* Bubble Buster
|
||||
* Buccaneers
|
||||
* Bullet (unprotected of FD1094 317-0041 set)" )
|
||||
* Cabal (World, Joystick version)
|
||||
* Calorie Kun vs Moguranian
|
||||
* Center Court
|
||||
* Chain Reaction
|
||||
* Charlie Ninja
|
||||
* Chase Bombers
|
||||
* Choky! Choky!
|
||||
* Choutetsu Brikin'ger - iron clad
|
||||
* Clockwork Aquario
|
||||
* Combat Hawk
|
||||
* Come Back Toto
|
||||
* Cookie & Bibi
|
||||
* Cookie & Bibi 3
|
||||
* Command War - Super Special Battle & War Game (prototype)
|
||||
* Cosmic Monsters II
|
||||
* Cotton (set 4, World) (unprotected of FD1094 317-0181a set)
|
||||
* Counter Run (Bootleg, Set 1)
|
||||
* Counter Run (Bootleg, Set 3)
|
||||
* Crossed Swords 2
|
||||
* Cute Fighter
|
||||
* Cycle Warriors
|
||||
* Daikaiju no Gyakushu
|
||||
* Danger Express (prototype)
|
||||
* Deluxe 5
|
||||
* Denjin Makai
|
||||
* Deer Hunting
|
||||
* Deroon DeroDero
|
||||
* Dice - The Dice Game
|
||||
* Diet Go Go
|
||||
* Digger (CVS)
|
||||
* Dolmen
|
||||
@@ -59,17 +76,22 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
* Double Wings
|
||||
* Dragon Bowl
|
||||
* Dream World
|
||||
* Dunk shot all sets
|
||||
* Dyna Gear
|
||||
* Eeekk!
|
||||
* ESPGaluda
|
||||
* F1 Super Lap (World)
|
||||
* Fantasy Zone II - The Tears of Opa-Opa (System 16C version)
|
||||
* Fever SOS
|
||||
* Final Tetris
|
||||
* Fire Hawk
|
||||
* FixEight (bootleg)
|
||||
* Flying Tiger
|
||||
* Frog & Spiders (bootleg)
|
||||
* Gaia: The Last Choice Of Earth
|
||||
* Galactica - Batalha Espacial
|
||||
* Ghostlop
|
||||
* Gladmort (NeoGeo Final Release)
|
||||
* Glass (Ver 1.1, Break Edition, Checksum D419AB69, Version 1994) (censored, unprotected)
|
||||
* Golden Par Golf
|
||||
* Golden Tee 3D Golf (v1.93N)
|
||||
@@ -81,68 +103,97 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
* Gulun.Pa!
|
||||
* Gunbarich
|
||||
* GunMaster
|
||||
* Gut's N' Glory (Atari Prototype)
|
||||
* Hammer Away
|
||||
* Hang Zo
|
||||
* Hard Times
|
||||
* Head On Channel (Japan, Prototype)
|
||||
* Heavy Smash
|
||||
* Hoops '96
|
||||
* Hypernoid
|
||||
* Hyper Crash
|
||||
* Hyper Street Fighter II (Asia)
|
||||
* Hyper Street Fighter II (All Sets)
|
||||
* In Your Face
|
||||
* Inca * Mature *
|
||||
* Indian Battle
|
||||
* Invasion
|
||||
* Jammin (Atari Prototype)
|
||||
* Joe & Mac Returns
|
||||
* Jolly Jogger
|
||||
* Jurassic Park (Bootleg Of Megadrive Version)
|
||||
* Juezhan Tianhuang
|
||||
* Jump Kun
|
||||
* Kabuki-Z (World)
|
||||
* Ketsui: Kizuna Jigoku Tachi
|
||||
* Ketsui: Kizuna Jigoku Tachi - IKD 2007 Special Version
|
||||
* Knightmare
|
||||
* Knights Chance (NeoGeo)
|
||||
* Last Hope
|
||||
* Led Storm Rally 2011
|
||||
* Lethal Enforcers
|
||||
* Line Of Fire
|
||||
* Mad Alien
|
||||
* Mad Ball V2.0 * Mature * - Romset `madballn`
|
||||
* Magic Purple
|
||||
* Magic Purple
|
||||
* Manhattan (Deco Cassette)
|
||||
* Marble Madness II (prototype)
|
||||
* Master's Fury
|
||||
* Match It II * Mature *
|
||||
* Maze Invaders
|
||||
* Megumi Rescue
|
||||
* Metal Slug 4
|
||||
* Metal Slug 5
|
||||
* Mighty Pang (All Sets)
|
||||
* Mighty Warriors
|
||||
* Mirax
|
||||
* Mobile Suit Gundam Final Shooting
|
||||
* Monsters World (Bootleg Of Super Pang)
|
||||
* Monster Maulers
|
||||
* More More
|
||||
* Mortal Race
|
||||
* Mouse Shooter GoGo
|
||||
* Ms. Pacman Twin
|
||||
* Mrs. Dynamite
|
||||
* Multi Champ Deluxe * Mature *
|
||||
* Ninja Kazan
|
||||
* Oo Parts (Japan, Prototype)
|
||||
* Opa Opa (Rev A Unprotected)
|
||||
* Oriental Legend Special
|
||||
* Oriental Legend Special - Xi You Shi E Zhuan Super (ver. 101, Korean Board)
|
||||
* Oriental Legend Special - Xi You Shi E Zhuan Super (ver. 103, China, Tencent) (unprotected)
|
||||
* Osman
|
||||
* Oozumou - The Grand Sumo (Deco Cassette)
|
||||
* Pack'n Bang Bang
|
||||
* Parallel Turn
|
||||
* Party Time: Gonta the Diver II / Ganbare! Gonta!! 2 * Mature *
|
||||
* Passing Shot (Japan 2 players)
|
||||
* Penky
|
||||
* Photo Y2K 2
|
||||
* Pirate Treasure
|
||||
* Planet Probe
|
||||
* Pochi & Nyaa
|
||||
* Pocket Gal Deluxe * Mature *
|
||||
* Power Balls
|
||||
* Power Instinct Legends
|
||||
* Power Instinct Matrimelee
|
||||
* Power Up Baseball
|
||||
* Progear
|
||||
* Puzz Loop 2
|
||||
* Puzz Loop 2 (All Sets)
|
||||
* Puzzle Break
|
||||
* Puzzle Star
|
||||
* Puzzli 2
|
||||
* Puzzli 2 Super
|
||||
* Quick Shots (Clone Of Target Hits)
|
||||
* Racing Beat
|
||||
* Racing Hero
|
||||
* Rage Of The Dragons
|
||||
* Recalhorn (prototype)
|
||||
* Riot
|
||||
* Rolling Crush
|
||||
* Round Up 5 - Super Delta Force
|
||||
* Rumba Lumber
|
||||
* Samurai Shodown V
|
||||
* Samurai Shodown V Special
|
||||
* Saurian Front (Williams Prototype)
|
||||
* SD Fighters
|
||||
* Sega Megaplay : Bio Hazard Battle
|
||||
* Sega Megaplay : Columns III
|
||||
@@ -152,20 +203,28 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
* Sega Megaplay : Tecmo World Cup
|
||||
* Sega Sonic Bros (Japan, Prototype)
|
||||
* Sengoku 3
|
||||
* Shuihu Feng Yun Zhuan
|
||||
* Skater (Deco Cassette)
|
||||
* Skull Fang
|
||||
* Slap Shooter
|
||||
* Snow Brothers 3 - Magical Adventure
|
||||
* Snk Vs Capcom : Svc Chaos (MVS)
|
||||
* Snapper
|
||||
* Sonic Boom
|
||||
* Sonic The Hedgehog 2 (Bootleg Of Megadrive Version)
|
||||
* Sonic The Hedgehog 3 (Bootleg Of Megadrive Version)
|
||||
* Space Fever High Splitter
|
||||
* Space Launcher
|
||||
* Space Raider
|
||||
* Spectrum 2000 (Euro)
|
||||
* Squash
|
||||
* Star Fire 2
|
||||
* Steel Worker
|
||||
* Success Joe
|
||||
* Super Bishi Bashi Championship (ver JAA, 2 Players)
|
||||
* Super Bubble Bobble (Sun Mixing, Megadrive clone hardware)
|
||||
* Super Doubles Tennis (Deco Cassette)
|
||||
* Super Monaco GP
|
||||
* Super Rider
|
||||
* Super Trio
|
||||
* SWAT Police
|
||||
@@ -179,16 +238,22 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
* The King of Fighters 2002
|
||||
* The King of Fighters 2003
|
||||
* The Lost Castle In Darkmist
|
||||
* ThunderForce AC (Japan, prototype, bootleg)
|
||||
* Top Driving
|
||||
* Top Roller
|
||||
* Toppy & Rappy
|
||||
* Torus * Mature *
|
||||
* Touch & Go (Korea, unprotected)
|
||||
* Thunder Heroes
|
||||
* Thunder Hoop
|
||||
* Title Fight
|
||||
* Touki Denshou -Angel Eyes
|
||||
* Trophy Hunting Bear & Moose
|
||||
* Turkey Hunting
|
||||
* Twin Cobra 2
|
||||
* Twin Action
|
||||
* Twinkle
|
||||
* Twinkle Tale (Bootleg Of Megadrive Version)
|
||||
* Tylz
|
||||
* Ufo Senshi Yohko Chan
|
||||
* Varia Metal
|
||||
@@ -200,6 +265,7 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
* Wing Shooting Championship
|
||||
* Wiz Warz
|
||||
* Wonderboy In Monsterland (English Virtual Console Version)
|
||||
* Woodpecker
|
||||
* World Cup Volley 95
|
||||
* Xeno Crisis
|
||||
* Zintrick
|
||||
@@ -216,10 +282,14 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
* Crouching Tiger Hidden Dragon 2003
|
||||
* Crouching Tiger Hidden Dragon 2003 Super Plus
|
||||
* Crystal Castles (Joystick Version)
|
||||
* DJ Boy (Japan)
|
||||
* DoDonPachi Dai-Ou-Jou (Black Label)
|
||||
* Double Dragon 3 - The Rosetta Stone (Japan)
|
||||
* Dunk Dream '95
|
||||
* Dogyuun (8/25/1992 location test)
|
||||
* E.D.F. : Earth Defense Force (North America)
|
||||
* Escape Kids (Asia 4 Players)
|
||||
* Fishing
|
||||
* Flower (bootleg)
|
||||
* Fujiyama Buster
|
||||
* Gals Panic DX * Mature *
|
||||
@@ -277,10 +347,15 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
|
||||
* Bubble Bobble Lost Cave
|
||||
* Bubble Bobble Ultra
|
||||
* Captain Barrel
|
||||
* Cyborg Force
|
||||
* Do DonPachi (Arrange Ver. 1.1) (trap15, hack)
|
||||
* Dogou Souken / Victory Road (joystick hack bootleg)
|
||||
* Donkey Kong II Jumpman Returns
|
||||
* Donkey Kong Remix
|
||||
* Donkey Kong Christmas Remix
|
||||
* Dottori-Man Jr. (Hack by Chris Covell)
|
||||
* Double Dragon One (Beta 7)
|
||||
* DownTown (joystick hack)
|
||||
* Final Fight 30th Anniversary Edition (Grego And Rotwang)
|
||||
* Food Fight - Live Center Rev 5 w/ debounce delay position hack
|
||||
@@ -290,8 +365,9 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
* Midnight Resistance (joystick hack bootleg)
|
||||
* Mortal Kombat 2 Plus Beta 2
|
||||
* TANK III (joystick hack bootleg)
|
||||
* The Eye Of The Typhoon (Beta 7)
|
||||
* Tron freeplay custom rom
|
||||
* Ultimate Mortal Kombat 3 Plus Beta 1
|
||||
* Ultimate Mortal Kombat 3 Plus Beta 2
|
||||
|
||||
|
||||
## Games fixed and now working
|
||||
@@ -317,10 +393,13 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
* Competition Golf Final Round (revision 3) - `compgolf`
|
||||
* Crater Raider - Romset `crater`
|
||||
* Crazy Climber 2 - Romset `cclimbr2`
|
||||
* Dark Edge - Romset `darkedge`
|
||||
* DD Crew - Romset `ddcrew`
|
||||
* Demolition Derby - Romset `demoderb`
|
||||
* Die Hard Arcade - Romset `diehard` - Requires a fast system; video and sound issues remain
|
||||
* Discs Of Tron - Romsets `dotron` and `dotrone`
|
||||
* DJ Boy - Romset `djboy`
|
||||
* Dragon Ball Z V.R.V.S. - Romset `dbzvrvs`
|
||||
* Driving Force (galaxian hardware) - Romset `drivfrcg` - colors fixed
|
||||
* Domino Man - Romset `domino`
|
||||
* Dragon World - Romset `drgnwrld`
|
||||
@@ -329,18 +408,24 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
* Eight Ball Action (Pacman conversion) - Romset `8bpm` - colors fixed
|
||||
* F-1 Grand Prix Star II - Romset `f1gpstr2`
|
||||
* F1 Super Lap (Japan) - Romset `f1lapj`
|
||||
* Fantastic Journey - Romset `fanjour`
|
||||
* Fighters History - Romsets `fghthist`, `fghthsta`, and `fghthstw` - Playable with minor remaining unemulated protection
|
||||
* Find Out - Romset `findout` - colors fixed
|
||||
* Fire Barrel - Romset `firebarr`
|
||||
* Final Lap 2 - Romsets `finalap2` and `finalp2j`
|
||||
* Final Lap 3 - Romsets `finalap3` and `finalp3a`
|
||||
* Flower - Romset `flower`
|
||||
* Free Kick - Romset `freekick`
|
||||
* Funky Jet - Romset `funkyjet`
|
||||
* Gardia - Romset `gardia`
|
||||
* Get Star / Guardian - Romsets `getstar` and `getstarj`
|
||||
* Great 1000 Miles Rally - Romsets `gtmr`, `gtmr2`, `gtmre`, and `gtmrusa`
|
||||
* Green Beret - Romset `greenber`
|
||||
* Gussun Oyoyo - Romset `gussun`
|
||||
* Hacha Mecha Figher - Romsets `hachamf` and `hachamfb` - `hachamf` is playable but has remaining unemulated protection
|
||||
* Hang-On - Romset `hangon`
|
||||
* Hard Head 2 - Romset `hardhea2`
|
||||
* Highway Chase - Romset `chwy`
|
||||
* Hyper Duel - Romsets `hyprduel`, and `hyprdelj`
|
||||
* IGMO - Romset `igmo` color fixed
|
||||
* Imago - Romsets `imago` and `imagoa`
|
||||
@@ -363,14 +448,17 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
* New Sinbad 7 - Romset `newsin7` - colors fixed
|
||||
* Night Slashers - Romset `nslasher`
|
||||
* Off Road Challenge - Romset `offroadc` - Requires a fast system
|
||||
* Passing Shot 4 player bootleg - Romset `passht4b`
|
||||
* Phantasm - Romset `phantasm`
|
||||
* Photo Y2k - Romset `photoy2k`
|
||||
* Pigskin 621AD - Romset `pigskin`
|
||||
* Power Drive - Romset `powerdrv`
|
||||
* Prebillian - `pbillian`
|
||||
* Pro Baseball Skill Tryout - `tryout`
|
||||
* Puzzle King (PacMan 2 with Tetris & HyperMan 2 & Snow Bros - `4in1boot`
|
||||
* Rabbit - Romset `rabbit` - no sound
|
||||
* Rampage - Romsets `rampage` and `rampage2`
|
||||
* Risky Challenge - Romset `riskchal` - Playable but dont press any buttons during the score calc screen between the levels
|
||||
* Risky Challenge - Romset `riskchal`
|
||||
* Rohga Armor Force - Romsets `rohga`, `rohgah`, `rohgau`
|
||||
* Run And Gun - Romset `rungun`
|
||||
* Rush'N Attack - Romset `rushatck`
|
||||
@@ -384,9 +472,11 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
* Shrike Avenger - Romset `shrike`
|
||||
* Sky Army - Romset `skyarmy`
|
||||
* Slap Fight (Official Version) - Romset `slapfigh`
|
||||
* Slipstream - Romset `slipstrm`
|
||||
* Snowboard Championship - Romset `snowboar`
|
||||
* Solar Fox - Romset `solarfox`
|
||||
* Space Position - Romset `spcpostn`
|
||||
* Space Seeker - Romset `spaceskr`
|
||||
* Speed Spin - Romset `speedspn` - gfx glitches
|
||||
* Spy Hunter - Romset `spyhunt`
|
||||
* Spy Hunter 2 - Romset `spyhunt2`
|
||||
@@ -397,10 +487,12 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
* Tapper - Romset `tapper`
|
||||
* Target Ball (Nude) - Romset `tgtball`
|
||||
* Task Force Harrier - Romsets `tharrier` and `tharierj`
|
||||
* Thunder Blade - Romsets `thndrbld` and `thndrbld1`
|
||||
* Thunder Dragon - Romset `tdragon` - Minor sound issues remaining
|
||||
* Thunder Strike - Romset `tstrike`
|
||||
* Timber - Romset `timber`
|
||||
* Time Limit - Romset `timelimt` - colors fixed
|
||||
* Thunder Dragon - Romset `tdragon` - Minor sound issues remaining
|
||||
* Thunder Strike - Romset `tstrike`
|
||||
* Tokio / Scramble Formation (US) - Romset `tokio`
|
||||
* Tri-Sports - Romset `trisport`
|
||||
* Tron - Romset `tron`
|
||||
* Turbo Out Run - Romsets `toutrun` and `toutrun3`
|
||||
@@ -409,12 +501,14 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
* Two Tigers - Romset `twotiger`
|
||||
* Under Fire - Romset `undrfire`
|
||||
* U.S. Classic - Romset `usclssic` - colors fixed
|
||||
* VS. Hot Smash - `hotsmash`
|
||||
* Wonder Boy in Monster Land (Japan New Ver.) - Romset `wbml`
|
||||
* Wonder Boy in Monster Land (Japan Old Ver.) - Romset `wbmljo`
|
||||
* Xenophobe - Romset `xenophob`
|
||||
* X-men (6 players) - Romset `xmen6p` and `xmen6pu`
|
||||
* Wacko - Romset `wacko`
|
||||
* Whizz - Romset `whizz`
|
||||
* Zeroize - Romset `czeroize`
|
||||
* Zwackery - Romset `zwackery`
|
||||
|
||||
## Games now with sound
|
||||
@@ -422,6 +516,7 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
* Acrobat Mission
|
||||
* Altered Beast (version 2)
|
||||
* Asura Blade
|
||||
* Atomic Boy / Wily Tower
|
||||
* Balloon Bomber
|
||||
* Batsugun (Partial)
|
||||
* Bio-ship Paladin
|
||||
@@ -429,6 +524,7 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
* Cross Pang
|
||||
* Daitoride
|
||||
* Dharma Doujou
|
||||
* Dogyuun (8/25/1992 location test)
|
||||
* Fire Shark
|
||||
* Ghox
|
||||
* GunNail
|
||||
@@ -457,6 +553,8 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
* Sky Alert
|
||||
* Sky Diver
|
||||
* Space Chaser (CV version)
|
||||
* Special Forces
|
||||
* Special Forces II
|
||||
* Super Slam
|
||||
* Super Spacefortress Macross
|
||||
* Teki Paki
|
||||
@@ -473,11 +571,16 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
|
||||
## Games now with improved sound
|
||||
|
||||
* 1945kIII
|
||||
* Air Buster
|
||||
* Ashita no Joe
|
||||
* Asterix
|
||||
* Athena
|
||||
* Bandito
|
||||
* Big Event Golf
|
||||
* Bosconian
|
||||
* Burgler X
|
||||
* Congo Bongo
|
||||
* Cookie & Bibi 2
|
||||
* Crazy Balloon
|
||||
* Destination Earth - (Added lrescue.zip sample support)
|
||||
@@ -492,9 +595,11 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
* Galaga 3
|
||||
* Galaxy Rescue - (Added lrescue.zip sample support)
|
||||
* Gaplus
|
||||
* Go Go! Mile Smile / Susume! Mile Smile
|
||||
* Grobda
|
||||
* Hit The Ice
|
||||
* Horizon
|
||||
* Inferno (Williams)
|
||||
* Journey (Added sepways.wav sample)
|
||||
* Kaiketsu Yanchamaru
|
||||
* Kid Niki - Radical Ninja (US)
|
||||
@@ -512,13 +617,18 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
* Nibbler
|
||||
* Open Ice
|
||||
* Out Run - Added ost soundtrack (via KMFDManic)
|
||||
* Pack 'n Bang Bang
|
||||
* Pacman & Chomp Chomp
|
||||
* Pac & Pal
|
||||
* Passing Shot (4 Player Bootleg)
|
||||
* Performan
|
||||
* Pole Position
|
||||
* Pole Position II
|
||||
* Rampage World Tour
|
||||
* Revolution X
|
||||
* Rim Rockin Basketball (commentary voices)
|
||||
* Rohga Armor Force
|
||||
* R-Type Leo
|
||||
* Shark Attack
|
||||
* Sheriff
|
||||
* Space Fever
|
||||
@@ -532,7 +642,10 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
* Super Spacefortress Macross II
|
||||
* Super Xevious
|
||||
* Tecmo Bowl
|
||||
* The Legend OF Silkroad
|
||||
* Thief
|
||||
* Title Fight
|
||||
* Tough Turf (Japan)
|
||||
* Tower Of Druaga
|
||||
* Toypop
|
||||
* Trojan / Tatakai No Banka
|
||||
@@ -541,6 +654,7 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
* Two Tigers - `twotigra` romset
|
||||
* WWF Wrestlemania
|
||||
* Xevious
|
||||
* Zero Point
|
||||
|
||||
|
||||
## Games now with sound sample support
|
||||
@@ -549,7 +663,6 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
* Destination Earth - lrescue
|
||||
* Frogs
|
||||
* Galaxy Rescue - lrescue
|
||||
* Ghox (Toaplan Samples)
|
||||
* Journey
|
||||
* Lunar Rescue - lrescue
|
||||
* NATO Defense
|
||||
@@ -558,12 +671,15 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
* Sea Wolf II
|
||||
* Shark Attack
|
||||
* Space Firebird
|
||||
* Tailgunner
|
||||
* Thief
|
||||
* Two Tigers - `twotigra` romset
|
||||
* Zero Hour
|
||||
|
||||
|
||||
## Games supporting new and improved samples
|
||||
|
||||
* Congo Bongo
|
||||
* Destination Earth
|
||||
* Donkey Kong
|
||||
* Donkey Kong JR
|
||||
@@ -574,7 +690,81 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
|
||||
* Vanguard
|
||||
|
||||
|
||||
## Changes
|
||||
## New and/or Recommended Input Options and Settings
|
||||
|
||||
* Added 'X-Way Joystick' Option to Analog Controls Menu only for IPT_DIAL and IPT_DIAL_V devices. This option is for use with x-way rotary joysticks (where the joystick can rotate X discrete steps, 8 or 12 appears to be most common). The joystick can still move up, down, left, right and diagonally. The most famous game to use this control scheme is Ikari Warriors.
|
||||
Notes on this option:
|
||||
- When on, prevents the character from rotating two discrete steps sometimes when the rotary joystick is just rotated one step.
|
||||
- When on, the character will only rotate up to half the frame rate instead of the frame rate, so up to 30 times per second instead of 60 times a second if the game is running at 60Hz.
|
||||
|
||||
* Recommended analog control settings for known games that use an x-way rotary joystick to give the intended rotary control of the character. (Note: Settings will work best if the game is running at its native 60Hz, and the time the rotary joystick "holds" down the virtual IPT_DIAL or IPT_DIAL_V button is longer than 1/60th of a second, but less than 2/60ths of a second.):
|
||||
- Bermuda Triangle
|
||||
Key/Joy Speed: 16
|
||||
Sensitivity: 100%
|
||||
X-Way Joystick: On
|
||||
- Caliber 50
|
||||
Key/Joy Speed: 4
|
||||
Sensitivity: 100%
|
||||
X-Way Joystick: On
|
||||
- DownTown
|
||||
Key/Joy Speed: 21
|
||||
Sensitivity: 100%
|
||||
X-Way Joystick: On
|
||||
- Forgotten Worlds (arcade version used "roll" button, not rotary joystick)
|
||||
Key/Joy Speed: 65
|
||||
Sensitivity: 100%
|
||||
X-Way Joystick: On
|
||||
- Gondomania
|
||||
Key/Joy Speed: 21
|
||||
Sensitivity: 100%
|
||||
X-Way Joystick: On
|
||||
- Guerrilla War
|
||||
Key/Joy Speed: 16
|
||||
Sensitivity: 100%
|
||||
X-Way Joystick: On
|
||||
- Heavy Barrel
|
||||
Key/Joy Speed: 21
|
||||
Sensitivity: 100%
|
||||
X-Way Joystick: On
|
||||
- Ikari Warriors
|
||||
Key/Joy Speed: 16
|
||||
Sensitivity: 100%
|
||||
X-Way Joystick: On
|
||||
- Victory Road (kind of Ikari Warriors II)
|
||||
Key/Joy Speed: 16
|
||||
Sensitivity: 100%
|
||||
X-Way Joystick: On
|
||||
- Ikari III - The Rescue
|
||||
Key/Joy Speed: 21
|
||||
Sensitivity: 100%
|
||||
X-Way Joystick: On
|
||||
- Midnight Resistance
|
||||
Key/Joy Speed: 21
|
||||
Sensitivity: 100%
|
||||
X-Way Joystick: On
|
||||
- SAR - Search and Rescue
|
||||
Key/Joy Speed: 21
|
||||
Sensitivity: 100%
|
||||
X-Way Joystick: On
|
||||
- T.A.N.K
|
||||
Key/Joy Speed: 16
|
||||
Sensitivity: 100%
|
||||
X-Way Joystick: On
|
||||
- Time Soldiers
|
||||
Key/Joy Speed: 21
|
||||
Sensitivity: 100%
|
||||
X-Way Joystick: On
|
||||
- Touchdown Fever
|
||||
Key/Joy Speed: 2
|
||||
Sensitivity: 100%
|
||||
X-Way Joystick: On
|
||||
- Touchdown Fever 2
|
||||
Key/Joy Speed: 2
|
||||
Sensitivity: 100%
|
||||
X-Way Joystick: On
|
||||
|
||||
|
||||
## Misc Changes
|
||||
* Added HD647180 MCU sound support for Fire Shark and Vimana [arcadez]
|
||||
* Added sound sample support for Cosmic Alien [BritneysPAIRS, arcadez]
|
||||
* Updated sample support for Donkey Kong and Donkey kong JR to MAME87 [BritneysPAIRS, arcadez]
|
||||
@@ -652,7 +842,6 @@ Gun & Fronter, Metal Black, Ninja Kids, and Pulirula [arcadez]
|
||||
* Ported Mamesick's fix for the sound in Super Spacefortress Macross II level 2 onwards [arcadez]
|
||||
* Backported Kale's Taito F3 sound fixes for Riding Fight and Ring Rage from MAME 144 [arcadez]
|
||||
* Backported Stefan Jokisch's graphical and sound improvemnets for the Nintendo 8080 based games from MAME81 [arcadez]
|
||||
* Added Bryan McPhail's C-Chip simulation code for Operation Wolf from MAME98 and MAME176 respectively [arcadez]
|
||||
* Fixed graphical problems in GunNail and better balanced the sound for the games using the NMK004 [arcadez]
|
||||
* Removed imperfect MCU simulation code and hooked the proper M68705 MCU's for Renegade and Nekketsu Kouha Kunio-kun [dink, arcadez]
|
||||
* Hooked up the sepways.wav sample for journey in mcr2.c [mahoneyt944, grant2258, arcadez]
|
||||
@@ -676,7 +865,7 @@ Gun & Fronter, Metal Black, Ninja Kids, and Pulirula [arcadez]
|
||||
* Hooked up x-men 6 players [arcadez, mahoneyt944, KMFDManic]
|
||||
* Removed gauntlet entry from highscore dat to fix game glitches [mahoneyt944]
|
||||
* Set flag in Ost drivers to allow them to be fully bypassed [mahoneyt944]
|
||||
* Hooked up mk2p and umk3p romsets [Zoltan45, mahoneyt944]
|
||||
* Hooked up mk2p and umk3p romsets [Zoltan45, palmerj, mahoneyt944]
|
||||
* Ashita no Joe sound fixes / CPU clock frequencies [arcadez]
|
||||
* Success Joe new game support added [mahoneyt944]
|
||||
* Fixed directory and file creation for WiiU - should be working for all platforms now [mahoneyt944]
|
||||
@@ -700,7 +889,7 @@ Gun & Fronter, Metal Black, Ninja Kids, and Pulirula [arcadez]
|
||||
* Added support for 1943 - The Battle Of Midway Mark II to 1943.c [arcadez]
|
||||
* Updated the legionnaire driver and video code to MAME142 added seicop protection Denjin Makai now playable [arcadez]
|
||||
* Added a small hack to the seibu soundcore to fix music and sfx in Denjin Makai [arcadez]
|
||||
* Added a working bootleg of Counter Run to freekick.c [BritneysPAIRS]
|
||||
* Added two working bootlegs of Counter Run to freekick.c [BritneysPAIRS, arcadez]
|
||||
* Updated the rohga.c driver to support the rare prototype Hang-Zo [arcadez]
|
||||
* Added support for Hyper Crash to nemesis.c [arcadez]
|
||||
* Added support for In Your Face a rare basketball prototype to the megasys1.c driver [arcadez]
|
||||
@@ -824,3 +1013,152 @@ Gun & Fronter, Metal Black, Ninja Kids, and Pulirula [arcadez]
|
||||
* Fixed sound in Dolmen and Twin Action then sorted an mcu simulation issue in Task Force Harrier [grant2258]
|
||||
* Improved road vs scenery priorities meaning you dont see things that should be hidden behind the hills appearing all over the road in Jaleco's Big Run [arcadez]
|
||||
* Updated the snowbros.c driver fixing three games and adding support for eight new games this also sorted the sound from cutting out in Cookie & Bibi 2 [arcadez]
|
||||
* Fixed some graphical problems where the colours were wrong on level 3 and half the screen was missing eg rendered black in Buggy Challenge [arcadez]
|
||||
* Added support for Dice - The Dice Game a bootleg of the undumped DiceDiceDice by IREM to the M90 driver [arcadez]
|
||||
* Added a new protection simulation to pgm.c so that Oriental Legend Special - Xi You Shi E Zhuan Super (ver. 101, Korean Board) now works in this core [arcadez]
|
||||
* Hooked up the M68705 protection MCU for the official Taito USA version of Tokio / Scramble Formation game now playable [arcadez]
|
||||
* Fixed some graphical priority and screen display area niggles which affected The Legend Of Kage [arcadez]
|
||||
* Added Bryan McPhail's C-Chip sim code for Operation Wolf from MAME98 and modded it slightly so the final end boss and enemy has located you mini levels can now be played [arcadez]
|
||||
* Added new sample support in cinemat drivers for tailgunner - tailg [mahoneyt944]
|
||||
* Fixed missing adpcm sound effects in Pack 'n Bang Bang and hooked up the sound correctly for Blood Warrior [arcadez]
|
||||
* Added support for a special sprite effect to kaneko16 video used by Magical Crystals on the first boss [arcadez]
|
||||
* Added a missing graphical sprite effect which handles enemy damage flashes and improved the sound for 1945k III [arcadez]
|
||||
* Added support for Angler Dangler and the clone japanese set Fishing to the decocass.c driver [arcadez]
|
||||
* Better balanced the music and Sfx levels in Kaneko's Air Buster and added the Japan version of DJ Boy [arcadez]
|
||||
* Fixed Deco Cassette game Zeroize in the decocass.c driver game now playable [arcadez]
|
||||
* Disabled palette banking for R-Type leo - fixes invincibiliy flashing [Haze, arcadez]
|
||||
* Fixed some serious graphical problems in R-Type Leo by disabling a gfx based speedup which caused issues throughout the game [arcadez]
|
||||
* Updated the Irem GRA20 soundcore to MAME 81 which fixes missing voices and improves the sound more generally for R-Type Leo [arcadez]
|
||||
* Added support for Hypernoid to the neogeo driver [arcadez, mahoneyt944]
|
||||
* Added Megumi Rescue to the Sega System E driver [Haze, arcadez]
|
||||
* Added Marble Madness II (prototype) to the batman driver [Haze, MistyDreams, dink, iq_132, arcadez, mahoneyt944]
|
||||
* Added Fantasy Zone II - The Tears of Opa-Opa (fantzn2x) to system16 driver [MistyDreams, mahoneyt944, arcadez]
|
||||
* Added Action Fighter Sega System A unprotected set to the system16 driver hooked up the inputs and sound plus some new gfx calls game now playable [arcadez, mahoneyt944]
|
||||
* Added support for Snapper to the system16 driver and hooked up the sound and music [mahoneyt944, arcadez]
|
||||
* Added and integrated a new segas16b driver to support decrypted versions of Bullet, Cotton and now Fantasy Zone II also [MistyDreams]
|
||||
* Added new Sega system16 graphical drawing routines and updated the UPD7759 soundcore plus all related drivers to MAME92 as per the above [MistyDreams]
|
||||
* Fixed some graphical niggles in Body Slam, Major League, Shinobi (bootleg), Tough Turf and Wrestlewar by switching them over to use the new Sega drawing routines [mahoneyt944]
|
||||
* Fixed missing speech samples in Tough Turf and some broken graphics in Passing Shot 4 player bootleg making the game now playable [mahoneyt944]
|
||||
* Added partial sound to Passing Shot 4 player bootleg [arcadez, mahoneyt944]
|
||||
* Fixed collisions in Golden Axe (Version 2) and improved the irq timers for Body Slam [mahoneyt944]
|
||||
* Added Hard Times and Power Balls to the playmark driver, no sound in Hard Times as yet [arcadez]
|
||||
* Added Penky to paradise.c plus Fire Hawk and Spectrum 2000 to afega.c [arcadez]
|
||||
* Added new style MAME cps2 decryption many more Capcom Play System 2 sets are now supported and more games are now playable [MistyDreams]
|
||||
* Fixed some missing graphics in Beast Busters and Mechanized Attack then sorted sprite priorities on level 2 in Beast Busters [bmcphail, dink, arcadez]
|
||||
* Added a new hack to fix the lights dont go out when shot in Elevator Action Returns and clones which doesn't break the gfx on the game ending [dink, arcadez]
|
||||
* Fixed some serious graphical issues on the final level in Double Dragon 3 and the third level in The Combat Tribes [Pierpaolo Prazzoli, arcadez, Cibomatto2002]
|
||||
* Added missing dac sounds speech and crowd cheers etc etc to Taito's Big Event Golf [arcadez]
|
||||
* Fixed broken sound for the classic Williams game Inferno by backporting a sound cpu hack from later MAME [Aaron Giles, arcadez]
|
||||
* Prevented The Electric Yo-Yo from hanging during the attract mode by interleaving the CPU's [MAME Dev, arcadez]
|
||||
* Updated some parts of the Taito SJ code to MAME 103 vastly improving the emulation for Elevator Action, Jungle Hunt, Sea Fighter Poseidon and more [MAME Dev, arcadez]
|
||||
* Fixed an issue where Space Seeker would not coin up and start due to a previous commit which added an invalid input game now playable again [arcadez]
|
||||
* Stopped Space Cruiser from crashing on the asteroids level and added the dedicated button for the continue mode [MAMEDev, arcadez]
|
||||
* Fixed Jungle Hunt / Jungle King / Pirate Pete from crashing on the last level [MEMEDev, arcadez]
|
||||
* Sorted a gfx niggle with Mario Bros where the screen would shake incorrectly left/right rather than up/down when you hit the POW box [MAMEDEv, arcadez]
|
||||
* Added support for Woodpecker to the pacman.c driver [MAMEDEv, arcadez, mahoneyt944]
|
||||
* Added sound banking to the OKIM6295 in silkroad.c fixing missing Sfx and Speech in The Legend Of Silkroad [MAMEDev, arcadez]
|
||||
* Added the Prom dump for Taxi Driver and hooked up the palette init fixing colours in the game [MAMEDev, arcadez]
|
||||
* Improved the sound for Congo Bongo by adding new samples and reclocking the 2nd SN76496 channel to fix the drums tempo [MAMEDev, arcadez]
|
||||
* Added support for Back Fire to the Tecmo driver [MAMEDev, arcadez]
|
||||
* Fix broken attract mode and likely other problems with the japan sets of Undercover Cops due to incorrect speedup addresses [Bryan Mcphail, Scandy]
|
||||
* Added support for a bootleg version of Sonic The Hedgehog 2 to the segac2 driver and made Lode Runner The Dig Fight default to the English World Region [MAMEDev, arcadez]
|
||||
* Added Deco Cassette Type A bios fixed Highway Chase sorted colours for all games then updated some parts of the machine and video code to MAME146 [MAMEDev, arcadez]
|
||||
* Added support for Angler Dangler, Manhattan, Oozumou - The Grand Sumo, Skater, and Super Doubles Tennis to the Deco Cassette driver [MAMEDev, arcadez]
|
||||
* Added support for resnet dkong and dkong3 machines are hooked up atm [MistyDreams]
|
||||
* Fixed Dragon Gun from locking up on the final boss and sorted an issue with the energy bar being missing also on the final boss [MAMEDev, arcadez]
|
||||
* Added support for the USA version of Night Slashers to the deco32.c driver [arcadez]
|
||||
* Sorted broken dip switches in Mr Do's Castle, Do! Run Run and Mr Do's Wild Ride plus fixed the sound for Indoor Soccer [MAMEDev, arcadez, SapphireDrew]
|
||||
* Fixed broken sound in Hachoo and Kick Goal plus sorted some graphical priority issues for 64th. Street - A Detective Story [MAMEDev, arcadez]
|
||||
* Added sprite buffering to the megasys1 driver improving the gfx for 64th. Street - A Detective Story, Avenging Spirit, Chimera Beast, Cybattler
|
||||
* E.D.F. : Earth Defense Force, Hachoo, In Your Face, Legend of Makai, P-47 - The Phantom Fighter, Ninja Kazan, Plus Alpha, Rod-Land, Saint Dragon
|
||||
* Shingen Samurai-Fighter, The Astyanax + more also added missing prio prom dumps for the games that did not have em already [MAMEDev, arcadez]
|
||||
* Added support for Ninja Kazan the English version of Iga Ninjyutsuden and E.D.F. : Earth Defense Force (North America) to megasys1.c [arcadez]
|
||||
* Fixed some serious graphical problems affecting Zero Hour wrong colours bullet width tilemaps etc etc Red Clash will also benefit from this [Hap, dink, arcadez]
|
||||
* Added sound sample support for Zero Hour which was totally silent previously [dink, Otto_Pylotte, MistyDreams, arcadez]
|
||||
* Added sega fd089 added all dunkshot sets and aurail sets, also added sdib,destroyer sets [mamedev backports]
|
||||
* Improved mario palette we now use resnet mamedev backports]
|
||||
* Fixed the official andparent romset for Free Kick and hooked up missing button 2 for Free kick. Gigas and Giga Mark II [MAMEDev, arcadez]
|
||||
* Added a previously missing graphical effect for Mega Blast in taito_f2.c now when you get the green pickup the shield orb on your ship can be seen [HAZE, arcadez]
|
||||
* Added support for the Tatsumi driver supporting Big Fight - Big Trouble In The Atlantic Ocean, Cycle Warriors and Round Up 5 - Super Delta Force [Mame2003 Dev Team]
|
||||
* Updated the Tecmo Sys driver to MAME126 both Deroon DeroDero and Touki Denshou - Angel Eyes are now playable [Haze, Arcadez, dink]
|
||||
* Hooked up the missing SN76496 sound for Special Forces and Special Forces II in the dkong.c driver both games now have Sfx and music [arcadez]
|
||||
* Fixed sound popping on B-Rap Boys and some sound banking niggles with The Great Thousand Mile Rally games [Mistydreams, arcadez]
|
||||
* Added support for Top Driving to the kickgoal.c driver [HAZE, arcadez]
|
||||
* Added a rare Atari Prototype Gut's N' Glory to the eprom.c driver [arcadez, mahoneyt944]
|
||||
* Updated the stlforce driver adding support for Mortal Race then backported some video fixes for it and Steel Force from later MAME [Mistydreams]
|
||||
* Added support for Dogyuun (8/25/1992 location test) to toaplan2 this version has full sound and music [arcadez, grant2258]
|
||||
* Added Photo Y2K 2 Puzzli 2 and Puzzli 2 Super to the pgm driver [arcadez, IQ_132, Haze]
|
||||
* Switched Contra to use the HD6309 for the main CPU to get rid of slowdowns and fix a crash after 2nd enemy base [arcadez]
|
||||
* Backported a fix from later MAME which gets rid of sprites sticking on the screen in Contra [Kale, mahoneyt944]
|
||||
* Fixed sprite prios and some bullets being hidden behind the bosses in Flak Attack / MX5000 [dink, KALE, arcadez]
|
||||
* Fixed missing commentary voices and correctly hooked up player 3 and 4 inputs for Rim Rockin Basketball [arcadez]
|
||||
* Fixed some graphical niggles and hooked up full sound and music for IREM's Atomic Boy / Wily Tower [MAMEDev, arcadez]
|
||||
* Fixed WWF Superstars bad sprites with some of Randy Macho Man Savage moves eg back suplex etc etc [MAMEDev, arcadez]
|
||||
* Hacked around some game breaking protection calls in Solomon's Key which could make levels unplayable [MAMEDEv, arcadez]
|
||||
* Added Maze Invaders Atari prototype to the centipede driver [MAMEDEv, arcadez]
|
||||
* Fixed Dragonball Z VRVS in the system32.c driver and Fantastic Journey in the konamigx.c driver [grant2258, arcadez]
|
||||
* Updated the romset for Pack N' Bang Bang to use the final released version rather than the unfinished prototype [arcadez]
|
||||
* Added the English language version of Dragon Might to the konamigx.c driver [arcadez, grant2258]
|
||||
* Added support for Monsters World (Bootleg Of Super Pang) to the mitchell.c driver [arcadez]
|
||||
* Fixed some graphical niggles in Cannon Dancer / Osman such as some objects didn't move previously eg trucks on final level [FBN Dev, MAMEDev, arcadez]
|
||||
* Added shadow support to the SSV video greatly improving the graphical effects in Storm Blade [MAMEDev, arcadez]
|
||||
* Fixed graphical corruption on left side of screen stage 3 onwards in Storm Blade and all stages in Ultra X Weapons [MAMEDev, arcadez]
|
||||
* Added some alt sprite drawing to the ssv video to prevent performance drops in some SSV games after the above updates [BritneysPAIRS]
|
||||
* Hooked up the M6801 Protection MCU for Kiki Kai Kai fixing many gameplay issues this game can now be considered 100% in the emulation dept [arcadez]
|
||||
* Updated Sega system 16/c2 gfx to support the system18 VDP gfx then added Clockwork Aquario to the system18 driver[grant2258, arcadez, mistydreams]
|
||||
* Fixed DD Crew so it is now playable in this core added support for Hammer Away and fixed the sound banking for games in system18.c [grant2258, arcadez, mistydreams]
|
||||
* Added screen flipping and fixed the cocktail mode for Asteroids, Asteroids Deluxe and Tempest [mahoneyt944]
|
||||
* Backported a graphical fix from latest MAME to fix missing shadows in Atari's Shuuz [MAMEdev, arcadez]
|
||||
* Added Donkey Kong Remix and Donkey Kong Christmas Remix hacks to dkong.c [grant2258, arcadez]
|
||||
* Emulated a missing graphical effect for Wild Fang / Tecmo Knight the screen now shakes when enemies break through walls and you land after a big jump [arcadez]
|
||||
* Fixed Player 2 Start Button for Namco's Tinkle Pit [MAMEDev, arcadez]
|
||||
* Updated the rabbit driver to MAME88 and bootstrapped the rom loading to prevent the game from hanging, Rabbit is now playable but without sound
|
||||
* as we dont have the I5000 soundcore this game would require [arcadez, mahoneyt944]
|
||||
* Added missing button 3 inputs for Strike Gunner S.T.G used to combine both ships into one during a two player game [MAMEDEv, arcadez]
|
||||
* Updated the protection code for Exerion to prevent the game from ending should you die at anytime after the first bonus round [MAMEDev, arcadez]
|
||||
* Added a new game Top Roller to the yamato.c driver and reworked the cpu encryption making it compatable with the MAME78 codebase [grant2258, arcadez]
|
||||
* Fixed some graphical niggles with Chinese Hero on level 7 [MAMEDev, arcadez]
|
||||
* Improved the sound for Go Go! Mile Smile / Susume! Mile Smile by adding sound banking and reclocking the sound and CPU speeds [MAMEDev, arcadez]
|
||||
* Fixed some grahical niggles throughout the game and with the cocktail mode for Orca's Sky Lancer [MAMEDev, arcadez]
|
||||
* Added support for Cyborg Force to the NeoGeo driver [arcadez]
|
||||
* Fixed broken sound and incorrect background graphics in Performan [MAMEDev, arcadez]
|
||||
* Improved the sound for Burgler X and Zero Point by reclocking the YM3812 sound call [MAMEDev, arcadez]
|
||||
* Added support for Buccaneers to vigilant.c and ThunderForce AC (Japan, prototype, bootleg) to the segac2.c drivers [MAMEDev, arcadez]
|
||||
* Fixed sound clipping in Karate Champ [MAMEDev, arcadez]
|
||||
* Fixed sound samples not playing in two versions of Bomber Man namely Bomber Man World (World) and New Atomic Punk - Global Quest (US) [MAMEDev, arcadez]
|
||||
* Added two sets of Twin Cobra 2 to the taito_f3.c driver and the international version of Dangun Feveron namely Fever SOS to cave.c [arcadez]
|
||||
* Fixed up Dark Edge and Slipstream by hooking up the inputs adding the protection then fixing the graphics and sound both games now playable [mahoneyt944, grant2258, arcadez]
|
||||
* Backported segas32 video driver, interrupt controllers for v60 and sound, general cleanup and merger of multi32 and system32 drivers. [mahoneyt944]
|
||||
* Backported the segaxbd driver and video code from later MAME A.B. COP, Line Of Fire, Racing Hero, Super Monaco GP
|
||||
* and Thunder Blade are now fully playable [grant2258]
|
||||
* Added support for Knights Chance to the NeoGeo driver [arcadez]
|
||||
* Fixed dip switches for Super Pac-man added new sound roms for Pac & Pal and new graphical roms which fix bad colours in Pac-man & Chomp Chomp [MAMEDev, arcadez]
|
||||
* Added the proper sprite roms for Final Lap 2 game now playable and hooked up the road colour clut proms for the Final Lap games and Suzuka 8 Hours [arcadez]
|
||||
* Fixed some missing line scrolling graphical effects in Magical Cat Adventure and Nostradamus [MAMEDev, arcadez]
|
||||
* Added three more Megadrive arcade bootlegs to segac2 namely Jurassic Park, Sonic 3 and Twinkle Tale [MAMEDev, arcadez, mahoneyt944]
|
||||
* Improved the gfx significantly for Sega's Title Fight [mahoneyt944]
|
||||
* Fixed missing and or incorrect sounds with a two player game in Title Fight [arcadez]
|
||||
* Added support for a decrypted version of Passing Shot and a rare prototype of the same game called Center Court to segas16b driver [grant2258]
|
||||
* Added Captain Barrel by Neobyteforce to the neogeo driver [arcadez]
|
||||
* Backported some graphical fixes for SNK's Joyful Road / Munch Mobile from later MAME [arcadez]
|
||||
* Added RNG protection which handles random events during boss battles improving the emulation
|
||||
* for Data East's Secret Agent / Sly Spy [arcadez, Mahoneyt944]
|
||||
* Improved the protection for Data East's Express Raider to prevent the game stalling on level 2 [MAMEDev, arcadez]
|
||||
* Added support for Bubble Buster a unique version of Puzzle Bobble with totally different gameplay and music [arcadez, FBNDev]
|
||||
* Fixed the attract mode for 64th Street, Chimera Beast, pengo, updated the pengo sets and fixed the gameover annimation for Vapor Trail [grant2258]
|
||||
* Added reset playfield dip switch option in Space Wars [mahoneyt944]
|
||||
* Merged pbillian.c and superqix.c updating to MAME90 which improves the emulation and sound for Prebillian and VS. Hot Smash both games now playable [arcadez, grant2258]
|
||||
* Ported across from advancemame a proper fix For Risky Challenge / Gussun Oyoyo the protection is now fully cracked fixing an issuemwhere the game
|
||||
could crash on the score calc between levels is sorted [amadvance, arcadez]
|
||||
* Added Taito's Victorious Nine to flstory.c and hooked up the M68705 protection MCU for Taito's Field Day [arcadez]
|
||||
* Added support for Gladmort to the NeoGeo driver [arcadez]
|
||||
* Added Quick Shots an unprotected version of Target Hits to the targeth.c driver then updated the gfx and configured the gun sights [arcadez, grant2258]
|
||||
* Added Shuihu Feng Yun Zhuan and Songjiangyanyi Final to the segac2.c driver grant2258 fixed Shuihu Feng Yun Zhuan game now playable [grant2258, arcadez]
|
||||
* Supported Double Dragon One and The Eve Of The Typhoon in neogeo.c [arcadez]
|
||||
* Added Double Wings (Asia) to the dblewing.c driver as unlike the original version this one doen't have checkpoints [arcadez]
|
||||
* Ported across from FBL dink's fix for the broken text gfx layer in the Japanese version Of Cameltry [dink, arcadez]
|
||||
* Added support for Jammin a rare Atari prototype music game to the Donkey Kong driver [arcadez]
|
||||
* Added Saurian Front a super rare Williams prototype of Midway's Strike Force to the midyunit driver [arcadez]
|
||||
* Added Adventure Canoe to the taitosj driver [arcadez, jackphilippi, dink]
|
||||
* Added support for Ketsui: Kizuna Jigoku Tachi - IKD 2007 Special Version to pgm.c [arcadez]
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
TARGET_NAME := mame2003_plus
|
||||
CORE_DIR := src
|
||||
INCLUDE_DRV ?= all
|
||||
|
||||
DEBUG ?= 0
|
||||
DEBUGGER ?= 0
|
||||
SPLIT_UP_LINK ?= 0
|
||||
ARM ?= 0 # set to 0 or 1 to indicate ARM or not
|
||||
HAVE_ARMv6 ?= 0
|
||||
CPU_ARCH ?= 0 # as of November 2018 this flag doesn't seem to be used but is being set to either arm or arm64 for some platforms
|
||||
|
||||
LIBS ?=
|
||||
@@ -179,6 +181,7 @@ else ifeq ($(platform), rpi0)
|
||||
CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions
|
||||
CPU_ARCH := arm
|
||||
ARM = 1
|
||||
HAVE_ARMv6 = 1
|
||||
|
||||
# Raspberry Pi 1
|
||||
else ifeq ($(platform), rpi1)
|
||||
@@ -191,6 +194,7 @@ else ifeq ($(platform), rpi1)
|
||||
CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions
|
||||
CPU_ARCH := arm
|
||||
ARM = 1
|
||||
HAVE_ARMv6 = 1
|
||||
|
||||
# Raspberry Pi 2
|
||||
else ifeq ($(platform), rpi2)
|
||||
@@ -203,6 +207,7 @@ else ifeq ($(platform), rpi2)
|
||||
CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions
|
||||
CPU_ARCH := arm
|
||||
ARM = 1
|
||||
HAVE_ARMv6 = 1
|
||||
|
||||
# Raspberry Pi 3
|
||||
else ifeq ($(platform), rpi3)
|
||||
@@ -215,6 +220,7 @@ else ifeq ($(platform), rpi3)
|
||||
CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions
|
||||
CPU_ARCH := arm
|
||||
ARM = 1
|
||||
HAVE_ARMv6 = 1
|
||||
|
||||
# Raspberry Pi 3 (AArch64)
|
||||
else ifeq ($(platform), rpi3_64)
|
||||
@@ -238,6 +244,7 @@ else ifeq ($(platform), rpi4)
|
||||
CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions
|
||||
CPU_ARCH := arm
|
||||
ARM = 1
|
||||
HAVE_ARMv6 = 1
|
||||
|
||||
# Raspberry Pi 4 (AArch64)
|
||||
else ifeq ($(platform), rpi4_64)
|
||||
@@ -270,6 +277,7 @@ else ifeq ($(platform), classic_armv7_a7)
|
||||
ARCH = arm
|
||||
CPU_ARCH := arm
|
||||
ARM = 1
|
||||
HAVE_ARMv6 = 1
|
||||
ifeq ($(shell echo `$(CC) -dumpversion` "< 4.9" | bc -l), 1)
|
||||
CFLAGS += -march=armv7-a
|
||||
else
|
||||
@@ -300,6 +308,7 @@ else ifeq ($(platform), s812)
|
||||
ARCH = arm
|
||||
CPU_ARCH := arm
|
||||
ARM = 1
|
||||
HAVE_ARMv6 = 1
|
||||
|
||||
# Playstation Classic
|
||||
else ifeq ($(platform), classic_armv8_a35)
|
||||
@@ -321,6 +330,7 @@ else ifeq ($(platform), classic_armv8_a35)
|
||||
ARCH = arm
|
||||
CPU_ARCH := arm
|
||||
ARM = 1
|
||||
HAVE_ARMv6 = 1
|
||||
CFLAGS += -march=armv8-a
|
||||
LDFLAGS += -static-libgcc -static-libstdc++
|
||||
|
||||
@@ -378,13 +388,15 @@ else ifeq ($(platform), ngc)
|
||||
|
||||
# Nintendo Wii
|
||||
else ifeq ($(platform), wii)
|
||||
TARGET = $(TARGET_NAME)_libretro_$(platform).a
|
||||
TARGET = $(TARGET_NAME)_$(INCLUDE_DRV)_libretro_$(platform).a
|
||||
BIGENDIAN = 1
|
||||
CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT)
|
||||
AR = $(DEVKITPPC)/bin/powerpc-eabi-ar$(EXE_EXT)
|
||||
PLATCFLAGS += -DGEKKO -mrvl -mcpu=750 -meabi -mhard-float -D__ppc__ -D__POWERPC__
|
||||
PLATCFLAGS += -U__INT32_TYPE__ -U __UINT32_TYPE__ -D__INT32_TYPE__=int
|
||||
PLATCFLAGS += -D$(INCLUDE_DRV) -DSPLIT_CORE
|
||||
STATIC_LINKING = 1
|
||||
ZLIB_UNCOMPRESS = 1
|
||||
|
||||
# Nintendo WiiU
|
||||
else ifeq ($(platform), wiiu)
|
||||
@@ -393,7 +405,7 @@ else ifeq ($(platform), wiiu)
|
||||
CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT)
|
||||
AR = $(DEVKITPPC)/bin/powerpc-eabi-ar$(EXE_EXT)
|
||||
PLATCFLAGS += -DGEKKO -DWIIU -mcpu=750 -meabi -mhard-float -D__ppc__ -D__POWERPC__
|
||||
PLATCFLAGS += -U__INT32_TYPE__ -U __UINT32_TYPE__ -D__INT32_TYPE__=int
|
||||
PLATCFLAGS += -ffunction-sections -fdata-sections -D__wiiu__ -D__wut__
|
||||
STATIC_LINKING = 1
|
||||
|
||||
# Nintendo Switch (libnx)
|
||||
@@ -450,6 +462,7 @@ else ifeq ($(platform), psp1)
|
||||
AR = psp-ar$(EXE_EXT)
|
||||
PLATCFLAGS += -DPSP
|
||||
CFLAGS += -G0
|
||||
CFLAGS += -Wno-incompatible-pointer-types
|
||||
STATIC_LINKING = 1
|
||||
|
||||
# Vita
|
||||
@@ -467,6 +480,7 @@ else ifeq ($(platform), vita)
|
||||
CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions
|
||||
HAVE_RZLIB := 1
|
||||
ARM = 1
|
||||
HAVE_ARMv6 = 1
|
||||
STATIC_LINKING := 1
|
||||
USE_CYCLONE := 1
|
||||
USE_DRZ80 := 1
|
||||
@@ -519,11 +533,14 @@ else ifeq ($(platform), miyoo)
|
||||
CC = /opt/miyoo/usr/bin/arm-linux-gcc
|
||||
CXX = /opt/miyoo/usr/bin/arm-linux-g++
|
||||
AR = /opt/miyoo/usr/bin/arm-linux-ar
|
||||
fpic := -fPIC
|
||||
fpic := -fno-PIC
|
||||
LDFLAGS += -shared -Wl,--version-script=link.T -Wl,-no-undefined
|
||||
PLATCFLAGS := -DNO_UNALIGNED_ACCESS
|
||||
PLATCFLAGS += -fomit-frame-pointer -march=armv5te -mtune=arm926ej-s -ffast-math
|
||||
CXXFLAGS += -fno-rtti -fno-exceptions
|
||||
ARM = 1
|
||||
USE_CYCLONE := 1
|
||||
USE_DRZ80 := 1
|
||||
|
||||
# Emscripten
|
||||
else ifeq ($(platform), emscripten)
|
||||
@@ -752,7 +769,11 @@ else ifneq (,$(findstring windows_msvc2017,$(platform)))
|
||||
else
|
||||
TARGET := $(TARGET_NAME)_libretro.dll
|
||||
CC ?= gcc
|
||||
LDFLAGS += -shared -static-libgcc -static-libstdc++ -s -Wl,--version-script=link.T
|
||||
LDFLAGS += -shared -static-libgcc -static-libstdc++
|
||||
ifneq ($(DEBUG), 1)
|
||||
LDFLAGS += -s
|
||||
endif
|
||||
LDFLAGS += -Wl,--version-script=link.T
|
||||
CFLAGS += -D__WIN32__
|
||||
endif
|
||||
|
||||
@@ -802,6 +823,11 @@ CFLAGS += -DHAVE_SOCKLEN_T
|
||||
CFLAGS += -D_LARGEFILE_SOURCE
|
||||
CFLAGS += -D_FILE_OFFSET_BITS=64
|
||||
|
||||
# make gcc fail like msvc does
|
||||
ifeq (,$(findstring msvc,$(platform)))
|
||||
CFLAGS += -Werror=vla -Werror=declaration-after-statement
|
||||
endif
|
||||
|
||||
# Required for RZIP support in cheat.c
|
||||
CFLAGS += -DHAVE_ZLIB
|
||||
|
||||
@@ -834,8 +860,16 @@ else
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(HAVE_ARMv6),1)
|
||||
CFLAGS += -DHAVE_ARMv6
|
||||
endif
|
||||
|
||||
# include the various .mak files
|
||||
include Makefile.common
|
||||
ifneq (,$(filter $(INCLUDE_DRV),all))
|
||||
include Makefile.common
|
||||
else
|
||||
include Makefile.split
|
||||
endif
|
||||
|
||||
# build the targets in different object dirs, since mess changes
|
||||
# some structures and thus they can't be linked against each other.
|
||||
@@ -844,9 +878,9 @@ DEFS = $(COREDEFINES) -Dasm=__asm__
|
||||
CFLAGS += $(INCFLAGS) $(INCFLAGS_PLATFORM)
|
||||
|
||||
# combine the various definitions to one
|
||||
CDEFS = $(DEFS) $(COREDEFS) $(CPUDEFS) $(SOUNDDEFS) $(ASMDEFS) $(DBGDEFS)
|
||||
CDEFS = $(DEFS) $(CPUDEFS) $(SOUNDDEFS) $(ASMDEFS) $(DBGDEFS)
|
||||
|
||||
OBJECTS := $(SOURCES_C:.c=.o) $(SOURCES_ASM:.s=.o)
|
||||
OBJECTS := $(SOURCES_C:.c=.o) $(SOURCES_ASM:.s=.o) $(SOURCES_ASM_PP:.S=.o)
|
||||
|
||||
OBJOUT = -o
|
||||
LINKOUT = -o
|
||||
|
||||
+31
-21
@@ -68,6 +68,7 @@ SOURCES_C += \
|
||||
$(CORE_DIR)/x86drc.c
|
||||
|
||||
SOURCES_C += \
|
||||
$(CORE_DIR)/machine/fd1089.c \
|
||||
$(CORE_DIR)/machine/6522via.c \
|
||||
$(CORE_DIR)/machine/6532riot.c \
|
||||
$(CORE_DIR)/machine/6821pia.c \
|
||||
@@ -94,7 +95,8 @@ SOURCES_C += \
|
||||
$(CORE_DIR)/vidhrdw/matrix3d.c \
|
||||
$(CORE_DIR)/vidhrdw/poly.c \
|
||||
$(CORE_DIR)/vidhrdw/tlc34076.c \
|
||||
$(CORE_DIR)/vidhrdw/vector.c
|
||||
$(CORE_DIR)/vidhrdw/vector.c \
|
||||
$(CORE_DIR)/vidhrdw/resnet.c
|
||||
|
||||
# the core object files (without target specific objects;
|
||||
# those are added in the target.mak files)
|
||||
@@ -422,7 +424,6 @@ SOURCES_C += \
|
||||
$(CORE_DIR)/vidhrdw/topspeed_vidhrdw.c $(CORE_DIR)/drivers/topspeed.c \
|
||||
$(CORE_DIR)/machine/arkanoid_machine.c $(CORE_DIR)/vidhrdw/arkanoid_vidhrdw.c $(CORE_DIR)/drivers/arkanoid.c \
|
||||
$(CORE_DIR)/vidhrdw/superqix_vidhrdw.c $(CORE_DIR)/drivers/superqix.c \
|
||||
$(CORE_DIR)/vidhrdw/pbillian_vidhrdw.c $(CORE_DIR)/drivers/pbillian.c $(CORE_DIR)/sndhrdw/pbillian_sndhrdw.c \
|
||||
$(CORE_DIR)/vidhrdw/exzisus_vidhrdw.c $(CORE_DIR)/drivers/exzisus.c \
|
||||
$(CORE_DIR)/drivers/taito_x.c $(CORE_DIR)/machine/cchip.c \
|
||||
$(CORE_DIR)/vidhrdw/minivadr_vidhrdw.c $(CORE_DIR)/drivers/minivadr.c \
|
||||
@@ -479,7 +480,7 @@ SOURCES_C += \
|
||||
$(CORE_DIR)/machine/kabuki.c \
|
||||
$(CORE_DIR)/vidhrdw/mitchell_vidhrdw.c $(CORE_DIR)/drivers/mitchell.c \
|
||||
$(CORE_DIR)/vidhrdw/cbasebal_vidhrdw.c $(CORE_DIR)/drivers/cbasebal.c \
|
||||
$(CORE_DIR)/vidhrdw/cps1_vidhrdw.c $(CORE_DIR)/drivers/cps1.c $(CORE_DIR)/drivers/cps2.c \
|
||||
$(CORE_DIR)/vidhrdw/cps1_vidhrdw.c $(CORE_DIR)/drivers/cps1.c $(CORE_DIR)/drivers/cps2.c $(CORE_DIR)/machine/cps2crypt.c\
|
||||
$(CORE_DIR)/drivers/zn.c \
|
||||
$(CORE_DIR)/vidhrdw/tms34061_vidhrdw.c \
|
||||
$(CORE_DIR)/machine/capbowl_machine.c $(CORE_DIR)/vidhrdw/capbowl_vidhrdw.c $(CORE_DIR)/drivers/capbowl.c \
|
||||
@@ -502,12 +503,13 @@ SOURCES_C += \
|
||||
$(CORE_DIR)/vidhrdw/system1_vidhrdw.c $(CORE_DIR)/drivers/system1.c \
|
||||
$(CORE_DIR)/vidhrdw/segasyse_vidhrdw.c $(CORE_DIR)/drivers/segasyse.c \
|
||||
$(CORE_DIR)/machine/system16_machine.c $(CORE_DIR)/vidhrdw/system16_vidhrdw.c $(CORE_DIR)/vidhrdw/sys16spr.c \
|
||||
$(CORE_DIR)/sndhrdw/system16_sndhrdw.c \
|
||||
$(CORE_DIR)/drivers/system16.c $(CORE_DIR)/drivers/aburner.c $(CORE_DIR)/drivers/outrun.c \
|
||||
$(CORE_DIR)/vidhrdw/segaic16.c $(CORE_DIR)/vidhrdw/segas16b.c $(CORE_DIR)/vidhrdw/segaorun.c $(CORE_DIR)/drivers/segas16b.c \
|
||||
$(CORE_DIR)/sndhrdw/system16_sndhrdw.c $(CORE_DIR)/machine/segaic16.c $(CORE_DIR)/vidhrdw/segaxbd.c\
|
||||
$(CORE_DIR)/drivers/system16.c $(CORE_DIR)/drivers/aburner.c $(CORE_DIR)/drivers/outrun.c $(CORE_DIR)/drivers/segaxbd.c \
|
||||
$(CORE_DIR)/drivers/sharrier.c $(CORE_DIR)/drivers/system18.c \
|
||||
$(CORE_DIR)/drivers/system24.c $(CORE_DIR)/machine/system24_machine.c $(CORE_DIR)/vidhrdw/system24_vidhrdw.c \
|
||||
$(CORE_DIR)/vidhrdw/segaic24.c \
|
||||
$(CORE_DIR)/drivers/system32.c $(CORE_DIR)/drivers/multi32.c $(CORE_DIR)/vidhrdw/system32_vidhrdw.c \
|
||||
$(CORE_DIR)/vidhrdw/segaic24.c $(CORE_DIR)/vidhrdw/segas18.c \
|
||||
$(CORE_DIR)/drivers/segas32.c $(CORE_DIR)/machine/segas32.c $(CORE_DIR)/vidhrdw/segas32.c \
|
||||
$(CORE_DIR)/vidhrdw/segac2_vidhrdw.c $(CORE_DIR)/drivers/segac2.c \
|
||||
$(CORE_DIR)/drivers/stv.c $(CORE_DIR)/drivers/stvhacks.c $(CORE_DIR)/machine/stvcd.c \
|
||||
$(CORE_DIR)/machine/scudsp.c \
|
||||
@@ -1042,7 +1044,8 @@ SOURCES_C += \
|
||||
$(CORE_DIR)/machine/model1_machine.c $(CORE_DIR)/vidhrdw/model1_vidhrdw.c $(CORE_DIR)/drivers/model1.c \
|
||||
$(CORE_DIR)/drivers/calorie.c \
|
||||
$(CORE_DIR)/machine/mc8123.c \
|
||||
$(CORE_DIR)/machine/namcoio_machine.c
|
||||
$(CORE_DIR)/machine/namcoio_machine.c \
|
||||
$(CORE_DIR)/drivers/tatsumi.c $(CORE_DIR)/vidhrdw/tatsumi.c $(CORE_DIR)/machine/tatsumi.c
|
||||
|
||||
|
||||
|
||||
@@ -2673,6 +2676,19 @@ SOURCES_C += \
|
||||
$(CORE_DIR)/libretro-deps/libFLAC/stream_decoder.c \
|
||||
$(CORE_DIR)/libretro-deps/libFLAC/window.c
|
||||
|
||||
SOURCES_C += \
|
||||
$(CORE_DIR)/lib/zlib/adler32.c \
|
||||
$(CORE_DIR)/lib/zlib/crc32.c \
|
||||
$(CORE_DIR)/lib/zlib/deflate.c \
|
||||
$(CORE_DIR)/lib/zlib/inffast.c \
|
||||
$(CORE_DIR)/lib/zlib/inflate.c \
|
||||
$(CORE_DIR)/lib/zlib/inftrees.c \
|
||||
$(CORE_DIR)/lib/zlib/ioapi.c \
|
||||
$(CORE_DIR)/lib/zlib/trees.c \
|
||||
$(CORE_DIR)/lib/zlib/uncompr.c \
|
||||
$(CORE_DIR)/lib/zlib/unzip.c \
|
||||
$(CORE_DIR)/lib/zlib/zutil.c
|
||||
|
||||
ifeq ($(STATIC_LINKING),1)
|
||||
else
|
||||
SOURCES_C += \
|
||||
@@ -2697,23 +2713,17 @@ SOURCES_C += \
|
||||
$(LIBRETRO_COMM_DIR)/string/stdstring.c \
|
||||
$(LIBRETRO_COMM_DIR)/utils/md5.c \
|
||||
$(LIBRETRO_COMM_DIR)/vfs/vfs_implementation.c \
|
||||
$(LIBRETRO_COMM_DIR)/time/rtime.c \
|
||||
$(CORE_DIR)/lib/zlib/adler32.c \
|
||||
$(CORE_DIR)/lib/zlib/crc32.c \
|
||||
$(CORE_DIR)/lib/zlib/deflate.c \
|
||||
$(CORE_DIR)/lib/zlib/inffast.c \
|
||||
$(CORE_DIR)/lib/zlib/inflate.c \
|
||||
$(CORE_DIR)/lib/zlib/inftrees.c \
|
||||
$(CORE_DIR)/lib/zlib/ioapi.c \
|
||||
$(CORE_DIR)/lib/zlib/trees.c \
|
||||
$(CORE_DIR)/lib/zlib/uncompr.c \
|
||||
$(CORE_DIR)/lib/zlib/unzip.c \
|
||||
$(CORE_DIR)/lib/zlib/zutil.c
|
||||
$(LIBRETRO_COMM_DIR)/time/rtime.c
|
||||
endif
|
||||
|
||||
ifeq ($(ZLIB_UNCOMPRESS), 1)
|
||||
SOURCES_C += \
|
||||
$(CORE_DIR)/lib/zlib/uncompr.c
|
||||
endif
|
||||
|
||||
ifeq ($(USE_CYCLONE), 1)
|
||||
CPUDEFS += -DHAS_CYCLONE=1
|
||||
SOURCES_ASM += $(CORE_DIR)/cpu/m68000_cyclone/cyclone.s
|
||||
SOURCES_ASM_PP += $(CORE_DIR)/cpu/m68000_cyclone/cyclone.S
|
||||
SOURCES_C += $(CORE_DIR)/cpu/m68000_cyclone/c68000.c
|
||||
endif
|
||||
|
||||
|
||||
+2712
File diff suppressed because it is too large.
Load diff
+3
-2
@@ -5,7 +5,7 @@ CORE_DIR := $(ROOT_DIR)/src
|
||||
|
||||
include $(ROOT_DIR)/Makefile.common
|
||||
|
||||
COREFLAGS := $(DEFS) $(COREDEFS) $(CPUDEFS) $(SOUNDDEFS) $(ASMDEFS) $(DBGDEFS) -ffast-math -funroll-loops -DANDROID -DHAVE_ZLIB $(INCFLAGS)
|
||||
COREFLAGS := $(DEFS) $(COREDEFINES) $(CPUDEFS) $(SOUNDDEFS) $(ASMDEFS) $(DBGDEFS) -ffast-math -funroll-loops -DANDROID -DHAVE_ZLIB $(INCFLAGS)
|
||||
|
||||
GIT_VERSION := " $(shell git rev-parse --short HEAD || echo unknown)"
|
||||
ifneq ($(GIT_VERSION)," unknown")
|
||||
@@ -16,7 +16,8 @@ include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := retro
|
||||
LOCAL_SRC_FILES := $(SOURCES_C)
|
||||
LOCAL_CFLAGS := -std=gnu90 $(COREFLAGS) -fsigned-char
|
||||
LOCAL_LDFLAGS := -Wl,-version-script=$(ROOT_DIR)/link.T
|
||||
LOCAL_LDFLAGS := -Wl,-version-script=$(ROOT_DIR)/link.T,-z,max-page-size=16384
|
||||
LOCAL_SHORT_COMMANDS := true
|
||||
|
||||
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
|
||||
LOCAL_ARM_NEON := true
|
||||
|
||||
+5295
-5045
File diff suppressed because it is too large.
Load diff
+534
-40
@@ -49262,34 +49262,532 @@ kingofb:0:C061:FF:070:Select Player's hits
|
||||
kingofb:0:C021:FF:070:Select Computer's hits
|
||||
|
||||
; [ Killer Instinct (v1.0) ]
|
||||
kinst:0:880884F8:46:000:Infinite Time
|
||||
kinst:0:880884F9:09:500:Infinite Time (2/3)
|
||||
kinst:0:880884FA:09:500:Infinite Time (3/3)
|
||||
kinst:0:8808BC55:78:000:Infinite Energy PL1
|
||||
kinst:0:8808BC54:00:500:Infinite Energy PL1 (2/2)
|
||||
:kinst:62000000:0000000:00000000:00000000:Volume Control - After adjusting volume, turn this option off to resume game
|
||||
:kinst:00010000:8808F3E4:00000001:FFFFFFFF:Volume Control
|
||||
:kinst:62000000:0000000:00000000:00000000:Select Attack Speed PL1
|
||||
:kinst:00010000:8808BC4F:00000000:FFFFFFFF:Default
|
||||
:kinst:00010000:8808BC4F:00000001:FFFFFFFF:Xtreme
|
||||
:kinst:00010000:8808BC4F:00000002:FFFFFFFF:Amped
|
||||
:kinst:00010000:8808BC4F:00000003:FFFFFFFF:Turbo
|
||||
:kinst:00010000:8808BC4F:00000004:FFFFFFFF:Ultra
|
||||
:kinst:00010000:8808BC4F:00000005:FFFFFFFF:Blitz
|
||||
:kinst:00010000:8808BC4F:00000006:FFFFFFFF:Insano
|
||||
:kinst:00010000:8808BC4F:00000007:FFFFFFFF:Jedi
|
||||
:kinst:00010000:8808BC4F:00000008:FFFFFFFF:Maverick
|
||||
:kinst:00010000:8808BC4F:00000009:FFFFFFFF:Warp Speed
|
||||
:kinst:00010000:8808BC4F:00000010:FFFFFFFF:Ludicrous
|
||||
:kinst:00010000:8808BC4F:00000011:FFFFFFFF:Teleportation
|
||||
:kinst:62000000:0000000:00000000:00000000:Select Movement Speed PL1
|
||||
:kinst:00010000:8808BC4D:00000000:FFFFFFFF:Default
|
||||
:kinst:00010000:8808BC4D:00000001:FFFFFFFF:Xtreme
|
||||
:kinst:00010000:8808BC4D:00000002:FFFFFFFF:Amped
|
||||
:kinst:00010000:8808BC4D:00000003:FFFFFFFF:Turbo
|
||||
:kinst:00010000:8808BC4D:00000004:FFFFFFFF:Ultra
|
||||
:kinst:00010000:8808BC4D:00000005:FFFFFFFF:Blitz
|
||||
:kinst:00010000:8808BC4D:00000006:FFFFFFFF:Insano
|
||||
:kinst:00010000:8808BC4D:00000007:FFFFFFFF:Jedi
|
||||
:kinst:00010000:8808BC4D:00000008:FFFFFFFF:Maverick
|
||||
:kinst:00010000:8808BC4D:00000009:FFFFFFFF:Warp Speed
|
||||
:kinst:00010000:8808BC4D:00000010:FFFFFFFF:Ludicrous
|
||||
:kinst:00010000:8808BC4D:00000011:FFFFFFFF:Teleportation
|
||||
:kinst:62000000:0000000:00000000:00000000:Select Character Size PL1
|
||||
:kinst:00010000:8808BC71:00000001:FFFFFFFF:Mouse
|
||||
:kinst:00010000:8808BC71:00000002:FFFFFFFF:Rat
|
||||
:kinst:00010000:8808BC71:00000003:FFFFFFFF:Kitten
|
||||
:kinst:00010000:8808BC71:00000004:FFFFFFFF:Puppy
|
||||
:kinst:00010000:8808BC71:00000005:FFFFFFFF:Cat
|
||||
:kinst:00010000:8808BC71:00000006:FFFFFFFF:Chicken
|
||||
:kinst:00010000:8808BC71:00000007:FFFFFFFF:Raccoon
|
||||
:kinst:00010000:8808BC71:00000008:FFFFFFFF:Dog
|
||||
:kinst:00010000:8808BC71:00000009:FFFFFFFF:Pig
|
||||
:kinst:00010000:8808BC71:00000010:FFFFFFFF:Raptor
|
||||
:kinst:00010000:8808BC71:00000011:FFFFFFFF:Lion
|
||||
:kinst:00010000:8808BC71:00000012:FFFFFFFF:Tiger
|
||||
:kinst:00010000:8808BC71:00000013:FFFFFFFF:Bear
|
||||
:kinst:00010000:8808BC71:00000014:FFFFFFFF:Shark
|
||||
:kinst:00010000:8808BC71:00000015:FFFFFFFF:Rhino
|
||||
:kinst:00010000:8808BC71:00000016:FFFFFFFF:Hulk
|
||||
:kinst:00010000:8808BC71:00000017:FFFFFFFF:T-Rex
|
||||
:kinst:00010000:8808BC71:00000018:FFFFFFFF:Whale
|
||||
:kinst:00010000:8808BC71:00000019:FFFFFFFF:Kong
|
||||
:kinst:00010000:8808BC71:00000020:FFFFFFFF:Kaiju
|
||||
:kinst:00000000:8808BC95:00000009:FFFFFFFF:Shadow Character PL1
|
||||
:kinst:00000000:8808BCBB:00000006:FFFFFFFF:Maximum Combo Breaker PL1
|
||||
:kinst:62000000:0000000:00000000:00000000:Select Attack Speed PL2
|
||||
:kinst:00010000:8808BD4F:00000000:FFFFFFFF:Default
|
||||
:kinst:00010000:8808BD4F:00000001:FFFFFFFF:Xtreme
|
||||
:kinst:00010000:8808BD4F:00000002:FFFFFFFF:Amped
|
||||
:kinst:00010000:8808BD4F:00000003:FFFFFFFF:Turbo
|
||||
:kinst:00010000:8808BD4F:00000004:FFFFFFFF:Ultra
|
||||
:kinst:00010000:8808BD4F:00000005:FFFFFFFF:Blitz
|
||||
:kinst:00010000:8808BD4F:00000006:FFFFFFFF:Insano
|
||||
:kinst:00010000:8808BD4F:00000007:FFFFFFFF:Jedi
|
||||
:kinst:00010000:8808BD4F:00000008:FFFFFFFF:Maverick
|
||||
:kinst:00010000:8808BD4F:00000009:FFFFFFFF:Warp Speed
|
||||
:kinst:00010000:8808BD4F:00000010:FFFFFFFF:Ludicrous
|
||||
:kinst:00010000:8808BD4F:00000011:FFFFFFFF:Teleportation
|
||||
:kinst:62000000:0000000:00000000:00000000:Select Movement Speed PL2
|
||||
:kinst:00010000:8808BD4D:00000000:FFFFFFFF:Default
|
||||
:kinst:00010000:8808BD4D:00000001:FFFFFFFF:Xtreme
|
||||
:kinst:00010000:8808BD4D:00000002:FFFFFFFF:Amped
|
||||
:kinst:00010000:8808BD4D:00000003:FFFFFFFF:Turbo
|
||||
:kinst:00010000:8808BD4D:00000004:FFFFFFFF:Ultra
|
||||
:kinst:00010000:8808BD4D:00000005:FFFFFFFF:Insano
|
||||
:kinst:00010000:8808BD4D:00000006:FFFFFFFF:Blitz
|
||||
:kinst:00010000:8808BD4D:00000007:FFFFFFFF:Jedi
|
||||
:kinst:00010000:8808BD4D:00000008:FFFFFFFF:Maverick
|
||||
:kinst:00010000:8808BD4D:00000009:FFFFFFFF:Warp Speed
|
||||
:kinst:00010000:8808BD4D:00000010:FFFFFFFF:Ludicrous
|
||||
:kinst:00010000:8808BD4D:00000011:FFFFFFFF:Teleportation
|
||||
:kinst:62000000:0000000:00000000:00000000:Select Character Size PL2
|
||||
:kinst:00010000:8808BD71:00000001:FFFFFFFF:Mouse
|
||||
:kinst:00010000:8808BD71:00000002:FFFFFFFF:Rat
|
||||
:kinst:00010000:8808BD71:00000003:FFFFFFFF:Kitten
|
||||
:kinst:00010000:8808BD71:00000004:FFFFFFFF:Puppy
|
||||
:kinst:00010000:8808BD71:00000005:FFFFFFFF:Cat
|
||||
:kinst:00010000:8808BD71:00000006:FFFFFFFF:Chicken
|
||||
:kinst:00010000:8808BD71:00000007:FFFFFFFF:Raccoon
|
||||
:kinst:00010000:8808BD71:00000008:FFFFFFFF:Dog
|
||||
:kinst:00010000:8808BD71:00000009:FFFFFFFF:Pig
|
||||
:kinst:00010000:8808BD71:00000010:FFFFFFFF:Raptor
|
||||
:kinst:00010000:8808BD71:00000011:FFFFFFFF:Lion
|
||||
:kinst:00010000:8808BD71:00000012:FFFFFFFF:Tiger
|
||||
:kinst:00010000:8808BD71:00000013:FFFFFFFF:Bear
|
||||
:kinst:00010000:8808BD71:00000014:FFFFFFFF:Shark
|
||||
:kinst:00010000:8808BD71:00000015:FFFFFFFF:Rhino
|
||||
:kinst:00010000:8808BD71:00000016:FFFFFFFF:Hulk
|
||||
:kinst:00010000:8808BD71:00000017:FFFFFFFF:T-Rex
|
||||
:kinst:00010000:8808BD71:00000018:FFFFFFFF:Whale
|
||||
:kinst:00010000:8808BD71:00000019:FFFFFFFF:Kong
|
||||
:kinst:00010000:8808BD71:00000020:FFFFFFFF:Kaiju
|
||||
:kinst:00000000:8808BD95:00000009:FFFFFFFF:Shadow Character PL2
|
||||
:kinst:00000000:8808BDBB:00000006:FFFFFFFF:Maximum Combo Breaker PL2
|
||||
:kinst:60000000:0000000:00000000:00000000:-= COMBOS - use with the appropriate character =-
|
||||
:kinst:00000001:8808BCBF:0000005E:FFFFFFFF:Jago Ultra Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000070:FFFFFFFF:Jago No Mercy 1 Now! PL1
|
||||
:kinst:00000001:8808BCBF:0000005C:FFFFFFFF:Jago No Mercy 2 Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000063:FFFFFFFF:Jago Humiliation Now! PL1
|
||||
:kinst:00000001:8808BCBF:0000005F:FFFFFFFF:Jago Combo Breaker Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000049:FFFFFFFF:TJ Combo Ultra Now! PL1
|
||||
:kinst:00000001:8808BCBF:0000004C:FFFFFFFF:TJ Combo No Mercy 1 Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000051:FFFFFFFF:TJ Combo No Mercy 2 Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000050:FFFFFFFF:TJ Combo Humiliation Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000045:FFFFFFFF:TJ Combo Breaker Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000062:FFFFFFFF:Spinal Ultra Now! PL1
|
||||
:kinst:00000001:8808BCBF:0000005E:FFFFFFFF:Spinal No Mercy 1 Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000061:FFFFFFFF:Spinal No Mercy 2 Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000070:FFFFFFFF:Spinal Humiliation Now! PL1
|
||||
:kinst:00000001:8808BCBF:0000005C:FFFFFFFF:Spinal Combo Breaker Now! PL1
|
||||
:kinst:00000001:8808BCBF:0000005D:FFFFFFFF:Chief Thunder Ultra Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000060:FFFFFFFF:Chief Thunder No Mercy 1 Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000063:FFFFFFFF:Chief Thunder No Mercy 2 Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000068:FFFFFFFF:Chief Thunder No Mercy 3 Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000067:FFFFFFFF:Chief Thunder Humiliation Now! PL1
|
||||
:kinst:00000001:8808BCBF:0000002D:FFFFFFFF:Chief THunder Combo Breaker Now! PL1
|
||||
:kinst:00000001:8808BCBF:0000004E:FFFFFFFF:Glacius Ultra Now! PL1
|
||||
:kinst:00000001:8808BCBF:0000005C:FFFFFFFF:Glacius No Mercy 1 Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000051:FFFFFFFF:Glacius No Mercy 2 Now! PL1
|
||||
:kinst:00000001:8808BCBF:0000004F:FFFFFFFF:Glacius No Mercy 3 Now! PL1
|
||||
:kinst:00000001:8808BCBF:0000005B:FFFFFFFF:Glacius Humiliation Now! PL1
|
||||
:kinst:00000001:8808BCBF:0000004C:FFFFFFFF:Glacius Combo Breaker Now! PL1
|
||||
:kinst:00000001:8808BCBF:0000005E:FFFFFFFF:Fulgore Ultra Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000062:FFFFFFFF:Fulgore No Mercy 1 Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000057:FFFFFFFF:Fulgore No Mercy 2 Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000066:FFFFFFFF:Fulgore Humiliation Now! PL1
|
||||
:kinst:00000001:8808BCBF:0000005D:FFFFFFFF:Fulgore Combo Breaker Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000015:FFFFFFFF:Cinder Ultra Now! PL1
|
||||
:kinst:00000001:8808BCBF:0000004F:FFFFFFFF:Cinder No Mercy 1 Now! PL1
|
||||
:kinst:00000001:8808BCBF:0000004C:FFFFFFFF:Cinder No Mercy 2 Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000058:FFFFFFFF:Cinder Humiliation Now! PL1
|
||||
:kinst:00000001:8808BCBF:0000004A:FFFFFFFF:Cinder Combo Breaker Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000041:FFFFFFFF:Sabre Wulf Ultra Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000053:FFFFFFFF:Sabre Wulf No Mercy 1 Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000047:FFFFFFFF:Sabre Wulf No Mercy 2 Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000052:FFFFFFFF:Sabre Wulf Humiliation Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000043:FFFFFFFF:Sabre Wulf Combo Breaker Now! PL1
|
||||
:kinst:00000001:8808BCBF:0000004E:FFFFFFFF:Orchid Ultra Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000051:FFFFFFFF:Orchid No Mercy 1 Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000061:FFFFFFFF:Orchid No Mercy 2 Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000054:FFFFFFFF:Orchid No Mercy 3 Now! PL1
|
||||
:kinst:00000001:8808BCBF:0000005E:FFFFFFFF:Orchid Humiliation Now! PL1
|
||||
:kinst:00000001:8808BCBF:0000004C:FFFFFFFF:Orchid Combo Breaker Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000049:FFFFFFFF:Riptor Ultra Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000052:FFFFFFFF:Riptor No Mercy 1 Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000055:FFFFFFFF:Riptor No Mercy 2 Now! PL1
|
||||
:kinst:00000001:8808BCBF:0000005C:FFFFFFFF:Riptor No Mercy 3 Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000064:FFFFFFFF:Riptor Humiliation Now! PL1
|
||||
:kinst:00000001:8808BCBF:00000050:FFFFFFFF:Riptor Combo Breaker Now! PL1
|
||||
:kinst:60000000:0000000:00000000:00000000:-= COMBOS - use with the appropriate character =-:These are suitable for massive downsizing in the new xml cheat format
|
||||
:kinst:00000001:8808BDBF:0000005E:FFFFFFFF:Jago Ultra Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000070:FFFFFFFF:Jago No Mercy 1 Now! PL2
|
||||
:kinst:00000001:8808BDBF:0000005C:FFFFFFFF:Jago No Mercy 2 Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000063:FFFFFFFF:Jago Humiliation Now! PL2
|
||||
:kinst:00000001:8808BDBF:0000005F:FFFFFFFF:Jago Combo Breaker Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000049:FFFFFFFF:TJ Combo Ultra Now! PL2
|
||||
:kinst:00000001:8808BDBF:0000004C:FFFFFFFF:TJ Combo No Mercy 1 Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000051:FFFFFFFF:TJ Combo No Mercy 2 Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000050:FFFFFFFF:TJ Combo Humiliation Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000045:FFFFFFFF:TJ Combo Breaker Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000062:FFFFFFFF:Spinal Ultra Now! PL2
|
||||
:kinst:00000001:8808BDBF:0000005E:FFFFFFFF:Spinal No Mercy 1 Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000061:FFFFFFFF:Spinal No Mercy 2 Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000070:FFFFFFFF:Spinal Humiliation Now! PL2
|
||||
:kinst:00000001:8808BDBF:0000005C:FFFFFFFF:Spinal Combo Breaker Now! PL2
|
||||
:kinst:00000001:8808BDBF:0000005D:FFFFFFFF:Chief Thunder Ultra Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000060:FFFFFFFF:Chief Thunder No Mercy 1 Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000063:FFFFFFFF:Chief Thunder No Mercy 2 Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000068:FFFFFFFF:Chief Thunder No Mercy 3 Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000067:FFFFFFFF:Chief Thunder Humiliation Now! PL2
|
||||
:kinst:00000001:8808BDBF:0000002D:FFFFFFFF:Chief Thunder Combo Breaker Now! PL2
|
||||
:kinst:00000001:8808BDBF:0000004E:FFFFFFFF:Glacius Ultra Now! PL2
|
||||
:kinst:00000001:8808BDBF:0000005C:FFFFFFFF:Glacius No Mercy 1 Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000051:FFFFFFFF:Glacius No Mercy 2 Now! PL2
|
||||
:kinst:00000001:8808BDBF:0000004F:FFFFFFFF:Glacius No Mercy 3 Now! PL2
|
||||
:kinst:00000001:8808BDBF:0000005B:FFFFFFFF:Glacius Humiliation Now! PL2
|
||||
:kinst:00000001:8808BDBF:0000004C:FFFFFFFF:Glacius Combo Breaker Now! PL2
|
||||
:kinst:00000001:8808BDBF:0000005E:FFFFFFFF:Fulgore Ultra Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000062:FFFFFFFF:Fulgore No Mercy 1 Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000057:FFFFFFFF:Fulgore No Mercy 2 Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000066:FFFFFFFF:Fulgore Humiliation Now! PL2
|
||||
:kinst:00000001:8808BDBF:0000005D:FFFFFFFF:Fulgore Combo Breaker Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000015:FFFFFFFF:Cinder Ultra Now! PL2
|
||||
:kinst:00000001:8808BDBF:0000004F:FFFFFFFF:Cinder No Mercy 1 Now! PL2
|
||||
:kinst:00000001:8808BDBF:0000004C:FFFFFFFF:Cinder No Mercy 2 Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000058:FFFFFFFF:Cinder Humiliation Now! PL2
|
||||
:kinst:00000001:8808BDBF:0000004A:FFFFFFFF:Cinder Combo Breaker Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000041:FFFFFFFF:Sabre Wulf Ultra Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000053:FFFFFFFF:Sabre Wulf No Mercy 1 Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000047:FFFFFFFF:Sabre Wulf No Mercy 2 Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000052:FFFFFFFF:Sabre Wulf Humiliation Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000043:FFFFFFFF:Sabre Wulf Combo Breaker Now! PL2
|
||||
:kinst:00000001:8808BDBF:0000004E:FFFFFFFF:Orchid Ultra Now! PL1
|
||||
:kinst:00000001:8808BDBF:00000051:FFFFFFFF:Orchid No Mercy 1 Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000061:FFFFFFFF:Orchid No Mercy 2 Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000054:FFFFFFFF:Orchid No Mercy 3 Now! PL2
|
||||
:kinst:00000001:8808BDBF:0000005E:FFFFFFFF:Orchid Humiliation Now! PL2
|
||||
:kinst:00000001:8808BDBF:0000004C:FFFFFFFF:Orchid Combo Breaker Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000049:FFFFFFFF:Riptor Ultra Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000052:FFFFFFFF:Riptor No Mercy 1 Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000055:FFFFFFFF:Riptor No Mercy 2 Now! PL2
|
||||
:kinst:00000001:8808BDBF:0000005C:FFFFFFFF:Riptor No Mercy 3 Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000064:FFFFFFFF:Riptor Humiliation Now! PL2
|
||||
:kinst:00000001:8808BDBF:00000050:FFFFFFFF:Riptor Combo Breaker Now! PL2
|
||||
:kinst:62000000:0000000:00000000:00000000:Select Earthquake Mode
|
||||
:kinst:00010000:80884E8:00000001:FFFFFFFF:Enabled
|
||||
:kinst:00010000:80884E8:00000000:FFFFFFFF:Disabled
|
||||
:kinst:62000000:0000000:00000000:00000000:Select Player to Win Instantly:Use before round starts
|
||||
:kinst:00010000:8088522:00000001:FFFFFFFF:PL1
|
||||
:kinst:00010000:8088522:00000002:FFFFFFFF:PL2
|
||||
kinst:0:8808BC55:00:001:Drain All Energy Now! PL1:You may need to use this cheat again if they recharge their energy and stand back up!
|
||||
kinst:0:8808BC54:00:501:Drain All Energy Now! PL1 (2/2)
|
||||
kinst:0:8808F304:0A:000:Always play as Eyedol PL1
|
||||
kinst:0:8808BD55:78:000:Infinite Energy PL2
|
||||
kinst:0:8808BD54:00:500:Infinite Energy PL2 (2/2)
|
||||
kinst:0:8808BD55:00:001:Drain All Energy Now! PL2:You may need to use this cheat again if they recharge their energy and stand back up!
|
||||
kinst:0:8808BD54:00:501:Drain All Energy Now! PL2 (2/2)
|
||||
kinst:0:8808F36C:0A:000:Always play as Eyedol PL2
|
||||
:kinst:62000000:0000000:00000000:00000000:Select Fighter Tower Opponent Position
|
||||
:kinst:00010000:8808F3D4:00000000:FFFFFFFF:0
|
||||
:kinst:00010000:8808F3D4:00000001:FFFFFFFF:1
|
||||
:kinst:00010000:8808F3D4:00000002:FFFFFFFF:2
|
||||
:kinst:00010000:8808F3D4:00000003:FFFFFFFF:3
|
||||
:kinst:00010000:8808F3D4:00000004:FFFFFFFF:4
|
||||
:kinst:00010000:8808F3D4:00000005:FFFFFFFF:5
|
||||
:kinst:00010000:8808F3D4:00000006:FFFFFFFF:6
|
||||
:kinst:00010000:8808F3D4:00000007:FFFFFFFF:7
|
||||
:kinst:00010000:8808F3D4:00000008:FFFFFFFF:8
|
||||
:kinst:00010000:8808F3D4:00000009:FFFFFFFF:9
|
||||
:kinst:00010000:8808F3D4:0000000A:FFFFFFFF:10
|
||||
:kinst:00000000:808F3E8:00000063:FFFFFFFF:Infinite Credits
|
||||
:kinst:00200000:80884F8:00090946:FFFFFFFF:Infinite Time
|
||||
:kinst:60000000:0000000:00000000:00000000:
|
||||
:kinst:00100000:8808BC54:00007800:FFFFFFFF:Infinite Energy PL1
|
||||
:kinst:60000000:0000000:00000000:00000000:
|
||||
:kinst:00100000:8808BD54:00007800:FFFFFFFF:Infinite Energy PL2
|
||||
|
||||
; [ Killer Instinct 2 (v2.1) ]
|
||||
kinst2:0:887F7A10:46:000:Infinite Time
|
||||
kinst2:0:887F7A11:09:500:Infinite Time (2/3)
|
||||
kinst2:0:887F7A12:09:500:Infinite Time (2/3)
|
||||
kinst2:0:887FC105:78:000:Infinite Energy PL1
|
||||
kinst2:0:887FC106:00:500:Infinite Energy PL1 (2/2)
|
||||
kinst2:0:887FC105:00:001:Drain All Energy Now! PL1
|
||||
kinst2:0:887FC106:00:501:Drain All Energy Now! PL1 (2/2)
|
||||
:kinst2:00100000:887FF150:0000FF20:FFFFFFFF:Always play as Gargos PL1:Use on the character select screen
|
||||
kinst2:0:887FC205:78:000:Infinite Energy PL2
|
||||
kinst2:0:887FC206:00:500:Infinite Energy PL2 (2/2)
|
||||
kinst2:0:887FC205:00:001:Drain All Energy Now! PL2
|
||||
kinst2:0:887FC206:00:501:Drain All Energy Now! PL2 (2/2)
|
||||
:kinst2:00100000:887FF280:0000FF20:FFFFFFFF:Always play as Gargos PL2:Use on the character select screen
|
||||
:kinst2:00200000:887F7A10:00090946:FFFFFFFF:Infinite Time
|
||||
:kinst2:00200001:887F7A10:00000002:FFFFFFFF:Finish this Round Now!
|
||||
:kinst2:00100001:887FC105:00000000:FFFFFFFF:Drain All Energy Now! PL1
|
||||
:kinst2:00100000:887FBEB4:0000C0C0:FFFFFFFF:Infinite Power PL1
|
||||
:kinst2:62000000:0000000:00000000:00000000:Select Character PL1:Use on or before the character select screen
|
||||
:kinst2:00110000:887FF150:00000000:FFFFFFFF:Jago
|
||||
:kinst2:00110000:887FF150:0000FFE0:FFFFFFFF:Glacius
|
||||
:kinst2:00110000:887FF150:0000FFC0:FFFFFFFF:Tusk
|
||||
:kinst2:00110000:887FF150:0000FFA0:FFFFFFFF:Spinal
|
||||
:kinst2:00110000:887FF150:0000FF80:FFFFFFFF:Kim Wu
|
||||
:kinst2:00110000:887FF150:0000FF60:FFFFFFFF:Sabrewulf
|
||||
:kinst2:00110000:887FF150:0000FF40:FFFFFFFF:Maya
|
||||
:kinst2:00110000:887FF150:00000060:FFFFFFFF:Fulgore
|
||||
:kinst2:00110000:887FF150:00000040:FFFFFFFF:Combo
|
||||
:kinst2:00110000:887FF150:00000020:FFFFFFFF:Orchid
|
||||
:kinst2:00110000:887FF150:0000FF20:FFFFFFFF:#Gargos#
|
||||
:kinst2:62000000:0000000:00000000:00000000:Select Moveset PL1
|
||||
:kinst2:00010000:887FC157:00000000:FFFFFFFF:Jago
|
||||
:kinst2:00010000:887FC157:00000001:FFFFFFFF:TJ Combo
|
||||
:kinst2:00010000:887FC157:00000002:FFFFFFFF:Spinal
|
||||
:kinst2:00010000:887FC157:00000003:FFFFFFFF:Tusk
|
||||
:kinst2:00010000:887FC157:00000004:FFFFFFFF:Glacius
|
||||
:kinst2:00010000:887FC157:00000005:FFFFFFFF:Fulgore
|
||||
:kinst2:00010000:887FC157:00000006:FFFFFFFF:Kim Wu
|
||||
:kinst2:00010000:887FC157:00000007:FFFFFFFF:Sabre Wulf
|
||||
:kinst2:00010000:887FC157:00000008:FFFFFFFF:Orchid
|
||||
:kinst2:00010000:887FC157:00000009:FFFFFFFF:Maya
|
||||
:kinst2:00010000:887FC157:0000000A:FFFFFFFF:Gargos
|
||||
:kinst2:62000000:0000000:00000000:00000000:Select Shadow Character PL1
|
||||
:kinst2:00010000:887FC145:00000000:FFFFFFFF:Jago
|
||||
:kinst2:00010000:887FC145:00000001:FFFFFFFF:TJ Combo
|
||||
:kinst2:00010000:887FC145:00000002:FFFFFFFF:Spinal
|
||||
:kinst2:00010000:887FC145:00000003:FFFFFFFF:Tusk
|
||||
:kinst2:00010000:887FC145:00000004:FFFFFFFF:Glacius
|
||||
:kinst2:00010000:887FC145:00000005:FFFFFFFF:Fulgore
|
||||
:kinst2:00010000:887FC145:00000006:FFFFFFFF:Kim Wu
|
||||
:kinst2:00010000:887FC145:00000007:FFFFFFFF:Sabre Wulf
|
||||
:kinst2:00010000:887FC145:00000008:FFFFFFFF:Orchid
|
||||
:kinst2:00010000:887FC145:00000009:FFFFFFFF:Maya
|
||||
:kinst2:00010000:887FC145:0000000A:FFFFFFFF:Gargos
|
||||
:kinst2:60000000:0000000:00000000:00000000:-= COMBOS - use with the appropriate character =-:These are suitable for massive downsizing in the new xml cheat format
|
||||
:kinst2:00000001:887FC16F:0000006E:FFFFFFFF:Jago Ultra Now! PL1
|
||||
:kinst2:00000001:887FC16F:00000057:FFFFFFFF:Jago No Mercy 1 Now! PL1
|
||||
:kinst2:00000001:887FC16F:00000086:FFFFFFFF:Jago No Mercy 2 Now! PL1
|
||||
:kinst2:00000001:887FC16F:00000094:FFFFFFFF:Jago Mini Ultra Now! PL1
|
||||
:kinst2:00000001:887FC16F:00000054:FFFFFFFF:Jago Combo Breaker Now! PL1
|
||||
:kinst2:00000001:887FC16F:00000047:FFFFFFFF:TJ Combo Ultra Now! PL1
|
||||
:kinst2:00000001:887FC16F:0000006E:FFFFFFFF:TJ Combo No Mercy 1 Now! PL1
|
||||
:kinst2:00000001:887FC16F:0000006D:FFFFFFFF:TJ Combo No Mercy 2 Now! PL1
|
||||
:kinst2:00000001:887FC16F:00000049:FFFFFFFF:TJ Combo Mini Ultra Now! PL1
|
||||
:kinst2:00000001:887FC16F:00000062:FFFFFFFF:TJ Combo Combo Breaker Now! PL1
|
||||
:kinst2:00000001:887FC16F:00000062:FFFFFFFF:Spinal Ultra Now! PL1
|
||||
:kinst2:00000001:887FC16F:00000078:FFFFFFFF:Spinal No Mercy 1 Now! PL1
|
||||
:kinst2:00000001:887FC16F:0000007B:FFFFFFFF:Spinal No Mercy 2 Now! PL1
|
||||
:kinst2:00000001:887FC16F:00000063:FFFFFFFF:Spinal Mini Ultra Now! PL1
|
||||
:kinst2:00000001:887FC16F:0000006B:FFFFFFFF:Spinal Combo Breaker Now! PL1
|
||||
:kinst2:00000001:887FC16F:0000006E:FFFFFFFF:Tusk Ultra Now! PL1
|
||||
:kinst2:00000001:887FC16F:0000005D:FFFFFFFF:Tusk No Mercy 1 Now! PL1
|
||||
:kinst2:00000001:887FC16F:00000051:FFFFFFFF:Tusk No Mercy 2 Now! PL1
|
||||
:kinst2:00000001:887FC16F:0000005E:FFFFFFFF:Tusk Mini Ultra Now! PL1
|
||||
:kinst2:00000001:887FC16F:00000070:FFFFFFFF:Tusk Combo Breaker Now! PL1
|
||||
:kinst2:00000001:887FC16F:0000006E:FFFFFFFF:Glacius Ultra Now! PL1
|
||||
:kinst2:00000001:887FC16F:00000050:FFFFFFFF:Glacius No Mercy 1 Now! PL1
|
||||
:kinst2:00000001:887FC16F:0000004C:FFFFFFFF:Glacius No Mercy 2 Now! PL1
|
||||
:kinst2:00000001:887FC16F:0000005E:FFFFFFFF:Glacius Mini Ultra Now! PL1
|
||||
:kinst2:00000001:887FC16F:00000070:FFFFFFFF:Glacius Combo Breaker Now! PL1
|
||||
:kinst2:00000001:887FC16F:0000005E:FFFFFFFF:Fulgore Ultra Now! PL1
|
||||
:kinst2:00000001:887FC16F:0000007C:FFFFFFFF:Fulgore No Mercy 1 Now! PL1
|
||||
:kinst2:00000001:887FC16F:0000007E:FFFFFFFF:Fulgore No Mercy 2 Now! PL1
|
||||
:kinst2:00000001:887FC16F:0000005F:FFFFFFFF:Fulgore Mini Ultra Now! PL1
|
||||
:kinst2:00000001:887FC16F:0000005A:FFFFFFFF:Fulgore Combo Breaker Now! PL1
|
||||
:kinst2:00000001:887FC16F:0000006E:FFFFFFFF:Kim Wu Ultra Now! PL1
|
||||
:kinst2:00000001:887FC16F:0000006F:FFFFFFFF:Kim Wu No Mercy 1 Now! PL1
|
||||
:kinst2:00000001:887FC16F:00000068:FFFFFFFF:Kim Wu No Mercy 2 Now! PL1
|
||||
:kinst2:00000001:887FC16F:0000005E:FFFFFFFF:Kim Wu Mini Ultra Now! PL1
|
||||
:kinst2:00000001:887FC16F:00000070:FFFFFFFF:Kim Wu Combo Breaker Now! PL1
|
||||
:kinst2:00000001:887FC16F:0000006E:FFFFFFFF:Sabre Wulf Ultra Now! PL1
|
||||
:kinst2:00000001:887FC16F:00000064:FFFFFFFF:Sabre Wulf No Mercy 1 Now! PL1
|
||||
:kinst2:00000001:887FC16F:00000038:FFFFFFFF:Sabre Wulf No Mercy 2 Now! PL1
|
||||
:kinst2:00000001:887FC16F:0000005E:FFFFFFFF:Sabre Wulf Mini Ultra Now! PL1
|
||||
:kinst2:00000001:887FC16F:00000070:FFFFFFFF:Sabre Wulf Combo Breaker Now! PL1
|
||||
:kinst2:00000001:887FC16F:0000006E:FFFFFFFF:Orchid Ultra Now! PL1
|
||||
:kinst2:00000001:887FC16F:00000064:FFFFFFFF:Orchid No Mercy 1 Now! PL1
|
||||
:kinst2:00000001:887FC16F:00000046:FFFFFFFF:Orchid No Mercy 2 Now! PL1
|
||||
:kinst2:00000001:887FC16F:0000005E:FFFFFFFF:Orchid Mini Ultra Now! PL1
|
||||
:kinst2:00000001:887FC16F:00000060:FFFFFFFF:Orchid Combo Breaker Now! PL1
|
||||
:kinst2:00000001:887FC16F:0000006E:FFFFFFFF:Maya Ultra Now! PL1
|
||||
:kinst2:00000001:887FC16F:00000064:FFFFFFFF:Maya No Mercy 1 Now! PL1
|
||||
:kinst2:00000001:887FC16F:00000041:FFFFFFFF:Maya No Mercy 2 Now! PL1
|
||||
:kinst2:00000001:887FC16F:0000005E:FFFFFFFF:Maya Mini Ultra Now! PL1
|
||||
:kinst2:00000001:887FC16F:00000070:FFFFFFFF:Maya Combo Breaker Now! PL1
|
||||
@kinst2:00080001:887FC16F:0000006E:00000000:Ultra Now! PL1:Assign to an Activation Key for the Best Effect:Jago
|
||||
@kinst2:00090001:887FC16F:00000047:00000001:Ultra Now! PL1 (02/10):TJ Combo
|
||||
@kinst2:00090001:887FC16F:00000062:00000002:Ultra Now! PL1 (03/10):Spinal
|
||||
@kinst2:00090001:887FC16F:0000006E:00000003:Ultra Now! PL1 (04/10):Tusk
|
||||
@kinst2:00090001:887FC16F:0000006E:00000004:Ultra Now! PL1 (05/10):Glacius
|
||||
@kinst2:00090001:887FC16F:0000005E:00000005:Ultra Now! PL1 (06/10):Fulgore
|
||||
@kinst2:00090001:887FC16F:0000006E:00000006:Ultra Now! PL1 (07/10):Kim Wu
|
||||
@kinst2:00090001:887FC16F:0000006E:00000007:Ultra Now! PL1 (08/10):Sabre Wulf
|
||||
@kinst2:00090001:887FC16F:0000006E:00000008:Ultra Now! PL1 (09/10):Orchid
|
||||
@kinst2:00090001:887FC16F:0000006E:00000009:Ultra Now! PL1 (10/10):Maya
|
||||
@kinst2:00080001:887FC16F:00000057:00000000:No Mercy 1 Now! PL1:Assign to an Activation Key for the Best Effect:Jago
|
||||
@kinst2:00090001:887FC16F:0000006E:00000001:No Mercy 1 Now! PL1 (02/10):TJ Combo
|
||||
@kinst2:00090001:887FC16F:00000078:00000002:No Mercy 1 Now! PL1 (03/10):Spinal
|
||||
@kinst2:00090001:887FC16F:0000005D:00000003:No Mercy 1 Now! PL1 (04/10):Tusk
|
||||
@kinst2:00090001:887FC16F:00000050:00000004:No Mercy 1 Now! PL1 (05/10):Glacius
|
||||
@kinst2:00090001:887FC16F:0000007C:00000005:No Mercy 1 Now! PL1 (06/10):Fulgore
|
||||
@kinst2:00090001:887FC16F:0000006F:00000006:No Mercy 1 Now! PL1 (07/10):Kim Wu
|
||||
@kinst2:00090001:887FC16F:00000064:00000007:No Mercy 1 Now! PL1 (08/10):Sabre Wulf
|
||||
@kinst2:00090001:887FC16F:00000064:00000008:No Mercy 1 Now! PL1 (09/10):Orchid
|
||||
@kinst2:00090001:887FC16F:00000064:00000009:No Mercy 1 Now! PL1 (10/10):Maya
|
||||
@kinst2:00080001:887FC16F:00000086:00000000:No Mercy 2 Now! PL1:Assign to an Activation Key for the Best Effect:Jago
|
||||
@kinst2:00090001:887FC16F:0000006D:00000001:No Mercy 2 Now! PL1 (02/10):TJ Combo
|
||||
@kinst2:00090001:887FC16F:0000007B:00000002:No Mercy 2 Now! PL1 (03/10):Spinal
|
||||
@kinst2:00090001:887FC16F:00000051:00000003:No Mercy 2 Now! PL1 (04/10):Tusk
|
||||
@kinst2:00090001:887FC16F:0000004C:00000004:No Mercy 2 Now! PL1 (05/10):Glacius
|
||||
@kinst2:00090001:887FC16F:0000007E:00000005:No Mercy 2 Now! PL1 (06/10):Fulgore
|
||||
@kinst2:00090001:887FC16F:00000068:00000006:No Mercy 2 Now! PL1 (07/10):Kim Wu
|
||||
@kinst2:00090001:887FC16F:00000038:00000007:No Mercy 2 Now! PL1 (08/10):Sabre Wulf
|
||||
@kinst2:00090001:887FC16F:00000046:00000008:No Mercy 2 Now! PL1 (09/10):Orchid
|
||||
@kinst2:00090001:887FC16F:00000041:00000009:No Mercy 2 Now! PL1 (10/10):Maya
|
||||
@kinst2:00080001:887FC16F:00000094:00000000:Mini Ultra Now! PL1:Assign to an Activation Key for the Best Effect:Jago
|
||||
@kinst2:00090001:887FC16F:00000049:00000001:Mini Ultra Now! PL1 (02/10):TJ Combo
|
||||
@kinst2:00090001:887FC16F:00000063:00000002:Mini Ultra Now! PL1 (03/10):Spinal
|
||||
@kinst2:00090001:887FC16F:0000005E:00000003:Mini Ultra Now! PL1 (04/10):Tusk
|
||||
@kinst2:00090001:887FC16F:0000005E:00000004:Mini Ultra Now! PL1 (05/10):Glacius
|
||||
@kinst2:00090001:887FC16F:0000005F:00000005:Mini Ultra Now! PL1 (06/10):Fulgore
|
||||
@kinst2:00090001:887FC16F:0000005E:00000006:Mini Ultra Now! PL1 (07/10):Kim Wu
|
||||
@kinst2:00090001:887FC16F:0000005E:00000007:Mini Ultra Now! PL1 (08/10):Sabre Wulf
|
||||
@kinst2:00090001:887FC16F:0000005E:00000008:Mini Ultra Now! PL1 (09/10):Orchid
|
||||
@kinst2:00090001:887FC16F:0000005E:00000009:Mini Ultra Now! PL1 (10/10):Maya
|
||||
@kinst2:00080001:887FC16F:00000054:00000000:Combo Breaker Now! PL1:Assign to an Activation Key for the Best Effect:Jago
|
||||
@kinst2:00090001:887FC16F:00000062:00000001:Combo Breaker Now! PL1 (02/10):TJ Combo
|
||||
@kinst2:00090001:887FC16F:0000006B:00000002:Combo Breaker Now! PL1 (03/10):Spinal
|
||||
@kinst2:00090001:887FC16F:00000070:00000003:Combo Breaker Now! PL1 (04/10):Tusk
|
||||
@kinst2:00090001:887FC16F:00000070:00000004:Combo Breaker Now! PL1 (05/10):Glacius
|
||||
@kinst2:00090001:887FC16F:0000005A:00000005:Combo Breaker Now! PL1 (06/10):Fulgore
|
||||
@kinst2:00090001:887FC16F:00000070:00000006:Combo Breaker Now! PL1 (07/10):Kim Wu
|
||||
@kinst2:00090001:887FC16F:00000070:00000007:Combo Breaker Now! PL1 (08/10):Sabre Wulf
|
||||
@kinst2:00090001:887FC16F:00000060:00000008:Combo Breaker Now! PL1 (09/10):Orchid
|
||||
@kinst2:00090001:887FC16F:00000070:00000009:Combo Breaker Now! PL1 (10/10):Maya
|
||||
:kinst2:00100001:887FC205:00000000:FFFFFFFF:Drain All Energy Now! PL2
|
||||
:kinst2:00100000:887FBFB4:0000C0C0:FFFFFFFF:Infinite Power PL2
|
||||
:kinst2:62000000:0000000:00000000:00000000:Select Character PL2:Use on or before the character select screen
|
||||
:kinst2:00110000:887FF280:00000000:FFFFFFFF:Jago
|
||||
:kinst2:00110000:887FF280:0000FFE0:FFFFFFFF:Glacius
|
||||
:kinst2:00110000:887FF280:0000FFC0:FFFFFFFF:Tusk
|
||||
:kinst2:00110000:887FF280:0000FFA0:FFFFFFFF:Spinal
|
||||
:kinst2:00110000:887FF280:0000FF80:FFFFFFFF:Kim Wu
|
||||
:kinst2:00110000:887FF280:0000FF60:FFFFFFFF:Sabrewulf
|
||||
:kinst2:00110000:887FF280:0000FF40:FFFFFFFF:Maya
|
||||
:kinst2:00110000:887FF280:00000060:FFFFFFFF:Fulgore
|
||||
:kinst2:00110000:887FF280:00000040:FFFFFFFF:Combo
|
||||
:kinst2:00110000:887FF280:00000020:FFFFFFFF:Orchid
|
||||
:kinst2:00110000:887FF280:0000FF20:FFFFFFFF:#Gargos#
|
||||
:kinst2:62000000:0000000:00000000:00000000:Select Moveset PL2
|
||||
:kinst2:00010000:887FC257:00000000:FFFFFFFF:Jago
|
||||
:kinst2:00010000:887FC257:00000001:FFFFFFFF:TJ Combo
|
||||
:kinst2:00010000:887FC257:00000002:FFFFFFFF:Spinal
|
||||
:kinst2:00010000:887FC257:00000003:FFFFFFFF:Tusk
|
||||
:kinst2:00010000:887FC257:00000004:FFFFFFFF:Glacius
|
||||
:kinst2:00010000:887FC257:00000005:FFFFFFFF:Fulgore
|
||||
:kinst2:00010000:887FC257:00000006:FFFFFFFF:Kim Wu
|
||||
:kinst2:00010000:887FC257:00000007:FFFFFFFF:Sabre Wulf
|
||||
:kinst2:00010000:887FC257:00000008:FFFFFFFF:Orchid
|
||||
:kinst2:00010000:887FC257:00000009:FFFFFFFF:Maya
|
||||
:kinst2:00010000:887FC257:0000000A:FFFFFFFF:Gargos
|
||||
:kinst2:62000000:0000000:00000000:00000000:Select Shadow Character PL2
|
||||
:kinst2:00010000:887FC245:00000000:FFFFFFFF:Jago
|
||||
:kinst2:00010000:887FC245:00000001:FFFFFFFF:TJ Combo
|
||||
:kinst2:00010000:887FC245:00000002:FFFFFFFF:Spinal
|
||||
:kinst2:00010000:887FC245:00000003:FFFFFFFF:Tusk
|
||||
:kinst2:00010000:887FC245:00000004:FFFFFFFF:Glacius
|
||||
:kinst2:00010000:887FC245:00000005:FFFFFFFF:Fulgore
|
||||
:kinst2:00010000:887FC245:00000006:FFFFFFFF:Kim Wu
|
||||
:kinst2:00010000:887FC245:00000007:FFFFFFFF:Sabre Wulf
|
||||
:kinst2:00010000:887FC245:00000008:FFFFFFFF:Orchid
|
||||
:kinst2:00010000:887FC245:00000009:FFFFFFFF:Maya
|
||||
:kinst2:00010000:887FC245:0000000A:FFFFFFFF:Gargos
|
||||
:kinst2:60000000:0000000:00000000:00000000:-= COMBOS - use with the appropriate character =-:These are suitable for massive downsizing in the new xml cheat format
|
||||
:kinst2:00000001:887FC26F:0000006E:FFFFFFFF:Jago Ultra Now! PL2
|
||||
:kinst2:00000001:887FC26F:00000057:FFFFFFFF:Jago No Mercy 1 Now! PL2
|
||||
:kinst2:00000001:887FC26F:00000086:FFFFFFFF:Jago No Mercy 2 Now! PL2
|
||||
:kinst2:00000001:887FC26F:00000094:FFFFFFFF:Jago Mini Ultra Now! PL2
|
||||
:kinst2:00000001:887FC26F:00000054:FFFFFFFF:Jago Combo Breaker Now! PL2
|
||||
:kinst2:00000001:887FC26F:00000047:FFFFFFFF:TJ Combo Ultra Now! PL2
|
||||
:kinst2:00000001:887FC26F:0000006E:FFFFFFFF:TJ Combo No Mercy 1 Now! PL2
|
||||
:kinst2:00000001:887FC26F:0000006D:FFFFFFFF:TJ Combo No Mercy 2 Now! PL2
|
||||
:kinst2:00000001:887FC26F:00000049:FFFFFFFF:TJ Combo Mini Ultra Now! PL2
|
||||
:kinst2:00000001:887FC26F:00000062:FFFFFFFF:TJ Combo Combo Breaker Now! PL2
|
||||
:kinst2:00000001:887FC26F:00000062:FFFFFFFF:Spinal Ultra Now! PL2
|
||||
:kinst2:00000001:887FC26F:00000078:FFFFFFFF:Spinal No Mercy 1 Now! PL2
|
||||
:kinst2:00000001:887FC26F:0000007B:FFFFFFFF:Spinal No Mercy 2 Now! PL2
|
||||
:kinst2:00000001:887FC26F:00000063:FFFFFFFF:Spinal Mini Ultra Now! PL2
|
||||
:kinst2:00000001:887FC26F:0000006B:FFFFFFFF:Spinal Combo Breaker Now! PL2
|
||||
:kinst2:00000001:887FC26F:0000006E:FFFFFFFF:Tusk Ultra Now! PL2
|
||||
:kinst2:00000001:887FC26F:0000005D:FFFFFFFF:Tusk No Mercy 1 Now! PL2
|
||||
:kinst2:00000001:887FC26F:00000051:FFFFFFFF:Tusk No Mercy 2 Now! PL2
|
||||
:kinst2:00000001:887FC26F:0000005E:FFFFFFFF:Tusk Mini Ultra Now! PL2
|
||||
:kinst2:00000001:887FC26F:00000070:FFFFFFFF:Tusk Combo Breaker Now! PL2
|
||||
:kinst2:00000001:887FC26F:0000006E:FFFFFFFF:Glacius Ultra Now! PL2
|
||||
:kinst2:00000001:887FC26F:00000050:FFFFFFFF:Glacius No Mercy 1 Now! PL2
|
||||
:kinst2:00000001:887FC26F:0000004C:FFFFFFFF:Glacius No Mercy 2 Now! PL2
|
||||
:kinst2:00000001:887FC26F:0000005E:FFFFFFFF:Glacius Mini Ultra Now! PL2
|
||||
:kinst2:00000001:887FC26F:00000070:FFFFFFFF:Glacius Combo Breaker Now! PL2
|
||||
:kinst2:00000001:887FC26F:0000005E:FFFFFFFF:Fulgore Ultra Now! PL2
|
||||
:kinst2:00000001:887FC26F:0000007C:FFFFFFFF:Fulgore No Mercy 1 Now! PL2
|
||||
:kinst2:00000001:887FC26F:0000007E:FFFFFFFF:Fulgore No Mercy 2 Now! PL2
|
||||
:kinst2:00000001:887FC26F:0000005F:FFFFFFFF:Fulgore Mini Ultra Now! PL2
|
||||
:kinst2:00000001:887FC26F:0000005A:FFFFFFFF:Fulgore Combo Breaker Now! PL2
|
||||
:kinst2:00000001:887FC26F:0000006E:FFFFFFFF:Kim Wu Ultra Now! PL2
|
||||
:kinst2:00000001:887FC26F:0000006F:FFFFFFFF:Kim Wu No Mercy 1 Now! PL2
|
||||
:kinst2:00000001:887FC26F:00000068:FFFFFFFF:Kim Wu No Mercy 2 Now! PL2
|
||||
:kinst2:00000001:887FC26F:0000005E:FFFFFFFF:Kim Wu Mini Ultra Now! PL2
|
||||
:kinst2:00000001:887FC26F:00000070:FFFFFFFF:Kim Wu Combo Breaker Now! PL2
|
||||
:kinst2:00000001:887FC26F:0000006E:FFFFFFFF:Sabre Wulf Ultra Now! PL2
|
||||
:kinst2:00000001:887FC26F:00000064:FFFFFFFF:Sabre Wulf No Mercy 1 Now! PL2
|
||||
:kinst2:00000001:887FC26F:00000038:FFFFFFFF:Sabre Wulf No Mercy 2 Now! PL2
|
||||
:kinst2:00000001:887FC26F:0000005E:FFFFFFFF:Sabre Wulf Mini Ultra Now! PL2
|
||||
:kinst2:00000001:887FC26F:00000070:FFFFFFFF:Sabre Wulf Combo Breaker Now! PL2
|
||||
:kinst2:00000001:887FC26F:0000006E:FFFFFFFF:Orchid Ultra Now! PL2
|
||||
:kinst2:00000001:887FC26F:00000064:FFFFFFFF:Orchid No Mercy 1 Now! PL2
|
||||
:kinst2:00000001:887FC26F:00000046:FFFFFFFF:Orchid No Mercy 2 Now! PL2
|
||||
:kinst2:00000001:887FC26F:0000005E:FFFFFFFF:Orchid Mini Ultra Now! PL2
|
||||
:kinst2:00000001:887FC26F:00000060:FFFFFFFF:Orchid Combo Breaker Now! PL2
|
||||
:kinst2:00000001:887FC26F:0000006E:FFFFFFFF:Maya Ultra Now! PL2
|
||||
:kinst2:00000001:887FC26F:00000064:FFFFFFFF:Maya No Mercy 1 Now! PL2
|
||||
:kinst2:00000001:887FC26F:00000041:FFFFFFFF:Maya No Mercy 2 Now! PL2
|
||||
:kinst2:00000001:887FC26F:0000005E:FFFFFFFF:Maya Mini Ultra Now! PL2
|
||||
:kinst2:00000001:887FC26F:00000070:FFFFFFFF:Maya Combo Breaker Now! PL2
|
||||
@kinst2:00080001:887FC26F:0000006E:00000000:Ultra Now! PL2:Assign to an Activation Key for the Best Effect:Jago
|
||||
@kinst2:00090001:887FC26F:00000047:00000001:Ultra Now! PL2 (02/10):TJ Combo
|
||||
@kinst2:00090001:887FC26F:00000062:00000002:Ultra Now! PL2 (03/10):Spinal
|
||||
@kinst2:00090001:887FC26F:0000006E:00000003:Ultra Now! PL2 (04/10):Tusk
|
||||
@kinst2:00090001:887FC26F:0000006E:00000004:Ultra Now! PL2 (05/10):Glacius
|
||||
@kinst2:00090001:887FC26F:0000005E:00000005:Ultra Now! PL2 (06/10):Fulgore
|
||||
@kinst2:00090001:887FC26F:0000006E:00000006:Ultra Now! PL2 (07/10):Kim Wu
|
||||
@kinst2:00090001:887FC26F:0000006E:00000007:Ultra Now! PL2 (08/10):Sabre Wulf
|
||||
@kinst2:00090001:887FC26F:0000006E:00000008:Ultra Now! PL2 (09/10):Orchid
|
||||
@kinst2:00090001:887FC26F:0000006E:00000009:Ultra Now! PL2 (10/10):Maya
|
||||
@kinst2:00080001:887FC26F:00000057:00000000:No Mercy 1 Now! PL2:Assign to an Activation Key for the Best Effect:Jago
|
||||
@kinst2:00090001:887FC26F:0000006E:00000001:No Mercy 1 Now! PL2 (02/10):TJ Combo
|
||||
@kinst2:00090001:887FC26F:00000078:00000002:No Mercy 1 Now! PL2 (03/10):Spinal
|
||||
@kinst2:00090001:887FC26F:0000005D:00000003:No Mercy 1 Now! PL2 (04/10):Tusk
|
||||
@kinst2:00090001:887FC26F:00000050:00000004:No Mercy 1 Now! PL2 (05/10):Glacius
|
||||
@kinst2:00090001:887FC26F:0000007C:00000005:No Mercy 1 Now! PL2 (06/10):Fulgore
|
||||
@kinst2:00090001:887FC26F:0000006F:00000006:No Mercy 1 Now! PL2 (07/10):Kim Wu
|
||||
@kinst2:00090001:887FC26F:00000064:00000007:No Mercy 1 Now! PL2 (08/10):Sabre Wulf
|
||||
@kinst2:00090001:887FC26F:00000064:00000008:No Mercy 1 Now! PL2 (09/10):Orchid
|
||||
@kinst2:00090001:887FC26F:00000064:00000009:No Mercy 1 Now! PL2 (10/10):Maya
|
||||
@kinst2:00080001:887FC26F:00000086:00000000:No Mercy 2 Now! PL2:Assign to an Activation Key for the Best Effect:Jago
|
||||
@kinst2:00090001:887FC26F:0000006D:00000001:No Mercy 2 Now! PL2 (02/10):TJ Combo
|
||||
@kinst2:00090001:887FC26F:0000007B:00000002:No Mercy 2 Now! PL2 (03/10):Spinal
|
||||
@kinst2:00090001:887FC26F:00000051:00000003:No Mercy 2 Now! PL2 (04/10):Tusk
|
||||
@kinst2:00090001:887FC26F:0000004C:00000004:No Mercy 2 Now! PL2 (05/10):Glacius
|
||||
@kinst2:00090001:887FC26F:0000007E:00000005:No Mercy 2 Now! PL2 (06/10):Fulgore
|
||||
@kinst2:00090001:887FC26F:00000068:00000006:No Mercy 2 Now! PL2 (07/10):Kim Wu
|
||||
@kinst2:00090001:887FC26F:00000038:00000007:No Mercy 2 Now! PL2 (08/10):Sabre Wulf
|
||||
@kinst2:00090001:887FC26F:00000046:00000008:No Mercy 2 Now! PL2 (09/10):Orchid
|
||||
@kinst2:00090001:887FC26F:00000041:00000009:No Mercy 2 Now! PL2 (10/10):Maya
|
||||
@kinst2:00080001:887FC26F:00000094:00000000:Mini Ultra Now! PL2:Assign to an Activation Key for the Best Effect:Jago
|
||||
@kinst2:00090001:887FC26F:00000049:00000001:Mini Ultra Now! PL2 (02/10):TJ Combo
|
||||
@kinst2:00090001:887FC26F:00000063:00000002:Mini Ultra Now! PL2 (03/10):Spinal
|
||||
@kinst2:00090001:887FC26F:0000005E:00000003:Mini Ultra Now! PL2 (04/10):Tusk
|
||||
@kinst2:00090001:887FC26F:0000005E:00000004:Mini Ultra Now! PL2 (05/10):Glacius
|
||||
@kinst2:00090001:887FC26F:0000005F:00000005:Mini Ultra Now! PL2 (06/10):Fulgore
|
||||
@kinst2:00090001:887FC26F:0000005E:00000006:Mini Ultra Now! PL2 (07/10):Kim Wu
|
||||
@kinst2:00090001:887FC26F:0000005E:00000007:Mini Ultra Now! PL2 (08/10):Sabre Wulf
|
||||
@kinst2:00090001:887FC26F:0000005E:00000008:Mini Ultra Now! PL2 (09/10):Orchid
|
||||
@kinst2:00090001:887FC26F:0000005E:00000009:Mini Ultra Now! PL2 (10/10):Maya
|
||||
@kinst2:00080001:887FC26F:00000054:00000000:Combo Breaker Now! PL2:Assign to an Activation Key for the Best Effect:Jago
|
||||
@kinst2:00090001:887FC26F:00000062:00000001:Combo Breaker Now! PL2 (02/10):TJ Combo
|
||||
@kinst2:00090001:887FC26F:0000006B:00000002:Combo Breaker Now! PL2 (03/10):Spinal
|
||||
@kinst2:00090001:887FC26F:00000070:00000003:Combo Breaker Now! PL2 (04/10):Tusk
|
||||
@kinst2:00090001:887FC26F:00000070:00000004:Combo Breaker Now! PL2 (05/10):Glacius
|
||||
@kinst2:00090001:887FC26F:0000005A:00000005:Combo Breaker Now! PL2 (06/10):Fulgore
|
||||
@kinst2:00090001:887FC26F:00000070:00000006:Combo Breaker Now! PL2 (07/10):Kim Wu
|
||||
@kinst2:00090001:887FC26F:00000070:00000007:Combo Breaker Now! PL2 (08/10):Sabre Wulf
|
||||
@kinst2:00090001:887FC26F:00000060:00000008:Combo Breaker Now! PL2 (09/10):Orchid
|
||||
@kinst2:00090001:887FC26F:00000070:00000009:Combo Breaker Now! PL2 (10/10):Maya
|
||||
:kinst2:60000000:0000000:00000000:00000000:
|
||||
:kinst2:00100000:887FC105:00000078:FFFFFFFF:Infinite Energy PL1
|
||||
:kinst2:60000000:0000000:00000000:00000000:
|
||||
:kinst2:00100000:887FC205:00000078:FFFFFFFF:Infinite Energy PL2
|
||||
|
||||
; [ Kirameki Star Road (Japan) ]
|
||||
kirameki:0:407C7F:09:000:Infinite Credits
|
||||
@@ -116743,6 +117241,8 @@ solvalou:0:907F38:07:000:Infinite Shields
|
||||
sonic:0:204FDE:18:000:Infinite Energy PL1
|
||||
sonic:0:204F3E:18:000:Infinite Energy PL2
|
||||
sonic:0:204E9E:18:000:Infinite Energy PL3
|
||||
sonic:0:20E658:13:000:Infinite Infinite Time (Final Stage)
|
||||
sonic:0:20F061:08:021:Show Stage Select
|
||||
|
||||
; [ Segasonic the Hedgehog (Japan prototype) ]
|
||||
sonicp:0:204FDE:18:000:Infinite Energy PL1
|
||||
@@ -129259,26 +129759,6 @@ tourtabl:0:0000:00:999:[ the cheat forums ]:REASON 11
|
||||
tourtabl:0:0000:00:999:[ before posting cheat ]:REASON 11
|
||||
tourtabl:0:0000:00:999:[ requests/cheat finding]:REASON 11
|
||||
|
||||
; [ Turbo Outrun (set 1) ]
|
||||
toutrun:0:0000:00:999:[ There are no cheats ]:REASON 1
|
||||
toutrun:0:0000:00:999:[ for this game as it ]:REASON 1
|
||||
toutrun:0:0000:00:999:[ didn't work the last ]:REASON 1
|
||||
toutrun:0:0000:00:999:[ time it was tested. ]:REASON 1
|
||||
toutrun:0:0000:00:999:[ If the game now works ]:REASON 1
|
||||
toutrun:0:0000:00:999:[ please request cheats ]:REASON 1
|
||||
toutrun:0:0000:00:999:[ for it on the cheat ]:REASON 1
|
||||
toutrun:0:0000:00:999:[ forums. ]:REASON 1
|
||||
|
||||
; [ Turbo Outrun (set 2) ]
|
||||
toutruna:0:0000:00:999:[ There are no cheats ]:REASON 1
|
||||
toutruna:0:0000:00:999:[ for this game as it ]:REASON 1
|
||||
toutruna:0:0000:00:999:[ didn't work the last ]:REASON 1
|
||||
toutruna:0:0000:00:999:[ time it was tested. ]:REASON 1
|
||||
toutruna:0:0000:00:999:[ If the game now works ]:REASON 1
|
||||
toutruna:0:0000:00:999:[ please request cheats ]:REASON 1
|
||||
toutruna:0:0000:00:999:[ for it on the cheat ]:REASON 1
|
||||
toutruna:0:0000:00:999:[ forums. ]:REASON 1
|
||||
|
||||
; [ Toypop ]
|
||||
toypop:0:0ABD:63:000:Infinite Credits
|
||||
toypop:0:0A68:09:000:Infinite Time
|
||||
@@ -130278,6 +130758,20 @@ turbofrc:0:0C207F:07:000:Infinite Lives PL3
|
||||
turbofrc:0:0C2069:08:000:Maximum fire power PL3
|
||||
turbofrc:0:0C208B:A0:000:Invincibility PL3
|
||||
|
||||
; [ Turbo Out Run (Out Run upgrade, bootleg of FD1094 317-0118 set) ]
|
||||
:toutrun:00000000:060052:00000063:FFFFFFFF:Infinite Credits
|
||||
:toutrun:00000000:060861:00000099:FFFFFFFF:Infinite Time:Turn it OFF on Transmission or Parts select screen
|
||||
:toutrun:00100000:2607B2:00000100:FFFFFFFF:Always Use Turbo
|
||||
:toutrun:00100000:2607B4:00000000:FFFFFFFF:Turbo Never Overheats
|
||||
:toutrun:00000000:0608F1:000000FF:FFFFFFFF:Always Faster Speed
|
||||
:toutrun:00010000:260783:000000FF:FFFFFFFF:Always Faster Speed (2/2)
|
||||
:toutrun:00000000:0608F7:00000001:00000001:Always Have Hipower Engine
|
||||
:toutrun:00000000:0608F7:00000002:00000002:Always Have Higrip Tire
|
||||
:toutrun:00000000:0608F7:00000004:00000004:Always Have Special Turbo
|
||||
:toutrun:00000001:0608B3:00000003:FFFFFFFF:Set Current Stage as Final Now!
|
||||
:toutrun:00010001:060D61:0000000F:FFFFFFFF:Set Current Stage as Final Now! (2/3)
|
||||
:toutrun:00010001:260003:00000003:FFFFFFFF:Set Current Stage as Final Now! (3/3)
|
||||
|
||||
; [ Turbo Tag (prototype) ]
|
||||
turbotag:0:F238:06:000:Infinite Lives
|
||||
turbotag:0:F25D:01:000:Always have Turbo Charger
|
||||
|
||||
@@ -5932,6 +5932,7 @@ offtwallc:
|
||||
0:3fee2e:37:00:49
|
||||
|
||||
bublbobl:
|
||||
bublbobr:
|
||||
bub68705:
|
||||
bublboblr:
|
||||
bublboblr1:
|
||||
|
||||
+22866
-5106
File diff suppressed because it is too large.
Load diff
+5
-5
@@ -2295,10 +2295,10 @@ static int artwork_load(const struct GameDriver *driver, int width, int height,
|
||||
/* A negative values will use the default opacity for the overlay. */
|
||||
opacity = options.overlay_opacity;
|
||||
if (opacity != 0 && list) {
|
||||
if (opacity < 0) { // Default overlay opacity
|
||||
if (opacity < 0) { /* Default overlay opacity */
|
||||
if (!generate_overlay(list, width, height))
|
||||
return 0;
|
||||
} else { // Opacity is > 0
|
||||
} else { /* Opacity is > 0 */
|
||||
struct overlay_piece *newlist;
|
||||
/* Count elements in list */
|
||||
int count = 0;
|
||||
@@ -2312,8 +2312,8 @@ static int artwork_load(const struct GameDriver *driver, int width, int height,
|
||||
/* Modify opacity as set to user defined value */
|
||||
tmp = newlist;
|
||||
while (tmp->type != OVERLAY_TYPE_END) {
|
||||
tmp->color = tmp->color & ~(0xff << 24); // Clear
|
||||
tmp->color = tmp->color | (((opacity) & 0xff) << 24); // Set
|
||||
tmp->color = tmp->color & ~(0xff << 24); /* Clear */
|
||||
tmp->color = tmp->color | (((opacity) & 0xff) << 24); /* Set */
|
||||
tmp++;
|
||||
}
|
||||
if (!generate_overlay(newlist, width, height))
|
||||
@@ -3367,7 +3367,7 @@ static int generate_overlay(const struct overlay_piece *list, int width, int hei
|
||||
piece->layer = LAYER_OVERLAY;
|
||||
piece->priority = priority++;
|
||||
piece->blendflags = list->type & OVERLAY_FLAG_MASK;
|
||||
piece->tag = list->tag; // Handle someone using a different tag, for example, cocktail mode
|
||||
piece->tag = list->tag; /* Handle someone using a different tag, for example, cocktail mode */
|
||||
|
||||
/* switch off the type */
|
||||
switch (list->type & ~OVERLAY_FLAG_MASK)
|
||||
|
||||
+1
-1
@@ -148,7 +148,7 @@ struct artwork_callbacks
|
||||
|
||||
struct overlay_piece
|
||||
{
|
||||
char *tag; // Usually set to OVERLAY_TAG
|
||||
char *tag; /* Usually set to OVERLAY_TAG */
|
||||
UINT8 type;
|
||||
rgb_t color;
|
||||
float left, top, right, bottom;
|
||||
|
||||
+44
-30
@@ -13077,7 +13077,7 @@ const struct bin2cFILE ddsoma_bootstrap = {
|
||||
0, 0, 0, 0, 68, 38, 68, 50, 32, 65, 83, 73, 0, 11, 1, 0, 1, 1,
|
||||
1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,150, 2, 1, 6, 0, 0, 0, 0, 68, 38,
|
||||
68, 50, 32, 65, 83, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
68, 50, 32, 65, 83, 73, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0,
|
||||
}
|
||||
@@ -39040,14 +39040,14 @@ const struct bin2cFILE nbamaxht_bootstrap = {
|
||||
const struct bin2cFILE nslashers_bootstrap = {
|
||||
128,
|
||||
{
|
||||
196, 2, 0, 3, 0, 0, 0, 0, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
198, 2, 0, 3, 1, 0, 0, 0, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 50, 88, 77,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 31, 4,251,224,196, 2, 0, 3, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 34, 4,251,221,198, 2, 0, 3, 1, 0, 0, 0,
|
||||
80, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 48, 50, 88, 77, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 4,
|
||||
251,224,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 4,
|
||||
251,221,
|
||||
}
|
||||
};
|
||||
|
||||
@@ -43679,6 +43679,20 @@ const struct bin2cFILE qix_bootstrap = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct bin2cFILE rabbit_bootstrap = {
|
||||
128,
|
||||
{
|
||||
2, 52,255,255, 69,104,255,255,205,239,255,255,152,118,255,255, 0, 0,
|
||||
255,255, 0, 0,255,255, 0, 0,255,255, 0, 8,255,255, 0, 0,255,255,
|
||||
0, 0,255,255, 0, 0,255,255, 1, 0,255,255, 1, 3,255,255,255,255,
|
||||
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
|
||||
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
|
||||
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
|
||||
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
|
||||
255,255,
|
||||
}
|
||||
};
|
||||
|
||||
/* used for revx */
|
||||
const struct bin2cFILE revx_bootstrap = {
|
||||
32768,
|
||||
@@ -81551,8 +81565,8 @@ const struct bin2cFILE umk3_bootstrap = {
|
||||
0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0,
|
||||
0, 0, 0, 0, 0, 0, 65, 0,255, 0,190, 0, 0, 0, 0, 0, 0, 0,
|
||||
65, 0,255, 0,190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 54, 0,255, 0,201, 0, 0, 0, 0, 0, 0, 0,
|
||||
54, 0,255, 0,201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
@@ -81739,20 +81753,20 @@ const struct bin2cFILE umk3_bootstrap = {
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
|
||||
0, 0, 3, 0, 0, 0, 0, 0, 0, 0,217, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 3, 0, 0, 0, 0, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 4, 0, 0, 0, 0, 0,237, 0,176, 0, 0, 0, 0, 0,
|
||||
237, 0,176, 0, 0, 0, 0, 0,237, 0,176, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0,250, 0, 18, 0, 82, 0, 69, 0, 86, 0, 73, 0, 83, 0, 73, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0,254, 0,230, 0, 82, 0, 69, 0, 86, 0, 73, 0, 83, 0, 73, 0,
|
||||
79, 0, 78, 0, 32, 0, 49, 0, 46, 0, 50, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
@@ -84273,8 +84287,6 @@ const struct bin2cFILE umk3p_bootstrap = {
|
||||
0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 1, 0,255, 0,254, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0,
|
||||
@@ -84288,8 +84300,10 @@ const struct bin2cFILE umk3p_bootstrap = {
|
||||
0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0,
|
||||
0, 0, 0, 0, 0, 0,105, 0,255, 0,150, 0, 0, 0, 0, 0, 0, 0,
|
||||
105, 0,255, 0,150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 5, 0,255, 0,250, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0,
|
||||
0, 0, 0, 0, 0, 0,160, 0,255, 0, 95, 0, 0, 0, 0, 0, 0, 0,
|
||||
160, 0,255, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
@@ -84483,26 +84497,26 @@ const struct bin2cFILE umk3p_bootstrap = {
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 4, 0, 0, 0, 0, 0,237, 0,176, 0, 0, 0, 0, 0,
|
||||
237, 0,176, 0, 0, 0, 0, 0,237, 0,176, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0,254, 0,218, 0, 32, 0, 77, 0, 79, 0, 82, 0, 84, 0, 65, 0,
|
||||
76, 0, 75, 0, 79, 0, 77, 0, 66, 0, 65, 0, 84, 0, 80, 0, 76, 0,
|
||||
85, 0, 83, 0, 46, 0, 67, 0, 79, 0, 77, 0, 32, 0, 66, 0, 69, 0,
|
||||
84, 0, 65, 0, 32, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0,250, 0, 13, 0, 77, 0, 79, 0, 82, 0, 84, 0, 65, 0, 76, 0,
|
||||
75, 0, 79, 0, 77, 0, 66, 0, 65, 0, 84, 0, 80, 0, 76, 0, 85, 0,
|
||||
83, 0, 46, 0, 67, 0, 79, 0, 77, 0, 32, 0, 66, 0, 69, 0, 84, 0,
|
||||
65, 0, 32, 0, 73, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
@@ -87025,8 +87039,8 @@ const struct bin2cFILE umk3r11_bootstrap = {
|
||||
0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0,
|
||||
0, 0, 0, 0, 0, 0, 41, 0,255, 0,214, 0, 0, 0, 0, 0, 0, 0,
|
||||
41, 0,255, 0,214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 54, 0,255, 0,201, 0, 0, 0, 0, 0, 0, 0,
|
||||
54, 0,255, 0,201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
@@ -87213,20 +87227,20 @@ const struct bin2cFILE umk3r11_bootstrap = {
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
|
||||
0, 0, 3, 0, 0, 0, 0, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 3, 0, 0, 0, 0, 0, 0, 0,218, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 4, 0, 0, 0, 0, 0,237, 0,176, 0, 0, 0, 0, 0,
|
||||
237, 0,176, 0, 0, 0, 0, 0,237, 0,176, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0,250, 0, 20, 0, 82, 0, 69, 0, 86, 0, 73, 0, 83, 0, 73, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0,254, 0,232, 0, 82, 0, 69, 0, 86, 0, 73, 0, 83, 0, 73, 0,
|
||||
79, 0, 78, 0, 32, 0, 49, 0, 46, 0, 49, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
|
||||
@@ -59,6 +59,7 @@ extern const struct bin2cFILE nslashers_bootstrap;
|
||||
extern const struct bin2cFILE offroadc_bootstrap;
|
||||
extern const struct bin2cFILE openice_bootstrap;
|
||||
extern const struct bin2cFILE qix_bootstrap;
|
||||
extern const struct bin2cFILE rabbit_bootstrap;
|
||||
extern const struct bin2cFILE revx_bootstrap;
|
||||
extern const struct bin2cFILE rmpgwt11_bootstrap;
|
||||
extern const struct bin2cFILE rmpgwt_bootstrap;
|
||||
|
||||
+55
-47
@@ -385,6 +385,11 @@ is selected
|
||||
|
||||
#define OSD_READKEY_KLUDGE 1
|
||||
|
||||
#define NAME_MAX_LENGTH 255
|
||||
#define DESC_MAX_LENGTH 255
|
||||
#define STR_(X) #X
|
||||
#define STR(X) STR_(X)
|
||||
|
||||
/**** Macros *****************************************************************/
|
||||
|
||||
/* easy bitfield extraction and setting */
|
||||
@@ -1986,23 +1991,23 @@ static void RebuildStringTables(void)
|
||||
(!menuStrings.subStrings && menuStrings.numStrings) ||
|
||||
(!menuStrings.buf && storageNeeded))
|
||||
{
|
||||
logerror( "cheat: memory allocation error\n"
|
||||
" length = %.8X\n"
|
||||
" numStrings = %.8X\n"
|
||||
" mainStringLength = %.8X\n"
|
||||
" subStringLength = %.8X\n"
|
||||
"%.8X %.8X %.8X %.8X %.8X %.8X\n",
|
||||
menuStrings.length,
|
||||
menuStrings.numStrings,
|
||||
menuStrings.mainStringLength,
|
||||
menuStrings.subStringLength,
|
||||
|
||||
(int)menuStrings.mainList,
|
||||
(int)menuStrings.subList,
|
||||
(int)menuStrings.flagList,
|
||||
(int)menuStrings.mainStrings,
|
||||
(int)menuStrings.subStrings,
|
||||
(int)menuStrings.buf);
|
||||
logerror(
|
||||
"cheat: memory allocation error\n"
|
||||
"length = %.8X\n"
|
||||
"numStrings = %.8X\n"
|
||||
"mainStringLength = %.8X\n"
|
||||
"subStringLength = %.8X\n"
|
||||
"%08lX %08lX %08lX %08lX %08lX %08lX\n",
|
||||
menuStrings.length,
|
||||
menuStrings.numStrings,
|
||||
menuStrings.mainStringLength,
|
||||
menuStrings.subStringLength,
|
||||
(unsigned long)(FPTR)menuStrings.mainList,
|
||||
(unsigned long)(FPTR)menuStrings.subList,
|
||||
(unsigned long)(FPTR)menuStrings.flagList,
|
||||
(unsigned long)(FPTR)menuStrings.mainStrings,
|
||||
(unsigned long)(FPTR)menuStrings.subStrings,
|
||||
(unsigned long)(FPTR)menuStrings.buf);
|
||||
|
||||
exit(1);
|
||||
}
|
||||
@@ -7080,7 +7085,7 @@ static void ResizeCheatListNoDispose(UINT32 newLength)
|
||||
|
||||
if(newLength > cheatListLength)
|
||||
{
|
||||
int i;
|
||||
UINT32 i;
|
||||
|
||||
memset(&cheatList[cheatListLength], 0, (newLength - cheatListLength) * sizeof(CheatEntry));
|
||||
|
||||
@@ -7312,9 +7317,18 @@ static void ResizeWatchListNoDispose(UINT32 newLength)
|
||||
|
||||
if(newLength > watchListLength)
|
||||
{
|
||||
int i;
|
||||
UINT32 i;
|
||||
size_t count = newLength - watchListLength;
|
||||
|
||||
memset(&watchList[watchListLength], 0, (newLength - watchListLength) * sizeof(WatchInfo));
|
||||
WatchInfo* newWatchList = realloc(watchList, newLength * sizeof(WatchInfo));
|
||||
if (!newWatchList)
|
||||
{
|
||||
logerror("cheat: Failed to realloc watchList to size %u\n", newLength);
|
||||
return; //we should probably bail if this happens
|
||||
}
|
||||
watchList = newWatchList;
|
||||
|
||||
memset(&watchList[watchListLength], 0, count * sizeof(WatchInfo));
|
||||
|
||||
for(i = watchListLength; i < newLength; i++)
|
||||
{
|
||||
@@ -7687,7 +7701,7 @@ static void RestoreRegionBackup(SearchRegion * region)
|
||||
static UINT8 DefaultEnableRegion(SearchRegion * region, SearchInfo * info)
|
||||
{
|
||||
mem_write_handler handler = region->writeHandler->handler;
|
||||
UINT32 handlerAddress = (UINT32)handler;
|
||||
FPTR handlerAddress = (FPTR)handler;
|
||||
|
||||
switch(info->searchSpeed)
|
||||
{
|
||||
@@ -7705,21 +7719,15 @@ static UINT8 DefaultEnableRegion(SearchRegion * region, SearchInfo * info)
|
||||
}
|
||||
#endif
|
||||
|
||||
if( (handler == MWA_RAM) &&
|
||||
(!region->writeHandler->base))
|
||||
if( (handler == MWA_RAM) && (!region->writeHandler->base))
|
||||
return 1;
|
||||
|
||||
{
|
||||
extern struct GameDriver driver_neogeo;
|
||||
|
||||
/* for neogeo, search bank one*/
|
||||
if( (Machine->gamedrv->clone_of == &driver_neogeo) &&
|
||||
(info->targetType == kRegionType_CPU) &&
|
||||
(info->targetIdx == 0) &&
|
||||
(handler == MWA_BANK1))
|
||||
/* for neogeo, search bank one*/
|
||||
if( (options.content_flags[CONTENT_NEOGEO]) &&
|
||||
(info->targetType == kRegionType_CPU) &&
|
||||
(info->targetIdx == 0) &&
|
||||
(handler == MWA_BANK1))
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
#if HAS_TMS34010
|
||||
|
||||
@@ -7742,8 +7750,8 @@ static UINT8 DefaultEnableRegion(SearchRegion * region, SearchInfo * info)
|
||||
return 0;
|
||||
|
||||
case kSearchSpeed_Medium:
|
||||
if( (handlerAddress >= ((UINT32)MWA_BANK1)) &&
|
||||
(handlerAddress <= ((UINT32)MWA_BANK24)))
|
||||
if ((handlerAddress >= (FPTR)MWA_BANK1) &&
|
||||
(handlerAddress <= (FPTR)MWA_BANK24))
|
||||
return 1;
|
||||
|
||||
if(handler == MWA_RAM)
|
||||
@@ -7784,21 +7792,21 @@ static void SetSearchRegionDefaultName(SearchRegion * region)
|
||||
if(region->writeHandler)
|
||||
{
|
||||
mem_write_handler handler = region->writeHandler->handler;
|
||||
UINT32 handlerAddress = (UINT32)handler;
|
||||
FPTR handlerAddress = (FPTR)handler;
|
||||
|
||||
if( (handlerAddress >= ((UINT32)MWA_BANK1)) &&
|
||||
(handlerAddress <= ((UINT32)MWA_BANK24)))
|
||||
if ((handlerAddress >= (FPTR)MWA_BANK1) &&
|
||||
(handlerAddress <= (FPTR)MWA_BANK24))
|
||||
{
|
||||
sprintf(desc, "BANK%.2d", (handlerAddress - ((UINT32)MWA_BANK1)) + 1);
|
||||
sprintf(desc, "BANK%.2d", (int)((handlerAddress - (FPTR)MWA_BANK1) + 1));
|
||||
}
|
||||
else
|
||||
{
|
||||
switch(handlerAddress)
|
||||
{
|
||||
case (UINT32)MWA_NOP: strcpy(desc, "NOP "); break;
|
||||
case (UINT32)MWA_RAM: strcpy(desc, "RAM "); break;
|
||||
case (UINT32)MWA_ROM: strcpy(desc, "ROM "); break;
|
||||
case (UINT32)MWA_RAMROM: strcpy(desc, "RAMROM"); break;
|
||||
case (FPTR)MWA_NOP: strcpy(desc, "NOP "); break;
|
||||
case (FPTR)MWA_RAM: strcpy(desc, "RAM "); break;
|
||||
case (FPTR)MWA_ROM: strcpy(desc, "ROM "); break;
|
||||
case (FPTR)MWA_RAMROM: strcpy(desc, "RAMROM"); break;
|
||||
default: strcpy(desc, "CUSTOM"); break;
|
||||
}
|
||||
}
|
||||
@@ -8302,8 +8310,8 @@ static void LoadCheatDatabase()
|
||||
foundCheatDatabase = 1;
|
||||
|
||||
/* make the format strings*/
|
||||
sprintf(formatString, ":%s:%s", Machine->gamedrv->name, "%x:%x:%x:%x:%[^:\n\r]:%[^:\n\r]");
|
||||
sprintf(oldFormatString, "%s:%s", Machine->gamedrv->name, "%d:%x:%x:%d:%[^:\n\r]:%[^:\n\r]");
|
||||
sprintf(formatString, ":%s:%s", Machine->gamedrv->name, "%x:%x:%x:%x:%" STR(NAME_MAX_LENGTH) "[^:\n\r]:%" STR(DESC_MAX_LENGTH) "[^:\n\r]");
|
||||
sprintf(oldFormatString, "%s:%s", Machine->gamedrv->name, "%d:%x:%x:%d:%" STR(NAME_MAX_LENGTH) "[^:\n\r]:%" STR(DESC_MAX_LENGTH) "[^:\n\r]");
|
||||
|
||||
while(intfstream_gets(in_file, buf, 2048))
|
||||
{
|
||||
@@ -8311,8 +8319,8 @@ static void LoadCheatDatabase()
|
||||
int address;
|
||||
int data;
|
||||
int extendData;
|
||||
char name[256];
|
||||
char description[256];
|
||||
char name[NAME_MAX_LENGTH+1];
|
||||
char description[DESC_MAX_LENGTH+1];
|
||||
|
||||
int argumentsMatched;
|
||||
|
||||
|
||||
+68
-72
@@ -13,10 +13,10 @@
|
||||
#include <string/stdstring.h>
|
||||
#include "libretro-deps/libFLAC/include/FLAC/all.h"
|
||||
#include "log.h"
|
||||
//#define LOG_LOAD
|
||||
/*#define LOG_LOAD */
|
||||
|
||||
|
||||
char *chd_error_text[] =
|
||||
const char *chd_error_text[] =
|
||||
{
|
||||
"CHDERR_NONE",
|
||||
"CHDERR_NO_INTERFACE",
|
||||
@@ -45,9 +45,9 @@ char *chd_error_text[] =
|
||||
Constants
|
||||
***************************************************************************/
|
||||
|
||||
// VERY IMPORTANT: osd_alloc_bitmap must allocate also a "safety area" 16 pixels wide all
|
||||
// around the bitmap. This is required because, for performance reasons, some graphic
|
||||
// routines don't clip at boundaries of the bitmap.
|
||||
/* VERY IMPORTANT: osd_alloc_bitmap must allocate also a "safety area" 16 pixels wide all */
|
||||
/* around the bitmap. This is required because, for performance reasons, some graphic */
|
||||
/* routines don't clip at boundaries of the bitmap. */
|
||||
#define BITMAP_SAFETY 16
|
||||
|
||||
#define MAX_MALLOCS 4096
|
||||
@@ -237,13 +237,13 @@ static struct GameSample *read_wav_sample(mame_file *f, const char *gamename, co
|
||||
return NULL;
|
||||
|
||||
if (memcmp(&buf[0], "RIFF", 4) == 0)
|
||||
f_type = 1; // WAV
|
||||
f_type = 1; /* WAV */
|
||||
else if (memcmp(&buf[0], "fLaC", 4) == 0)
|
||||
f_type = 2; // FLAC
|
||||
f_type = 2; /* FLAC */
|
||||
else
|
||||
return NULL; // No idea what file this is.
|
||||
return NULL; /* No idea what file this is. */
|
||||
|
||||
// Load WAV file.
|
||||
/* Load WAV file. */
|
||||
if(f_type == 1) {
|
||||
/* get the total size */
|
||||
offset += mame_fread(f, &filesize, 4);
|
||||
@@ -316,13 +316,13 @@ static struct GameSample *read_wav_sample(mame_file *f, const char *gamename, co
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// For small samples, lets force them to pre load into memory.
|
||||
/* For small samples, lets force them to pre load into memory. */
|
||||
if(length <= GAME_SAMPLE_LARGE)
|
||||
b_data = 1;
|
||||
|
||||
/* allocate the game sample */
|
||||
if(b_data == 1)
|
||||
result = auto_malloc(sizeof(struct GameSample) + length);
|
||||
result = malloc(sizeof(struct GameSample) + length);
|
||||
else
|
||||
result = malloc(sizeof(struct GameSample));
|
||||
|
||||
@@ -339,18 +339,18 @@ static struct GameSample *read_wav_sample(mame_file *f, const char *gamename, co
|
||||
result->resolution = bits;
|
||||
|
||||
if(b_data == 1) {
|
||||
// read the data in
|
||||
/* read the data in */
|
||||
if (bits == 8)
|
||||
{
|
||||
mame_fread(f, result->data, length);
|
||||
|
||||
// convert 8-bit data to signed samples
|
||||
/* convert 8-bit data to signed samples */
|
||||
for (temp32 = 0; temp32 < length; temp32++)
|
||||
result->data[temp32] ^= 0x80;
|
||||
}
|
||||
else
|
||||
{
|
||||
// 16-bit data is fine as-is
|
||||
/* 16-bit data is fine as-is */
|
||||
mame_fread_lsbfirst(f, result->data, length);
|
||||
}
|
||||
|
||||
@@ -361,7 +361,7 @@ static struct GameSample *read_wav_sample(mame_file *f, const char *gamename, co
|
||||
|
||||
return result;
|
||||
}
|
||||
else if(f_type == 2) { // Load FLAC file.
|
||||
else if(f_type == 2) { /* Load FLAC file. */
|
||||
int f_length;
|
||||
flac_reader flac_file;
|
||||
FLAC__StreamDecoder *decoder;
|
||||
@@ -370,7 +370,7 @@ static struct GameSample *read_wav_sample(mame_file *f, const char *gamename, co
|
||||
f_length = mame_ftell(f);
|
||||
mame_fseek(f, 0, 0);
|
||||
|
||||
// For small samples, lets force them to pre load into memory.
|
||||
/* For small samples, lets force them to pre load into memory. */
|
||||
if (f_length <= GAME_SAMPLE_LARGE)
|
||||
b_data = 1;
|
||||
|
||||
@@ -378,10 +378,10 @@ static struct GameSample *read_wav_sample(mame_file *f, const char *gamename, co
|
||||
flac_file.position = 0;
|
||||
flac_file.decoded_size = 0;
|
||||
|
||||
// Allocate space for the data.
|
||||
/* Allocate space for the data. */
|
||||
flac_file.rawdata = malloc(f_length);
|
||||
|
||||
// Read the sample data in.
|
||||
/* Read the sample data in. */
|
||||
mame_fread(f, flac_file.rawdata, f_length);
|
||||
decoder = FLAC__stream_decoder_new();
|
||||
|
||||
@@ -391,12 +391,12 @@ static struct GameSample *read_wav_sample(mame_file *f, const char *gamename, co
|
||||
}
|
||||
|
||||
if(FLAC__stream_decoder_init_stream(decoder, my_read_callback,
|
||||
NULL, //my_seek_callback, // or NULL
|
||||
NULL, //my_tell_callback, // or NULL
|
||||
NULL, //my_length_callback, // or NULL
|
||||
NULL, //my_eof_callback, // or NULL
|
||||
NULL, /*my_seek_callback, // or NULL */
|
||||
NULL, /*my_tell_callback, // or NULL */
|
||||
NULL, /*my_length_callback, // or NULL */
|
||||
NULL, /*my_eof_callback, // or NULL */
|
||||
my_write_callback,
|
||||
my_metadata_callback, //my_metadata_callback, // or NULL
|
||||
my_metadata_callback, /*my_metadata_callback, // or NULL */
|
||||
my_error_callback,
|
||||
(void*)&flac_file) != FLAC__STREAM_DECODER_INIT_STATUS_OK)
|
||||
return NULL;
|
||||
@@ -407,14 +407,14 @@ static struct GameSample *read_wav_sample(mame_file *f, const char *gamename, co
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// only Mono supported
|
||||
/* only Mono supported */
|
||||
if (flac_file.channels != 1) {
|
||||
free(flac_file.rawdata);
|
||||
FLAC__stream_decoder_delete(decoder);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// only support 16 bit.
|
||||
/* only support 16 bit. */
|
||||
if (flac_file.bits_per_sample != 16) {
|
||||
free(flac_file.rawdata);
|
||||
FLAC__stream_decoder_delete(decoder);
|
||||
@@ -422,7 +422,7 @@ static struct GameSample *read_wav_sample(mame_file *f, const char *gamename, co
|
||||
}
|
||||
|
||||
if (b_data == 1)
|
||||
result = auto_malloc(sizeof(struct GameSample) + (flac_file.total_samples * (flac_file.bits_per_sample / 8)));
|
||||
result = malloc(sizeof(struct GameSample) + (flac_file.total_samples * (flac_file.bits_per_sample / 8)));
|
||||
else
|
||||
result = malloc(sizeof(struct GameSample));
|
||||
|
||||
@@ -436,7 +436,7 @@ static struct GameSample *read_wav_sample(mame_file *f, const char *gamename, co
|
||||
flac_file.write_position = 0;
|
||||
|
||||
if (b_data == 1) {
|
||||
flac_file.write_data = result->data;
|
||||
flac_file.write_data = (INT16 *)result->data;
|
||||
|
||||
if (FLAC__stream_decoder_process_until_end_of_stream (decoder) != FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM) {
|
||||
free(flac_file.rawdata);
|
||||
@@ -472,7 +472,7 @@ void readsample(struct GameSample *SampleInfo, int channel, struct GameSamples *
|
||||
mame_file *f;
|
||||
struct GameSample *SampleFile;
|
||||
|
||||
// Try opening the file.
|
||||
/* Try opening the file. */
|
||||
f = mame_fopen(SampleInfo->gamename,SampleInfo->filename,SampleInfo->filetype,0);
|
||||
|
||||
if (f != 0) {
|
||||
@@ -483,10 +483,10 @@ void readsample(struct GameSample *SampleInfo, int channel, struct GameSamples *
|
||||
strcpy(gamename, SampleInfo->gamename);
|
||||
strcpy(filename, SampleInfo->filename);
|
||||
|
||||
// Free up some memory.
|
||||
/* Free up some memory. */
|
||||
free(SamplesData->sample[channel]);
|
||||
|
||||
// Reload or load a sample into memory.
|
||||
/* Reload or load a sample into memory. */
|
||||
SamplesData->sample[channel] = read_wav_sample(f, gamename, filename, filetype, load);
|
||||
|
||||
mame_fclose(f);
|
||||
@@ -520,7 +520,7 @@ struct GameSamples *readsamples(const char **samplenames,const char *basename)
|
||||
|
||||
if (!i) return 0;
|
||||
|
||||
if ((samples = auto_malloc(sizeof(struct GameSamples) + (i-1)*sizeof(struct GameSample))) == 0)
|
||||
if ((samples = malloc(sizeof(struct GameSamples) + (i-1)*sizeof(struct GameSample))) == 0)
|
||||
return 0;
|
||||
|
||||
samples->total = i;
|
||||
@@ -535,7 +535,7 @@ struct GameSamples *readsamples(const char **samplenames,const char *basename)
|
||||
|
||||
if (samplenames[i+skipfirst][0])
|
||||
{
|
||||
// Try opening FLAC samples first.
|
||||
/* Try opening FLAC samples first. */
|
||||
if ((f = mame_fopen(basename,samplenames[i+skipfirst],FILETYPE_SAMPLE_FLAC,0)) == 0)
|
||||
{
|
||||
if (skipfirst) {
|
||||
@@ -543,7 +543,7 @@ struct GameSamples *readsamples(const char **samplenames,const char *basename)
|
||||
f_skip = 1;
|
||||
}
|
||||
|
||||
// Fall back to WAV if it exists.
|
||||
/* Fall back to WAV if it exists. */
|
||||
if (!f)
|
||||
{
|
||||
f_type = 1;
|
||||
@@ -557,17 +557,17 @@ struct GameSamples *readsamples(const char **samplenames,const char *basename)
|
||||
}
|
||||
}
|
||||
|
||||
// Get sample info. Small sample files will pre load into memory at this point.
|
||||
/* Get sample info. Small sample files will pre load into memory at this point. */
|
||||
if (f != 0)
|
||||
{
|
||||
// Open FLAC.
|
||||
/* Open FLAC. */
|
||||
if(f_type == 0) {
|
||||
if (f_skip == 1)
|
||||
samples->sample[i] = read_wav_sample(f, samplenames[0]+1, samplenames[i+skipfirst], FILETYPE_SAMPLE_FLAC, 0);
|
||||
else
|
||||
samples->sample[i] = read_wav_sample(f, basename, samplenames[i+skipfirst], FILETYPE_SAMPLE_FLAC, 0);
|
||||
}
|
||||
else { // Open WAV.
|
||||
else { /* Open WAV. */
|
||||
if (f_skip == 1)
|
||||
samples->sample[i] = read_wav_sample(f, samplenames[0]+1, samplenames[i+skipfirst], FILETYPE_SAMPLE, 0);
|
||||
else
|
||||
@@ -1136,7 +1136,7 @@ const struct RomModule *rom_first_chunk(const struct RomModule *romp)
|
||||
const struct RomModule *rom_next_chunk(const struct RomModule *romp)
|
||||
{
|
||||
romp++;
|
||||
return (ROMENTRY_ISCONTINUE(romp)) ? romp : NULL;
|
||||
return (ROMENTRY_ISCONTINUE(romp) || ROMENTRY_ISIGNORE(romp)) ? romp : NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -1153,46 +1153,26 @@ const struct RomModule *rom_next_chunk(const struct RomModule *romp)
|
||||
|
||||
int determine_bios_rom(const struct SystemBios *bios)
|
||||
{
|
||||
const struct SystemBios *firstbios = bios;
|
||||
|
||||
/* set to default */
|
||||
int bios_no = 0;
|
||||
|
||||
/* Not system_bios_0 and options.bios is set */
|
||||
if(bios && (options.bios != NULL))
|
||||
{
|
||||
|
||||
/* Allow '-bios n' to still be used */
|
||||
/* no actually in mame2003 we don't use the old numerical bios index
|
||||
we use the core option & option.bios string */
|
||||
/*
|
||||
while(!BIOSENTRY_ISEND(bios))
|
||||
{
|
||||
char bios_number[3];
|
||||
|
||||
if(!strcmp(bios_number, options.bios))
|
||||
bios_no = bios->value;
|
||||
|
||||
bios++;
|
||||
}
|
||||
|
||||
bios = firstbios;
|
||||
*/
|
||||
|
||||
/* Test for bios short names */
|
||||
while(!BIOSENTRY_ISEND(bios))
|
||||
{
|
||||
if(strcmp(bios->_name, options.bios) == 0)
|
||||
{
|
||||
log_cb(RETRO_LOG_INFO, LOGPRE "Using BIOS: %s\n", options.bios);
|
||||
{
|
||||
log_cb(RETRO_LOG_INFO, LOGPRE "Using BIOS: %s\n", options.bios);
|
||||
bios_no = bios->value;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
bios++;
|
||||
}
|
||||
if(string_is_empty(options.bios))
|
||||
log_cb(RETRO_LOG_INFO, LOGPRE "No matching BIOS found. Using default system BIOS.");
|
||||
|
||||
if(string_is_empty(options.bios))
|
||||
log_cb(RETRO_LOG_INFO, LOGPRE "No matching BIOS found. Using default system BIOS.");
|
||||
}
|
||||
|
||||
return bios_no;
|
||||
@@ -1473,10 +1453,10 @@ static int open_rom_file(struct rom_load_data *romdata, const struct RomModule *
|
||||
attempts any kind of load by checksum supported by the archives. */
|
||||
romdata->file = NULL;
|
||||
for (drv = Machine->gamedrv; !romdata->file && drv; drv = drv->clone_of)
|
||||
{
|
||||
|
||||
if (drv->name && *drv->name)
|
||||
romdata->file = mame_fopen_rom(drv->name, ROM_GETNAME(romp), ROM_GETHASHDATA(romp));
|
||||
}
|
||||
|
||||
|
||||
/* return the result */
|
||||
return (romdata->file != NULL);
|
||||
@@ -1559,7 +1539,7 @@ static int read_rom_data(struct rom_load_data *romdata, const struct RomModule *
|
||||
return 0;
|
||||
numbytes -= bytesleft;
|
||||
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE " Copying to %08X\n", (int)base);
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE " Copying to %08lX\n", (FPTR)base);
|
||||
|
||||
/* unmasked cases */
|
||||
if (datamask == 0xff)
|
||||
@@ -1644,7 +1624,7 @@ static int fill_rom_data(struct rom_load_data *romdata, const struct RomModule *
|
||||
}
|
||||
|
||||
/* fill the data (filling value is stored in place of the hashdata) */
|
||||
memset(base, (UINT32)ROM_GETHASHDATA(romp) & 0xff, numbytes);
|
||||
memset(base, (FPTR)ROM_GETHASHDATA(romp) & 0xff, numbytes);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1658,7 +1638,7 @@ static int copy_rom_data(struct rom_load_data *romdata, const struct RomModule *
|
||||
UINT8 *base = romdata->regionbase + ROM_GETOFFSET(romp);
|
||||
int srcregion = ROM_GETFLAGS(romp) >> 24;
|
||||
UINT32 numbytes = ROM_GETLENGTH(romp);
|
||||
UINT32 srcoffs = (UINT32)ROM_GETHASHDATA(romp); /* srcoffset in place of hashdata */
|
||||
UINT32 srcoffs = (UINT32)(FPTR)ROM_GETHASHDATA(romp);
|
||||
UINT8 *srcbase;
|
||||
|
||||
/* make sure we copy within the region space */
|
||||
@@ -1704,6 +1684,7 @@ static int copy_rom_data(struct rom_load_data *romdata, const struct RomModule *
|
||||
static int process_rom_entries(struct rom_load_data *romdata, const struct RomModule *romp)
|
||||
{
|
||||
UINT32 lastflags = 0;
|
||||
const struct RomModule *fallback_romp = romp;
|
||||
|
||||
/* loop until we hit the end of this region */
|
||||
while (!ROMENTRY_ISREGIONEND(romp))
|
||||
@@ -1714,6 +1695,9 @@ static int process_rom_entries(struct rom_load_data *romdata, const struct RomMo
|
||||
log_cb(RETRO_LOG_ERROR, LOGPRE "Error in RomModule definition: ROM_CONTINUE not preceded by ROM_LOAD\n");
|
||||
goto fatalerror;
|
||||
}
|
||||
/* if this is an ignore entry, it's invalid */
|
||||
if (ROMENTRY_ISIGNORE(romp))
|
||||
fatalerror("Error in RomModule definition: ROM_IGNORE not preceded by ROM_LOAD\n");
|
||||
|
||||
/* if this is a reload entry, it's invalid */
|
||||
if (ROMENTRY_ISRELOAD(romp))
|
||||
@@ -1747,7 +1731,16 @@ static int process_rom_entries(struct rom_load_data *romdata, const struct RomMo
|
||||
/* open the file */
|
||||
log_cb(RETRO_LOG_INFO, LOGPRE "Opening ROM file: %s\n", ROM_GETNAME(romp));
|
||||
if (!open_rom_file(romdata, romp))
|
||||
handle_missing_file(romdata, romp);
|
||||
{
|
||||
if (ROM_GETBIOSFLAGS(romp) == (system_bios+1))
|
||||
{
|
||||
log_cb(RETRO_LOG_WARN, LOGPRE "%s NOT FOUND! Attempt fallback to default bios.\n", ROM_GETNAME(romp));
|
||||
if (!open_rom_file(romdata, &fallback_romp[0])) /* try default bios instead */
|
||||
handle_missing_file(romdata, romp);
|
||||
}
|
||||
else
|
||||
handle_missing_file(romdata, romp);
|
||||
}
|
||||
|
||||
/* loop until we run out of reloads */
|
||||
do
|
||||
@@ -1767,17 +1760,20 @@ static int process_rom_entries(struct rom_load_data *romdata, const struct RomMo
|
||||
explength += ROM_GETLENGTH(&modified_romp);
|
||||
|
||||
/* attempt to read using the modified entry */
|
||||
if (!ROMENTRY_ISIGNORE(&modified_romp))
|
||||
{
|
||||
readresult = read_rom_data(romdata, &modified_romp);
|
||||
if (readresult == -1)
|
||||
goto fatalerror;
|
||||
}
|
||||
while (ROMENTRY_ISCONTINUE(romp));
|
||||
}
|
||||
while (ROMENTRY_ISCONTINUE(romp) || ROMENTRY_ISIGNORE(romp));
|
||||
|
||||
/* if this was the first use of this file, verify the length and CRC */
|
||||
if (baserom)
|
||||
{
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "Verifying length (%X) and checksums\n", explength);
|
||||
verify_length_and_hash(romdata, ROM_GETNAME(baserom), explength, ROM_GETHASHDATA(baserom));
|
||||
verify_length_and_hash(romdata, ROM_GETNAME(baserom), explength, ROM_GETHASHDATA(baserom));
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "Length and checksum verify finished\n");
|
||||
}
|
||||
|
||||
@@ -1980,7 +1976,7 @@ int rom_load(const struct RomModule *romp)
|
||||
/* remember the base and length */
|
||||
romdata.regionlength = memory_region_length(regiontype);
|
||||
romdata.regionbase = memory_region(regiontype);
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "Allocated %X bytes @ %08X\n", romdata.regionlength, (int)romdata.regionbase);
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "Allocated %X bytes @ %08lX\n", romdata.regionlength, (FPTR)romdata.regionbase);
|
||||
|
||||
/* clear the region if it's requested */
|
||||
if (ROMREGION_ISERASE(region))
|
||||
|
||||
+28
-4
@@ -40,6 +40,12 @@ struct mame_bitmap
|
||||
void (*plot_box)(struct mame_bitmap *bitmap,int x,int y,int width,int height,pen_t pen);
|
||||
};
|
||||
|
||||
#define BITMAP_ADDR(bitmap, type, y, x) \
|
||||
((type *)(bitmap)->base + (y) * (bitmap)->rowpixels + (x))
|
||||
|
||||
#define BITMAP_ADDR8(bitmap, y, x) BITMAP_ADDR(bitmap, UINT8, y, x)
|
||||
#define BITMAP_ADDR16(bitmap, y, x) BITMAP_ADDR(bitmap, UINT16, y, x)
|
||||
#define BITMAP_ADDR32(bitmap, y, x) BITMAP_ADDR(bitmap, UINT32, y, x)
|
||||
|
||||
struct RomModule
|
||||
{
|
||||
@@ -97,7 +103,7 @@ struct GameSamples
|
||||
struct GameSample *sample[1]; /* extendable */
|
||||
};
|
||||
|
||||
#define GAME_SAMPLE_LARGE 10000000 // 10MB
|
||||
#define GAME_SAMPLE_LARGE 10000000 /* 10MB */
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
@@ -165,7 +171,8 @@ enum
|
||||
#define ROMENTRYTYPE_CONTINUE 4 /* this entry continues loading the previous ROM */
|
||||
#define ROMENTRYTYPE_FILL 5 /* this entry fills an area with a constant value */
|
||||
#define ROMENTRYTYPE_COPY 6 /* this entry copies data from another region/offset */
|
||||
#define ROMENTRYTYPE_COUNT 7
|
||||
#define ROMENTRYTYPE_IGNORE 7 /* this entry continues loading the previous ROM but throws the data away */
|
||||
#define ROMENTRYTYPE_COUNT 8
|
||||
|
||||
#define ROMENTRY_REGION ((const char *)ROMENTRYTYPE_REGION)
|
||||
#define ROMENTRY_END ((const char *)ROMENTRYTYPE_END)
|
||||
@@ -173,9 +180,10 @@ enum
|
||||
#define ROMENTRY_CONTINUE ((const char *)ROMENTRYTYPE_CONTINUE)
|
||||
#define ROMENTRY_FILL ((const char *)ROMENTRYTYPE_FILL)
|
||||
#define ROMENTRY_COPY ((const char *)ROMENTRYTYPE_COPY)
|
||||
#define ROMENTRY_IGNORE ((const char *)ROMENTRYTYPE_IGNORE)
|
||||
|
||||
/* ----- per-entry macros ----- */
|
||||
#define ROMENTRY_GETTYPE(r) ((FPTR)(r)->_name)
|
||||
#define ROMENTRY_GETTYPE(r) ((FPTR)(r)->_name)
|
||||
#define ROMENTRY_ISSPECIAL(r) (ROMENTRY_GETTYPE(r) < ROMENTRYTYPE_COUNT)
|
||||
#define ROMENTRY_ISFILE(r) (!ROMENTRY_ISSPECIAL(r))
|
||||
#define ROMENTRY_ISREGION(r) ((r)->_name == ROMENTRY_REGION)
|
||||
@@ -184,6 +192,7 @@ enum
|
||||
#define ROMENTRY_ISCONTINUE(r) ((r)->_name == ROMENTRY_CONTINUE)
|
||||
#define ROMENTRY_ISFILL(r) ((r)->_name == ROMENTRY_FILL)
|
||||
#define ROMENTRY_ISCOPY(r) ((r)->_name == ROMENTRY_COPY)
|
||||
#define ROMENTRY_ISIGNORE(r) ((r)->_name == ROMENTRY_IGNORE)
|
||||
#define ROMENTRY_ISREGIONEND(r) (ROMENTRY_ISREGION(r) || ROMENTRY_ISEND(r))
|
||||
|
||||
|
||||
@@ -228,7 +237,7 @@ enum
|
||||
#define ROMREGION_DATATYPEDISK 0x00010000
|
||||
|
||||
/* ----- per-region macros ----- */
|
||||
#define ROMREGION_GETTYPE(r) ((UINT32)(r)->_hashdata)
|
||||
#define ROMREGION_GETTYPE(r) ((FPTR)(r)->_hashdata)
|
||||
#define ROMREGION_GETLENGTH(r) ((r)->_length)
|
||||
#define ROMREGION_GETFLAGS(r) ((r)->_flags)
|
||||
#define ROMREGION_GETWIDTH(r) (8 << (ROMREGION_GETFLAGS(r) & ROMREGION_WIDTHMASK))
|
||||
@@ -336,6 +345,7 @@ enum
|
||||
#define ROM_RELOAD(offset,length) ROMX_LOAD(ROMENTRY_RELOAD, offset, length, 0, ROM_INHERITFLAGS)
|
||||
#define ROM_FILL(offset,length,value) ROM_LOAD(ROMENTRY_FILL, offset, length, (const char*)value)
|
||||
#define ROM_COPY(rgn,srcoffset,offset,length) ROMX_LOAD(ROMENTRY_COPY, offset, length, (const char*)srcoffset, (rgn) << 24)
|
||||
#define ROM_IGNORE(length) ROMX_LOAD(ROMENTRY_IGNORE, 0, length, 0, ROM_INHERITFLAGS)
|
||||
|
||||
/* ----- nibble loading macros ----- */
|
||||
#define ROM_LOAD_NIB_HIGH(name,offset,length,hash) ROMX_LOAD(name, offset, length, hash, ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI)
|
||||
@@ -352,6 +362,12 @@ enum
|
||||
#define ROM_LOAD32_WORD_SWAP(name,offset,length,hash)ROMX_LOAD(name, offset, length, hash, ROM_GROUPWORD | ROM_REVERSE | ROM_SKIP(2))
|
||||
#define ROM_LOAD32_DWORD(name,offset,length,hash) ROMX_LOAD(name, offset, length, hash, ROM_GROUPDWORD)
|
||||
|
||||
/* ----- new-style 64-bit loading macros ----- */
|
||||
#define ROM_LOAD64_BYTE(name,offset,length,hash) ROMX_LOAD(name, offset, length, hash, ROM_SKIP(7))
|
||||
#define ROM_LOAD64_WORD(name,offset,length,hash) ROMX_LOAD(name, offset, length, hash, ROM_GROUPWORD | ROM_SKIP(6))
|
||||
#define ROM_LOAD64_WORD_SWAP(name,offset,length,hash) ROMX_LOAD(name, offset, length, hash, ROM_GROUPWORD | ROM_REVERSE | ROM_SKIP(6))
|
||||
#define ROM_LOAD64_DWORD_SWAP(name,offset,length,hash) ROMX_LOAD(name, offset, length, hash, ROM_GROUPDWORD | ROM_REVERSE | ROM_SKIP(4))
|
||||
|
||||
/* ----- disk loading macros ----- */
|
||||
#define DISK_REGION(type) ROM_REGION(1, type, ROMREGION_DATATYPEDISK)
|
||||
#define DISK_IMAGE(name,idx,hash) ROMMD5_LOAD(name, idx, 0, hash, DISK_READWRITE)
|
||||
@@ -552,6 +568,14 @@ void printromlist(const struct RomModule *romp,const char *name);
|
||||
(BIT(val, B1) << 1) | \
|
||||
(BIT(val, B0) << 0))
|
||||
|
||||
/* Standard MIN/MAX macros */
|
||||
#ifndef MIN
|
||||
#define MIN(x,y) ((x) < (y) ? (x) : (y))
|
||||
#endif
|
||||
#ifndef MAX
|
||||
#define MAX(x,y) ((x) > (y) ? (x) : (y))
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
+23
-21
@@ -10508,11 +10508,12 @@ const char *mk_get_ctrl_name(int type)
|
||||
{
|
||||
switch(type)
|
||||
{
|
||||
case IPT_BUTTON1: return BTN1 "High Punch";
|
||||
case IPT_BUTTON2: return BTN2 "Block";
|
||||
case IPT_BUTTON3: return BTN3 "High Kick";
|
||||
case IPT_BUTTON4: return BTN4 "Low Punch";
|
||||
case IPT_BUTTON5: return BTN5 "Low Kick";
|
||||
case IPT_BUTTON1: return BTN1 "Low Punch";
|
||||
case IPT_BUTTON2: return BTN2 "Low Kick";
|
||||
case IPT_BUTTON3: return BTN3 "High Punch";
|
||||
case IPT_BUTTON4: return BTN4 "High Kick";
|
||||
case IPT_BUTTON5: return BTN5 "Block";
|
||||
case IPT_BUTTON6: return BTN6 "Block 2";
|
||||
case IPT_JOYSTICK_UP: return "Jump";
|
||||
case IPT_JOYSTICK_DOWN: return "Duck";
|
||||
case IPT_JOYSTICK_LEFT: return "Move Left";
|
||||
@@ -10535,11 +10536,11 @@ const char *mk3_get_ctrl_name(int type)
|
||||
{
|
||||
switch(type)
|
||||
{
|
||||
case IPT_BUTTON1: return BTN1 "High Punch";
|
||||
case IPT_BUTTON2: return BTN2 "Block";
|
||||
case IPT_BUTTON3: return BTN3 "High Kick";
|
||||
case IPT_BUTTON4: return BTN4 "Low Punch";
|
||||
case IPT_BUTTON5: return BTN5 "Low Kick";
|
||||
case IPT_BUTTON1: return BTN1 "Low Punch";
|
||||
case IPT_BUTTON2: return BTN2 "Low Kick";
|
||||
case IPT_BUTTON3: return BTN3 "High Punch";
|
||||
case IPT_BUTTON4: return BTN4 "High Kick";
|
||||
case IPT_BUTTON5: return BTN5 "Block";
|
||||
case IPT_BUTTON6: return BTN6 "Run";
|
||||
case IPT_JOYSTICK_UP: return "Jump";
|
||||
case IPT_JOYSTICK_DOWN: return "Duck";
|
||||
@@ -10563,11 +10564,11 @@ const char *mk4_get_ctrl_name(int type)
|
||||
{
|
||||
switch(type)
|
||||
{
|
||||
case IPT_BUTTON1: return BTN1 "High Punch";
|
||||
case IPT_BUTTON2: return BTN2 "Block";
|
||||
case IPT_BUTTON3: return BTN3 "High Kick";
|
||||
case IPT_BUTTON4: return BTN4 "Low Punch";
|
||||
case IPT_BUTTON5: return BTN5 "Low Kick";
|
||||
case IPT_BUTTON1: return BTN1 "Low Punch";
|
||||
case IPT_BUTTON2: return BTN2 "Low Kick";
|
||||
case IPT_BUTTON3: return BTN3 "High Punch";
|
||||
case IPT_BUTTON4: return BTN4 "High Kick";
|
||||
case IPT_BUTTON5: return BTN5 "Block";
|
||||
case IPT_BUTTON6: return BTN6 "Run";
|
||||
case IPT_JOYSTICK_UP: return "Jump";
|
||||
case IPT_JOYSTICK_DOWN: return "Duck";
|
||||
@@ -10591,11 +10592,12 @@ const char *mk2_get_ctrl_name(int type)
|
||||
{
|
||||
switch(type)
|
||||
{
|
||||
case IPT_BUTTON1: return BTN1 "High Punch";
|
||||
case IPT_BUTTON2: return BTN2 "Block";
|
||||
case IPT_BUTTON3: return BTN3 "High Kick";
|
||||
case IPT_BUTTON4: return BTN4 "Low Punch";
|
||||
case IPT_BUTTON5: return BTN5 "Low Kick";
|
||||
case IPT_BUTTON1: return BTN1 "Low Punch";
|
||||
case IPT_BUTTON2: return BTN2 "Low Kick";
|
||||
case IPT_BUTTON3: return BTN3 "High Punch";
|
||||
case IPT_BUTTON4: return BTN4 "High Kick";
|
||||
case IPT_BUTTON5: return BTN5 "Block";
|
||||
case IPT_BUTTON6: return BTN6 "Block 2";
|
||||
case IPT_JOYSTICK_UP: return "Jump";
|
||||
case IPT_JOYSTICK_DOWN: return "Duck";
|
||||
case IPT_JOYSTICK_LEFT: return "Move Left";
|
||||
@@ -11781,7 +11783,7 @@ const struct ControlInfo polepos2_ctrl =
|
||||
false, /* 45_degree_rotation for joystick(s) */
|
||||
false, /* alternating_controls */
|
||||
false, /* mirrored_controls */
|
||||
"Button1 is actually spacbar by default in this game to avoid conflicts with the pedals. The high / low shifter is emulated in mame by a single button toggle. The upright cab only uses the gas pedal while the cockpit uses both. This is a dipswitch setting that you can alter if you wish to better suit your layout.", /* control_details */
|
||||
"Button 1 is actually the spacebar by default to avoid conflicts with the pedals. The high / low shifter is emulated in mame by a single button toggle. The upright cab only uses the gas pedal while the cockpit uses both. This is a dipswitch setting that you can alter if you wish to better suit your layout.", /* control_details */
|
||||
&polepos2_get_ctrl_name
|
||||
};
|
||||
|
||||
|
||||
+1
-1
@@ -3226,4 +3226,4 @@ const char *zwackery_get_ctrl_name(int type);
|
||||
extern const struct ControlInfo zzyzzyxx_ctrl;
|
||||
const char *zzyzzyxx_get_ctrl_name(int type);
|
||||
|
||||
#endif /* CONTROLS_H */
|
||||
#endif /* CONTROLS_H */
|
||||
+4
-1
@@ -894,6 +894,9 @@ static void HandleMemSingle( data32_t insn )
|
||||
|
||||
} /* HandleMemSingle */
|
||||
|
||||
#define IsNeg(i) ((i) >> 31)
|
||||
#define IsPos(i) ((~(i)) >> 31)
|
||||
|
||||
/* Set NZCV flags for ADDS / SUBS */
|
||||
|
||||
#define HandleALUAddFlags(rd, rn, op2) \
|
||||
@@ -902,7 +905,7 @@ static void HandleMemSingle( data32_t insn )
|
||||
((R15 &~ (N_MASK | Z_MASK | V_MASK | C_MASK)) \
|
||||
| (((!SIGN_BITS_DIFFER(rn, op2)) && SIGN_BITS_DIFFER(rn, rd)) \
|
||||
<< V_BIT) \
|
||||
| (((~(rn)) < (op2)) << C_BIT) \
|
||||
| (((IsNeg(rn) & IsPos(op2)) | (IsNeg(rn) & IsPos(rd)) | (IsPos(op2) & IsPos(rd))) ? C_MASK : 0) \
|
||||
| HandleALUNZFlags(rd)) \
|
||||
+ 4; \
|
||||
else R15 += 4;
|
||||
|
||||
@@ -470,6 +470,19 @@ void konami_set_reg(int regnum, unsigned val)
|
||||
/****************************************************************************/
|
||||
void konami_init(void)
|
||||
{
|
||||
int cpu = cpu_getactivecpu();
|
||||
state_save_register_UINT16("konami", cpu, "PC", &PC, 1);
|
||||
state_save_register_UINT16("konami", cpu, "U", &U, 1);
|
||||
state_save_register_UINT16("konami", cpu, "S", &S, 1);
|
||||
state_save_register_UINT16("konami", cpu, "X", &X, 1);
|
||||
state_save_register_UINT16("konami", cpu, "Y", &Y, 1);
|
||||
state_save_register_UINT16("konami", cpu, "D", &D, 1);
|
||||
state_save_register_UINT8("konami", cpu, "DP", &DP, 1);
|
||||
state_save_register_UINT8("konami", cpu, "CC", &CC, 1);
|
||||
state_save_register_UINT8("konami", cpu, "INT", &konami.int_state, 1);
|
||||
state_save_register_UINT8("konami", cpu, "NMI", &konami.nmi_state, 1);
|
||||
state_save_register_UINT8("konami", cpu, "IRQ", &konami.irq_state[0], 1);
|
||||
state_save_register_UINT8("konami", cpu, "FIRQ", &konami.irq_state[1], 1);
|
||||
}
|
||||
|
||||
void konami_reset(void *param)
|
||||
|
||||
@@ -1,19 +1,10 @@
|
||||
#include "c68000.h"
|
||||
#include "driver.h"
|
||||
#include "cpuintrf.h"
|
||||
#include "cyclone.h"
|
||||
#include "memory.h"
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
struct Cyclone regs;
|
||||
int pending_interrupts;
|
||||
int (*MAMEIrqCallback)(int int_level);
|
||||
} Cyclone_Regs;
|
||||
|
||||
static Cyclone_Regs cyclone;
|
||||
int cyclone_ICount;
|
||||
Cyclone_Regs cyclone;
|
||||
|
||||
static unsigned int MyCheckPc(unsigned int pc)
|
||||
{
|
||||
@@ -129,9 +120,7 @@ unsigned cyclone_get_context(void *dst)
|
||||
int cyclone_execute(int cycles)
|
||||
{
|
||||
cyclone.regs.cycles = cycles;
|
||||
cyclone_ICount = cyclone.regs.cycles;
|
||||
CycloneRun(&cyclone.regs);
|
||||
cyclone_ICount = cyclone.regs.cycles;
|
||||
return (cycles - cyclone.regs.cycles);
|
||||
}
|
||||
|
||||
@@ -263,7 +252,7 @@ const char *cyclone_info(void *context, int regnum)
|
||||
{
|
||||
case CPU_INFO_NAME: return "Cyclone 68000";
|
||||
case CPU_INFO_FAMILY: return "Motorola 68K";
|
||||
case CPU_INFO_VERSION: return "v0.0088";
|
||||
case CPU_INFO_VERSION: return "v0.0099";
|
||||
case CPU_INFO_FILE: return __FILE__;
|
||||
case CPU_INFO_CREDITS: return "Copyright Copyright 2004-2007 Dave, Reesy and Notaz. All rights reserved";
|
||||
}
|
||||
|
||||
@@ -1,7 +1,17 @@
|
||||
#ifndef C68000_H
|
||||
#define C68000_H
|
||||
#include "cyclone.h"
|
||||
|
||||
extern int cyclone_ICount;
|
||||
typedef struct
|
||||
{
|
||||
struct Cyclone regs;
|
||||
int pending_interrupts;
|
||||
int (*MAMEIrqCallback)(int int_level);
|
||||
} Cyclone_Regs;
|
||||
|
||||
extern Cyclone_Regs cyclone;
|
||||
|
||||
#define cyclone_ICount cyclone.regs.cycles
|
||||
|
||||
#define cyclone_INT_NONE 0
|
||||
#define cyclone_IRQ_1 1
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -122,6 +122,24 @@ static int no_interrupt;
|
||||
|
||||
static UINT8 parity_table[256];
|
||||
|
||||
#include "cpuintrf.h"
|
||||
|
||||
#define FETCHOP fetchop()
|
||||
|
||||
const UINT8* v25v35_decryptiontable = 0;
|
||||
|
||||
INLINE UINT8 fetchop(void)
|
||||
{
|
||||
UINT8 ret = cpu_readop((I.sregs[CS]<<4)+I.ip++);
|
||||
|
||||
if (I.MF == 1)
|
||||
if (v25v35_decryptiontable)
|
||||
{
|
||||
ret = v25v35_decryptiontable[ret];
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/***************************************************************************/
|
||||
|
||||
void nec_reset (void *param)
|
||||
|
||||
@@ -88,7 +88,6 @@ typedef enum { AL,AH,CL,CH,DL,DH,BL,BH,SPL,SPH,BPL,BPH,IXL,IXH,IYL,IYH } BREGS;
|
||||
#define write_port(port,val) cpu_writeport16(port,val)
|
||||
|
||||
#define FETCH (cpu_readop_arg((I.sregs[CS]<<4)+I.ip++))
|
||||
#define FETCHOP (cpu_readop((I.sregs[CS]<<4)+I.ip++))
|
||||
#define FETCHWORD(var) { var=cpu_readop_arg((((I.sregs[CS]<<4)+I.ip)))+(cpu_readop_arg((((I.sregs[CS]<<4)+I.ip+1)))<<8); I.ip+=2; }
|
||||
#define PUSH(val) { I.regs.w[SP]-=2; WriteWord((((I.sregs[SS]<<4)+I.regs.w[SP])),val); }
|
||||
#define POP(var) { var = ReadWord((((I.sregs[SS]<<4)+I.regs.w[SP]))); I.regs.w[SP]+=2; }
|
||||
|
||||
+11
-11
@@ -1,21 +1,21 @@
|
||||
|
||||
// NOTE for bit string/field addressing
|
||||
// ************************************
|
||||
// modDim must be passed as 10 for bit string instructions,
|
||||
// and as 11 for bit field instructions
|
||||
/* NOTE for bit string/field addressing */
|
||||
/* ************************************ */
|
||||
/* modDim must be passed as 10 for bit string instructions, */
|
||||
/* and as 11 for bit field instructions */
|
||||
|
||||
|
||||
|
||||
// Output variables for ReadAMAddress()
|
||||
/* Output variables for ReadAMAddress() */
|
||||
static UINT8 amFlag;
|
||||
static UINT32 amOut;
|
||||
static UINT32 bamOffset;
|
||||
|
||||
// Appo temp var
|
||||
/* Appo temp var */
|
||||
static UINT32 amLength1,amLength2;
|
||||
|
||||
|
||||
// Global vars used by AM functions
|
||||
/* Global vars used by AM functions */
|
||||
static UINT32 modAdd;
|
||||
static UINT8 modM;
|
||||
static UINT8 modVal;
|
||||
@@ -25,10 +25,10 @@ static UINT16 modWriteValH;
|
||||
static UINT32 modWriteValW;
|
||||
static UINT8 modDim;
|
||||
|
||||
// Addressing mode functions and tables
|
||||
#include "am1.c" // ReadAM
|
||||
#include "am2.c" // ReadAMAddress
|
||||
#include "am3.c" // WriteAM
|
||||
/* Addressing mode functions and tables */
|
||||
#include "am1.c" /* ReadAM */
|
||||
#include "am2.c" /* ReadAMAddress */
|
||||
#include "am3.c" /* WriteAM */
|
||||
|
||||
/*
|
||||
Input:
|
||||
|
||||
+5
-5
@@ -1,6 +1,6 @@
|
||||
|
||||
// AM1 Functions (for ReadAM)
|
||||
// **************************
|
||||
/* AM1 Functions (for ReadAM) */
|
||||
/* ************************** */
|
||||
|
||||
static UINT32 am1Register(void)
|
||||
{
|
||||
@@ -1071,7 +1071,7 @@ static UINT32 am1Immediate(void)
|
||||
break;
|
||||
}
|
||||
|
||||
// It should not be here! Written to avoid warning
|
||||
/* It should not be here! Written to avoid warning */
|
||||
assert(0);
|
||||
return 1;
|
||||
}
|
||||
@@ -1085,8 +1085,8 @@ static UINT32 am1ImmediateQuick(void)
|
||||
|
||||
|
||||
|
||||
// AM1 Tables (for ReadAM)
|
||||
// ***********************
|
||||
/* AM1 Tables (for ReadAM) */
|
||||
/* *********************** */
|
||||
|
||||
static UINT32 am1Error1(void)
|
||||
{
|
||||
|
||||
+6
-6
@@ -1,6 +1,6 @@
|
||||
|
||||
// AM2 Functions (for ReadAMAddress)
|
||||
// *********************************
|
||||
/* AM2 Functions (for ReadAMAddress) */
|
||||
/* ********************************* */
|
||||
|
||||
static UINT32 am2Register(void)
|
||||
{
|
||||
@@ -940,19 +940,19 @@ static UINT32 bam2DirectAddressDeferredIndexed(void)
|
||||
|
||||
static UINT32 am2Immediate(void)
|
||||
{
|
||||
// Fuck off LDPR
|
||||
/* Fuck off LDPR */
|
||||
return am1Immediate();
|
||||
}
|
||||
|
||||
static UINT32 am2ImmediateQuick(void)
|
||||
{
|
||||
// fuck off LDPR
|
||||
/* fuck off LDPR */
|
||||
return am1ImmediateQuick();
|
||||
}
|
||||
|
||||
|
||||
// AM2 Tables (for ReadAMAddress)
|
||||
// ******************************
|
||||
/* AM2 Tables (for ReadAMAddress) */
|
||||
/* ****************************** */
|
||||
|
||||
static UINT32 am2Error1(void)
|
||||
{
|
||||
|
||||
+4
-4
@@ -1,6 +1,6 @@
|
||||
|
||||
// AM3 Functions (for ReadAM)
|
||||
// **************************
|
||||
/* AM3 Functions (for ReadAM) */
|
||||
/* ************************** */
|
||||
|
||||
static UINT32 am3Register(void)
|
||||
{
|
||||
@@ -730,8 +730,8 @@ static UINT32 am3ImmediateQuick(void)
|
||||
|
||||
|
||||
|
||||
// AM3 Tables (for ReadAMAddress)
|
||||
// ******************************
|
||||
/* AM3 Tables (for ReadAMAddress) */
|
||||
/* ****************************** */
|
||||
|
||||
static UINT32 am3Error1(void)
|
||||
{
|
||||
|
||||
+78
-78
@@ -78,13 +78,13 @@ static UINT8 f12Flag1, f12Flag2;
|
||||
|
||||
static UINT8 if12;
|
||||
|
||||
// Decode the first operand of the instruction and prepare
|
||||
// writing to the second operand.
|
||||
/* Decode the first operand of the instruction and prepare */
|
||||
/* writing to the second operand. */
|
||||
static void F12DecodeFirstOperand(UINT32 (*DecodeOp1)(void), UINT8 dim1)
|
||||
{
|
||||
if12 = OpRead8(PC + 1);
|
||||
|
||||
// Check if F1 or F2
|
||||
/* Check if F1 or F2 */
|
||||
if (if12 & 0x80)
|
||||
{
|
||||
modDim = dim1;
|
||||
@@ -96,7 +96,7 @@ static void F12DecodeFirstOperand(UINT32 (*DecodeOp1)(void), UINT8 dim1)
|
||||
}
|
||||
else
|
||||
{
|
||||
// Check D flag
|
||||
/* Check D flag */
|
||||
if (if12 & 0x20)
|
||||
{
|
||||
modDim = dim1;
|
||||
@@ -140,7 +140,7 @@ static void F12WriteSecondOperand(UINT8 dim2)
|
||||
{
|
||||
modDim = dim2;
|
||||
|
||||
// Check if F1 or F2
|
||||
/* Check if F1 or F2 */
|
||||
if (if12 & 0x80)
|
||||
{
|
||||
modM = if12 & 0x20;
|
||||
@@ -150,7 +150,7 @@ static void F12WriteSecondOperand(UINT8 dim2)
|
||||
}
|
||||
else
|
||||
{
|
||||
// Check D flag
|
||||
/* Check D flag */
|
||||
if (if12 & 0x20)
|
||||
{
|
||||
switch (dim2)
|
||||
@@ -180,12 +180,12 @@ static void F12WriteSecondOperand(UINT8 dim2)
|
||||
|
||||
|
||||
|
||||
// Decode both format 1/2 operands
|
||||
/* Decode both format 1/2 operands */
|
||||
static void F12DecodeOperands(UINT32 (*DecodeOp1)(void), UINT8 dim1, UINT32 (*DecodeOp2)(void), UINT8 dim2)
|
||||
{
|
||||
UINT8 _if12 = OpRead8(PC + 1);
|
||||
|
||||
// Check if F1 or F2
|
||||
/* Check if F1 or F2 */
|
||||
if (_if12 & 0x80)
|
||||
{
|
||||
modDim = dim1;
|
||||
@@ -204,7 +204,7 @@ static void F12DecodeOperands(UINT32 (*DecodeOp1)(void), UINT8 dim1, UINT32 (*De
|
||||
}
|
||||
else
|
||||
{
|
||||
// Check D flag
|
||||
/* Check D flag */
|
||||
if (_if12 & 0x20)
|
||||
{
|
||||
if (DecodeOp2==ReadAMAddress)
|
||||
@@ -423,7 +423,7 @@ static UINT32 opCHKAR(void)
|
||||
{
|
||||
F12DecodeOperands(ReadAM,0,ReadAM,0);
|
||||
|
||||
// No MMU and memory permissions yet @@@
|
||||
/* No MMU and memory permissions yet @@@ */
|
||||
_Z = 1;
|
||||
_CY = 0;
|
||||
_S = 0;
|
||||
@@ -435,7 +435,7 @@ static UINT32 opCHKAW(void)
|
||||
{
|
||||
F12DecodeOperands(ReadAM,0,ReadAM,0);
|
||||
|
||||
// No MMU and memory permissions yet @@@
|
||||
/* No MMU and memory permissions yet @@@ */
|
||||
_Z = 1;
|
||||
_CY = 0;
|
||||
_S = 0;
|
||||
@@ -447,7 +447,7 @@ static UINT32 opCHKAE(void)
|
||||
{
|
||||
F12DecodeOperands(ReadAM,0,ReadAM,0);
|
||||
|
||||
// No MMU and memory permissions yet @@@
|
||||
/* No MMU and memory permissions yet @@@ */
|
||||
_Z = 1;
|
||||
_CY = 0;
|
||||
_S = 0;
|
||||
@@ -805,14 +805,14 @@ static UINT32 opLDTASK(void)
|
||||
|
||||
v60ReloadStack();
|
||||
|
||||
// 31 registers supported, _not_ 32
|
||||
/* 31 registers supported, _not_ 32 */
|
||||
for(i=0; i<31; i++)
|
||||
if(f12Op1 & (1<<i)) {
|
||||
v60.reg[i] = MemRead32(f12Op2);
|
||||
f12Op2 += 4;
|
||||
}
|
||||
|
||||
// #### Ignore the virtual addressing crap.
|
||||
/* #### Ignore the virtual addressing crap. */
|
||||
|
||||
F12END();
|
||||
}
|
||||
@@ -925,8 +925,8 @@ static UINT32 opMOVTHB(void)
|
||||
F12DecodeFirstOperand(ReadAM,1);
|
||||
modWriteValB = (UINT8)(f12Op1&0xFF);
|
||||
|
||||
// Check for overflow: the truncated bits must match the sign
|
||||
// of the result, otherwise overflow
|
||||
/* Check for overflow: the truncated bits must match the sign */
|
||||
/* of the result, otherwise overflow */
|
||||
if (((modWriteValB&0x80)==0x80 && ((f12Op1&0xFF00)==0xFF00)) ||
|
||||
((modWriteValB&0x80)==0 && ((f12Op1&0xFF00)==0x0000)))
|
||||
_OV = 0;
|
||||
@@ -942,8 +942,8 @@ static UINT32 opMOVTWB(void)
|
||||
F12DecodeFirstOperand(ReadAM,2);
|
||||
modWriteValB = (UINT8)(f12Op1&0xFF);
|
||||
|
||||
// Check for overflow: the truncated bits must match the sign
|
||||
// of the result, otherwise overflow
|
||||
/* Check for overflow: the truncated bits must match the sign */
|
||||
/* of the result, otherwise overflow */
|
||||
if (((modWriteValB&0x80)==0x80 && ((f12Op1&0xFFFFFF00)==0xFFFFFF00)) ||
|
||||
((modWriteValB&0x80)==0 && ((f12Op1&0xFFFFFF00)==0x00000000)))
|
||||
_OV = 0;
|
||||
@@ -959,8 +959,8 @@ static UINT32 opMOVTWH(void)
|
||||
F12DecodeFirstOperand(ReadAM,2);
|
||||
modWriteValH = (UINT16)(f12Op1&0xFFFF);
|
||||
|
||||
// Check for overflow: the truncated bits must match the sign
|
||||
// of the result, otherwise overflow
|
||||
/* Check for overflow: the truncated bits must match the sign */
|
||||
/* of the result, otherwise overflow */
|
||||
if (((modWriteValH&0x8000)==0x8000 && ((f12Op1&0xFFFF0000)==0xFFFF0000)) ||
|
||||
((modWriteValH&0x8000)==0 && ((f12Op1&0xFFFF0000)==0x00000000)))
|
||||
_OV = 0;
|
||||
@@ -1640,7 +1640,7 @@ static UINT32 opSETF(void)
|
||||
{
|
||||
F12DecodeFirstOperand(ReadAM,0);
|
||||
|
||||
// Normalize the flags
|
||||
/* Normalize the flags */
|
||||
NORMALIZEFLAGS();
|
||||
|
||||
switch (f12Op1 & 0xF)
|
||||
@@ -1726,7 +1726,7 @@ static UINT32 opSETF(void)
|
||||
}
|
||||
*/
|
||||
|
||||
// During the shift, the overflow is set if the sign bit changes at any point during the shift
|
||||
/* During the shift, the overflow is set if the sign bit changes at any point during the shift */
|
||||
#define SHIFTLEFT_OV(val, count, bitsize) \
|
||||
{\
|
||||
UINT32 tmp; \
|
||||
@@ -1765,7 +1765,7 @@ static UINT32 opSHAB(void)
|
||||
|
||||
count=(INT8)(f12Op1&0xFF);
|
||||
|
||||
// Special case: destination unchanged, flags set
|
||||
/* Special case: destination unchanged, flags set */
|
||||
if (count == 0)
|
||||
{
|
||||
_CY = _OV = 0;
|
||||
@@ -1775,16 +1775,16 @@ static UINT32 opSHAB(void)
|
||||
{
|
||||
SHIFTLEFT_OV(appb, count, 8);
|
||||
|
||||
// @@@ Undefined what happens to CY when count >= bitsize
|
||||
/* @@@ Undefined what happens to CY when count >= bitsize */
|
||||
SHIFTLEFT_CY(appb, count, 8);
|
||||
|
||||
// do the actual shift...
|
||||
/* do the actual shift... */
|
||||
if (count >= 8)
|
||||
appb = 0;
|
||||
else
|
||||
appb <<= count;
|
||||
|
||||
// and set zero and sign
|
||||
/* and set zero and sign */
|
||||
SetSZPF_Byte(appb);
|
||||
}
|
||||
else
|
||||
@@ -1802,7 +1802,7 @@ static UINT32 opSHAB(void)
|
||||
SetSZPF_Byte(appb);
|
||||
}
|
||||
|
||||
// mame_printf_debug("SHAB: %x _CY: %d _Z: %d _OV: %d _S: %d\n", appb, _CY, _Z, _OV, _S);
|
||||
/* mame_printf_debug("SHAB: %x _CY: %d _Z: %d _OV: %d _S: %d\n", appb, _CY, _Z, _OV, _S); */
|
||||
|
||||
F12STOREOP2BYTE();
|
||||
F12END();
|
||||
@@ -1819,7 +1819,7 @@ static UINT32 opSHAH(void)
|
||||
|
||||
count=(INT8)(f12Op1&0xFF);
|
||||
|
||||
// Special case: destination unchanged, flags set
|
||||
/* Special case: destination unchanged, flags set */
|
||||
if (count == 0)
|
||||
{
|
||||
_CY = _OV = 0;
|
||||
@@ -1829,16 +1829,16 @@ static UINT32 opSHAH(void)
|
||||
{
|
||||
SHIFTLEFT_OV(apph, count, 16);
|
||||
|
||||
// @@@ Undefined what happens to CY when count >= bitsize
|
||||
/* @@@ Undefined what happens to CY when count >= bitsize */
|
||||
SHIFTLEFT_CY(apph, count, 16);
|
||||
|
||||
// do the actual shift...
|
||||
/* do the actual shift... */
|
||||
if (count >= 16)
|
||||
apph = 0;
|
||||
else
|
||||
apph <<= count;
|
||||
|
||||
// and set zero and sign
|
||||
/* and set zero and sign */
|
||||
SetSZPF_Word(apph);
|
||||
}
|
||||
else
|
||||
@@ -1856,7 +1856,7 @@ static UINT32 opSHAH(void)
|
||||
SetSZPF_Word(apph);
|
||||
}
|
||||
|
||||
// mame_printf_debug("SHAH: %x >> %d = %x _CY: %d _Z: %d _OV: %d _S: %d\n", oldval, count, apph, _CY, _Z, _OV, _S);
|
||||
/* mame_printf_debug("SHAH: %x >> %d = %x _CY: %d _Z: %d _OV: %d _S: %d\n", oldval, count, apph, _CY, _Z, _OV, _S); */
|
||||
|
||||
F12STOREOP2HALF();
|
||||
F12END();
|
||||
@@ -1873,7 +1873,7 @@ static UINT32 opSHAW(void)
|
||||
|
||||
count=(INT8)(f12Op1&0xFF);
|
||||
|
||||
// Special case: destination unchanged, flags set
|
||||
/* Special case: destination unchanged, flags set */
|
||||
if (count == 0)
|
||||
{
|
||||
_CY = _OV = 0;
|
||||
@@ -1883,16 +1883,16 @@ static UINT32 opSHAW(void)
|
||||
{
|
||||
SHIFTLEFT_OV(appw, count, 32);
|
||||
|
||||
// @@@ Undefined what happens to CY when count >= bitsize
|
||||
/* @@@ Undefined what happens to CY when count >= bitsize */
|
||||
SHIFTLEFT_CY(appw, count, 32);
|
||||
|
||||
// do the actual shift...
|
||||
/* do the actual shift... */
|
||||
if (count >= 32)
|
||||
appw = 0;
|
||||
else
|
||||
appw <<= count;
|
||||
|
||||
// and set zero and sign
|
||||
/* and set zero and sign */
|
||||
SetSZPF_Long(appw);
|
||||
}
|
||||
else
|
||||
@@ -1910,7 +1910,7 @@ static UINT32 opSHAW(void)
|
||||
SetSZPF_Long(appw);
|
||||
}
|
||||
|
||||
// mame_printf_debug("SHAW: %x >> %d = %x _CY: %d _Z: %d _OV: %d _S: %d\n", oldval, count, appw, _CY, _Z, _OV, _S);
|
||||
/* mame_printf_debug("SHAW: %x >> %d = %x _CY: %d _Z: %d _OV: %d _S: %d\n", oldval, count, appw, _CY, _Z, _OV, _S); */
|
||||
|
||||
F12STOREOP2WORD();
|
||||
F12END();
|
||||
@@ -1930,36 +1930,36 @@ static UINT32 opSHLB(void) /* TRUSTED */
|
||||
count=(INT8)(f12Op1&0xFF);
|
||||
if (count>0)
|
||||
{
|
||||
// left shift flags:
|
||||
// carry gets the last bit shifted out,
|
||||
// overflow is always CLEARed
|
||||
/* left shift flags: */
|
||||
/* carry gets the last bit shifted out, */
|
||||
/* overflow is always CLEARed */
|
||||
|
||||
_OV = 0; // default to no overflow
|
||||
_OV = 0; /* default to no overflow */
|
||||
|
||||
// now handle carry
|
||||
/* now handle carry */
|
||||
tmp = appb & 0xff;
|
||||
tmp <<= count;
|
||||
SetCFB(tmp); // set carry properly
|
||||
SetCFB(tmp); /* set carry properly */
|
||||
|
||||
// do the actual shift...
|
||||
/* do the actual shift... */
|
||||
appb <<= count;
|
||||
|
||||
// and set zero and sign
|
||||
/* and set zero and sign */
|
||||
SetSZPF_Byte(appb);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (count == 0)
|
||||
{
|
||||
// special case: clear carry and overflow, do nothing else
|
||||
/* special case: clear carry and overflow, do nothing else */
|
||||
_CY = _OV = 0;
|
||||
SetSZPF_Byte(appb); // doc. is unclear if this is true...
|
||||
SetSZPF_Byte(appb); /* doc. is unclear if this is true... */
|
||||
}
|
||||
else
|
||||
{
|
||||
// right shift flags:
|
||||
// carry = last bit shifted out
|
||||
// overflow always cleared
|
||||
/* right shift flags: */
|
||||
/* carry = last bit shifted out */
|
||||
/* overflow always cleared */
|
||||
tmp = appb & 0xff;
|
||||
tmp >>= ((-count)-1);
|
||||
_CY = (UINT8)(tmp & 0x1);
|
||||
@@ -1970,7 +1970,7 @@ static UINT32 opSHLB(void) /* TRUSTED */
|
||||
}
|
||||
}
|
||||
|
||||
// mame_printf_debug("SHLB: %x _CY: %d _Z: %d _OV: %d _S: %d\n", appb, _CY, _Z, _OV, _S);
|
||||
/* mame_printf_debug("SHLB: %x _CY: %d _Z: %d _OV: %d _S: %d\n", appb, _CY, _Z, _OV, _S); */
|
||||
|
||||
F12STOREOP2BYTE();
|
||||
F12END();
|
||||
@@ -1987,39 +1987,39 @@ static UINT32 opSHLH(void) /* TRUSTED */
|
||||
F12LOADOP2HALF();
|
||||
|
||||
count=(INT8)(f12Op1&0xFF);
|
||||
// mame_printf_debug("apph: %x count: %d ", apph, count);
|
||||
/* mame_printf_debug("apph: %x count: %d ", apph, count); */
|
||||
if (count>0)
|
||||
{
|
||||
// left shift flags:
|
||||
// carry gets the last bit shifted out,
|
||||
// overflow is always CLEARed
|
||||
/* left shift flags: */
|
||||
/* carry gets the last bit shifted out, */
|
||||
/* overflow is always CLEARed */
|
||||
|
||||
_OV = 0;
|
||||
|
||||
// now handle carry
|
||||
/* now handle carry */
|
||||
tmp = apph & 0xffff;
|
||||
tmp <<= count;
|
||||
SetCFW(tmp); // set carry properly
|
||||
SetCFW(tmp); /* set carry properly */
|
||||
|
||||
// do the actual shift...
|
||||
/* do the actual shift... */
|
||||
apph <<= count;
|
||||
|
||||
// and set zero and sign
|
||||
/* and set zero and sign */
|
||||
SetSZPF_Word(apph);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (count == 0)
|
||||
{
|
||||
// special case: clear carry and overflow, do nothing else
|
||||
/* special case: clear carry and overflow, do nothing else */
|
||||
_CY = _OV = 0;
|
||||
SetSZPF_Word(apph); // doc. is unclear if this is true...
|
||||
SetSZPF_Word(apph); /* doc. is unclear if this is true... */
|
||||
}
|
||||
else
|
||||
{
|
||||
// right shift flags:
|
||||
// carry = last bit shifted out
|
||||
// overflow always cleared
|
||||
/* right shift flags: */
|
||||
/* carry = last bit shifted out */
|
||||
/* overflow always cleared */
|
||||
tmp = apph & 0xffff;
|
||||
tmp >>= ((-count)-1);
|
||||
_CY = (UINT8)(tmp & 0x1);
|
||||
@@ -2030,7 +2030,7 @@ static UINT32 opSHLH(void) /* TRUSTED */
|
||||
}
|
||||
}
|
||||
|
||||
// mame_printf_debug("SHLH: %x _CY: %d _Z: %d _OV: %d _S: %d\n", apph, _CY, _Z, _OV, _S);
|
||||
/* mame_printf_debug("SHLH: %x _CY: %d _Z: %d _OV: %d _S: %d\n", apph, _CY, _Z, _OV, _S); */
|
||||
|
||||
F12STOREOP2HALF();
|
||||
F12END();
|
||||
@@ -2049,36 +2049,36 @@ static UINT32 opSHLW(void) /* TRUSTED */
|
||||
count=(INT8)(f12Op1&0xFF);
|
||||
if (count>0)
|
||||
{
|
||||
// left shift flags:
|
||||
// carry gets the last bit shifted out,
|
||||
// overflow is always CLEARed
|
||||
/* left shift flags: */
|
||||
/* carry gets the last bit shifted out, */
|
||||
/* overflow is always CLEARed */
|
||||
|
||||
_OV = 0;
|
||||
|
||||
// now handle carry
|
||||
/* now handle carry */
|
||||
tmp = appw & 0xffffffff;
|
||||
tmp <<= count;
|
||||
SetCFL(tmp); // set carry properly
|
||||
SetCFL(tmp); /* set carry properly */
|
||||
|
||||
// do the actual shift...
|
||||
/* do the actual shift... */
|
||||
appw <<= count;
|
||||
|
||||
// and set zero and sign
|
||||
/* and set zero and sign */
|
||||
SetSZPF_Long(appw);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (count == 0)
|
||||
{
|
||||
// special case: clear carry and overflow, do nothing else
|
||||
/* special case: clear carry and overflow, do nothing else */
|
||||
_CY = _OV = 0;
|
||||
SetSZPF_Long(appw); // doc. is unclear if this is true...
|
||||
SetSZPF_Long(appw); /* doc. is unclear if this is true... */
|
||||
}
|
||||
else
|
||||
{
|
||||
// right shift flags:
|
||||
// carry = last bit shifted out
|
||||
// overflow always cleared
|
||||
/* right shift flags: */
|
||||
/* carry = last bit shifted out */
|
||||
/* overflow always cleared */
|
||||
tmp = (UINT64)(appw & 0xffffffff);
|
||||
tmp >>= ((-count)-1);
|
||||
_CY = (UINT8)(tmp & 0x1);
|
||||
@@ -2089,7 +2089,7 @@ static UINT32 opSHLW(void) /* TRUSTED */
|
||||
}
|
||||
}
|
||||
|
||||
// mame_printf_debug("SHLW: %x _CY: %d _Z: %d _OV: %d _S: %d\n", appw, _CY, _Z, _OV, _S);
|
||||
/* mame_printf_debug("SHLW: %x _CY: %d _Z: %d _OV: %d _S: %d\n", appw, _CY, _Z, _OV, _S); */
|
||||
|
||||
F12STOREOP2WORD();
|
||||
F12END();
|
||||
|
||||
+27
-7
@@ -55,7 +55,7 @@ static UINT32 opCVTWS(void)
|
||||
|
||||
F2DecodeFirstOperand(ReadAM,2);
|
||||
|
||||
// Convert to float
|
||||
/* Convert to float */
|
||||
val = (float)(INT32)f2Op1;
|
||||
modWriteValW = f2u(val);
|
||||
|
||||
@@ -68,21 +68,41 @@ static UINT32 opCVTWS(void)
|
||||
F2END();
|
||||
}
|
||||
|
||||
static float truncf_c89(float x)
|
||||
{
|
||||
if (x >= 0.0f) {
|
||||
return floorf(x);
|
||||
} else {
|
||||
return ceilf(x);
|
||||
}
|
||||
}
|
||||
|
||||
static UINT32 opCVTSW(void)
|
||||
{
|
||||
float val;
|
||||
|
||||
F2DecodeFirstOperand(ReadAM,2);
|
||||
|
||||
// Convert to UINT32
|
||||
// Apply RDI rounding control
|
||||
val = u2f(f2Op1);
|
||||
modWriteValW = (INT32)val;
|
||||
switch (TKCW & 7)
|
||||
{
|
||||
case 0: val = roundf(val); break;
|
||||
case 1: val = floorf(val); break;
|
||||
case 2: val = ceilf(val); break;
|
||||
#if defined _MSC_VER
|
||||
default: val = truncf_c89(val); break;
|
||||
#else
|
||||
default: val = truncf(val); break;
|
||||
#endif
|
||||
}
|
||||
|
||||
_OV=0;
|
||||
_CY=(val < 0.0f);
|
||||
_S=((modWriteValW & 0x80000000)!=0);
|
||||
_Z=(val == 0.0f);
|
||||
// Convert to uint32_t
|
||||
modWriteValW = (uint32_t)(int64_t)val;
|
||||
|
||||
_S = ((modWriteValW & 0x80000000) != 0);
|
||||
_OV = (_S && val >= 0.0f) || (!_S && val <= -1.0f);
|
||||
_Z = (modWriteValW == 0);
|
||||
F2WriteSecondOperand(2);
|
||||
F2END();
|
||||
}
|
||||
|
||||
+38
-38
@@ -141,13 +141,13 @@ static UINT32 opJMP(void) /* TRUSTED */
|
||||
modAdd=PC+1;
|
||||
modDim=0;
|
||||
|
||||
// Read the address of the operand
|
||||
/* Read the address of the operand */
|
||||
ReadAMAddress();
|
||||
|
||||
// It cannot be a register!!
|
||||
/* It cannot be a register!! */
|
||||
assert(amFlag==0);
|
||||
|
||||
// Jump there
|
||||
/* Jump there */
|
||||
PC=amOut;
|
||||
ChangePC(PC);
|
||||
|
||||
@@ -159,17 +159,17 @@ static UINT32 opJSR(void) /* TRUSTED */
|
||||
modAdd=PC + 1;
|
||||
modDim=0;
|
||||
|
||||
// Read the address of the operand
|
||||
/* Read the address of the operand */
|
||||
amLength1=ReadAMAddress();
|
||||
|
||||
// It cannot be a register!!
|
||||
/* It cannot be a register!! */
|
||||
assert(amFlag==0);
|
||||
|
||||
// Save NextPC into the stack
|
||||
/* Save NextPC into the stack */
|
||||
SP -= 4;
|
||||
MemWrite32(SP, PC + amLength1 + 1);
|
||||
|
||||
// Jump there
|
||||
/* Jump there */
|
||||
PC=amOut;
|
||||
ChangePC(PC);
|
||||
|
||||
@@ -181,17 +181,17 @@ static UINT32 opPREPARE(void) /* somewhat TRUSTED */
|
||||
modAdd=PC+1;
|
||||
modDim=2;
|
||||
|
||||
// Read the operand
|
||||
/* Read the operand */
|
||||
amLength1=ReadAM();
|
||||
|
||||
// step 1: save frame pointer on the stack
|
||||
/* step 1: save frame pointer on the stack */
|
||||
SP -= 4;
|
||||
MemWrite32(SP, FP);
|
||||
|
||||
// step 2: FP = new SP
|
||||
/* step 2: FP = new SP */
|
||||
FP = SP;
|
||||
|
||||
// step 3: SP -= operand
|
||||
/* step 3: SP -= operand */
|
||||
SP -= amOut;
|
||||
|
||||
return amLength1 + 1;
|
||||
@@ -202,19 +202,19 @@ static UINT32 opRET(void) /* TRUSTED */
|
||||
modAdd=PC + 1;
|
||||
modDim=2;
|
||||
|
||||
// Read the operand
|
||||
/* Read the operand */
|
||||
ReadAM();
|
||||
|
||||
// Read return address from stack
|
||||
/* Read return address from stack */
|
||||
PC=MemRead32(SP);
|
||||
SP+=4;
|
||||
ChangePC(PC);
|
||||
|
||||
// Restore AP from stack
|
||||
/* Restore AP from stack */
|
||||
AP=MemRead32(SP);
|
||||
SP+=4;
|
||||
|
||||
// Skip stack frame
|
||||
/* Skip stack frame */
|
||||
SP += amOut;
|
||||
|
||||
return 0;
|
||||
@@ -227,10 +227,10 @@ static UINT32 opTRAP(void)
|
||||
modAdd=PC + 1;
|
||||
modDim=0;
|
||||
|
||||
// Read the operand
|
||||
/* Read the operand */
|
||||
amLength1=ReadAM();
|
||||
|
||||
// Normalize the flags
|
||||
/* Normalize the flags */
|
||||
NORMALIZEFLAGS();
|
||||
|
||||
switch ((amOut >> 4) & 0xF)
|
||||
@@ -285,7 +285,7 @@ static UINT32 opTRAP(void)
|
||||
|
||||
oldPSW = v60_update_psw_for_exception(0, 0);
|
||||
|
||||
// Issue the software trap with interrupts
|
||||
/* Issue the software trap with interrupts */
|
||||
SP -= 4;
|
||||
MemWrite32(SP, EXCEPTION_CODE_AND_SIZE(0x3000 + 0x100 * (amOut&0xF), 4));
|
||||
|
||||
@@ -307,10 +307,10 @@ static UINT32 opRETIU(void) /* TRUSTED */
|
||||
modAdd=PC + 1;
|
||||
modDim=1;
|
||||
|
||||
// Read the operand
|
||||
/* Read the operand */
|
||||
ReadAM();
|
||||
|
||||
// Restore PC and PSW from stack
|
||||
/* Restore PC and PSW from stack */
|
||||
PC = MemRead32(SP);
|
||||
SP += 4;
|
||||
ChangePC(PC);
|
||||
@@ -318,7 +318,7 @@ static UINT32 opRETIU(void) /* TRUSTED */
|
||||
newPSW = MemRead32(SP);
|
||||
SP += 4;
|
||||
|
||||
// Destroy stack frame
|
||||
/* Destroy stack frame */
|
||||
SP += amOut;
|
||||
|
||||
v60WritePSW(newPSW);
|
||||
@@ -333,10 +333,10 @@ static UINT32 opRETIS(void)
|
||||
modAdd=PC + 1;
|
||||
modDim=1;
|
||||
|
||||
// Read the operand
|
||||
/* Read the operand */
|
||||
ReadAM();
|
||||
|
||||
// Restore PC and PSW from stack
|
||||
/* Restore PC and PSW from stack */
|
||||
PC = MemRead32(SP);
|
||||
SP += 4;
|
||||
ChangePC(PC);
|
||||
@@ -344,7 +344,7 @@ static UINT32 opRETIS(void)
|
||||
newPSW = MemRead32(SP);
|
||||
SP += 4;
|
||||
|
||||
// Destroy stack frame
|
||||
/* Destroy stack frame */
|
||||
SP += amOut;
|
||||
|
||||
v60WritePSW(newPSW);
|
||||
@@ -386,14 +386,14 @@ static UINT32 opSTTASK(void)
|
||||
adr += 4;
|
||||
}
|
||||
|
||||
// 31 registers supported, _not_ 32
|
||||
/* 31 registers supported, _not_ 32 */
|
||||
for(i=0; i<31; i++)
|
||||
if(amOut & (1<<i)) {
|
||||
MemWrite32(adr, v60.reg[i]);
|
||||
adr += 4;
|
||||
}
|
||||
|
||||
// #### Ignore the virtual addressing crap.
|
||||
/* #### Ignore the virtual addressing crap. */
|
||||
|
||||
return amLength1 + 1;
|
||||
}
|
||||
@@ -404,7 +404,7 @@ static UINT32 opGETPSW(void)
|
||||
modDim=2;
|
||||
modWriteValW=v60ReadPSW();
|
||||
|
||||
// Write PSW to the operand
|
||||
/* Write PSW to the operand */
|
||||
amLength1=WriteAM();
|
||||
|
||||
return amLength1 + 1;
|
||||
@@ -416,19 +416,19 @@ static UINT32 opTASI(void)
|
||||
modAdd=PC + 1;
|
||||
modDim=0;
|
||||
|
||||
// Load the address of the operand
|
||||
/* Load the address of the operand */
|
||||
amLength1=ReadAMAddress();
|
||||
|
||||
// Load UINT8 from the address
|
||||
/* Load UINT8 from the address */
|
||||
if (amFlag)
|
||||
appb=(UINT8)v60.reg[amOut&0x1F];
|
||||
else
|
||||
appb=MemRead8(amOut);
|
||||
|
||||
// Set the flags for SUB appb,FF
|
||||
/* Set the flags for SUB appb,FF */
|
||||
SUBB(appb, 0xff);
|
||||
|
||||
// Write FF in the operand
|
||||
/* Write FF in the operand */
|
||||
if (amFlag)
|
||||
SETREG8(v60.reg[amOut&0x1F], 0xFF);
|
||||
else
|
||||
@@ -442,10 +442,10 @@ static UINT32 opCLRTLB(void)
|
||||
modAdd=PC+1;
|
||||
modDim=2;
|
||||
|
||||
// Read the operand
|
||||
/* Read the operand */
|
||||
amLength1=ReadAM();
|
||||
|
||||
// @@@ TLB not yet emulated
|
||||
/* @@@ TLB not yet emulated */
|
||||
|
||||
return amLength1 + 1;
|
||||
}
|
||||
@@ -457,7 +457,7 @@ static UINT32 opPOPM(void)
|
||||
modAdd=PC+1;
|
||||
modDim=2;
|
||||
|
||||
// Read the bit register list
|
||||
/* Read the bit register list */
|
||||
amLength1=ReadAM();
|
||||
|
||||
for (i=0;i<31;i++)
|
||||
@@ -483,7 +483,7 @@ static UINT32 opPUSHM(void)
|
||||
modAdd=PC+1;
|
||||
modDim=2;
|
||||
|
||||
// Read the bit register list
|
||||
/* Read the bit register list */
|
||||
amLength1=ReadAM();
|
||||
|
||||
if (amOut & (1<<31))
|
||||
@@ -508,7 +508,7 @@ static UINT32 opTESTB(void) /* TRUSTED */
|
||||
modAdd=PC+1;
|
||||
modDim=0;
|
||||
|
||||
// Read the operand
|
||||
/* Read the operand */
|
||||
amLength1=ReadAM();
|
||||
|
||||
_Z = (amOut == 0);
|
||||
@@ -524,7 +524,7 @@ static UINT32 opTESTH(void) /* TRUSTED */
|
||||
modAdd=PC+1;
|
||||
modDim=1;
|
||||
|
||||
// Read the operand
|
||||
/* Read the operand */
|
||||
amLength1=ReadAM();
|
||||
|
||||
_Z = (amOut == 0);
|
||||
@@ -540,7 +540,7 @@ static UINT32 opTESTW(void) /* TRUSTED */
|
||||
modAdd=PC+1;
|
||||
modDim=2;
|
||||
|
||||
// Read the operand
|
||||
/* Read the operand */
|
||||
amLength1=ReadAM();
|
||||
|
||||
_Z = (amOut == 0);
|
||||
|
||||
+2
-2
@@ -343,11 +343,11 @@ static UINT32 opBR16(void) /* TRUSTED */
|
||||
|
||||
static UINT32 opBSR(void) /* TRUSTED */
|
||||
{
|
||||
// Save Next PC onto the stack
|
||||
/* Save Next PC onto the stack */
|
||||
SP -= 4;
|
||||
MemWrite32(SP, PC+3);
|
||||
|
||||
// Jump to subroutine
|
||||
/* Jump to subroutine */
|
||||
PC += (INT16)OpRead16(PC + 1);
|
||||
return 0;
|
||||
}
|
||||
+4
-4
@@ -42,7 +42,7 @@ static UINT32 opBRKV(void)
|
||||
|
||||
static UINT32 opCLRTLBA(void)
|
||||
{
|
||||
// @@@ TLB not yet supported
|
||||
/* @@@ TLB not yet supported */
|
||||
logerror("Skipping CLRTLBA opcode! PC=%x\n", PC);
|
||||
return 1;
|
||||
}
|
||||
@@ -58,8 +58,8 @@ static UINT32 opDISPOSE(void)
|
||||
|
||||
static UINT32 opHALT(void)
|
||||
{
|
||||
// @@@ It should wait for an interrupt to occur
|
||||
//logerror("HALT found: skipping");
|
||||
/* @@@ It should wait for an interrupt to occur */
|
||||
/*logerror("HALT found: skipping"); */
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ static UINT32 opTRAPFL(void)
|
||||
{
|
||||
if ((TKCW & 0x1F0) & ((v60ReadPSW() & 0x1F00) >> 4))
|
||||
{
|
||||
// @@@ FPU exception
|
||||
/* @@@ FPU exception */
|
||||
log_cb(RETRO_LOG_DEBUG, "Hit TRAPFL! PC=%x", PC);
|
||||
}
|
||||
|
||||
|
||||
+54
-54
@@ -49,7 +49,7 @@ static UINT32 f7bBamOffset1, f7bBamOffset2;
|
||||
static void F7aDecodeOperands(UINT32 (*DecodeOp1)(void), UINT8 dim1, UINT32 (*DecodeOp2)(void), UINT8 dim2)
|
||||
{
|
||||
UINT8 appb;
|
||||
// Decode first operand
|
||||
/* Decode first operand */
|
||||
modDim=dim1;
|
||||
modM=subOp&0x40;
|
||||
modAdd=PC+2;
|
||||
@@ -57,14 +57,14 @@ static void F7aDecodeOperands(UINT32 (*DecodeOp1)(void), UINT8 dim1, UINT32 (*De
|
||||
f7aFlag1=amFlag;
|
||||
f7aOp1=amOut;
|
||||
|
||||
// Decode length
|
||||
/* Decode length */
|
||||
appb=OpRead8(PC+2+amLength1);
|
||||
if (appb&0x80)
|
||||
f7aLenOp1=v60.reg[appb&0x1F];
|
||||
else
|
||||
f7aLenOp1=appb;
|
||||
|
||||
// Decode second operand
|
||||
/* Decode second operand */
|
||||
modDim=dim2;
|
||||
modM=subOp&0x20;
|
||||
modAdd=PC+3+amLength1;
|
||||
@@ -72,7 +72,7 @@ static void F7aDecodeOperands(UINT32 (*DecodeOp1)(void), UINT8 dim1, UINT32 (*De
|
||||
f7aFlag2=amFlag;
|
||||
f7aOp2=amOut;
|
||||
|
||||
// Decode length
|
||||
/* Decode length */
|
||||
appb=OpRead8(PC+3+amLength1+amLength2);
|
||||
if (appb&0x80)
|
||||
f7aLenOp2=v60.reg[appb&0x1F];
|
||||
@@ -83,7 +83,7 @@ static void F7aDecodeOperands(UINT32 (*DecodeOp1)(void), UINT8 dim1, UINT32 (*De
|
||||
static void F7bDecodeFirstOperand(UINT32 (*DecodeOp1)(void), UINT8 dim1)
|
||||
{
|
||||
UINT8 appb;
|
||||
// Decode first operand
|
||||
/* Decode first operand */
|
||||
modDim=dim1;
|
||||
modM=subOp&0x40;
|
||||
modAdd=PC+2;
|
||||
@@ -91,7 +91,7 @@ static void F7bDecodeFirstOperand(UINT32 (*DecodeOp1)(void), UINT8 dim1)
|
||||
f7bFlag1=amFlag;
|
||||
f7bOp1=amOut;
|
||||
|
||||
// Decode ext
|
||||
/* Decode ext */
|
||||
appb=OpRead8(PC+2+amLength1);
|
||||
if (appb&0x80)
|
||||
f7bLen=v60.reg[appb&0x1F];
|
||||
@@ -111,11 +111,11 @@ static void F7bWriteSecondOperand(UINT8 dim2)
|
||||
|
||||
static void F7bDecodeOperands(UINT32 (*DecodeOp1)(void), UINT8 dim1, UINT32 (*DecodeOp2)(void), UINT8 dim2)
|
||||
{
|
||||
// Decode first operand
|
||||
/* Decode first operand */
|
||||
F7bDecodeFirstOperand(DecodeOp1,dim1);
|
||||
f7bBamOffset1 = bamOffset;
|
||||
|
||||
// Decode second operand
|
||||
/* Decode second operand */
|
||||
modDim=dim2;
|
||||
modM=subOp&0x20;
|
||||
modAdd=PC+3+amLength1;
|
||||
@@ -128,7 +128,7 @@ static void F7bDecodeOperands(UINT32 (*DecodeOp1)(void), UINT8 dim1, UINT32 (*De
|
||||
static void F7cDecodeOperands(UINT32 (*DecodeOp1)(void), UINT8 dim1, UINT32 (*DecodeOp2)(void), UINT8 dim2)
|
||||
{
|
||||
UINT8 appb;
|
||||
// Decode first operand
|
||||
/* Decode first operand */
|
||||
modDim=dim1;
|
||||
modM=subOp&0x40;
|
||||
modAdd=PC+2;
|
||||
@@ -136,7 +136,7 @@ static void F7cDecodeOperands(UINT32 (*DecodeOp1)(void), UINT8 dim1, UINT32 (*De
|
||||
f7cFlag1=amFlag;
|
||||
f7cOp1=amOut;
|
||||
|
||||
// Decode second operand
|
||||
/* Decode second operand */
|
||||
modDim=dim2;
|
||||
modM=subOp&0x20;
|
||||
modAdd=PC+2+amLength1;
|
||||
@@ -144,7 +144,7 @@ static void F7cDecodeOperands(UINT32 (*DecodeOp1)(void), UINT8 dim1, UINT32 (*De
|
||||
f7cFlag2=amFlag;
|
||||
f7cOp2=amOut;
|
||||
|
||||
// Decode ext
|
||||
/* Decode ext */
|
||||
appb=OpRead8(PC+2+amLength1+amLength2);
|
||||
if (appb&0x80)
|
||||
f7cLen=v60.reg[appb&0x1F];
|
||||
@@ -184,7 +184,7 @@ static UINT32 opCMPSTRB(UINT8 bFill, UINT8 bStop)
|
||||
|
||||
F7aDecodeOperands(ReadAMAddress,0,ReadAMAddress,0);
|
||||
|
||||
// Filling
|
||||
/* Filling */
|
||||
if (bFill)
|
||||
{
|
||||
if (f7aLenOp1 < f7aLenOp2)
|
||||
@@ -250,7 +250,7 @@ static UINT32 opCMPSTRH(UINT8 bFill, UINT8 bStop)
|
||||
|
||||
F7aDecodeOperands(ReadAMAddress,0,ReadAMAddress,0);
|
||||
|
||||
// Filling
|
||||
/* Filling */
|
||||
if (bFill)
|
||||
{
|
||||
if (f7aLenOp1 < f7aLenOp2)
|
||||
@@ -316,10 +316,10 @@ static UINT32 opMOVSTRUB(UINT8 bFill, UINT8 bStop) /* TRUSTED (0,0) (1,0) */
|
||||
UINT32 i,dest;
|
||||
UINT8 c1;
|
||||
|
||||
// if (bStop)
|
||||
// {
|
||||
// int a=1;
|
||||
// }
|
||||
/* if (bStop) */
|
||||
/* { */
|
||||
/* int a=1; */
|
||||
/* } */
|
||||
|
||||
F7aDecodeOperands(ReadAMAddress,0,ReadAMAddress,0);
|
||||
|
||||
@@ -386,8 +386,8 @@ static UINT32 opMOVSTRUH(UINT8 bFill, UINT8 bStop) /* TRUSTED (0,0) (1,0) */
|
||||
UINT32 i,dest;
|
||||
UINT16 c1;
|
||||
|
||||
// if (bStop)
|
||||
// { int a=1; }
|
||||
/* if (bStop) */
|
||||
/* { int a=1; } */
|
||||
|
||||
F7aDecodeOperands(ReadAMAddress,1,ReadAMAddress,1);
|
||||
|
||||
@@ -420,13 +420,13 @@ static UINT32 opMOVSTRDH(UINT8 bFill, UINT8 bStop)
|
||||
UINT32 i,dest;
|
||||
UINT16 c1;
|
||||
|
||||
// if (bFill | bStop)
|
||||
// { int a=1; }
|
||||
/* if (bFill | bStop) */
|
||||
/* { int a=1; } */
|
||||
|
||||
F7aDecodeOperands(ReadAMAddress,1,ReadAMAddress,1);
|
||||
|
||||
// if (f7aLenOp1 != f7aLenOp2)
|
||||
// { int a=1; }
|
||||
/* if (f7aLenOp1 != f7aLenOp2) */
|
||||
/* { int a=1; } */
|
||||
|
||||
dest=(f7aLenOp1 < f7aLenOp2 ? f7aLenOp1 : f7aLenOp2);
|
||||
|
||||
@@ -469,7 +469,7 @@ static UINT32 opSEARCHUB(UINT8 bSearch)
|
||||
R28=f7bOp1+i;
|
||||
R27=i;
|
||||
|
||||
// This is the opposite as stated in V60 manual...
|
||||
/* This is the opposite as stated in V60 manual... */
|
||||
if (i!=f7bLen)
|
||||
_Z=0;
|
||||
else
|
||||
@@ -520,7 +520,7 @@ static UINT32 opSEARCHDB(UINT8 bSearch)
|
||||
R28=f7bOp1+i;
|
||||
R27=i;
|
||||
|
||||
// This is the opposite as stated in V60 manual...
|
||||
/* This is the opposite as stated in V60 manual... */
|
||||
if ((UINT32)i!=f7bLen)
|
||||
_Z=0;
|
||||
else
|
||||
@@ -635,37 +635,37 @@ static UINT32 opSCHBS(UINT32 bSearch1)
|
||||
|
||||
F7bDecodeFirstOperand(BitReadAMAddress,10);
|
||||
|
||||
// Read first UINT8
|
||||
/* Read first UINT8 */
|
||||
f7bOp1 += bamOffset/8;
|
||||
data = MemRead8(f7bOp1);
|
||||
offset = bamOffset&7;
|
||||
|
||||
// Scan bitstring
|
||||
/* Scan bitstring */
|
||||
for (i=0;i<f7bLen;i++)
|
||||
{
|
||||
// Update the work register
|
||||
/* Update the work register */
|
||||
R28 = f7bOp1;
|
||||
|
||||
// There is a 0/1 at current offset?
|
||||
/* There is a 0/1 at current offset? */
|
||||
if ((bSearch1 && (data&(1<<offset))) ||
|
||||
(!bSearch1 && !(data&(1<<offset))))
|
||||
break;
|
||||
|
||||
// Next bit please
|
||||
/* Next bit please */
|
||||
offset++;
|
||||
if (offset==8)
|
||||
{
|
||||
// Next UINT8 please
|
||||
/* Next UINT8 please */
|
||||
offset=0;
|
||||
f7bOp1++;
|
||||
data = MemRead8(f7bOp1);
|
||||
}
|
||||
}
|
||||
|
||||
// Set zero if bit not found
|
||||
/* Set zero if bit not found */
|
||||
_Z = (i == f7bLen);
|
||||
|
||||
// Write to destination the final offset
|
||||
/* Write to destination the final offset */
|
||||
modWriteValW = i;
|
||||
F7bWriteSecondOperand(2);
|
||||
|
||||
@@ -722,8 +722,8 @@ static UINT32 opMOVBSD(void)
|
||||
|
||||
F7bDecodeOperands(BitReadAMAddress,10,BitReadAMAddress,10);
|
||||
|
||||
// if (f7bLen!=1)
|
||||
// { int a=1; }
|
||||
/* if (f7bLen!=1) */
|
||||
/* { int a=1; } */
|
||||
|
||||
f7bBamOffset1 += f7bLen-1;
|
||||
f7bBamOffset2 += f7bLen-1;
|
||||
@@ -739,7 +739,7 @@ static UINT32 opMOVBSD(void)
|
||||
|
||||
for (i=0;i<f7bLen;i++)
|
||||
{
|
||||
// Update work registers
|
||||
/* Update work registers */
|
||||
R28 = f7bOp1;
|
||||
R27 = f7bOp2;
|
||||
|
||||
@@ -764,7 +764,7 @@ static UINT32 opMOVBSD(void)
|
||||
f7bBamOffset2--;
|
||||
}
|
||||
|
||||
// Flush of the final data
|
||||
/* Flush of the final data */
|
||||
if (f7bBamOffset2 != 7)
|
||||
MemWrite8(f7bOp2, dstdata);
|
||||
|
||||
@@ -789,7 +789,7 @@ static UINT32 opMOVBSU(void)
|
||||
|
||||
for (i=0;i<f7bLen;i++)
|
||||
{
|
||||
// Update work registers
|
||||
/* Update work registers */
|
||||
R28 = f7bOp1;
|
||||
R27 = f7bOp2;
|
||||
|
||||
@@ -813,14 +813,14 @@ static UINT32 opMOVBSU(void)
|
||||
}
|
||||
}
|
||||
|
||||
// Flush of the final data
|
||||
/* Flush of the final data */
|
||||
if (f7bBamOffset2 != 0)
|
||||
MemWrite8(f7bOp2, dstdata);
|
||||
|
||||
F7BEND();
|
||||
}
|
||||
|
||||
// RADM 0x20f4b8 holds the time left
|
||||
/* RADM 0x20f4b8 holds the time left */
|
||||
|
||||
static UINT32 opADDDC(void)
|
||||
{
|
||||
@@ -849,9 +849,9 @@ static UINT32 opADDDC(void)
|
||||
else
|
||||
_CY = 0;
|
||||
|
||||
// compute z flag:
|
||||
// cleared if result non-zero or carry generated
|
||||
// unchanged otherwise
|
||||
/* compute z flag: */
|
||||
/* cleared if result non-zero or carry generated */
|
||||
/* unchanged otherwise */
|
||||
if (appb != 0 || _CY)
|
||||
_Z = 0;
|
||||
|
||||
@@ -878,7 +878,7 @@ static UINT32 opSUBDC(void)
|
||||
src = (UINT32)(f7cOp1 >> 4) * 10 + (UINT32)(f7cOp1 & 0xF);
|
||||
dst = ((appb & 0xF0) >> 4) * 10 + (appb & 0xF);
|
||||
|
||||
// Note that this APPB must be SIGNED!
|
||||
/* Note that this APPB must be SIGNED! */
|
||||
appb = (INT32)dst - (INT32)src - (_CY?1:0);
|
||||
|
||||
if (appb < 0)
|
||||
@@ -889,9 +889,9 @@ static UINT32 opSUBDC(void)
|
||||
else
|
||||
_CY = 0;
|
||||
|
||||
// compute z flag:
|
||||
// cleared if result non-zero or carry generated
|
||||
// unchanged otherwise
|
||||
/* compute z flag: */
|
||||
/* cleared if result non-zero or carry generated */
|
||||
/* unchanged otherwise */
|
||||
if (appb != 0 || _CY)
|
||||
_Z = 0;
|
||||
|
||||
@@ -918,7 +918,7 @@ static UINT32 opSUBRDC(void)
|
||||
src = (UINT32)(f7cOp1 >> 4) * 10 + (UINT32)(f7cOp1 & 0xF);
|
||||
dst = ((appb & 0xF0) >> 4) * 10 + (appb & 0xF);
|
||||
|
||||
// Note that this APPB must be SIGNED!
|
||||
/* Note that this APPB must be SIGNED! */
|
||||
appb = (INT32)src - (INT32)dst - (_CY?1:0);
|
||||
|
||||
if (appb < 0)
|
||||
@@ -929,9 +929,9 @@ static UINT32 opSUBRDC(void)
|
||||
else
|
||||
_CY = 0;
|
||||
|
||||
// compute z flag:
|
||||
// cleared if result non-zero or carry generated
|
||||
// unchanged otherwise
|
||||
/* compute z flag: */
|
||||
/* cleared if result non-zero or carry generated */
|
||||
/* unchanged otherwise */
|
||||
if (appb != 0 || _CY)
|
||||
_Z = 0;
|
||||
|
||||
@@ -951,7 +951,7 @@ static UINT32 opCVTDPZ(void)
|
||||
apph |= (f7cLen);
|
||||
apph |= (f7cLen<<8);
|
||||
|
||||
// Z flag is unchanged if src is zero, cleared otherwise
|
||||
/* Z flag is unchanged if src is zero, cleared otherwise */
|
||||
if (f7cOp1 != 0) _Z = 0;
|
||||
|
||||
F7CSTOREOP2HALF();
|
||||
@@ -965,13 +965,13 @@ static UINT32 opCVTDZP(void)
|
||||
|
||||
if ((f7cOp1 & 0xF0) != (f7cLen & 0xF0) || ((f7cOp1 >> 8) & 0xF0) != (f7cLen & 0xF0))
|
||||
{
|
||||
// Decimal exception
|
||||
/* Decimal exception */
|
||||
logerror("CVTD.ZP Decimal exception #1!\n");
|
||||
}
|
||||
|
||||
if ((f7cOp1 & 0xF) > 9 || ((f7cOp1 >> 8) & 0xF) > 9)
|
||||
{
|
||||
// Decimal exception
|
||||
/* Decimal exception */
|
||||
logerror("CVTD.ZP Decimal exception #2!\n");
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
static UINT32 (*OpCodeTable[256])(void) =
|
||||
//static UINT32 (*const OpCodeTable[256])(void) =
|
||||
/*static UINT32 (*const OpCodeTable[256])(void) = */
|
||||
{
|
||||
/* 0x00 */ opHALT,
|
||||
/* 0x01 */ opLDTASK,
|
||||
|
||||
+11
-10
@@ -7,6 +7,7 @@
|
||||
#include "osd_cpu.h"
|
||||
#include "mamedbg.h"
|
||||
#include "state.h"
|
||||
#include <math.h>
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdio.h>
|
||||
@@ -278,17 +279,17 @@ UINT32 v60_update_psw_for_exception(int is_interrupt, int target_level)
|
||||
UINT32 oldPSW = v60ReadPSW();
|
||||
UINT32 newPSW = oldPSW;
|
||||
|
||||
// Change to interrupt context
|
||||
newPSW &= ~(3 << 24); // PSW.EL = 0
|
||||
newPSW |= target_level << 24; // set target level
|
||||
newPSW &= ~(1 << 18); // PSW.IE = 0
|
||||
newPSW &= ~(1 << 16); // PSW.TE = 0
|
||||
newPSW &= ~(1 << 27); // PSW.TP = 0
|
||||
newPSW &= ~(1 << 17); // PSW.AE = 0
|
||||
newPSW &= ~(1 << 29); // PSW.EM = 0
|
||||
/* Change to interrupt context */
|
||||
newPSW &= ~(3 << 24); /* PSW.EL = 0 */
|
||||
newPSW |= target_level << 24; /* set target level */
|
||||
newPSW &= ~(1 << 18); /* PSW.IE = 0 */
|
||||
newPSW &= ~(1 << 16); /* PSW.TE = 0 */
|
||||
newPSW &= ~(1 << 27); /* PSW.TP = 0 */
|
||||
newPSW &= ~(1 << 17); /* PSW.AE = 0 */
|
||||
newPSW &= ~(1 << 29); /* PSW.EM = 0 */
|
||||
if (is_interrupt)
|
||||
newPSW |= (1 << 28);// PSW.IS = 1
|
||||
newPSW |= (1 << 31); // PSW.ASA = 1
|
||||
newPSW |= (1 << 28);/* PSW.IS = 1 */
|
||||
newPSW |= (1 << 31); /* PSW.ASA = 1 */
|
||||
v60WritePSW(newPSW);
|
||||
|
||||
return oldPSW;
|
||||
|
||||
@@ -375,7 +375,7 @@ static struct cpu_info v70_i =
|
||||
#define PortRead32 v60.info.pr32
|
||||
#define PortWrite32 v60.info.pw32
|
||||
|
||||
#if !defined(MSB_FIRST) && !defined(ALIGN_INTS)
|
||||
#if defined(LSB_FIRST) && !defined(ALIGN_INTS)
|
||||
#define OpRead8(a) (OP_ROM[a])
|
||||
#define OpRead16(a) (*(UINT16 *)&OP_ROM[a])
|
||||
#define OpRead32(a) (*(UINT32 *)&OP_ROM[a])
|
||||
|
||||
+32
-28
@@ -85,6 +85,14 @@
|
||||
#include "z80.h"
|
||||
#include "log.h"
|
||||
|
||||
#define VERBOSE 0
|
||||
|
||||
#if VERBOSE
|
||||
#define LOG(x) logerror x
|
||||
#else
|
||||
#define LOG(x)
|
||||
#endif
|
||||
|
||||
/* execute main opcodes inside a big switch statement */
|
||||
#ifndef BIG_SWITCH
|
||||
#define BIG_SWITCH 1
|
||||
@@ -811,7 +819,7 @@ static INLINE UINT32 ARG16(void)
|
||||
* RETN
|
||||
***************************************************************/
|
||||
#define RETN { \
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d RETN IFF1:%d IFF2:%d\n", cpu_getactivecpu(), _IFF1, _IFF2); \
|
||||
LOG(("Z80 #%d RETN IFF1:%d IFF2:%d\n", cpu_getactivecpu(), _IFF1, _IFF2)); \
|
||||
POP(PC); \
|
||||
change_pc16(_PCD); \
|
||||
if( _IFF1 == 0 && _IFF2 == 1 ) \
|
||||
@@ -820,8 +828,8 @@ static INLINE UINT32 ARG16(void)
|
||||
if( Z80.irq_state != CLEAR_LINE || \
|
||||
Z80.request_irq >= 0 ) \
|
||||
{ \
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d RETN takes IRQ\n", \
|
||||
cpu_getactivecpu()); \
|
||||
LOG(("Z80 #%d RETN takes IRQ\n", \
|
||||
cpu_getactivecpu())); \
|
||||
take_interrupt(); \
|
||||
} \
|
||||
} \
|
||||
@@ -839,8 +847,8 @@ static INLINE UINT32 ARG16(void)
|
||||
/* _IFF1 = _IFF2; */ \
|
||||
if( device >= 0 ) \
|
||||
{ \
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d RETI device %d: $%02x\n", \
|
||||
cpu_getactivecpu(), device, Z80.irq[device].irq_param); \
|
||||
LOG(("Z80 #%d RETI device %d: $%02x\n", \
|
||||
cpu_getactivecpu(), device, Z80.irq[device].irq_param)); \
|
||||
Z80.irq[device].interrupt_reti(Z80.irq[device].irq_param); \
|
||||
} \
|
||||
}
|
||||
@@ -1977,8 +1985,8 @@ static INLINE UINT8 SET(UINT8 bit, UINT8 value)
|
||||
_R++; \
|
||||
while( cpu_readop(_PCD) == 0xfb ) /* more EIs? */ \
|
||||
{ \
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d multiple EI opcodes at %04X\n", \
|
||||
cpu_getactivecpu(), _PC); \
|
||||
LOG(("Z80 #%d multiple EI opcodes at %04X\n", \
|
||||
cpu_getactivecpu(), _PC)); \
|
||||
CC(op,0xfb); \
|
||||
_PPC =_PCD; \
|
||||
CALL_MAME_DEBUG; \
|
||||
@@ -1991,7 +1999,7 @@ static INLINE UINT8 SET(UINT8 bit, UINT8 value)
|
||||
after_EI = 1; /* avoid cycle skip hacks */ \
|
||||
EXEC(op,ROP()); \
|
||||
after_EI = 0; \
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d EI takes irq\n", cpu_getactivecpu()); \
|
||||
LOG(("Z80 #%d EI takes irq\n", cpu_getactivecpu())); \
|
||||
take_interrupt(); \
|
||||
} else EXEC(op,ROP()); \
|
||||
} else _IFF2 = 1; \
|
||||
@@ -2583,7 +2591,7 @@ OP(xycb,fe) { WM( EA, SET(7,RM(EA)) ); } /* SET 7,(XY+o) */
|
||||
OP(xycb,ff) { _A = SET(7, RM(EA) ); WM( EA,_A ); } /* SET 7,A=(XY+o) */
|
||||
|
||||
OP(illegal,1) {
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d ill. opcode $%02x $%02x\n",
|
||||
logerror("Z80 #%d ill. opcode $%02x $%02x\n",
|
||||
cpu_getactivecpu(), cpu_readop((_PCD-1)&0xffff), cpu_readop(_PCD));
|
||||
}
|
||||
|
||||
@@ -3171,7 +3179,7 @@ OP(fd,ff) { illegal_1(); op_ff(); } /* DB FD */
|
||||
|
||||
OP(illegal,2)
|
||||
{
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d ill. opcode $ed $%02x\n",
|
||||
logerror("Z80 #%d ill. opcode $ed $%02x\n",
|
||||
cpu_getactivecpu(), cpu_readop((_PCD-1)&0xffff));
|
||||
}
|
||||
|
||||
@@ -3917,7 +3925,7 @@ static void take_interrupt(void)
|
||||
/* Clear both interrupt flip flops */
|
||||
_IFF1 = _IFF2 = 0;
|
||||
irq_vector = Z80.irq[Z80.request_irq].interrupt_entry(Z80.irq[Z80.request_irq].irq_param);
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d daisy chain irq_vector $%02x\n", cpu_getactivecpu(), irq_vector);
|
||||
LOG(("Z80 #%d daisy chain irq_vector $%02x\n", cpu_getactivecpu(), irq_vector));
|
||||
Z80.request_irq = -1;
|
||||
} else return;
|
||||
}
|
||||
@@ -3927,7 +3935,7 @@ static void take_interrupt(void)
|
||||
_IFF1 = _IFF2 = 0;
|
||||
/* call back the cpu interface to retrieve the vector */
|
||||
irq_vector = (*Z80.irq_callback)(0);
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d single int. irq_vector $%02x\n", cpu_getactivecpu(), irq_vector);
|
||||
LOG(("Z80 #%d single int. irq_vector $%02x\n", cpu_getactivecpu(), irq_vector));
|
||||
}
|
||||
|
||||
/* Interrupt mode 2. Call [Z80.I:databyte] */
|
||||
@@ -3936,7 +3944,7 @@ static void take_interrupt(void)
|
||||
irq_vector = (irq_vector & 0xff) | (_I << 8);
|
||||
PUSH( PC );
|
||||
RM16( irq_vector, &Z80.PC );
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d IM2 [$%04x] = $%04x\n",cpu_getactivecpu() , irq_vector, _PCD);
|
||||
LOG(("Z80 #%d IM2 [$%04x] = $%04x\n",cpu_getactivecpu() , irq_vector, _PCD));
|
||||
/* CALL opcode timing */
|
||||
Z80.extra_cycles += cc[Z80_TABLE_op][0xcd];
|
||||
}
|
||||
@@ -3944,7 +3952,7 @@ static void take_interrupt(void)
|
||||
/* Interrupt mode 1. RST 38h */
|
||||
if( _IM == 1 )
|
||||
{
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d IM1 $0038\n",cpu_getactivecpu());
|
||||
LOG(("Z80 #%d IM1 $0038\n",cpu_getactivecpu() ));
|
||||
PUSH( PC );
|
||||
_PCD = 0x0038;
|
||||
/* RST $38 + 'interrupt latency' cycles */
|
||||
@@ -3955,7 +3963,7 @@ static void take_interrupt(void)
|
||||
/* Interrupt mode 0. We check for CALL and JP instructions, */
|
||||
/* if neither of these were found we assume a 1 byte opcode */
|
||||
/* was placed on the databus */
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d IM0 $%04x\n",cpu_getactivecpu() , irq_vector);
|
||||
LOG(("Z80 #%d IM0 $%04x\n",cpu_getactivecpu() , irq_vector));
|
||||
switch (irq_vector & 0xff0000)
|
||||
{
|
||||
case 0xcd0000: /* call */
|
||||
@@ -3999,11 +4007,7 @@ void z80_init(void)
|
||||
SZHVC_sub = (UINT8 *)malloc(2*256*256);
|
||||
if( !SZHVC_add || !SZHVC_sub )
|
||||
{
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80: failed to allocate 2 * 128K flags arrays!!!\n");
|
||||
|
||||
/* TODO: Don't abort, switch back to main thread and exit cleanly:
|
||||
* This is only used if a malloc fails in src/cpu/z80/z80.c so not too high a priority */
|
||||
abort();
|
||||
osd_die("Z80: failed to allocate 2 * 128K flags arrays!!!\n");
|
||||
}
|
||||
padd = &SZHVC_add[ 0*256];
|
||||
padc = &SZHVC_add[256*256];
|
||||
@@ -4332,11 +4336,11 @@ void z80_set_irq_line(int irqline, int state)
|
||||
{
|
||||
if( Z80.nmi_state == state ) return;
|
||||
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d set_irq_line (NMI) %d\n", cpu_getactivecpu(), state);
|
||||
LOG(("Z80 #%d set_irq_line (NMI) %d\n", cpu_getactivecpu(), state));
|
||||
Z80.nmi_state = state;
|
||||
if( state == CLEAR_LINE ) return;
|
||||
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d take NMI\n", cpu_getactivecpu());
|
||||
LOG(("Z80 #%d take NMI\n", cpu_getactivecpu()));
|
||||
_PPC = -1; /* there isn't a valid previous program counter */
|
||||
LEAVE_HALT; /* Check if processor was halted */
|
||||
|
||||
@@ -4347,7 +4351,7 @@ void z80_set_irq_line(int irqline, int state)
|
||||
}
|
||||
else
|
||||
{
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d set_irq_line %d\n",cpu_getactivecpu() , state);
|
||||
LOG(("Z80 #%d set_irq_line %d\n",cpu_getactivecpu() , state));
|
||||
Z80.irq_state = state;
|
||||
if( state == CLEAR_LINE ) return;
|
||||
|
||||
@@ -4357,11 +4361,11 @@ void z80_set_irq_line(int irqline, int state)
|
||||
daisychain = (*Z80.irq_callback)(irqline);
|
||||
device = daisychain >> 8;
|
||||
int_state = daisychain & 0xff;
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d daisy chain $%04x -> device %d, state $%02x",cpu_getactivecpu(), daisychain, device, int_state);
|
||||
LOG(("Z80 #%d daisy chain $%04x -> device %d, state $%02x",cpu_getactivecpu(), daisychain, device, int_state));
|
||||
|
||||
if( Z80.int_state[device] != int_state )
|
||||
{
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE " change\n");
|
||||
LOG((" change\n"));
|
||||
/* set new interrupt status */
|
||||
Z80.int_state[device] = int_state;
|
||||
/* check interrupt status */
|
||||
@@ -4380,12 +4384,12 @@ void z80_set_irq_line(int irqline, int state)
|
||||
if( Z80.int_state[device] & Z80_INT_REQ )
|
||||
Z80.request_irq = device;
|
||||
}
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d daisy chain service_irq $%02x, request_irq $%02x\n", cpu_getactivecpu(), Z80.service_irq, Z80.request_irq);
|
||||
LOG(("Z80 #%d daisy chain service_irq $%02x, request_irq $%02x\n", cpu_getactivecpu(), Z80.service_irq, Z80.request_irq));
|
||||
if( Z80.request_irq < 0 ) return;
|
||||
}
|
||||
else
|
||||
{
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE " no change\n");
|
||||
LOG((" no change\n"));
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -4398,7 +4402,7 @@ void z80_set_irq_line(int irqline, int state)
|
||||
****************************************************************************/
|
||||
void z80_set_irq_callback(int (*callback)(int))
|
||||
{
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d set_irq_callback $%08x\n",cpu_getactivecpu() , (int)callback);
|
||||
LOG(("Z80 #%d set_irq_callback $%08x\n",cpu_getactivecpu() , (int)callback));
|
||||
Z80.irq_callback = callback;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,16 +4,7 @@
|
||||
#include "drz80_z80.h"
|
||||
#include "drz80.h"
|
||||
|
||||
typedef struct {
|
||||
struct DrZ80 regs;
|
||||
unsigned int nmi_state;
|
||||
unsigned int irq_state;
|
||||
int previouspc;
|
||||
int (*MAMEIrqCallback)(int int_level);
|
||||
} drz80_regs;
|
||||
|
||||
static drz80_regs DRZ80;
|
||||
int drz80_ICount;
|
||||
drz80_regs DRZ80;
|
||||
|
||||
#define INT_IRQ 0x01
|
||||
#define NMI_IRQ 0x02
|
||||
@@ -129,10 +120,8 @@ void drz80_exit(void)
|
||||
int drz80_execute(int cycles)
|
||||
{
|
||||
DRZ80.regs.cycles = cycles;
|
||||
drz80_ICount = DRZ80.regs.cycles;
|
||||
DrZ80Run(&DRZ80.regs, cycles);
|
||||
change_pc16(DRZ80.regs.Z80PC - DRZ80.regs.Z80PC_BASE);
|
||||
drz80_ICount = DRZ80.regs.cycles;
|
||||
return (cycles-DRZ80.regs.cycles);
|
||||
}
|
||||
|
||||
@@ -144,7 +133,6 @@ void drz80_burn(int cycles)
|
||||
int n = (cycles + 3) / 4;
|
||||
//DRZ80.regs.Z80R += n;
|
||||
DRZ80.regs.cycles -= 4 * n;
|
||||
drz80_ICount = DRZ80.regs.cycles;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,12 +3,19 @@
|
||||
|
||||
#include "cpuintrf.h"
|
||||
#include "osd_cpu.h"
|
||||
#include "drz80.h"
|
||||
|
||||
extern int drz80_ICount;
|
||||
typedef struct {
|
||||
struct DrZ80 regs;
|
||||
unsigned int nmi_state;
|
||||
unsigned int irq_state;
|
||||
int previouspc;
|
||||
int (*MAMEIrqCallback)(int int_level);
|
||||
} drz80_regs;
|
||||
|
||||
#define DRZ80_IGNORE_INT -1 /* Ignore interrupt */
|
||||
#define DRZ80_NMI_INT -2 /* Execute NMI */
|
||||
#define DRZ80_IRQ_INT -1000 /* Execute IRQ */
|
||||
extern drz80_regs DRZ80;
|
||||
|
||||
#define drz80_ICount DRZ80.regs.cycles
|
||||
|
||||
extern void drz80_init(void);
|
||||
extern void drz80_reset (void *param);
|
||||
|
||||
+90
-16
@@ -13,15 +13,31 @@
|
||||
#include "mamedbg.h"
|
||||
#include "cpuexec.h"
|
||||
#include "log.h"
|
||||
#include "ost_samples.h"
|
||||
|
||||
|
||||
#if (HAS_M68000 || HAS_M68010 || HAS_M68020 || HAS_M68EC020)
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#endif
|
||||
|
||||
#if (HAS_CYCLONE)
|
||||
#include "cpu/m68000_cyclone/c68000.h"
|
||||
#endif
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Debug logging
|
||||
*
|
||||
*************************************/
|
||||
|
||||
#define VERBOSE 0
|
||||
|
||||
#if VERBOSE
|
||||
#define LOG(x) logerror x
|
||||
#else
|
||||
#define LOG(x)
|
||||
#endif
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Macros to help verify active CPU
|
||||
@@ -147,6 +163,50 @@ struct cpuinfo
|
||||
|
||||
static struct cpuinfo cpu[MAX_CPU];
|
||||
|
||||
/* The lasting suspend reasons of each CPU (held in reset, halted or
|
||||
disabled), kept for save states. Without them a loaded save state keeps
|
||||
the suspend state of the board that loads it: a sound CPU that was held
|
||||
in reset at that moment is reset again when the game releases its reset
|
||||
line, and it restarts its program while the main CPU does not. The
|
||||
short-lived reasons (spin, trigger) are not kept: the loaded CPU simply
|
||||
runs until it waits again. */
|
||||
#define SUSPEND_LASTING_REASONS (SUSPEND_REASON_HALT | SUSPEND_REASON_RESET | SUSPEND_REASON_DISABLE)
|
||||
static INT32 saved_suspend[MAX_CPU];
|
||||
|
||||
/* Each CPU's local time (how far it ran past the timer system's time) and
|
||||
cycle count, kept with a save: without them a loaded CPU keeps the offset
|
||||
it had when the save was loaded, a few cycles off, and a game that polls
|
||||
another CPU drifts from the run it was saved from. */
|
||||
static double saved_localtime[MAX_CPU];
|
||||
static UINT32 saved_cycles[MAX_CPU * 2];
|
||||
|
||||
static void cpu_suspend_presave(void)
|
||||
{
|
||||
int cpunum;
|
||||
|
||||
for (cpunum = 0; cpunum < cpu_gettotalcpu(); cpunum++)
|
||||
{
|
||||
saved_suspend[cpunum] = cpu[cpunum].nextsuspend & SUSPEND_LASTING_REASONS;
|
||||
saved_localtime[cpunum] = cpu[cpunum].localtime;
|
||||
saved_cycles[cpunum * 2] = (UINT32)cpu[cpunum].totalcycles;
|
||||
saved_cycles[cpunum * 2 + 1] = (UINT32)(cpu[cpunum].totalcycles >> 32);
|
||||
}
|
||||
}
|
||||
|
||||
static void cpu_suspend_postload(void)
|
||||
{
|
||||
int cpunum;
|
||||
|
||||
for (cpunum = 0; cpunum < cpu_gettotalcpu(); cpunum++)
|
||||
{
|
||||
cpu[cpunum].suspend = cpu[cpunum].nextsuspend = saved_suspend[cpunum] & SUSPEND_LASTING_REASONS;
|
||||
if (saved_suspend[cpunum])
|
||||
cpu[cpunum].eatcycles = cpu[cpunum].nexteatcycles = 1;
|
||||
cpu[cpunum].localtime = saved_localtime[cpunum];
|
||||
cpu[cpunum].totalcycles = ((UINT64)saved_cycles[cpunum * 2 + 1] << 32) | saved_cycles[cpunum * 2];
|
||||
}
|
||||
}
|
||||
|
||||
static int time_to_reset;
|
||||
static int time_to_quit;
|
||||
|
||||
@@ -253,6 +313,11 @@ int cpu_init(void)
|
||||
/* save some stuff in tag 0 */
|
||||
state_save_set_current_tag(0);
|
||||
state_save_register_INT32("cpu", 0, "watchdog count", &watchdog_counter, 1);
|
||||
state_save_register_INT32("cpu", 0, "suspend", saved_suspend, cpu_gettotalcpu());
|
||||
state_save_register_double("cpu", 0, "localtime", saved_localtime, cpu_gettotalcpu());
|
||||
state_save_register_UINT32("cpu", 0, "totalcycles", saved_cycles, cpu_gettotalcpu() * 2);
|
||||
state_save_register_func_presave(cpu_suspend_presave);
|
||||
state_save_register_func_postload(cpu_suspend_postload);
|
||||
|
||||
/* reset the IRQ lines and save those */
|
||||
if (cpuint_init())
|
||||
@@ -288,6 +353,10 @@ static void cpu_pre_run(void)
|
||||
/* reset sound chips */
|
||||
sound_reset();
|
||||
|
||||
/* prepare ost if installed */
|
||||
if (options.content_flags[CONTENT_ALT_SOUND])
|
||||
ost_init();
|
||||
|
||||
/* first pass over CPUs */
|
||||
for (cpunum = 0; cpunum < cpu_gettotalcpu(); cpunum++)
|
||||
{
|
||||
@@ -319,6 +388,7 @@ static void cpu_pre_run(void)
|
||||
/* reset the globals */
|
||||
cpu_vblankreset();
|
||||
current_frame = 0;
|
||||
mame_pause(false);
|
||||
state_save_dump_registry();
|
||||
}
|
||||
|
||||
@@ -452,12 +522,16 @@ static void watchdog_reset(void)
|
||||
watchdog_counter = 3 * Machine->drv->frames_per_second;
|
||||
}
|
||||
|
||||
|
||||
WRITE_HANDLER( watchdog_reset_w )
|
||||
{
|
||||
watchdog_reset();
|
||||
}
|
||||
|
||||
WRITE_HANDLER( watchdog_400_reset_w )
|
||||
{
|
||||
watchdog_counter = 400;
|
||||
}
|
||||
|
||||
|
||||
READ_HANDLER( watchdog_reset_r )
|
||||
{
|
||||
@@ -579,14 +653,14 @@ static void cpu_timeslice(void)
|
||||
double target = timer_time_until_next_timer();
|
||||
int cpunum, ran;
|
||||
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "------------------\n");
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "cpu_timeslice: target = %.9f\n", target);
|
||||
LOG(("------------------\n"));
|
||||
LOG(("cpu_timeslice: target = %.9f\n", target));
|
||||
|
||||
/* process any pending suspends */
|
||||
for (cpunum = 0; Machine->drv->cpu[cpunum].cpu_type != CPU_DUMMY; cpunum++)
|
||||
{
|
||||
if (cpu[cpunum].suspend != cpu[cpunum].nextsuspend)
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "--> updated CPU%d suspend from %X to %X\n", cpunum, cpu[cpunum].suspend, cpu[cpunum].nextsuspend);
|
||||
LOG(("--> updated CPU%d suspend from %X to %X\n", cpunum, cpu[cpunum].suspend, cpu[cpunum].nextsuspend));
|
||||
cpu[cpunum].suspend = cpu[cpunum].nextsuspend;
|
||||
cpu[cpunum].eatcycles = cpu[cpunum].nexteatcycles;
|
||||
}
|
||||
@@ -599,7 +673,7 @@ static void cpu_timeslice(void)
|
||||
{
|
||||
/* compute how long to run */
|
||||
cycles_running = TIME_TO_CYCLES(cpunum, target - cpu[cpunum].localtime);
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE " cpu %d: %d cycles\n", cpunum, cycles_running);
|
||||
LOG((" cpu %d: %d cycles\n", cpunum, cycles_running));
|
||||
|
||||
/* run for the requested number of cycles */
|
||||
if (cycles_running > 0)
|
||||
@@ -613,13 +687,13 @@ static void cpu_timeslice(void)
|
||||
/* account for these cycles */
|
||||
cpu[cpunum].totalcycles += ran;
|
||||
cpu[cpunum].localtime += TIME_IN_CYCLES(ran, cpunum);
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE " %d ran, %d total, time = %.9f\n", ran, (INT32)cpu[cpunum].totalcycles, cpu[cpunum].localtime);
|
||||
LOG((" %d ran, %d total, time = %.9f\n", ran, (INT32)cpu[cpunum].totalcycles, cpu[cpunum].localtime));
|
||||
|
||||
/* if the new local CPU time is less than our target, move the target up */
|
||||
if (cpu[cpunum].localtime < target && cpu[cpunum].localtime > 0)
|
||||
{
|
||||
target = cpu[cpunum].localtime;
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE " (new target)\n");
|
||||
LOG((" (new target)\n"));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -633,16 +707,16 @@ static void cpu_timeslice(void)
|
||||
{
|
||||
/* compute how long to run */
|
||||
cycles_running = TIME_TO_CYCLES(cpunum, target - cpu[cpunum].localtime);
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE " cpu %d: %d cycles (suspended)\n", cpunum, cycles_running);
|
||||
LOG((" cpu %d: %d cycles (suspended)\n", cpunum, cycles_running));
|
||||
|
||||
cpu[cpunum].totalcycles += cycles_running;
|
||||
cpu[cpunum].localtime += TIME_IN_CYCLES(cycles_running, cpunum);
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE " %d skipped, %d total, time = %.9f\n", cycles_running, (INT32)cpu[cpunum].totalcycles, cpu[cpunum].localtime);
|
||||
LOG((" %d skipped, %d total, time = %.9f\n", cycles_running, (INT32)cpu[cpunum].totalcycles, cpu[cpunum].localtime));
|
||||
}
|
||||
|
||||
/* update the suspend state */
|
||||
if (cpu[cpunum].suspend != cpu[cpunum].nextsuspend)
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "--> updated CPU%d suspend from %X to %X\n", cpunum, cpu[cpunum].suspend, cpu[cpunum].nextsuspend);
|
||||
LOG(("--> updated CPU%d suspend from %X to %X\n", cpunum, cpu[cpunum].suspend, cpu[cpunum].nextsuspend));
|
||||
cpu[cpunum].suspend = cpu[cpunum].nextsuspend;
|
||||
cpu[cpunum].eatcycles = cpu[cpunum].nexteatcycles;
|
||||
|
||||
@@ -676,7 +750,7 @@ void activecpu_abort_timeslice(void)
|
||||
int current_icount;
|
||||
|
||||
VERIFY_EXECUTINGCPU_VOID(activecpu_abort_timeslice);
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "activecpu_abort_timeslice (CPU=%d, cycles_left=%d)\n", cpu_getexecutingcpu(), activecpu_get_icount() + 1);
|
||||
LOG(("activecpu_abort_timeslice (CPU=%d, cycles_left=%d)\n", cpu_getexecutingcpu(), activecpu_get_icount() + 1));
|
||||
|
||||
/* swallow the remaining cycles */
|
||||
current_icount = activecpu_get_icount() + 1;
|
||||
@@ -726,7 +800,7 @@ double cpunum_get_localtime(int cpunum)
|
||||
void cpunum_suspend(int cpunum, int reason, int eatcycles)
|
||||
{
|
||||
VERIFY_CPUNUM_VOID(cpunum_suspend);
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "cpunum_suspend (CPU=%d, r=%X, eat=%d)\n", cpunum, reason, eatcycles);
|
||||
LOG(("cpunum_suspend (CPU=%d, r=%X, eat=%d)\n", cpunum, reason, eatcycles));
|
||||
|
||||
/* set the pending suspend bits, and force a resync */
|
||||
cpu[cpunum].nextsuspend |= reason;
|
||||
@@ -747,7 +821,7 @@ void cpunum_suspend(int cpunum, int reason, int eatcycles)
|
||||
void cpunum_resume(int cpunum, int reason)
|
||||
{
|
||||
VERIFY_CPUNUM_VOID(cpunum_resume);
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "cpunum_resume (CPU=%d, r=%X)\n", cpunum, reason);
|
||||
LOG(("cpunum_resume (CPU=%d, r=%X)\n", cpunum, reason));
|
||||
|
||||
/* clear the pending suspend bits, and force a resync */
|
||||
cpu[cpunum].nextsuspend &= ~reason;
|
||||
@@ -821,7 +895,7 @@ void cpu_boost_interleave(double timeslice_time, double boost_duration)
|
||||
if (timeslice_time < perfect_interleave)
|
||||
timeslice_time = perfect_interleave;
|
||||
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "cpu_boost_interleave(%.9f, %.9f)\n", timeslice_time, boost_duration);
|
||||
LOG(("cpu_boost_interleave(%.9f, %.9f)\n", timeslice_time, boost_duration));
|
||||
|
||||
/* adjust the interleave timer */
|
||||
timer_adjust(interleave_boost_timer, timeslice_time, 0, timeslice_time);
|
||||
@@ -1549,7 +1623,7 @@ static void cpu_timeslicecallback(int param)
|
||||
static void end_interleave_boost(int param)
|
||||
{
|
||||
timer_adjust(interleave_boost_timer, TIME_NEVER, 0, TIME_NEVER);
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "end_interleave_boost\n");
|
||||
LOG(("end_interleave_boost\n"));
|
||||
}
|
||||
|
||||
|
||||
@@ -1584,7 +1658,7 @@ static void compute_perfect_interleave(void)
|
||||
if (perfect_interleave == 1.0)
|
||||
perfect_interleave = cycles_to_sec[0];
|
||||
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "Perfect interleave = %.9f, smallest = %.9f\n", perfect_interleave, smallest);
|
||||
LOG(("Perfect interleave = %.9f, smallest = %.9f\n", perfect_interleave, smallest));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -95,6 +95,8 @@ void machine_reset(void);
|
||||
|
||||
void mame_frame(void);
|
||||
|
||||
extern void (*pause_action)(void);
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Optional watchdog
|
||||
@@ -103,6 +105,7 @@ void mame_frame(void);
|
||||
|
||||
/* 8-bit watchdog read/write handlers */
|
||||
WRITE_HANDLER( watchdog_reset_w );
|
||||
WRITE_HANDLER( watchdog_400_reset_w );
|
||||
READ_HANDLER( watchdog_reset_r );
|
||||
|
||||
/* 16-bit watchdog read/write handlers */
|
||||
|
||||
@@ -62,6 +62,26 @@ static INT32 irq_line_vector[MAX_CPU][MAX_IRQ_LINES];
|
||||
static INT32 irq_event_queue[MAX_CPU][MAX_IRQ_EVENTS];
|
||||
static int irq_event_index[MAX_CPU];
|
||||
|
||||
static void cpu_empty_event_queue(int cpunum);
|
||||
|
||||
/* A save made at the end of a frame finds the VBLANK interrupt still in the
|
||||
queue (it is emptied by a timer at the same time, which runs in the next
|
||||
frame). The queue is saved with the game, and a load sets that timer again,
|
||||
or the CPU misses that interrupt: a game that does its work every other
|
||||
frame then runs one frame late after loading. */
|
||||
static void cpuint_postload(void)
|
||||
{
|
||||
int cpunum;
|
||||
|
||||
for (cpunum = 0; cpunum < cpu_gettotalcpu(); cpunum++)
|
||||
{
|
||||
if (irq_event_index[cpunum] > MAX_IRQ_EVENTS)
|
||||
irq_event_index[cpunum] = MAX_IRQ_EVENTS;
|
||||
if (irq_event_index[cpunum] > 0)
|
||||
timer_set(TIME_NOW, cpunum, cpu_empty_event_queue);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
@@ -131,6 +151,10 @@ int cpuint_init(void)
|
||||
state_save_register_INT32("cpu", 0, "irq vector", &interrupt_vector[0][0],cpu_gettotalcpu() * MAX_IRQ_LINES);
|
||||
state_save_register_UINT8("cpu", 0, "irqline state", &irq_line_state[0][0], cpu_gettotalcpu() * MAX_IRQ_LINES);
|
||||
state_save_register_INT32("cpu", 0, "irqline vector", &irq_line_vector[0][0], cpu_gettotalcpu() * MAX_IRQ_LINES);
|
||||
state_save_register_INT32("cpu", 0, "irq event queue", &irq_event_queue[0][0], cpu_gettotalcpu() * MAX_IRQ_EVENTS);
|
||||
for (cpunum = 0; cpunum < cpu_gettotalcpu(); cpunum++)
|
||||
state_save_register_int("cpu", cpunum, "irq events", &irq_event_index[cpunum]);
|
||||
state_save_register_func_postload(cpuint_postload);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
+7
-24
@@ -3520,22 +3520,18 @@ void draw_crosshair(int player_number, struct mame_bitmap *bitmap,int x,int y,co
|
||||
{
|
||||
unsigned long color,black,white;
|
||||
int i;
|
||||
static int flash [2] = { 0, 0 };
|
||||
static int inactive_xy [MAX_PLAYER_COUNT][3];
|
||||
|
||||
if (!options.crosshair_enable)
|
||||
{
|
||||
/* Update frame count */
|
||||
inactive_xy[player_number-1][2] = cpu_getcurrentframe();
|
||||
flash[0] = cpu_getcurrentframe();
|
||||
return;
|
||||
}
|
||||
|
||||
/* Catch if frame count was reset */
|
||||
if (inactive_xy[player_number-1][2] > cpu_getcurrentframe())
|
||||
inactive_xy[player_number-1][2] = cpu_getcurrentframe();
|
||||
if (flash[0] > cpu_getcurrentframe())
|
||||
flash[0] = cpu_getcurrentframe();
|
||||
|
||||
/* Hide crosshairs for inactive players */
|
||||
if(inactive_xy[player_number-1][0] == x && inactive_xy[player_number-1][1] == y)
|
||||
@@ -3555,14 +3551,6 @@ void draw_crosshair(int player_number, struct mame_bitmap *bitmap,int x,int y,co
|
||||
white = Machine->uifont->colortable[1];
|
||||
color = white; /* default */
|
||||
|
||||
/* Flashing effect
|
||||
if( cpu_getcurrentframe() > flash[0] + 4 )
|
||||
{
|
||||
flash[0] = cpu_getcurrentframe();
|
||||
flash[1] = flash[1] ? 0:1;
|
||||
}
|
||||
if(flash[1]) color = black;*/
|
||||
|
||||
/* Draw crosshair - simple */
|
||||
for (i = 1;i < 6;i++)
|
||||
{
|
||||
@@ -3594,18 +3582,13 @@ void draw_crosshair(int player_number, struct mame_bitmap *bitmap,int x,int y,co
|
||||
}
|
||||
|
||||
/* 45 degrees */
|
||||
plotclip(bitmap,x-4,y+6,color,clip);
|
||||
plotclip(bitmap,x-5,y+5,color,clip);
|
||||
plotclip(bitmap,x-6,y+4,color,clip);
|
||||
plotclip(bitmap,x-4,y-6,color,clip);
|
||||
plotclip(bitmap,x-5,y-5,color,clip);
|
||||
plotclip(bitmap,x-6,y-4,color,clip);
|
||||
plotclip(bitmap,x+4,y-6,color,clip);
|
||||
plotclip(bitmap,x+5,y-5,color,clip);
|
||||
plotclip(bitmap,x+6,y-4,color,clip);
|
||||
plotclip(bitmap,x+4,y+6,color,clip);
|
||||
plotclip(bitmap,x+5,y+5,color,clip);
|
||||
plotclip(bitmap,x+6,y+4,color,clip);
|
||||
for (i = 0;i < 3;i++)
|
||||
{
|
||||
plotclip(bitmap,x-6+i,y+4+i,color,clip);
|
||||
plotclip(bitmap,x-6+i,y-4-i,color,clip);
|
||||
plotclip(bitmap,x+6-i,y+4+i,color,clip);
|
||||
plotclip(bitmap,x+6-i,y-4-i,color,clip);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -281,6 +281,7 @@ static INLINE void sect_rect(struct rectangle *dst, const struct rectangle *src)
|
||||
if (src->max_y < dst->max_y) dst->max_y = src->max_y;
|
||||
}
|
||||
|
||||
extern struct GfxElement *uirotfont;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
+537
-221
File diff suppressed because it is too large.
Load diff
@@ -595,6 +595,4 @@ extern const struct GameDriver *test_drivers[];
|
||||
|
||||
extern const int total_drivers;
|
||||
|
||||
extern unsigned activate_dcs_speedhack;
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,970 @@
|
||||
/******************************************************************************
|
||||
|
||||
driver_split.c
|
||||
|
||||
The list of all available drivers. Drivers have to be included here to be
|
||||
recognized by the executable.
|
||||
|
||||
To save some typing, we use a hack here. This file is recursively #included
|
||||
twice, with different definitions of the DRIVER() macro. The first one
|
||||
declares external references to the drivers; the second one builds an array
|
||||
storing all the drivers.
|
||||
|
||||
******************************************************************************/
|
||||
|
||||
#include "driver.h"
|
||||
|
||||
|
||||
#ifndef DRIVER_RECURSIVE
|
||||
|
||||
/* The "root" driver, defined so we can have &driver_##NAME in macros. */
|
||||
struct GameDriver driver_0 =
|
||||
{
|
||||
__FILE__,
|
||||
0,
|
||||
"",
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
NOT_A_DRIVER
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef DRIVER_RECURSIVE
|
||||
|
||||
#define DRIVER_RECURSIVE
|
||||
|
||||
/* step 1: declare all external references */
|
||||
#define DRIVER(NAME) extern struct GameDriver driver_##NAME;
|
||||
#define TESTDRIVER(NAME) extern struct GameDriver driver_##NAME;
|
||||
#include "driver_split.c"
|
||||
|
||||
/* step 2: define the drivers[] array */
|
||||
#undef DRIVER
|
||||
#undef TESTDRIVER
|
||||
#define DRIVER(NAME) &driver_##NAME,
|
||||
#define TESTDRIVER(NAME)
|
||||
const struct GameDriver *drivers[] =
|
||||
{
|
||||
#include "driver_split.c"
|
||||
0 /* end of array */
|
||||
};
|
||||
|
||||
const int total_drivers = sizeof(drivers)/sizeof(drivers[0]);
|
||||
|
||||
/* step 3: define the test_drivers[] array */
|
||||
#undef DRIVER
|
||||
#undef TESTDRIVER
|
||||
#define DRIVER(NAME)
|
||||
#define TESTDRIVER(NAME) &driver_##NAME,
|
||||
|
||||
const struct GameDriver *test_drivers[] =
|
||||
{
|
||||
#include "driver_split.c"
|
||||
0 /* end of array */
|
||||
};
|
||||
|
||||
#else /* DRIVER_RECURSIVE */
|
||||
|
||||
#if defined(drv_1942) || defined(core_none)
|
||||
/* 1942.c */
|
||||
DRIVER( 1942 ) /* 12/1984 (c) 1984 */
|
||||
DRIVER( 1942a ) /* 12/1984 (c) 1984 */
|
||||
DRIVER( 1942b ) /* 12/1984 (c) 1984 */
|
||||
#endif
|
||||
|
||||
#if defined(drv_1943) || defined(core_none)
|
||||
/* 1943.c */
|
||||
DRIVER( 1943 ) /* 6/1987 (c) 1987 (US) */
|
||||
DRIVER( 1943j ) /* 6/1987 (c) 1987 (Japan) */
|
||||
DRIVER( 1943mii ) /* 6/1987 (c) 1987 (US) */
|
||||
DRIVER( 1943kai ) /* 6/1988 (c) 1987 (Japan) */
|
||||
#endif
|
||||
|
||||
#if defined(drv_1945kii) || defined(core_none)
|
||||
/* 1945kiii.c */
|
||||
DRIVER( 1945kiii ) /* (c) 2000 Oriental */
|
||||
DRIVER( flagrall ) /* (c) 1996 Promat? */
|
||||
#endif
|
||||
|
||||
#if defined (drv_40love) || defined(core_none)
|
||||
/* 40love.c */
|
||||
DRIVER( fieldday ) /* A23 (c) 1984 Taito */
|
||||
DRIVER( undoukai ) /* A17 (c) 1984 Taito */
|
||||
DRIVER( 40love ) /* A30 (c) 1984 Taito */
|
||||
#endif
|
||||
|
||||
#if defined(drv_4enraya) || defined(core_none)
|
||||
/* 4enraya.c */
|
||||
DRIVER( 4enraya ) /* (c) 1990 IDSA */
|
||||
#endif
|
||||
|
||||
#if defined(drv_8080bw_drivers) || defined(core_none)
|
||||
/* 8080bw_drivers.c */
|
||||
/* Midway 8080 b/w games */
|
||||
DRIVER( seawolf ) /* 596 [1976] */
|
||||
DRIVER( gunfight ) /* 597 [1975] */
|
||||
/* 603 - Top Gun [1976] */
|
||||
DRIVER( tornbase ) /* 605 [1976] */
|
||||
DRIVER( 280zzzap ) /* 610 [1976] */
|
||||
DRIVER( maze ) /* 611 [1976] */
|
||||
DRIVER( boothill ) /* 612 [1977] */
|
||||
DRIVER( checkmat ) /* 615 [1977] */
|
||||
DRIVER( desertgu ) /* 618 [1977] */
|
||||
DRIVER( dplay ) /* 619 [1977] */
|
||||
DRIVER( lagunar ) /* 622 [1977] */
|
||||
DRIVER( gmissile ) /* 623 [1977] */
|
||||
DRIVER( m4 ) /* 626 [1977] */
|
||||
DRIVER( clowns ) /* 630 [1978] */
|
||||
DRIVER( clowns1 ) /* 630 [1978] */
|
||||
/* 640 - Space Walk [1978] */
|
||||
DRIVER( einnings ) /* 642 [1978] Midway */
|
||||
DRIVER( shuffle ) /* 643 [1978] */
|
||||
DRIVER( dogpatch ) /* 644 [1977] */
|
||||
DRIVER( spcenctr ) /* 645 (c) 1980 Midway */
|
||||
DRIVER( phantom2 ) /* 652 [1979] */
|
||||
DRIVER( bowler ) /* 730 [1978] Midway */
|
||||
DRIVER( invaders ) /* 739 [1979] */
|
||||
DRIVER( blueshrk ) /* 742 [1978] */
|
||||
DRIVER( invad2ct ) /* 851 (c) 1980 Midway */
|
||||
DRIVER( invaddlx ) /* 852 [1980] Midway */
|
||||
DRIVER( sitv )
|
||||
DRIVER( sicv )
|
||||
DRIVER( sisv )
|
||||
DRIVER( sisv2 )
|
||||
DRIVER( galxwars )
|
||||
DRIVER( galxwar2 )
|
||||
DRIVER( galxwart )
|
||||
DRIVER( starw )
|
||||
DRIVER( lrescue ) /* LR (c) 1979 Taito */
|
||||
DRIVER( grescue ) /* bootleg? */
|
||||
DRIVER( desterth ) /* bootleg */
|
||||
DRIVER( invadpt2 ) /* 852 [1980] Taito */
|
||||
DRIVER( cosmo ) /* TDS+Mints */
|
||||
DRIVER( schaser ) /* RT Taito */
|
||||
DRIVER( schasrcv ) /* RT Taito */
|
||||
DRIVER( sflush ) /* (c)1979 Taito */
|
||||
DRIVER( lupin3 ) /* LP (c) 1980 Taito */
|
||||
DRIVER( polaris ) /* PS (c) 1980 Taito */
|
||||
DRIVER( polarisa ) /* PS (c) 1980 Taito */
|
||||
DRIVER( ballbomb ) /* TN (c) 1980 Taito */
|
||||
DRIVER( indianbt ) /* Taito - 1980 */
|
||||
DRIVER( steelwkr ) /* (c) 1980 Taito */
|
||||
DRIVER( earthinv )
|
||||
DRIVER( spaceatt )
|
||||
DRIVER( spaceat2 )
|
||||
DRIVER( sinvzen )
|
||||
DRIVER( sinvemag )
|
||||
DRIVER( tst_invd )
|
||||
DRIVER( alieninv )
|
||||
DRIVER( spceking )
|
||||
DRIVER( spcewars )
|
||||
DRIVER( spacewr3 )
|
||||
DRIVER( invaderl )
|
||||
DRIVER( jspecter )
|
||||
DRIVER( jspectr2 )
|
||||
DRIVER( cosmicmo ) /* Universal */
|
||||
DRIVER( cosmicm2 ) /* Universal */
|
||||
DRIVER( superinv )
|
||||
DRIVER( sstrangr )
|
||||
DRIVER( sstrngr2 )
|
||||
DRIVER( moonbase ) /* Zeta - Nichibutsu */
|
||||
DRIVER( invrvnge )
|
||||
DRIVER( invrvnga )
|
||||
DRIVER( spclaser )
|
||||
DRIVER( laser )
|
||||
DRIVER( spcewarl )
|
||||
DRIVER( rollingc ) /* Nichibutsu */
|
||||
DRIVER( ozmawars ) /* Shin Nihon Kikaku (SNK) */
|
||||
DRIVER( ozmawar2 ) /* Shin Nihon Kikaku (SNK) */
|
||||
DRIVER( solfight ) /* bootleg */
|
||||
DRIVER( spaceph ) /* Zilec Games */
|
||||
DRIVER( yosakdon )
|
||||
DRIVER( yosakdoa )
|
||||
DRIVER( invasion )
|
||||
DRIVER( invasioa )
|
||||
DRIVER( invasiob )
|
||||
DRIVER( astropal )
|
||||
DRIVER( galactic )
|
||||
DRIVER( spacmiss )
|
||||
#endif
|
||||
|
||||
#if defined(drv_88games) || defined(core_none)
|
||||
/* 88games.c */
|
||||
DRIVER( 88games ) /* GX861 (c) 1988 */
|
||||
DRIVER( konami88 ) /* GX861 (c) 1988 */
|
||||
DRIVER( hypsptsp ) /* GX861 (c) 1988 (Japan) */
|
||||
#endif
|
||||
|
||||
#if defined(drv_aburner) || defined(core_none)
|
||||
/* aburner.c */
|
||||
DRIVER( aburner ) /* (c) 1987 */
|
||||
DRIVER( aburner2 ) /* (c) 1987 */
|
||||
DRIVER( loffire ) /* (protected) */
|
||||
DRIVER( thndrbld ) /* (protected) */
|
||||
DRIVER( thndrbdj ) /* (protected?) */
|
||||
#endif
|
||||
|
||||
#if defined(drv_ace) || defined(core_none)
|
||||
/* ace.c */
|
||||
DRIVER( ace ) /* [1976 Allied Leisure] */
|
||||
#endif
|
||||
|
||||
#if defined(drv_actfancr) || defined(core_none)
|
||||
/* actfancr.c */
|
||||
DRIVER( actfancr ) /* (c) 1989 Data East Corporation (World) */
|
||||
DRIVER( actfanc1 ) /* (c) 1989 Data East Corporation (World) */
|
||||
DRIVER( actfancj ) /* (c) 1989 Data East Corporation (Japan) */
|
||||
DRIVER( triothep ) /* (c) 1989 Data East Corporation (Japan) */
|
||||
#endif
|
||||
|
||||
#if defined(drv_aeroboto) || defined(core_none)
|
||||
/* aeroboto.c */
|
||||
DRIVER( formatz ) /* (c) 1984 Jaleco */
|
||||
DRIVER( aeroboto ) /* (c) 1984 Williams */
|
||||
#endif
|
||||
|
||||
#if defined(drv_aerofgt) || defined(core_none)
|
||||
/* aerofgt.c */
|
||||
DRIVER( spinlbrk ) /* (c) 1990 V-System Co. (World) */
|
||||
DRIVER( spinlbru ) /* (c) 1990 V-System Co. (US) */
|
||||
DRIVER( spinlbrj ) /* (c) 1990 V-System Co. (Japan) */
|
||||
DRIVER( pspikes ) /* (c) 1991 Video System Co. (World) */
|
||||
DRIVER( pspikesk ) /* (c) 1991 Video System Co. (Korea) */
|
||||
DRIVER( svolly91 ) /* (c) 1991 Video System Co. (Japan) */
|
||||
DRIVER( karatblz ) /* (c) 1991 Video System Co. */
|
||||
DRIVER( karatblu ) /* (c) 1991 Video System Co. (US) */
|
||||
DRIVER( turbofrc ) /* (c) 1991 Video System Co. */
|
||||
DRIVER( aerofgt ) /* (c) 1992 Video System Co. */
|
||||
DRIVER( aerofgtb ) /* (c) 1992 Video System Co. */
|
||||
DRIVER( aerofgtc ) /* (c) 1992 Video System Co. */
|
||||
DRIVER( sonicwi ) /* (c) 1992 Video System Co. (Japan) */
|
||||
#endif
|
||||
|
||||
#if defined(drv_afega) || defined(core_none)
|
||||
/* afega.c */
|
||||
DRIVER( stagger1 ) /* (c) 1998 */
|
||||
DRIVER( redhawk ) /* (c) 1997 */
|
||||
DRIVER( grdnstrm ) /* (c) 1998 */
|
||||
DRIVER( bubl2000 ) /* (c) 1998 Tuning */
|
||||
DRIVER( spec2k ) /* (c) 2000 Yonatech */
|
||||
DRIVER( firehawk ) /* (c) 2001 ESD */
|
||||
#endif
|
||||
|
||||
#if defined(drv_airbustr) || defined(core_none)
|
||||
/* airbustr.c */
|
||||
DRIVER( airbustr ) /* (c) 1990 Kaneko + Namco */
|
||||
DRIVER( airbustj ) /* (c) 1990 Kaneko + Namco (Japan) */
|
||||
#endif
|
||||
|
||||
#if defined(drv_ajax) || defined(core_none)
|
||||
/* ajax.c */
|
||||
DRIVER( ajax ) /* GX770 (c) 1987 */
|
||||
DRIVER( typhoon ) /* GX770 (c) 1987 */
|
||||
DRIVER( ajaxj ) /* GX770 (c) 1987 (Japan) */
|
||||
#endif
|
||||
|
||||
#if defined(drv_aliens) || defined(core_none)
|
||||
/* aliens.c */
|
||||
DRIVER( aliens ) /* GX875 (c) 1990 (World) */
|
||||
DRIVER( aliens2 ) /* GX875 (c) 1990 (World) */
|
||||
DRIVER( aliensu ) /* GX875 (c) 1990 (US) */
|
||||
DRIVER( aliensj ) /* GX875 (c) 1990 (Japan) */
|
||||
#endif
|
||||
|
||||
#if defined(drv_alpha68k) || defined(core_none)
|
||||
/* alpha68k.c */
|
||||
DRIVER( sstingry ) /* (c) 1986 Alpha Denshi Co. */
|
||||
DRIVER( kyros ) /* (c) 1987 World Games */
|
||||
DRIVER( kyrosj ) /* (c) 1986 Alpha Denshi Co. */
|
||||
DRIVER( paddlema ) /* Alpha-68K96I 'PM' (c) 1988 SNK */
|
||||
DRIVER( timesold ) /* Alpha-68K96II 'BT' (c) 1987 SNK / Romstar */
|
||||
DRIVER( timesol1 ) /* Alpha-68K96II 'BT' (c) 1987 */
|
||||
DRIVER( btlfield ) /* Alpha-68K96II 'BT' (c) 1987 */
|
||||
DRIVER( skysoldr ) /* Alpha-68K96II 'SS' (c) 1988 SNK (Romstar with dip switch) */
|
||||
DRIVER( goldmedl ) /* Alpha-68K96II 'GM' (c) 1988 SNK */
|
||||
DRIVER( goldmedb ) /* Alpha-68K96II bootleg */
|
||||
DRIVER( skyadvnt ) /* Alpha-68K96V 'SA' (c) 1989 Alpha Denshi Co. */
|
||||
DRIVER( skyadvnu ) /* Alpha-68K96V 'SA' (c) 1989 SNK of America licensed from Alpha */
|
||||
DRIVER( skyadvnj ) /* Alpha-68K96V 'SA' (c) 1989 Alpha Denshi Co. */
|
||||
DRIVER( gangwars ) /* Alpha-68K96V (c) 1989 Alpha Denshi Co. */
|
||||
DRIVER( gangwarb ) /* Alpha-68K96V bootleg */
|
||||
DRIVER( sbasebal ) /* Alpha-68K96V (c) 1989 SNK of America licensed from Alpha */
|
||||
DRIVER( tnexspce ) /* A8003 'NS' (c) 1989 */
|
||||
#endif
|
||||
|
||||
#if defined(drv_ambush) || defined(core_none)
|
||||
/* ambush.c */
|
||||
DRIVER( ambush ) /* (c) 1983 Nippon Amuse Co-Ltd */
|
||||
DRIVER( ambusht ) /* (c) 1983 Tecfri */
|
||||
#endif
|
||||
|
||||
#if defined(drv_amidar) || defined(core_none)
|
||||
/* amidar.c */
|
||||
DRIVER( amidar ) /* GX337 (c) 1981 Konami */
|
||||
DRIVER( amidaru ) /* GX337 (c) 1982 Konami + Stern license */
|
||||
DRIVER( amidaro ) /* GX337 (c) 1982 Konami + Olympia license */
|
||||
DRIVER( amigo ) /* bootleg */
|
||||
DRIVER( turtles ) /* (c) 1981 Stern */
|
||||
DRIVER( turpin ) /* (c) 1981 Sega */
|
||||
DRIVER( 600 ) /* GX353 (c) 1981 Konami */
|
||||
#endif
|
||||
|
||||
#if defined(drv_amspdwy) || defined(core_none)
|
||||
/* amspdwy.c */
|
||||
DRIVER( amspdwy ) /* no copyright notice, but (c) 1987 Enerdyne Technologies, Inc. */
|
||||
DRIVER( amspdwya ) /* no copyright notice, but (c) 1987 Enerdyne Technologies, Inc. */
|
||||
#endif
|
||||
|
||||
#if defined(drv_angelkds) || defined(core_none)
|
||||
/* angelkds.c */
|
||||
DRIVER( angelkds ) /* 833-6599 (c) 1988 Sega / Nasco? */
|
||||
DRIVER( spcpostn ) /* (c) 1986 Sega / Nasco" */
|
||||
#endif
|
||||
|
||||
#if defined(drv_appoooh) || defined(core_none)
|
||||
/* appoooh.c */
|
||||
DRIVER( appoooh ) /* (c) 1984 Sega */ /* made by Sanritsu */
|
||||
#endif
|
||||
|
||||
#if defined(drv_aquarium) || defined(core_none)
|
||||
/* aquarium.c */
|
||||
DRIVER( aquarium ) /* (c) 1996 Excellent System */
|
||||
#endif
|
||||
|
||||
#if defined(drv_arabian) || defined(core_none)
|
||||
/* arabian.c */
|
||||
DRIVER( arabian ) /* TVG13 (c) 1983 Sun Electronics */
|
||||
DRIVER( arabiana ) /* 136019 (c) 1983 Atari */
|
||||
#endif
|
||||
|
||||
#if defined(drv_arcadecl) || defined(core_none)
|
||||
/* arcadecl.c */
|
||||
DRIVER( arcadecl ) /* (proto) (c) 1992 */
|
||||
DRIVER( sparkz ) /* (proto) (c) 1992 */
|
||||
#endif
|
||||
|
||||
#if defined(drv_argus) || defined(core_none)
|
||||
/* argus.c */
|
||||
DRIVER( argus ) /* (c) 1986 Jaleco */
|
||||
DRIVER( valtric ) /* (c) 1986 Jaleco */
|
||||
DRIVER( butasan ) /* (c) 1987 Jaleco */
|
||||
#endif
|
||||
|
||||
#if defined(drv_arkanoid) || defined(core_none)
|
||||
/* arkanoid.c */
|
||||
DRIVER( arkanoid ) /* A75 (c) 1986 Taito Corporation Japan (World) */
|
||||
DRIVER( arknoidu ) /* A75 (c) 1986 Taito America Corporation + Romstar license (US) */
|
||||
DRIVER( arknoiuo ) /* A75 (c) 1986 Taito America Corporation + Romstar license (US) */
|
||||
DRIVER( arknoidj ) /* A75 (c) 1986 Taito Corporation (Japan) */
|
||||
DRIVER( arkbl2 ) /* bootleg */
|
||||
DRIVER( arkbl3 ) /* bootleg */
|
||||
DRIVER( paddle2 ) /* bootleg */
|
||||
DRIVER( arkatayt ) /* bootleg */
|
||||
DRIVER( arkblock ) /* bootleg */
|
||||
DRIVER( arkbloc2 ) /* bootleg */
|
||||
DRIVER( arkangc ) /* bootleg */
|
||||
DRIVER( arkatour ) /* ??? (c) 1987 Taito America Corporation + Romstar license (US) */
|
||||
#endif
|
||||
|
||||
#if defined(drv_armedf) || defined(core_none)
|
||||
/* armedf.c */
|
||||
DRIVER( legion ) /* (c) 1986 */
|
||||
DRIVER( legiono ) /* (c) 1986 */
|
||||
DRIVER( terraf ) /* (c) 1987 */
|
||||
DRIVER( terrafu ) /* (c) 1987 Nichibutsu USA */
|
||||
DRIVER( kodure ) /* (c) 1987 (Japan) */
|
||||
DRIVER( cclimbr2 ) /* (c) 1988 (Japan) */
|
||||
DRIVER( armedf ) /* (c) 1988 */
|
||||
#endif
|
||||
|
||||
#if defined(drv_artmagic) || defined(core_none)
|
||||
/* artmagic.c */
|
||||
DRIVER( ultennis ) /* (c) 1993 */
|
||||
DRIVER( cheesech ) /* (c) 1994 */
|
||||
DRIVER( stonebal ) /* (c) 1994 */
|
||||
DRIVER( stoneba2 ) /* (c) 1994 */
|
||||
#endif
|
||||
|
||||
#if defined(drv_ashnojoe) || defined(core_none)
|
||||
/* ashnojoe.c */
|
||||
DRIVER( scessjoe ) /* ??? (c) 1990 Wave / Taito */
|
||||
DRIVER( ashnojoe ) /* ??? (c) 1990 Wave / Taito */
|
||||
#endif
|
||||
|
||||
#if defined(drv_asterix) || defined(core_none)
|
||||
/* asterix.c */
|
||||
DRIVER( asterix ) /* GX068 (c) 1992 (World) */
|
||||
DRIVER( astrxeac ) /* GX068 (c) 1992 (World) */
|
||||
DRIVER( astrxeaa ) /* GX068 (c) 1992 (World) */
|
||||
#endif
|
||||
|
||||
#if defined(drv_asteroid) || defined(core_none)
|
||||
/* asteroid.c */
|
||||
DRIVER( asteroid ) /* 035127-035145 (c) 1979 */
|
||||
DRIVER( asteroi1 ) /* 035127-035145 no copyright notice */
|
||||
DRIVER( asteroib ) /* (bootleg) */
|
||||
DRIVER( asterock ) /* Sidam bootleg (c) 1979 */
|
||||
DRIVER( astdelux ) /* 0351xx (c) 1980 */
|
||||
DRIVER( astdelu1 ) /* 0351xx (c) 1980 */
|
||||
DRIVER( llander ) /* 0345xx no copyright notice */
|
||||
DRIVER( llander1 ) /* 0345xx no copyright notice */
|
||||
#endif
|
||||
|
||||
#if defined(drv_astinvad) || defined(core_none)
|
||||
/* astinvad.c */
|
||||
DRIVER( astinvad ) /* (c) 1980 Stern */
|
||||
DRIVER( kamikaze ) /* Leijac Corporation */
|
||||
DRIVER( spcking2 )
|
||||
DRIVER( spaceint ) /* [1980] Shoei */
|
||||
#endif
|
||||
|
||||
#if defined(drv_astrocde) || defined(core_none)
|
||||
/* astrocde.c */
|
||||
DRIVER( seawolf2 )
|
||||
DRIVER( spacezap ) /* (c) 1980 */
|
||||
DRIVER( ebases )
|
||||
DRIVER( wow ) /* (c) 1980 */
|
||||
DRIVER( gorf ) /* (c) 1981 */
|
||||
DRIVER( gorfpgm1 ) /* (c) 1981 */
|
||||
DRIVER( robby ) /* (c) 1981 Bally Midway */
|
||||
DRIVER( profpac ) /* (c) 1983 Bally Midway */
|
||||
#endif
|
||||
|
||||
#if defined(drv_astrof) || defined(core_none)
|
||||
/* astrof.c */
|
||||
DRIVER( astrof ) /* (c) [1980?] */
|
||||
DRIVER( astrof2 ) /* (c) [1980?] */
|
||||
DRIVER( astrof3 ) /* (c) [1980?] */
|
||||
DRIVER( tomahawk ) /* (c) [1980?] */
|
||||
DRIVER( tomahaw5 ) /* (c) [1980?] */
|
||||
#endif
|
||||
|
||||
#if defined(drv_asuka) || defined(core_none)
|
||||
/* asuka.c */
|
||||
DRIVER( bonzeadv ) /* B41 (c) 1988 Taito Corporation Japan (World) */
|
||||
DRIVER( bonzeadu ) /* B41 (c) 1988 Taito America Corporation (US) */
|
||||
DRIVER( jigkmgri ) /* B41 (c) 1988 Taito Corporation (Japan)*/
|
||||
DRIVER( asuka ) /* ??? (c) 1988 Taito Corporation (Japan) */
|
||||
DRIVER( mofflott ) /* C17 (c) 1989 Taito Corporation (Japan) */
|
||||
DRIVER( cadash ) /* C21 (c) 1989 Taito Corporation Japan */
|
||||
DRIVER( cadashj ) /* C21 (c) 1989 Taito Corporation */
|
||||
DRIVER( cadashu ) /* C21 (c) 1989 Taito America Corporation */
|
||||
DRIVER( cadashi ) /* C21 (c) 1989 Taito Corporation Japan */
|
||||
DRIVER( cadashf ) /* C21 (c) 1989 Taito Corporation Japan */
|
||||
DRIVER( galmedes ) /* (c) 1992 Visco (Japan) */
|
||||
DRIVER( earthjkr ) /* (c) 1993 Visco (Japan) */
|
||||
DRIVER( eto ) /* (c) 1994 Visco (Japan) */
|
||||
#endif
|
||||
|
||||
#if defined(drv_atarifb) || defined(core_none)
|
||||
/* atarifb.c */
|
||||
DRIVER( atarifb ) /* 033xxx 1978/10 [6502] */
|
||||
DRIVER( atarifb1 ) /* 033xxx 1978/10 [6502] */
|
||||
DRIVER( atarifb4 ) /* 034754 1979/04 [6502] */
|
||||
DRIVER( abaseb ) /* 034711-034738 1979/06 [6502] */
|
||||
DRIVER( abaseb2 ) /* 034711-034738 1979/06 [6502] */
|
||||
DRIVER( soccer ) /* 035222-035260 1980/04 [6502] */
|
||||
#endif
|
||||
|
||||
#if defined(drv_atarig1) || defined(core_none)
|
||||
/* atarig1.c */
|
||||
DRIVER( hydra ) /* 136079 (c) 1990 */
|
||||
DRIVER( hydrap ) /* (proto) (c) 1990 */
|
||||
DRIVER( hydrap2 ) /* (proto) (c) 1990 */
|
||||
DRIVER( pitfight ) /* 136081 (c) 1990 */
|
||||
DRIVER( pitfigh3 ) /* 136081 (c) 1990 */
|
||||
DRIVER( pitfighj ) /* Japan */
|
||||
DRIVER( pitfighb ) /* bootleg */
|
||||
#endif
|
||||
|
||||
#if defined(drv_atarig42) || defined(core_none)
|
||||
/* atarig42.c */
|
||||
DRIVER( roadriot ) /* 136089 (c) 1991 */
|
||||
DRIVER( guardian ) /* 136092 (c) 1992 */
|
||||
DRIVER( dangerex ) /* (proto) (c) 1992 */
|
||||
#endif
|
||||
|
||||
#if defined(drv_atarigt) || defined(core_none)
|
||||
/* atarigt.c */
|
||||
DRIVER( tmek ) /* 136100 (c) 1994 */
|
||||
DRIVER( tmekprot ) /* 136100 (c) 1994 */
|
||||
DRIVER( primrage ) /* 136102 (c) 1994 */
|
||||
DRIVER( primraga ) /* 136102 (c) 1994 */
|
||||
#endif
|
||||
|
||||
#if defined(drv_atarigx2) || defined(core_none)
|
||||
/* atarigx2.c */
|
||||
DRIVER( spclords ) /* 136095 (c) 1992 */
|
||||
DRIVER( spclorda ) /* 136095 (c) 1992 */
|
||||
DRIVER( motofren ) /* 136094 (c) 1992 */
|
||||
DRIVER( rrreveng ) /* ?? (c) 1993 */
|
||||
DRIVER( rrrevenp ) /* ?? (c) 1993 */
|
||||
#endif
|
||||
|
||||
#if defined(drv_atarisy1) || defined(core_none)
|
||||
/* atarisy1.c */
|
||||
DRIVER( marble ) /* 136033 (c) 1984 */
|
||||
DRIVER( marble2 ) /* 136033 (c) 1984 */
|
||||
DRIVER( marble3 ) /* 136033 (c) 1984 */
|
||||
DRIVER( marble4 ) /* 136033 (c) 1984 */
|
||||
DRIVER( indytemp ) /* 136036 (c) 1985 */
|
||||
DRIVER( indytem2 ) /* 136036 (c) 1985 */
|
||||
DRIVER( indytem3 ) /* 136036 (c) 1985 */
|
||||
DRIVER( indytem4 ) /* 136036 (c) 1985 */
|
||||
DRIVER( indytemd ) /* 136036 (c) 1985 */
|
||||
DRIVER( roadrunn ) /* 136040 (c) 1985 */
|
||||
DRIVER( roadrun2 ) /* 136040 (c) 1985 */
|
||||
DRIVER( roadrun1 ) /* 136040 (c) 1985 */
|
||||
DRIVER( roadblst ) /* 136048 (c) 1986, 1987 */
|
||||
DRIVER( roadblsg ) /* 136048 (c) 1986, 1987 */
|
||||
DRIVER( roadbls3 ) /* 136048 (c) 1986, 1987 */
|
||||
DRIVER( roadblg2 ) /* 136048 (c) 1986, 1987 */
|
||||
DRIVER( roadbls2 ) /* 136048 (c) 1986, 1987 */
|
||||
DRIVER( roadblg1 ) /* 136048 (c) 1986, 1987 */
|
||||
DRIVER( roadbls1 ) /* 136048 (c) 1986, 1987 */
|
||||
DRIVER( roadblsc ) /* 136048 (c) 1986, 1987 */
|
||||
DRIVER( roadblcg ) /* 136048 (c) 1986, 1987 */
|
||||
DRIVER( roadblc1 ) /* 136048 (c) 1986, 1987 */
|
||||
#endif
|
||||
|
||||
#if defined(drv_atarisy2) || defined(core_none)
|
||||
/* atarisy2.c */
|
||||
DRIVER( paperboy ) /* 136034 (c) 1984 */
|
||||
DRIVER( paperbr2 ) /* 136034 (c) 1984 */
|
||||
DRIVER( paperbr1 ) /* 136034 (c) 1984 */
|
||||
DRIVER( 720 ) /* 136047 (c) 1986 */
|
||||
DRIVER( 720r3 ) /* 136047 (c) 1986 */
|
||||
DRIVER( 720r2 ) /* 136047 (c) 1986 */
|
||||
DRIVER( 720r1 ) /* 136047 (c) 1986 */
|
||||
DRIVER( 720g ) /* 136047 (c) 1986 */
|
||||
DRIVER( 720gr1 ) /* 136047 (c) 1986 */
|
||||
DRIVER( ssprint ) /* 136042 (c) 1986 */
|
||||
DRIVER( ssprint3 ) /* 136042 (c) 1986 */
|
||||
DRIVER( ssprint1 ) /* 136042 (c) 1986 */
|
||||
DRIVER( ssprintg ) /* 136042 (c) 1986 */
|
||||
DRIVER( sspring1 ) /* 136042 (c) 1986 */
|
||||
DRIVER( ssprintf ) /* 136042 (c) 1986 */
|
||||
DRIVER( ssprints ) /* 136042 (c) 1986 */
|
||||
DRIVER( csprint ) /* 136045 (c) 1986 */
|
||||
DRIVER( csprint2 ) /* 136045 (c) 1986 */
|
||||
DRIVER( csprint1 ) /* 136045 (c) 1986 */
|
||||
DRIVER( csprintg ) /* 136045 (c) 1986 */
|
||||
DRIVER( cspring1 ) /* 136045 (c) 1986 */
|
||||
DRIVER( csprintf ) /* 136045 (c) 1986 */
|
||||
DRIVER( csprints ) /* 136045 (c) 1986 */
|
||||
DRIVER( csprins1 ) /* 136045 (c) 1986 */
|
||||
DRIVER( apb ) /* 136051 (c) 1987 */
|
||||
DRIVER( apb6 ) /* 136051 (c) 1987 */
|
||||
DRIVER( apb5 ) /* 136051 (c) 1987 */
|
||||
DRIVER( apb4 ) /* 136051 (c) 1987 */
|
||||
DRIVER( apb3 ) /* 136051 (c) 1987 */
|
||||
DRIVER( apb2 ) /* 136051 (c) 1987 */
|
||||
DRIVER( apb1 ) /* 136051 (c) 1987 */
|
||||
DRIVER( apbg ) /* 136051 (c) 1987 */
|
||||
DRIVER( apbf ) /* 136051 (c) 1987 */
|
||||
#endif
|
||||
|
||||
#if defined(drv_ataxx) || defined(core_none)
|
||||
/* ataxx.c */
|
||||
DRIVER( ataxx ) /* (c) 1990 Leland */
|
||||
DRIVER( ataxxa ) /* (c) 1990 Leland */
|
||||
DRIVER( ataxxj ) /* (c) 1990 Leland */
|
||||
DRIVER( wsf ) /* (c) 1990 Leland */
|
||||
DRIVER( indyheat ) /* (c) 1991 Leland */
|
||||
DRIVER( brutforc ) /* (c) 1991 Leland */
|
||||
DRIVER( asylum ) /* (c) 1991 Leland */
|
||||
#endif
|
||||
|
||||
#if defined(drv_atetris) || defined(core_none)
|
||||
/* atetris.c */
|
||||
DRIVER( atetris ) /* 136066 (c) 1988 */
|
||||
DRIVER( atetrisa ) /* 136066 (c) 1988 */
|
||||
DRIVER( atetrisb ) /* (bootleg) */
|
||||
DRIVER( atetcktl ) /* 136066 (c) 1989 */
|
||||
DRIVER( atetckt2 ) /* 136066 (c) 1989 */
|
||||
#endif
|
||||
|
||||
#if defined(drv_avalnche) || defined(core_none)
|
||||
/* avalnche.c */
|
||||
DRIVER( avalnche ) /* 030574 1978/04 [6502] */
|
||||
#endif
|
||||
|
||||
#if defined(drv_aztarac) || defined(core_none)
|
||||
/* aztarac.c */
|
||||
DRIVER( aztarac ) /* (c) 1983 Centuri (vector game) */
|
||||
#endif
|
||||
|
||||
#if defined(drv_backfire) || defined(core_none)
|
||||
/* backfire.c */
|
||||
DRIVER( backfire ) /* MBZ (c) 1995 Data East Corporation */
|
||||
#endif
|
||||
|
||||
#if defined(drv_badlands) || defined(core_none)
|
||||
/* badlands.c */
|
||||
DRIVER( badlands ) /* 136074 (c) 1989 */
|
||||
#endif
|
||||
|
||||
#if defined(drv_bagman) || defined(core_none)
|
||||
/* bagman.c */
|
||||
DRIVER( bagman ) /* (c) 1982 */
|
||||
DRIVER( bagnard ) /* (c) 1982 */
|
||||
DRIVER( bagmans ) /* (c) 1982 + Stern license */
|
||||
DRIVER( bagmans2 ) /* (c) 1982 + Stern license */
|
||||
DRIVER( sbagman ) /* (c) 1984 */
|
||||
DRIVER( sbagmans ) /* (c) 1984 + Stern license */
|
||||
DRIVER( pickin ) /* (c) 1983 */
|
||||
DRIVER( botanic ) /* (c) 1983 */
|
||||
DRIVER( botanicf ) /* (c) 1984 */
|
||||
#endif
|
||||
|
||||
#if defined(drv_balsente) || defined(core_none)
|
||||
/* balsente.c */
|
||||
DRIVER( sentetst )
|
||||
DRIVER( cshift ) /* (c) 1984 */
|
||||
DRIVER( gghost ) /* (c) 1984 */
|
||||
DRIVER( hattrick ) /* (c) 1984 */
|
||||
DRIVER( otwalls ) /* (c) 1984 */
|
||||
DRIVER( snakepit ) /* (c) 1984 */
|
||||
DRIVER( snakjack ) /* (c) 1984 */
|
||||
DRIVER( stocker ) /* (c) 1984 */
|
||||
DRIVER( triviag1 ) /* (c) 1984 */
|
||||
DRIVER( triviag2 ) /* (c) 1984 */
|
||||
DRIVER( triviasp ) /* (c) 1984 */
|
||||
DRIVER( triviayp ) /* (c) 1984 */
|
||||
DRIVER( triviabb ) /* (c) 1984 */
|
||||
DRIVER( gimeabrk ) /* (c) 1985 */
|
||||
DRIVER( minigolf ) /* (c) 1985 */
|
||||
DRIVER( minigol2 ) /* (c) 1985 */
|
||||
DRIVER( toggle ) /* (c) 1985 */
|
||||
DRIVER( nametune ) /* (c) 1986 */
|
||||
DRIVER( nstocker ) /* (c) 1986 */
|
||||
DRIVER( sfootbal ) /* (c) 1986 */
|
||||
DRIVER( spiker ) /* (c) 1986 */
|
||||
DRIVER( stompin ) /* (c) 1986 */
|
||||
DRIVER( rescraid ) /* (c) 1987 */
|
||||
DRIVER( rescrdsa ) /* (c) 1987 */
|
||||
DRIVER( grudge )
|
||||
DRIVER( shrike ) /* (c) 1987 */
|
||||
#endif
|
||||
|
||||
#if defined(drv_bankp) || defined(core_none)
|
||||
/* bankp.c */
|
||||
DRIVER( bankp ) /* (c) 1984 Sega */ /* made by Sanritsu */
|
||||
DRIVER( combh ) /* (c) 1987 Sega */ /* made by Sanritsu */
|
||||
#endif
|
||||
|
||||
#if defined(drv_baraduke) || defined(core_none)
|
||||
/* baraduke.c */
|
||||
DRIVER( baraduke ) /* (c) 1985 */
|
||||
DRIVER( baraduka ) /* (c) 1985 */
|
||||
DRIVER( metrocrs ) /* (c) 1985 */
|
||||
DRIVER( metrocra ) /* (c) 1985 */
|
||||
#endif
|
||||
|
||||
#if defined(drv_batman) || defined(core_none)
|
||||
/* batman.c */
|
||||
DRIVER( batman ) /* 136085 (c) 1991 */
|
||||
DRIVER( marblmd2 )
|
||||
#endif
|
||||
|
||||
#if defined(drv_battlane) || defined(core_none)
|
||||
/* battlane.c */
|
||||
DRIVER( battlane ) /* -0215, -0216 (Data East part number) (c) 1986 + Taito license */
|
||||
DRIVER( battlan2 ) /* -0215, -0216 (Data East part number) (c) 1986 + Taito license */
|
||||
DRIVER( battlan3 ) /* -0215, -0216 (Data East part number) (c) 1986 + Taito license */
|
||||
#endif
|
||||
|
||||
#if defined(drv_battlera) || defined(core_none)
|
||||
/* battlera.c */
|
||||
DRIVER( battlera ) /* (c) 1988 Data East Corporation (World) */
|
||||
DRIVER( bldwolf ) /* (c) 1988 Data East USA (US) */
|
||||
#endif
|
||||
|
||||
#if defined(drv_battlex) || defined(core_none)
|
||||
/* battlex.c */
|
||||
DRIVER( battlex ) /* (c) 1982 Omori Electric Co., Ltd. */
|
||||
DRIVER( dodgeman ) /* (c) 1983 Omori Electric Co., Ltd. */
|
||||
#endif
|
||||
|
||||
#if defined(drv_battlnts) || defined(core_none)
|
||||
/* battlnts.c */
|
||||
DRIVER( battlnts ) /* GX777 (c) 1987 */
|
||||
DRIVER( battlntj ) /* GX777 (c) 1987 (Japan) */
|
||||
DRIVER( thehustl ) /* GX765 (c) 1987 (Japan) */
|
||||
DRIVER( thehustj ) /* GX765 (c) 1987 (Japan) */
|
||||
DRIVER( rackemup ) /* GX765 (c) 1987 */
|
||||
#endif
|
||||
|
||||
#if defined(drv_bbusters) || defined(core_none)
|
||||
/* bbusters.c */
|
||||
DRIVER( bbusters ) /* A9003 'BB' (c) 1989 */
|
||||
DRIVER( mechatt ) /* A8002 'MA' (c) 1989 */
|
||||
#endif
|
||||
|
||||
#if defined(drv_beaminv) || defined(core_none)
|
||||
/* beaminv.c */
|
||||
DRIVER( beaminv ) /* Tekunon Kougyou */
|
||||
#endif
|
||||
|
||||
#if defined(drv_beathead) || defined(core_none)
|
||||
/* beathead.c */
|
||||
DRIVER( beathead ) /* (proto) (c) 1993 */
|
||||
#endif
|
||||
|
||||
#if defined(drv_beezer) || defined(core_none)
|
||||
/* beezer.c */
|
||||
DRIVER( beezer ) /* (c) 1982 */
|
||||
DRIVER( beezer1 ) /* (c) 1982 */
|
||||
#endif
|
||||
|
||||
#if defined(drv_berzerk) || defined(core_none)
|
||||
/* berzerk.c */
|
||||
DRIVER( berzerk ) /* (c) 1980 */
|
||||
DRIVER( berzerk1 ) /* (c) 1980 */
|
||||
DRIVER( frenzy ) /* (c) 1982 */
|
||||
#endif
|
||||
|
||||
#if defined(drv_bigevglf) || defined(core_none)
|
||||
/* bigevglf.c */
|
||||
DRIVER( bigevglf ) /* A67 (c) 1986 Taito America Corporation (US) */
|
||||
#endif
|
||||
|
||||
#if defined(drv_bigstrkb) || defined(core_none)
|
||||
/* bigstrkb.c */
|
||||
DRIVER( bigstrkb ) /* bootleg on different hardware */
|
||||
#endif
|
||||
|
||||
#if defined(drv_bionicc) || defined(core_none)
|
||||
/* bionicc.c */
|
||||
DRIVER( bionicc ) /* 3/1987 (c) 1987 (US) */
|
||||
DRIVER( bionicc2 ) /* 3/1987 (c) 1987 (US) */
|
||||
DRIVER( topsecrt ) /* 3/1987 (c) 1987 (Japan) */
|
||||
#endif
|
||||
|
||||
#if defined(drv_bishi) || defined(core_none)
|
||||
/* bishi.c */
|
||||
DRIVER( bishi ) /* GX575 (c) 1996 (Japan) */
|
||||
DRIVER( sbishi ) /* GX575 (c) 1998 (Japan) */
|
||||
DRIVER( sbishik ) /* GX575 (c) 1998 (Japan) */
|
||||
#endif
|
||||
|
||||
#if defined(drv_bking2) || defined(core_none)
|
||||
/* bking2.c */
|
||||
DRIVER( bking ) /* DM (c) 1982 Taito Corporation */
|
||||
DRIVER( bking2 ) /* AD6 (c) 1983 Taito Corporation */
|
||||
DRIVER( bking3 ) /* A24 (c) 1984 Taito Corporation */
|
||||
#endif
|
||||
|
||||
#if defined(drv_bladestl) || defined(core_none)
|
||||
/* bladestl.c */
|
||||
DRIVER( bladestl ) /* GX797 (c) 1987 */
|
||||
DRIVER( bladstle ) /* GX797 (c) 1987 */
|
||||
#endif
|
||||
|
||||
#if defined(drv_blktiger) || defined(core_none)
|
||||
/* blktiger.c */
|
||||
DRIVER( blktiger ) /* 8/1987 (c) 1987 (US) */
|
||||
DRIVER( bktigerb ) /* bootleg */
|
||||
DRIVER( blkdrgon ) /* 8/1987 (c) 1987 (Japan) */
|
||||
DRIVER( blkdrgonb ) /* bootleg, hacked to say Black Tiger */
|
||||
#endif
|
||||
|
||||
#if defined(drv_blmbycar) || defined(core_none)
|
||||
/* blmbycar.c */
|
||||
DRIVER( blmbycar ) /* (c) 1994 ABM & Gecas - uses same gfx chip as powerins? */
|
||||
DRIVER( blmbycau ) /* (c) 1994 ABM & Gecas - uses same gfx chip as powerins? */
|
||||
#endif
|
||||
|
||||
#if defined(drv_blockade) || defined(core_none)
|
||||
/* blockade.c */
|
||||
DRIVER( blockade ) /* 1-4 [1977 Gremlin] */
|
||||
DRIVER( comotion ) /* 5-7 [1977 Gremlin] */
|
||||
DRIVER( hustle ) /* 16-21 [1977 Gremlin] */
|
||||
DRIVER( blasto ) /* [1978 Gremlin] */
|
||||
DRIVER( mineswpr ) /* [1977 Amutech] */
|
||||
#endif
|
||||
|
||||
#if defined(drv_blockhl) || defined(core_none)
|
||||
/* blockhl.c */
|
||||
DRIVER( blockhl ) /* GX973 (c) 1989 */
|
||||
DRIVER( quarth ) /* GX973 (c) 1989 (Japan) */
|
||||
#endif
|
||||
|
||||
#if defined(drv_blockout) || defined(core_none)
|
||||
/* blockout.c */
|
||||
DRIVER( blockout ) /* TA-0029 (c) 1989 + California Dreams */
|
||||
DRIVER( blckout2 ) /* TA-0029 (c) 1989 + California Dreams */
|
||||
DRIVER( blckoutj ) /* TA-0029 (c) 1989 + California Dreams (Japan) */
|
||||
#endif
|
||||
|
||||
#if defined(drv_bloodbro) || defined(core_none)
|
||||
/* bloodbro.c */
|
||||
DRIVER( bloodbro ) /* (c) 1990 Tad */
|
||||
DRIVER( weststry ) /* bootleg */
|
||||
DRIVER( skysmash ) /* (c) 1990 Nihon System Inc. */
|
||||
#endif
|
||||
|
||||
#if defined(drv_blstroid) || defined(core_none)
|
||||
/* blstroid.c */
|
||||
DRIVER( blstroid ) /* 136057 (c) 1987 */
|
||||
DRIVER( blstroi3 ) /* 136057 (c) 1987 */
|
||||
DRIVER( blstroi2 ) /* 136057 (c) 1987 */
|
||||
DRIVER( blstroig ) /* 136057 (c) 1987 */
|
||||
DRIVER( blsthead ) /* (proto) (c) 1987 */
|
||||
#endif
|
||||
|
||||
#if defined(drv_blueprnt) || defined(core_none)
|
||||
/* blueprnt.c */
|
||||
DRIVER( blueprnt ) /* (c) 1982 Bally Midway (Zilec in ROM 3U, and the programmer names) */
|
||||
DRIVER( blueprnj ) /* (c) 1982 Jaleco (Zilec in ROM 3U, and the programmer names) */
|
||||
DRIVER( saturn ) /* (c) 1983 Jaleco (Zilec in ROM R6, and the programmer names) */
|
||||
#endif
|
||||
|
||||
#if defined(drv_bogeyman) || defined(core_none)
|
||||
/* bogeyman.c */
|
||||
DRIVER( bogeyman ) /* -0204-0 (Data East part number) (c) [1985?] */
|
||||
#endif
|
||||
|
||||
#if defined(drv_bombjack) || defined(core_none)
|
||||
/* bombjack.c */
|
||||
DRIVER( bombjack ) /* (c) 1984 Tehkan */
|
||||
DRIVER( bombjac2 ) /* (c) 1984 Tehkan */
|
||||
#endif
|
||||
|
||||
#if defined(drv_boogwing) || defined(core_none)
|
||||
/* boogwing.c */
|
||||
DRIVER( boogwing ) /* MBD (c) 1993 Data East Corporation (Euro) */
|
||||
DRIVER( boogwinga ) /* MBD (c) 1993 Data East Corporation (Asia) */
|
||||
DRIVER( ragtime ) /* MBD (c) 1993 Data East Corporation (Japan)*/
|
||||
DRIVER( ragtimea ) /* MBD (c) 1993 Data East Corporation (Japan)*/
|
||||
#endif
|
||||
|
||||
#if defined(drv_bottom9) || defined(core_none)
|
||||
/* bottom9.c */
|
||||
DRIVER( bottom9 ) /* GX891 (c) 1989 */
|
||||
DRIVER( bottom9n ) /* GX891 (c) 1989 */
|
||||
DRIVER( mstadium ) /* GX891 (c) 1989 (Japan) */
|
||||
#endif
|
||||
|
||||
#if defined(drv_boxer) || defined(core_none)
|
||||
/* boxer.c */
|
||||
DRIVER( boxer ) /* ?????? prototype 1978 [6502] */
|
||||
#endif
|
||||
|
||||
#if defined(drv_brkthru) || defined(core_none)
|
||||
/* brkthru.c */
|
||||
DRIVER( brkthru ) /* (c) 1986 Data East USA (US) */
|
||||
DRIVER( brkthruj ) /* (c) 1986 Data East Corporation (Japan) */
|
||||
DRIVER( darwin ) /* (c) 1986 Data East Corporation (Japan) */
|
||||
#endif
|
||||
|
||||
#if defined(drv_climber) || defined(core_none)
|
||||
/* cclimber.c */
|
||||
DRIVER( cclimber ) /* (c) 1980 Nichibutsu */
|
||||
DRIVER( cclimbrj ) /* (c) 1980 Nichibutsu */
|
||||
DRIVER( ccboot ) /* bootleg */
|
||||
DRIVER( ccboot2 ) /* bootleg */
|
||||
DRIVER( ckong ) /* (c) 1981 Falcon */
|
||||
DRIVER( ckonga ) /* (c) 1981 Falcon */
|
||||
DRIVER( ckongjeu ) /* bootleg */
|
||||
DRIVER( ckongo ) /* bootleg */
|
||||
DRIVER( ckongalc ) /* bootleg */
|
||||
DRIVER( monkeyd ) /* bootleg */
|
||||
DRIVER( rpatrolb ) /* bootleg */
|
||||
DRIVER( silvland ) /* Falcon */
|
||||
DRIVER( swimmer ) /* (c) 1982 Tehkan */
|
||||
DRIVER( swimmera ) /* (c) 1982 Tehkan */
|
||||
DRIVER( swimmerb ) /* (c) 1982 Tehkan */
|
||||
DRIVER( guzzler ) /* (c) 1983 Tehkan */
|
||||
DRIVER( cannonb ) /* (c) 1985 Soft */
|
||||
#endif
|
||||
|
||||
#if defined(drv_namcos2) || defined(core_none) /* reduction needed */
|
||||
/* namcos2.c */
|
||||
DRIVER( finallap ) /* 87.12 Final Lap */
|
||||
DRIVER( finalapd ) /* 87.12 Final Lap */
|
||||
DRIVER( finalapc ) /* 87.12 Final Lap */
|
||||
DRIVER( finlapjc ) /* 87.12 Final Lap */
|
||||
DRIVER( finlapjb ) /* 87.12 Final Lap */
|
||||
DRIVER( assault ) /* (c) 1988 */
|
||||
DRIVER( assaultj ) /* (c) 1988 (Japan) */
|
||||
DRIVER( assaultp ) /* (c) 1988 (Japan) */
|
||||
DRIVER( metlhawk ) /* (c) 1988 */
|
||||
DRIVER( ordyne ) /* (c) 1988 */
|
||||
DRIVER( mirninja ) /* (c) 1988 (Japan) */
|
||||
DRIVER( phelios ) /* (c) 1988 (Japan) */
|
||||
DRIVER( dirtfoxj ) /* (c) 1989 (Japan) */
|
||||
DRIVER( fourtrax ) /* 89.11 */
|
||||
DRIVER( valkyrie ) /* (c) 1989 (Japan) */
|
||||
DRIVER( finehour ) /* (c) 1989 (Japan) */
|
||||
DRIVER( burnforc ) /* (c) 1989 (Japan) */
|
||||
DRIVER( marvland ) /* (c) 1989 (US) */
|
||||
DRIVER( marvlanj ) /* (c) 1989 (Japan) */
|
||||
DRIVER( kyukaidk ) /* (c) 1990 (Japan) */
|
||||
DRIVER( kyukaido ) /* (c) 1990 (Japan) */
|
||||
DRIVER( dsaber ) /* (c) 1990 */
|
||||
DRIVER( dsaberj ) /* (c) 1990 (Japan) */
|
||||
DRIVER( finalap2 ) /* 90.8 Final Lap 2 */
|
||||
DRIVER( finalp2j ) /* 90.8 Final Lap 2 (Japan) */
|
||||
DRIVER( gollygho ) /* 91.7 Golly Ghost */
|
||||
DRIVER( rthun2 ) /* (c) 1990 */
|
||||
DRIVER( rthun2j ) /* (c) 1990 (Japan) */
|
||||
DRIVER( sgunner ) /* (c) 1990 */
|
||||
/* 91.9 Super World Stadium */
|
||||
DRIVER( sgunner2 ) /* (c) 1991 (US) */
|
||||
DRIVER( sgunnr2j ) /* (c) 1991 (Japan) */
|
||||
DRIVER( cosmogng ) /* (c) 1991 (US) */
|
||||
DRIVER( cosmognj ) /* (c) 1991 (Japan) */
|
||||
DRIVER( finalap3 ) /* 92.9 Final Lap 3 */
|
||||
DRIVER( finalp3a ) /* 92.9 Final Lap 3 */
|
||||
DRIVER( luckywld ) /* (c) 1992 */
|
||||
DRIVER( suzuka8h )
|
||||
DRIVER( suzuk8hj )
|
||||
/* 92.8 Bubble Trouble */
|
||||
DRIVER( sws92 ) /* (c) 1992 (Japan) */
|
||||
DRIVER( sws92g ) /* (c) 1992 (Japan) */
|
||||
DRIVER( suzuk8h2 )
|
||||
DRIVER( sws93 ) /* (c) 1993 (Japan) */
|
||||
#endif
|
||||
|
||||
#if defined(drv_system32) || defined(core_none)
|
||||
/* system32.c */
|
||||
DRIVER( holo ) /* (c) 1992 (US) */
|
||||
DRIVER( arescue ) /* (c) 1992 */
|
||||
DRIVER( radm )
|
||||
DRIVER( radr ) /* (c) 1991 */
|
||||
DRIVER( spidey ) /* (c) 1991 */
|
||||
DRIVER( spideyj ) /* (c) 1991 (Japan) */
|
||||
DRIVER( f1en )
|
||||
DRIVER( arabfgt ) /* (c) 1991 */
|
||||
DRIVER( ga2 ) /* (c) 1992 */
|
||||
DRIVER( ga2j ) /* (c) 1992 */
|
||||
DRIVER( brival ) /* (c) 1992 (Japan) */
|
||||
DRIVER( sonic ) /* (c) 1992 (Japan) */
|
||||
DRIVER( sonicp ) /* (c) 1992 (Japan) */
|
||||
DRIVER( alien3 ) /* (c) 1993 */
|
||||
DRIVER( jpark ) /* (c) 1994 */
|
||||
DRIVER( svf ) /* (c) 1994 */
|
||||
DRIVER( svs ) /* (c) 1994 */
|
||||
DRIVER( jleague ) /* (c) 1994 (Japan) */
|
||||
DRIVER( f1lap ) /* (c) 1993 (World) */
|
||||
DRIVER( f1lapj ) /* (c) 1993 (Japan) */
|
||||
DRIVER( darkedge )
|
||||
DRIVER( dbzvrvs )
|
||||
DRIVER( slipstrm ) /* Capcom */
|
||||
#endif
|
||||
|
||||
#if defined(drv_yamato) || defined(core_none)
|
||||
/* yamato.c */
|
||||
DRIVER( yamato ) /* (c) 1983 Sega */
|
||||
DRIVER( yamato2 ) /* (c) 1983 Sega */
|
||||
#endif
|
||||
|
||||
#endif /* DRIVER_RECURSIVE */
|
||||
+19
-17
@@ -79,15 +79,16 @@ static void k3_draw_sprites ( struct mame_bitmap *bitmap, const struct rectangle
|
||||
while( source<finish )
|
||||
{
|
||||
int xpos, ypos;
|
||||
int tileno;
|
||||
xpos = (source[0] & 0xff00) >> 8;
|
||||
int tileno, color;
|
||||
xpos = (source[0] & 0xff00) >> 8 | (source2[0] & 0x0001) << 8;
|
||||
ypos = (source[0] & 0x00ff) >> 0;
|
||||
tileno = (source2[0] & 0x7ffe) >> 1;
|
||||
xpos |= (source2[0] & 0x0001) << 8;
|
||||
drawgfx(bitmap,gfx, tileno,1,0,0,xpos,ypos,cliprect,TRANSPARENCY_PEN,0);
|
||||
drawgfx(bitmap,gfx, tileno,1,0,0,xpos,ypos-0x100,cliprect,TRANSPARENCY_PEN,0); // wrap
|
||||
drawgfx(bitmap,gfx, tileno,1,0,0,xpos-0x200,ypos,cliprect,TRANSPARENCY_PEN,0); // wrap
|
||||
drawgfx(bitmap,gfx, tileno,1,0,0,xpos-0x200,ypos-0x100,cliprect,TRANSPARENCY_PEN,0); // wrap
|
||||
color = BIT(source2[0], 15) ? 0 : 1;
|
||||
|
||||
drawgfx(bitmap,gfx, tileno,color,0,0,xpos,ypos,cliprect,TRANSPARENCY_PEN,0);
|
||||
drawgfx(bitmap,gfx, tileno,color,0,0,xpos,ypos-0x100,cliprect,TRANSPARENCY_PEN,0); /* wrap */
|
||||
drawgfx(bitmap,gfx, tileno,color,0,0,xpos-0x200,ypos,cliprect,TRANSPARENCY_PEN,0); /* wrap */
|
||||
drawgfx(bitmap,gfx, tileno,color,0,0,xpos-0x200,ypos-0x100,cliprect,TRANSPARENCY_PEN,0); /* wrap */
|
||||
|
||||
source++;source2++;
|
||||
}
|
||||
@@ -112,8 +113,8 @@ WRITE16_HANDLER( k3_scrolly_w )
|
||||
|
||||
WRITE16_HANDLER( k3_soundbanks_w )
|
||||
{
|
||||
OKIM6295_set_bank_base(0, (data & 4) ? 0x40000 : 0 );
|
||||
OKIM6295_set_bank_base(1, (data & 1) ? 0 : 0x40000);
|
||||
OKIM6295_set_bank_base(0, (data & 4) ? 0x40000 : 0);
|
||||
OKIM6295_set_bank_base(1, (data & 2) ? 0x40000 : 0);
|
||||
}
|
||||
|
||||
WRITE16_HANDLER( flagrall_soundbanks_w )
|
||||
@@ -131,7 +132,7 @@ WRITE16_HANDLER( flagrall_soundbanks_w )
|
||||
static MEMORY_READ16_START( k3_readmem )
|
||||
{ 0x000000, 0x0fffff, MRA16_ROM },
|
||||
{ 0x100000, 0x10ffff, MRA16_RAM },
|
||||
{ 0x200000, 0x200fff, MRA16_RAM },
|
||||
{ 0x200000, 0x2003ff, MRA16_RAM },
|
||||
{ 0x240000, 0x240fff, MRA16_RAM },
|
||||
{ 0x280000, 0x280fff, MRA16_RAM },
|
||||
{ 0x2c0000, 0x2c07ff, MRA16_RAM },
|
||||
@@ -146,10 +147,11 @@ MEMORY_END
|
||||
|
||||
static MEMORY_WRITE16_START( k3_writemem )
|
||||
{ 0x0009CE, 0x0009CF, MWA16_NOP }, /* bug in code? (clean up log) */
|
||||
{ 0x0009D0, 0x0009D1, MWA16_NOP },
|
||||
{ 0x0009D2, 0x0009D3, MWA16_NOP }, /* bug in code? (clean up log) */
|
||||
{ 0x000000, 0x0fffff, MWA16_ROM }, /* ROM */
|
||||
{ 0x100000, 0x10ffff, MWA16_RAM },/* Main Ram */
|
||||
{ 0x200000, 0x200fff, paletteram16_xBBBBBGGGGGRRRRR_word_w, &paletteram16 }, // palette
|
||||
{ 0x200000, 0x2003ff, paletteram16_xBBBBBGGGGGRRRRR_word_w, &paletteram16 }, /* palette */
|
||||
{ 0x240000, 0x240fff, MWA16_RAM, &k3_spriteram_1 },
|
||||
{ 0x280000, 0x280fff, MWA16_RAM, &k3_spriteram_2 },
|
||||
{ 0x2c0000, 0x2c07ff, k3_bgram_w, &k3_bgram },
|
||||
@@ -166,7 +168,7 @@ MEMORY_END
|
||||
static MEMORY_READ16_START( flagrall_readmem )
|
||||
{ 0x000000, 0x0fffff, MRA16_ROM },
|
||||
{ 0x100000, 0x10ffff, MRA16_RAM },
|
||||
{ 0x200000, 0x200fff, MRA16_RAM },
|
||||
{ 0x200000, 0x2003ff, MRA16_RAM },
|
||||
{ 0x240000, 0x240fff, MRA16_RAM },
|
||||
{ 0x280000, 0x280fff, MRA16_RAM },
|
||||
{ 0x2c0000, 0x2c07ff, MRA16_RAM },
|
||||
@@ -179,10 +181,11 @@ MEMORY_END
|
||||
|
||||
static MEMORY_WRITE16_START( flagrall_writemem )
|
||||
{ 0x0009CE, 0x0009CF, MWA16_NOP },/* bug in code? (clean up log) */
|
||||
{ 0x0009D0, 0x0009D1, MWA16_NOP },
|
||||
{ 0x0009D2, 0x0009D3, MWA16_NOP }, /* bug in code? (clean up log) */
|
||||
{ 0x000000, 0x0fffff, MWA16_ROM }, /* ROM */
|
||||
{ 0x100000, 0x10ffff, MWA16_RAM }, /* Main Ram */
|
||||
{ 0x200000, 0x200fff, paletteram16_xBBBBBGGGGGRRRRR_word_w, &paletteram16 }, /* palette */
|
||||
{ 0x200000, 0x2003ff, paletteram16_xBBBBBGGGGGRRRRR_word_w, &paletteram16 }, /* palette */
|
||||
{ 0x240000, 0x240fff, MWA16_RAM, &k3_spriteram_1 },
|
||||
{ 0x280000, 0x280fff, MWA16_RAM, &k3_spriteram_2 },
|
||||
{ 0x2c0000, 0x2c07ff, k3_bgram_w, &k3_bgram },
|
||||
@@ -379,12 +382,11 @@ static MACHINE_DRIVER_START( flagrall )
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
|
||||
MDRV_SCREEN_SIZE(64*8, 32*8)
|
||||
MDRV_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1)
|
||||
MDRV_PALETTE_LENGTH(0x800)
|
||||
MDRV_PALETTE_LENGTH(0x200)
|
||||
|
||||
MDRV_VIDEO_START(k3)
|
||||
MDRV_VIDEO_UPDATE(k3)
|
||||
|
||||
MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
|
||||
MDRV_SOUND_ADD(OKIM6295, flagrall_okim6295_interface)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
@@ -401,7 +403,7 @@ static MACHINE_DRIVER_START( k3 )
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
|
||||
MDRV_SCREEN_SIZE(64*8, 32*8)
|
||||
MDRV_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
|
||||
MDRV_PALETTE_LENGTH(0x800)
|
||||
MDRV_PALETTE_LENGTH(0x200)
|
||||
|
||||
MDRV_VIDEO_START(k3)
|
||||
MDRV_VIDEO_UPDATE(k3)
|
||||
@@ -437,7 +439,7 @@ ROM_START( flagrall )
|
||||
ROM_LOAD16_BYTE( "12_u35.bin", 0x00000, 0x40000, CRC(373b71a5) SHA1(be9ab93129e2ffd9bfe296c341dbdf47f1949ac7) )
|
||||
|
||||
ROM_REGION( 0x100000, REGION_SOUND1, 0 ) /* Samples */
|
||||
// 3x banks
|
||||
/* 3x banks */
|
||||
ROM_LOAD( "13_su4.bin", 0x00000, 0x80000, CRC(7b0630b3) SHA1(c615e6630ffd12c122762751c25c249393bf7abd) )
|
||||
ROM_LOAD( "14_su6.bin", 0x80000, 0x40000, CRC(593b038f) SHA1(b00dcf321fe541ee52c34b79e69c44f3d7a9cd7c) )
|
||||
|
||||
|
||||
+8
-258
@@ -359,258 +359,8 @@ static READ_HANDLER( pix2_r )
|
||||
}
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
fake MCU (undoukai and field day)
|
||||
****************************************************************************/
|
||||
|
||||
static int from_mcu;
|
||||
static int mcu_cmd;
|
||||
|
||||
static UINT8 mcu_in[2][16],mcu_out[2][16];
|
||||
|
||||
static const UINT8 mcu_data0[0x80] =
|
||||
{
|
||||
0x0a,0x08,0x0f,0x07,0x06,0x05,0x04,0x00,
|
||||
0x0a,0x0b,0x15,0x02,0x03,0x15,0x0a,0x08,
|
||||
0x0f,0x07,0x06,0x05,0x04,0x0c,0x01,0x0c,
|
||||
0x01,0x15,0x0b,0x0a,0x00,0x0d,0x0e,0x15,
|
||||
0x0a,0x08,0x0f,0x07,0x06,0x05,0x04,0x0b,
|
||||
0x09,0x0c,0x01,0x0c,0x01,0x15,0x0a,0x08,
|
||||
0x0f,0x07,0x06,0x05,0x04,0x0c,0x0c,0x01,
|
||||
0x0c,0x0c,0xff,0xe1,0x23,0xc5,0xc9,0x15,
|
||||
|
||||
0x3e,0x4a,0xcd,0x2b,0x00,0x4e,0x79,0xf6,
|
||||
0xa0,0xe6,0xa2,0xcb,0xcf,0xf5,0x0e,0x62,
|
||||
0xcd,0x35,0x00,0xcb,0xc9,0x79,0xe6,0x02,
|
||||
0x5f,0xe1,0x4b,0x69,0x3e,0x00,0x2e,0x38,
|
||||
0xb5,0x6f,0x06,0x23,0x11,0xfe,0xdf,0x1a,
|
||||
0x27,0x77,0xe6,0x01,0x5f,0x16,0x00,0xcb,
|
||||
0xfe,0x19,0x05,0x78,0x20,0xee,0xc1,0xe1,
|
||||
0x23,0xc5,0xc9,0xee,0x37,0x28,0xc0,0xc5
|
||||
};
|
||||
|
||||
static const UINT8 mcu_data1[0x80] =
|
||||
{
|
||||
0x00,0x78,0xef,0x66,0xdc,0x50,0xc2,0x33,
|
||||
0xa1,0x0c,0x74,0xd9,0x3a,0x96,0xef,0x42,
|
||||
0x90,0xd9,0x1c,0x58,0x8f,0xbe,0xe6,0x07,
|
||||
0x20,0x31,0x39,0x39,0x2f,0x1c,0x00,0xda,
|
||||
0xa9,0x6d,0x27,0xd6,0x79,0x11,0x9c,0x1b,
|
||||
0x8e,0xf3,0x4c,0x97,0xd5,0x05,0x27,0x3a,
|
||||
0x3f,0x35,0x1b,0xf3,0xbb,0x73,0x1c,0xb4,
|
||||
0x3c,0xb3,0x1a,0x6f,0xb4,0xe7,0x09,0x19,
|
||||
0x17,0x04,0xde,0xa6,0x5c,0xff,0x90,0x0e,
|
||||
0x78,0xd0,0x15,0x47,0x65,0x70,0x68,0x4c,
|
||||
0x1c,0xd9,0x82,0x18,0x99,0x07,0x60,0xa6,
|
||||
0xd8,0xf6,0x00,0x30,0x08,0x31,0x02,0xb7,
|
||||
0x81,0xfa,0x30,0x02,0x01,0x01,0x14,0x30,
|
||||
0x07,0xd6,0x7e,0x30,0x1d,0x15,0x25,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
|
||||
};
|
||||
|
||||
static const UINT8 mcu_data2[0x80] =
|
||||
{
|
||||
0x00,0x04,0x08,0x00,0x11,0x16,0x1a,0x1f,
|
||||
0x23,0x28,0x2c,0x30,0x35,0x39,0x3d,0x42,
|
||||
0x46,0x4a,0x4f,0x53,0x57,0x5b,0x5f,0x64,
|
||||
0x68,0x6c,0x70,0x74,0x78,0x7c,0x80,0x83,
|
||||
0x87,0x8b,0x8f,0x92,0x96,0x9a,0x90,0xa1,
|
||||
0xa4,0xa7,0xa8,0xae,0xb1,0xb5,0xb8,0xbb,
|
||||
0xbe,0xc1,0xc4,0xc6,0xc9,0xcc,0xcf,0xd1,
|
||||
0xd4,0xd6,0xd9,0xdb,0xdd,0xdf,0xe2,0xe4,
|
||||
0xe6,0xe8,0xe9,0xeb,0xed,0xee,0xf0,0xf2,
|
||||
0xf3,0xf4,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,
|
||||
0xfc,0xfc,0xfd,0xfe,0xfe,0xff,0xff,0xff,
|
||||
0xff,0xff,0x00,0x3d,0x26,0xbe,0xd6,0x6c,
|
||||
0x30,0xa6,0xb7,0x81,0x01,0x04,0x14,0xb6,
|
||||
0xa4,0x97,0x02,0xb7,0x81,0x1b,0x13,0x23,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
|
||||
};
|
||||
|
||||
|
||||
static WRITE_HANDLER( undoukai_mcu_w )
|
||||
{
|
||||
data8_t *RAM = memory_region(REGION_CPU1);
|
||||
UINT16 ram_adr = RAM[0xa1b5]*0x100 + RAM[0xa1b4];
|
||||
|
||||
int d;
|
||||
int i;
|
||||
|
||||
/* log_cb(RETRO_LOG_DEBUG, LOGPRE "mcu_w %02x\n",data);*/
|
||||
|
||||
|
||||
if (mcu_cmd != -1)
|
||||
{
|
||||
mcu_in[(mcu_cmd & 0x10)>>4][mcu_cmd & 0x0f] = data;
|
||||
mcu_cmd = -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (data)
|
||||
{
|
||||
case 0xc0:
|
||||
case 0xc1:
|
||||
case 0xc2:
|
||||
case 0xc3:
|
||||
case 0xc4:
|
||||
case 0xc5:
|
||||
case 0xc6:
|
||||
case 0xc7:
|
||||
mcu_cmd = (data & 0x0f) | 0x10;
|
||||
break;
|
||||
|
||||
case 0xb0:
|
||||
case 0xb1:
|
||||
case 0xb2:
|
||||
case 0xb3:
|
||||
mcu_cmd = data & 0x0f;
|
||||
break;
|
||||
|
||||
|
||||
case 0x30:
|
||||
case 0x31:
|
||||
case 0x32:
|
||||
case 0x33:
|
||||
case 0x34:
|
||||
case 0x35:
|
||||
case 0x36:
|
||||
case 0x37:
|
||||
case 0x38:
|
||||
case 0x39:
|
||||
from_mcu = mcu_out[0][data & 0x0f];
|
||||
break;
|
||||
|
||||
case 0x40:
|
||||
case 0x41:
|
||||
case 0x42:
|
||||
from_mcu = mcu_out[1][data & 0x0f];
|
||||
break;
|
||||
|
||||
|
||||
|
||||
case 0x01:
|
||||
mcu_out[0][0] = (mcu_in[0][0] ^ (mcu_in[0][0] >> 4)) & 0x0f;
|
||||
break;
|
||||
|
||||
case 0x02:
|
||||
if (mcu_in[0][3] != 0x00)
|
||||
{
|
||||
mcu_out[0][1] = 0x0c;
|
||||
mcu_out[0][2] = 0x00;
|
||||
}
|
||||
else
|
||||
{
|
||||
mcu_out[0][2] = 0xa2;
|
||||
switch (mcu_in[0][0] & 0x03)
|
||||
{
|
||||
case 0: mcu_out[0][1] = 0x55; break;
|
||||
case 1: mcu_out[0][1] = 0x3d; break;
|
||||
case 2: mcu_out[0][1] = 0x45; break;
|
||||
case 3: mcu_out[0][1] = 0x4d; break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x03:
|
||||
mcu_out[0][1] = (((mcu_in[0][0] * 8) & 0x38) -1) & 0xff ;
|
||||
|
||||
if (mcu_in[0][1] | mcu_in[0][2])
|
||||
d = 0x40;
|
||||
else
|
||||
d = 0x00;
|
||||
|
||||
for (i=0;i<8;i++)
|
||||
mcu_out[0][i+2] = mcu_data0[((mcu_out[0][1] + i) & 0x3f) + d];
|
||||
break;
|
||||
|
||||
case 0x04:
|
||||
mcu_out[0][0] = ((mcu_in[0][0] & 0x0f) << 4) + (mcu_in[0][1] & 0x0f);
|
||||
mcu_out[0][1] = ((mcu_in[0][2] & 0x0f) << 4) + (mcu_in[0][3] & 0x0f);
|
||||
break;
|
||||
|
||||
case 0x05:
|
||||
/* mcu_out[0][0] = 255*cos(PI*mcu_in[0][0]/180);*/
|
||||
/* mcu_out[0][1] = 255*sin(PI*mcu_in[0][0]/180);*/
|
||||
|
||||
d = mcu_in[0][0] & 0x7f;
|
||||
mcu_out[0][0] = mcu_data1[d];
|
||||
mcu_out[0][1] = mcu_data2[d];
|
||||
break;
|
||||
|
||||
case 0x06:
|
||||
if (mcu_in[0][0] != 0x00)
|
||||
mcu_out[0][0] = 0xfa;
|
||||
else
|
||||
switch (mcu_in[0][1])
|
||||
{
|
||||
case 0x00: mcu_out[0][0] = 0x02; break;
|
||||
case 0x01: mcu_out[0][0] = 0x01; break;
|
||||
case 0x02: mcu_out[0][0] = 0x01; break;
|
||||
case 0x03: mcu_out[0][0] = 0x04; break;
|
||||
case 0x04: mcu_out[0][0] = 0x01; break;
|
||||
case 0x05: mcu_out[0][0] = 0x14; break;
|
||||
case 0x06: mcu_out[0][0] = 0x14; break;
|
||||
case 0x07: mcu_out[0][0] = 0xb6; break;
|
||||
default:
|
||||
/* usrintf_showmessage("cmd06: %02x %02x",mcu_in[0][0],mcu_in[0][1]);*/
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "cmd06: %02x %02x\n",mcu_in[0][0],mcu_in[0][1]);
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x07:
|
||||
switch (mcu_in[0][0] & 7)
|
||||
{
|
||||
case 0: mcu_out[0][0] = 0x1d; break;
|
||||
case 1: mcu_out[0][0] = 0x1b; break;
|
||||
case 2: mcu_out[0][0] = 0x15; break;
|
||||
case 3: mcu_out[0][0] = 0x13; break;
|
||||
case 4: mcu_out[0][0] = 0x25; break;
|
||||
case 5: mcu_out[0][0] = 0x23; break;
|
||||
case 6: mcu_out[0][0] = 0xff; break;
|
||||
case 7: mcu_out[0][0] = 0xff; break;
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x0e:
|
||||
mcu_out[1][0] = RAM[ram_adr];
|
||||
mcu_out[1][1] = RAM[ram_adr+1];
|
||||
mcu_out[1][2] = RAM[ram_adr+2] & 0x0f;
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
from_mcu = 0x5d;
|
||||
|
||||
/* usrintf_showmessage("unknown cmd%02x: %02x %02x %02x %02x",data,mcu_in[0][0],mcu_in[0][1],mcu_in[0][2],mcu_in[0][3]);*/
|
||||
/* log_cb(RETRO_LOG_DEBUG, LOGPRE "unknown cmd%02x: %02x %02x %02x %02x\n",data,mcu_in[0][0],mcu_in[0][1],mcu_in[0][2],mcu_in[0][3]);*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static READ_HANDLER( undoukai_mcu_r )
|
||||
{
|
||||
|
||||
/* log_cb(RETRO_LOG_DEBUG, LOGPRE "mcu_r %02x\n",from_mcu);*/
|
||||
|
||||
return from_mcu;
|
||||
}
|
||||
|
||||
static READ_HANDLER( undoukai_mcu_status_r )
|
||||
{
|
||||
int res = 3;
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
/***************************************************************************/
|
||||
|
||||
static DRIVER_INIT( undoukai )
|
||||
{
|
||||
from_mcu = 0xff;
|
||||
mcu_cmd = -1;
|
||||
|
||||
fortyl_pix_color[0] = 0x000;
|
||||
fortyl_pix_color[1] = 0x1e3;
|
||||
fortyl_pix_color[2] = 0x16c;
|
||||
@@ -734,8 +484,8 @@ static MEMORY_READ_START( undoukai_readmem )
|
||||
{ 0xc000, 0xffff, fortyl_pixram_r },
|
||||
|
||||
|
||||
{ 0xa800, 0xa800, undoukai_mcu_r },
|
||||
{ 0xa801, 0xa801, undoukai_mcu_status_r },
|
||||
{ 0xa800, 0xa800, fortyl_mcu_r },
|
||||
{ 0xa801, 0xa801, fortyl_mcu_status_r },
|
||||
|
||||
/*{ 0xa802, 0xa802, pix1_r }, */ /* this one is here just for debugging*/
|
||||
{ 0xa803, 0xa803, pix2_r }, /* and this one _is_ used.*/
|
||||
@@ -757,7 +507,7 @@ static MEMORY_WRITE_START( undoukai_writemem )
|
||||
{ 0x8000, 0x9fff, MWA_ROM },
|
||||
{ 0xa000, 0xa7ff, MWA_RAM }, /* M5517P on main board */
|
||||
|
||||
{ 0xa800, 0xa800, undoukai_mcu_w },
|
||||
{ 0xa800, 0xa800, fortyl_mcu_w },
|
||||
{ 0xa801, 0xa801, pix1_w }, /*pixel layer related*/
|
||||
{ 0xa802, 0xa802, bank_select_w },
|
||||
{ 0xa803, 0xa803, pix2_w }, /*pixel layer related*/
|
||||
@@ -1229,11 +979,12 @@ static MACHINE_DRIVER_START( undoukai )
|
||||
MDRV_CPU_MEMORY(readmem_sound,writemem_sound)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,2) /* source/number of IRQs is unknown */
|
||||
|
||||
/* MDRV_CPU_ADD(M68705,18432000/6)*/
|
||||
/* MDRV_CPU_MEMORY(mcu_readmem,mcu_writemem)*/
|
||||
MDRV_CPU_ADD(M68705,18432000/6)
|
||||
MDRV_CPU_MEMORY(mcu_readmem,mcu_writemem)
|
||||
|
||||
MDRV_FRAMES_PER_SECOND(60)
|
||||
MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
|
||||
MDRV_INTERLEAVE(100) /* high interleave to ensure proper synchronization of CPUs */
|
||||
MDRV_MACHINE_INIT(ta7630) /* init machine */
|
||||
|
||||
/* video hardware */
|
||||
@@ -1314,7 +1065,7 @@ ROM_START( fieldday )
|
||||
ROM_LOAD( "a17_29.bin", 0xa000, 0x2000, CRC(3c540007) SHA1(549e7ff260214c538913ff548dcb088987845911) )
|
||||
|
||||
ROM_REGION( 0x0800, REGION_CPU3, 0 ) /* 2k for the microcontroller */
|
||||
ROM_LOAD( "a17_14.bin", 0x0000, 0x0800, NO_DUMP )
|
||||
ROM_LOAD( "a17_14.bin", 0x0000, 0x0800, CRC(a686894d) SHA1(0578747a1869db98ee1962822491103f3f082cba) )
|
||||
|
||||
ROM_REGION( 0x8000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "a17_36.bin", 0x0000, 0x2000, CRC(e3dd51f7) SHA1(95a97ea925c5bc7bdc00887e6d17d817b36befc4) )
|
||||
@@ -1322,7 +1073,6 @@ ROM_START( fieldday )
|
||||
ROM_LOAD( "a17_38.bin", 0x4000, 0x2000, CRC(ca9f74db) SHA1(a002f1dfa9497793bfb18292e7a71ae12d70fb88) )
|
||||
ROM_LOAD( "a17_39.bin", 0x6000, 0x2000, CRC(fb6c667c) SHA1(da56be8d997db199588ee22fae30cc6d87e80704) )
|
||||
|
||||
|
||||
ROM_REGION( 0x8000, REGION_GFX2, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "a23_09.bin", 0x0000, 0x2000, CRC(1e430be5) SHA1(9296e1a0d820bb218578d55b739b4fc5fdafb125) )
|
||||
ROM_LOAD( "a23_10.bin", 0x2000, 0x2000, CRC(ee2e54f0) SHA1(0a92fa39696a8005f9441131b6d98205b7c26e7b) )
|
||||
@@ -1352,7 +1102,7 @@ ROM_START( undoukai )
|
||||
ROM_LOAD( "a17-13.39s", 0xa000, 0x2000, CRC(0a40930e) SHA1(8c4b9fa0aed67a3e269c2136ef81791fc8acd1da) )
|
||||
|
||||
ROM_REGION( 0x0800, REGION_CPU3, 0 ) /* 2k for the microcontroller */
|
||||
ROM_LOAD( "a17-14.41c", 0x0000, 0x0800, NO_DUMP )
|
||||
ROM_LOAD( "a17_14.bin", 0x0000, 0x0800, CRC(a686894d) SHA1(0578747a1869db98ee1962822491103f3f082cba) )
|
||||
|
||||
ROM_REGION( 0x8000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "a17-04.18v", 0x0000, 0x4000, CRC(84dabee2) SHA1(698f12ee4201665988248853dafbf4b16dfc6517) )
|
||||
|
||||
@@ -927,6 +927,57 @@ INPUT_PORTS_START( spclaser )
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
INPUT_PORTS_END
|
||||
|
||||
/*******************************************************/
|
||||
/* */
|
||||
/* Space War (Leijac) */
|
||||
/* */
|
||||
/*******************************************************/
|
||||
|
||||
INPUT_PORTS_START( spcewarl )
|
||||
PORT_START
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
|
||||
PORT_START
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT | IPF_2WAY )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_2WAY )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
|
||||
PORT_START
|
||||
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_PLAYER2)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_PLAYER2)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_PLAYER2)
|
||||
PORT_DIPNAME( 0x80, 0x00, DEF_STR(Coinage) )
|
||||
PORT_DIPSETTING( 0x00, "1 Coin/1 or 2 Players" )
|
||||
PORT_DIPSETTING( 0x80, "1 Coin/1 Player 2 Coins/2 Players" )
|
||||
|
||||
PORT_START /* Dummy port for cocktail mode (not used) */
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
/*******************************************************/
|
||||
/* */
|
||||
@@ -1835,8 +1886,8 @@ PORT_END
|
||||
static PORT_WRITE_START( indianbt_writeport )
|
||||
{ 0x02, 0x02, c8080bw_shift_amount_w },
|
||||
{ 0x04, 0x04, c8080bw_shift_data_w },
|
||||
{ 0x06, 0x06, IOWP_NOP }, // For sound
|
||||
//{ 0x07, 0x07, indianbt_sh_port7_w }, // For music (not implemented)
|
||||
{ 0x06, 0x06, IOWP_NOP }, /* For sound */
|
||||
/*{ 0x07, 0x07, indianbt_sh_port7_w }, // For music (not implemented) */
|
||||
PORT_END
|
||||
|
||||
static MACHINE_DRIVER_START( indianbt )
|
||||
@@ -2517,7 +2568,7 @@ PORT_END
|
||||
|
||||
INPUT_PORTS_START( seawolf )
|
||||
PORT_START /* IN0 */
|
||||
PORT_ANALOG( 0x1f, 0x01, IPT_PADDLE, 20, 5, 0, 0x1f)
|
||||
PORT_ANALOG( 0x1f, 0x0f, IPT_PADDLE, 20, 5, 0, 0x1f)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 )
|
||||
PORT_DIPNAME( 0xc0, 0x00, "Time" )
|
||||
PORT_DIPSETTING( 0x00, "61" )
|
||||
@@ -3331,7 +3382,7 @@ static PORT_WRITE_START( astropal_writeport )
|
||||
PORT_END
|
||||
|
||||
INPUT_PORTS_START( astropal )
|
||||
PORT_START // IN0
|
||||
PORT_START /* IN0 */
|
||||
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x00, "2" )
|
||||
PORT_DIPSETTING( 0x01, "3" )
|
||||
@@ -3339,7 +3390,7 @@ INPUT_PORTS_START( astropal )
|
||||
PORT_DIPSETTING( 0x03, "5" )
|
||||
PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START // IN1
|
||||
PORT_START /* IN1 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
|
||||
@@ -3349,9 +3400,9 @@ INPUT_PORTS_START( astropal )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_2WAY )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START // IN2 - Never read
|
||||
PORT_START /* IN2 - Never read */
|
||||
|
||||
PORT_START // IN3
|
||||
PORT_START /* IN3 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
@@ -4260,7 +4311,7 @@ ROM_END
|
||||
|
||||
ROM_START( galactic )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "galactic_1.bin", 0x0000, 0x0800, CRC(b5098f1e) SHA1(9d1d045d8abeafd4716d3052fe93e52c6b347049) ) // sldh
|
||||
ROM_LOAD( "galactic_1.bin", 0x0000, 0x0800, CRC(b5098f1e) SHA1(9d1d045d8abeafd4716d3052fe93e52c6b347049) ) /* sldh */
|
||||
ROM_LOAD( "galactic_2.bin", 0x0800, 0x0800, CRC(f97410ee) SHA1(47f1f296c905fa13f6c521edc12c10f1f0e42400) )
|
||||
ROM_LOAD( "galactic_3.bin", 0x1000, 0x0800, CRC(c1175feb) SHA1(83bf955ed3a52e1ce8c688d89725d8dee1bcc866) )
|
||||
ROM_LOAD( "galactic_4.bin", 0x1800, 0x0800, CRC(b4451d7c) SHA1(62a18e8e927ef00a7f6cb933cdc5aeae9f074dc0) )
|
||||
@@ -4271,7 +4322,7 @@ ROM_END
|
||||
|
||||
ROM_START( spacmiss )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "spacmiss_1.bin", 0x0000, 0x0800, CRC(e212dc88) SHA1(bc56052bf43d18081f777b936b2be792e91ba842) ) // sldh
|
||||
ROM_LOAD( "spacmiss_1.bin", 0x0000, 0x0800, CRC(e212dc88) SHA1(bc56052bf43d18081f777b936b2be792e91ba842) ) /* sldh */
|
||||
ROM_LOAD( "galactic_2.bin", 0x0800, 0x0800, CRC(f97410ee) SHA1(47f1f296c905fa13f6c521edc12c10f1f0e42400) )
|
||||
ROM_LOAD( "galactic_3.bin", 0x1000, 0x0800, CRC(c1175feb) SHA1(83bf955ed3a52e1ce8c688d89725d8dee1bcc866) )
|
||||
ROM_LOAD( "galactic_4.bin", 0x1800, 0x0800, CRC(b4451d7c) SHA1(62a18e8e927ef00a7f6cb933cdc5aeae9f074dc0) )
|
||||
@@ -4280,7 +4331,7 @@ ROM_START( spacmiss )
|
||||
ROM_LOAD( "galactic_7.bin", 0x5000, 0x0800, CRC(02619e18) SHA1(4c59f17fbc96ca08090f08c41ca9fc72c074e9c0) )
|
||||
|
||||
ROM_REGION( 0x0800, REGION_USER1, 0 )
|
||||
ROM_LOAD( "spacmiss_8.bin", 0x0000, 0x0800, CRC(942e5261) SHA1(e8af51d644eab4e7b31c14dc66bb036ad8940c42) ) // ?
|
||||
ROM_LOAD( "spacmiss_8.bin", 0x0000, 0x0800, CRC(942e5261) SHA1(e8af51d644eab4e7b31c14dc66bb036ad8940c42) ) /* ? */
|
||||
ROM_END
|
||||
|
||||
|
||||
@@ -4366,7 +4417,7 @@ ROM_END
|
||||
GAME( 1980, spclaser, 0, invaders, spclaser, spclaser, ROT270, "GamePlan (Taito)", "Space Laser" )
|
||||
|
||||
GAME( 1980, laser, spclaser, invaders, spclaser, spclaser, ROT270, "<unknown>", "Laser" )
|
||||
GAME( 1979, spcewarl, spclaser, invaders, spclaser, spclaser, ROT270, "Leijac (Konami)","Space War (Leijac)" )
|
||||
GAME( 1979, spcewarl, spclaser, invaders, spcewarl, spclaser, ROT270, "Leijac (Konami)","Space War (Leijac)" )
|
||||
GAMEX(1979, rollingc, 0, rollingc, rollingc, rollingc, ROT270, "Nichibutsu", "Rolling Crash / Moon Base", GAME_IMPERFECT_SOUND )
|
||||
GAME( 1979, ozmawars, 0, ozmawars, ozmawars, ozmawars, ROT270, "SNK", "Ozma Wars (set 1)" )
|
||||
GAME( 1979, ozmawar2, ozmawars, ozmawars, ozmawars, ozmawars, ROT270, "SNK", "Ozma Wars (set 2)" ) /* Uses Taito's three board colour version of Space Invaders PCB */
|
||||
|
||||
@@ -107,13 +107,13 @@ static int speech_chip;
|
||||
static WRITE_HANDLER( speech_control_w )
|
||||
{
|
||||
speech_chip = ( data & 4 ) ? 1 : 0;
|
||||
UPD7759_reset_w( speech_chip, data & 2 );
|
||||
UPD7759_start_w( speech_chip, data & 1 );
|
||||
upd7759_reset_w( speech_chip, data & 2 );
|
||||
upd7759_start_w( speech_chip, data & 1 );
|
||||
}
|
||||
|
||||
static WRITE_HANDLER( speech_msg_w )
|
||||
{
|
||||
UPD7759_port_w( speech_chip, data );
|
||||
upd7759_port_w( speech_chip, data );
|
||||
}
|
||||
|
||||
static MEMORY_READ_START( readmem )
|
||||
@@ -281,13 +281,13 @@ static struct YM2151interface ym2151_interface =
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
static struct UPD7759_interface upd7759_interface =
|
||||
static struct upd7759_interface upd7759_interface =
|
||||
{
|
||||
2, /* number of chips */
|
||||
{ UPD7759_STANDARD_CLOCK, UPD7759_STANDARD_CLOCK },
|
||||
{ 30, 30 }, /* volume */
|
||||
{ REGION_SOUND1, REGION_SOUND2 }, /* memory region */
|
||||
UPD7759_STANDALONE_MODE, /* chip mode */
|
||||
{0}
|
||||
{0, 0}
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -827,7 +827,6 @@ static MACHINE_INIT( aburner ){
|
||||
}
|
||||
|
||||
static DRIVER_INIT( thndrbdj ){
|
||||
machine_init_sys16_onetime();
|
||||
sys16_bg1_trans = 1;
|
||||
sys16_interleave_sprite_data( 0x200000 );
|
||||
}
|
||||
@@ -841,7 +840,6 @@ static DRIVER_INIT( aburner ){
|
||||
sys16_patch_code(0xe770,0x00);
|
||||
sys16_patch_code(0xe771,0x00);
|
||||
|
||||
machine_init_sys16_onetime();
|
||||
sys16_bg1_trans = 1;
|
||||
sys16_interleave_sprite_data( 0x200000 );
|
||||
}
|
||||
@@ -855,7 +853,6 @@ static DRIVER_INIT( aburner2 ){
|
||||
sys16_patch_code(0x14840,0x00);
|
||||
sys16_patch_code(0x14841,0x00);
|
||||
|
||||
machine_init_sys16_onetime();
|
||||
sys16_bg1_trans = 1;
|
||||
sys16_interleave_sprite_data( 0x200000 );
|
||||
}
|
||||
@@ -896,6 +893,9 @@ static MACHINE_DRIVER_START( aburner )
|
||||
MDRV_GFXDECODE(sys16_gfxdecodeinfo)
|
||||
MDRV_PALETTE_LENGTH(8192*3)
|
||||
|
||||
/* initilize system16 variables prior to driver_init and video_start */
|
||||
machine_init_sys16_onetime();
|
||||
|
||||
MDRV_VIDEO_START(aburner)
|
||||
MDRV_VIDEO_UPDATE(aburner)
|
||||
|
||||
@@ -908,6 +908,3 @@ MACHINE_DRIVER_END
|
||||
/* rom parent machine inp init */
|
||||
GAME( 1987, aburner, aburner2, aburner, aburner, aburner, ROT0, "Sega", "After Burner (Japan)" )
|
||||
GAME( 1987, aburner2, 0, aburner, aburner2, aburner2, ROT0, "Sega", "After Burner II" )
|
||||
GAMEX(19??, loffire, 0, aburner, aburner, aburner, ROT0, "Sega", "Line of Fire", GAME_NOT_WORKING )
|
||||
GAMEX(19??, thndrbld, 0, aburner, thndrbld, aburner, ROT0, "Sega", "Thunder Blade", GAME_NOT_WORKING )
|
||||
GAMEX(19??, thndrbdj, thndrbld, aburner, thndrbld, thndrbdj, ROT0, "Sega", "Thunder Blade (Japan)", GAME_IMPERFECT_GRAPHICS )
|
||||
@@ -684,7 +684,7 @@ INPUT_PORTS_START( turbofrc )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )//START1 )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )/*START1 ) */
|
||||
|
||||
PORT_START
|
||||
PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) ) /* Coins 1, 2 & 3 */
|
||||
|
||||
+367
-4
@@ -19,6 +19,7 @@ Year + Game Notes
|
||||
98 Sen Jin - Guardian Storm Some text missing (protection, see service mode)
|
||||
98 Stagger I
|
||||
98 Bubble 2000 By Tuning, but it seems to be the same HW
|
||||
01 Fire Hawk By ESD with different sound hardware: 2 M6295
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
The Sen Jin protection supplies some 68k code seen in the 2760-29cf range
|
||||
@@ -42,8 +43,10 @@ WRITE16_HANDLER( afega_palette_w );
|
||||
PALETTE_INIT( grdnstrm );
|
||||
|
||||
VIDEO_START( afega );
|
||||
VIDEO_START( firehawk );
|
||||
VIDEO_UPDATE( afega );
|
||||
VIDEO_UPDATE( bubl2000 );
|
||||
VIDEO_UPDATE( firehawk );
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
@@ -63,9 +66,21 @@ READ16_HANDLER( afega_unknown_r )
|
||||
WRITE16_HANDLER( afega_soundlatch_w )
|
||||
{
|
||||
if (ACCESSING_LSB && Machine->sample_rate)
|
||||
{
|
||||
soundlatch_w(0,data&0xff);
|
||||
cpu_set_irq_line(1, 0, PULSE_LINE); /* Fire Hawk */
|
||||
}
|
||||
}
|
||||
|
||||
static WRITE_HANDLER( spec2k_oki1_banking_w )
|
||||
{
|
||||
if(data == 0xfe)
|
||||
OKIM6295_set_bank_base(1, 0);
|
||||
else if(data == 0xff)
|
||||
OKIM6295_set_bank_base(1, 0x40000);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Lines starting with an empty comment in the following MemoryReadAddress
|
||||
arrays are there for debug (e.g. the game does not read from those ranges
|
||||
@@ -147,6 +162,45 @@ static MEMORY_WRITE16_START( redhawk_writemem )
|
||||
{ 0xff8000, 0xff8fff, MWA16_BANK1 }, /* Sprites Mirror*/
|
||||
MEMORY_END
|
||||
|
||||
/* firehawk has main ram / sprites / sprite banking in a different location */
|
||||
|
||||
static MEMORY_READ16_START( firehawk_readmem )
|
||||
MEMORY_ADDRESS_BITS(20) /* required for the game to boot */
|
||||
{ 0x000000, 0x07ffff, MRA16_ROM }, /* ROM*/
|
||||
{ 0x080000, 0x080001, input_port_0_word_r }, /* Buttons*/
|
||||
{ 0x080002, 0x080003, input_port_1_word_r }, /* P1 + P2*/
|
||||
{ 0x080004, 0x080005, input_port_2_word_r }, /* 2 x DSW*/
|
||||
/**/{ 0x088000, 0x0885ff, MRA16_RAM }, /* Palette*/
|
||||
/**/{ 0x08c000, 0x08c003, MRA16_RAM }, /* Scroll*/
|
||||
/**/{ 0x08c004, 0x08c007, MRA16_RAM }, /**/
|
||||
/**/{ 0x090000, 0x091fff, MRA16_RAM }, /* Layer 0*/
|
||||
/**/{ 0x092000, 0x093fff, MRA16_RAM }, /* ?*/
|
||||
/**/{ 0x09c000, 0x09c7ff, MRA16_RAM }, /* Layer 1*/
|
||||
{ 0x0c0000, 0x0c7fff, MRA16_RAM }, /* RAM*/
|
||||
{ 0x0c8000, 0x0c8fff, MRA16_RAM }, /* Sprites*/
|
||||
{ 0x0c9000, 0x0cffff, MRA16_RAM }, /* RAM*/
|
||||
{ 0x0f8000, 0x0f8fff, MRA16_BANK1 }, /* Sprites Mirror*/
|
||||
MEMORY_END
|
||||
|
||||
static MEMORY_WRITE16_START( firehawk_writemem )
|
||||
MEMORY_ADDRESS_BITS(20)
|
||||
{ 0x000000, 0x07ffff, MWA16_ROM }, /* ROM*/
|
||||
{ 0x080000, 0x08001d, MWA16_RAM }, /**/
|
||||
{ 0x08001e, 0x08001f, afega_soundlatch_w }, /* To Sound CPU*/
|
||||
{ 0x080020, 0x087fff, MWA16_RAM }, /**/
|
||||
{ 0x088000, 0x0885ff, afega_palette_w, &paletteram16}, /* Palette*/
|
||||
{ 0x088600, 0x08bfff, MWA16_RAM }, /**/
|
||||
{ 0x08c000, 0x08c003, MWA16_RAM, &afega_scroll_0 }, /* Scroll*/
|
||||
{ 0x08c004, 0x08c007, MWA16_RAM, &afega_scroll_1 }, /**/
|
||||
{ 0x08c008, 0x08ffff, MWA16_RAM }, /**/
|
||||
{ 0x090000, 0x091fff, afega_vram_0_w, &afega_vram_0 }, /* Layer 0*/
|
||||
{ 0x092000, 0x093fff, MWA16_RAM }, /* ?*/
|
||||
{ 0x09c000, 0x09c7ff, afega_vram_1_w, &afega_vram_1 }, /* Layer 1*/
|
||||
{ 0x0c0000, 0x0c7fff, MWA16_RAM }, /* RAM*/
|
||||
{ 0x0c8000, 0x0c8fff, MWA16_RAM, &spriteram16, &spriteram_size }, /* Sprites*/
|
||||
{ 0x0c9000, 0x0cffff, MWA16_RAM }, /* RAM*/
|
||||
{ 0x0f8000, 0x0f8fff, MWA16_BANK1 }, /* Sprites Mirror*/
|
||||
MEMORY_END
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
@@ -172,6 +226,23 @@ static MEMORY_WRITE_START( afega_sound_writemem )
|
||||
{ 0xf80a, 0xf80a, OKIM6295_data_0_w }, /* M6295*/
|
||||
MEMORY_END
|
||||
|
||||
static MEMORY_READ_START( firehawk_sound_readmem )
|
||||
{ 0x0000, 0xefff, MRA_ROM },
|
||||
{ 0xf000, 0xf7ff, MRA_RAM },
|
||||
{ 0xfff0, 0xfff0, soundlatch_r },
|
||||
{ 0xfff8, 0xfff8, OKIM6295_status_1_r },
|
||||
{ 0xfffa, 0xfffa, OKIM6295_status_0_r },
|
||||
{ 0xf800, 0xffff, MRA_RAM }, /* not used, only tested */
|
||||
MEMORY_END
|
||||
|
||||
static MEMORY_WRITE_START( firehawk_sound_writemem )
|
||||
{ 0x0000, 0xefff, MWA_ROM },
|
||||
{ 0xf000, 0xf7ff, MWA_RAM },
|
||||
{ 0xfff2, 0xfff2, spec2k_oki1_banking_w },
|
||||
{ 0xfff8, 0xfff8, OKIM6295_data_1_w },
|
||||
{ 0xfffa, 0xfffa, OKIM6295_data_0_w },
|
||||
{ 0xf800, 0xffff, MWA_RAM }, /* not used, only tested */
|
||||
MEMORY_END
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
@@ -432,6 +503,163 @@ INPUT_PORTS_START( bubl2000 )
|
||||
/* PORT_DIPSETTING( 0x0000, "Disabled" )*/
|
||||
INPUT_PORTS_END
|
||||
|
||||
/***************************************************************************
|
||||
Fire Hawk
|
||||
***************************************************************************/
|
||||
|
||||
INPUT_PORTS_START( firehawk )
|
||||
PORT_START /* IN0 - $080000.w */
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START /* IN1 - $080002.w */
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER1 )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER1 )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER1 )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START /* IN2 - $080004.w */
|
||||
PORT_DIPNAME( 0x0001, 0x0001, "Show Dip-Switch Settings" )
|
||||
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x000e, 0x000e, DEF_STR( Difficulty ) )
|
||||
PORT_DIPSETTING( 0x0006, "Very Easy" )
|
||||
PORT_DIPSETTING( 0x0008, "Easy" )
|
||||
PORT_DIPSETTING( 0x000e, "Normal" )
|
||||
PORT_DIPSETTING( 0x0002, "Hard" )
|
||||
PORT_DIPSETTING( 0x0004, "Hardest" )
|
||||
PORT_DIPSETTING( 0x000c, "Very Hard" )
|
||||
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Demo_Sounds ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0010, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0020, 0x0020, "Number of Bombs" )
|
||||
PORT_DIPSETTING( 0x0020, "2" )
|
||||
PORT_DIPSETTING( 0x0000, "3" )
|
||||
PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x0000, "1" )
|
||||
PORT_DIPSETTING( 0x0080, "2" )
|
||||
PORT_DIPSETTING( 0x00c0, "3" )
|
||||
PORT_DIPSETTING( 0x0040, "4" )
|
||||
PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0200, 0x0200, "Region" )
|
||||
PORT_DIPSETTING( 0x0200, "English" )
|
||||
PORT_DIPSETTING( 0x0000, "China" )
|
||||
PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Free_Play ) )
|
||||
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x1800, 0x1800, "Continue Coins" )
|
||||
PORT_DIPSETTING( 0x1800, "1 Coin" )
|
||||
PORT_DIPSETTING( 0x0800, "2 Coins" )
|
||||
PORT_DIPSETTING( 0x1000, "3 Coins" )
|
||||
PORT_DIPSETTING( 0x0000, "4 Coins" )
|
||||
PORT_DIPNAME( 0xe000, 0xe000, DEF_STR( Coinage ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( 4C_1C ) )
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0xc000, DEF_STR( 3C_2C ) )
|
||||
PORT_DIPSETTING( 0xe000, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x2000, DEF_STR( 2C_3C ) )
|
||||
PORT_DIPSETTING( 0x6000, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0xa000, DEF_STR( 1C_3C ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
INPUT_PORTS_START( spec2k )
|
||||
PORT_START /* IN0 - $080000.w */
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START /* IN1 - $080002.w */
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER1 )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER1 )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER1 )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START /* IN2 - $080004.w */
|
||||
PORT_SERVICE( 0x01, IP_ACTIVE_LOW )
|
||||
PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Demo_Sounds ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0002, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Free_Play ) )
|
||||
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0008, 0x0008, "Number of Bombs" )
|
||||
PORT_DIPSETTING( 0x0008, "2" )
|
||||
PORT_DIPSETTING( 0x0000, "3" )
|
||||
PORT_DIPNAME( 0x0010, 0x0010, "Copyright Notice" )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0010, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x0000, "1" )
|
||||
PORT_DIPSETTING( 0x0080, "2" )
|
||||
PORT_DIPSETTING( 0x00c0, "3" )
|
||||
PORT_DIPSETTING( 0x0040, "5" )
|
||||
PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x1800, 0x1800, DEF_STR( Difficulty ) )
|
||||
PORT_DIPSETTING( 0x0800, "Easy" )
|
||||
PORT_DIPSETTING( 0x1800, "Normal" )
|
||||
PORT_DIPSETTING( 0x1000, "Hard" )
|
||||
PORT_DIPSETTING( 0x0000, "Hardest" )
|
||||
PORT_DIPNAME( 0xe000, 0xe000, DEF_STR( Coinage ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( 4C_1C ) )
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0xc000, DEF_STR( 3C_2C ) )
|
||||
PORT_DIPSETTING( 0xe000, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x2000, DEF_STR( 2C_3C ) )
|
||||
PORT_DIPSETTING( 0x6000, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0xa000, DEF_STR( 1C_3C ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
@@ -532,6 +760,16 @@ static struct OKIM6295interface afega_m6295_intf =
|
||||
{ 70 }
|
||||
};
|
||||
|
||||
static struct OKIM6295interface firehawk_m6295_interface =
|
||||
{
|
||||
2, /* 2 chips */
|
||||
{ 1000000/132, 1000000/132 }, /* frequency (Hz) */
|
||||
{ REGION_SOUND1, REGION_SOUND2 }, /* memory region */
|
||||
{ 100, 100 }
|
||||
};
|
||||
|
||||
|
||||
|
||||
INTERRUPT_GEN( interrupt_afega )
|
||||
{
|
||||
switch ( cpu_getiloops() )
|
||||
@@ -631,6 +869,38 @@ static MACHINE_DRIVER_START( bubl2000 )
|
||||
MDRV_VIDEO_UPDATE(bubl2000)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( firehawk )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000,12000000)
|
||||
MDRV_CPU_MEMORY(firehawk_readmem,firehawk_writemem)
|
||||
MDRV_CPU_VBLANK_INT(interrupt_afega,2)
|
||||
|
||||
MDRV_CPU_ADD(Z80,4000000)
|
||||
MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
|
||||
MDRV_CPU_MEMORY(firehawk_sound_readmem,firehawk_sound_writemem)
|
||||
|
||||
MDRV_FRAMES_PER_SECOND(56)
|
||||
MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
|
||||
|
||||
MDRV_MACHINE_INIT(afega)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
|
||||
MDRV_SCREEN_SIZE(256, 256)
|
||||
MDRV_VISIBLE_AREA(8, 256-8-1, 16, 256-16-1)
|
||||
MDRV_GFXDECODE(grdnstrm_gfxdecodeinfo)
|
||||
MDRV_PALETTE_LENGTH(768)
|
||||
MDRV_COLORTABLE_LENGTH(768 + 16*256)
|
||||
|
||||
MDRV_PALETTE_INIT(grdnstrm)
|
||||
MDRV_VIDEO_START(firehawk)
|
||||
MDRV_VIDEO_UPDATE(firehawk)
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_SOUND_ADD(OKIM6295, firehawk_m6295_interface)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
|
||||
@@ -877,6 +1147,97 @@ static DRIVER_INIT( bubl2000 )
|
||||
decryptcode( 23, 22, 21, 20, 19, 18, 13, 14, 15, 16, 17, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 );
|
||||
}
|
||||
|
||||
/*
|
||||
Fire Hawk - ESD
|
||||
---------------
|
||||
- To enter test mode, hold on button 1 at boot up
|
||||
PCB Layout
|
||||
----------
|
||||
ESD-PROT-002
|
||||
|------------------------------------------------|
|
||||
| FHAWK_S1.U40 FHAWK_S2.U36 |
|
||||
| 6116 6295 FHAWK_S3.U41 |
|
||||
| 6295 FHAWK_G1.UC6|
|
||||
| PAL Z80 FHAWK_G2.UC5|
|
||||
| 4MHz |--------| |
|
||||
| | ACTEL | |
|
||||
|J 6116 62256 |A54SX16A| |
|
||||
|A 6116 62256 | | |
|
||||
|M |(QFP208)| |
|
||||
|M |--------| |
|
||||
|A DSW1 FHAWK_G3.UC2 |
|
||||
| DSW2 |--------| |
|
||||
| DSW3 | ACTEL | |
|
||||
| 6116 |A54SX16A| |
|
||||
| 6116 | | |
|
||||
| 62256 |(QFP208)| |
|
||||
| FHAWK_P1.U59 |--------| |
|
||||
| FHAWK_P2.U60 PAL 62256 62256|
|
||||
| |
|
||||
|12MHz 62256 68000 62256 62256|
|
||||
|------------------------------------------------|
|
||||
Notes:
|
||||
68000 clock: 12.000MHz
|
||||
Z80 clock: 4.000MHz
|
||||
6295 clocks: 1.000MHz (both), sample rate = 1000000 / 132 (both)
|
||||
VSync: 56Hz
|
||||
*/
|
||||
|
||||
ROM_START( firehawk )
|
||||
ROM_REGION( 0x100000, REGION_CPU1, 0 ) /* 68000 Code */
|
||||
ROM_LOAD16_BYTE( "fhawk_p1.u59", 0x00001, 0x80000, CRC(d6d71a50) SHA1(e947720a0600d049b7ea9486442e1ba5582536c2) )
|
||||
ROM_LOAD16_BYTE( "fhawk_p2.u60", 0x00000, 0x80000, CRC(9f35d245) SHA1(5a22146f16bff7db924550970ed2a3048bc3edab) )
|
||||
|
||||
ROM_REGION( 0x20000, REGION_CPU2, 0 ) /* Z80 Code */
|
||||
ROM_LOAD( "fhawk_s1.u40", 0x00000, 0x20000, CRC(c6609c39) SHA1(fe9b5f6c3ab42c48cb493fecb1181901efabdb58) )
|
||||
|
||||
ROM_REGION( 0x200000, REGION_GFX1,ROMREGION_DISPOSE ) /* Sprites, 16x16x4 */
|
||||
ROM_LOAD( "fhawk_g3.uc2", 0x00000, 0x200000, CRC(cae72ff4) SHA1(7dca7164015228ea039deffd234778d0133971ab) )
|
||||
|
||||
ROM_REGION( 0x400000, REGION_GFX2, ROMREGION_DISPOSE ) /* Layer 0, 16x16x8 */
|
||||
ROM_LOAD( "fhawk_g1.uc6", 0x000000, 0x200000, CRC(2ab0b06b) SHA1(25362f6a517f188c62bac28b1a7b7b49622b1518) )
|
||||
ROM_LOAD( "fhawk_g2.uc5", 0x200000, 0x200000, CRC(d11bfa20) SHA1(15142004ab49f7f1e666098211dff0835c61df8d) )
|
||||
|
||||
ROM_REGION( 0x00100, REGION_GFX3, ROMREGION_DISPOSE | ROMREGION_ERASEFF ) /* Layer 1, 8x8x4 */
|
||||
/* Unused */
|
||||
|
||||
ROM_REGION( 0x040000, REGION_SOUND1, ROMREGION_SOUNDONLY ) /* Samples */
|
||||
ROM_LOAD( "fhawk_s2.u36", 0x00000, 0x40000, CRC(d16aaaad) SHA1(96ca173ca433164ed0ae51b41b42343bd3cfb5fe) )
|
||||
|
||||
ROM_REGION( 0x040000, REGION_SOUND2, ROMREGION_SOUNDONLY ) /* Samples */
|
||||
ROM_LOAD( "fhawk_s3.u41", 0x00000, 0x40000, CRC(3fdcfac2) SHA1(c331f2ea6fd682cfb00f73f9a5b995408eaab5cf) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( spec2k )
|
||||
ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 68000 Code */
|
||||
ROM_LOAD16_BYTE( "yonatech5.u124", 0x00000, 0x40000, CRC(72ab5c05) SHA1(182a811982b89b8cda0677547ef0625c274f5c6b) )
|
||||
ROM_LOAD16_BYTE( "yonatech6.u120", 0x00001, 0x40000, CRC(7e44bd9c) SHA1(da59685be14a09ec037743fcec34fb293f7d588d) )
|
||||
|
||||
ROM_REGION( 0x20000, REGION_CPU2, 0 ) /* Z80 Code */
|
||||
ROM_LOAD( "yonatech1.u103", 0x00000, 0x10000, CRC(ef5acda7) SHA1(e55b36a1598ecbbbad984997d61599dfa3958f60) )
|
||||
|
||||
ROM_REGION( 0x200000, REGION_GFX1, ROMREGION_DISPOSE ) /* Sprites, 16x16x4 */
|
||||
ROM_LOAD( "u154.bin", 0x00000, 0x200000, CRC(f77b764e) SHA1(37e249bd4d7174c5232261880ce8debf42723716) ) /* UC1 MX29F1610ML Flash ROM */
|
||||
|
||||
ROM_REGION( 0x400000, REGION_GFX2, ROMREGION_DISPOSE ) /* Layer 0, 16x16x8 */
|
||||
ROM_LOAD( "u153.bin", 0x000000, 0x200000, CRC(a00bbf8f) SHA1(622f52ef50d52cdd5e6b250d68439caae5c13404) ) /* UC2 MX29F1610ML Flash ROM */
|
||||
ROM_LOAD( "u152.bin", 0x200000, 0x200000, CRC(f6423fab) SHA1(253e0791eb58efa1df42e9c74d397e6e65c8c252) ) /* UC3 MX29F1610ML Flash ROM */
|
||||
|
||||
ROM_REGION( 0x20000, REGION_GFX3, ROMREGION_ERASEFF ) /* Layer 1, 8x8x4 */
|
||||
ROM_LOAD( "yonatech4.u3", 0x00000, 0x20000, CRC(5626b08e) SHA1(63207ed6b4fc8684690bf3fe1991a4f3babd73e8) )
|
||||
|
||||
ROM_REGION( 0x40000, REGION_SOUND1, ROMREGION_SOUNDONLY ) /* Samples */
|
||||
ROM_LOAD( "yonatech2.u101", 0x00000, 0x20000, CRC(4160f172) SHA1(0478a5a4bbba115e6cfb5501aa55aa2836c963bf) )
|
||||
|
||||
ROM_REGION( 0x080000, REGION_SOUND2, ROMREGION_SOUNDONLY ) /* Samples */
|
||||
ROM_LOAD( "yonatech3.u106", 0x00000, 0x80000, CRC(6644c404) SHA1(b7ad3f9f08971432d024ef8be3fa3140f0bbae67) )
|
||||
ROM_END
|
||||
|
||||
static DRIVER_INIT( spec2k )
|
||||
{
|
||||
decryptcode( 23, 22, 21, 20, 19, 18, 17, 13, 14, 15, 16, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 );
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
|
||||
@@ -885,7 +1246,9 @@ static DRIVER_INIT( bubl2000 )
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
GAME ( 1998, stagger1, 0, stagger1, stagger1, 0, ROT270, "Afega", "Stagger I (Japan)" )
|
||||
GAME ( 1997, redhawk, stagger1, redhawk, stagger1, redhawk, ROT270, "Afega", "Red Hawk (US)" )
|
||||
GAME ( 1998, grdnstrm, 0, grdnstrm, grdnstrm, grdnstrm, ROT270, "Afega", "Sen Jin - Guardian Storm (Korea)" )
|
||||
GAMEX( 1998, bubl2000, 0, bubl2000, bubl2000, bubl2000, ROT0, "Tuning", "Bubble 2000", GAME_IMPERFECT_GRAPHICS )
|
||||
GAME ( 1998, stagger1, 0, stagger1, stagger1, 0, ROT270, "Afega", "Stagger I (Japan)" )
|
||||
GAME ( 1997, redhawk, stagger1, redhawk, stagger1, redhawk, ROT270, "Afega", "Red Hawk (US)" )
|
||||
GAME ( 1998, grdnstrm, 0, grdnstrm, grdnstrm, grdnstrm, ROT270, "Afega", "Sen Jin - Guardian Storm (Korea)" )
|
||||
GAMEX( 1998, bubl2000, 0, bubl2000, bubl2000, bubl2000, ROT0, "Tuning", "Bubble 2000", GAME_IMPERFECT_GRAPHICS )
|
||||
GAME ( 2000, spec2k, 0, firehawk, spec2k, spec2k, ORIENTATION_FLIP_Y, "Yonatech", "Spectrum 2000 (Euro)" )
|
||||
GAME ( 2001, firehawk, 0, firehawk, firehawk, 0, ORIENTATION_FLIP_Y, "ESD", "Fire Hawk" )
|
||||
@@ -765,12 +765,11 @@ static struct GfxDecodeInfo gfxdecodeinfo[] =
|
||||
};
|
||||
|
||||
|
||||
|
||||
static struct YM2203interface ym2203_interface =
|
||||
{
|
||||
1,
|
||||
3000000, /* ?? */
|
||||
{ YM2203_VOL(0xff,0xff) }, /* gain,volume */
|
||||
{ YM2203_VOL(50,25) }, /* gain,volume - adjusted */
|
||||
{ input_port_3_r }, /* DSW-1 connected to port A */
|
||||
{ input_port_4_r }, /* DSW-2 connected to port B */
|
||||
{ 0 },
|
||||
@@ -783,10 +782,11 @@ static struct OKIM6295interface okim6295_interface =
|
||||
1,
|
||||
{ 12000000/4/165 }, /* 3MHz -> 6295 (mode A) */
|
||||
{ REGION_SOUND1 },
|
||||
{ 50 }
|
||||
{ 80 } /* adjusted */
|
||||
};
|
||||
|
||||
|
||||
|
||||
static MACHINE_DRIVER_START( airbustr )
|
||||
|
||||
/* basic machine hardware */
|
||||
|
||||
+21
-6
@@ -8,6 +8,7 @@ Preliminary driver by:
|
||||
***************************************************************************/
|
||||
|
||||
#include "driver.h"
|
||||
#include "state.h"
|
||||
#include "vidhrdw/generic.h"
|
||||
#include "cpu/konami/konami.h" /* for the callback and the firq irq definition */
|
||||
#include "vidhrdw/konamiic.h"
|
||||
@@ -434,26 +435,33 @@ ROM_END
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
static void aliens_banking( int lines )
|
||||
static int aliens_rombank = 0x10; /* CPU ROM bank lines, kept for save states */
|
||||
|
||||
static void aliens_rombank_set(void)
|
||||
{
|
||||
unsigned char *RAM = memory_region(REGION_CPU1);
|
||||
int lines = aliens_rombank;
|
||||
int offs = 0x18000;
|
||||
|
||||
|
||||
if (lines & 0x10) offs -= 0x8000;
|
||||
|
||||
offs += (lines & 0x0f)*0x2000;
|
||||
cpu_setbank( 1, &RAM[offs] );
|
||||
}
|
||||
|
||||
static void aliens_banking( int lines )
|
||||
{
|
||||
aliens_rombank = lines;
|
||||
aliens_rombank_set();
|
||||
}
|
||||
|
||||
static MACHINE_INIT( aliens )
|
||||
{
|
||||
unsigned char *RAM = memory_region(REGION_CPU1);
|
||||
|
||||
konami_cpu_setlines_callback = aliens_banking;
|
||||
|
||||
/* init the default bank */
|
||||
cpu_setbank( 1, &RAM[0x10000] );
|
||||
/* init the default bank (0x10000) */
|
||||
aliens_rombank = 0x10;
|
||||
aliens_rombank_set();
|
||||
}
|
||||
|
||||
|
||||
@@ -462,6 +470,13 @@ static DRIVER_INIT( aliens )
|
||||
{
|
||||
konami_rom_deinterleave_2(REGION_GFX1);
|
||||
konami_rom_deinterleave_2(REGION_GFX2);
|
||||
|
||||
/* Save the ROM bank and the work RAM / palette switch, and map the
|
||||
saved bank again after loading, so a loaded save state runs the
|
||||
right code */
|
||||
state_save_register_int("aliens", 0, "rombank", &aliens_rombank);
|
||||
state_save_register_int("aliens", 0, "palette_selected", &palette_selected);
|
||||
state_save_register_func_postload(aliens_rombank_set);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1132,10 +1132,12 @@ INPUT_PORTS_START( timesold )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START /* player 1 12-way rotary control - converted in controls_r() */
|
||||
PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE, 25, 8, 0, 0, KEYCODE_Z, KEYCODE_X, IP_JOY_NONE, IP_JOY_NONE )
|
||||
/* 0xf5 default represents in the middle of the port range for the character pointing straight up */
|
||||
PORT_ANALOGX( 0xff, 0xf5, IPT_DIAL | IPF_REVERSE, 25, 8, 0, 0, KEYCODE_Z, KEYCODE_X, IP_JOY_NONE, IP_JOY_NONE )
|
||||
|
||||
PORT_START /* player 2 12-way rotary control - converted in controls_r() */
|
||||
PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 8, 0, 0, KEYCODE_N, KEYCODE_M, IP_JOY_NONE, IP_JOY_NONE )
|
||||
/* 0xf5 default represents in the middle of the port range for the character pointing straight up */
|
||||
PORT_ANALOGX( 0xff, 0xf5, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 8, 0, 0, KEYCODE_N, KEYCODE_M, IP_JOY_NONE, IP_JOY_NONE )
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* Same as 'timesold' but different default settings for the "Language" Dip Switch */
|
||||
@@ -1186,10 +1188,12 @@ INPUT_PORTS_START( btlfield )
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_START /* player 1 12-way rotary control - converted in controls_r() */
|
||||
PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE, 25, 8, 0, 0, KEYCODE_Z, KEYCODE_X, IP_JOY_NONE, IP_JOY_NONE )
|
||||
/* 0xf5 default represents in the middle of the port range for the character pointing straight up */
|
||||
PORT_ANALOGX( 0xff, 0xf5, IPT_DIAL | IPF_REVERSE, 25, 8, 0, 0, KEYCODE_Z, KEYCODE_X, IP_JOY_NONE, IP_JOY_NONE )
|
||||
|
||||
PORT_START /* player 2 12-way rotary control - converted in controls_r() */
|
||||
PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 8, 0, 0, KEYCODE_N, KEYCODE_M, IP_JOY_NONE, IP_JOY_NONE )
|
||||
/* 0xf5 default represents in the middle of the port range for the character pointing straight up */
|
||||
PORT_ANALOGX( 0xff, 0xf5, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 8, 0, 0, KEYCODE_N, KEYCODE_M, IP_JOY_NONE, IP_JOY_NONE )
|
||||
INPUT_PORTS_END
|
||||
|
||||
INPUT_PORTS_START( skysoldr )
|
||||
|
||||
@@ -562,7 +562,7 @@ static struct YM2203interface ym2203_interface =
|
||||
{
|
||||
2, /* 2 chips */
|
||||
4000000, /* 4 MHz ? */
|
||||
{ YM2203_VOL(15,25), YM2203_VOL(15,25) },
|
||||
{ YM2203_VOL(45,65), YM2203_VOL(45,65) },
|
||||
{ 0 },
|
||||
{ 0 },
|
||||
{ 0 },
|
||||
|
||||
@@ -220,15 +220,15 @@ static WRITE16_HANDLER( terraf_io_w )
|
||||
terraf_text_videoram[i]=0x20;
|
||||
}
|
||||
tilemap_mark_all_tiles_dirty( armedf_tx_tilemap );
|
||||
//logerror("vreg WIPE TX\n");
|
||||
/*logerror("vreg WIPE TX\n"); */
|
||||
}
|
||||
//logerror("VReg = %04x\n", armedf_vreg);
|
||||
/*logerror("VReg = %04x\n", armedf_vreg); */
|
||||
}
|
||||
|
||||
static WRITE16_HANDLER( legion_command_c )
|
||||
{
|
||||
COMBINE_DATA(&legion_cmd[offset]);
|
||||
//logerror("Legion CMD %04x=%04x", offset, data);
|
||||
/*logerror("Legion CMD %04x=%04x", offset, data); */
|
||||
}
|
||||
|
||||
static WRITE16_HANDLER( sound_command_w )
|
||||
|
||||
@@ -112,7 +112,7 @@ static WRITE16_HANDLER( control2_w )
|
||||
|
||||
/* bit 5 is select tile bank */
|
||||
K054157_set_tile_bank((data & 0x20) >> 5);
|
||||
// TODO: looks like 0xffff is used from time to time for chip selection/reset something, not unlike Jackal
|
||||
/* TODO: looks like 0xffff is used from time to time for chip selection/reset something, not unlike Jackal */
|
||||
if((data & 0xff) != 0xff)
|
||||
{
|
||||
coin_counter_w(0, data & 0x08);
|
||||
|
||||
+43
-3
@@ -146,7 +146,6 @@
|
||||
#include "asteroid.h"
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Coin counters
|
||||
@@ -347,6 +346,24 @@ INPUT_PORTS_START( asteroid )
|
||||
PORT_DIPSETTING ( 0x80, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING ( 0x40, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING ( 0x00, DEF_STR( Free_Play ) )
|
||||
|
||||
PORT_START /* dummy IN3 */
|
||||
|
||||
PORT_START /* fake IN4 - inverter circuit */
|
||||
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
|
||||
|
||||
PORT_START /* IN5 - asteroid_cocktail_port0 */
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON3 | IPF_PLAYER2)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_PLAYER2)
|
||||
PORT_BIT( 0xe7, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START /* IN6 - asteroid_cocktail_port1 */
|
||||
PORT_BIT( 0x1f, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 | IPF_PLAYER2)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_PLAYER2)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_PLAYER2)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@@ -522,6 +539,22 @@ INPUT_PORTS_START( astdelux )
|
||||
PORT_DIPSETTING ( 0xa0, "1 each 4" )
|
||||
PORT_DIPSETTING ( 0xc0, "1 each 2" )
|
||||
PORT_DIPSETTING ( 0xe0, "None" )
|
||||
|
||||
PORT_START /* fake IN4 - inverter circuit */
|
||||
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
|
||||
|
||||
PORT_START /* IN5 - asteroid_cocktail_port0 */
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON3 | IPF_PLAYER2)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_PLAYER2)
|
||||
PORT_BIT( 0xe7, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START /* IN6 - asteroid_cocktail_port1 */
|
||||
PORT_BIT( 0x1f, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 | IPF_PLAYER2)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_PLAYER2)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_PLAYER2)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@@ -845,6 +878,12 @@ ROM_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static DRIVER_INIT( asteroid )
|
||||
{
|
||||
asteroid_install_inv = true;
|
||||
}
|
||||
|
||||
|
||||
static DRIVER_INIT( asteroib )
|
||||
{
|
||||
install_mem_read_handler(0, 0x2000, 0x2000, asteroib_IN0_r);
|
||||
@@ -866,6 +905,7 @@ static DRIVER_INIT( astdelux )
|
||||
OVERLAY_END
|
||||
|
||||
artwork_set_overlay(astdelux_overlay);
|
||||
asteroid_install_inv = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -876,8 +916,8 @@ static DRIVER_INIT( astdelux )
|
||||
*
|
||||
*************************************/
|
||||
|
||||
GAME( 1979, asteroid, 0, asteroid, asteroid, 0, ROT0, "Atari", "Asteroids (rev 2)" )
|
||||
GAME( 1979, asteroi1, asteroid, asteroid, asteroid, 0, ROT0, "Atari", "Asteroids (rev 1)" )
|
||||
GAME( 1979, asteroid, 0, asteroid, asteroid, asteroid, ROT0, "Atari", "Asteroids (rev 2)" )
|
||||
GAME( 1979, asteroi1, asteroid, asteroid, asteroid, asteroid, ROT0, "Atari", "Asteroids (rev 1)" )
|
||||
GAME( 1979, asteroib, asteroid, asteroid, asteroib, asteroib, ROT0, "bootleg", "Asteroids (bootleg on Lunar Lander hardware)" )
|
||||
GAME( 1979, asterock, asteroid, asterock, asterock, asterock, ROT0, "Sidam", "Asterock" )
|
||||
GAME( 1980, astdelux, 0, astdelux, astdelux, astdelux, ROT0, "Atari", "Asteroids Deluxe (rev 2)" )
|
||||
|
||||
@@ -284,14 +284,14 @@ PORT_END
|
||||
|
||||
INPUT_PORTS_START( seawolf2 )
|
||||
PORT_START /* IN0 */
|
||||
PORT_ANALOG( 0x3f, 0x20, IPT_PADDLE | IPF_REVERSE | IPF_PLAYER1, 20, 5, 0, 0x3f)
|
||||
PORT_ANALOG( 0x3f, 0x1f, IPT_PADDLE | IPF_REVERSE | IPF_PLAYER1, 20, 5, 0, 0x3f)
|
||||
PORT_DIPNAME( 0x40, 0x00, "Language 1" )
|
||||
PORT_DIPSETTING( 0x00, "Language 2" )
|
||||
PORT_DIPSETTING( 0x40, "French" )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_PLAYER1 )
|
||||
|
||||
PORT_START /* IN1 */
|
||||
PORT_ANALOG( 0x3f, 0x20, IPT_PADDLE | IPF_REVERSE | IPF_PLAYER2, 20, 5, 0, 0x3f)
|
||||
PORT_ANALOG( 0x3f, 0x1f, IPT_PADDLE | IPF_REVERSE | IPF_PLAYER2, 20, 5, 0, 0x3f)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_PLAYER2 )
|
||||
|
||||
|
||||
+1
-1
@@ -1458,7 +1458,7 @@ ROM_END
|
||||
|
||||
DRIVER_INIT(earthjkr)
|
||||
{
|
||||
data16_t *rom = memory_region(REGION_CPU1);
|
||||
data16_t *rom = (data16_t *)memory_region(REGION_CPU1);
|
||||
/* 357c -> 317c, I think this is bitrot, see ROM loading for which ROM needs redumping, causes rowscroll to be broken on final stage (writes to ROM area instead)
|
||||
code is correct in the 'prototype?' set */
|
||||
rom[0x7aaa/2] = 0x317c;
|
||||
|
||||
@@ -576,10 +576,10 @@ static struct GfxDecodeInfo soccer_gfxdecodeinfo[] =
|
||||
const struct discrete_555_astbl_desc atarifbWhistl555 =
|
||||
{
|
||||
DISC_555_OUT_CAP | DISC_555_OUT_AC,
|
||||
5, // B+ voltage of 555
|
||||
5.0 - 1.7, // High output voltage of 555 (Usually v555 - 1.7)
|
||||
5.0 * 2.0 /3.0, // normally 2/3 of v555
|
||||
5.0 / 3.0 // normally 1/3 of v555
|
||||
5, /* B+ voltage of 555 */
|
||||
5.0 - 1.7, /* High output voltage of 555 (Usually v555 - 1.7) */
|
||||
5.0 * 2.0 /3.0, /* normally 2/3 of v555 */
|
||||
5.0 / 3.0 /* normally 1/3 of v555 */
|
||||
};
|
||||
|
||||
const struct discrete_lfsr_desc atarifb_lfsr =
|
||||
@@ -631,7 +631,7 @@ static DISCRETE_SOUND_START(atarifb_sound_interface)
|
||||
/************************************************/
|
||||
/* Hit is a trigger fed directly to the amp */
|
||||
/************************************************/
|
||||
DISCRETE_FILTER2(ATARIFB_HIT_SND, 1, ATARIFB_HIT_EN, 10.0, 5, DISC_FILTER_HIGHPASS) // remove DC
|
||||
DISCRETE_FILTER2(ATARIFB_HIT_SND, 1, ATARIFB_HIT_EN, 10.0, 5, DISC_FILTER_HIGHPASS) /* remove DC */
|
||||
|
||||
/************************************************/
|
||||
/* Crowd effect is variable amplitude, filtered */
|
||||
@@ -693,7 +693,7 @@ static DISCRETE_SOUND_START(abaseb_sound_interface)
|
||||
/************************************************/
|
||||
/* Hit is a trigger fed directly to the amp */
|
||||
/************************************************/
|
||||
DISCRETE_FILTER2(ABASEB_HIT_SND, 1, ABASEB_HIT_EN, 10.0, 5, DISC_FILTER_HIGHPASS) // remove DC
|
||||
DISCRETE_FILTER2(ABASEB_HIT_SND, 1, ABASEB_HIT_EN, 10.0, 5, DISC_FILTER_HIGHPASS) /* remove DC */
|
||||
|
||||
/************************************************/
|
||||
/* Crowd effect is variable amplitude, filtered */
|
||||
|
||||
@@ -463,10 +463,10 @@ INPUT_PORTS_END
|
||||
INPUT_PORTS_START( dangerex )
|
||||
PORT_START /* e00000 */
|
||||
PORT_BIT( 0x003f, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED ) // Toggle 0 - D4
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) // Toggle 1 - D5
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED ) // Step SW - D6
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED ) // Freeze - D7
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED ) /* Toggle 0 - D4 */
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) /* Toggle 1 - D5 */
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED ) /* Step SW - D6 */
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED ) /* Freeze - D7 */
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
|
||||
@@ -478,10 +478,10 @@ INPUT_PORTS_START( dangerex )
|
||||
|
||||
PORT_START /* e00002 */
|
||||
PORT_BIT( 0x000f, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED ) // Test Yellow - D4
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) // Test Blue - D5
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED ) // Test Blue - D6
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED ) // Test Blue - D7
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED ) /* Test Yellow - D4 */
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) /* Test Blue - D5 */
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED ) /* Test Blue - D6 */
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED ) /* Test Blue - D7 */
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
|
||||
|
||||
+236
-6
@@ -6,6 +6,7 @@
|
||||
|
||||
Games supported:
|
||||
* Batman (1991)
|
||||
* Marble Madness II (prototype)
|
||||
|
||||
Known bugs:
|
||||
* none at this time
|
||||
@@ -55,6 +56,10 @@ static void update_interrupts(void)
|
||||
cpu_set_irq_line(0, 7, CLEAR_LINE);
|
||||
}
|
||||
|
||||
static void mm2_interupt_update(int freq)
|
||||
{
|
||||
update_interrupts();
|
||||
}
|
||||
|
||||
static MACHINE_INIT( batman )
|
||||
{
|
||||
@@ -66,6 +71,15 @@ static MACHINE_INIT( batman )
|
||||
}
|
||||
|
||||
|
||||
static MACHINE_INIT( marblmd2 )
|
||||
{
|
||||
atarigen_eeprom_reset();
|
||||
atarivc_reset(atarivc_eof_data, 2);
|
||||
atarigen_interrupt_reset(update_interrupts);
|
||||
atarigen_scanline_timer_reset(mm2_interupt_update, 60);
|
||||
atarijsa_reset();
|
||||
mm2_startup = 0;
|
||||
}
|
||||
|
||||
/*************************************
|
||||
*
|
||||
@@ -76,6 +90,7 @@ static MACHINE_INIT( batman )
|
||||
static READ16_HANDLER( special_port2_r )
|
||||
{
|
||||
int result = readinputport(2);
|
||||
|
||||
if (atarigen_sound_to_cpu_ready) result ^= 0x0010;
|
||||
if (atarigen_cpu_to_sound_ready) result ^= 0x0020;
|
||||
return result;
|
||||
@@ -103,6 +118,18 @@ static WRITE16_HANDLER( latch_w )
|
||||
}
|
||||
|
||||
|
||||
static WRITE16_HANDLER( mm2_latch_w )
|
||||
{
|
||||
int oldword = latch_data;
|
||||
COMBINE_DATA(&latch_data);
|
||||
|
||||
/* bit 4 is connected to the /RESET pin on the 6502 */
|
||||
if (latch_data & 0x0010)
|
||||
cpu_set_reset_line(1, CLEAR_LINE);
|
||||
else
|
||||
cpu_set_reset_line(1, ASSERT_LINE);
|
||||
|
||||
}
|
||||
|
||||
/*************************************
|
||||
*
|
||||
@@ -145,6 +172,43 @@ static MEMORY_WRITE16_START( main_writemem )
|
||||
MEMORY_END
|
||||
|
||||
|
||||
static MEMORY_READ16_START( mm2_readmem )
|
||||
{ 0x000000, 0x07ffff, MRA16_ROM },
|
||||
{ 0x600000, 0x600001, /*600000*/ input_port_0_word_r },
|
||||
{ 0x600002, 0x600003, /*600002*/ input_port_1_word_r },
|
||||
{ 0x600010, 0x600011, /*600010*/ special_port2_r },
|
||||
{ 0x600012, 0x600013, /*600012*/ input_port_3_word_r },
|
||||
{ 0x600020, 0x600021, /*600020*/ input_port_4_word_r},
|
||||
{ 0x600030, 0x600031, atarigen_sound_r },
|
||||
{ 0x601000, 0x601fff, atarigen_eeprom_r },
|
||||
{ 0x7c0000, 0x7c03ff, MRA16_RAM },
|
||||
{ 0x7cffc0, 0x7cffff, atarivc_r },
|
||||
{ 0x7d0000, 0x7d7fff, MRA16_RAM },
|
||||
{ 0x7d8000, 0x7d9fff, MRA16_RAM },
|
||||
{ 0x7da000, 0x7dbeff, MRA16_RAM },
|
||||
{ 0x7dbf00, 0x7dbf7f, MRA16_RAM },
|
||||
{ 0x7dbf80, 0x7dbfff, MRA16_RAM },
|
||||
{ 0x7f8000, 0x7fbfff, MRA16_RAM },
|
||||
MEMORY_END
|
||||
|
||||
|
||||
static MEMORY_WRITE16_START( mm2_writemem )
|
||||
{ 0x000000, 0x07ffff, MWA16_ROM },
|
||||
{ 0x600040, 0x600041, atarigen_sound_w },
|
||||
{ 0x600050, 0x600051, mm2_latch_w },
|
||||
{ 0x600060, 0x600061, atarigen_eeprom_enable_w },
|
||||
{ 0x601000, 0x601fff, atarigen_eeprom_w, &atarigen_eeprom, &atarigen_eeprom_size },
|
||||
{ 0x607000, 0x607000, MWA16_NOP },
|
||||
{ 0x7c0000, 0x7c03ff, atarigen_expanded_666_paletteram_w, &paletteram16 },
|
||||
{ 0x7cffc0, 0x7cffff, atarivc_w, &atarivc_data },
|
||||
{ 0x7d0000, 0x7d7fff, MWA16_RAM },
|
||||
{ 0x7d8000, 0x7d9fff, atarigen_playfield_latched_lsb_w, &atarigen_playfield },
|
||||
{ 0x7da000, 0x7dbeff, atarimo_0_spriteram_w, &atarimo_0_spriteram },
|
||||
{ 0x7dbf00, 0x7dbf7f, MWA16_RAM, &atarivc_eof_data },
|
||||
{ 0x7dbf80, 0x7dbfff, atarimo_0_slipram_w, &atarimo_0_slipram },
|
||||
{ 0x7f8000, 0x7fbfff, MWA16_RAM },
|
||||
MEMORY_END
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
@@ -152,6 +216,73 @@ MEMORY_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
INPUT_PORTS_START( marblmd2 )
|
||||
PORT_START /* 600000 input_port_0_word_r */
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER3 ) /* also acts as START3 */
|
||||
PORT_BIT( 0x00fe, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 ) /* also acts as START1 */
|
||||
PORT_BIT( 0xfe00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START /* 600002 input_port_1_word_r */
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* acts as a 'freeze' input, probably not connected */
|
||||
PORT_BIT( 0x00fe, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 ) /* also acts as START2 */
|
||||
PORT_BIT( 0xfe00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START /* 600010 input_port_2_word_r */
|
||||
PORT_BIT( 0x000f, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED ) /* Input buffer full (@260030) */
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) /* Output buffer full (@260040) */
|
||||
PORT_SERVICE( 0x0040, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_VBLANK )
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START /* 600012 input_port_3_word_r */
|
||||
PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0020, 0x0020, "Number of Players (Test Mode)" ) /* this one controls 'number of players' in Control Test */
|
||||
PORT_DIPSETTING( 0x0000, "2" )
|
||||
PORT_DIPSETTING( 0x0020, "3" )
|
||||
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0080, 0x0080, "Number of Players (Game)" )
|
||||
PORT_DIPSETTING( 0x0000, "2" )
|
||||
PORT_DIPSETTING( 0x0080, "3" )
|
||||
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START /* 600020 input_port_4_word_r */
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER1 )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER1 )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER1 )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER3 )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER3 )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER3 )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER3 )
|
||||
PORT_BIT( 0xf000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
JSA_III_PORT /* audio board port */
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
INPUT_PORTS_START( batman )
|
||||
PORT_START /* 26000 */
|
||||
PORT_BIT( 0x01ff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@@ -179,6 +310,7 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Graphics definitions
|
||||
@@ -218,6 +350,37 @@ static struct GfxDecodeInfo gfxdecodeinfo[] =
|
||||
};
|
||||
|
||||
|
||||
static struct GfxLayout pflayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,2),
|
||||
8,
|
||||
{ 0,1,2,3,4,5,6,7 },
|
||||
{ 0,RGN_FRAC(1,2) + 0, 8,RGN_FRAC(1,2) + 8, 16,RGN_FRAC(1,2) + 16,24,RGN_FRAC(1,2) + 24 },
|
||||
{ 0 * 32, 1 * 32, 2 * 32, 3 * 32, 4 * 32, 5 * 32, 6 * 32, 7 * 32 },
|
||||
8 * 32
|
||||
};
|
||||
|
||||
|
||||
static struct GfxLayout molayout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,2),
|
||||
4,
|
||||
{ 0, 1, 2, 3 },
|
||||
{ RGN_FRAC(1,2) + 0, RGN_FRAC(1,2) + 4, 0, 4, RGN_FRAC(1,2) + 8, RGN_FRAC(1,2) + 12, 8, 12 },
|
||||
{ 0 * 16, 1 * 16, 2 * 16, 3 * 16, 4 * 16, 5 * 16, 6 * 16, 7 * 16 },
|
||||
16 * 8
|
||||
};
|
||||
|
||||
|
||||
static struct GfxDecodeInfo gfxdecodeinfo2[] =
|
||||
{
|
||||
{ REGION_GFX1, 0, &pflayout, 0x0, 1 },
|
||||
{ REGION_GFX2, 0, &molayout, 0x0, 0x10 },
|
||||
{ -1 }
|
||||
};
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
@@ -230,13 +393,13 @@ static MACHINE_DRIVER_START( batman )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, ATARI_CLOCK_14MHz)
|
||||
MDRV_CPU_MEMORY(main_readmem,main_writemem)
|
||||
|
||||
|
||||
MDRV_FRAMES_PER_SECOND(60)
|
||||
MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
|
||||
|
||||
|
||||
MDRV_MACHINE_INIT(batman)
|
||||
MDRV_NVRAM_HANDLER(atarigen)
|
||||
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_NEEDS_6BITS_PER_GUN | VIDEO_UPDATE_BEFORE_VBLANK)
|
||||
MDRV_SCREEN_SIZE(42*8, 30*8)
|
||||
@@ -244,15 +407,41 @@ static MACHINE_DRIVER_START( batman )
|
||||
MDRV_GFXDECODE(gfxdecodeinfo)
|
||||
MDRV_PALETTE_LENGTH(2048)
|
||||
MDRV_COLORTABLE_LENGTH(2048) /* can't make colortable_len = 0 because of 0xffff transparency kludge */
|
||||
|
||||
|
||||
MDRV_VIDEO_START(batman)
|
||||
MDRV_VIDEO_UPDATE(batman)
|
||||
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_IMPORT_FROM(jsa_iii_mono)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
static MACHINE_DRIVER_START( marblmd2 )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, ATARI_CLOCK_14MHz)
|
||||
MDRV_CPU_MEMORY(mm2_readmem,mm2_writemem)
|
||||
|
||||
MDRV_FRAMES_PER_SECOND(60)
|
||||
MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
|
||||
|
||||
MDRV_MACHINE_INIT(marblmd2)
|
||||
MDRV_NVRAM_HANDLER(atarigen)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_NEEDS_6BITS_PER_GUN | VIDEO_UPDATE_BEFORE_VBLANK)
|
||||
MDRV_SCREEN_SIZE(42*8, 30*8)
|
||||
MDRV_VISIBLE_AREA(0*8, 42*8-1, 0*8, 30*8-1)
|
||||
MDRV_GFXDECODE(gfxdecodeinfo2)
|
||||
MDRV_PALETTE_LENGTH(256)
|
||||
MDRV_COLORTABLE_LENGTH(256) /* can't make colortable_len = 0 because of 0xffff transparency kludge */
|
||||
|
||||
MDRV_VIDEO_START(mm2)
|
||||
MDRV_VIDEO_UPDATE(mm2)
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_IMPORT_FROM(jsa_iii_mono )
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
/*************************************
|
||||
*
|
||||
@@ -304,6 +493,38 @@ ROM_START( batman )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( marblmd2 )
|
||||
ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 6*128k for 68000 code */
|
||||
ROM_LOAD16_BYTE( "rom0l.18c", 0x00001, 0x20000, CRC(a4db40d9) SHA1(ae8313c9bb513143472347a7705bec33783bad7e) )
|
||||
ROM_LOAD16_BYTE( "rom0h.20c", 0x00000, 0x20000, CRC(d1a17d67) SHA1(7ac434858fa94e4bb4bb7d0603f699667494aa0d) )
|
||||
ROM_LOAD16_BYTE( "rom1l.18e", 0x40001, 0x20000, CRC(b6fb08b5) SHA1(0ce9c1a5d70133ffc879cfe548646c04de371e13) )
|
||||
ROM_LOAD16_BYTE( "rom1h.20e", 0x40000, 0x20000, CRC(b2a361a8) SHA1(b7c58404642a494532597cceb946463e3a6f56b3) )
|
||||
|
||||
ROM_REGION( 0x14000, REGION_CPU2, 0 ) /* 64k + 16k for 6502 code */
|
||||
ROM_LOAD( "aud0.12c", 0x10000, 0x4000, CRC(89a8d90a) SHA1(cd73483d0bcfe2c8134d005c4417975f9a2cb658) )
|
||||
ROM_CONTINUE( 0x04000, 0xc000 )
|
||||
|
||||
ROM_REGION( 0x100000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "pf0l.3p", 0x00000, 0x20000, CRC(a4fe377a) SHA1(a8a1a8027da778e5ad406a65814eec999b0f81af) )
|
||||
ROM_LOAD( "pf1l.3m", 0x20000, 0x20000, CRC(5dc7aaa8) SHA1(4fb815e9bcf6bcdf1b7976a3dea2b6d1dd6a8f6b) )
|
||||
ROM_LOAD( "pf2l.3k", 0x40000, 0x20000, CRC(0c7c5f74) SHA1(26f1d36f70f4e8354537d0d67764a1c9be35e8f7) )
|
||||
ROM_LOAD( "pf3l.3j", 0x60000, 0x20000, CRC(0a780429) SHA1(a9d7d564507c31dafc448726b04293d6a582cff5) )
|
||||
ROM_LOAD( "pf0h.1p", 0x80000, 0x20000, CRC(a6297a83) SHA1(ffe9ea41d1ba7bb3d0260f3fcf0e970112098d46) )
|
||||
ROM_LOAD( "pf1h.1m", 0xa0000, 0x20000, CRC(5b40f1bb) SHA1(cf0de8679ab0dd9460324ce72b4bfac029591506) )
|
||||
ROM_LOAD( "pf2h.1k", 0xc0000, 0x20000, CRC(18323df9) SHA1(9c4add4733bcfe7202b53d86f1bca4b9d207e22a) )
|
||||
ROM_LOAD( "pf3h.1j", 0xe0000, 0x20000, CRC(05d86ef8) SHA1(47eefd7112a3a3be16f0b4496cf034c8f7a69b1b) )
|
||||
|
||||
ROM_REGION( 0x80000, REGION_GFX2, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "mo0l.7p", 0x00000, 0x20000, CRC(950d95a3) SHA1(3f38da7b6eeaa87cc84b98c9d535468b0c060f6d) )
|
||||
ROM_LOAD( "mo1l.10p", 0x20000, 0x20000, CRC(b62b6ebf) SHA1(3781cd81780c10cd245871bb8f7b6260f7bb53b7) )
|
||||
ROM_LOAD( "mo0h.12p", 0x40000, 0x20000, CRC(e47d92b0) SHA1(7953e8342450c02408e4d90f132144d55de2f491) )
|
||||
ROM_LOAD( "mo1h.14p", 0x60000, 0x20000, CRC(317a03fb) SHA1(23a7cfe7c5601c858e8b346de31441788c7a8e97) )
|
||||
|
||||
/* loading based on batman, there are 2 unpopulated positions on the PCB */
|
||||
ROM_REGION( 0x200000, REGION_SOUND1, 0 ) /* 1MB for ADPCM */
|
||||
ROM_LOAD( "sound.19e", 0x80000, 0x20000, CRC(e916bef7) SHA1(e07ddc8a3e1656d7307b767e692cf4a575ca47a3) )
|
||||
ROM_LOAD( "sound.12e", 0xe0000, 0x20000, CRC(bab2f8e5) SHA1(bbe2d693d40e5eeba315fe7b6380a2030b66f23e) )
|
||||
ROM_END
|
||||
|
||||
/*************************************
|
||||
*
|
||||
@@ -335,6 +556,14 @@ static DRIVER_INIT( batman )
|
||||
}
|
||||
|
||||
|
||||
static DRIVER_INIT( marblmd2 )
|
||||
{
|
||||
atarigen_eeprom_default = NULL;
|
||||
atarijsa_init(1, 5, 2, 0x0040);
|
||||
atarijsa3_init_adpcm(REGION_SOUND1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
@@ -342,4 +571,5 @@ static DRIVER_INIT( batman )
|
||||
*
|
||||
*************************************/
|
||||
|
||||
GAME( 1991, batman, 0, batman, batman, batman, ROT0, "Atari Games", "Batman" )
|
||||
GAME( 1991, batman, 0, batman, batman, batman, ROT0, "Atari Games", "Batman" )
|
||||
GAME( 1991, marblmd2, 0, marblmd2, marblmd2, marblmd2, ROT0, "Atari Games", "Marble Madness II (prototype)" )
|
||||
@@ -16,8 +16,6 @@
|
||||
extern UINT8 *battlane_spriteram;
|
||||
extern UINT8 *battlane_tileram;
|
||||
|
||||
extern struct tilemap *bg_tilemap;
|
||||
|
||||
extern WRITE_HANDLER( battlane_palette_w );
|
||||
extern WRITE_HANDLER( battlane_scrollx_w );
|
||||
extern WRITE_HANDLER( battlane_scrolly_w );
|
||||
@@ -50,7 +48,6 @@ WRITE_HANDLER( battlane_cpu_command_w )
|
||||
|
||||
if (flip_screen != (data & 0x80)) {
|
||||
flip_screen_set(data & 0x80);
|
||||
tilemap_mark_all_tiles_dirty(bg_tilemap);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -448,7 +448,7 @@ INPUT_PORTS_START( bbusters )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN4 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN5 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN6 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 ) // See notes
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 ) /* See notes */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START /* Dip switch bank 1 */
|
||||
|
||||
+83
-13
@@ -54,7 +54,7 @@ J1100072A
|
||||
A67-15-1 18.432MHz
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include <math.h>
|
||||
#include "driver.h"
|
||||
#include "vidhrdw/generic.h"
|
||||
|
||||
@@ -387,21 +387,89 @@ static MEMORY_READ_START( sound_readmem )
|
||||
{ 0xc000, 0xc7ff, MRA_RAM },
|
||||
{ 0xda00, 0xda00, soundstate_r },
|
||||
{ 0xd800, 0xd800, sound_command_r }, /* read from D800 sets bit 0 in status */
|
||||
{ 0xde00, 0xde00, MRA_NOP },
|
||||
{ 0xe000, 0xefff, MRA_NOP }, /* space for diagnostics ROM */
|
||||
MEMORY_END
|
||||
|
||||
static int vol_ctrl[16];
|
||||
|
||||
static MACHINE_INIT( ta7630 )
|
||||
{
|
||||
int i;
|
||||
|
||||
double db = 0.0;
|
||||
double db_step = 1.50; /* 1.50 dB step (at least, maybe more) */
|
||||
double db_step_inc = 0.125;
|
||||
for (i=0; i<16; i++)
|
||||
{
|
||||
double max = 100.0 / pow(10.0, db/20.0 );
|
||||
vol_ctrl[ 15-i ] = max;
|
||||
/*logerror("vol_ctrl[%x] = %i (%f dB)\n",15-i,vol_ctrl[ 15-i ],db);*/
|
||||
db += db_step;
|
||||
db_step += db_step_inc;
|
||||
}
|
||||
|
||||
/* for (i=0; i<8; i++)
|
||||
logerror("SOUND Chan#%i name=%s\n", i, mixer_get_name(i) ); */
|
||||
/*
|
||||
channels 0-2 AY#0
|
||||
channels 3,4 MSM5232 group1,group2
|
||||
*/
|
||||
|
||||
beg13_ls74[0] = 0;
|
||||
beg13_ls74[1] = 0;
|
||||
}
|
||||
|
||||
static UINT8 snd_ctrl0=0;
|
||||
static UINT8 snd_ctrl1=0;
|
||||
static UINT8 snd_ctrl2=0;
|
||||
static UINT8 snd_ctrl3=0;
|
||||
|
||||
static WRITE_HANDLER( sound_control_0_w )
|
||||
{
|
||||
snd_ctrl0 = data & 0xff;
|
||||
/* usrintf_showmessage("SND0 0=%02x 1=%02x 2=%02x 3=%02x", snd_ctrl0, snd_ctrl1, snd_ctrl2, snd_ctrl3); */
|
||||
|
||||
/* this definitely controls main melody voice on 2'-1 and 4'-1 outputs */
|
||||
mixer_set_volume (3, vol_ctrl[ (snd_ctrl0>>4) & 15 ]); /* group1 from msm5232 */
|
||||
|
||||
}
|
||||
static WRITE_HANDLER( sound_control_1_w )
|
||||
{
|
||||
snd_ctrl1 = data & 0xff;
|
||||
/* usrintf_showmessage("SND1 0=%02x 1=%02x 2=%02x 3=%02x", snd_ctrl0, snd_ctrl1, snd_ctrl2, snd_ctrl3); */
|
||||
mixer_set_volume (4, vol_ctrl[ (snd_ctrl1>>4) & 15 ]); /* group2 from msm5232 */
|
||||
}
|
||||
|
||||
static WRITE_HANDLER( sound_control_2_w )
|
||||
{
|
||||
int i;
|
||||
|
||||
snd_ctrl2 = data & 0xff;
|
||||
/* usrintf_showmessage("SND2 0=%02x 1=%02x 2=%02x 3=%02x", snd_ctrl0, snd_ctrl1, snd_ctrl2, snd_ctrl3); */
|
||||
|
||||
for (i=0; i<3; i++)
|
||||
mixer_set_volume (i, vol_ctrl[ (snd_ctrl2>>4) & 15 ]); /* ym2149f all */
|
||||
}
|
||||
|
||||
static WRITE_HANDLER( sound_control_3_w ) /* unknown */
|
||||
{
|
||||
snd_ctrl3 = data & 0xff;
|
||||
/* usrintf_showmessage("SND3 0=%02x 1=%02x 2=%02x 3=%02x", snd_ctrl0, snd_ctrl1, snd_ctrl2, snd_ctrl3); */
|
||||
}
|
||||
|
||||
static MEMORY_WRITE_START( sound_writemem )
|
||||
{ 0x0000, 0xbfff, MWA_ROM },
|
||||
{ 0xc000, 0xc7ff, MWA_RAM },
|
||||
{ 0xc800, 0xc800, AY8910_control_port_0_w },
|
||||
{ 0xc801, 0xc801, AY8910_write_port_0_w },
|
||||
{ 0xca00, 0xca0d, MSM5232_0_w },
|
||||
{ 0xcc00, 0xcc00, MWA_NOP },
|
||||
{ 0xce00, 0xce00, MWA_NOP },
|
||||
{ 0xcc00, 0xcc00, sound_control_0_w },
|
||||
{ 0xce00, 0xce00, sound_control_1_w },
|
||||
{ 0xd800, 0xd800, beg_fromsound_w }, /* write to D800 sets bit 1 in status */
|
||||
{ 0xda00, 0xda00, nmi_enable_w },
|
||||
{ 0xdc00, 0xdc00, nmi_disable_w },
|
||||
{ 0xde00, 0xde00, MWA_NOP },
|
||||
{ 0xde00, 0xde00, DAC_0_signed_data_w }, /* signed 8-bit DAC */
|
||||
MEMORY_END
|
||||
|
||||
|
||||
@@ -445,12 +513,6 @@ static struct GfxDecodeInfo gfxdecodeinfo[] =
|
||||
{ -1 } /* end of array */
|
||||
};
|
||||
|
||||
MACHINE_INIT( bigevglf )
|
||||
{
|
||||
beg13_ls74[0] = 0;
|
||||
beg13_ls74[1] = 0;
|
||||
}
|
||||
|
||||
|
||||
static struct AY8910interface ay8910_interface =
|
||||
{
|
||||
@@ -459,8 +521,8 @@ static struct AY8910interface ay8910_interface =
|
||||
{ 15 },
|
||||
{ 0 },
|
||||
{ 0 },
|
||||
{ 0 },
|
||||
{ 0 }
|
||||
{ sound_control_2_w },
|
||||
{ sound_control_3_w }
|
||||
};
|
||||
|
||||
static struct MSM5232interface msm5232_interface =
|
||||
@@ -471,6 +533,12 @@ static struct MSM5232interface msm5232_interface =
|
||||
{ 100 } /* mixing level ??? */
|
||||
};
|
||||
|
||||
static struct DACinterface dac_interface =
|
||||
{
|
||||
1,
|
||||
{ 50 }
|
||||
};
|
||||
|
||||
static MACHINE_DRIVER_START( bigevglf )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(Z80,10000000/2) /* 5 MHz ? */
|
||||
@@ -497,7 +565,8 @@ static MACHINE_DRIVER_START( bigevglf )
|
||||
MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
|
||||
MDRV_INTERLEAVE(10) /* 10 CPU slices per frame - interleaving is forced on the fly */
|
||||
|
||||
MDRV_MACHINE_INIT(bigevglf)
|
||||
MDRV_MACHINE_INIT(ta7630)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
|
||||
MDRV_SCREEN_SIZE(32*8, 32*8)
|
||||
@@ -510,6 +579,7 @@ static MACHINE_DRIVER_START( bigevglf )
|
||||
/* sound hardware */
|
||||
MDRV_SOUND_ADD(AY8910, ay8910_interface) /* YM2149 really */
|
||||
MDRV_SOUND_ADD(MSM5232, msm5232_interface)
|
||||
MDRV_SOUND_ADD(DAC, dac_interface)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
@@ -94,12 +94,12 @@ static WRITE_HANDLER( bladestl_sh_irqtrigger_w )
|
||||
|
||||
static WRITE_HANDLER( bladestl_port_B_w ){
|
||||
/* bit 1, 2 unknown */
|
||||
UPD7759_set_bank_base(0, ((data & 0x38) >> 3)*0x20000);
|
||||
upd7759_set_bank_base(0, ((data & 0x38) >> 3)*0x20000);
|
||||
}
|
||||
|
||||
static WRITE_HANDLER( bladestl_speech_ctrl_w ){
|
||||
UPD7759_reset_w(0, data & 1);
|
||||
UPD7759_start_w(0, data & 2);
|
||||
upd7759_reset_w(0, data & 1);
|
||||
upd7759_start_w(0, data & 2);
|
||||
}
|
||||
|
||||
static MEMORY_READ_START( bladestl_readmem )
|
||||
@@ -139,7 +139,7 @@ static MEMORY_READ_START( bladestl_readmem_sound )
|
||||
{ 0x0000, 0x07ff, MRA_RAM }, /* RAM */
|
||||
{ 0x1000, 0x1000, YM2203_status_port_0_r }, /* YM2203 */
|
||||
{ 0x1001, 0x1001, YM2203_read_port_0_r }, /* YM2203 */
|
||||
{ 0x4000, 0x4000, UPD7759_0_busy_r }, /* UPD7759 */
|
||||
{ 0x4000, 0x4000, upd7759_0_busy_r }, /* UPD7759 */
|
||||
{ 0x6000, 0x6000, soundlatch_r }, /* soundlatch_r */
|
||||
{ 0x8000, 0xffff, MRA_ROM }, /* ROM */
|
||||
MEMORY_END
|
||||
@@ -423,16 +423,16 @@ static struct YM2203interface ym2203_interface =
|
||||
{ YM2203_VOL(45,45) },
|
||||
{ 0 },
|
||||
{ 0 },
|
||||
{ UPD7759_0_port_w },
|
||||
{ upd7759_0_port_w },
|
||||
{ bladestl_port_B_w }
|
||||
};
|
||||
|
||||
static struct UPD7759_interface upd7759_interface =
|
||||
static struct upd7759_interface upd7759_interface =
|
||||
{
|
||||
1, /* number of chips */
|
||||
{ UPD7759_STANDARD_CLOCK },
|
||||
{ 60 }, /* volume */
|
||||
{ REGION_SOUND1 }, /* memory regions */
|
||||
UPD7759_STANDALONE_MODE,
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
|
||||
+70
-70
@@ -272,12 +272,12 @@ static struct YM2203interface ym2203_interface =
|
||||
static MACHINE_DRIVER_START( blktiger )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(Z80, 4000000) /* 4 MHz (?) */
|
||||
MDRV_CPU_ADD(Z80, 6000000) /* 4 MHz (?) */
|
||||
MDRV_CPU_MEMORY(readmem,writemem)
|
||||
MDRV_CPU_PORTS(readport,writeport)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 3000000)
|
||||
MDRV_CPU_ADD(Z80, 3579545)
|
||||
MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* 3 MHz (?) */
|
||||
MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
|
||||
|
||||
@@ -308,68 +308,68 @@ MACHINE_DRIVER_END
|
||||
|
||||
ROM_START( blktiger )
|
||||
ROM_REGION( 0x50000, REGION_CPU1, 0 ) /* 64k for code + banked ROMs images */
|
||||
ROM_LOAD( "blktiger.5e", 0x00000, 0x08000, CRC(a8f98f22) SHA1(f77c0d0ebf3e52a21d2c0c5004350a408b8e6d24) ) /* CODE */
|
||||
ROM_LOAD( "blktiger.6e", 0x10000, 0x10000, CRC(7bef96e8) SHA1(6d05a73d8400dead78c561b904bf6ef8311e7b91) ) /* 0+1 */
|
||||
ROM_LOAD( "blktiger.8e", 0x20000, 0x10000, CRC(4089e157) SHA1(7972b1c745057802d4fd66d88b0101eb3c03e701) ) /* 2+3 */
|
||||
ROM_LOAD( "blktiger.9e", 0x30000, 0x10000, CRC(ed6af6ec) SHA1(bed303c51bcddf233ad0701306d557a60ce9f5a5) ) /* 4+5 */
|
||||
ROM_LOAD( "blktiger.10e", 0x40000, 0x10000, CRC(ae59b72e) SHA1(6e72214b71f2f337af236c8be891a18570cb6fbb) ) /* 6+7 */
|
||||
ROM_LOAD( "bdu-01a.5e", 0x00000, 0x08000, CRC(a8f98f22) SHA1(f77c0d0ebf3e52a21d2c0c5004350a408b8e6d24) ) /* CODE */
|
||||
ROM_LOAD( "bdu-02a.6e", 0x10000, 0x10000, CRC(7bef96e8) SHA1(6d05a73d8400dead78c561b904bf6ef8311e7b91) ) /* 0+1 */
|
||||
ROM_LOAD( "bdu-03a.8e", 0x20000, 0x10000, CRC(4089e157) SHA1(7972b1c745057802d4fd66d88b0101eb3c03e701) ) /* 2+3 */
|
||||
ROM_LOAD( "bd-04.9e", 0x30000, 0x10000, CRC(ed6af6ec) SHA1(bed303c51bcddf233ad0701306d557a60ce9f5a5) ) /* 4+5 */
|
||||
ROM_LOAD( "bd-05.10e", 0x40000, 0x10000, CRC(ae59b72e) SHA1(6e72214b71f2f337af236c8be891a18570cb6fbb) ) /* 6+7 */
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for the audio CPU */
|
||||
ROM_LOAD( "blktiger.1l", 0x0000, 0x8000, CRC(2cf54274) SHA1(87df100c65999ba1e9d358ffd0fe4bba23ae0efb) )
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "bd-06.1l", 0x0000, 0x8000, CRC(2cf54274) SHA1(87df100c65999ba1e9d358ffd0fe4bba23ae0efb) )
|
||||
|
||||
ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "blktiger.2n", 0x00000, 0x08000, CRC(70175d78) SHA1(2f02be2785d1824002145ea20db79821d0393929) ) /* characters */
|
||||
ROM_LOAD( "bd-15.2n", 0x00000, 0x08000, CRC(70175d78) SHA1(2f02be2785d1824002145ea20db79821d0393929) ) /* characters */
|
||||
|
||||
ROM_REGION( 0x40000, REGION_GFX2, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "blktiger.5b", 0x00000, 0x10000, CRC(c4524993) SHA1(9aa6c58004ca1117e5ac44ba8fc51e9128b921b8) ) /* tiles */
|
||||
ROM_LOAD( "blktiger.4b", 0x10000, 0x10000, CRC(7932c86f) SHA1(b3b1bc1e2b0db5c2eb8772f8a2c35129cc80d511) )
|
||||
ROM_LOAD( "blktiger.9b", 0x20000, 0x10000, CRC(dc49593a) SHA1(e4ef42ba9f238fd43c8217657c92896f31d3912c) )
|
||||
ROM_LOAD( "blktiger.8b", 0x30000, 0x10000, CRC(7ed7a122) SHA1(3acc6d4c9731db0609c2e26e3bd255847149ca33) )
|
||||
ROM_LOAD( "bd-12.5b", 0x00000, 0x10000, CRC(c4524993) SHA1(9aa6c58004ca1117e5ac44ba8fc51e9128b921b8) ) /* tiles */
|
||||
ROM_LOAD( "bd-11.4b", 0x10000, 0x10000, CRC(7932c86f) SHA1(b3b1bc1e2b0db5c2eb8772f8a2c35129cc80d511) )
|
||||
ROM_LOAD( "bd-14.9b", 0x20000, 0x10000, CRC(dc49593a) SHA1(e4ef42ba9f238fd43c8217657c92896f31d3912c) )
|
||||
ROM_LOAD( "bd-13.8b", 0x30000, 0x10000, CRC(7ed7a122) SHA1(3acc6d4c9731db0609c2e26e3bd255847149ca33) )
|
||||
|
||||
ROM_REGION( 0x40000, REGION_GFX3, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "blktiger.5a", 0x00000, 0x10000, CRC(e2f17438) SHA1(3e5fdae07d40febedc59c7c7c4d9c6f0d72b58b5) ) /* sprites */
|
||||
ROM_LOAD( "blktiger.4a", 0x10000, 0x10000, CRC(5fccbd27) SHA1(33c55aa9c12b3121ca5c3b4c39a9b152b6946461) )
|
||||
ROM_LOAD( "blktiger.9a", 0x20000, 0x10000, CRC(fc33ccc6) SHA1(d492626a88565c2626f98ecb1d74535f1ad68e4c) )
|
||||
ROM_LOAD( "blktiger.8a", 0x30000, 0x10000, CRC(f449de01) SHA1(f6b40e9eb2471b89c42ab84f4214295d284db0c3) )
|
||||
ROM_LOAD( "bd-08.5a", 0x00000, 0x10000, CRC(e2f17438) SHA1(3e5fdae07d40febedc59c7c7c4d9c6f0d72b58b5) ) /* sprites */
|
||||
ROM_LOAD( "bd-07.4a", 0x10000, 0x10000, CRC(5fccbd27) SHA1(33c55aa9c12b3121ca5c3b4c39a9b152b6946461) )
|
||||
ROM_LOAD( "bd-10.9a", 0x20000, 0x10000, CRC(fc33ccc6) SHA1(d492626a88565c2626f98ecb1d74535f1ad68e4c) )
|
||||
ROM_LOAD( "bd-09.8a", 0x30000, 0x10000, CRC(f449de01) SHA1(f6b40e9eb2471b89c42ab84f4214295d284db0c3) )
|
||||
|
||||
ROM_REGION( 0x0400, REGION_PROMS, 0 ) /* PROMs (function unknown) */
|
||||
ROM_LOAD( "mb7114e.8j", 0x0000, 0x0100, CRC(29b459e5) SHA1(0034734a533df3dea16b7b48e072485d7f26f850) )
|
||||
ROM_LOAD( "mb7114e.9j", 0x0100, 0x0100, CRC(8b741e66) SHA1(6c1fda59936a7217b05949f5c54b1f91f4b49dbe) )
|
||||
ROM_LOAD( "mb7114e.11k", 0x0200, 0x0100, CRC(27201c75) SHA1(c54d87f06bfe0b0908389c005014d97156e272c2) )
|
||||
ROM_LOAD( "mb7114e.11l", 0x0300, 0x0100, CRC(e5490b68) SHA1(40f9f92efe7dd97b49144aec02eb509834056915) )
|
||||
ROM_LOAD( "bd01.8j", 0x0000, 0x0100, CRC(29b459e5) SHA1(0034734a533df3dea16b7b48e072485d7f26f850) )
|
||||
ROM_LOAD( "bd02.9j", 0x0100, 0x0100, CRC(8b741e66) SHA1(6c1fda59936a7217b05949f5c54b1f91f4b49dbe) )
|
||||
ROM_LOAD( "bd03.11k", 0x0200, 0x0100, CRC(27201c75) SHA1(c54d87f06bfe0b0908389c005014d97156e272c2) )
|
||||
ROM_LOAD( "bd04.11l", 0x0300, 0x0100, CRC(e5490b68) SHA1(40f9f92efe7dd97b49144aec02eb509834056915) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( bktigerb )
|
||||
ROM_REGION( 0x50000, REGION_CPU1, 0 ) /* 64k for code + banked ROMs images */
|
||||
ROM_LOAD( "btiger1.f6", 0x00000, 0x08000, CRC(9d8464e8) SHA1(c847ee9a22b8b636e85427214747e6bd779023e8) ) /* CODE */
|
||||
ROM_LOAD( "blktiger.6e", 0x10000, 0x10000, CRC(7bef96e8) SHA1(6d05a73d8400dead78c561b904bf6ef8311e7b91) ) /* 0+1 */
|
||||
ROM_LOAD( "bdu-02a.6e", 0x10000, 0x10000, CRC(7bef96e8) SHA1(6d05a73d8400dead78c561b904bf6ef8311e7b91) ) /* 0+1 */
|
||||
ROM_LOAD( "btiger3.j6", 0x20000, 0x10000, CRC(52c56ed1) SHA1(b6ea61869dcfcedb8cfc14c613440e3f4649866f) ) /* 2+3 */
|
||||
ROM_LOAD( "blktiger.9e", 0x30000, 0x10000, CRC(ed6af6ec) SHA1(bed303c51bcddf233ad0701306d557a60ce9f5a5) ) /* 4+5 */
|
||||
ROM_LOAD( "blktiger.10e", 0x40000, 0x10000, CRC(ae59b72e) SHA1(6e72214b71f2f337af236c8be891a18570cb6fbb) ) /* 6+7 */
|
||||
ROM_LOAD( "db-04.9e", 0x30000, 0x10000, CRC(ed6af6ec) SHA1(bed303c51bcddf233ad0701306d557a60ce9f5a5) ) /* 4+5 */
|
||||
ROM_LOAD( "db-05.10e", 0x40000, 0x10000, CRC(ae59b72e) SHA1(6e72214b71f2f337af236c8be891a18570cb6fbb) ) /* 6+7 */
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for the audio CPU */
|
||||
ROM_LOAD( "blktiger.1l", 0x0000, 0x8000, CRC(2cf54274) SHA1(87df100c65999ba1e9d358ffd0fe4bba23ae0efb) )
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "bd-06.1l", 0x0000, 0x8000, CRC(2cf54274) SHA1(87df100c65999ba1e9d358ffd0fe4bba23ae0efb) )
|
||||
|
||||
ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "blktiger.2n", 0x00000, 0x08000, CRC(70175d78) SHA1(2f02be2785d1824002145ea20db79821d0393929) ) /* characters */
|
||||
ROM_LOAD( "bd-15.2n", 0x00000, 0x08000, CRC(70175d78) SHA1(2f02be2785d1824002145ea20db79821d0393929) ) /* characters */
|
||||
|
||||
ROM_REGION( 0x40000, REGION_GFX2, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "blktiger.5b", 0x00000, 0x10000, CRC(c4524993) SHA1(9aa6c58004ca1117e5ac44ba8fc51e9128b921b8) ) /* tiles */
|
||||
ROM_LOAD( "blktiger.4b", 0x10000, 0x10000, CRC(7932c86f) SHA1(b3b1bc1e2b0db5c2eb8772f8a2c35129cc80d511) )
|
||||
ROM_LOAD( "blktiger.9b", 0x20000, 0x10000, CRC(dc49593a) SHA1(e4ef42ba9f238fd43c8217657c92896f31d3912c) )
|
||||
ROM_LOAD( "blktiger.8b", 0x30000, 0x10000, CRC(7ed7a122) SHA1(3acc6d4c9731db0609c2e26e3bd255847149ca33) )
|
||||
ROM_LOAD( "bd-12.5b", 0x00000, 0x10000, CRC(c4524993) SHA1(9aa6c58004ca1117e5ac44ba8fc51e9128b921b8) ) /* tiles */
|
||||
ROM_LOAD( "bd-11.4b", 0x10000, 0x10000, CRC(7932c86f) SHA1(b3b1bc1e2b0db5c2eb8772f8a2c35129cc80d511) )
|
||||
ROM_LOAD( "bd-14.9b", 0x20000, 0x10000, CRC(dc49593a) SHA1(e4ef42ba9f238fd43c8217657c92896f31d3912c) )
|
||||
ROM_LOAD( "bd-13.8b", 0x30000, 0x10000, CRC(7ed7a122) SHA1(3acc6d4c9731db0609c2e26e3bd255847149ca33) )
|
||||
|
||||
ROM_REGION( 0x40000, REGION_GFX3, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "blktiger.5a", 0x00000, 0x10000, CRC(e2f17438) SHA1(3e5fdae07d40febedc59c7c7c4d9c6f0d72b58b5) ) /* sprites */
|
||||
ROM_LOAD( "blktiger.4a", 0x10000, 0x10000, CRC(5fccbd27) SHA1(33c55aa9c12b3121ca5c3b4c39a9b152b6946461) )
|
||||
ROM_LOAD( "blktiger.9a", 0x20000, 0x10000, CRC(fc33ccc6) SHA1(d492626a88565c2626f98ecb1d74535f1ad68e4c) )
|
||||
ROM_LOAD( "blktiger.8a", 0x30000, 0x10000, CRC(f449de01) SHA1(f6b40e9eb2471b89c42ab84f4214295d284db0c3) )
|
||||
ROM_LOAD( "bd-08.5a", 0x00000, 0x10000, CRC(e2f17438) SHA1(3e5fdae07d40febedc59c7c7c4d9c6f0d72b58b5) ) /* sprites */
|
||||
ROM_LOAD( "bd-07.4a", 0x10000, 0x10000, CRC(5fccbd27) SHA1(33c55aa9c12b3121ca5c3b4c39a9b152b6946461) )
|
||||
ROM_LOAD( "bd-10.9a", 0x20000, 0x10000, CRC(fc33ccc6) SHA1(d492626a88565c2626f98ecb1d74535f1ad68e4c) )
|
||||
ROM_LOAD( "bd-09.8a", 0x30000, 0x10000, CRC(f449de01) SHA1(f6b40e9eb2471b89c42ab84f4214295d284db0c3) )
|
||||
|
||||
ROM_REGION( 0x0400, REGION_PROMS, 0 ) /* PROMs (function unknown) */
|
||||
ROM_LOAD( "mb7114e.8j", 0x0000, 0x0100, CRC(29b459e5) SHA1(0034734a533df3dea16b7b48e072485d7f26f850) )
|
||||
ROM_LOAD( "mb7114e.9j", 0x0100, 0x0100, CRC(8b741e66) SHA1(6c1fda59936a7217b05949f5c54b1f91f4b49dbe) )
|
||||
ROM_LOAD( "mb7114e.11k", 0x0200, 0x0100, CRC(27201c75) SHA1(c54d87f06bfe0b0908389c005014d97156e272c2) )
|
||||
ROM_LOAD( "mb7114e.11l", 0x0300, 0x0100, CRC(e5490b68) SHA1(40f9f92efe7dd97b49144aec02eb509834056915) )
|
||||
ROM_LOAD( "bd01.8j", 0x0000, 0x0100, CRC(29b459e5) SHA1(0034734a533df3dea16b7b48e072485d7f26f850) )
|
||||
ROM_LOAD( "bd02.9j", 0x0100, 0x0100, CRC(8b741e66) SHA1(6c1fda59936a7217b05949f5c54b1f91f4b49dbe) )
|
||||
ROM_LOAD( "bd03.11k", 0x0200, 0x0100, CRC(27201c75) SHA1(c54d87f06bfe0b0908389c005014d97156e272c2) )
|
||||
ROM_LOAD( "bd04.11l", 0x0300, 0x0100, CRC(e5490b68) SHA1(40f9f92efe7dd97b49144aec02eb509834056915) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( blkdrgon )
|
||||
@@ -380,8 +380,8 @@ ROM_START( blkdrgon )
|
||||
ROM_LOAD( "blkdrgon.9e", 0x30000, 0x10000, CRC(4d1d6680) SHA1(e137624c59392de6aaffeded99b024938360bd25) ) /* 4+5 */
|
||||
ROM_LOAD( "blkdrgon.10e", 0x40000, 0x10000, CRC(c8d0c45e) SHA1(66c2e5a74c5875a2c8e28740fe944bd943246ce5) ) /* 6+7 */
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for the audio CPU */
|
||||
ROM_LOAD( "blktiger.1l", 0x0000, 0x8000, CRC(2cf54274) SHA1(87df100c65999ba1e9d358ffd0fe4bba23ae0efb) )
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "bd-06.1l", 0x0000, 0x8000, CRC(2cf54274) SHA1(87df100c65999ba1e9d358ffd0fe4bba23ae0efb) )
|
||||
|
||||
ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "blkdrgon.2n", 0x00000, 0x08000, CRC(3821ab29) SHA1(576f1839f63b0cad6b851d6e6a3e9dec21ac811d) ) /* characters */
|
||||
@@ -393,54 +393,54 @@ ROM_START( blkdrgon )
|
||||
ROM_LOAD( "blkdrgon.8b", 0x30000, 0x10000, CRC(5b0df8ce) SHA1(57d10b48bd61b0224ce21b36bde8d2479e8e5df4) )
|
||||
|
||||
ROM_REGION( 0x40000, REGION_GFX3, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "blktiger.5a", 0x00000, 0x10000, CRC(e2f17438) SHA1(3e5fdae07d40febedc59c7c7c4d9c6f0d72b58b5) ) /* sprites */
|
||||
ROM_LOAD( "blktiger.4a", 0x10000, 0x10000, CRC(5fccbd27) SHA1(33c55aa9c12b3121ca5c3b4c39a9b152b6946461) )
|
||||
ROM_LOAD( "blktiger.9a", 0x20000, 0x10000, CRC(fc33ccc6) SHA1(d492626a88565c2626f98ecb1d74535f1ad68e4c) )
|
||||
ROM_LOAD( "blktiger.8a", 0x30000, 0x10000, CRC(f449de01) SHA1(f6b40e9eb2471b89c42ab84f4214295d284db0c3) )
|
||||
ROM_LOAD( "bd-08.5a", 0x00000, 0x10000, CRC(e2f17438) SHA1(3e5fdae07d40febedc59c7c7c4d9c6f0d72b58b5) ) /* sprites */
|
||||
ROM_LOAD( "bd-07.4a", 0x10000, 0x10000, CRC(5fccbd27) SHA1(33c55aa9c12b3121ca5c3b4c39a9b152b6946461) )
|
||||
ROM_LOAD( "bd-10.9a", 0x20000, 0x10000, CRC(fc33ccc6) SHA1(d492626a88565c2626f98ecb1d74535f1ad68e4c) )
|
||||
ROM_LOAD( "bd-09.8a", 0x30000, 0x10000, CRC(f449de01) SHA1(f6b40e9eb2471b89c42ab84f4214295d284db0c3) )
|
||||
|
||||
ROM_REGION( 0x0400, REGION_PROMS, 0 ) /* PROMs (function unknown) */
|
||||
ROM_LOAD( "mb7114e.8j", 0x0000, 0x0100, CRC(29b459e5) SHA1(0034734a533df3dea16b7b48e072485d7f26f850) )
|
||||
ROM_LOAD( "mb7114e.9j", 0x0100, 0x0100, CRC(8b741e66) SHA1(6c1fda59936a7217b05949f5c54b1f91f4b49dbe) )
|
||||
ROM_LOAD( "mb7114e.11k", 0x0200, 0x0100, CRC(27201c75) SHA1(c54d87f06bfe0b0908389c005014d97156e272c2) )
|
||||
ROM_LOAD( "mb7114e.11l", 0x0300, 0x0100, CRC(e5490b68) SHA1(40f9f92efe7dd97b49144aec02eb509834056915) )
|
||||
ROM_LOAD( "bd01.8j", 0x0000, 0x0100, CRC(29b459e5) SHA1(0034734a533df3dea16b7b48e072485d7f26f850) )
|
||||
ROM_LOAD( "bd02.9j", 0x0100, 0x0100, CRC(8b741e66) SHA1(6c1fda59936a7217b05949f5c54b1f91f4b49dbe) )
|
||||
ROM_LOAD( "bd03.11k", 0x0200, 0x0100, CRC(27201c75) SHA1(c54d87f06bfe0b0908389c005014d97156e272c2) )
|
||||
ROM_LOAD( "bd04.11l", 0x0300, 0x0100, CRC(e5490b68) SHA1(40f9f92efe7dd97b49144aec02eb509834056915) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( blkdrgnb )
|
||||
ROM_START( blkdrgonb )
|
||||
ROM_REGION( 0x50000, REGION_CPU1, 0 ) /* 64k for code + banked ROMs images */
|
||||
ROM_LOAD( "j1-5e", 0x00000, 0x08000, CRC(97e84412) SHA1(70a1add634750257d8f41a834d930919ce29c9fa) ) /* CODE */
|
||||
ROM_LOAD( "a1", 0x00000, 0x08000, CRC(7caf2ba0) SHA1(57b17caff67d36b24075f5865d433bfc8bcc9bc2) ) /* CODE */
|
||||
ROM_LOAD( "blkdrgon.6e", 0x10000, 0x10000, CRC(7d39c26f) SHA1(562a3f578e109ae020f65e341c876ad7e510a311) ) /* 0+1 */
|
||||
ROM_LOAD( "j3-8e", 0x20000, 0x10000, CRC(f4cd0f39) SHA1(9efc5161c861c7ec8ae72509e71c6d7b71b22fc6) ) /* 2+3 */
|
||||
ROM_LOAD( "a3", 0x20000, 0x10000, CRC(f4cd0f39) SHA1(9efc5161c861c7ec8ae72509e71c6d7b71b22fc6) ) /* 2+3 */
|
||||
ROM_LOAD( "blkdrgon.9e", 0x30000, 0x10000, CRC(4d1d6680) SHA1(e137624c59392de6aaffeded99b024938360bd25) ) /* 4+5 */
|
||||
ROM_LOAD( "blkdrgon.10e", 0x40000, 0x10000, CRC(c8d0c45e) SHA1(66c2e5a74c5875a2c8e28740fe944bd943246ce5) ) /* 6+7 */
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for the audio CPU */
|
||||
ROM_LOAD( "blktiger.1l", 0x0000, 0x8000, CRC(2cf54274) SHA1(87df100c65999ba1e9d358ffd0fe4bba23ae0efb) )
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "bd-06.1l", 0x0000, 0x8000, CRC(2cf54274) SHA1(87df100c65999ba1e9d358ffd0fe4bba23ae0efb) )
|
||||
|
||||
ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "j15-2n", 0x00000, 0x08000, CRC(852ad2b7) SHA1(9f30c0d7e1127589b03d8f45ea50e0f907181a4b) ) /* characters */
|
||||
ROM_LOAD( "b5", 0x00000, 0x08000, CRC(852ad2b7) SHA1(9f30c0d7e1127589b03d8f45ea50e0f907181a4b) ) /* characters */
|
||||
|
||||
ROM_REGION( 0x40000, REGION_GFX2, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "blkdrgon.5b", 0x00000, 0x10000, CRC(22d0a4b0) SHA1(f9402ea9ffedcb280497a63c5eb352de9d4ca3fd) ) /* tiles */
|
||||
ROM_LOAD( "j11-4b", 0x10000, 0x10000, CRC(053ab15c) SHA1(f0ddc71009ab5dd69ae463c3636ec2332c0556f8) )
|
||||
ROM_LOAD( "b1", 0x10000, 0x10000, CRC(053ab15c) SHA1(f0ddc71009ab5dd69ae463c3636ec2332c0556f8) )
|
||||
ROM_LOAD( "blkdrgon.9b", 0x20000, 0x10000, CRC(9498c378) SHA1(841934ddef724faf04162c4be4aea1684d8d8e0f) )
|
||||
ROM_LOAD( "j13-8b", 0x30000, 0x10000, CRC(663d5afa) SHA1(e03c09c07cf92b7fdd2582824cf698f30e89f72d) )
|
||||
ROM_LOAD( "b3", 0x30000, 0x10000, CRC(9dc6e943) SHA1(0818c1fb2cc8ff403a479457b268bba6ec0730bc) )
|
||||
|
||||
ROM_REGION( 0x40000, REGION_GFX3, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "blktiger.5a", 0x00000, 0x10000, CRC(e2f17438) SHA1(3e5fdae07d40febedc59c7c7c4d9c6f0d72b58b5) ) /* sprites */
|
||||
ROM_LOAD( "blktiger.4a", 0x10000, 0x10000, CRC(5fccbd27) SHA1(33c55aa9c12b3121ca5c3b4c39a9b152b6946461) )
|
||||
ROM_LOAD( "blktiger.9a", 0x20000, 0x10000, CRC(fc33ccc6) SHA1(d492626a88565c2626f98ecb1d74535f1ad68e4c) )
|
||||
ROM_LOAD( "blktiger.8a", 0x30000, 0x10000, CRC(f449de01) SHA1(f6b40e9eb2471b89c42ab84f4214295d284db0c3) )
|
||||
ROM_LOAD( "bd-08.5a", 0x00000, 0x10000, CRC(e2f17438) SHA1(3e5fdae07d40febedc59c7c7c4d9c6f0d72b58b5) ) /* sprites */
|
||||
ROM_LOAD( "bd-07.4a", 0x10000, 0x10000, CRC(5fccbd27) SHA1(33c55aa9c12b3121ca5c3b4c39a9b152b6946461) )
|
||||
ROM_LOAD( "bd-10.9a", 0x20000, 0x10000, CRC(fc33ccc6) SHA1(d492626a88565c2626f98ecb1d74535f1ad68e4c) )
|
||||
ROM_LOAD( "bd-09.8a", 0x30000, 0x10000, CRC(f449de01) SHA1(f6b40e9eb2471b89c42ab84f4214295d284db0c3) )
|
||||
|
||||
ROM_REGION( 0x0400, REGION_PROMS, 0 ) /* PROMs (function unknown) */
|
||||
ROM_LOAD( "mb7114e.8j", 0x0000, 0x0100, CRC(29b459e5) SHA1(0034734a533df3dea16b7b48e072485d7f26f850) )
|
||||
ROM_LOAD( "mb7114e.9j", 0x0100, 0x0100, CRC(8b741e66) SHA1(6c1fda59936a7217b05949f5c54b1f91f4b49dbe) )
|
||||
ROM_LOAD( "mb7114e.11k", 0x0200, 0x0100, CRC(27201c75) SHA1(c54d87f06bfe0b0908389c005014d97156e272c2) )
|
||||
ROM_LOAD( "mb7114e.11l", 0x0300, 0x0100, CRC(e5490b68) SHA1(40f9f92efe7dd97b49144aec02eb509834056915) )
|
||||
ROM_LOAD( "bd01.8j", 0x0000, 0x0100, CRC(29b459e5) SHA1(0034734a533df3dea16b7b48e072485d7f26f850) )
|
||||
ROM_LOAD( "bd02.9j", 0x0100, 0x0100, CRC(8b741e66) SHA1(6c1fda59936a7217b05949f5c54b1f91f4b49dbe) )
|
||||
ROM_LOAD( "bd03.11k", 0x0200, 0x0100, CRC(27201c75) SHA1(c54d87f06bfe0b0908389c005014d97156e272c2) )
|
||||
ROM_LOAD( "bd04.11l", 0x0300, 0x0100, CRC(e5490b68) SHA1(40f9f92efe7dd97b49144aec02eb509834056915) )
|
||||
ROM_END
|
||||
|
||||
|
||||
|
||||
GAME( 1987, blktiger, 0, blktiger, blktiger, 0, ROT0, "Capcom", "Black Tiger" )
|
||||
GAME( 1987, bktigerb, blktiger, blktiger, blktiger, 0, ROT0, "bootleg", "Black Tiger (bootleg)" )
|
||||
GAME( 1987, blkdrgon, blktiger, blktiger, blktiger, 0, ROT0, "Capcom", "Black Dragon" )
|
||||
GAME( 1987, blkdrgnb, blktiger, blktiger, blktiger, 0, ROT0, "bootleg", "Black Dragon (bootleg)" )
|
||||
GAME( 1987, blktiger, 0, blktiger, blktiger, 0, ROT0, "Capcom", "Black Tiger" )
|
||||
GAME( 1987, bktigerb, blktiger, blktiger, blktiger, 0, ROT0, "bootleg", "Black Tiger (bootleg)" )
|
||||
GAME( 1987, blkdrgon, blktiger, blktiger, blktiger, 0, ROT0, "Capcom", "Black Dragon" )
|
||||
GAME( 1987, blkdrgonb, blktiger, blktiger, blktiger, 0, ROT0, "bootleg", "Black Dragon (bootleg)" )
|
||||
+36
-36
@@ -199,16 +199,15 @@ INPUT_PORTS_START( brkthru )
|
||||
PORT_DIPSETTING( 0x03, "3" )
|
||||
PORT_DIPSETTING( 0x01, "5" )
|
||||
PORT_BITX(0, 0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "99", IP_KEY_NONE, IP_JOY_NONE )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
|
||||
PORT_DIPSETTING( 0x00, "20000 Points Only" )
|
||||
PORT_DIPSETTING( 0x04, "10000/20000 Points" )
|
||||
PORT_DIPSETTING( 0x0c, "20000/30000 Points" )
|
||||
PORT_DIPSETTING( 0x08, "20000/40000 Points" )
|
||||
PORT_DIPNAME( 0x10, 0x10, "Allow Continue" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Yes ) )
|
||||
PORT_BIT_IMPULSE( 0x20, IP_ACTIVE_LOW, IPT_COIN1, 2 )
|
||||
PORT_BIT_IMPULSE( 0x20, IP_ACTIVE_LOW, IPT_COIN1, 2 ) /* Manual says Pitcure Flip=On, Normal=Off */
|
||||
PORT_BIT_IMPULSE( 0x40, IP_ACTIVE_LOW, IPT_COIN2, 2 )
|
||||
PORT_BIT_IMPULSE( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1, 2 )
|
||||
|
||||
@@ -223,17 +222,18 @@ INPUT_PORTS_START( brkthru )
|
||||
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x00, "Upright 1 Player" )
|
||||
PORT_DIPSETTING( 0x40, "Upright 2 Players" )
|
||||
/* PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) ) */ /* "Cocktail 1 Player" - IMPOSSIBLE !*/
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( Cocktail ) ) /* "Cocktail 2 Players"*/
|
||||
PORT_DIPNAME( 0x10, 0x10, "Enemy Vehicles" )
|
||||
PORT_DIPSETTING( 0x10, "Slow" )
|
||||
PORT_DIPSETTING( 0x00, "Fast" )
|
||||
PORT_DIPNAME( 0x20, 0x20, "Enemy Bullets" )
|
||||
PORT_DIPSETTING( 0x20, "Slow" )
|
||||
PORT_DIPSETTING( 0x00, "Fast" )
|
||||
PORT_DIPNAME( 0x40, 0x00, "Control Panel" )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Upright ) ) /* 1 Player */
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) /* 2 Players */
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( Cocktail ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
INPUT_PORTS_START( brkthruj )
|
||||
@@ -263,14 +263,13 @@ INPUT_PORTS_START( brkthruj )
|
||||
PORT_DIPSETTING( 0x03, "3" )
|
||||
PORT_DIPSETTING( 0x01, "5" )
|
||||
PORT_BITX(0, 0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "99", IP_KEY_NONE, IP_JOY_NONE )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
|
||||
PORT_DIPSETTING( 0x00, "20000 Points Only" )
|
||||
PORT_DIPSETTING( 0x04, "10000/20000 Points" )
|
||||
PORT_DIPSETTING( 0x0c, "20000/30000 Points" )
|
||||
PORT_DIPSETTING( 0x08, "20000/40000 Points" )
|
||||
PORT_SERVICE( 0x10, IP_ACTIVE_LOW )
|
||||
PORT_BIT_IMPULSE( 0x20, IP_ACTIVE_LOW, IPT_COIN1, 2 )
|
||||
PORT_BIT_IMPULSE( 0x20, IP_ACTIVE_LOW, IPT_COIN1, 2 ) /* Manual says Pitcure Flip=On, Normal=Off */
|
||||
PORT_BIT_IMPULSE( 0x40, IP_ACTIVE_LOW, IPT_COIN2, 2 )
|
||||
PORT_BIT_IMPULSE( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1, 2 )
|
||||
|
||||
@@ -285,17 +284,18 @@ INPUT_PORTS_START( brkthruj )
|
||||
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( 1C_3C ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x00, "Upright 1 Player" )
|
||||
PORT_DIPSETTING( 0x40, "Upright 2 Players" )
|
||||
/* PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) ) */ /* "Cocktail 1 Player" - IMPOSSIBLE !*/
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( Cocktail ) ) /* "Cocktail 2 Players"*/
|
||||
PORT_DIPNAME( 0x10, 0x10, "Enemy Vehicles" )
|
||||
PORT_DIPSETTING( 0x10, "Slow" )
|
||||
PORT_DIPSETTING( 0x00, "Fast" )
|
||||
PORT_DIPNAME( 0x20, 0x20, "Enemy Bullets" )
|
||||
PORT_DIPSETTING( 0x20, "Slow" )
|
||||
PORT_DIPSETTING( 0x00, "Fast" )
|
||||
PORT_DIPNAME( 0x40, 0x00, "Control Panel" )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Upright ) ) /* 1 Player */
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) /* 2 Players */
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( Cocktail ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
INPUT_PORTS_START( darwin )
|
||||
|
||||
+315
-32
@@ -1,5 +1,8 @@
|
||||
/***************************************************************************
|
||||
Bubble Bobble / Tokio
|
||||
Tokio (c) 1986 Taito
|
||||
Bubble Bobble (c) 1986 Taito
|
||||
driver by Chris Moore, Nicola Salmoria
|
||||
also based on Tokio driver by Marcelo de G. Malheiros <malheiro@dca.fee.unicamp.br>
|
||||
|
||||
Main clock: XTAL = 24 MHz
|
||||
Horizontal video frequency: HSYNC = XTAL/4/384 = 15.625 kHz
|
||||
@@ -134,6 +137,7 @@ CPU 3
|
||||
|
||||
#include "driver.h"
|
||||
#include "vidhrdw/generic.h"
|
||||
#include "cpu/m6805/m6805.h"
|
||||
|
||||
static int ddr1, ddr2, ddr3, ddr4;
|
||||
static int port1_in, port2_in, port3_in, port4_in;
|
||||
@@ -161,7 +165,6 @@ WRITE_HANDLER( bublbobl_bankswitch_w );
|
||||
WRITE_HANDLER( tokio_bankswitch_w );
|
||||
WRITE_HANDLER( tokio_videoctrl_w );
|
||||
WRITE_HANDLER( bublbobl_nmitrigger_w );
|
||||
READ_HANDLER( tokio_fake_r );
|
||||
WRITE_HANDLER( bublbobl_sound_command_w );
|
||||
WRITE_HANDLER( bublbobl_sh_nmi_disable_w );
|
||||
WRITE_HANDLER( bublbobl_sh_nmi_enable_w );
|
||||
@@ -278,6 +281,122 @@ WRITE_HANDLER( bublbobl_mcu_port4_w )
|
||||
port4_out = data;
|
||||
}
|
||||
|
||||
/* tokio mcu */
|
||||
READ_HANDLER ( tokio_68705_portA_r );
|
||||
WRITE_HANDLER( tokio_68705_portA_w );
|
||||
READ_HANDLER ( tokio_68705_portB_r );
|
||||
WRITE_HANDLER( tokio_68705_portB_w );
|
||||
READ_HANDLER ( tokio_68705_portC_r );
|
||||
WRITE_HANDLER( tokio_68705_portC_w );
|
||||
WRITE_HANDLER( tokio_68705_ddrA_w );
|
||||
WRITE_HANDLER( tokio_68705_ddrB_w );
|
||||
WRITE_HANDLER( tokio_68705_ddrC_w );
|
||||
WRITE_HANDLER( tokio_mcu_w );
|
||||
READ_HANDLER ( tokio_mcu_r );
|
||||
READ_HANDLER ( tokio_mcu_status_r );
|
||||
READ_HANDLER ( tokio_fake_r ); /* faked mcu commands for bootleg */
|
||||
|
||||
static unsigned char from_main,from_mcu;
|
||||
static int mcu_sent = 0,main_sent = 0;
|
||||
static unsigned char portA_in,portA_out,ddrA;
|
||||
static unsigned char portB_in,portB_out,ddrB;
|
||||
static unsigned char portC_in,portC_out,ddrC;
|
||||
|
||||
READ_HANDLER( tokio_68705_portA_r )
|
||||
{
|
||||
return (portA_out & ddrA) | (portA_in & ~ddrA);
|
||||
}
|
||||
|
||||
WRITE_HANDLER( tokio_68705_portA_w )
|
||||
{
|
||||
portA_out = data;
|
||||
}
|
||||
|
||||
WRITE_HANDLER( tokio_68705_ddrA_w )
|
||||
{
|
||||
ddrA = data;
|
||||
}
|
||||
|
||||
READ_HANDLER( tokio_68705_portB_r )
|
||||
{
|
||||
return (portB_out & ddrB) | (portB_in & ~ddrB);
|
||||
}
|
||||
|
||||
WRITE_HANDLER( tokio_68705_portB_w )
|
||||
{
|
||||
if ((ddrB & 0x02) && (~data & 0x02) && (portB_out & 0x02))
|
||||
{
|
||||
portA_in = from_main;
|
||||
if (main_sent) cpu_set_irq_line(3,0,CLEAR_LINE);
|
||||
main_sent = 0;
|
||||
}
|
||||
if ((ddrB & 0x04) && (data & 0x04) && (~portB_out & 0x04))
|
||||
{
|
||||
from_mcu = portA_out;
|
||||
mcu_sent = 1;
|
||||
}
|
||||
|
||||
portB_out = data;
|
||||
}
|
||||
|
||||
WRITE_HANDLER( tokio_68705_ddrB_w )
|
||||
{
|
||||
ddrB = data;
|
||||
}
|
||||
|
||||
|
||||
READ_HANDLER( tokio_68705_portC_r )
|
||||
{
|
||||
data8_t ret = 0;
|
||||
|
||||
if (!main_sent)
|
||||
ret |= 0x01;
|
||||
if (mcu_sent)
|
||||
ret |= 0x02;
|
||||
|
||||
ret ^= 0x3; /* inverted logic compared to tigerh */
|
||||
|
||||
return ret;
|
||||
|
||||
}
|
||||
|
||||
WRITE_HANDLER( tokio_68705_portC_w )
|
||||
{
|
||||
portC_out = data;
|
||||
}
|
||||
|
||||
WRITE_HANDLER( tokio_68705_ddrC_w )
|
||||
{
|
||||
ddrC = data;
|
||||
}
|
||||
|
||||
WRITE_HANDLER( tokio_mcu_w )
|
||||
{
|
||||
from_main = data;
|
||||
main_sent = 1;
|
||||
cpu_set_irq_line(3,0,ASSERT_LINE);
|
||||
}
|
||||
|
||||
READ_HANDLER( tokio_mcu_r )
|
||||
{
|
||||
mcu_sent = 0;
|
||||
return from_mcu;
|
||||
}
|
||||
|
||||
READ_HANDLER( tokio_mcu_status_r )
|
||||
{
|
||||
int res = input_port_2_r(0);
|
||||
|
||||
res &= ~0x30; /* clear 3 bits in top nibble to make room for mcu status */
|
||||
|
||||
if (!main_sent)
|
||||
res |= 0x10;
|
||||
if (!mcu_sent)
|
||||
res |= 0x20;
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
static MEMORY_READ_START( bublbobl_readmem )
|
||||
{ 0x0000, 0x7fff, MRA_ROM },
|
||||
@@ -393,6 +512,35 @@ MEMORY_END
|
||||
|
||||
|
||||
static MEMORY_READ_START( tokio_readmem )
|
||||
{ 0x0000, 0x7fff, MRA_ROM },
|
||||
{ 0x8000, 0xbfff, MRA_BANK1 },
|
||||
{ 0xc000, 0xdfff, MRA_RAM },
|
||||
{ 0xe000, 0xf7ff, bublbobl_sharedram1_r },
|
||||
{ 0xf800, 0xf9ff, paletteram_r },
|
||||
{ 0xfa03, 0xfa03, input_port_0_r },
|
||||
{ 0xfa04, 0xfa04, input_port_1_r },
|
||||
{ 0xfa05, 0xfa05, tokio_mcu_status_r }, /* M68705 commands */
|
||||
{ 0xfa06, 0xfa06, input_port_3_r },
|
||||
{ 0xfa07, 0xfa07, input_port_4_r },
|
||||
{ 0xfe00, 0xfe00, tokio_mcu_r },
|
||||
MEMORY_END
|
||||
|
||||
static MEMORY_WRITE_START( tokio_writemem )
|
||||
{ 0x0000, 0xbfff, MWA_ROM },
|
||||
{ 0xc000, 0xdcff, MWA_RAM, &videoram, &videoram_size },
|
||||
{ 0xdd00, 0xdfff, MWA_RAM, &bublbobl_objectram, &bublbobl_objectram_size },
|
||||
{ 0xe000, 0xf7ff, bublbobl_sharedram1_w, &bublbobl_sharedram1 },
|
||||
{ 0xf800, 0xf9ff, paletteram_RRRRGGGGBBBBxxxx_swap_w, &paletteram },
|
||||
{ 0xfa00, 0xfa00, MWA_NOP },
|
||||
{ 0xfa80, 0xfa80, tokio_bankswitch_w },
|
||||
{ 0xfb00, 0xfb00, tokio_videoctrl_w },
|
||||
{ 0xfb80, 0xfb80, bublbobl_nmitrigger_w },
|
||||
{ 0xfc00, 0xfc00, bublbobl_sound_command_w },
|
||||
{ 0xfe00, 0xfe00, tokio_mcu_w },
|
||||
MEMORY_END
|
||||
|
||||
/* bootleg uses fake mcu hookup */
|
||||
static MEMORY_READ_START( tokiob_readmem )
|
||||
{ 0x0000, 0x7fff, MRA_ROM },
|
||||
{ 0x8000, 0xbfff, MRA_BANK1 },
|
||||
{ 0xc000, 0xdfff, MRA_RAM },
|
||||
@@ -406,7 +554,7 @@ static MEMORY_READ_START( tokio_readmem )
|
||||
{ 0xfe00, 0xfe00, tokio_fake_r },
|
||||
MEMORY_END
|
||||
|
||||
static MEMORY_WRITE_START( tokio_writemem )
|
||||
static MEMORY_WRITE_START( tokiob_writemem )
|
||||
{ 0x0000, 0xbfff, MWA_ROM },
|
||||
{ 0xc000, 0xdcff, MWA_RAM, &videoram, &videoram_size },
|
||||
{ 0xdd00, 0xdfff, MWA_RAM, &bublbobl_objectram, &bublbobl_objectram_size },
|
||||
@@ -434,24 +582,41 @@ static MEMORY_READ_START( tokio_sound_readmem )
|
||||
{ 0x0000, 0x7fff, MRA_ROM },
|
||||
{ 0x8000, 0x8fff, MRA_RAM },
|
||||
{ 0x9000, 0x9000, soundlatch_r },
|
||||
/* { 0x9800, 0x9800, MRA_NOP }, // ??? /*/
|
||||
{ 0x9800, 0x9800, MRA_NOP }, /* ??? */
|
||||
{ 0xb000, 0xb000, YM2203_status_port_0_r },
|
||||
{ 0xb001, 0xb001, YM2203_read_port_0_r },
|
||||
{ 0xe000, 0xefff, MRA_ROM }, /* space for diagnostic ROM? */
|
||||
{ 0xe000, 0xffff, MRA_ROM }, /* space for diagnostic ROM? */
|
||||
MEMORY_END
|
||||
|
||||
static MEMORY_WRITE_START( tokio_sound_writemem )
|
||||
{ 0x0000, 0x7fff, MWA_ROM },
|
||||
{ 0x8000, 0x8fff, MWA_RAM },
|
||||
/* { 0x9000, 0x9000, MWA_NOP }, // ??? /*/
|
||||
{ 0x9000, 0x9000, MWA_NOP }, /* ??? */
|
||||
{ 0xa000, 0xa000, bublbobl_sh_nmi_disable_w },
|
||||
{ 0xa800, 0xa800, bublbobl_sh_nmi_enable_w },
|
||||
{ 0xb000, 0xb000, YM2203_control_port_0_w },
|
||||
{ 0xb001, 0xb001, YM2203_write_port_0_w },
|
||||
{ 0xe000, 0xefff, MWA_ROM }, /* space for diagnostic ROM? */
|
||||
{ 0xe000, 0xffff, MWA_ROM }, /* space for diagnostic ROM? */
|
||||
MEMORY_END
|
||||
|
||||
static MEMORY_READ_START( tokio_m68705_readmem )
|
||||
{ 0x0000, 0x0000, tokio_68705_portA_r },
|
||||
{ 0x0001, 0x0001, tokio_68705_portB_r },
|
||||
{ 0x0002, 0x0002, tokio_68705_portC_r },
|
||||
{ 0x0010, 0x007f, MRA_RAM },
|
||||
{ 0x0080, 0x07ff, MRA_ROM },
|
||||
MEMORY_END
|
||||
|
||||
static MEMORY_WRITE_START( tokio_m68705_writemem )
|
||||
{ 0x0000, 0x0000, tokio_68705_portA_w },
|
||||
{ 0x0001, 0x0001, tokio_68705_portB_w },
|
||||
{ 0x0002, 0x0002, tokio_68705_portC_w },
|
||||
{ 0x0004, 0x0004, tokio_68705_ddrA_w },
|
||||
{ 0x0005, 0x0005, tokio_68705_ddrB_w },
|
||||
{ 0x0006, 0x0006, tokio_68705_ddrC_w },
|
||||
{ 0x0010, 0x007f, MWA_RAM },
|
||||
{ 0x0080, 0x07ff, MWA_ROM },
|
||||
MEMORY_END
|
||||
|
||||
INPUT_PORTS_START( bublbobl )
|
||||
PORT_START /* IN0 */
|
||||
@@ -763,16 +928,96 @@ INPUT_PORTS_START( tokio )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
|
||||
|
||||
PORT_START /* DSW1 */
|
||||
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Difficulty ) )
|
||||
PORT_DIPSETTING( 0x03, "Easy" )
|
||||
PORT_DIPSETTING( 0x02, "Medium" )
|
||||
PORT_DIPSETTING( 0x01, "Hard" )
|
||||
PORT_DIPSETTING( 0x00, "Hardest" )
|
||||
PORT_DIPNAME( 0x0c, 0x08, DEF_STR( Bonus_Life ) )
|
||||
PORT_DIPSETTING( 0x0C, "100000 400000" )
|
||||
PORT_DIPSETTING( 0x08, "200000 400000" )
|
||||
PORT_DIPSETTING( 0x04, "300000 400000" )
|
||||
PORT_DIPSETTING( 0x00, "400000 400000" )
|
||||
PORT_DIPNAME( 0x01, 0x01, "Enemies" )
|
||||
PORT_DIPSETTING( 0x01, "Few (Easy)" )
|
||||
PORT_DIPSETTING( 0x00, "Many (Hard)" )
|
||||
PORT_DIPNAME( 0x02, 0x02, "Enemy Shots" )
|
||||
PORT_DIPSETTING( 0x02, "Few (Easy)" )
|
||||
PORT_DIPSETTING( 0x00, "Many (Hard)" )
|
||||
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
|
||||
PORT_DIPSETTING( 0x0c, "100K 400K" )
|
||||
PORT_DIPSETTING( 0x08, "200K 400K" )
|
||||
PORT_DIPSETTING( 0x04, "300K 400K" )
|
||||
PORT_DIPSETTING( 0x00, "400K 400K" )
|
||||
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x30, "3" )
|
||||
PORT_DIPSETTING( 0x20, "4" )
|
||||
PORT_DIPSETTING( 0x10, "5" )
|
||||
PORT_BITX( 0, 0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "99", IP_KEY_NONE, IP_JOY_NONE )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x00, "Language" )
|
||||
PORT_DIPSETTING( 0x00, "English" )
|
||||
PORT_DIPSETTING( 0x80, "Japanese" )
|
||||
|
||||
PORT_START /* IN0 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN2 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* M68705 commands */
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* M68705 commands */
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START /* IN1 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START /* IN2 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* bootleg no mcu */
|
||||
INPUT_PORTS_START( tokiob )
|
||||
PORT_START /* DSW0 */
|
||||
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
|
||||
|
||||
PORT_START /* DSW1 */
|
||||
PORT_DIPNAME( 0x01, 0x01, "Enemies" )
|
||||
PORT_DIPSETTING( 0x01, "Few (Easy)" )
|
||||
PORT_DIPSETTING( 0x00, "Many (Hard)" )
|
||||
PORT_DIPNAME( 0x02, 0x02, "Enemy Shots" )
|
||||
PORT_DIPSETTING( 0x02, "Few (Easy)" )
|
||||
PORT_DIPSETTING( 0x00, "Many (Hard)" )
|
||||
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
|
||||
PORT_DIPSETTING( 0x0c, "100K 400K" )
|
||||
PORT_DIPSETTING( 0x08, "200K 400K" )
|
||||
PORT_DIPSETTING( 0x04, "300K 400K" )
|
||||
PORT_DIPSETTING( 0x00, "400K 400K" )
|
||||
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x30, "3" )
|
||||
PORT_DIPSETTING( 0x20, "4" )
|
||||
@@ -796,20 +1041,20 @@ INPUT_PORTS_START( tokio )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START /* IN1 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_2WAY )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_2WAY )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START /* IN2 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_2WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_2WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
|
||||
@@ -817,7 +1062,6 @@ INPUT_PORTS_START( tokio )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
static struct GfxLayout charlayout =
|
||||
{
|
||||
8,8, /* the characters are 8x8 pixels */
|
||||
@@ -871,7 +1115,7 @@ static struct YM2203interface tokio_ym2203_interface =
|
||||
{
|
||||
1, /* 1 chip */
|
||||
MAIN_XTAL/8, /* 3 MHz */
|
||||
{ YM2203_VOL(100,20) },
|
||||
{ YM2203_VOL(100,10) },
|
||||
{ 0 },
|
||||
{ 0 },
|
||||
{ 0 },
|
||||
@@ -963,6 +1207,45 @@ static MACHINE_DRIVER_START( tokio )
|
||||
MDRV_CPU_MEMORY(tokio_readmem2,tokio_writemem2)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
|
||||
|
||||
MDRV_CPU_ADD(Z80, MAIN_XTAL/8)
|
||||
MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* 3 MHz */
|
||||
MDRV_CPU_MEMORY(tokio_sound_readmem,tokio_sound_writemem)
|
||||
/* NMIs are triggered by the main CPU */
|
||||
/* IRQs are triggered by the YM2203 */
|
||||
MDRV_CPU_ADD(M68705, MAIN_XTAL/8) /* 3 MHz */
|
||||
MDRV_CPU_MEMORY(tokio_m68705_readmem,tokio_m68705_writemem)
|
||||
|
||||
|
||||
MDRV_FRAMES_PER_SECOND(60)
|
||||
MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION) /* frames/second, vblank duration */
|
||||
MDRV_INTERLEAVE(100) /* 100 CPU slices per frame - an high value to ensure proper */
|
||||
/* synchronization of the CPUs */
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
|
||||
MDRV_SCREEN_SIZE(32*8, 32*8)
|
||||
MDRV_VISIBLE_AREA(0, 32*8-1, 2*8, 30*8-1)
|
||||
MDRV_GFXDECODE(gfxdecodeinfo)
|
||||
MDRV_PALETTE_LENGTH(256)
|
||||
|
||||
MDRV_VIDEO_UPDATE(bublbobl)
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_SOUND_ADD(YM2203, tokio_ym2203_interface)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
/* Bubble Bobble Prototype - Tokio bootleg hookup no mcu */
|
||||
static MACHINE_DRIVER_START( tokiob )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(Z80, MAIN_XTAL/4) /* 6 MHz */
|
||||
MDRV_CPU_MEMORY(tokiob_readmem,tokiob_writemem)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
|
||||
|
||||
MDRV_CPU_ADD(Z80, MAIN_XTAL/4) /* 6 MHz */
|
||||
MDRV_CPU_MEMORY(tokio_readmem2,tokio_writemem2)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
|
||||
|
||||
MDRV_CPU_ADD(Z80, MAIN_XTAL/8)
|
||||
MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* 3 MHz */
|
||||
MDRV_CPU_MEMORY(tokio_sound_readmem,tokio_sound_writemem)
|
||||
@@ -1364,8 +1647,8 @@ ROM_START( tokio )
|
||||
ROM_REGION( 0x10000, REGION_CPU3, 0 ) /* audio CPU */
|
||||
ROM_LOAD( "a71-07.256", 0x0000, 0x08000, CRC(f298cc7b) SHA1(ebf5c804aa07b7f198ec3e1f8d1e111cd89ebdf3) )
|
||||
|
||||
ROM_REGION( 0x0800, REGION_CPU4, 0 ) /* 2k for the microcontroller */
|
||||
ROM_LOAD( "68705.bin", 0x0000, 0x0800, NO_DUMP )
|
||||
ROM_REGION( 0x0800, REGION_CPU4, 0 ) /* 2k for the microcontroller */
|
||||
ROM_LOAD( "a71__24.ic57", 0x0000, 0x0800, CRC(0f4b25de) SHA1(e2d82aa8d8cc6a86aaf5715ef9cb62f526fd5b11) )
|
||||
|
||||
ROM_REGION( 0x80000, REGION_GFX1, ROMREGION_DISPOSE | ROMREGION_INVERT )
|
||||
ROM_LOAD( "a71-08.256", 0x00000, 0x8000, CRC(0439ab13) SHA1(84142220a6a29f0e34f7c7c751b583bf394df8ce) ) /* 1st plane */
|
||||
@@ -1470,11 +1753,11 @@ GAME( 1986, bublbobl, 0, bublbobl, bublbobl, bublbobl, ROT0, "Taito Corp
|
||||
GAME( 1986, bublbob1, bublbobl, bublbobl, bublbobl, bublbobl, ROT0, "Taito Corporation", "Bubble Bobble (older)" )
|
||||
GAME( 1986, bublbobr, bublbobl, bublbobl, bublbobl, bublbobl, ROT0, "Taito America Corporation (Romstar license)", "Bubble Bobble (US with mode select)" )
|
||||
GAME( 1986, bubbobr1, bublbobl, bublbobl, bublbobl, bublbobl, ROT0, "Taito America Corporation (Romstar license)", "Bubble Bobble (US)" )
|
||||
GAME( 1986, bublboblp,bublbobl, tokio, bublboblp,bublbobl, ROT0, "Taito Corporation", "Bubble Bobble (prototype on Tokio hardware)" )
|
||||
GAME( 1986, bublboblp,bublbobl, tokiob, bublboblp,bublbobl, ROT0, "Taito Corporation", "Bubble Bobble (prototype on Tokio hardware)" )
|
||||
GAME( 1986, boblbobl, bublbobl, boblbobl, boblbobl, boblbobl, ROT0, "bootleg", "Bobble Bobble" )
|
||||
GAME( 1986, sboblbob, bublbobl, boblbobl, sboblbob, bublbobl, ROT0, "bootleg", "Super Bobble Bobble" )
|
||||
GAMEX(1986, tokio, 0, tokio, tokio, tokio, ROT90, "Taito", "Tokio - Scramble Formation", GAME_NOT_WORKING )
|
||||
GAME( 1986, tokiob, tokio, tokio, tokio, tokio, ROT90, "bootleg", "Tokio - Scramble Formation (bootleg)" )
|
||||
GAME( 1986, tokio, 0, tokio, tokio, tokio, ROT90, "Taito America Corporation (Romstar license)", "Tokio / Scramble Formation (US)" )
|
||||
GAME( 1986, tokiob, tokio, tokiob, tokiob, tokio, ROT90, "bootleg", "Tokio / Scramble Formation (bootleg)" )
|
||||
|
||||
/* hacks */
|
||||
GAME( 2012, bublboblu,bublbobl, bublbobl, bublbobl, bublbobl, ROT0, "hack", "Bubble Bobble (Ultra Version)(USA)" )
|
||||
|
||||
@@ -286,10 +286,10 @@ static struct GfxDecodeInfo gfxdecodeinfo[] =
|
||||
const struct discrete_555_astbl_desc canyonWhistl555 =
|
||||
{
|
||||
DISC_555_OUT_CAP | DISC_555_OUT_AC,
|
||||
5, // B+ voltage of 555
|
||||
5.0 - 1.7, // High output voltage of 555 (Usually v555 - 1.7)
|
||||
5.0 * 2.0 /3.0, // normally 2/3 of v555
|
||||
5.0 / 3.0 // normally 1/3 of v555
|
||||
5, /* B+ voltage of 555 */
|
||||
5.0 - 1.7, /* High output voltage of 555 (Usually v555 - 1.7) */
|
||||
5.0 * 2.0 /3.0, /* normally 2/3 of v555 */
|
||||
5.0 / 3.0 /* normally 1/3 of v555 */
|
||||
};
|
||||
|
||||
const struct discrete_lfsr_desc canyon_lfsr={
|
||||
|
||||
+43
-1
@@ -1,4 +1,4 @@
|
||||
/***************************************************************************
|
||||
/****************************************************************************
|
||||
|
||||
-= Cave Hardware =-
|
||||
|
||||
@@ -261,6 +261,7 @@ static READ16_HANDLER( cave_sound_r )
|
||||
***************************************************************************/
|
||||
|
||||
static data8_t cave_default_eeprom_type1[16] = {0x00,0x0C,0x11,0x0D,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x11,0x11,0xFF,0xFF,0xFF,0xFF}; /* DFeveron, Guwange */
|
||||
static data8_t cave_default_eeprom_type1feversos[18] = {0x00,0x0C,0x16,0x27,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x11,0x11,0xFF,0xFF,0xFF,0xFF,0x05,0x19}; /* Fever SOS (code checks for the 0x0519 or it won't boot) */
|
||||
static data8_t cave_default_eeprom_type2[16] = {0x00,0x0C,0xFF,0xFB,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; /* Esprade, DonPachi, DDonPachi */
|
||||
static data8_t cave_default_eeprom_type3[16] = {0x00,0x03,0x08,0x00,0xFF,0xFF,0xFF,0xFF,0x08,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF}; /* UoPoko */
|
||||
static data8_t cave_default_eeprom_type4[16] = {0xF3,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; /* Hotdog Storm */
|
||||
@@ -2811,6 +2812,33 @@ ROM_START( dfeveron )
|
||||
ROM_LOAD( "cv01-u19.bin", 0x000000, 0x400000, CRC(5f5514da) SHA1(53f27364aee544572a82649c9ff29bacc642b732) )
|
||||
ROM_END
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Fever SOS
|
||||
|
||||
Board: CV01
|
||||
OSC: 28.0, 16.0, 16.9 MHz
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
ROM_START( feversos )
|
||||
ROM_REGION( 0x100000, REGION_CPU1, 0 ) /* 68000 Code */
|
||||
ROM_LOAD16_BYTE( "rom1.bin", 0x000000, 0x080000, CRC(24ef3ce6) SHA1(42799eebbb2686a837b8972aec684143deadca59) )
|
||||
ROM_LOAD16_BYTE( "rom2.bin", 0x000001, 0x080000, CRC(64ff73fd) SHA1(7fc3a8469cec2361d373a4dac4a547c13ca5f709) )
|
||||
|
||||
ROM_REGION( 0x800000 * 2, REGION_GFX1, 0 ) /* Sprites: * 2 , do not dispose */
|
||||
ROM_LOAD( "cv01-u25.bin", 0x000000, 0x400000, CRC(a6f6a95d) SHA1(e1eb45cb5d0e6163edfd9d830633b913fb53c6ca) )
|
||||
ROM_LOAD( "cv01-u26.bin", 0x400000, 0x400000, CRC(32edb62a) SHA1(3def74e1316b80cc25a8c3ac162cd7bcb8cc807c) )
|
||||
|
||||
ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE ) /* Layer 0 */
|
||||
ROM_LOAD( "cv01-u50.bin", 0x000000, 0x200000, CRC(7a344417) SHA1(828bd8f95d2fcc34407e17629ccafc904a4ea12d) )
|
||||
|
||||
ROM_REGION( 0x200000, REGION_GFX3, ROMREGION_DISPOSE ) /* Layer 1 */
|
||||
ROM_LOAD( "cv01-u49.bin", 0x000000, 0x200000, CRC(d21cdda7) SHA1(cace4650de580c3c4a037f1f5c32bfc1846b383c) )
|
||||
|
||||
ROM_REGION( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY ) /* Samples */
|
||||
ROM_LOAD( "cv01-u19.bin", 0x000000, 0x400000, CRC(5f5514da) SHA1(53f27364aee544572a82649c9ff29bacc642b732) )
|
||||
ROM_END
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
@@ -3875,6 +3903,18 @@ DRIVER_INIT( dfeveron )
|
||||
time_vblank_irq = 100;
|
||||
}
|
||||
|
||||
DRIVER_INIT( feversos )
|
||||
{
|
||||
cave_default_eeprom = cave_default_eeprom_type1feversos;
|
||||
cave_default_eeprom_length = sizeof(cave_default_eeprom_type1feversos);
|
||||
cave_region_byte = -1;
|
||||
|
||||
unpack_sprites();
|
||||
cave_spritetype = 0; /* "normal" sprites */
|
||||
cave_kludge = 2;
|
||||
time_vblank_irq = 100;
|
||||
}
|
||||
|
||||
DRIVER_INIT( ddonpach )
|
||||
{
|
||||
cave_default_eeprom = cave_default_eeprom_type2;
|
||||
@@ -4122,6 +4162,7 @@ GAME( 1997, ddonpach, 0, ddonpach, cave, ddonpach, ROT270, "Atlus/Cav
|
||||
GAME( 1997, ddonpchj, ddonpach, ddonpach, cave, ddonpach, ROT270, "Atlus/Cave", "DoDonPachi (Japan)" )
|
||||
GAME( 2012, ddonpacha,ddonpach, ddonpach, cave, ddonpach, ROT270, "Other", "DoDonPachi (Arrange Ver. 1.1) (trap15, hack)" )
|
||||
GAME( 1998, dfeveron, 0, dfeveron, cave, dfeveron, ROT270, "Cave (Nihon System license)", "Dangun Feveron (Japan)" )
|
||||
GAME( 1998, feversos, dfeveron, dfeveron, cave, feversos, ROT270, "Cave (Nihon System license)", "Fever SOS (International)" )
|
||||
GAME( 1998, esprade, 0, esprade, cave, esprade, ROT270, "Atlus/Cave", "ESP Ra.De. (International Ver 1998 4-22)" )
|
||||
GAME( 1998, espradej, esprade, esprade, cave, esprade, ROT270, "Atlus/Cave", "ESP Ra.De. (Japan Ver 1998 4-21)" )
|
||||
GAME( 1998, espradeo, esprade, esprade, cave, esprade, ROT270, "Atlus/Cave", "ESP Ra.De. (Japan Ver 1998 4-14)" )
|
||||
@@ -4130,3 +4171,4 @@ GAME( 1999, guwange, 0, guwange, guwange, guwange, ROT270, "Atlus/Cav
|
||||
GAME( 2000, guwanges, guwange, guwange, guwange, guwange, ROT270, "Atlus/Cave", "Guwange (Japan Special Ver 2000 7-7)" )
|
||||
GAMEX(1999, gaia, 0, gaia, gaia, gaia, ROT0, "Noise Factory", "Gaia Crusaders", GAME_IMPERFECT_SOUND ) /* cuts out occasionally */
|
||||
GAMEX(2001, theroes, 0, gaia, theroes, gaia, ROT0, "Primetek Investments", "Thunder Heroes", GAME_IMPERFECT_SOUND ) /* cuts out occasionally */
|
||||
|
||||
+196
-2
@@ -5,6 +5,7 @@
|
||||
Games supported:
|
||||
* Centipede (5 sets)
|
||||
* Warlords
|
||||
* Maze Invaders (prototype)
|
||||
* Millipede
|
||||
|
||||
Known bugs:
|
||||
@@ -280,7 +281,7 @@
|
||||
|
||||
static int oldpos[4];
|
||||
static UINT8 sign[4];
|
||||
static UINT8 dsw_select;
|
||||
static UINT8 dsw_select, control_select;
|
||||
|
||||
|
||||
/*************************************
|
||||
@@ -295,6 +296,9 @@ static void generate_interrupt(int scanline)
|
||||
if (scanline & 16)
|
||||
cpu_set_irq_line(0, 0, ((scanline - 1) & 32) ? ASSERT_LINE : CLEAR_LINE);
|
||||
|
||||
/* do a partial update now to handle sprite multiplexing (Maze Invaders) */
|
||||
force_partial_update(scanline);
|
||||
|
||||
/* call back again after 16 scanlines */
|
||||
scanline += 16;
|
||||
if (scanline >= 256)
|
||||
@@ -393,6 +397,22 @@ static WRITE_HANDLER( input_select_w )
|
||||
dsw_select = (~data >> 7) & 1;
|
||||
}
|
||||
|
||||
/* used P2 controls if 1, P1 controls if 0 */
|
||||
static WRITE_HANDLER( control_select_w )
|
||||
{
|
||||
control_select = (data >> 7) & 1;
|
||||
}
|
||||
|
||||
static READ_HANDLER( mazeinv_input_r )
|
||||
{
|
||||
return readinputport(6 + control_select);
|
||||
}
|
||||
|
||||
|
||||
static WRITE_HANDLER( mazeinv_input_select_w )
|
||||
{
|
||||
control_select = offset & 3;
|
||||
}
|
||||
|
||||
|
||||
/*************************************
|
||||
@@ -519,6 +539,48 @@ MEMORY_END
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Maze Invaders CPU memory handlers
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static MEMORY_READ_START( mazeinv_readmem )
|
||||
MEMORY_ADDRESS_BITS(15)
|
||||
{ 0x0000, 0x03ff, MRA_RAM },
|
||||
{ 0x0400, 0x040f, pokey1_r },
|
||||
{ 0x0800, 0x080f, pokey2_r },
|
||||
{ 0x1000, 0x13bf, MRA_RAM },
|
||||
{ 0x13c0, 0x13ff, MRA_RAM },
|
||||
{ 0x2000, 0x2000, input_port_0_r },
|
||||
{ 0x2001, 0x2001, input_port_1_r },
|
||||
{ 0x2010, 0x2010, input_port_2_r },
|
||||
{ 0x2011, 0x2011, input_port_3_r },
|
||||
{ 0x2020, 0x2020, mazeinv_input_r },
|
||||
{ 0x2030, 0x2030, atari_vg_earom_r },
|
||||
{ 0x3000, 0x7fff, MRA_ROM },
|
||||
MEMORY_END
|
||||
|
||||
static MEMORY_WRITE_START( mazeinv_writemem )
|
||||
MEMORY_ADDRESS_BITS(15)
|
||||
{ 0x0000, 0x03ff, MWA_RAM },
|
||||
{ 0x0400, 0x040f, pokey1_w },
|
||||
{ 0x0800, 0x080f, pokey2_w },
|
||||
{ 0x1000, 0x13bf, centiped_videoram_w, &videoram },
|
||||
{ 0x13c0, 0x13ff, MWA_RAM, &spriteram },
|
||||
{ 0x2480, 0x249f, mazeinv_paletteram_w, &paletteram },
|
||||
{ 0x2500, 0x2502, coin_count_w },
|
||||
{ 0x2503, 0x2504, led_w },
|
||||
{ 0x2505, 0x2505, input_select_w },
|
||||
{ 0x2506, 0x2506, centiped_flip_screen_w },
|
||||
{ 0x2580, 0x2583, mazeinv_input_select_w },
|
||||
{ 0x2600, 0x2600, irq_ack_w },
|
||||
{ 0x2680, 0x2680, watchdog_reset_w },
|
||||
{ 0x2700, 0x2700, atari_vg_earom_ctrl_w },
|
||||
{ 0x2780, 0x27bf, atari_vg_earom_w },
|
||||
{ 0x3000, 0x7fff, MWA_ROM },
|
||||
MEMORY_END
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Millipede CPU memory handlers
|
||||
@@ -877,6 +939,113 @@ INPUT_PORTS_START( magworm )
|
||||
PORT_ANALOG( 0xff, 0x00, IPT_TRACKBALL_Y | IPF_COCKTAIL | IPF_REVERSE, 50, 10, 0, 0 )
|
||||
INPUT_PORTS_END
|
||||
|
||||
INPUT_PORTS_START( mazeinv )
|
||||
PORT_START /* IN0 */
|
||||
PORT_DIPNAME( 0x03, 0x00, "Language")
|
||||
PORT_DIPSETTING( 0x00, "English")
|
||||
PORT_DIPSETTING( 0x01, "German")
|
||||
PORT_DIPSETTING( 0x02, "French")
|
||||
PORT_DIPSETTING( 0x03, "Spanish")
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( On ))
|
||||
PORT_DIPNAME( 0x40, 0x00, "Minimum credits" )
|
||||
PORT_DIPSETTING( 0x00, "1" )
|
||||
PORT_DIPSETTING( 0x40, "2" )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK )
|
||||
|
||||
PORT_START /* IN1 */
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START /* IN2 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 )
|
||||
|
||||
PORT_START /* IN3 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED)
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED)
|
||||
PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
|
||||
|
||||
PORT_START /* IN4 */
|
||||
PORT_DIPNAME( 0x03, 0x00, "Doors for bonus" )
|
||||
PORT_DIPSETTING( 0x00, "10" )
|
||||
PORT_DIPSETTING( 0x01, "12" )
|
||||
PORT_DIPSETTING( 0x02, "14" )
|
||||
PORT_DIPSETTING( 0x03, "16" )
|
||||
PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ))
|
||||
PORT_DIPSETTING( 0x00, "2" )
|
||||
PORT_DIPSETTING( 0x04, "3" )
|
||||
PORT_DIPSETTING( 0x08, "4" )
|
||||
PORT_DIPSETTING( 0x0c, "5" )
|
||||
PORT_DIPNAME( 0x30, 0x00, "Extra life at" )
|
||||
PORT_DIPSETTING( 0x00, "20000" )
|
||||
PORT_DIPSETTING( 0x10, "25000" )
|
||||
PORT_DIPSETTING( 0x20, "30000" )
|
||||
PORT_DIPSETTING( 0x30, "Never" )
|
||||
PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Difficulty ))
|
||||
PORT_DIPSETTING( 0x00, "Easiest")
|
||||
PORT_DIPSETTING( 0x40, "Easy")
|
||||
PORT_DIPSETTING( 0x80, "Hard")
|
||||
PORT_DIPSETTING( 0xc0, "Harder")
|
||||
|
||||
PORT_START /* IN5 */
|
||||
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ))
|
||||
PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ))
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ))
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ))
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ))
|
||||
PORT_DIPNAME( 0x0c, 0x00, "Coin 2" )
|
||||
PORT_DIPSETTING( 0x00, "*1" )
|
||||
PORT_DIPSETTING( 0x04, "*4" )
|
||||
PORT_DIPSETTING( 0x08, "*5" )
|
||||
PORT_DIPSETTING( 0x0c, "*6" )
|
||||
PORT_DIPNAME( 0x10, 0x00, "Coin 3" )
|
||||
PORT_DIPSETTING( 0x00, "*1" )
|
||||
PORT_DIPSETTING( 0x10, "*2" )
|
||||
PORT_DIPNAME( 0xe0, 0x00, "Bonus Coins" )
|
||||
PORT_DIPSETTING( 0x00, "None")
|
||||
PORT_DIPSETTING( 0x20, "3 credits/2 coins" )
|
||||
PORT_DIPSETTING( 0x40, "5 credits/4 coins" )
|
||||
PORT_DIPSETTING( 0x60, "6 credits/4 coins" )
|
||||
PORT_DIPSETTING( 0x80, "6 credits/5 coins" )
|
||||
|
||||
/* IN6-9 fake to control player joysticks */
|
||||
PORT_START
|
||||
PORT_ANALOG( 0xff, 0x7f, IPT_AD_STICK_Y | IPF_REVERSE | IPF_PLAYER1, 100, 10, 0x40, 0xbf )
|
||||
|
||||
|
||||
PORT_START
|
||||
PORT_ANALOG( 0xff, 0x7f, IPT_AD_STICK_Y | IPF_PLAYER2, 100, 10, 0x40, 0xbf )
|
||||
|
||||
PORT_START
|
||||
PORT_ANALOG( 0xff, 0x7f, IPT_AD_STICK_X | IPF_PLAYER1, 100, 10, 0x40, 0xbf )
|
||||
|
||||
|
||||
PORT_START
|
||||
PORT_ANALOG( 0xff, 0x7f, IPT_AD_STICK_X | IPF_REVERSE | IPF_PLAYER2, 100, 10, 0x40, 0xbf )
|
||||
INPUT_PORTS_END
|
||||
|
||||
INPUT_PORTS_START( milliped )
|
||||
PORT_START /* IN0 $2000 */ /* see port 6 for x trackball */
|
||||
@@ -1305,6 +1474,15 @@ static MACHINE_DRIVER_START( milliped )
|
||||
MDRV_SOUND_REPLACE("pokey", POKEY, milliped_pokey_interface)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( mazeinv )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(milliped)
|
||||
MDRV_CPU_MODIFY("main")
|
||||
MDRV_CPU_MEMORY(mazeinv_readmem,mazeinv_writemem)
|
||||
MDRV_VIDEO_UPDATE(centiped)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
static MACHINE_DRIVER_START( warlords )
|
||||
|
||||
@@ -1426,6 +1604,22 @@ ROM_START( magworm )
|
||||
ROM_LOAD( "magworm.5", 0x0800, 0x0800, CRC(24558ea5) SHA1(8cd7131e19afd7a96191b1b3c3fba7ae9a140f4b) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( mazeinv )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 64k for code */
|
||||
ROM_LOAD( "005.011", 0x3000, 0x1000, CRC(37129536) SHA1(356cb986a40b332100e00fb72194fd4dade2cba7) )
|
||||
ROM_LOAD( "004.011", 0x4000, 0x1000, CRC(2d0fbf2f) SHA1(9d4c2bc9f80604d1ff5c5bf5a4a78378efdd8b33) )
|
||||
ROM_LOAD( "003.011", 0x5000, 0x1000, CRC(0ff3747c) SHA1(1a7e1c487c24875dada967fb3a9ceaca25b7e2a7) )
|
||||
ROM_LOAD( "002.011", 0x6000, 0x1000, CRC(96478e07) SHA1(e99d9970dc12ed36520d91646f1955cce87b55b6) )
|
||||
ROM_LOAD( "001.011", 0x7000, 0x1000, CRC(d5c29a01) SHA1(5201a6cd42e4954c6cd4298f7b6cee4a8c181248) )
|
||||
|
||||
ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "007.011", 0x0000, 0x0800, CRC(16e738f4) SHA1(96335afc4510aae6b4ee6dfd8f5c1b2baa8c2798) )
|
||||
ROM_LOAD( "006.011", 0x0800, 0x0800, CRC(d4705e4e) SHA1(e099f3df0d2f56d557631e69bc76ae2f09a80b42) )
|
||||
|
||||
ROM_REGION( 0x0120, REGION_PROMS, 0 )
|
||||
ROM_LOAD( "009.011", 0x0000, 0x0020, CRC(dcc48de5) SHA1(5594568dd6a605d6d9d9646b1af645af72a7f53d) )
|
||||
ROM_LOAD( "008.011", 0x0020, 0x0100, CRC(6fa3093a) SHA1(2b7aeca74c1ae4156bf1878453a047330f96f0a8) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( milliped )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 64k for code */
|
||||
@@ -1497,7 +1691,7 @@ GAME( 1980, centipdb, centiped, centipdb, centipdb, centipdb, ROT270, "bootleg",
|
||||
GAME( 1980, centipb2, centiped, centipb2, centiped, 0, ROT270, "bootleg", "Centipede (bootleg, set 1)" )
|
||||
GAME( 1980, millpac, centiped, centipb2, centiped, 0, ROT270, "Valadon Automation", "Millpac (bootleg of Centipede)" )
|
||||
GAME( 1980, magworm, centiped, magworm, magworm, magworm, ROT270, "bootleg", "Magic Worm (bootleg of Centipede)" )
|
||||
|
||||
GAME( 1981, mazeinv, 0, mazeinv, mazeinv, 0, ROT270, "Atari", "Maze Invaders (prototype)" )
|
||||
GAME( 1982, milliped, 0, milliped, milliped, 0, ROT270, "Atari", "Millipede" )
|
||||
|
||||
GAME( 1980, warlords, 0, warlords, warlords, 0, ROT0, "Atari", "Warlords" )
|
||||
+13
-5
@@ -272,9 +272,7 @@ INPUT_PORTS_START( spacewar )
|
||||
PORT_DIPSETTING( SW2ON |SW1ON, "1:00/coin" )
|
||||
PORT_DIPSETTING( SW2ON |SW1OFF, "1:30/coin" )
|
||||
PORT_DIPSETTING( SW2OFF|SW1ON, "2:00/coin" )
|
||||
PORT_DIPNAME( SW7, SW7OFF, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( SW7OFF, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( SW7ON, DEF_STR( On ) )
|
||||
PORT_BITX( 0x40, IP_ACTIVE_LOW, 0, "Reset Playfield", KEYCODE_R, IP_JOY_NONE )
|
||||
PORT_BIT ( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
|
||||
PORT_BIT ( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
|
||||
PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
|
||||
@@ -1019,6 +1017,16 @@ static MACHINE_DRIVER_START( starcas )
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
static MACHINE_DRIVER_START( tailg )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(cinemat)
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_SOUND_ADD(SAMPLES, tailg_samples_interface)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
static MACHINE_DRIVER_START( ripoff )
|
||||
|
||||
/* basic machine hardware */
|
||||
@@ -1316,7 +1324,7 @@ static DRIVER_INIT( starcas )
|
||||
static DRIVER_INIT( tailg )
|
||||
{
|
||||
ccpu_Config(0, CCPU_MEMSIZE_8K, CCPU_MONITOR_BILEV);
|
||||
cinemat_sound_handler = 0;
|
||||
cinemat_sound_handler = tailg_sound_w;
|
||||
artwork_set_overlay(tailg_overlay);
|
||||
}
|
||||
|
||||
@@ -1425,7 +1433,7 @@ GAME( 1980, starcas1, starcas, starcas, starcas, starcas, ROT0, "Cinematron
|
||||
GAME( 1980, starcasp, starcas, starcas, starcas, starcas, ROT0, "Cinematronics", "Star Castle (prototype)" )
|
||||
GAME( 1980, starcase, starcas, starcas, starcas, starcas, ROT0, "Cinematronics (Mottoeis license)", "Star Castle (Mottoeis)" )
|
||||
GAME( 1980, stellcas, starcas, starcas, starcas, starcas, ROT0, "bootleg", "Stellar Castle (Elettronolo)" )
|
||||
GAMEX(1979, tailg, 0, cinemat, tailg, tailg, ROT0, "Cinematronics", "Tailgunner", GAME_NO_SOUND )
|
||||
GAME( 1979, tailg, 0, tailg, tailg, tailg, ROT0, "Cinematronics", "Tailgunner" )
|
||||
GAME( 1979, ripoff, 0, ripoff, ripoff, ripoff, ROT0, "Cinematronics", "Rip Off" )
|
||||
GAMEX(1979, speedfrk, 0, cinemat, speedfrk, speedfrk, ROT0, "Vectorbeam", "Speed Freak", GAME_NO_SOUND )
|
||||
GAME( 1979, sundance, 0, sundance, sundance, sundance, ROT270, "Cinematronics", "Sundance" )
|
||||
|
||||
@@ -70,7 +70,7 @@ static READ_HANDLER( ripcord_IN2_r )
|
||||
/* real machine, though a little ugly and likely just because of */
|
||||
/* limited ability to do overlays back in 1977. */
|
||||
/* For the authentic look, uncomment the definition below. */
|
||||
//#define USE_AUTHENTIC_OVERLAY 1
|
||||
/*#define USE_AUTHENTIC_OVERLAY 1 */
|
||||
OVERLAY_START( circus_overlay )
|
||||
#ifdef USE_AUTHENTIC_OVERLAY
|
||||
OVERLAY_RECT( 0, 20, 248, 36, OVERLAY_BLUE )
|
||||
|
||||
@@ -513,7 +513,7 @@ INPUT_PORTS_START( cninja )
|
||||
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
|
||||
PORT_DIPNAME( 0x4000, 0x4000, "Restore Life Meter" ) /* Life Meter Restored when Big Boss is Defeated */
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Demo_Sounds ) )
|
||||
|
||||
@@ -838,6 +838,7 @@ MACHINE_DRIVER_START( r3knarrow )
|
||||
MDRV_IMPORT_FROM(cojagr3k)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_SIZE(40*8, 30*8)
|
||||
MDRV_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
@@ -217,12 +217,12 @@ static WRITE_HANDLER( combasc_sh_irqtrigger_w )
|
||||
|
||||
static WRITE_HANDLER( combasc_play_w )
|
||||
{
|
||||
UPD7759_start_w(0, data & 2);
|
||||
upd7759_start_w(0, data & 2);
|
||||
}
|
||||
|
||||
static WRITE_HANDLER( combasc_voice_reset_w )
|
||||
{
|
||||
UPD7759_reset_w(0,data & 1);
|
||||
upd7759_reset_w(0,data & 1);
|
||||
}
|
||||
|
||||
static WRITE_HANDLER( combasc_portA_w )
|
||||
@@ -337,7 +337,7 @@ MEMORY_END
|
||||
static MEMORY_READ_START( combasc_readmem_sound )
|
||||
{ 0x0000, 0x7fff, MRA_ROM }, /* ROM */
|
||||
{ 0x8000, 0x87ff, MRA_RAM }, /* RAM */
|
||||
{ 0xb000, 0xb000, UPD7759_0_busy_r }, /* UPD7759 busy? */
|
||||
{ 0xb000, 0xb000, upd7759_0_busy_r }, /* UPD7759 busy? */
|
||||
{ 0xd000, 0xd000, soundlatch_r }, /* soundlatch_r? */
|
||||
{ 0xe000, 0xe000, combasc_YM2203_status_port_0_r }, /* YM 2203 intercepted */
|
||||
MEMORY_END
|
||||
@@ -346,7 +346,7 @@ static MEMORY_WRITE_START( combasc_writemem_sound )
|
||||
{ 0x0000, 0x7fff, MWA_ROM }, /* ROM */
|
||||
{ 0x8000, 0x87ff, MWA_RAM }, /* RAM */
|
||||
{ 0x9000, 0x9000, combasc_play_w }, /* uPD7759 play voice */
|
||||
{ 0xa000, 0xa000, UPD7759_0_port_w }, /* uPD7759 voice select */
|
||||
{ 0xa000, 0xa000, upd7759_0_port_w }, /* uPD7759 voice select */
|
||||
{ 0xc000, 0xc000, combasc_voice_reset_w }, /* uPD7759 reset? */
|
||||
{ 0xe000, 0xe000, YM2203_control_port_0_w },/* YM 2203 */
|
||||
{ 0xe001, 0xe001, YM2203_write_port_0_w }, /* YM 2203 */
|
||||
@@ -653,12 +653,12 @@ static struct YM2203interface ym2203_interface =
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
static struct UPD7759_interface upd7759_interface =
|
||||
static struct upd7759_interface upd7759_interface =
|
||||
{
|
||||
1, /* number of chips */
|
||||
{ UPD7759_STANDARD_CLOCK },
|
||||
{ 70 }, /* volume */
|
||||
{ REGION_SOUND1 }, /* memory region */
|
||||
UPD7759_STANDALONE_MODE, /* chip mode */
|
||||
{0}
|
||||
};
|
||||
|
||||
|
||||
+35
-13
@@ -15,7 +15,10 @@ Credits:
|
||||
|
||||
#include "driver.h"
|
||||
#include "vidhrdw/generic.h"
|
||||
#include "vidhrdw/konamiic.h"
|
||||
#include "cpu/m6809/m6809.h"
|
||||
#include "cpu/hd6309/hd6309.h"
|
||||
#include "ost_samples.h"
|
||||
|
||||
extern unsigned char *contra_fg_vram,*contra_fg_cram;
|
||||
extern unsigned char *contra_bg_vram,*contra_bg_cram;
|
||||
@@ -35,6 +38,11 @@ WRITE_HANDLER( contra_K007121_ctrl_1_w );
|
||||
VIDEO_UPDATE( contra );
|
||||
VIDEO_START( contra );
|
||||
|
||||
static INTERRUPT_GEN( contra_interrupt )
|
||||
{
|
||||
if (K007121_ctrlram[0][0x07] & 0x02)
|
||||
cpu_set_irq_line(0, HD6309_IRQ_LINE, HOLD_LINE);
|
||||
}
|
||||
|
||||
WRITE_HANDLER( contra_bankswitch_w )
|
||||
{
|
||||
@@ -45,6 +53,9 @@ WRITE_HANDLER( contra_bankswitch_w )
|
||||
bankaddress = 0x10000 + (data & 0x0f) * 0x2000;
|
||||
if (bankaddress < 0x28000) /* for safety */
|
||||
cpu_setbank(1,&RAM[bankaddress]);
|
||||
else
|
||||
usrintf_showmessage("bankswitch %X", data & 0xf);
|
||||
|
||||
}
|
||||
|
||||
WRITE_HANDLER( contra_sh_irqtrigger_w )
|
||||
@@ -56,11 +67,19 @@ WRITE_HANDLER( contra_coin_counter_w )
|
||||
{
|
||||
if (data & 0x01) coin_counter_w(0,data & 0x01);
|
||||
if (data & 0x02) coin_counter_w(1,(data & 0x02) >> 1);
|
||||
|
||||
if( ost_support_enabled(OST_SUPPORT_CONTRA) )
|
||||
ost_fade_volume();
|
||||
}
|
||||
|
||||
static WRITE_HANDLER( cpu_sound_command_w )
|
||||
{
|
||||
soundlatch_w(offset,data);
|
||||
if( ost_support_enabled(OST_SUPPORT_CONTRA) ) {
|
||||
if(generate_ost_sound( data ))
|
||||
soundlatch_w(offset,data);
|
||||
}
|
||||
else
|
||||
soundlatch_w(offset,data);
|
||||
}
|
||||
|
||||
UINT32 math_regs[6];
|
||||
@@ -90,12 +109,12 @@ WRITE_HANDLER(contra_k007452_w)
|
||||
|
||||
if (offset == 1)
|
||||
{
|
||||
// Starts multiplication process
|
||||
/* Starts multiplication process */
|
||||
multiply_result = math_regs[0] * math_regs[1];
|
||||
}
|
||||
else if (offset == 5)
|
||||
{
|
||||
// Starts division process
|
||||
/* Starts division process */
|
||||
UINT16 dividend = (math_regs[4]<<8) + math_regs[5];
|
||||
UINT16 divisor = (math_regs[2]<<8) + math_regs[3];
|
||||
if (!divisor) {
|
||||
@@ -114,13 +133,14 @@ static MEMORY_READ_START( readmem )
|
||||
{ 0x0010, 0x0010, input_port_0_r }, /* IN0 */
|
||||
{ 0x0011, 0x0011, input_port_1_r }, /* IN1 */
|
||||
{ 0x0012, 0x0012, input_port_2_r }, /* IN2 */
|
||||
|
||||
{ 0x0014, 0x0014, input_port_3_r }, /* DIPSW1 */
|
||||
{ 0x0015, 0x0015, input_port_4_r }, /* DIPSW2 */
|
||||
{ 0x0016, 0x0016, input_port_5_r }, /* DIPSW3 */
|
||||
|
||||
{ 0x0c00, 0x0cff, MRA_RAM },
|
||||
{ 0x1000, 0x5fff, MRA_RAM },
|
||||
{ 0x3000, 0x3fff, MRA_RAM },
|
||||
{ 0x4800, 0x4fff, MRA_RAM },
|
||||
{ 0x5000, 0x5fff, MRA_RAM },
|
||||
{ 0x6000, 0x7fff, MRA_BANK1 },
|
||||
{ 0x8000, 0xffff, MRA_ROM },
|
||||
MEMORY_END
|
||||
@@ -139,11 +159,11 @@ static MEMORY_WRITE_START( writemem )
|
||||
{ 0x2400, 0x27ff, contra_fg_vram_w, &contra_fg_vram },
|
||||
{ 0x2800, 0x2bff, contra_text_cram_w, &contra_text_cram },
|
||||
{ 0x2c00, 0x2fff, contra_text_vram_w, &contra_text_vram },
|
||||
{ 0x3000, 0x37ff, MWA_RAM, &spriteram },/* 2nd bank is at 0x5000 */
|
||||
{ 0x3800, 0x3fff, MWA_RAM }, /* second sprite buffer*/
|
||||
{ 0x3000, 0x3fff, MWA_RAM, &spriteram },
|
||||
{ 0x4000, 0x43ff, contra_bg_cram_w, &contra_bg_cram },
|
||||
{ 0x4400, 0x47ff, contra_bg_vram_w, &contra_bg_vram },
|
||||
{ 0x4800, 0x5fff, MWA_RAM },
|
||||
{ 0x4800, 0x4fff, MWA_RAM },
|
||||
{ 0x5000, 0x5fff, MWA_RAM, &spriteram_2 },
|
||||
{ 0x6000, 0x6fff, MWA_ROM },
|
||||
{ 0x7000, 0x7000, contra_bankswitch_w },
|
||||
{ 0x7001, 0xffff, MWA_ROM },
|
||||
@@ -303,18 +323,18 @@ static struct YM2151interface ym2151_interface =
|
||||
|
||||
static MACHINE_DRIVER_START( contra )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M6809, 1500000)
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(HD6309, 3000000) /* 24MHz/8 */
|
||||
MDRV_CPU_MEMORY(readmem,writemem)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT(contra_interrupt,1)
|
||||
|
||||
MDRV_CPU_ADD(M6809, 2000000)
|
||||
MDRV_CPU_ADD(M6809, 3579545) /* 3.579545 MHz */
|
||||
MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
|
||||
MDRV_CPU_MEMORY(readmem_sound,writemem_sound)
|
||||
|
||||
MDRV_FRAMES_PER_SECOND(60)
|
||||
MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
|
||||
MDRV_INTERLEAVE(10) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
|
||||
MDRV_INTERLEAVE(100) /* 100 CPU slices per frame - enough for the sound CPU to read all commands */
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
|
||||
@@ -331,6 +351,8 @@ static MACHINE_DRIVER_START( contra )
|
||||
/* sound hardware */
|
||||
MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
|
||||
MDRV_SOUND_ADD(YM2151, ym2151_interface)
|
||||
|
||||
MDRV_INSTALL_OST_SUPPORT(OST_SUPPORT_CONTRA)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
|
||||
+502
-174
@@ -8,11 +8,12 @@
|
||||
|
||||
68000 for game, Z80, YM-2151 and OKIM6295 for sound.
|
||||
|
||||
68000 clock speeds are unknown for all games (except where commented)
|
||||
68000 clock speeds are correct for all games.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "driver.h"
|
||||
#include "state.h"
|
||||
#include "vidhrdw/generic.h"
|
||||
#include "machine/eeprom.h"
|
||||
#include "ost_samples.h"
|
||||
@@ -79,7 +80,7 @@ static WRITE_HANDLER( cps1_snd_bankswitch_w )
|
||||
bankaddr = (data * 0x4000) & (length-1);
|
||||
cpu_setbank(1,&RAM[0x10000 + bankaddr]);
|
||||
|
||||
if (data & 0xfe) log_cb(RETRO_LOG_DEBUG, LOGPRE "%04x: write %02x to f004\n",activecpu_get_pc(),data);
|
||||
if (data & 0xfe) log_cb(RETRO_LOG_DEBUG, LOGPRE "%04x: write %02x to f004\n",activecpu_get_pc(),data);
|
||||
}
|
||||
|
||||
static WRITE16_HANDLER( cps1_sound_fade_w )
|
||||
@@ -101,21 +102,20 @@ static WRITE16_HANDLER( cps1_sound_command_w )
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "%X\n", data);
|
||||
}
|
||||
*/
|
||||
|
||||
/* We are playing Final Fight. */
|
||||
if(ff_playing_final_fight && options.use_alt_sound) {
|
||||
if(generate_ost_sound_ffight( data )) {
|
||||
if(ACCESSING_LSB) soundlatch_w(0,data & 0xff);
|
||||
|
||||
if(ACCESSING_LSB) {
|
||||
/* We are playing Final Fight. */
|
||||
if( ost_support_enabled(OST_SUPPORT_FFIGHT) ) {
|
||||
if(generate_ost_sound( data ))
|
||||
soundlatch_w(0,data & 0xff);
|
||||
}
|
||||
}
|
||||
/* We are playing Street Fighter 2. */
|
||||
else if(sf2_playing_street_fighter && options.use_alt_sound) {
|
||||
if(generate_ost_sound_sf2( data )) {
|
||||
if(ACCESSING_LSB) soundlatch_w(0,data & 0xff);
|
||||
/* We are playing Street Fighter 2. */
|
||||
else if( ost_support_enabled(OST_SUPPORT_SF2) ) {
|
||||
if(generate_ost_sound( data ))
|
||||
soundlatch_w(0,data & 0xff);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(ACCESSING_LSB) soundlatch_w(0,data & 0xff);
|
||||
else
|
||||
soundlatch_w(0,data & 0xff);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,7 +165,7 @@ static INTERRUPT_GEN( cps1_interrupt )
|
||||
/* *only* game to have that. */
|
||||
cpu_set_irq_line(0, 2, HOLD_LINE);
|
||||
|
||||
if(sf2_playing_street_fighter && options.use_alt_sound)
|
||||
if( ost_support_enabled(OST_SUPPORT_SF2) )
|
||||
ost_fade_volume();
|
||||
}
|
||||
|
||||
@@ -232,20 +232,37 @@ static WRITE16_HANDLER( qsound_sharedram2_w )
|
||||
qsound_sharedram2[offset] = data;
|
||||
}
|
||||
|
||||
static int qsound_bank; /* Z80 bank, kept for save states */
|
||||
|
||||
static void qsound_banksw_set(void)
|
||||
{
|
||||
unsigned char *RAM = memory_region(REGION_CPU2);
|
||||
int bankaddress=0x10000+(qsound_bank*0x4000);
|
||||
if (bankaddress >= memory_region_length(REGION_CPU2))
|
||||
{
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "WARNING: Q sound bank overflow (%02x)\n", qsound_bank);
|
||||
bankaddress=0x10000;
|
||||
}
|
||||
cpu_setbank(1, &RAM[bankaddress]);
|
||||
}
|
||||
|
||||
static WRITE_HANDLER( qsound_banksw_w )
|
||||
{
|
||||
/*
|
||||
Z80 bank register for music note data. It's odd that it isn't encrypted
|
||||
though.
|
||||
*/
|
||||
unsigned char *RAM = memory_region(REGION_CPU2);
|
||||
int bankaddress=0x10000+((data&0x0f)*0x4000);
|
||||
if (bankaddress >= memory_region_length(REGION_CPU2))
|
||||
{
|
||||
log_cb(RETRO_LOG_DEBUG, LOGPRE "WARNING: Q sound bank overflow (%02x)\n", data);
|
||||
bankaddress=0x10000;
|
||||
}
|
||||
cpu_setbank(1, &RAM[bankaddress]);
|
||||
qsound_bank = data & 0x0f;
|
||||
qsound_banksw_set();
|
||||
}
|
||||
|
||||
/* Save the Z80 bank of the QSound games: after loading a save state the
|
||||
music code runs from the right bank again. */
|
||||
void cps_qsound_state_register(void)
|
||||
{
|
||||
qsound_bank = 0;
|
||||
state_save_register_int("qsound_z80", 0, "bank", &qsound_bank);
|
||||
state_save_register_func_postload(qsound_banksw_set);
|
||||
}
|
||||
|
||||
|
||||
@@ -381,7 +398,7 @@ static MEMORY_WRITE_START( sound_writemem )
|
||||
{ 0xf001, 0xf001, YM2151_data_port_0_w },
|
||||
{ 0xf002, 0xf002, OKIM6295_data_0_w },
|
||||
{ 0xf004, 0xf004, cps1_snd_bankswitch_w },
|
||||
/* { 0xf006, 0xf006, MWA_NOP }, // ???? Unknown ???? /*/
|
||||
/* { 0xf006, 0xf006, MWA_NOP },*/ /* ???? Unknown ???? */
|
||||
MEMORY_END
|
||||
|
||||
MEMORY_READ_START( qsound_readmem )
|
||||
@@ -1352,19 +1369,19 @@ INPUT_PORTS_START( ffightae )
|
||||
|
||||
PORT_START /* DSWB */
|
||||
PORT_DIPNAME( 0x07, 0x04, "Difficulty Level 1" )
|
||||
PORT_DIPSETTING( 0x07, "Easiest" ) // "01"
|
||||
PORT_DIPSETTING( 0x06, "Easier" ) // "02"
|
||||
PORT_DIPSETTING( 0x05, "Easy" ) // "03"
|
||||
PORT_DIPSETTING( 0x04, "Normal" ) // "04"
|
||||
PORT_DIPSETTING( 0x03, "Medium" ) // "05"
|
||||
PORT_DIPSETTING( 0x02, "Hard" ) // "06"
|
||||
PORT_DIPSETTING( 0x01, "Harder" ) // "07"
|
||||
PORT_DIPSETTING( 0x00, "Hardest" ) // "08"
|
||||
PORT_DIPSETTING( 0x07, "Easiest" ) /* "01" */
|
||||
PORT_DIPSETTING( 0x06, "Easier" ) /* "02" */
|
||||
PORT_DIPSETTING( 0x05, "Easy" ) /* "03" */
|
||||
PORT_DIPSETTING( 0x04, "Normal" ) /* "04" */
|
||||
PORT_DIPSETTING( 0x03, "Medium" ) /* "05" */
|
||||
PORT_DIPSETTING( 0x02, "Hard" ) /* "06" */
|
||||
PORT_DIPSETTING( 0x01, "Harder" ) /* "07" */
|
||||
PORT_DIPSETTING( 0x00, "Hardest" ) /* "08" */
|
||||
PORT_DIPNAME( 0x18, 0x10, "Difficulty Level 2" )
|
||||
PORT_DIPSETTING( 0x18, "Easy" ) // "01"
|
||||
PORT_DIPSETTING( 0x10, "Normal" ) // "02"
|
||||
PORT_DIPSETTING( 0x08, "Hard" ) // "03"
|
||||
PORT_DIPSETTING( 0x00, "Hardest" ) // "04"
|
||||
PORT_DIPSETTING( 0x18, "Easy" ) /* "01" */
|
||||
PORT_DIPSETTING( 0x10, "Normal" ) /* "02" */
|
||||
PORT_DIPSETTING( 0x08, "Hard" ) /* "03" */
|
||||
PORT_DIPSETTING( 0x00, "Hardest" ) /* "04" */
|
||||
PORT_DIPNAME( 0x60, 0x60, DEF_STR( Bonus_Life ) )
|
||||
PORT_DIPSETTING( 0x60, "100k" )
|
||||
PORT_DIPSETTING( 0x40, "200k" )
|
||||
@@ -1406,7 +1423,7 @@ INPUT_PORTS_START( ffightae )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
|
||||
@@ -1414,7 +1431,7 @@ INPUT_PORTS_START( ffightae )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START /* Player 3 */
|
||||
@@ -3997,20 +4014,31 @@ static MACHINE_DRIVER_START( cps1 )
|
||||
MDRV_SOUND_ADD_TAG("okim", OKIM6295, okim6295_interface_7576)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( cps1_12mhz )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(cps1)
|
||||
MDRV_CPU_REPLACE("main", M68000, 12000000)
|
||||
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
/* For Final Fight.*/
|
||||
static MACHINE_DRIVER_START( ffight_hack )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(cps1)
|
||||
|
||||
/* Lets add our Final Fight music sample packs.*/
|
||||
MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
|
||||
MDRV_SOUND_ADD_TAG("OST Samples", SAMPLES, ost_ffight)
|
||||
ff_playing_final_fight = true;
|
||||
ff_alternate_song_1 = false;
|
||||
ff_alternate_song_2 = false;
|
||||
MDRV_INSTALL_OST_SUPPORT(OST_SUPPORT_FFIGHT)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( ffight_hack_12mhz )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(cps1)
|
||||
MDRV_CPU_REPLACE("main", M68000, 12000000)
|
||||
|
||||
MDRV_INSTALL_OST_SUPPORT(OST_SUPPORT_FFIGHT)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( forgottn )
|
||||
|
||||
@@ -4024,16 +4052,19 @@ MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( sf2 )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(cps1)
|
||||
|
||||
MDRV_INSTALL_OST_SUPPORT(OST_SUPPORT_SF2)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( sf2_12mhz )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(cps1)
|
||||
MDRV_CPU_REPLACE("main", M68000, 12000000)
|
||||
|
||||
/* Lets add our Street Fighter 2 music sample packs.*/
|
||||
MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
|
||||
MDRV_SOUND_ADD_TAG("OST Samples", SAMPLES, ost_sf2)
|
||||
sf2_playing_street_fighter = true;
|
||||
fadingMusic = false;
|
||||
|
||||
MDRV_INSTALL_OST_SUPPORT(OST_SUPPORT_SF2)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
@@ -4041,6 +4072,7 @@ static MACHINE_DRIVER_START( pang3 )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(cps1)
|
||||
MDRV_CPU_REPLACE("main", M68000, 12000000)
|
||||
MDRV_NVRAM_HANDLER(pang3)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
@@ -4250,6 +4282,265 @@ ROM_START( daimakai )
|
||||
ROM_CONTINUE( 0x10000, 0x08000 )
|
||||
ROM_END
|
||||
|
||||
// Ghouls'n Ghosts - Artoria Edition hacks (GoodLuckTrying)
|
||||
ROM_START( ghoulsmaiden )
|
||||
ROM_REGION( CODE_SIZE, REGION_CPU1, 0 )
|
||||
ROM_LOAD16_BYTE( "dme_29maiden.10h", 0x00000, 0x20000, CRC(62bc0f9f) SHA1(cd715aa5ccad61bc2c038d32594843377d2ea8ab) )
|
||||
ROM_LOAD16_BYTE( "dme_30maiden.10j", 0x00001, 0x20000, CRC(3d770ee1) SHA1(a5f913923c078187b26783ef0baae3aed7361e66) )
|
||||
ROM_LOAD16_BYTE( "dme_27maiden.9h", 0x40000, 0x20000, CRC(717dfa2f) SHA1(64a0397e9203cdf0e92d07adef6de94a7ee3fd47) )
|
||||
ROM_LOAD16_BYTE( "dme_28maiden.9j", 0x40001, 0x20000, CRC(00136f06) SHA1(430d469717c3535a06d74d1df23c5fa348a87793) )
|
||||
ROM_LOAD16_WORD( "dm-17maiden.7j", 0x80000, 0x80000, CRC(f96c3f5d) SHA1(2be095270f3afe827306ef19df4ac3a3bfaeab35) )
|
||||
|
||||
ROM_REGION( 0x300000, REGION_GFX1, 0 )
|
||||
ROMX_LOAD( "dm-05maiden.3a", 0x000000, 0x80000, CRC(089d3e31) SHA1(e9f9406fc16686a98e1372bc09e7c51456315a66), ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "dm-07maiden.3f", 0x000002, 0x80000, CRC(b7b0567c) SHA1(f3d74ebd9daa4bdc7e91080f02f801e2ac9dd40d), ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "dm-06maiden.3c", 0x000004, 0x80000, CRC(92ca0ba1) SHA1(a5dd14e8cb0cb4c7f4ebad07cfc36abf148fcf78), ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "dm-08maiden.3g", 0x000006, 0x80000, CRC(0f39afc8) SHA1(44d499fd38e2e9155a843ab834bee4e91ced4375), ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "09maiden.4a", 0x200000, 0x10000, CRC(e99f777e) SHA1(015549b7745e7a1c26ae50450e5a3ff0116c64eb), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "18maiden.7a", 0x200001, 0x10000, CRC(9798c4be) SHA1(601a2122e774b5142d152d9666cbec0a512c0fae), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "13maiden.4e", 0x200002, 0x10000, CRC(d731677a) SHA1(53138a653737556023e384fb075c971ca0640235), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "22maiden.7e", 0x200003, 0x10000, CRC(e9282194) SHA1(47d635673d894725cb343b2753e2be632bcb23cd), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "11maiden.4c", 0x200004, 0x10000, CRC(f94717d0) SHA1(dc0e13727d0a2b4111f9fa64ca272986de822196), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "20maiden.7c", 0x200005, 0x10000, CRC(d2605c04) SHA1(e6e5343d1f3737a0cdd815c8045acc81f1e6587e), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "15maiden.4g", 0x200006, 0x10000, CRC(ad8a53ec) SHA1(48a763d5ab320a1b3ce9f8ec5319a6a854f34fca), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "24maiden.7g", 0x200007, 0x10000, CRC(ae66ab27) SHA1(3eb22952e3b6843e13d05f14b3ccaf7c504c7aeb), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "10maiden.4b", 0x280000, 0x10000, CRC(afce74dd) SHA1(a13d7a7e11f900d6f5a7273ca93e30f1e0a385b1), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "19maiden.7b", 0x280001, 0x10000, CRC(0b4e155f) SHA1(268188162286e12af63653d5f700263f6f3b70d4), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "14maiden.4f", 0x280002, 0x10000, CRC(5bc8e886) SHA1(17b727169c68b0ed3574bc321db4fbfd4d2f9266), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "23maiden.7f", 0x280003, 0x10000, CRC(095a6785) SHA1(659530f934c1f33067e9af71503b92da88315018), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "12maiden.4d", 0x280004, 0x10000, CRC(c8a5b7e9) SHA1(35b2f96994338816b29e1f65127f81d949a3a775), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "21maiden.7d", 0x280005, 0x10000, CRC(7d2f39f4) SHA1(6156385421104fef4e7b02bb1aba04f13aadb750), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "16maiden.4h", 0x280006, 0x10000, CRC(2913fa9b) SHA1(c37e526f5c647091cc45fa045f1e8049ec71483a), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "25maiden.7h", 0x280007, 0x10000, CRC(35d1b525) SHA1(e10226e6a34c827a44908384c37a0f9aaa74c934), ROM_SKIP(7) )
|
||||
|
||||
ROM_REGION( 0x18000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "26.10a", 0x00000, 0x08000, CRC(3692f6e5) SHA1(61b8438d60a39b4cf5062dff0a53228e8a4e4b5f) )
|
||||
ROM_CONTINUE( 0x10000, 0x08000 )
|
||||
|
||||
ROM_REGION( 0x8000, REGION_GFX2, 0 )
|
||||
ROM_COPY( REGION_GFX1, 0x000000, 0x000000, 0x8000 ) /* stars */
|
||||
ROM_END
|
||||
|
||||
ROM_START( ghoulsknight )
|
||||
ROM_REGION( CODE_SIZE, REGION_CPU1, 0 )
|
||||
ROM_LOAD16_BYTE( "dme_29knight.10h", 0x00000, 0x20000, CRC(a26366a2) SHA1(5fcbb7b594814d5dd074f17c61d2ef72467b89fc) )
|
||||
ROM_LOAD16_BYTE( "dme_30knight.10j", 0x00001, 0x20000, CRC(906bfbd9) SHA1(003d5cffd8ef23f349158136c0b6e34c93f4abbd) )
|
||||
ROM_LOAD16_BYTE( "dme_27knight.9h", 0x40000, 0x20000, CRC(0f80f588) SHA1(b0def403185ccbf0c373a868afcfe757e7b7caf8) )
|
||||
ROM_LOAD16_BYTE( "dme_28knight.9j", 0x40001, 0x20000, CRC(448bf481) SHA1(804a2e8a22153135c16a6388f69150049bd9c651) )
|
||||
ROM_LOAD16_WORD( "dm-17knight.7j", 0x80000, 0x80000, CRC(e856d9b6) SHA1(10a49dbba04c90c1676ad63a093c3b6f10345134) )
|
||||
|
||||
ROM_REGION( 0x300000, REGION_GFX1, 0 )
|
||||
ROMX_LOAD( "dm-05knight.3a", 0x000000, 0x80000, CRC(68381793) SHA1(1d82de2a42cac3a25faf3ffa04292303d08fcbc5), ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "dm-07knight.3f", 0x000002, 0x80000, CRC(fe68674d) SHA1(648645333767270fe859f275a1cacc816e0f05fe), ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "dm-06knight.3c", 0x000004, 0x80000, CRC(c0e27e48) SHA1(6a8f67c6ac4d2e720475fe6ec9160fd5b6de7916), ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "dm-08knight.3g", 0x000006, 0x80000, CRC(7be8f80a) SHA1(7b6c1f423fcf0dfeb2f2fd705b2aeed8345c4a5e), ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "09knight.4a", 0x200000, 0x10000, CRC(a726123a) SHA1(b9b5133ac838d98aa2eb0098ce6dc95e1ed36e19), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "18knight.7a", 0x200001, 0x10000, CRC(379d3bee) SHA1(8c65e0443cf7ff7695b103bc67d7288e156a613a), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "13knight.4e", 0x200002, 0x10000, CRC(eedbdd71) SHA1(603855bf2e046543bc6cab4708b1fde01c5593e0), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "22knight.7e", 0x200003, 0x10000, CRC(96a4311f) SHA1(02faedaffef031c0c446f1ec27d3de286094f0b3), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "11knight.4c", 0x200004, 0x10000, CRC(af590ecd) SHA1(38b1398600aa16b0adaa89813169977d2565cc9a), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "20knight.7c", 0x200005, 0x10000, CRC(00bdeef0) SHA1(6a2aa247a1bc2d467e4f1ae2c3f6b937d13310b0), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "15knight.4g", 0x200006, 0x10000, CRC(d409bf40) SHA1(a9d79df80e97391118c74571eed55cdb1a89da00), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "24knight.7g", 0x200007, 0x10000, CRC(fc91ec7c) SHA1(4d099e4fa67daab094997a217b3381340955e0ab), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "10knight.4b", 0x280000, 0x10000, CRC(08043aa8) SHA1(41dcf3219d1895489ef1db67226420f50264f9cc), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "19knight.7b", 0x280001, 0x10000, CRC(daca4bc1) SHA1(8566fff3073e2323eeb7e4b265e18808fb92e1a5), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "14knight.4f", 0x280002, 0x10000, CRC(0d7d3de4) SHA1(618025aaf21b622ad7beaff286bea01313015628), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "23knight.7f", 0x280003, 0x10000, CRC(53622c1c) SHA1(3546fa048823922d01d50fdbc9a717738c535eb6), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "12knight.4d", 0x280004, 0x10000, CRC(95efe854) SHA1(03bcdd7bf25637e1ab7166985093d14111699dc5), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "21knight.7d", 0x280005, 0x10000, CRC(5fd971cf) SHA1(dc2fb8e909cd4a5de1d637b750d383ad34480d2e), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "16knight.4h", 0x280006, 0x10000, CRC(5c63b626) SHA1(069b6efaac107abdf762db1edd025ec4d607bac2), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "25knight.7h", 0x280007, 0x10000, CRC(2556bc0e) SHA1(4f62a23bd7e43c6b00ef744de618d9b44e7d76f6), ROM_SKIP(7) )
|
||||
|
||||
ROM_REGION( 0x18000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "26.10a", 0x00000, 0x08000, CRC(3692f6e5) SHA1(61b8438d60a39b4cf5062dff0a53228e8a4e4b5f) )
|
||||
ROM_CONTINUE( 0x10000, 0x08000 )
|
||||
|
||||
ROM_REGION( 0x8000, REGION_GFX2, 0 )
|
||||
ROM_COPY( REGION_GFX1, 0x000000, 0x000000, 0x8000 ) /* stars */
|
||||
ROM_END
|
||||
|
||||
ROM_START( ghoulsumaiden )
|
||||
ROM_REGION( CODE_SIZE, REGION_CPU1, 0 )
|
||||
ROM_LOAD16_BYTE( "dmu_29maiden.10h", 0x00000, 0x20000, CRC(7ac6c63e) SHA1(669087b80001ea86181a889d7f1fc712ad94215a) )
|
||||
ROM_LOAD16_BYTE( "dmu_30maiden.10j", 0x00001, 0x20000, CRC(0a3d58f0) SHA1(89727371eed9188da622e9858cd90eea0a28cc97) )
|
||||
ROM_LOAD16_BYTE( "dmu_27maiden.9h", 0x40000, 0x20000, CRC(db966113) SHA1(0c0af55ba5ad550aa2f9548431cbc349d68a91be) )
|
||||
ROM_LOAD16_BYTE( "dmu_28maiden.9j", 0x40001, 0x20000, CRC(d6594f60) SHA1(54edb2db45974ccfad1c61697f50032342584556) )
|
||||
ROM_LOAD16_WORD( "dm-17maiden.7j", 0x80000, 0x80000, CRC(f96c3f5d) SHA1(2be095270f3afe827306ef19df4ac3a3bfaeab35) )
|
||||
|
||||
ROM_REGION( 0x300000, REGION_GFX1, 0 )
|
||||
ROMX_LOAD( "dm-05maiden.3a", 0x000000, 0x80000, CRC(089d3e31) SHA1(e9f9406fc16686a98e1372bc09e7c51456315a66), ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "dm-07maiden.3f", 0x000002, 0x80000, CRC(b7b0567c) SHA1(f3d74ebd9daa4bdc7e91080f02f801e2ac9dd40d), ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "dm-06maiden.3c", 0x000004, 0x80000, CRC(92ca0ba1) SHA1(a5dd14e8cb0cb4c7f4ebad07cfc36abf148fcf78), ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "dm-08maiden.3g", 0x000006, 0x80000, CRC(0f39afc8) SHA1(44d499fd38e2e9155a843ab834bee4e91ced4375), ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "09maiden.4a", 0x200000, 0x10000, CRC(e99f777e) SHA1(015549b7745e7a1c26ae50450e5a3ff0116c64eb), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "18maiden.7a", 0x200001, 0x10000, CRC(9798c4be) SHA1(601a2122e774b5142d152d9666cbec0a512c0fae), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "13maiden.4e", 0x200002, 0x10000, CRC(d731677a) SHA1(53138a653737556023e384fb075c971ca0640235), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "22maiden.7e", 0x200003, 0x10000, CRC(e9282194) SHA1(47d635673d894725cb343b2753e2be632bcb23cd), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "11maiden.4c", 0x200004, 0x10000, CRC(f94717d0) SHA1(dc0e13727d0a2b4111f9fa64ca272986de822196), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "20maiden.7c", 0x200005, 0x10000, CRC(d2605c04) SHA1(e6e5343d1f3737a0cdd815c8045acc81f1e6587e), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "15maiden.4g", 0x200006, 0x10000, CRC(ad8a53ec) SHA1(48a763d5ab320a1b3ce9f8ec5319a6a854f34fca), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "24maiden.7g", 0x200007, 0x10000, CRC(ae66ab27) SHA1(3eb22952e3b6843e13d05f14b3ccaf7c504c7aeb), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "10maiden.4b", 0x280000, 0x10000, CRC(afce74dd) SHA1(a13d7a7e11f900d6f5a7273ca93e30f1e0a385b1), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "19maiden.7b", 0x280001, 0x10000, CRC(0b4e155f) SHA1(268188162286e12af63653d5f700263f6f3b70d4), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "14maiden.4f", 0x280002, 0x10000, CRC(5bc8e886) SHA1(17b727169c68b0ed3574bc321db4fbfd4d2f9266), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "23maiden.7f", 0x280003, 0x10000, CRC(095a6785) SHA1(659530f934c1f33067e9af71503b92da88315018), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "12maiden.4d", 0x280004, 0x10000, CRC(c8a5b7e9) SHA1(35b2f96994338816b29e1f65127f81d949a3a775), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "21maiden.7d", 0x280005, 0x10000, CRC(7d2f39f4) SHA1(6156385421104fef4e7b02bb1aba04f13aadb750), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "16maiden.4h", 0x280006, 0x10000, CRC(2913fa9b) SHA1(c37e526f5c647091cc45fa045f1e8049ec71483a), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "25maiden.7h", 0x280007, 0x10000, CRC(35d1b525) SHA1(e10226e6a34c827a44908384c37a0f9aaa74c934), ROM_SKIP(7) )
|
||||
|
||||
ROM_REGION( 0x18000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "26.10a", 0x00000, 0x08000, CRC(3692f6e5) SHA1(61b8438d60a39b4cf5062dff0a53228e8a4e4b5f) )
|
||||
ROM_CONTINUE( 0x10000, 0x08000 )
|
||||
|
||||
ROM_REGION( 0x8000, REGION_GFX2, 0 )
|
||||
ROM_COPY( REGION_GFX1, 0x000000, 0x000000, 0x8000 ) /* stars */
|
||||
ROM_END
|
||||
|
||||
ROM_START( ghoulsuknight )
|
||||
ROM_REGION( CODE_SIZE, REGION_CPU1, 0 )
|
||||
ROM_LOAD16_BYTE( "dmu_29knight.10h", 0x00000, 0x20000, CRC(6b315490) SHA1(6b3ccff317295a772ea5c15ae3a2cb3ec16ba398) )
|
||||
ROM_LOAD16_BYTE( "dmu_30knight.10j", 0x00001, 0x20000, CRC(e3209d51) SHA1(e573a2649b83d9d57ccab60977a5a3e233c1733a) )
|
||||
ROM_LOAD16_BYTE( "dmu_27knight.9h", 0x40000, 0x20000, CRC(0cc89606) SHA1(87903a4f5e00b48573f2e3e5b12f4d202e485f7c) )
|
||||
ROM_LOAD16_BYTE( "dmu_28knight.9j", 0x40001, 0x20000, CRC(a263bde6) SHA1(5912b748a6f2949453634d50b5bdaaa567eaa1c3) )
|
||||
ROM_LOAD16_WORD( "dm-17knight.7j", 0x80000, 0x80000, CRC(e856d9b6) SHA1(10a49dbba04c90c1676ad63a093c3b6f10345134) )
|
||||
|
||||
ROM_REGION( 0x300000, REGION_GFX1, 0 )
|
||||
ROMX_LOAD( "dm-05knight.3a", 0x000000, 0x80000, CRC(68381793) SHA1(1d82de2a42cac3a25faf3ffa04292303d08fcbc5), ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "dm-07knight.3f", 0x000002, 0x80000, CRC(fe68674d) SHA1(648645333767270fe859f275a1cacc816e0f05fe), ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "dm-06knight.3c", 0x000004, 0x80000, CRC(c0e27e48) SHA1(6a8f67c6ac4d2e720475fe6ec9160fd5b6de7916), ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "dm-08knight.3g", 0x000006, 0x80000, CRC(7be8f80a) SHA1(7b6c1f423fcf0dfeb2f2fd705b2aeed8345c4a5e), ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "09knight.4a", 0x200000, 0x10000, CRC(a726123a) SHA1(b9b5133ac838d98aa2eb0098ce6dc95e1ed36e19), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "18knight.7a", 0x200001, 0x10000, CRC(379d3bee) SHA1(8c65e0443cf7ff7695b103bc67d7288e156a613a), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "13knight.4e", 0x200002, 0x10000, CRC(eedbdd71) SHA1(603855bf2e046543bc6cab4708b1fde01c5593e0), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "22knight.7e", 0x200003, 0x10000, CRC(96a4311f) SHA1(02faedaffef031c0c446f1ec27d3de286094f0b3), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "11knight.4c", 0x200004, 0x10000, CRC(af590ecd) SHA1(38b1398600aa16b0adaa89813169977d2565cc9a), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "20knight.7c", 0x200005, 0x10000, CRC(00bdeef0) SHA1(6a2aa247a1bc2d467e4f1ae2c3f6b937d13310b0), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "15knight.4g", 0x200006, 0x10000, CRC(d409bf40) SHA1(a9d79df80e97391118c74571eed55cdb1a89da00), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "24knight.7g", 0x200007, 0x10000, CRC(fc91ec7c) SHA1(4d099e4fa67daab094997a217b3381340955e0ab), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "10knight.4b", 0x280000, 0x10000, CRC(08043aa8) SHA1(41dcf3219d1895489ef1db67226420f50264f9cc), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "19knight.7b", 0x280001, 0x10000, CRC(daca4bc1) SHA1(8566fff3073e2323eeb7e4b265e18808fb92e1a5), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "14knight.4f", 0x280002, 0x10000, CRC(0d7d3de4) SHA1(618025aaf21b622ad7beaff286bea01313015628), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "23knight.7f", 0x280003, 0x10000, CRC(53622c1c) SHA1(3546fa048823922d01d50fdbc9a717738c535eb6), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "12knight.4d", 0x280004, 0x10000, CRC(95efe854) SHA1(03bcdd7bf25637e1ab7166985093d14111699dc5), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "21knight.7d", 0x280005, 0x10000, CRC(5fd971cf) SHA1(dc2fb8e909cd4a5de1d637b750d383ad34480d2e), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "16knight.4h", 0x280006, 0x10000, CRC(5c63b626) SHA1(069b6efaac107abdf762db1edd025ec4d607bac2), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "25knight.7h", 0x280007, 0x10000, CRC(2556bc0e) SHA1(4f62a23bd7e43c6b00ef744de618d9b44e7d76f6), ROM_SKIP(7) )
|
||||
|
||||
ROM_REGION( 0x18000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "26.10a", 0x00000, 0x08000, CRC(3692f6e5) SHA1(61b8438d60a39b4cf5062dff0a53228e8a4e4b5f) )
|
||||
ROM_CONTINUE( 0x10000, 0x08000 )
|
||||
|
||||
ROM_REGION( 0x8000, REGION_GFX2, 0 )
|
||||
ROM_COPY( REGION_GFX1, 0x000000, 0x000000, 0x8000 ) /* stars */
|
||||
ROM_END
|
||||
|
||||
ROM_START( daimakaimaiden )
|
||||
ROM_REGION( CODE_SIZE, REGION_CPU1, 0 )
|
||||
ROM_LOAD16_BYTE( "dmj_38maiden.12f", 0x00000, 0x20000, CRC(7f436646) SHA1(dd60f7757418e0b682c3d14ab1f077668aa328f6) )
|
||||
ROM_LOAD16_BYTE( "dmj_39maiden.12h", 0x00001, 0x20000, CRC(ebc72dee) SHA1(f82157fdacfe6496398b8702cb4e97a3bcb750c5) )
|
||||
ROM_LOAD16_BYTE( "dmj_40maiden.13f", 0x40000, 0x20000, CRC(a8371817) SHA1(56f2be6fba857d026da3a0d4e801edd0e6e53d10) )
|
||||
ROM_LOAD16_BYTE( "dmj_41maiden.13h", 0x40001, 0x20000, CRC(cd7de9bb) SHA1(77dcf1128ae8fd2c5ef3ff9800f69aa875c56436) )
|
||||
ROM_LOAD16_BYTE( "dm_33maiden.10f", 0x80000, 0x20000, CRC(0e47e3b3) SHA1(3e0b12607f5745c5b4a789e68307cfd08da1ac18) )
|
||||
ROM_LOAD16_BYTE( "dm_34maiden.10h", 0x80001, 0x20000, CRC(d9675957) SHA1(43fd195995ec311bde79f6a17c47e938baaae545) )
|
||||
ROM_LOAD16_BYTE( "dm_35maiden.11f", 0xc0000, 0x20000, CRC(c04b85c8) SHA1(f8659624bb9d418d02f63f43478d3b53cfe18718) )
|
||||
ROM_LOAD16_BYTE( "dm_36maiden.11h", 0xc0001, 0x20000, CRC(89be83de) SHA1(6dfd1380304a85dee7cac4d0b2cfd7625b9020bf) )
|
||||
|
||||
ROM_REGION( 0x300000, REGION_GFX1, 0 )
|
||||
ROMX_LOAD( "dm_02maiden.4b", 0x000000, 0x20000, CRC(e195234d) SHA1(e83fe906577ff9a55c6222b148ae616eee71f9bd), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_01maiden.4a", 0x000001, 0x20000, CRC(bf40447c) SHA1(129f989307618346d4d0f048cf0975fcd9ac85ba), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_10maiden.9b", 0x000002, 0x20000, CRC(64506deb) SHA1(81795caef6c183c26597e69f0ca4dc2f46a97a9b), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_09maiden.9a", 0x000003, 0x20000, CRC(6db846bf) SHA1(3031a7a754cc8a45265663d5d13c588ed1a2e3e4), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_18maiden.5e", 0x000004, 0x20000, CRC(3d707890) SHA1(1fb13ac4f4d458c1d8429cb18b3cb0c755582c8f), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_17maiden.5c", 0x000005, 0x20000, CRC(25adb6e2) SHA1(e57207799427f9372052a886be92aadd1521f9b2), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_30maiden.8h", 0x000006, 0x20000, CRC(29bb7d32) SHA1(fbf501e9674e64528846c1b4bdf1c50350e2163e), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_29maiden.8f", 0x000007, 0x20000, CRC(d99c38e0) SHA1(0d1a2a391a63eb723a07cec051daadaba8bd93b2), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_04maiden.5b", 0x100000, 0x20000, CRC(a4f4f8f0) SHA1(edca0f61b40a18afe279f7007c233064130cfb4f), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_03maiden.5a", 0x100001, 0x20000, CRC(b1033e62) SHA1(547fc281dd9e7a74ac86c3692508c7bde9b6167b), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_12maiden.10b", 0x100002, 0x20000, CRC(10fdd76a) SHA1(aee774d6323292799dff7a30ef9559c92fe5507a), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_11maiden.10a", 0x100003, 0x20000, CRC(9040cb04) SHA1(b32e9056fc20a5162868eade10f3ef5efc167a28), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_20maiden.7e", 0x100004, 0x20000, CRC(281d0b3e) SHA1(70e1813de184ad0ec164145b7b843b5e387494e3), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_19maiden.7c", 0x100005, 0x20000, CRC(2623b52f) SHA1(fc4200924452bfbff687934782398ed345dc0aa0), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_32maiden.9h", 0x100006, 0x20000, CRC(99692344) SHA1(67dc70618568b7c0adcb00a612aaf5501f6c8c0f), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_31maiden.9f", 0x100007, 0x20000, CRC(54acb729) SHA1(d1fca43db36253fd19db4337c49272a6cadff597), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_06maiden.7b", 0x200000, 0x10000, CRC(e99f777e) SHA1(015549b7745e7a1c26ae50450e5a3ff0116c64eb), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_05maiden.7a", 0x200001, 0x10000, CRC(9798c4be) SHA1(601a2122e774b5142d152d9666cbec0a512c0fae), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_14maiden.11b", 0x200002, 0x10000, CRC(d731677a) SHA1(53138a653737556023e384fb075c971ca0640235), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_13maiden.11a", 0x200003, 0x10000, CRC(e9282194) SHA1(47d635673d894725cb343b2753e2be632bcb23cd), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_22maiden.8e", 0x200004, 0x10000, CRC(f94717d0) SHA1(dc0e13727d0a2b4111f9fa64ca272986de822196), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_21maiden.8c", 0x200005, 0x10000, CRC(d2605c04) SHA1(e6e5343d1f3737a0cdd815c8045acc81f1e6587e), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_26maiden.10e", 0x200006, 0x10000, CRC(ad8a53ec) SHA1(48a763d5ab320a1b3ce9f8ec5319a6a854f34fca), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_25maiden.10c", 0x200007, 0x10000, CRC(ae66ab27) SHA1(3eb22952e3b6843e13d05f14b3ccaf7c504c7aeb), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_08maiden.8b", 0x280000, 0x10000, CRC(afce74dd) SHA1(a13d7a7e11f900d6f5a7273ca93e30f1e0a385b1), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_07maiden.8a", 0x280001, 0x10000, CRC(0b4e155f) SHA1(268188162286e12af63653d5f700263f6f3b70d4), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_16maiden.12b", 0x280002, 0x10000, CRC(5bc8e886) SHA1(17b727169c68b0ed3574bc321db4fbfd4d2f9266), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_15maiden.12a", 0x280003, 0x10000, CRC(095a6785) SHA1(659530f934c1f33067e9af71503b92da88315018), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_24maiden.9e", 0x280004, 0x10000, CRC(c8a5b7e9) SHA1(35b2f96994338816b29e1f65127f81d949a3a775), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_23maiden.9c", 0x280005, 0x10000, CRC(7d2f39f4) SHA1(6156385421104fef4e7b02bb1aba04f13aadb750), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_28maiden.11e", 0x280006, 0x10000, CRC(2913fa9b) SHA1(c37e526f5c647091cc45fa045f1e8049ec71483a), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_27maiden.11c", 0x280007, 0x10000, CRC(35d1b525) SHA1(e10226e6a34c827a44908384c37a0f9aaa74c934), ROM_SKIP(7) )
|
||||
|
||||
ROM_REGION( 0x18000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "37.13c", 0x00000, 0x08000, CRC(3692f6e5) SHA1(61b8438d60a39b4cf5062dff0a53228e8a4e4b5f) )
|
||||
ROM_CONTINUE( 0x10000, 0x08000 )
|
||||
|
||||
ROM_REGION( 0x8000, REGION_GFX2, 0 )
|
||||
ROM_COPY( REGION_GFX1, 0x000000, 0x000000, 0x8000 ) /* stars */
|
||||
ROM_END
|
||||
|
||||
ROM_START( daimakaiknight )
|
||||
ROM_REGION( CODE_SIZE, REGION_CPU1, 0 )
|
||||
ROM_LOAD16_BYTE( "dmj_38knight.12f", 0x00000, 0x20000, CRC(3098aca7) SHA1(ac1f175deffd486eab177f0c6c3992802c24dd49) )
|
||||
ROM_LOAD16_BYTE( "dmj_39knight.12h", 0x00001, 0x20000, CRC(222d253b) SHA1(7c26d6a0fe204a83dfc9cba6db7ed2635a7b9f7b) )
|
||||
ROM_LOAD16_BYTE( "dmj_40knight.13f", 0x40000, 0x20000, CRC(1050f528) SHA1(c09ddd0f63e093ad1e6c50782db4ffa21114c6e1) )
|
||||
ROM_LOAD16_BYTE( "dmj_41knight.13h", 0x40001, 0x20000, CRC(bff07623) SHA1(2f8d6980ae5a3f798fd3296185f14fb59b8a472a) )
|
||||
ROM_LOAD16_BYTE( "dm_33knight.10f", 0x80000, 0x20000, CRC(37619c8a) SHA1(39782b4285fbf103b2a820d745dc56ae1a1e9def) )
|
||||
ROM_LOAD16_BYTE( "dm_34knight.10h", 0x80001, 0x20000, CRC(f92dc399) SHA1(eb92ba0d28e22c6f3c6f16396017ed45c4932487) )
|
||||
ROM_LOAD16_BYTE( "dm_35knight.11f", 0xc0000, 0x20000, CRC(c04b85c8) SHA1(f8659624bb9d418d02f63f43478d3b53cfe18718) )
|
||||
ROM_LOAD16_BYTE( "dm_36knight.11h", 0xc0001, 0x20000, CRC(89be83de) SHA1(6dfd1380304a85dee7cac4d0b2cfd7625b9020bf) )
|
||||
|
||||
ROM_REGION( 0x300000, REGION_GFX1, 0 )
|
||||
ROMX_LOAD( "dm_02knight.4b", 0x000000, 0x20000, CRC(27bd1d69) SHA1(464ba1ec2ccb7997a9bcce6a024b3f4f62cbbb6d), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_01knight.4a", 0x000001, 0x20000, CRC(e8ba76ec) SHA1(9c285eb2377155973aa2d06cec86c116e8db8c28), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_10knight.9b", 0x000002, 0x20000, CRC(44d222eb) SHA1(874da73471bf67aa59aefd03ccbb41b5a3ad26e9), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_09knight.9a", 0x000003, 0x20000, CRC(5561f7df) SHA1(27aac04774b098fb97847cac0ebe7bdaa7583c65), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_18knight.5e", 0x000004, 0x20000, CRC(a65e9f34) SHA1(6f4f293189bf487dc3b32539b7698da523eba7b0), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_17knight.5c", 0x000005, 0x20000, CRC(3f84db19) SHA1(d33389b29d09bc711bed91769ca588795908b313), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_30knight.8h", 0x000006, 0x20000, CRC(500840f2) SHA1(85efda21fd449a68d8daec435dd2da301b9dd738), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_29knight.8f", 0x000007, 0x20000, CRC(bafb92de) SHA1(0d221a7004f197a95081be728ee0a54316d9b406), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_04knight.5b", 0x100000, 0x20000, CRC(a4f4f8f0) SHA1(edca0f61b40a18afe279f7007c233064130cfb4f), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_03knight.5a", 0x100001, 0x20000, CRC(b1033e62) SHA1(547fc281dd9e7a74ac86c3692508c7bde9b6167b), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_12knight.10b", 0x100002, 0x20000, CRC(10fdd76a) SHA1(aee774d6323292799dff7a30ef9559c92fe5507a), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_11knight.10a", 0x100003, 0x20000, CRC(9040cb04) SHA1(b32e9056fc20a5162868eade10f3ef5efc167a28), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_20knight.7e", 0x100004, 0x20000, CRC(281d0b3e) SHA1(70e1813de184ad0ec164145b7b843b5e387494e3), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_19knight.7c", 0x100005, 0x20000, CRC(2623b52f) SHA1(fc4200924452bfbff687934782398ed345dc0aa0), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_32knight.9h", 0x100006, 0x20000, CRC(99692344) SHA1(67dc70618568b7c0adcb00a612aaf5501f6c8c0f), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_31knight.9f", 0x100007, 0x20000, CRC(54acb729) SHA1(d1fca43db36253fd19db4337c49272a6cadff597), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_06knight.7b", 0x200000, 0x10000, CRC(a726123a) SHA1(b9b5133ac838d98aa2eb0098ce6dc95e1ed36e19), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_05knight.7a", 0x200001, 0x10000, CRC(379d3bee) SHA1(8c65e0443cf7ff7695b103bc67d7288e156a613a), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_14knight.11b", 0x200002, 0x10000, CRC(eedbdd71) SHA1(603855bf2e046543bc6cab4708b1fde01c5593e0), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_13knight.11a", 0x200003, 0x10000, CRC(96a4311f) SHA1(02faedaffef031c0c446f1ec27d3de286094f0b3), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_22knight.8e", 0x200004, 0x10000, CRC(af590ecd) SHA1(38b1398600aa16b0adaa89813169977d2565cc9a), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_21knight.8c", 0x200005, 0x10000, CRC(00bdeef0) SHA1(6a2aa247a1bc2d467e4f1ae2c3f6b937d13310b0), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_26knight.10e", 0x200006, 0x10000, CRC(d409bf40) SHA1(a9d79df80e97391118c74571eed55cdb1a89da00), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_25knight.10c", 0x200007, 0x10000, CRC(fc91ec7c) SHA1(4d099e4fa67daab094997a217b3381340955e0ab), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_08knight.8b", 0x280000, 0x10000, CRC(08043aa8) SHA1(41dcf3219d1895489ef1db67226420f50264f9cc), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_07knight.8a", 0x280001, 0x10000, CRC(daca4bc1) SHA1(8566fff3073e2323eeb7e4b265e18808fb92e1a5), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_16knight.12b", 0x280002, 0x10000, CRC(0d7d3de4) SHA1(618025aaf21b622ad7beaff286bea01313015628), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_15knight.12a", 0x280003, 0x10000, CRC(53622c1c) SHA1(3546fa048823922d01d50fdbc9a717738c535eb6), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_24knight.9e", 0x280004, 0x10000, CRC(95efe854) SHA1(03bcdd7bf25637e1ab7166985093d14111699dc5), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_23knight.9c", 0x280005, 0x10000, CRC(5fd971cf) SHA1(dc2fb8e909cd4a5de1d637b750d383ad34480d2e), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_28knight.11e", 0x280006, 0x10000, CRC(5c63b626) SHA1(069b6efaac107abdf762db1edd025ec4d607bac2), ROM_SKIP(7) )
|
||||
ROMX_LOAD( "dm_27knight.11c", 0x280007, 0x10000, CRC(2556bc0e) SHA1(4f62a23bd7e43c6b00ef744de618d9b44e7d76f6), ROM_SKIP(7) )
|
||||
|
||||
ROM_REGION( 0x18000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "37.13c", 0x00000, 0x08000, CRC(3692f6e5) SHA1(61b8438d60a39b4cf5062dff0a53228e8a4e4b5f) )
|
||||
ROM_CONTINUE( 0x10000, 0x08000 )
|
||||
|
||||
ROM_REGION( 0x8000, REGION_GFX2, 0 )
|
||||
ROM_COPY( REGION_GFX1, 0x000000, 0x000000, 0x8000 ) /* stars */
|
||||
ROM_END
|
||||
|
||||
ROM_START( strider )
|
||||
ROM_REGION( CODE_SIZE, REGION_CPU1, 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "strider.30", 0x00000, 0x20000, CRC(da997474) SHA1(3e4ac98f9a6967d61899281b31c7de779723397b) )
|
||||
@@ -6274,6 +6565,39 @@ ROM_START( sf2cej )
|
||||
ROM_LOAD( "s92_19.bin", 0x20000, 0x20000, CRC(beade53f) SHA1(277c397dc12752719ec6b47d2224750bd1c07f79) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( sf2mix ) // 1.3
|
||||
ROM_REGION( CODE_SIZE, REGION_CPU1, 0 )
|
||||
ROM_LOAD16_WORD_SWAP( "sf2mix.p1", 0x000000, 0x80000, CRC(478d09c6) SHA1(accd9c96077381471a07afecf1d44f55930ce8cc) )
|
||||
ROM_LOAD16_WORD_SWAP( "sf2mix.p2", 0x080000, 0x80000, CRC(23212fb2) SHA1(f34660ef8cbe4ad5b09f8290ef70b351228bd1c6) )
|
||||
ROM_LOAD16_WORD_SWAP( "sf2mix.p3", 0x100000, 0x80000, CRC(d3d77d12) SHA1(d9f99607325a8df9126f0e165dea037b7fefc996) )
|
||||
|
||||
ROM_REGION( 0x600000, REGION_GFX1, 0 )
|
||||
ROMX_LOAD( "sf2mix99.c01", 0x000000, 0x80000, CRC(a8f70643) SHA1(0d3ab7fe1d0d15397a79c9bd304f22593a9b8d87) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "sf2mix99.c02", 0x000002, 0x80000, CRC(f73f1913) SHA1(b36db11822f5601726892726f8505b7e8b676ab6) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "sf2mix99.c03", 0x000004, 0x80000, CRC(a80234b4) SHA1(e8c3e8030fa2ce69465d97ccb02de622e9214b01) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "sf2mix99.c04", 0x000006, 0x80000, CRC(4d910b53) SHA1(1f28fe150ddf77c91c8ae998ee52e068327335d5) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "sf2mix100.c05", 0x200000, 0x80000, CRC(01ae6240) SHA1(59391e9681497ac6ec8a2736e15864f83dffdb0e) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "sf2mix100.c06", 0x200002, 0x80000, CRC(88dea20a) SHA1(d8e71ff94e796d7720fa0d73c261dca783262b5a) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "sf2mix100.c07", 0x200004, 0x80000, CRC(7ea140b2) SHA1(2660ece5a443c6e32344627af9f81dc7c8cd3ea4) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "sf2mix100.c08", 0x200006, 0x80000, CRC(fbc81a7e) SHA1(b950566052114da540a0893e733ca8c7e8847003) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "sf2mix100.c09", 0x400000, 0x80000, CRC(78e86cf4) SHA1(02de07c66d8a899f0d99c5f91b0795a7a22834ae) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "sf2mix100.c10", 0x400002, 0x80000, CRC(2f8e6dc9) SHA1(b9ee9fd782cb23d6652f100f5c25944dfdd22a3e) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "sf2mix100.c11", 0x400004, 0x80000, CRC(70095fdc) SHA1(8fb4b22841847858c0ac30eca49109e99709c670) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "sf2mix100.c12", 0x400006, 0x80000, CRC(d14d18e5) SHA1(72aebfb2e589a3fa248e3ffa2723f77f1139b787) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
|
||||
ROM_REGION( 0x18000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "sf2mix96.m1", 0x00000, 0x08000, CRC(a379fdc5) SHA1(e9de38c13bd665698528bc102b1b16e9bdcae65b) )
|
||||
ROM_CONTINUE( 0x10000, 0x08000 )
|
||||
|
||||
ROM_REGION( 0x40000, REGION_SOUND1, 0 )
|
||||
ROM_LOAD( "sf2mix96.v1", 0x00000, 0x20000, CRC(6aa5d7fa) SHA1(87cfea3a9f62653fa236f49b5b25b927cff30a02) )
|
||||
ROM_LOAD( "sf2mix96.v2", 0x20000, 0x20000, CRC(f92f5a4f) SHA1(3f1d477ab0299d2783231c3bd9983513a85b2fe6) )
|
||||
|
||||
//ROM_REGION( 0x80, "control", 0 )
|
||||
//ROM_LOAD( "sf2ce.key", 0x00, 0x80, CRC(35b37429) SHA1(b372cce106c0900554735c207fb333ac93554ec2) )
|
||||
//ROM_LOAD( "sf2ce.key", 0x00, 0x80, CRC(35b37429) SHA1(b372cce106c0900554735c207fb333ac93554ec2) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( sf2rb )
|
||||
ROM_REGION( CODE_SIZE, REGION_CPU1, 0 ) /* 68000 code */
|
||||
ROM_LOAD16_WORD( "sf2d__23.rom", 0x000000, 0x80000, CRC(450532b0) SHA1(14d5ff44ce97247ef4c42147157856d16c5fb4b8) )
|
||||
@@ -7732,10 +8056,10 @@ ROM_START( wofch )
|
||||
ROMX_LOAD( "tk2-3m.5a", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "tk2-2m.4a", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "tk2-4m.6a", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
|
||||
ROMX_LOAD( "tk2=ch=_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) ) // == tk2_05.7a
|
||||
ROMX_LOAD( "tk2=ch=_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) ) // == tk2_06.8a
|
||||
ROMX_LOAD( "tk2=ch=_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) ) /* == tk2_05.7a */
|
||||
ROMX_LOAD( "tk2=ch=_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) ) /* == tk2_06.8a */
|
||||
ROMX_LOAD( "tk2=ch=_07.9a", 0x200004, 0x80000, CRC(cc9006c9) SHA1(cfcbec3a67052268a7739538aa28a6391fe5400e) , ROM_GROUPWORD | ROM_SKIP(6) ) /* 1 byte different from wofj, pcb verified */
|
||||
ROMX_LOAD( "tk2=ch=_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) ) // == tk2_08.10a
|
||||
ROMX_LOAD( "tk2=ch=_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) ) /* == tk2_08.10a */
|
||||
|
||||
ROM_REGION( 0x8000, REGION_GFX2, 0 )
|
||||
ROM_COPY( REGION_GFX1, 0x000000, 0x000000, 0x8000 ) /* stars */
|
||||
@@ -7757,24 +8081,28 @@ static DRIVER_INIT( wof )
|
||||
{
|
||||
wof_decode();
|
||||
init_cps1();
|
||||
cps_qsound_state_register();
|
||||
}
|
||||
|
||||
static DRIVER_INIT( dino )
|
||||
{
|
||||
dino_decode();
|
||||
init_cps1();
|
||||
cps_qsound_state_register();
|
||||
}
|
||||
|
||||
static DRIVER_INIT( punisher )
|
||||
{
|
||||
punisher_decode();
|
||||
init_cps1();
|
||||
cps_qsound_state_register();
|
||||
}
|
||||
|
||||
static DRIVER_INIT( slammast )
|
||||
{
|
||||
slammast_decode();
|
||||
init_cps1();
|
||||
cps_qsound_state_register();
|
||||
}
|
||||
|
||||
static DRIVER_INIT( pang3 )
|
||||
@@ -7802,126 +8130,126 @@ static DRIVER_INIT( pang3 )
|
||||
}
|
||||
|
||||
|
||||
GAME( 1988, forgottn, 0, forgottn, forgottn, cps1, ROT0, "Capcom", "Forgotten Worlds (US)" )
|
||||
GAME( 1988, lostwrld, forgottn, forgottn, forgottn, cps1, ROT0, "Capcom", "Lost Worlds (Japan)" )
|
||||
GAME( 1988, ghouls, 0, cps1, ghouls, cps1, ROT0, "Capcom", "Ghouls'n Ghosts (World)" ) /* Wed.26.10.1988 in the ROMS*/
|
||||
GAME( 1988, ghoulsu, ghouls, cps1, ghoulsu, cps1, ROT0, "Capcom", "Ghouls'n Ghosts (US)" ) /* Wed.26.10.1988 in the ROMS*/
|
||||
GAME( 1988, daimakai, ghouls, cps1, daimakai, cps1, ROT0, "Capcom", "Dai Makai-Mura (Japan)" ) /* Wed.26.10.1988 in the ROMS*/
|
||||
GAME( 1989, strider, 0, cps1, strider, cps1, ROT0, "Capcom", "Strider (US set 1)" )
|
||||
GAME( 1989, stridrua, strider, cps1, stridrua, cps1, ROT0, "Capcom", "Strider (US set 2)" )
|
||||
GAME( 1989, striderj, strider, cps1, strider, cps1, ROT0, "Capcom", "Strider Hiryu (Japan set 1)" )
|
||||
GAME( 1989, stridrja, strider, cps1, strider, cps1, ROT0, "Capcom", "Strider Hiryu (Japan set 2)" )
|
||||
GAME( 1989, dw, 0, cps1, dw, cps1, ROT0, "Capcom", "Dynasty Wars (World)" ) /* (c) Capcom U.S.A.*/
|
||||
GAME( 1989, dwj, dw, cps1, dw, cps1, ROT0, "Capcom", "Tenchi wo Kurau (Japan)" )
|
||||
GAME( 1989, willow, 0, cps1, willow, cps1, ROT0, "Capcom", "Willow (US)" )
|
||||
GAME( 1989, willowj, willow, cps1, willow, cps1, ROT0, "Capcom", "Willow (Japan, Japanese)" ) /* Japan - warning*/
|
||||
GAME( 1989, willowje, willow, cps1, willow, cps1, ROT0, "Capcom", "Willow (Japan, English)" ) /* (c) Capcom U.S.A. but Japan - warning*/
|
||||
GAME( 1989, unsquad, 0, cps1, unsquad, cps1, ROT0, "Capcom", "U.N. Squadron (US)" )
|
||||
GAME( 1989, area88, unsquad, cps1, unsquad, cps1, ROT0, "Capcom", "Area 88 (Japan)" )
|
||||
|
||||
GAME( 1989, ffight, 0, ffight_hack, ffight, cps1, ROT0, "Capcom", "Final Fight (World)" )
|
||||
GAME( 1989, ffightu, ffight, ffight_hack, ffight, cps1, ROT0, "Capcom", "Final Fight (US 900112)" )
|
||||
GAME( 1989, ffightj, ffight, ffight_hack, ffight, cps1, ROT0, "Capcom", "Final Fight (Japan set 1)" )
|
||||
GAME( 1989, ffightj1, ffight, ffight_hack, ffight, cps1, ROT0, "Capcom", "Final Fight (Japan set 2)" )
|
||||
GAME( 1989, ffightae, ffight, ffight_hack, ffightae, cps1, ROT0, "bootleg", "Final Fight 30th Anniversary Edition" )
|
||||
|
||||
|
||||
GAME( 1990, 1941, 0, cps1, 1941, cps1, ROT270, "Capcom", "1941 - Counter Attack (World)" )
|
||||
GAME( 1990, 1941j, 1941, cps1, 1941, cps1, ROT270, "Capcom", "1941 - Counter Attack (Japan)" )
|
||||
GAME( 1990, mercs, 0, cps1, mercs, cps1, ROT270, "Capcom", "Mercs (World 900302)" ) /* ETC*/
|
||||
GAME( 1990, mercsu, mercs, cps1, mercs, cps1, ROT270, "Capcom", "Mercs (US 900302)" )
|
||||
GAME( 1990, mercsua, mercs, cps1, mercs, cps1, ROT270, "Capcom", "Mercs (US 900608)" )
|
||||
GAME( 1990, mercsj, mercs, cps1, mercs, cps1, ROT270, "Capcom", "Senjou no Ookami II (Japan 900302)" )
|
||||
GAME( 1990, mtwins, 0, cps1, mtwins, cps1, ROT0, "Capcom", "Mega Twins (World 900619)" ) /* ETC - (c) Capcom U.S.A. with World - warning */
|
||||
GAME( 1990, chikij, mtwins, cps1, mtwins, cps1, ROT0, "Capcom", "Chiki Chiki Boys (Japan 900619)" )
|
||||
GAME( 1990, msword, 0, cps1, msword, cps1, ROT0, "Capcom", "Magic Sword - Heroic Fantasy (World 900725)" ) /* 25.07.1990 Other Country*/
|
||||
GAME( 1990, mswordr1, msword, cps1, msword, cps1, ROT0, "Capcom", "Magic Sword - Heroic Fantasy (World 900623)" ) /* 23.06.1990 Other Country*/
|
||||
GAME( 1990, mswordu, msword, cps1, msword, cps1, ROT0, "Capcom", "Magic Sword - Heroic Fantasy (US 900725)" ) /* 25.07.1990 U.S.A.*/
|
||||
GAME( 1990, mswordj, msword, cps1, msword, cps1, ROT0, "Capcom", "Magic Sword (Japan 900623)" ) /* 23.06.1990 Japan*/
|
||||
GAME( 1990, cawing, 0, cps1, cawing, cps1, ROT0, "Capcom", "Carrier Air Wing (World 901012)" ) /* ETC*/
|
||||
GAME( 1990, cawingu, cawing, cps1, cawing, cps1, ROT0, "Capcom", "Carrier Air Wing (US 901012)" )
|
||||
GAME( 1990, cawingj, cawing, cps1, cawing, cps1, ROT0, "Capcom", "U.S. Navy (Japan 901012)" )
|
||||
GAME( 1990, nemo, 0, cps1, nemo, cps1, ROT0, "Capcom", "Nemo (World 901130)" ) /* ETC */
|
||||
GAME( 1990, nemoj, nemo, cps1, nemo, cps1, ROT0, "Capcom", "Nemo (Japan 901120)" )
|
||||
GAMEC(1991, sf2, 0, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (World 910522)", &sf2_ctrl, NULL ) /* ETC*/
|
||||
GAMEC(1991, sf2eb, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (World 910214)", &sf2_ctrl, NULL ) /* ETC*/
|
||||
GAMEC(1991, sf2ua, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 910206)", &sf2_ctrl, NULL )
|
||||
GAMEC(1991, sf2ub, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 910214)", &sf2_ctrl, NULL )
|
||||
GAMEC(1991, sf2ud, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 910318)", &sf2_ctrl, NULL )
|
||||
GAMEC(1991, sf2ue, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 910228)", &sf2_ctrl, NULL )
|
||||
GAMEC(1991, sf2uf, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 910411)", &sf2_ctrl, NULL )
|
||||
GAMEC(1991, sf2ui, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 910522)", &sf2_ctrl, NULL )
|
||||
GAMEC(1991, sf2uk, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 911101)", &sf2_ctrl, NULL )
|
||||
GAMEC(1991, sf2j, sf2, sf2, sf2j, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (Japan 911210)", &sf2_ctrl, NULL )
|
||||
GAMEC(1991, sf2ja, sf2, sf2, sf2j, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (Japan 910214)", &sf2_ctrl, NULL )
|
||||
GAMEC(1991, sf2jc, sf2, sf2, sf2j, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (Japan 910306)", &sf2_ctrl, NULL )
|
||||
GAME( 1991, 3wonders, 0, cps1, 3wonders, cps1, ROT0, "Capcom", "Three Wonders (World 910520)" ) /* ETC */
|
||||
GAME( 1991, 3wonderu, 3wonders, cps1, 3wonders, cps1, ROT0, "Capcom", "Three Wonders (US 910520)" )
|
||||
GAME( 1991, wonder3, 3wonders, cps1, 3wonders, cps1, ROT0, "Capcom", "Wonder 3 (Japan 910520)" )
|
||||
GAME( 1991, kod, 0, cps1, kod, cps1, ROT0, "Capcom", "The King of Dragons (World 910711)" ) /* ETC */
|
||||
GAME( 1991, kodu, kod, cps1, kodj, cps1, ROT0, "Capcom", "The King of Dragons (US 910910)" )
|
||||
GAME( 1991, kodj, kod, cps1, kodj, cps1, ROT0, "Capcom", "The King of Dragons (Japan 910805)" )
|
||||
GAMEX(1991, kodb, kod, cps1, kod, cps1, ROT0, "Capcom", "The King of Dragons (bootleg)", GAME_NOT_WORKING ) /* 910731 ETC*/
|
||||
GAME( 1991, captcomm, 0, cps1, captcomm, cps1, ROT0, "Capcom", "Captain Commando (World 911014)" ) /* OTHER COUNTRY*/
|
||||
GAME( 1991, captcomu, captcomm, cps1, captcomm, cps1, ROT0, "Capcom", "Captain Commando (US 910928)" )
|
||||
GAME( 1991, captcomj, captcomm, cps1, captcomm, cps1, ROT0, "Capcom", "Captain Commando (Japan 911202)" )
|
||||
GAME( 1991, knights, 0, cps1, knights, cps1, ROT0, "Capcom", "Knights of the Round (World 911127)" ) /* ETC */
|
||||
GAME( 1991, knightsu, knights, cps1, knights, cps1, ROT0, "Capcom", "Knights of the Round (US 911127)" )
|
||||
GAME( 1991, knightsj, knights, cps1, knights, cps1, ROT0, "Capcom", "Knights of the Round (Japan 911127)" )
|
||||
GAMEC(1992, sf2ce, 0, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II' - Champion Edition (World 920313)", &sf2_ctrl, NULL ) /* ETC */
|
||||
GAMEC(1992, sf2ceua, sf2ce, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II' - Champion Edition (US 920313)", &sf2_ctrl, NULL )
|
||||
GAMEC(1992, sf2ceub, sf2ce, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II' - Champion Edition (US 920513)", &sf2_ctrl, NULL )
|
||||
GAMEC(1992, sf2ceuc, sf2ce, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II' - Champion Edition (US 920803)", &sf2_ctrl, NULL )
|
||||
GAMEC(1992, sf2cej, sf2ce, sf2, sf2j, cps1, ROT0, "Capcom", "Street Fighter II' - Champion Edition (Japan 920513)", &sf2_ctrl, NULL )
|
||||
GAMEC(1992, sf2rb, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (Rainbow set 1)", &sf2_ctrl, NULL ) /* 920322 - based on World version*/
|
||||
GAMEC(1992, sf2rb2, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (Rainbow set 2)", &sf2_ctrl, NULL ) /* 920322 - based on World version*/
|
||||
GAMEC(1992, sf2red, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (Red Wave)", &sf2_ctrl, NULL ) /* 920313 - based on World version*/
|
||||
GAMEC(1992, sf2v004, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II! - Champion Edition (V004)", &sf2_ctrl, NULL ) /* 102092 !!! - based on (heavily modified) World version*/
|
||||
GAMEC(1992, sf2accp2, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (Accelerator Pt.II)", &sf2_ctrl, NULL ) /* 920313 - based on USA version*/
|
||||
GAMECX(1992, sf2m1, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M1)", GAME_NOT_WORKING, &sf2_ctrl, NULL )
|
||||
GAMECX(1992, sf2m2, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M2)", GAME_NOT_WORKING, &sf2_ctrl, NULL )
|
||||
GAMECX(1992, sf2m3, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M3)", GAME_NOT_WORKING , &sf2_ctrl, NULL )
|
||||
GAMEC(1992, sf2m4, sf2ce, sf2, sf2j, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M4)", &sf2_ctrl, NULL )
|
||||
GAMEC(1992, sf2m5, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M5)", &sf2_ctrl, NULL )
|
||||
GAMEC(1992, sf2m6, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M6)", &sf2_ctrl, NULL )
|
||||
GAMEC(1992, sf2m7, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M7)", &sf2_ctrl, NULL )
|
||||
GAMEC(1992, sf2yyc, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (YYC)", &sf2_ctrl, NULL )
|
||||
GAMEC(1992, sf2koryu, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (Kouryu)", &sf2_ctrl, NULL )
|
||||
GAME( 1992, varth, 0, cps1, varth, cps1, ROT270, "Capcom", "Varth - Operation Thunderstorm (World 920612)" ) /* ETC */
|
||||
GAME( 1992, varthu, varth, cps1, varth, cps1, ROT270, "Capcom (Romstar license)", "Varth - Operation Thunderstorm (US 920612)" )
|
||||
GAME( 1992, varthj, varth, cps1, varth, cps1, ROT270, "Capcom", "Varth - Operation Thunderstorm (Japan 920714)" )
|
||||
GAME( 1992, cworld2j, 0, cps1, cworld2j, cps1, ROT0, "Capcom", "Capcom World 2 (Japan 920611)" )
|
||||
GAME( 1992, sf2t, sf2ce, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II' - Hyper Fighting (US 921209)" )
|
||||
GAME( 1992, sf2tj, sf2ce, sf2, sf2j, cps1, ROT0, "Capcom", "Street Fighter II' Turbo - Hyper Fighting (Japan 921209)" )
|
||||
GAME( 1992, qad, 0, cps1, qad, cps1, ROT0, "Capcom", "Quiz and Dragons (US 920701)" )
|
||||
GAME( 1994, qadj, qad, cps1, qadj, cps1, ROT0, "Capcom", "Quiz and Dragons (Japan 940921)" )
|
||||
GAME( 1995, qtono2, 0, cps1, qtono2, cps1, ROT0, "Capcom", "Quiz Tonosama no Yabou 2 Zenkoku-ban (Japan 950123)" )
|
||||
GAME( 1995, megaman, 0, cps1, megaman, cps1, ROT0, "Capcom", "Mega Man - The Power Battle (CPS1 Asia 951006)" )
|
||||
GAME( 1995, rockmanj, megaman, cps1, megaman, cps1, ROT0, "Capcom", "Rockman - The Power Battle (CPS1 Japan 950922)" )
|
||||
|
||||
GAME( 1992, wof, 0, qsound, wof, wof, ROT0, "Capcom", "Warriors of Fate (World 921002)" ) /* ETC */
|
||||
GAME( 1992, wofa, wof, qsound, wof, wof, ROT0, "Capcom", "Sangokushi II (Asia 921005)" ) /* World - warning */
|
||||
GAME( 1992, wofu, wof, qsound, wof, wof, ROT0, "Capcom", "Warriors of Fate (US 921031)" ) /* World - warning */
|
||||
GAME( 1992, wofj, wof, qsound, wof, wof, ROT0, "Capcom", "Tenchi wo Kurau II - Sekiheki no Tatakai (Japan 921031)" )
|
||||
GAME( 1993, dino, 0, qsound, dino, dino, ROT0, "Capcom", "Cadillacs and Dinosaurs (World 930201)" ) /* ETC */
|
||||
GAME( 1993, dinou, dino, qsound, dino, dino , ROT0, "Capcom", "Cadillacs and Dinosaurs (US 930201)" )
|
||||
GAME( 1993, dinoj, dino, qsound, dino, dino , ROT0, "Capcom", "Cadillacs Kyouryuu-Shinseiki (Japan 930201)" )
|
||||
GAME( 1993, punisher, 0, qsound, punisher, punisher, ROT0, "Capcom", "The Punisher (World 930422)" ) /* ETC*/
|
||||
GAME( 1993, punishru, punisher, qsound, punisher, punisher, ROT0, "Capcom", "The Punisher (US 930422)" )
|
||||
GAME( 1993, punishrj, punisher, qsound, punisher, punisher, ROT0, "Capcom", "The Punisher (Japan 930422)" )
|
||||
GAME( 1993, slammast, 0, qsound, slammast, slammast, ROT0, "Capcom", "Saturday Night Slam Masters (World 930713)" ) /* ETC */
|
||||
GAME( 1993, slammasu, slammast, qsound, slammast, slammast, ROT0, "Capcom", "Saturday Night Slam Masters (US 930713)" )
|
||||
GAME( 1993, mbomberj, slammast, qsound, slammast, slammast, ROT0, "Capcom", "Muscle Bomber - The Body Explosion (Japan 930713)" )
|
||||
GAME( 1993, mbombrd, slammast, qsound, slammast, slammast, ROT0, "Capcom", "Muscle Bomber Duo - Ultimate Team Battle (World 931206)" ) /* ETC */
|
||||
GAME( 1993, mbombrdj, slammast, qsound, slammast, slammast, ROT0, "Capcom", "Muscle Bomber Duo - Heat Up Warriors (Japan 931206)" )
|
||||
|
||||
GAME( 1994, pnickj, 0, cps1, pnickj, cps1, ROT0, "Compile (Capcom license)", "Pnickies (Japan 940608)" )
|
||||
GAME( 1988, forgottn, 0, forgottn, forgottn, cps1, ROT0, "Capcom", "Forgotten Worlds (US)" )
|
||||
GAME( 1988, lostwrld, forgottn, forgottn, forgottn, cps1, ROT0, "Capcom", "Lost Worlds (Japan)" )
|
||||
GAME( 1988, ghouls, 0, cps1, ghouls, cps1, ROT0, "Capcom", "Ghouls'n Ghosts (World)" ) /* Wed.26.10.1988 in the ROMS*/
|
||||
GAME( 1988, ghoulsu, ghouls, cps1, ghoulsu, cps1, ROT0, "Capcom", "Ghouls'n Ghosts (US)" ) /* Wed.26.10.1988 in the ROMS*/
|
||||
GAME( 1988, daimakai, ghouls, cps1_12mhz, daimakai, cps1, ROT0, "Capcom", "Dai Makai-Mura (Japan)" ) /* Wed.26.10.1988 in the ROMS*/
|
||||
GAME( 2026, ghoulsmaiden, ghouls, cps1, ghouls, cps1, ROT0, "hack (GoodLuckTrying)", "Ghouls'n Ghosts - Maiden Artoria Edition (World)" )
|
||||
GAME( 2026, ghoulsknight, ghouls, cps1, ghouls, cps1, ROT0, "hack (GoodLuckTrying)", "Ghouls'n Ghosts - Knight Artoria Edition (World)" )
|
||||
GAME( 2026, ghoulsumaiden, ghoulsu, cps1, ghoulsu, cps1, ROT0, "hack (GoodLuckTrying)", "Ghouls'n Ghosts - Maiden Artoria Edition (USA)" )
|
||||
GAME( 2026, ghoulsuknight, ghoulsu, cps1, ghoulsu, cps1, ROT0, "hack (GoodLuckTrying)", "Ghouls'n Ghosts - Knight Artoria Edition (USA)" )
|
||||
GAME( 2026, daimakaimaiden, ghouls, cps1_12mhz, daimakai, cps1, ROT0, "hack (GoodLuckTrying)", "Daimakaimura - Maiden Artoria Edition (Japan)" )
|
||||
GAME( 2026, daimakaiknight, ghouls, cps1_12mhz, daimakai, cps1, ROT0, "hack (GoodLuckTrying)", "Daimakaimura - Knight Artoria Edition (Japan)" )
|
||||
GAME( 1989, strider, 0, cps1, strider, cps1, ROT0, "Capcom", "Strider (US set 1)" )
|
||||
GAME( 1989, stridrua, strider, cps1, stridrua, cps1, ROT0, "Capcom", "Strider (US set 2)" )
|
||||
GAME( 1989, striderj, strider, cps1_12mhz, strider, cps1, ROT0, "Capcom", "Strider Hiryu (Japan set 1)" )
|
||||
GAME( 1989, stridrja, strider, cps1, strider, cps1, ROT0, "Capcom", "Strider Hiryu (Japan set 2)" )
|
||||
GAME( 1989, dw, 0, cps1, dw, cps1, ROT0, "Capcom", "Dynasty Wars (World)" ) /* (c) Capcom U.S.A.*/
|
||||
GAME( 1989, dwj, dw, cps1, dw, cps1, ROT0, "Capcom", "Tenchi wo Kurau (Japan)" )
|
||||
GAME( 1989, willow, 0, cps1, willow, cps1, ROT0, "Capcom", "Willow (US)" )
|
||||
GAME( 1989, willowj, willow, cps1, willow, cps1, ROT0, "Capcom", "Willow (Japan, Japanese)" ) /* Japan - warning*/
|
||||
GAME( 1989, willowje, willow, cps1, willow, cps1, ROT0, "Capcom", "Willow (Japan, English)" ) /* (c) Capcom U.S.A. but Japan - warning*/
|
||||
GAME( 1989, unsquad, 0, cps1, unsquad, cps1, ROT0, "Capcom", "U.N. Squadron (US)" )
|
||||
GAME( 1989, area88, unsquad, cps1, unsquad, cps1, ROT0, "Capcom", "Area 88 (Japan)" )
|
||||
GAME( 1989, ffight, 0, ffight_hack, ffight, cps1, ROT0, "Capcom", "Final Fight (World)" )
|
||||
GAME( 1989, ffightu, ffight, ffight_hack, ffight, cps1, ROT0, "Capcom", "Final Fight (US 900112)" )
|
||||
GAME( 1989, ffightj, ffight, ffight_hack, ffight, cps1, ROT0, "Capcom", "Final Fight (Japan set 1)" )
|
||||
GAME( 1989, ffightj1, ffight, ffight_hack, ffight, cps1, ROT0, "Capcom", "Final Fight (Japan set 2)" )
|
||||
GAME( 1989, ffightae, ffight, ffight_hack_12mhz, ffightae, cps1, ROT0, "bootleg", "Final Fight 30th Anniversary Edition" )
|
||||
GAME( 1990, 1941, 0, cps1, 1941, cps1, ROT270, "Capcom", "1941 - Counter Attack (World)" )
|
||||
GAME( 1990, 1941j, 1941, cps1, 1941, cps1, ROT270, "Capcom", "1941 - Counter Attack (Japan)" )
|
||||
GAME( 1990, mercs, 0, cps1, mercs, cps1, ROT270, "Capcom", "Mercs (World 900302)" ) /* ETC*/
|
||||
GAME( 1990, mercsu, mercs, cps1, mercs, cps1, ROT270, "Capcom", "Mercs (US 900302)" )
|
||||
GAME( 1990, mercsua, mercs, cps1, mercs, cps1, ROT270, "Capcom", "Mercs (US 900608)" )
|
||||
GAME( 1990, mercsj, mercs, cps1, mercs, cps1, ROT270, "Capcom", "Senjou no Ookami II (Japan 900302)" )
|
||||
GAME( 1990, mtwins, 0, cps1, mtwins, cps1, ROT0, "Capcom", "Mega Twins (World 900619)" ) /* ETC - (c) Capcom U.S.A. with World - warning */
|
||||
GAME( 1990, chikij, mtwins, cps1, mtwins, cps1, ROT0, "Capcom", "Chiki Chiki Boys (Japan 900619)" )
|
||||
GAME( 1990, msword, 0, cps1, msword, cps1, ROT0, "Capcom", "Magic Sword - Heroic Fantasy (World 900725)" ) /* 25.07.1990 Other Country*/
|
||||
GAME( 1990, mswordr1, msword, cps1, msword, cps1, ROT0, "Capcom", "Magic Sword - Heroic Fantasy (World 900623)" ) /* 23.06.1990 Other Country*/
|
||||
GAME( 1990, mswordu, msword, cps1, msword, cps1, ROT0, "Capcom", "Magic Sword - Heroic Fantasy (US 900725)" ) /* 25.07.1990 U.S.A.*/
|
||||
GAME( 1990, mswordj, msword, cps1, msword, cps1, ROT0, "Capcom", "Magic Sword (Japan 900623)" ) /* 23.06.1990 Japan*/
|
||||
GAME( 1990, cawing, 0, cps1, cawing, cps1, ROT0, "Capcom", "Carrier Air Wing (World 901012)" ) /* ETC*/
|
||||
GAME( 1990, cawingu, cawing, cps1, cawing, cps1, ROT0, "Capcom", "Carrier Air Wing (US 901012)" )
|
||||
GAME( 1990, cawingj, cawing, cps1, cawing, cps1, ROT0, "Capcom", "U.S. Navy (Japan 901012)" )
|
||||
GAME( 1990, nemo, 0, cps1, nemo, cps1, ROT0, "Capcom", "Nemo (World 901130)" ) /* ETC */
|
||||
GAME( 1990, nemoj, nemo, cps1, nemo, cps1, ROT0, "Capcom", "Nemo (Japan 901120)" )
|
||||
GAMEC(1991, sf2, 0, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (World 910522)", &sf2_ctrl, NULL ) /* ETC*/
|
||||
GAMEC(1991, sf2eb, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (World 910214)", &sf2_ctrl, NULL ) /* ETC*/
|
||||
GAMEC(1991, sf2ua, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 910206)", &sf2_ctrl, NULL )
|
||||
GAMEC(1991, sf2ub, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 910214)", &sf2_ctrl, NULL )
|
||||
GAMEC(1991, sf2ud, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 910318)", &sf2_ctrl, NULL )
|
||||
GAMEC(1991, sf2ue, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 910228)", &sf2_ctrl, NULL )
|
||||
GAMEC(1991, sf2uf, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 910411)", &sf2_ctrl, NULL )
|
||||
GAMEC(1991, sf2ui, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 910522)", &sf2_ctrl, NULL )
|
||||
GAMEC(1991, sf2uk, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 911101)", &sf2_ctrl, NULL )
|
||||
GAMEC(1991, sf2j, sf2, sf2, sf2j, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (Japan 911210)", &sf2_ctrl, NULL )
|
||||
GAMEC(1991, sf2ja, sf2, sf2, sf2j, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (Japan 910214)", &sf2_ctrl, NULL )
|
||||
GAMEC(1991, sf2jc, sf2, sf2, sf2j, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (Japan 910306)", &sf2_ctrl, NULL )
|
||||
GAME( 1991, 3wonders, 0, cps1, 3wonders, cps1, ROT0, "Capcom", "Three Wonders (World 910520)" ) /* ETC */
|
||||
GAME( 1991, 3wonderu, 3wonders, cps1, 3wonders, cps1, ROT0, "Capcom", "Three Wonders (US 910520)" )
|
||||
GAME( 1991, wonder3, 3wonders, cps1, 3wonders, cps1, ROT0, "Capcom", "Wonder 3 (Japan 910520)" )
|
||||
GAME( 1991, kod, 0, cps1, kod, cps1, ROT0, "Capcom", "The King of Dragons (World 910711)" ) /* ETC */
|
||||
GAME( 1991, kodu, kod, cps1, kodj, cps1, ROT0, "Capcom", "The King of Dragons (US 910910)" )
|
||||
GAME( 1991, kodj, kod, cps1, kodj, cps1, ROT0, "Capcom", "The King of Dragons (Japan 910805)" )
|
||||
GAMEX(1991, kodb, kod, cps1, kod, cps1, ROT0, "Capcom", "The King of Dragons (bootleg)", GAME_NOT_WORKING ) /* 910731 ETC*/
|
||||
GAME( 1991, captcomm, 0, cps1, captcomm, cps1, ROT0, "Capcom", "Captain Commando (World 911014)" ) /* OTHER COUNTRY*/
|
||||
GAME( 1991, captcomu, captcomm, cps1, captcomm, cps1, ROT0, "Capcom", "Captain Commando (US 910928)" )
|
||||
GAME( 1991, captcomj, captcomm, cps1, captcomm, cps1, ROT0, "Capcom", "Captain Commando (Japan 911202)" )
|
||||
GAME( 1991, knights, 0, cps1, knights, cps1, ROT0, "Capcom", "Knights of the Round (World 911127)" ) /* ETC */
|
||||
GAME( 1991, knightsu, knights, cps1, knights, cps1, ROT0, "Capcom", "Knights of the Round (US 911127)" )
|
||||
GAME( 1991, knightsj, knights, cps1, knights, cps1, ROT0, "Capcom", "Knights of the Round (Japan 911127)" )
|
||||
GAMEC(1992, sf2ce, 0, sf2_12mhz, sf2, cps1, ROT0, "Capcom", "Street Fighter II' - Champion Edition (World 920313)", &sf2_ctrl, NULL ) /* ETC */
|
||||
GAMEC(1992, sf2ceua, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "Capcom", "Street Fighter II' - Champion Edition (US 920313)", &sf2_ctrl, NULL )
|
||||
GAMEC(1992, sf2ceub, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "Capcom", "Street Fighter II' - Champion Edition (US 920513)", &sf2_ctrl, NULL )
|
||||
GAMEC(1992, sf2ceuc, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "Capcom", "Street Fighter II' - Champion Edition (US 920803)", &sf2_ctrl, NULL )
|
||||
GAMEC(1992, sf2cej, sf2ce, sf2_12mhz, sf2j, cps1, ROT0, "Capcom", "Street Fighter II' - Champion Edition (Japan 920513)", &sf2_ctrl, NULL )
|
||||
GAMEC(1992, sf2rb, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (Rainbow set 1)", &sf2_ctrl, NULL ) /* 920322 - based on World version*/
|
||||
GAMEC(1992, sf2rb2, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (Rainbow set 2)", &sf2_ctrl, NULL ) /* 920322 - based on World version*/
|
||||
GAMEC(1992, sf2red, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (Red Wave)", &sf2_ctrl, NULL ) /* 920313 - based on World version*/
|
||||
GAMEC(1992, sf2v004, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II! - Champion Edition (V004)", &sf2_ctrl, NULL ) /* 102092 !!! - based on (heavily modified) World version*/
|
||||
GAMEC(1992, sf2accp2, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (Accelerator Pt.II)", &sf2_ctrl, NULL ) /* 920313 - based on USA version*/
|
||||
GAMECX(1992,sf2m1, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M1)", GAME_NOT_WORKING, &sf2_ctrl, NULL )
|
||||
GAMECX(1992,sf2m2, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M2)", GAME_NOT_WORKING, &sf2_ctrl, NULL )
|
||||
GAMECX(1992,sf2m3, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M3)", GAME_NOT_WORKING , &sf2_ctrl, NULL )
|
||||
GAMEC(1992, sf2m4, sf2ce, sf2_12mhz, sf2j, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M4)", &sf2_ctrl, NULL )
|
||||
GAMEC(1992, sf2m5, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M5)", &sf2_ctrl, NULL )
|
||||
GAMEC(1992, sf2m6, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M6)", &sf2_ctrl, NULL )
|
||||
GAMEC(1992, sf2m7, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M7)", &sf2_ctrl, NULL )
|
||||
GAMEC(1992, sf2yyc, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (YYC)", &sf2_ctrl, NULL )
|
||||
GAMEC(1992, sf2koryu, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (Kouryu)", &sf2_ctrl, NULL )
|
||||
GAMEC(2023, sf2mix, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "Zero800", "Street Fighter II: Champion Edition (Mix 1.3)", &sf2_ctrl, NULL )
|
||||
GAME( 1992, varth, 0, cps1_12mhz, varth, cps1, ROT270, "Capcom", "Varth - Operation Thunderstorm (World 920612)" ) /* ETC */
|
||||
GAME( 1992, varthu, varth, cps1_12mhz, varth, cps1, ROT270, "Capcom (Romstar license)", "Varth - Operation Thunderstorm (US 920612)" )
|
||||
GAME( 1992, varthj, varth, cps1_12mhz, varth, cps1, ROT270, "Capcom", "Varth - Operation Thunderstorm (Japan 920714)" )
|
||||
GAME( 1992, cworld2j, 0, cps1_12mhz, cworld2j, cps1, ROT0, "Capcom", "Capcom World 2 (Japan 920611)" )
|
||||
GAME( 1992, sf2t, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "Capcom", "Street Fighter II' - Hyper Fighting (US 921209)" )
|
||||
GAME( 1992, sf2tj, sf2ce, sf2_12mhz, sf2j, cps1, ROT0, "Capcom", "Street Fighter II' Turbo - Hyper Fighting (Japan 921209)" )
|
||||
GAME( 1992, qad, 0, cps1_12mhz, qad, cps1, ROT0, "Capcom", "Quiz and Dragons (US 920701)" )
|
||||
GAME( 1994, qadj, qad, cps1_12mhz, qadj, cps1, ROT0, "Capcom", "Quiz and Dragons (Japan 940921)" )
|
||||
GAME( 1995, qtono2, 0, cps1_12mhz, qtono2, cps1, ROT0, "Capcom", "Quiz Tonosama no Yabou 2 Zenkoku-ban (Japan 950123)" )
|
||||
GAME( 1995, megaman, 0, cps1_12mhz, megaman, cps1, ROT0, "Capcom", "Mega Man - The Power Battle (CPS1 Asia 951006)" )
|
||||
GAME( 1995, rockmanj, megaman, cps1_12mhz, megaman, cps1, ROT0, "Capcom", "Rockman - The Power Battle (CPS1 Japan 950922)" )
|
||||
GAME( 1992, wof, 0, qsound, wof, wof, ROT0, "Capcom", "Warriors of Fate (World 921002)" ) /* ETC */
|
||||
GAME( 1992, wofa, wof, qsound, wof, wof, ROT0, "Capcom", "Sangokushi II (Asia 921005)" ) /* World - warning */
|
||||
GAME( 1992, wofu, wof, qsound, wof, wof, ROT0, "Capcom", "Warriors of Fate (US 921031)" ) /* World - warning */
|
||||
GAME( 1992, wofj, wof, qsound, wof, wof, ROT0, "Capcom", "Tenchi wo Kurau II - Sekiheki no Tatakai (Japan 921031)" )
|
||||
GAME( 1993, dino, 0, qsound, dino, dino, ROT0, "Capcom", "Cadillacs and Dinosaurs (World 930201)" ) /* ETC */
|
||||
GAME( 1993, dinou, dino, qsound, dino, dino , ROT0, "Capcom", "Cadillacs and Dinosaurs (US 930201)" )
|
||||
GAME( 1993, dinoj, dino, qsound, dino, dino , ROT0, "Capcom", "Cadillacs Kyouryuu-Shinseiki (Japan 930201)" )
|
||||
GAME( 1993, punisher, 0, qsound, punisher, punisher, ROT0, "Capcom", "The Punisher (World 930422)" ) /* ETC*/
|
||||
GAME( 1993, punishru, punisher, qsound, punisher, punisher, ROT0, "Capcom", "The Punisher (US 930422)" )
|
||||
GAME( 1993, punishrj, punisher, qsound, punisher, punisher, ROT0, "Capcom", "The Punisher (Japan 930422)" )
|
||||
GAME( 1993, slammast, 0, qsound, slammast, slammast, ROT0, "Capcom", "Saturday Night Slam Masters (World 930713)" ) /* ETC */
|
||||
GAME( 1993, slammasu, slammast, qsound, slammast, slammast, ROT0, "Capcom", "Saturday Night Slam Masters (US 930713)" )
|
||||
GAME( 1993, mbomberj, slammast, qsound, slammast, slammast, ROT0, "Capcom", "Muscle Bomber - The Body Explosion (Japan 930713)" )
|
||||
GAME( 1993, mbombrd, slammast, qsound, slammast, slammast, ROT0, "Capcom", "Muscle Bomber Duo - Ultimate Team Battle (World 931206)" ) /* ETC */
|
||||
GAME( 1993, mbombrdj, slammast, qsound, slammast, slammast, ROT0, "Capcom", "Muscle Bomber Duo - Heat Up Warriors (Japan 931206)" )
|
||||
GAME( 1994, pnickj, 0, cps1_12mhz, pnickj, cps1, ROT0, "Compile (Capcom license)", "Pnickies (Japan 940608)" )
|
||||
/* Japanese version of Pang 3 is encrypted, Euro version is not */
|
||||
GAME( 1995, pang3, 0, pang3, pang3, cps1, ROT0, "Mitchell", "Pang! 3 (Euro 950511)" )
|
||||
GAME( 1995, pang3j, pang3, pang3, pang3, pang3, ROT0, "Mitchell", "Pang! 3 (Japan 950511)" )
|
||||
|
||||
GAME( 1995, pang3, 0, pang3, pang3, cps1, ROT0, "Mitchell", "Pang! 3 (Euro 950511)" ) /* 12mhz confirmed */
|
||||
GAME( 1995, pang3j, pang3, pang3, pang3, pang3, ROT0, "Mitchell", "Pang! 3 (Japan 950511)" ) /* 12mhz confirmed */
|
||||
/* CPS Prototype */
|
||||
GAME( 1993, gulunpa, 0, cps1, gulunpa, cps1, ROT0, "Capcom", "Gulun.Pa! (Japan 931220 L Prototype)" )
|
||||
|
||||
GAME( 1993, gulunpa, 0, cps1, gulunpa, cps1, ROT0, "Capcom", "Gulun.Pa! (Japan 931220 L Prototype)" )
|
||||
/* CPS Changer */
|
||||
GAME( 1994, wofch, 0, qsound, wofch, wof, ROT0, "Capcom", "Tenchi wo Kurau II: Sekiheki no Tatakai (CPS Changer, Japan 921031)" )
|
||||
GAME( 1994, wofch, 0, qsound, wofch, wof, ROT0, "Capcom", "Tenchi wo Kurau II: Sekiheki no Tatakai (CPS Changer, Japan 921031)" )
|
||||
+8888
-3261
File diff suppressed because it is too large.
Load diff
@@ -192,8 +192,8 @@ static struct GfxLayout layout_16x16x4 =
|
||||
|
||||
static struct GfxDecodeInfo gfxdecodeinfo[] =
|
||||
{
|
||||
{ REGION_GFX1, 0, &layout_16x16x4a, 0, 0x10 }, // [0] Sprites
|
||||
{ REGION_GFX2, 0, &layout_16x16x4, 0, 0x30 }, // [1] Tiles
|
||||
{ REGION_GFX1, 0, &layout_16x16x4a, 0, 0x10 }, /* [0] Sprites */
|
||||
{ REGION_GFX2, 0, &layout_16x16x4, 0, 0x30 }, /* [1] Tiles */
|
||||
{ -1 }
|
||||
};
|
||||
|
||||
@@ -259,7 +259,7 @@ ROM_START( crospang )
|
||||
ROM_LOAD( "s1.bin", 0x00000, 0x10000, CRC(d61a224c) SHA1(5cd1b2d136ad58ab550c7ba135558d6c8a4cd8f6) )
|
||||
|
||||
ROM_REGION( 0x20000, REGION_SOUND1, 0 ) /* samples */
|
||||
ROM_LOAD( "s2.bin", 0x00000, 0x20000, CRC(9f9ecd22) SHA1(631ffe14018ba39658c435b8ecb23b19a14569ee) ) // sample rom contains oksan?
|
||||
ROM_LOAD( "s2.bin", 0x00000, 0x20000, CRC(9f9ecd22) SHA1(631ffe14018ba39658c435b8ecb23b19a14569ee) ) /* sample rom contains oksan? */
|
||||
|
||||
ROM_REGION( 0x200000, REGION_GFX1, 0 ) /* sprites */
|
||||
ROM_LOAD( "rom6.bin", 0x000000, 0x80000, CRC(9c633082) SHA1(18b8591b695ee429c9c9855d8cbba6249a4bd809) )
|
||||
|
||||
+31
-1
@@ -725,7 +725,36 @@ ROM_START( dblewing )
|
||||
ROM_RELOAD( 0x40000, 0x20000 )
|
||||
ROM_RELOAD( 0x60000, 0x20000 )
|
||||
ROM_END
|
||||
/*
|
||||
The most noticeable difference with the set below is that it doesn't use checkpoints, but respawns you when you die.
|
||||
Checkpoints were more common in Japan, so this is likely to be an export version.
|
||||
*/
|
||||
ROM_START( dblewingb )
|
||||
ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* DECO102 code (encrypted) */
|
||||
ROM_LOAD16_BYTE( "17.3d", 0x000001, 0x040000, CRC(3a7ba822) SHA1(726db048ae3ab45cca45f631ad1f04b5cbc7f741) )
|
||||
ROM_LOAD16_BYTE( "18.5d", 0x000000, 0x040000, CRC(e5f5f004) SHA1(4bd40ef88027554a0328df1cf6f1c9c975a7a73f) )
|
||||
|
||||
ROM_REGION( 0x18000, REGION_CPU2, 0 ) /* sound cpu*/
|
||||
ROM_LOAD( "kp_02-.10h", 0x00000, 0x08000, CRC(def035fa) SHA1(fd50314e5c94c25df109ee52c0ce701b0ff2140c) )
|
||||
ROM_CONTINUE( 0x10000, 0x08000 )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_SOUND2, 0 ) /* sound data*/
|
||||
ROM_COPY( REGION_CPU2, 0x00000, 0x00000, 0x8000 )
|
||||
ROM_COPY( REGION_CPU2, 0x10000, 0x08000, 0x8000 )
|
||||
|
||||
ROM_REGION( 0x100000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "mbe-02.8h", 0x00000, 0x100000, CRC(5a6d3ac5) SHA1(738bb833e2c5d929ac75fe4e69ee0af88197d8a6) )
|
||||
|
||||
ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )
|
||||
ROM_LOAD16_BYTE( "mbe-00.14a", 0x000000, 0x100000, CRC(e33f5c93) SHA1(720904b54d02dace2310ac6bd07d5ed4bc4fd69c) )
|
||||
ROM_LOAD16_BYTE( "mbe-01.16a", 0x000001, 0x100000, CRC(ef452ad7) SHA1(7fe49123b5c2778e46104eaa3a2104ce09e05705) )
|
||||
|
||||
ROM_REGION( 0x80000, REGION_SOUND1, 0 ) /* Oki samples */
|
||||
ROM_LOAD( "kp_03-.16h", 0x00000, 0x20000, CRC(5d7f930d) SHA1(ad23aa804ea3ccbd7630ade9b53fc3ea2718a6ec) )
|
||||
ROM_RELOAD( 0x20000, 0x20000 )
|
||||
ROM_RELOAD( 0x40000, 0x20000 )
|
||||
ROM_RELOAD( 0x60000, 0x20000 )
|
||||
ROM_END
|
||||
|
||||
extern void deco102_decrypt_cpu(int address_xor, int data_select_xor, int opcode_select_xor);
|
||||
|
||||
@@ -737,4 +766,5 @@ static DRIVER_INIT( dblewing )
|
||||
}
|
||||
|
||||
|
||||
GAMEX(1993, dblewing, 0, dblewing, dblewing, dblewing, ROT90, "Mitchell", "Double Wings", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND )
|
||||
GAMEX(1993, dblewing, 0, dblewing, dblewing, dblewing, ROT90, "Mitchell", "Double Wings", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND )
|
||||
GAMEX(1994, dblewingb, dblewing, dblewing, dblewing, dblewing, ROT90, "Mitchell", "Double Wings (Asia)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND )
|
||||
@@ -492,8 +492,6 @@ MACHINE_DRIVER_END
|
||||
|
||||
/**********************************************************************************/
|
||||
|
||||
#define ROM_LOAD64_WORD(name,offset,length,crc) ROMX_LOAD(name, offset, length, crc, ROM_GROUPWORD | ROM_SKIP(6))
|
||||
|
||||
ROM_START( dbz )
|
||||
/* main program */
|
||||
ROM_REGION( 0x400000, REGION_CPU1, 0)
|
||||
|
||||
+68
-50
@@ -65,12 +65,14 @@ conversion kit which could be applied to a bootleg double dragon :-p?
|
||||
***************************************************************************/
|
||||
|
||||
#include "driver.h"
|
||||
#include "state.h"
|
||||
#include "cpu/m6800/m6800.h"
|
||||
#include "cpu/m6809/m6809.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "vidhrdw/generic.h"
|
||||
#include "ost_samples.h"
|
||||
|
||||
static void ddragon_restore_state(void);
|
||||
/* from vidhrdw */
|
||||
extern unsigned char *ddragon_bgvideoram,*ddragon_fgvideoram;
|
||||
extern int ddragon_scrollx_hi, ddragon_scrolly_hi;
|
||||
@@ -87,28 +89,48 @@ extern int technos_video_hw;
|
||||
|
||||
/* private globals */
|
||||
static int dd_sub_cpu_busy;
|
||||
static int sprite_irq, sound_irq, ym_irq, snd_cpu;
|
||||
static int m_sprite_irq, m_sound_irq, ym_irq, snd_cpu;
|
||||
static int adpcm_pos[2],adpcm_end[2],adpcm_idle[2];
|
||||
static int adpcm_data[2] = { -1, -1 };
|
||||
static UINT8* darktowr_mcu_ports, *darktowr_ram;
|
||||
static int VBLK;
|
||||
static UINT8 bank_data;
|
||||
static UINT8 m_ddragon_sub_port;
|
||||
/* end of private globals */
|
||||
|
||||
|
||||
static MACHINE_INIT( ddragon )
|
||||
{
|
||||
sprite_irq = IRQ_LINE_NMI;
|
||||
sound_irq = M6809_IRQ_LINE;
|
||||
m_sprite_irq = IRQ_LINE_NMI;
|
||||
m_sound_irq = M6809_IRQ_LINE;
|
||||
ym_irq = M6809_FIRQ_LINE;
|
||||
technos_video_hw = 0;
|
||||
dd_sub_cpu_busy = 0x10;
|
||||
adpcm_idle[0] = adpcm_idle[1] = 1;
|
||||
snd_cpu = 2;
|
||||
adpcm_pos[0] = adpcm_pos[1] = 0;
|
||||
adpcm_end[0] = adpcm_end[1] = 0;
|
||||
adpcm_idle[0] = adpcm_idle[1] = 1;
|
||||
adpcm_data[0] = adpcm_data[1] = -1;
|
||||
|
||||
state_save_register_int("ddragon", 0, "dd_sub_cpu_busy", &dd_sub_cpu_busy);
|
||||
state_save_register_int("ddragon", 0, "adpcm_idle[0]", &adpcm_idle[0]);
|
||||
state_save_register_int("ddragon", 0, "adpcm_idle[1]", &adpcm_idle[1]);
|
||||
state_save_register_int("ddragon", 0, "adpcm_pos[0]", &adpcm_pos[0]);
|
||||
state_save_register_int("ddragon", 0, "adpcm_pos[1]", &adpcm_pos[1]);
|
||||
state_save_register_int("ddragon", 0, "adpcm_end[0]", &adpcm_end[0]);
|
||||
state_save_register_int("ddragon", 0, "adpcm_end[1]", &adpcm_end[1]);
|
||||
state_save_register_int("ddragon", 0, "adpcm_data[0]", &adpcm_data[0]);
|
||||
state_save_register_int("ddragon", 0, "adpcm_data[1]", &adpcm_data[1]);
|
||||
state_save_register_int("ddragon", 0, "ddragon_scrollx_hi", &ddragon_scrollx_hi);
|
||||
state_save_register_int("ddragon", 0, "ddragon_scrolly_hi", &ddragon_scrolly_hi);
|
||||
state_save_register_UINT8("ddragon", 0, "m_ddragon_sub_port", &m_ddragon_sub_port, 1);
|
||||
state_save_register_func_postload(ddragon_restore_state);
|
||||
/*msm5205 soundcore needs savestates added */
|
||||
}
|
||||
|
||||
|
||||
static MACHINE_INIT( toffy )
|
||||
{
|
||||
sound_irq = M6809_IRQ_LINE;
|
||||
m_sound_irq = M6809_IRQ_LINE;
|
||||
ym_irq = M6809_FIRQ_LINE;
|
||||
technos_video_hw = 0;
|
||||
dd_sub_cpu_busy = 0x10;
|
||||
@@ -118,8 +140,8 @@ static MACHINE_INIT( toffy )
|
||||
|
||||
static MACHINE_INIT( ddragonb )
|
||||
{
|
||||
sprite_irq = IRQ_LINE_NMI;
|
||||
sound_irq = M6809_IRQ_LINE;
|
||||
m_sprite_irq = IRQ_LINE_NMI;
|
||||
m_sound_irq = M6809_IRQ_LINE;
|
||||
ym_irq = M6809_FIRQ_LINE;
|
||||
technos_video_hw = 0;
|
||||
dd_sub_cpu_busy = 0x10;
|
||||
@@ -129,8 +151,8 @@ static MACHINE_INIT( ddragonb )
|
||||
|
||||
static MACHINE_INIT( ddragon2 )
|
||||
{
|
||||
sprite_irq = IRQ_LINE_NMI;
|
||||
sound_irq = IRQ_LINE_NMI;
|
||||
m_sprite_irq = IRQ_LINE_NMI;
|
||||
m_sound_irq = IRQ_LINE_NMI;
|
||||
ym_irq = 0;
|
||||
technos_video_hw = 2;
|
||||
dd_sub_cpu_busy = 0x10;
|
||||
@@ -153,11 +175,11 @@ static WRITE_HANDLER( ddragon_bankswitch_w )
|
||||
if (data & 0x10)
|
||||
dd_sub_cpu_busy = 0x00;
|
||||
else if (dd_sub_cpu_busy == 0x00)
|
||||
cpu_set_irq_line( 1, sprite_irq, (sprite_irq == IRQ_LINE_NMI) ? PULSE_LINE : HOLD_LINE );
|
||||
cpu_set_irq_line( 1, m_sprite_irq, (m_sprite_irq == IRQ_LINE_NMI) ? PULSE_LINE : HOLD_LINE );
|
||||
|
||||
cpu_setbank( 1,&RAM[ 0x10000 + ( 0x4000 * ( ( data & 0xe0) >> 5 ) ) ] );
|
||||
|
||||
bank_data=data;
|
||||
m_ddragon_sub_port=data;
|
||||
}
|
||||
|
||||
static WRITE_HANDLER( toffy_bankswitch_w )
|
||||
@@ -191,7 +213,7 @@ static WRITE_HANDLER( darktowr_bankswitch_w )
|
||||
if (data & 0x10)
|
||||
dd_sub_cpu_busy = 0x00;
|
||||
else if (dd_sub_cpu_busy == 0x00)
|
||||
cpu_set_irq_line( 1, sprite_irq, (sprite_irq == IRQ_LINE_NMI) ? PULSE_LINE : HOLD_LINE );
|
||||
cpu_set_irq_line( 1, m_sprite_irq, (m_sprite_irq == IRQ_LINE_NMI) ? PULSE_LINE : HOLD_LINE );
|
||||
|
||||
darktowr_bank=(data & 0xe0) >> 5;
|
||||
/* cpu_setbank( 1,&RAM[ 0x10000 + ( 0x4000 * ( ( data & 0xe0) >> 5 ) ) ] );*/
|
||||
@@ -204,7 +226,7 @@ static READ_HANDLER( darktowr_bank_r )
|
||||
|
||||
/* MCU is mapped into main cpu memory as a bank */
|
||||
if (darktowr_bank==4) {
|
||||
// log_cb(RETRO_LOG_DEBUG, LOGPRE "BankRead %05x %08x\n",activecpu_get_pc(),offset);
|
||||
/* log_cb(RETRO_LOG_DEBUG, LOGPRE "BankRead %05x %08x\n",activecpu_get_pc(),offset); */
|
||||
|
||||
/* Horrible hack - the alternate TStrike set is mismatched against the MCU,
|
||||
so just hack around the protection here. (The hacks are 'right' as I have
|
||||
@@ -278,15 +300,15 @@ static WRITE_HANDLER( ddragon_interrupt_w )
|
||||
cpu_set_irq_line(0,M6809_IRQ_LINE,CLEAR_LINE);
|
||||
break;
|
||||
case 3: /* 380e - SND irq */
|
||||
if(ddragon_playing && options.use_alt_sound) {
|
||||
if(generate_ost_sound_ddragon( data )) {
|
||||
if( ost_support_enabled(OST_SUPPORT_DDRAGON) ) {
|
||||
if(generate_ost_sound( data )) {
|
||||
soundlatch_w( 0, data );
|
||||
cpu_set_irq_line( snd_cpu, sound_irq, (sound_irq == IRQ_LINE_NMI) ? PULSE_LINE : HOLD_LINE );
|
||||
cpu_set_irq_line( snd_cpu, m_sound_irq, (m_sound_irq == IRQ_LINE_NMI) ? PULSE_LINE : HOLD_LINE );
|
||||
}
|
||||
}
|
||||
else {
|
||||
soundlatch_w( 0, data );
|
||||
cpu_set_irq_line( snd_cpu, sound_irq, (sound_irq == IRQ_LINE_NMI) ? PULSE_LINE : HOLD_LINE );
|
||||
cpu_set_irq_line( snd_cpu, m_sound_irq, (m_sound_irq == IRQ_LINE_NMI) ? PULSE_LINE : HOLD_LINE );
|
||||
}
|
||||
break;
|
||||
case 4: /* 380f - ? */
|
||||
@@ -304,21 +326,23 @@ static READ_HANDLER( ddragon_hd63701_internal_registers_r )
|
||||
|
||||
static WRITE_HANDLER( ddragon_hd63701_internal_registers_w )
|
||||
{
|
||||
/* I don't know why port 0x17 is used.. Doesn't seem to be a standard MCU port */
|
||||
if (offset==0x17) {
|
||||
/* This is a guess, but makes sense.. The mcu definitely interrupts the main cpu.
|
||||
I don't know what bit is the assert and what is the clear though (in comparison
|
||||
it's quite obvious from the Double Dragon 2 code, below). */
|
||||
if (data&3) {
|
||||
|
||||
/* Port 6 */
|
||||
if (offset == 0x17)
|
||||
{
|
||||
if ((data & 0x1) == 0)
|
||||
cpu_set_irq_line(0,M6809_IRQ_LINE,ASSERT_LINE);
|
||||
cpu_set_irq_line(1,sprite_irq, CLEAR_LINE );
|
||||
}
|
||||
|
||||
if (!(m_ddragon_sub_port & 0x2) && (data & 0x2))
|
||||
cpu_set_irq_line(0,M6809_IRQ_LINE,ASSERT_LINE);
|
||||
|
||||
m_ddragon_sub_port = data;
|
||||
}
|
||||
}
|
||||
|
||||
static WRITE_HANDLER( ddragon2_sub_irq_ack_w )
|
||||
{
|
||||
cpu_set_irq_line(1,sprite_irq, CLEAR_LINE );
|
||||
cpu_set_irq_line(1,m_sprite_irq, CLEAR_LINE );
|
||||
}
|
||||
|
||||
static WRITE_HANDLER( ddragon2_sub_irq_w )
|
||||
@@ -335,12 +359,6 @@ static READ_HANDLER( port4_r )
|
||||
|
||||
static READ_HANDLER( ddragon_spriteram_r )
|
||||
{
|
||||
/* Double Dragon crash fix - see notes above */
|
||||
if(strcmp(Machine->gamedrv->name, "ddragon") == 0)
|
||||
{
|
||||
if (offset==0x49 && activecpu_get_pc()==0x6261 && ddragon_spriteram[offset]==0x1f)
|
||||
return 0x1;
|
||||
}
|
||||
return ddragon_spriteram[offset];
|
||||
}
|
||||
|
||||
@@ -358,7 +376,7 @@ static WRITE_HANDLER( ddragon_spriteram_w )
|
||||
static WRITE_HANDLER( cpu_sound_command_w )
|
||||
{
|
||||
soundlatch_w( offset, data );
|
||||
cpu_set_irq_line( snd_cpu, sound_irq, (sound_irq == IRQ_LINE_NMI) ? PULSE_LINE : HOLD_LINE );
|
||||
cpu_set_irq_line( snd_cpu, m_sound_irq, (m_sound_irq == IRQ_LINE_NMI) ? PULSE_LINE : HOLD_LINE );
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -390,8 +408,6 @@ static WRITE_HANDLER( dd_adpcm_w )
|
||||
|
||||
static void dd_adpcm_int(int chip)
|
||||
{
|
||||
static int adpcm_data[2] = { -1, -1 };
|
||||
|
||||
if (adpcm_pos[chip] >= adpcm_end[chip] || adpcm_pos[chip] >= 0x10000)
|
||||
{
|
||||
adpcm_idle[chip] = 1;
|
||||
@@ -721,7 +737,7 @@ INPUT_PORTS_START( tstrike )
|
||||
|
||||
COMMON_INPUT_DIP1
|
||||
|
||||
PORT_START //DSW1
|
||||
PORT_START /*DSW1 */
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
@@ -996,18 +1012,24 @@ static INTERRUPT_GEN( ddragon_interrupt )
|
||||
}
|
||||
}
|
||||
|
||||
#define MAIN_CLOCK 12000000
|
||||
|
||||
#define MAIN_CPU MAIN_CLOCK / 4
|
||||
#define MCU_CPU MAIN_CLOCK / 8
|
||||
#define SND_CPU MAIN_CLOCK / 2
|
||||
|
||||
static MACHINE_DRIVER_START( ddragon )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(HD6309, 3579545) /* 3.579545 MHz */
|
||||
MDRV_CPU_MEMORY(readmem,writemem)
|
||||
MDRV_CPU_ADD(HD6309, MAIN_CPU * 2)
|
||||
MDRV_CPU_MEMORY(readmem,writemem)
|
||||
MDRV_CPU_VBLANK_INT(ddragon_interrupt,272)
|
||||
|
||||
MDRV_CPU_ADD(HD63701,3579545 / 3) /* This divider seems correct by comparison to real board */
|
||||
MDRV_CPU_ADD(HD63701, MCU_CPU ) /* This divider seems correct by comparison to real board */
|
||||
MDRV_CPU_MEMORY(sub_readmem,sub_writemem)
|
||||
|
||||
MDRV_CPU_ADD(HD6309, 3579545)
|
||||
MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
|
||||
MDRV_CPU_ADD(HD6309, SND_CPU)
|
||||
MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
|
||||
MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
|
||||
|
||||
MDRV_FRAMES_PER_SECOND(((12000000.0 / 256.0) / 3.0) / 272.0)
|
||||
@@ -1021,7 +1043,7 @@ static MACHINE_DRIVER_START( ddragon )
|
||||
MDRV_SCREEN_SIZE(32*8, 32*8)
|
||||
MDRV_VISIBLE_AREA(1*8, 31*8-1, 2*8, 30*8-1)
|
||||
MDRV_GFXDECODE(gfxdecodeinfo)
|
||||
MDRV_PALETTE_LENGTH(384)
|
||||
MDRV_PALETTE_LENGTH(512)
|
||||
|
||||
MDRV_VIDEO_START(ddragon)
|
||||
MDRV_VIDEO_UPDATE(ddragon)
|
||||
@@ -1030,11 +1052,7 @@ static MACHINE_DRIVER_START( ddragon )
|
||||
MDRV_SOUND_ADD(YM2151, ym2151_interface)
|
||||
MDRV_SOUND_ADD(MSM5205, msm5205_interface)
|
||||
|
||||
MDRV_SOUND_ADD_TAG("OST Samples", SAMPLES, ost_ddragon)
|
||||
ddragon_playing = true;
|
||||
ddragon_current_music = 0;
|
||||
ddragon_stage = 0;
|
||||
d_title_counter = 0;
|
||||
MDRV_INSTALL_OST_SUPPORT(OST_SUPPORT_DDRAGON)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( darktowr )
|
||||
@@ -1587,9 +1605,9 @@ toffy / stoffy are 'encrytped
|
||||
|
||||
*/
|
||||
|
||||
static void ddragon_restore_state(int dummy)
|
||||
static void ddragon_restore_state(void)
|
||||
{
|
||||
ddragon_bankswitch_w(0, bank_data);
|
||||
ddragon_bankswitch_w(0, m_ddragon_sub_port);
|
||||
}
|
||||
|
||||
static DRIVER_INIT( toffy )
|
||||
|
||||
+20
-9
@@ -40,6 +40,7 @@ Boulderdash use the same graphics chips but are different pcbs.
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "cpu/h6280/h6280.h"
|
||||
#include "dec0.h"
|
||||
#include "ost_samples.h"
|
||||
|
||||
data16_t *dec0_ram;
|
||||
data8_t *robocop_shared_ram;
|
||||
@@ -61,8 +62,16 @@ static WRITE16_HANDLER( dec0_control_w )
|
||||
case 4: /* 6502 sound cpu */
|
||||
if (ACCESSING_LSB)
|
||||
{
|
||||
soundlatch_w(0,data & 0xff);
|
||||
cpu_set_irq_line(1,IRQ_LINE_NMI,PULSE_LINE);
|
||||
if( ost_support_enabled(OST_SUPPORT_ROBOCOP) ) {
|
||||
if(generate_ost_sound( data )) {
|
||||
soundlatch_w(0,data & 0xff);
|
||||
cpu_set_irq_line(1,IRQ_LINE_NMI,PULSE_LINE);
|
||||
}
|
||||
}
|
||||
else {
|
||||
soundlatch_w(0,data & 0xff);
|
||||
cpu_set_irq_line(1,IRQ_LINE_NMI,PULSE_LINE);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -447,10 +456,10 @@ INPUT_PORTS_START( hbarrel )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START /* player 1 12-way rotary control - converted in controls_r() */
|
||||
PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE, 25, 10, 0, 0, KEYCODE_Z, KEYCODE_X, IP_JOY_NONE, IP_JOY_NONE )
|
||||
PORT_ANALOGX( 0xff, 0x0a, IPT_DIAL | IPF_REVERSE, 25, 10, 0, 0, KEYCODE_Z, KEYCODE_X, IP_JOY_NONE, IP_JOY_NONE )
|
||||
|
||||
PORT_START /* player 2 12-way rotary control - converted in controls_r() */
|
||||
PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 10, 0, 0, KEYCODE_N, KEYCODE_M, IP_JOY_NONE, IP_JOY_NONE )
|
||||
PORT_ANALOGX( 0xff, 0x0a, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 10, 0, 0, KEYCODE_N, KEYCODE_M, IP_JOY_NONE, IP_JOY_NONE )
|
||||
INPUT_PORTS_END
|
||||
|
||||
INPUT_PORTS_START( baddudes )
|
||||
@@ -723,10 +732,10 @@ INPUT_PORTS_START( midres )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START /* player 1 12-way rotary control - converted in controls_r() */
|
||||
PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE, 25, 10, 0, 0, KEYCODE_Z, KEYCODE_X, 0, 0 )
|
||||
PORT_ANALOGX( 0xff, 0x0a, IPT_DIAL | IPF_REVERSE, 25, 10, 0, 0, KEYCODE_Z, KEYCODE_X, 0, 0 )
|
||||
|
||||
PORT_START /* player 2 12-way rotary control - converted in controls_r() */
|
||||
PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 10, 0, 0, KEYCODE_N, KEYCODE_M, 0, 0 )
|
||||
PORT_ANALOGX( 0xff, 0x0a, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 10, 0, 0, KEYCODE_N, KEYCODE_M, 0, 0 )
|
||||
INPUT_PORTS_END
|
||||
|
||||
INPUT_PORTS_START( midresbj )
|
||||
@@ -775,10 +784,10 @@ INPUT_PORTS_START( midresbj )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START /* player 1 12-way rotary control - converted in controls_r() */
|
||||
PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE, 25, 10, 0, 0, KEYCODE_Z, KEYCODE_X, IP_JOY_NONE, IP_JOY_NONE )
|
||||
PORT_ANALOGX( 0xff, 0x0a, IPT_DIAL | IPF_REVERSE, 25, 10, 0, 0, KEYCODE_Z, KEYCODE_X, IP_JOY_NONE, IP_JOY_NONE )
|
||||
|
||||
PORT_START /* player 2 12-way rotary control - converted in controls_r() */
|
||||
PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 10, 0, 0, KEYCODE_N, KEYCODE_M, IP_JOY_NONE, IP_JOY_NONE )
|
||||
PORT_ANALOGX( 0xff, 0x0a, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 10, 0, 0, KEYCODE_N, KEYCODE_M, IP_JOY_NONE, IP_JOY_NONE )
|
||||
INPUT_PORTS_END
|
||||
|
||||
INPUT_PORTS_START( bouldash )
|
||||
@@ -1050,6 +1059,8 @@ static MACHINE_DRIVER_START( robocop )
|
||||
MDRV_SOUND_ADD(YM2203, ym2203_interface)
|
||||
MDRV_SOUND_ADD(YM3812, ym3812_interface)
|
||||
MDRV_SOUND_ADD(OKIM6295, okim6295_interface)
|
||||
|
||||
MDRV_INSTALL_OST_SUPPORT(OST_SUPPORT_ROBOCOP)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( robocopb )
|
||||
@@ -2109,7 +2120,7 @@ ROM_START( midresbj )
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 6502 sound */
|
||||
ROM_LOAD( "15", 0x0000, 0x10000, CRC(99d47166) SHA1(a9a1adfe47be8dd3e4d6f8c783447e09be1747b2) )
|
||||
|
||||
|
||||
|
||||
ROM_REGION( 0x20000, REGION_GFX1, ROMREGION_DISPOSE ) /* chars */
|
||||
ROM_LOAD( "23", 0x08000, 0x08000, CRC(d75aba06) SHA1(cb3b969db3dd8e0c5c3729482f7461cde3a961f3) )
|
||||
ROM_CONTINUE( 0x00000, 0x08000 ) /* the two halves are swapped */
|
||||
|
||||
+2
-2
@@ -1350,10 +1350,10 @@ INPUT_PORTS_START( gondo )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
|
||||
PORT_START /* player 1 12-way rotary control */
|
||||
PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE, 25, 10, 0, 0, KEYCODE_Z, KEYCODE_X, IP_JOY_NONE, IP_JOY_NONE )
|
||||
PORT_ANALOGX( 0xff, 0x0a, IPT_DIAL | IPF_REVERSE, 25, 10, 0, 0, KEYCODE_Z, KEYCODE_X, IP_JOY_NONE, IP_JOY_NONE )
|
||||
|
||||
PORT_START /* player 2 12-way rotary control */
|
||||
PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 10, 0, 0, KEYCODE_N, KEYCODE_M, IP_JOY_NONE, IP_JOY_NONE )
|
||||
PORT_ANALOGX( 0xff, 0x0a, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 10, 0, 0, KEYCODE_N, KEYCODE_M, IP_JOY_NONE, IP_JOY_NONE )
|
||||
|
||||
PORT_START /* Dip switch bank 1 */
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) )
|
||||
|
||||
+227
-66
@@ -118,6 +118,7 @@ static data32_t *deco32_ram;
|
||||
static int raster_enable,raster_offset;
|
||||
static void *raster_irq_timer;
|
||||
static UINT8 nslasher_sound_irq;
|
||||
bool lockload_crosshairs = false;
|
||||
|
||||
extern data32_t *deco32_ace_ram;
|
||||
extern VIDEO_START( nslasher );
|
||||
@@ -547,6 +548,17 @@ static WRITE32_HANDLER( nslasher_prot_w )
|
||||
}
|
||||
}
|
||||
|
||||
static WRITE32_HANDLER( nslasheru_prot_w )
|
||||
{
|
||||
/* Only sound port of chip is used - no protection */
|
||||
if (offset==0x700/4) {
|
||||
|
||||
/* different sound_irq for the H6280 CPU */
|
||||
soundlatch_w(0,(data>>16)&0xff); /* same hookup as the Z80 sets or no sound */
|
||||
cpu_set_irq_line(1,0,HOLD_LINE);
|
||||
}
|
||||
}
|
||||
|
||||
/**********************************************************************************/
|
||||
|
||||
static MEMORY_READ32_START( captaven_readmem )
|
||||
@@ -717,82 +729,114 @@ static MEMORY_WRITE32_START( fghthsta_writemem )
|
||||
{ 0x208800, 0x208803, MWA32_NOP }, /* ? */
|
||||
MEMORY_END
|
||||
|
||||
READ32_HANDLER( dragngun_unk_video_r)
|
||||
{
|
||||
return rand();
|
||||
}
|
||||
|
||||
READ32_HANDLER( dragngun_gfxrom_r ) /* trampoline */
|
||||
{
|
||||
data8_t *rom = memory_region(REGION_GFX5);
|
||||
|
||||
return rom[0x00000];
|
||||
}
|
||||
|
||||
static MEMORY_READ32_START( dragngun_readmem )
|
||||
{ 0x000000, 0x0fffff, MRA32_ROM },
|
||||
{ 0x100000, 0x11ffff, MRA32_RAM },
|
||||
{ 0x120000, 0x120fff, dragngun_prot_r },
|
||||
{ 0x128000, 0x12800f, deco32_irq_controller_r },
|
||||
{ 0x130000, 0x131fff, MRA32_RAM },
|
||||
{ 0x138000, 0x138003, MRA32_NOP }, /* Palette dma complete in bit 0x8? ack? return 0 else tight loop */
|
||||
{ 0x0000000, 0x00fffff, MRA32_ROM },
|
||||
{ 0x0100000, 0x011ffff, MRA32_RAM },
|
||||
{ 0x0120000, 0x0120fff, dragngun_prot_r },
|
||||
{ 0x0128000, 0x012800f, deco32_irq_controller_r },
|
||||
{ 0x0130000, 0x0131fff, MRA32_RAM },
|
||||
{ 0x0138000, 0x0138003, MRA32_NOP }, /* Palette dma complete in bit 0x8? ack? return 0 else tight loop */
|
||||
|
||||
{ 0x180000, 0x18001f, MRA32_RAM },
|
||||
{ 0x190000, 0x191fff, MRA32_RAM },
|
||||
{ 0x194000, 0x195fff, MRA32_RAM },
|
||||
{ 0x1a0000, 0x1a0fff, MRA32_RAM },
|
||||
{ 0x1a4000, 0x1a4fff, MRA32_RAM },
|
||||
{ 0x0180000, 0x018001f, MRA32_RAM },
|
||||
{ 0x0190000, 0x0191fff, MRA32_RAM },
|
||||
{ 0x0194000, 0x0195fff, MRA32_RAM },
|
||||
{ 0x01a0000, 0x01a3fff, MRA32_RAM },
|
||||
{ 0x01a4000, 0x01a5fff, MRA32_RAM },
|
||||
|
||||
{ 0x1c0000, 0x1c001f, MRA32_RAM },
|
||||
{ 0x1d0000, 0x1d1fff, MRA32_RAM },
|
||||
{ 0x1d4000, 0x1d5fff, MRA32_RAM },
|
||||
{ 0x1e0000, 0x1e0fff, MRA32_RAM },
|
||||
{ 0x1e4000, 0x1e4fff, MRA32_RAM },
|
||||
{ 0x01c0000, 0x01c001f, MRA32_RAM },
|
||||
{ 0x01d0000, 0x01d1fff, MRA32_RAM },
|
||||
{ 0x01d4000, 0x01d5fff, MRA32_RAM },
|
||||
{ 0x01e0000, 0x01e3fff, MRA32_RAM },
|
||||
{ 0x01e4000, 0x01e5fff, MRA32_RAM },
|
||||
|
||||
{ 0x0204800, 0x0204fff, MRA32_RAM }, /* ace? 0x10 byte increments only 13f ff stuff */
|
||||
|
||||
{ 0x208000, 0x208fff, MRA32_RAM },
|
||||
{ 0x20c000, 0x20cfff, MRA32_RAM },
|
||||
{ 0x210000, 0x217fff, MRA32_RAM },
|
||||
{ 0x218000, 0x21ffff, MRA32_RAM },
|
||||
{ 0x220000, 0x221fff, MRA32_RAM }, /* Main spriteram */
|
||||
{ 0x0208000, 0x0208fff, MRA32_RAM },
|
||||
{ 0x020c000, 0x020cfff, MRA32_RAM },
|
||||
{ 0x0210000, 0x0217fff, MRA32_RAM },
|
||||
{ 0x0218000, 0x021ffff, MRA32_RAM },
|
||||
{ 0x0220000, 0x0221fff, MRA32_RAM }, /* Main spriteram */
|
||||
|
||||
{ 0x204800, 0x204fff, MRA32_RAM }, /*0x10 byte increments only*/
|
||||
{ 0x228000, 0x2283ff, MRA32_RAM }, /*0x10 byte increments only*/
|
||||
{ 0x0228000, 0x02283ff, MRA32_RAM }, /* 0x10 byte increments only */
|
||||
|
||||
{ 0x300000, 0x3fffff, MRA32_ROM },
|
||||
{ 0x0300000, 0x03fffff, MRA32_ROM },
|
||||
|
||||
{ 0x400000, 0x400003, dragngun_oki_2_r },
|
||||
{ 0x420000, 0x420003, dragngun_eeprom_r },
|
||||
{ 0x438000, 0x438003, dragngun_lightgun_r },
|
||||
{ 0x440000, 0x440003, dragngun_service_r },
|
||||
{ 0x0400000, 0x0400003, dragngun_oki_2_r },
|
||||
{ 0x0420000, 0x0420003, dragngun_eeprom_r },
|
||||
{ 0x0438000, 0x0438003, dragngun_lightgun_r },
|
||||
{ 0x0440000, 0x0440003, dragngun_service_r },
|
||||
|
||||
/* this is clearly the dvi video related area */
|
||||
{ 0x1000000, 0x1000007, dragngun_unk_video_r },
|
||||
{ 0x1000100, 0x1007fff, MRA32_RAM },
|
||||
{ 0x10b0000, 0x10b01ff, MRA32_RAM },
|
||||
/* reads from here during boss battles when the videos should be displayed at the offsets where the DVI headers are
|
||||
as a result it ends up writing what looks like pointers to the frame data in the ram area above
|
||||
*/
|
||||
{ 0x1400000, 0x1ffffff, dragngun_gfxrom_r }, /* correct.?? was AM_ROM AM_REGION("dvi", 0x00000) */
|
||||
MEMORY_END
|
||||
|
||||
static MEMORY_WRITE32_START( dragngun_writemem )
|
||||
{ 0x000000, 0x0fffff, MWA32_ROM },
|
||||
{ 0x100000, 0x11ffff, MWA32_RAM, &deco32_ram },
|
||||
{ 0x1204c0, 0x1204c3, deco32_sound_w },
|
||||
{ 0x128000, 0x12800f, deco32_irq_controller_w },
|
||||
{ 0x0000000, 0x00fffff, MWA32_ROM },
|
||||
{ 0x0100000, 0x011ffff, MWA32_RAM, &deco32_ram },
|
||||
{ 0x01204c0, 0x01204c3, deco32_sound_w },
|
||||
{ 0x0128000, 0x012800f, deco32_irq_controller_w },
|
||||
|
||||
{ 0x130000, 0x131fff, deco32_buffered_palette_w, &paletteram32 },
|
||||
{ 0x138000, 0x138003, MWA32_NOP }, /* palette mode? check*/
|
||||
{ 0x138008, 0x13800b, deco32_palette_dma_w },
|
||||
{ 0x0130000, 0x0131fff, deco32_buffered_palette_w, &paletteram32 },
|
||||
{ 0x0138000, 0x0138003, MWA32_NOP }, /* palette mode? check */
|
||||
{ 0x0138008, 0x013800b, deco32_palette_dma_w },
|
||||
|
||||
{ 0x180000, 0x18001f, MWA32_RAM, &deco32_pf12_control },
|
||||
{ 0x190000, 0x191fff, deco32_pf1_data_w, &deco32_pf1_data },
|
||||
{ 0x194000, 0x195fff, deco32_pf2_data_w, &deco32_pf2_data },
|
||||
{ 0x1a0000, 0x1a0fff, MWA32_RAM, &deco32_pf1_rowscroll },
|
||||
{ 0x1a4000, 0x1a4fff, MWA32_RAM, &deco32_pf2_rowscroll },
|
||||
{ 0x0170100, 0x0170103, MWA32_NOP },
|
||||
{ 0x0170038, 0x017003b, MWA32_NOP },
|
||||
{ 0x017002C, 0x017002f, MWA32_NOP },
|
||||
{ 0x0170224, 0x0170227, MWA32_NOP },
|
||||
|
||||
{ 0x1c0000, 0x1c001f, MWA32_RAM, &deco32_pf34_control },
|
||||
{ 0x1d0000, 0x1d1fff, deco32_pf3_data_w, &deco32_pf3_data },
|
||||
{ 0x1d4000, 0x1d5fff, deco32_pf4_data_w, &deco32_pf4_data },
|
||||
{ 0x1e0000, 0x1e0fff, MWA32_RAM, &deco32_pf3_rowscroll },
|
||||
{ 0x1e4000, 0x1e4fff, MWA32_RAM, &deco32_pf4_rowscroll },
|
||||
{ 0x0180000, 0x018001f, MWA32_RAM, &deco32_pf12_control },
|
||||
{ 0x0190000, 0x0191fff, deco32_pf1_data_w, &deco32_pf1_data },
|
||||
{ 0x0194000, 0x0195fff, deco32_pf2_data_w, &deco32_pf2_data },
|
||||
{ 0x01a0000, 0x01a3fff, MWA32_RAM, &deco32_pf1_rowscroll },
|
||||
{ 0x01a4000, 0x01a5fff, MWA32_RAM, &deco32_pf2_rowscroll },
|
||||
|
||||
{ 0x204800, 0x204fff, MWA32_RAM }, /* ace? 0x10 byte increments only */ /* 13f ff stuff*/
|
||||
{ 0x01c0000, 0x01c001f, MWA32_RAM, &deco32_pf34_control },
|
||||
{ 0x01d0000, 0x01d1fff, deco32_pf3_data_w, &deco32_pf3_data },
|
||||
{ 0x01d4000, 0x01d5fff, deco32_pf4_data_w, &deco32_pf4_data },
|
||||
{ 0x01e0000, 0x01e3fff, MWA32_RAM, &deco32_pf3_rowscroll },
|
||||
{ 0x01e4000, 0x01e5fff, MWA32_RAM, &deco32_pf4_rowscroll },
|
||||
|
||||
{ 0x208000, 0x208fff, MWA32_RAM, &dragngun_sprite_layout_0_ram },
|
||||
{ 0x20c000, 0x20cfff, MWA32_RAM, &dragngun_sprite_layout_1_ram },
|
||||
{ 0x210000, 0x217fff, MWA32_RAM, &dragngun_sprite_lookup_0_ram },
|
||||
{ 0x218000, 0x21ffff, MWA32_RAM, &dragngun_sprite_lookup_1_ram },
|
||||
{ 0x220000, 0x221fff, MWA32_RAM, &spriteram32, &spriteram_size },
|
||||
{ 0x228000, 0x2283ff, MWA32_RAM }, /* ? */
|
||||
{ 0x230000, 0x230003, dragngun_spriteram_dma_w },
|
||||
{ 0x0204800, 0x0204fff, MWA32_RAM }, /* ace? 0x10 byte increments only 13f ff stuff */
|
||||
|
||||
{ 0x300000, 0x3fffff, MWA32_ROM },
|
||||
{ 0x0208000, 0x0208fff, MWA32_RAM, &dragngun_sprite_layout_0_ram },
|
||||
{ 0x020c000, 0x020cfff, MWA32_RAM, &dragngun_sprite_layout_1_ram },
|
||||
{ 0x0210000, 0x0217fff, MWA32_RAM, &dragngun_sprite_lookup_0_ram },
|
||||
{ 0x0218000, 0x021ffff, MWA32_RAM, &dragngun_sprite_lookup_1_ram },
|
||||
{ 0x0220000, 0x0221fff, MWA32_RAM, &spriteram32, &spriteram_size },
|
||||
|
||||
{ 0x0228000, 0x02283ff, MWA32_RAM }, /* 0x10 byte increments only */
|
||||
{ 0x0230000, 0x0230003, dragngun_spriteram_dma_w },
|
||||
|
||||
{ 0x400000, 0x400003, dragngun_oki_2_w },
|
||||
{ 0x410000, 0x410003, MWA32_NOP }, /* Some kind of serial bit-stream - digital volume control? */
|
||||
{ 0x420000, 0x420003, dragngun_eeprom_w },
|
||||
{ 0x430000, 0x43001f, dragngun_lightgun_w },
|
||||
{ 0x500000, 0x500003, dragngun_sprite_control_w },
|
||||
{ 0x0300000, 0x03fffff, MWA32_ROM },
|
||||
|
||||
{ 0x0400000, 0x0400003, dragngun_oki_2_w },
|
||||
{ 0x0410000, 0x0410003, MWA32_NOP }, /* Some kind of serial bit-stream - digital volume control? */
|
||||
{ 0x0420000, 0x0420003, dragngun_eeprom_w },
|
||||
{ 0x0430000, 0x043001f, dragngun_lightgun_w },
|
||||
{ 0x0500000, 0x0500003, dragngun_sprite_control_w },
|
||||
|
||||
/* this is clearly the dvi video related area */
|
||||
{ 0x1000100, 0x1007fff, MWA32_RAM },
|
||||
{ 0x10b0000, 0x10b01ff, MWA32_RAM },
|
||||
MEMORY_END
|
||||
|
||||
static MEMORY_READ32_START( lockload_readmem )
|
||||
@@ -1019,6 +1063,46 @@ static MEMORY_WRITE32_START( nslasher_writemem )
|
||||
{ 0x200000, 0x200fff, nslasher_prot_w, &deco32_prot_ram },
|
||||
MEMORY_END
|
||||
|
||||
static MEMORY_WRITE32_START( nslasheru_writemem )
|
||||
{ 0x000000, 0x0fffff, MWA32_ROM },
|
||||
{ 0x100000, 0x11ffff, MWA32_RAM, &deco32_ram },
|
||||
{ 0x120000, 0x1200ff, MWA32_NOP }, /* ACIA (unused) */
|
||||
{ 0x140000, 0x140003, MWA32_NOP }, /* Vblank ack */
|
||||
{ 0x150000, 0x150003, nslasher_eeprom_w }, /* Volume port/Eprom/Priority */
|
||||
|
||||
{ 0x163000, 0x16309f, deco32_ace_ram_w, &deco32_ace_ram }, /* 'Ace' RAM!? */
|
||||
{ 0x164000, 0x164003, MWA32_NOP }, /* Palette control BG2/3 ($1a constant) */
|
||||
{ 0x164004, 0x164007, MWA32_NOP }, /* Palette control Obj1 ($4 constant) */
|
||||
{ 0x164008, 0x16400b, MWA32_NOP }, /* Palette control Obj2 ($6 constant) */
|
||||
{ 0x16400c, 0x16400f, MWA32_NOP },
|
||||
{ 0x168000, 0x169fff, deco32_buffered_palette_w, &paletteram32 },
|
||||
{ 0x16c000, 0x16c003, MWA32_NOP },
|
||||
{ 0x16c008, 0x16c00b, deco32_palette_dma_w },
|
||||
|
||||
{ 0x170000, 0x171fff, MWA32_RAM, &spriteram32, &spriteram_size },
|
||||
{ 0x174000, 0x174003, MWA32_NOP }, /* Sprite DMA mode (2) */
|
||||
{ 0x174010, 0x174013, buffer_spriteram32_w },
|
||||
{ 0x174018, 0x17401b, MWA32_NOP }, /* Sprite 'CPU' (unused) */
|
||||
{ 0x178000, 0x179fff, MWA32_RAM, &spriteram32_2, &spriteram_2_size },
|
||||
{ 0x17c000, 0x17c003, MWA32_NOP }, /* Sprite DMA mode (2) */
|
||||
{ 0x17c010, 0x17c013, buffer_spriteram32_2_w },
|
||||
{ 0x17c018, 0x17c01b, MWA32_NOP }, /* Sprite 'CPU' (unused) */
|
||||
|
||||
{ 0x182000, 0x183fff, deco32_pf1_data_w, &deco32_pf1_data },
|
||||
{ 0x184000, 0x185fff, deco32_pf2_data_w, &deco32_pf2_data },
|
||||
{ 0x192000, 0x193fff, MWA32_RAM, &deco32_pf1_rowscroll },
|
||||
{ 0x194000, 0x195fff, MWA32_RAM, &deco32_pf2_rowscroll },
|
||||
{ 0x1a0000, 0x1a001f, MWA32_RAM, &deco32_pf12_control },
|
||||
|
||||
{ 0x1c2000, 0x1c3fff, deco32_pf3_data_w, &deco32_pf3_data },
|
||||
{ 0x1c4000, 0x1c5fff, deco32_pf4_data_w, &deco32_pf4_data },
|
||||
{ 0x1d2000, 0x1d3fff, MWA32_RAM, &deco32_pf3_rowscroll },
|
||||
{ 0x1d4000, 0x1d5fff, MWA32_RAM, &deco32_pf4_rowscroll },
|
||||
{ 0x1e0000, 0x1e001f, MWA32_RAM, &deco32_pf34_control },
|
||||
|
||||
{ 0x200000, 0x200fff, nslasheru_prot_w, &deco32_prot_ram }, /* nslasheru H6280 sound irq via prot port*/
|
||||
|
||||
MEMORY_END
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
@@ -1749,6 +1833,15 @@ static struct YM2151interface ym2151_interface_nslasher =
|
||||
{ sound_bankswitch_w }
|
||||
};
|
||||
|
||||
static struct YM2151interface ym2151_interface_nslasheru =
|
||||
{
|
||||
1,
|
||||
32220000/9, /* Accurate, audio section crystal is 32.220 MHz */
|
||||
{ YM3012_VOL(40,MIXER_PAN_LEFT,40,MIXER_PAN_RIGHT) },
|
||||
{ sound_irq },
|
||||
{ sound_bankswitch_w }
|
||||
};
|
||||
|
||||
static struct OKIM6295interface okim6295_interface =
|
||||
{
|
||||
2, /* 2 chips */
|
||||
@@ -2061,6 +2154,37 @@ static MACHINE_DRIVER_START( nslasher )
|
||||
MDRV_SOUND_ADD(OKIM6295, okim6295_interface)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( nslasheru )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(ARM, 28322000/4) /* Unconfirmed */
|
||||
MDRV_CPU_MEMORY(nslasher_readmem,nslasheru_writemem)
|
||||
MDRV_CPU_VBLANK_INT(deco32_vbl_interrupt,1)
|
||||
|
||||
MDRV_CPU_ADD(H6280, 32220000/8)
|
||||
MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
|
||||
MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
|
||||
|
||||
MDRV_FRAMES_PER_SECOND(60)
|
||||
MDRV_VBLANK_DURATION(529)
|
||||
MDRV_NVRAM_HANDLER(93C46)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_NEEDS_6BITS_PER_GUN | VIDEO_BUFFERS_SPRITERAM | VIDEO_RGB_DIRECT)
|
||||
MDRV_SCREEN_SIZE(42*8, 32*8)
|
||||
MDRV_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
|
||||
MDRV_GFXDECODE(gfxdecodeinfo_nslasher)
|
||||
MDRV_PALETTE_LENGTH(2048)
|
||||
|
||||
MDRV_VIDEO_START(nslasher)
|
||||
MDRV_VIDEO_UPDATE(nslasher)
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
|
||||
MDRV_SOUND_ADD(YM2151, ym2151_interface_nslasheru)
|
||||
MDRV_SOUND_ADD(OKIM6295, okim6295_interface)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
/**********************************************************************************/
|
||||
|
||||
ROM_START( captaven )
|
||||
@@ -2425,7 +2549,7 @@ ROM_START( dragngun )
|
||||
ROM_LOAD32_BYTE( "mar-15.bin", 0x000003, 0x100000, CRC(ec976b20) SHA1(c120b3c56d5e02162e41dc7f726c260d0f8d2f1a) )
|
||||
ROM_LOAD32_BYTE( "mar-16.bin", 0x400003, 0x100000, CRC(8b329bc8) SHA1(6e34eb6e2628a01a699d20a5155afb2febc31255) )
|
||||
|
||||
ROM_REGION( 0x100000, REGION_GFX5, 0 ) /* Video data - unused for now */
|
||||
ROM_REGION32_BE( 0x100000, REGION_GFX5, 0 ) /* Video data - unused for now */
|
||||
ROM_LOAD( "mar-17.bin", 0x00000, 0x100000, CRC(7799ed23) SHA1(ae28ad4fa6033a3695fa83356701b3774b26e6b0) )
|
||||
ROM_LOAD( "mar-18.bin", 0x00000, 0x100000, CRC(ded66da9) SHA1(5134cb47043cc190a35ebdbf1912166669f9c055) )
|
||||
ROM_LOAD( "mar-19.bin", 0x00000, 0x100000, CRC(bdd1ed20) SHA1(2435b23210b8fee4d39c30d4d3c6ea40afaa3b93) )
|
||||
@@ -2645,12 +2769,12 @@ ROM_START( lockload )
|
||||
/* ROM_LOAD( "dgma27.bin", 0x00000, 0x100000, CRC(3fcbd10f) SHA1(70fc7b88bbe35bbae1de14364b03d0a06d541de5) )*/
|
||||
/* ROM_LOAD( "dgma28.bin", 0x00000, 0x100000, CRC(5a2ec71d) SHA1(447c404e6bb696f7eb7c61992a99b9be56f5d6b0) )*/
|
||||
|
||||
ROM_REGION(0x100000, REGION_SOUND1, 0 )
|
||||
ROM_LOAD( "mbm-06.n17", 0x00000, 0x100000, CRC(f34d5999) SHA1(265b5f4e8598bcf9183bf9bd95db69b01536acb2) )
|
||||
|
||||
ROM_REGION(0x80000, REGION_SOUND2, 0 )
|
||||
ROM_REGION(0x80000, REGION_SOUND1, 0 )
|
||||
ROM_LOAD( "mbm-07.n21", 0x00000, 0x80000, CRC(414f3793) SHA1(ed5f63e57390d503193fd1e9f7294ae1da6d3539) )
|
||||
|
||||
ROM_REGION(0x100000, REGION_SOUND2, 0 )
|
||||
ROM_LOAD( "mbm-06.n17", 0x00000, 0x100000, CRC(f34d5999) SHA1(265b5f4e8598bcf9183bf9bd95db69b01536acb2) )
|
||||
|
||||
ROM_REGION(0x80000, REGION_SOUND3, 0 )
|
||||
ROM_LOAD( "mar-07.n19", 0x00000, 0x80000, CRC(40287d62) SHA1(c00cb08bcdae55bcddc14c38e88b0484b1bc9e3e) ) /* same as dragngun, unused?*/
|
||||
ROM_END
|
||||
@@ -2895,6 +3019,40 @@ ROM_START( nslashers )
|
||||
ROM_LOAD( "mbh-11.16l", 0x000000, 0x80000, CRC(0ec40b6b) SHA1(9fef44149608ae2a00f6a75a6f77f2efcab6e78e) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( nslasheru )
|
||||
ROM_REGION(0x100000, REGION_CPU1, 0 ) /* Encrypted ARM 32 bit code */
|
||||
ROM_LOAD32_WORD( "00.f1", 0x000000, 0x80000, CRC(944f3329) SHA1(7e7909e203b9752de3d3d798c6f84ac6ae824a07) )
|
||||
ROM_LOAD32_WORD( "01.f2", 0x000002, 0x80000, CRC(ac12d18a) SHA1(7cd4e843bf575c70c5c39a8afa78b803106f59b0) )
|
||||
|
||||
ROM_REGION(0x10000, REGION_CPU2, 0 ) /* Sound CPU */
|
||||
ROM_LOAD( "02.l18", 0x00000, 0x10000, CRC(5e63bd91) SHA1(a6ac3c8c50f44cf2e6cf029aef1c974d1fc16ed5) )
|
||||
|
||||
ROM_REGION( 0x200000, REGION_GFX1, 0 )
|
||||
ROM_LOAD( "mbh-00.8c", 0x000000, 0x200000, CRC(a877f8a3) SHA1(79253525f360a73161894f31e211e4d6b38d307a) ) /* Encrypted tiles */
|
||||
|
||||
ROM_REGION( 0x200000, REGION_GFX2, 0 )
|
||||
ROM_LOAD( "mbh-01.9c", 0x000000, 0x200000, CRC(1853dafc) SHA1(b1183c0db301cbed9f079c782202dbfc553b198e) ) /* Encrypted tiles */
|
||||
|
||||
ROM_REGION( 0xa00000, REGION_GFX3, 0 ) /* Sprites */
|
||||
ROM_LOAD16_BYTE( "mbh-02.14c", 0x000001, 0x200000, CRC(b2f158a1) SHA1(4f8c0b324813db198fe1dad7fff4185b828b94de) )
|
||||
ROM_LOAD16_BYTE( "mbh-04.16c", 0x000000, 0x200000, CRC(eecfe06d) SHA1(2df817fe5e2ea31207b217bb03dc58979c05d0d2) )
|
||||
ROM_LOAD16_BYTE( "mbh-03.15c", 0x400001, 0x80000, CRC(787787e3) SHA1(531444e3f28aa9a7539a5a76ca94a9d6b97274c5) )
|
||||
ROM_LOAD16_BYTE( "mbh-05.17c", 0x400000, 0x80000, CRC(1d2b7c17) SHA1(ae0b8e0448a1a8180fb424fb0bc8a4302f8ff602) )
|
||||
ROM_LOAD32_BYTE( "mbh-06.18c", 0x500000, 0x100000, CRC(038c2127) SHA1(5bdb215305f1a419fde27a83b623a38b9328e560) )
|
||||
ROM_LOAD32_BYTE( "mbh-07.19c", 0x900000, 0x40000, CRC(bbd22323) SHA1(6ab665b2e6d04cdadc48c52e15098e978b61fe10) )
|
||||
|
||||
ROM_REGION( 0x100000, REGION_GFX4, 0 ) /* Sprites */
|
||||
ROM_LOAD16_BYTE( "mbh-08.16e", 0x000001, 0x80000, CRC(cdd7f8cb) SHA1(910bbe8783c0ba722e9d6399b332d658fa059fdb) )
|
||||
ROM_LOAD16_BYTE( "mbh-09.18e", 0x000000, 0x80000, CRC(33fa2121) SHA1(eb0e99d29b1ad9995df28e5b7cfc89d53efb53c3) )
|
||||
|
||||
ROM_REGION(0x80000, REGION_SOUND1, 0 )
|
||||
ROM_LOAD( "mbh-10.14l", 0x000000, 0x80000, CRC(c4d6b116) SHA1(c5685bce6a6c6a74ca600ebf766ba1007f0dc666) )
|
||||
|
||||
ROM_REGION(0x80000, REGION_SOUND2, 0 )
|
||||
ROM_LOAD( "mbh-11.16l", 0x000000, 0x80000, CRC(0ec40b6b) SHA1(9fef44149608ae2a00f6a75a6f77f2efcab6e78e) )
|
||||
|
||||
ROM_END
|
||||
|
||||
/**********************************************************************************/
|
||||
|
||||
static READ32_HANDLER( captaven_skip )
|
||||
@@ -2940,7 +3098,7 @@ static READ32_HANDLER( nslasher_skip )
|
||||
int left=cycles_left_to_run();
|
||||
UINT32 ret=deco32_ram[0];
|
||||
|
||||
if ((pc==0x9c8 || pc== 0xa84)&& left>32 && (ret&0x80)) {
|
||||
if ((pc==0x9c8 /* Korea / Overseas */|| pc==0xa84 /* Japan */|| pc==0x9e0 /* USA */)&& left>32 && (ret&0x80)) {
|
||||
cpu_spinuntil_int();
|
||||
}
|
||||
|
||||
@@ -3004,6 +3162,8 @@ static DRIVER_INIT( lockload )
|
||||
/* ROM[0x3fe3c0/4]=0xe1a00000;*/ /* NOP test switch lock*/
|
||||
/* ROM[0x3fe3cc/4]=0xe1a00000;*/ /* NOP test switch lock*/
|
||||
/* ROM[0x3fe40c/4]=0xe1a00000;*/ /* NOP test switch lock*/
|
||||
|
||||
lockload_crosshairs = true;
|
||||
}
|
||||
|
||||
static DRIVER_INIT( tattass )
|
||||
@@ -3076,4 +3236,5 @@ GAMEX(1994, tattass, 0, tattass, tattass, tattass, ROT0, "Data East P
|
||||
GAMEX(1994, tattassa, tattass, tattass, tattass, tattass, ROT0, "Data East Pinball", "Tattoo Assassins (Asia Prototype)", GAME_IMPERFECT_GRAPHICS )
|
||||
GAME( 1994, nslasher, 0, nslasher, nslasher, nslasher, ROT0, "Data East Corporation", "Night Slashers (Korea Rev 1.3)" )
|
||||
GAME( 1994, nslasherj,nslasher, nslasher, nslasher, nslasher, ROT0, "Data East Corporation", "Night Slashers (Japan Rev 1.2)" )
|
||||
GAMEC( 1994, nslashers,nslasher, nslasher, nslasher, nslasher, ROT0, "Data East Corporation", "Night Slashers (Over Sea Rev 1.2)", &generic_ctrl, &nslashers_bootstrap )
|
||||
GAMEC(1994, nslashers,nslasher, nslasher, nslasher, nslasher, ROT0, "Data East Corporation", "Night Slashers (Over Sea Rev 1.2)", &generic_ctrl, &nslashers_bootstrap )
|
||||
GAME( 1994, nslasheru,nslasher, nslasheru,nslasher, nslasher, ROT0, "Data East Corporation", "Night Slashers (US Rev 1.2)" )
|
||||
@@ -720,7 +720,7 @@ static WRITE32_HANDLER( mirror_hack_w )
|
||||
return;
|
||||
}
|
||||
|
||||
//printf ("%8.8x, write\n", offset*4);
|
||||
/*printf ("%8.8x, write\n", offset*4); */
|
||||
}
|
||||
|
||||
static DRIVER_INIT( avengrgs )
|
||||
|
||||
+176
-56
@@ -466,6 +466,21 @@ static MACHINE_DRIVER_START( ctsttape )
|
||||
MDRV_MACHINE_INIT(ctsttape)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( chwy )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(decocass)
|
||||
MDRV_MACHINE_INIT(chwy)
|
||||
MDRV_VIDEO_UPDATE(manhattan)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( cmanhat )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(decocass)
|
||||
MDRV_MACHINE_INIT(cmanhat)
|
||||
MDRV_VIDEO_UPDATE(manhattan)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( clocknch )
|
||||
|
||||
@@ -602,6 +617,12 @@ static MACHINE_DRIVER_START( clapapa )
|
||||
MDRV_MACHINE_INIT(clapapa)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( cskater )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(decocass)
|
||||
MDRV_MACHINE_INIT(cskater)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( cfghtice )
|
||||
|
||||
@@ -634,6 +655,13 @@ static MACHINE_DRIVER_START( cprosocc )
|
||||
MDRV_MACHINE_INIT(cprosocc)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( csdtenis )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(decocass)
|
||||
MDRV_MACHINE_INIT(csdtenis)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
static MACHINE_DRIVER_START( cppicf )
|
||||
|
||||
@@ -658,19 +686,20 @@ static MACHINE_DRIVER_START( cscrtry )
|
||||
MDRV_MACHINE_INIT(cscrtry)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( czeroize )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(decocass)
|
||||
MDRV_MACHINE_INIT(czeroize)
|
||||
MDRV_VISIBLE_AREA(1*8, 32*8-1, 1*8, 31*8-1)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
#define DECOCASS_COMMON_ROMS \
|
||||
ROM_REGION( 2*0x10000, REGION_CPU1, 0 ) /* 64k for code + 64k for decrypted opcodes */ \
|
||||
ROM_LOAD( "rms8.cpu", 0xf000, 0x1000, CRC(23d929b7) SHA1(063f83020ba3d6f43ab8471f95ca919767b93aa4) ) \
|
||||
/* the following two are just about the same stuff as the one above */ \
|
||||
/* ROM_LOAD( "dsp3.p0b", 0xf000, 0x0800, CRC(b67a91d9) ) */ \
|
||||
/* ROM_LOAD( "dsp3.p1b", 0xf800, 0x0800, CRC(3bfff5f3) ) */ \
|
||||
\
|
||||
ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for the audio CPU */ \
|
||||
ROM_LOAD( "rms8.snd", 0xf800, 0x0800, CRC(b66b2c2a) SHA1(0097f38beb4872e735e560148052e258a26b08fd) ) \
|
||||
\
|
||||
ROM_REGION( 0x01000, REGION_CPU3, 0 ) /* 4k for the MCU (actually 1K ROM + 64 bytes RAM @ 0x800) */ \
|
||||
ROM_REGION( 0x10000, REGION_CPU3, 0 ) /* 4k for the MCU (actually 1K ROM + 64 bytes RAM @ 0x800) */ \
|
||||
ROM_LOAD( "cass8041.bin", 0x0000, 0x0400, CRC(a6df18fd) SHA1(1f9ea47e372d31767c936c15852b43df2b0ee8ff) ) \
|
||||
\
|
||||
ROM_REGION( 0x00060, REGION_PROMS, 0 ) /* PROMS */ \
|
||||
@@ -679,8 +708,29 @@ MACHINE_DRIVER_END
|
||||
ROM_LOAD( "rms8.j3", 0x0040, 0x0020, CRC(51eef657) SHA1(eaedce5caf55624ad6ae706aedf82c5717c60f1f) ) /* DRAM banking and timing */ \
|
||||
|
||||
|
||||
#define DECOCASS_BIOS_A_ROMS \
|
||||
/* v0a.7e, New boardset bios, revision A */ \
|
||||
\
|
||||
ROM_REGION( 2*0x10000, REGION_CPU1, 0 ) /* 64k for code + 64k for decrypted opcodes */ \
|
||||
ROM_LOAD( "v0a-.7e", 0xf000, 0x1000, CRC(3d33ac34) SHA1(909d59e7a993affd10224402b4370e82a5f5545c) ) \
|
||||
\
|
||||
DECOCASS_COMMON_ROMS \
|
||||
|
||||
|
||||
#define DECOCASS_BIOS_B_ROMS \
|
||||
/* rms8.7e, New boardset bios, revision B */ \
|
||||
\
|
||||
ROM_REGION( 2*0x10000, REGION_CPU1, 0 ) /* 64k for code + 64k for decrypted opcodes */ \
|
||||
ROM_LOAD( "rms8.cpu", 0xf000, 0x1000, CRC(23d929b7) SHA1(063f83020ba3d6f43ab8471f95ca919767b93aa4) ) \
|
||||
\
|
||||
DECOCASS_COMMON_ROMS \
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ROM_START( decocass )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_END
|
||||
|
||||
@@ -688,7 +738,7 @@ ROM_END
|
||||
(dongle data same for each game) */
|
||||
|
||||
ROM_START( ctsttape )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x00020, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "de-0061.pro", 0x0000, 0x0020, CRC(e09ae5de) SHA1(7dec067d0739a6dad2607132641b66880a5b7751) )
|
||||
@@ -697,8 +747,29 @@ ROM_START( ctsttape )
|
||||
ROM_LOAD( "testtape.cas", 0x0000, 0x2000, CRC(4f9d8efb) SHA1(5b77747dad1033e5703f06c0870441b54b4256c5) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( chwy )
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
|
||||
/* The dongle data is reverse engineered from manual decryption */
|
||||
ROM_LOAD( "chwy.pro", 0x0000, 0x0020, CRC(2fae678e) SHA1(4a7de851442d4c1d690de03262f0e136a52fca35) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_USER2, 0 ) /* (max) 64k for cassette image */
|
||||
ROM_LOAD( "chwy.cas", 0x0000, 0x8000, CRC(68a48064) SHA1(7e389737972fd0c54f398d296159c561f5ec3a93) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cmanhat )
|
||||
DECOCASS_BIOS_A_ROMS
|
||||
|
||||
ROM_REGION( 0x00020, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "manhattan.pro", 0x0000, 0x0020, CRC(1bc9fccb) SHA1(ffc59c7660d5c87a8deca294f80260b6bc7c3027) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_USER2, 0 ) /* (max) 64k for cassette image */
|
||||
ROM_LOAD( "manhattan.cas", 0x000000, 0x006000, CRC(92dae2b1) SHA1(cc048ac6601553675078230290beb3d59775bfe0) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( clocknch )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x00020, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "de-0061.pro", 0x0000, 0x0020, CRC(e09ae5de) SHA1(7dec067d0739a6dad2607132641b66880a5b7751) )
|
||||
@@ -708,7 +779,7 @@ ROM_START( clocknch )
|
||||
ROM_END
|
||||
|
||||
ROM_START( ctisland )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x00020, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "de-0061.pro", 0x0000, 0x0020, CRC(e09ae5de) SHA1(7dec067d0739a6dad2607132641b66880a5b7751) )
|
||||
@@ -718,7 +789,7 @@ ROM_START( ctisland )
|
||||
ROM_END
|
||||
|
||||
ROM_START( ctislnd2 )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x00020, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "de-0061.pro", 0x0000, 0x0020, CRC(e09ae5de) SHA1(7dec067d0739a6dad2607132641b66880a5b7751) )
|
||||
@@ -728,7 +799,7 @@ ROM_START( ctislnd2 )
|
||||
ROM_END
|
||||
|
||||
ROM_START( ctislnd3 )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x00020, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "de-0061.pro", 0x0000, 0x0020, CRC(e09ae5de) SHA1(7dec067d0739a6dad2607132641b66880a5b7751) )
|
||||
@@ -738,7 +809,7 @@ ROM_START( ctislnd3 )
|
||||
ROM_END
|
||||
|
||||
ROM_START( csuperas )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x00020, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "de-0061.pro", 0x0000, 0x0020, CRC(e09ae5de) SHA1(7dec067d0739a6dad2607132641b66880a5b7751) )
|
||||
@@ -748,7 +819,7 @@ ROM_START( csuperas )
|
||||
ROM_END
|
||||
|
||||
ROM_START( castfant )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x00020, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "de-0061.pro", 0x0000, 0x0020, CRC(e09ae5de) SHA1(7dec067d0739a6dad2607132641b66880a5b7751) )
|
||||
@@ -758,7 +829,7 @@ ROM_START( castfant )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cluckypo )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x00020, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "de-0061.pro", 0x0000, 0x0020, CRC(e09ae5de) SHA1(7dec067d0739a6dad2607132641b66880a5b7751) )
|
||||
@@ -768,7 +839,7 @@ ROM_START( cluckypo )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cterrani )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x00020, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "de-0061.pro", 0x0000, 0x0020, CRC(e09ae5de) SHA1(7dec067d0739a6dad2607132641b66880a5b7751) )
|
||||
@@ -778,7 +849,7 @@ ROM_START( cterrani )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cexplore )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x00020, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "de-0061.pro", 0x0000, 0x0020, CRC(e09ae5de) SHA1(7dec067d0739a6dad2607132641b66880a5b7751) )
|
||||
@@ -788,7 +859,7 @@ ROM_START( cexplore )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cprogolf )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x00020, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "de-0061.pro", 0x0000, 0x0020, CRC(e09ae5de) SHA1(7dec067d0739a6dad2607132641b66880a5b7751) )
|
||||
@@ -801,7 +872,7 @@ ROM_END
|
||||
(dongle data differs for each game) */
|
||||
|
||||
ROM_START( cmissnx )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x00800, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "cmissnx.pro", 0x0000, 0x0800, CRC(8a41c071) SHA1(7b16d933707bf21d25dcd11db6a6c28834b11c5b) )
|
||||
@@ -811,7 +882,7 @@ ROM_START( cmissnx )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cdiscon1 )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x00800, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "cdiscon1.pro", 0x0000, 0x0800, CRC(0f793fab) SHA1(331f1b1b482fcd10f42c388a503f9af62d705401) )
|
||||
@@ -821,7 +892,7 @@ ROM_START( cdiscon1 )
|
||||
ROM_END
|
||||
|
||||
ROM_START( csweetht )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x00800, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "cdiscon1.pro", 0x0000, 0x0800, CRC(0f793fab) SHA1(331f1b1b482fcd10f42c388a503f9af62d705401) )
|
||||
@@ -831,7 +902,7 @@ ROM_START( csweetht )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cptennis )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x00800, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "cptennis.pro", 0x0000, 0x0800, CRC(59b8cede) SHA1(514861a652b5256a11477fc357bc01dfd87f712b) )
|
||||
@@ -841,7 +912,7 @@ ROM_START( cptennis )
|
||||
ROM_END
|
||||
|
||||
ROM_START( ctornado )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x00800, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "ctornado.pro", 0x0000, 0x0800, CRC(c9a91697) SHA1(3f7163291edbdf1a596e3cd2b7a16bbb140ffb36) )
|
||||
@@ -850,11 +921,32 @@ ROM_START( ctornado )
|
||||
ROM_LOAD( "ctornado.cas", 0x0000, 0x8000, CRC(e4e36ce0) SHA1(48a11823121fb2e3de31ae08e453c0124fc4f7f3) )
|
||||
ROM_END
|
||||
|
||||
/* Fishing / Angler Dangler */
|
||||
ROM_START( cadanglr ) /* version 5-B-0 */
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "dp-1250-a-0.dgl", 0x0000, 0x1000, CRC(92a3b387) SHA1(e17a155d02e9ed806590b23a845dc7806b6720b1) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_USER2, 0 ) /* (max) 64k for cassette image */
|
||||
ROM_LOAD( "dt-1255-b-0.cas", 0x0000, 0x7400, CRC(eb985257) SHA1(1285724352a59c96cc4edf4f43e89dd6d8c585b2) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cfishing )
|
||||
DECOCASS_BIOS_A_ROMS
|
||||
|
||||
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "dp-1250-a-0.dgl", 0x0000, 0x1000, CRC(92a3b387) SHA1(e17a155d02e9ed806590b23a845dc7806b6720b1) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_USER2, 0 ) /* (max) 64k for cassette image */
|
||||
ROM_LOAD( "dt-1250-a-0.cas", 0x0000, 0x7500, CRC(d4a16425) SHA1(25afaabdc8b2217d5e73606a36ea9ba408d7bc4b) )
|
||||
ROM_END
|
||||
|
||||
/* The Following use Dongle Type 3 (unknown part number?)
|
||||
(dongle data differs for each game) */
|
||||
|
||||
ROM_START( cburnrub )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "cburnrub.pro", 0x0000, 0x1000, CRC(9f396832) SHA1(0e302fd094474ac792882948a018c73ce76e0759) )
|
||||
@@ -864,7 +956,7 @@ ROM_START( cburnrub )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cburnrb2 )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "cburnrub.pro", 0x0000, 0x1000, CRC(9f396832) SHA1(0e302fd094474ac792882948a018c73ce76e0759) )
|
||||
@@ -874,7 +966,7 @@ ROM_START( cburnrb2 )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cbnj )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "cburnrub.pro", 0x0000, 0x1000, CRC(9f396832) SHA1(0e302fd094474ac792882948a018c73ce76e0759) )
|
||||
@@ -884,7 +976,7 @@ ROM_START( cbnj )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cbtime )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "cbtime.pro", 0x0000, 0x1000, CRC(25bec0f0) SHA1(9fb1f9699f37937421e26d4fb8fdbcd21a5ddc5c) )
|
||||
@@ -894,7 +986,7 @@ ROM_START( cbtime )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cgraplop )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "cgraplop.pro", 0x0000, 0x1000, CRC(ee93787d) SHA1(0c753d62fdce2fdbd5b329a5aa259a967d07a651) )
|
||||
@@ -904,7 +996,7 @@ ROM_START( cgraplop )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cgraplp2 )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "cgraplop.pro", 0x0000, 0x1000, CRC(ee93787d) SHA1(0c753d62fdce2fdbd5b329a5aa259a967d07a651) ) /* is this right for this set? */
|
||||
@@ -914,7 +1006,7 @@ ROM_START( cgraplp2 )
|
||||
ROM_END
|
||||
|
||||
ROM_START( clapapa )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "clapapa.pro", 0x0000, 0x1000, CRC(e172819a) SHA1(3492775f4f0a0b31ce5a1a998076829b3f264e98) )
|
||||
@@ -924,7 +1016,7 @@ ROM_START( clapapa )
|
||||
ROM_END
|
||||
|
||||
ROM_START( clapapa2 )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "clapapa.pro", 0x0000, 0x1000, CRC(e172819a) SHA1(3492775f4f0a0b31ce5a1a998076829b3f264e98) )
|
||||
@@ -933,8 +1025,18 @@ ROM_START( clapapa2 )
|
||||
ROM_LOAD( "clapapa2.cas", 0x0000, 0x8000, CRC(069dd3c4) SHA1(5a19392c7ac5aea979187c96267e73bf5126307e) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cskater )
|
||||
DECOCASS_BIOS_A_ROMS
|
||||
|
||||
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "dp-130 a.dgl", 0x0000, 0x1000, CRC(469e80a8) SHA1(f581cd534ce6faba010c6616538cdf9d96d787da) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_USER2, 0 ) /* (max) 64k for cassette image */
|
||||
ROM_LOAD( "dt-130 a.bin", 0x0000, 0x8000, CRC(1722e5e1) SHA1(e94066ead608df85d3f7310d4a81ba291da4bee6) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cfghtice )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "cfghtice.pro", 0x0000, 0x1000, CRC(5abd27b5) SHA1(2ab1c171adffd491759036d6ce2433706654aad2) )
|
||||
@@ -944,7 +1046,7 @@ ROM_START( cfghtice )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cprobowl )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "cprobowl.pro", 0x0000, 0x1000, CRC(e3a88e60) SHA1(e6e9a2e5ab26e0463c63201a15f7d5a429ec836e) )
|
||||
@@ -954,7 +1056,7 @@ ROM_START( cprobowl )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cnightst )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "cnightst.pro", 0x0000, 0x1000, CRC(553b0fbc) SHA1(2cdf4560992b62e59b6de760d7996be4ed25f505) )
|
||||
@@ -964,7 +1066,7 @@ ROM_START( cnightst )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cnights2 )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "cnightst.pro", 0x0000, 0x1000, CRC(553b0fbc) SHA1(2cdf4560992b62e59b6de760d7996be4ed25f505) )
|
||||
@@ -974,7 +1076,7 @@ ROM_START( cnights2 )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cprosocc )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "cprosocc.pro", 0x0000, 0x1000, CRC(919fabb2) SHA1(3d6a0676cea7b0be0fe69d06e04ca08c36b2851a) )
|
||||
@@ -983,8 +1085,18 @@ ROM_START( cprosocc )
|
||||
ROM_LOAD( "cprosocc.cas", 0x0000, 0x10000, CRC(76b1ad2c) SHA1(6188667e5bc001dfdf83deaf7251eae794de4702) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( csdtenis )
|
||||
DECOCASS_BIOS_A_ROMS
|
||||
|
||||
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "dp-134 a.dgl", 0x0000, 0x1000, CRC(e484d2f5) SHA1(ee4e4c221933d391aeed8ff7182fa931a4e01466) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_USER2, 0 ) /* (max) 64k for cassette image */
|
||||
ROM_LOAD( "dt-134 a.bin", 0x0000, 0x10000, CRC(9a69d961) SHA1(f88e267815ca0697708aca0ac9fa6f7664a0519c) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cppicf )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "cppicf.pro", 0x0000, 0x1000, CRC(0b1a1ecb) SHA1(2106da6837c78812c102b0eaaa1127fcc21ea780) )
|
||||
@@ -994,7 +1106,7 @@ ROM_START( cppicf )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cppicf2 )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "cppicf.pro", 0x0000, 0x1000, CRC(0b1a1ecb) SHA1(2106da6837c78812c102b0eaaa1127fcc21ea780) )
|
||||
@@ -1007,7 +1119,7 @@ ROM_END
|
||||
(dongle data probably differs for each game, but only one is known using it atm) */
|
||||
|
||||
ROM_START( cscrtry )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x08000, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "cscrtry.pro", 0x0000, 0x8000, CRC(7bc3460b) SHA1(7c5668ff9a5073e27f4a83b02d79892eb4df6b92) )
|
||||
@@ -1017,7 +1129,7 @@ ROM_START( cscrtry )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cscrtry2 )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
ROM_REGION( 0x08000, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "cscrtry.pro", 0x0000, 0x8000, CRC(7bc3460b) SHA1(7c5668ff9a5073e27f4a83b02d79892eb4df6b92) )
|
||||
@@ -1026,11 +1138,21 @@ ROM_START( cscrtry2 )
|
||||
ROM_LOAD( "cscrtry2.cas", 0x0000, 0x8000, CRC(04597842) SHA1(7f1fc3e06b61df880debe9056bdfbbb8600af739) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( coozumou )
|
||||
DECOCASS_BIOS_A_ROMS
|
||||
|
||||
ROM_REGION( 0x08000, REGION_USER1, 0 ) /* dongle data */
|
||||
ROM_LOAD( "dp-141_a.dgl", 0x0000, 0x8000, CRC(bc379d2c) SHA1(bab19dcb6d68fdbd547ebab1598353f436321157) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_USER2, 0 ) /* (max) 64k for cassette image */
|
||||
ROM_LOAD( "dt-141_1a.cas", 0x0000, 0x10000, CRC(20c2e86a) SHA1(a18248ba00b847a09df0bea7752a21162af8af76) )
|
||||
ROM_END
|
||||
|
||||
/* The Following use Dongle Type 5 (unknown part number?)
|
||||
(dongle data not read) */
|
||||
|
||||
ROM_START( cbdash )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
/* ROM_REGION( 0x01000, REGION_USER1, 0 ) */ /* (max) 4k for dongle data */
|
||||
/* no proms */
|
||||
@@ -1042,17 +1164,8 @@ ROM_END
|
||||
/* The Following have unknown Dongles
|
||||
(dongle data not read) */
|
||||
|
||||
ROM_START( chwy )
|
||||
DECOCASS_COMMON_ROMS
|
||||
|
||||
/* no dumped dongle data, type1? its an early game if its highway chase */
|
||||
|
||||
ROM_REGION( 0x10000, REGION_USER2, 0 ) /* (max) 64k for cassette image */
|
||||
ROM_LOAD( "chwy.cas", 0x0000, 0x8000, CRC(68a48064) SHA1(7e389737972fd0c54f398d296159c561f5ec3a93) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cflyball )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
/* no dumped dongle data */
|
||||
|
||||
@@ -1061,9 +1174,10 @@ ROM_START( cflyball )
|
||||
ROM_END
|
||||
|
||||
ROM_START( czeroize )
|
||||
DECOCASS_COMMON_ROMS
|
||||
DECOCASS_BIOS_B_ROMS
|
||||
|
||||
/* no dumped dongle data */
|
||||
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
|
||||
/* missing dongle data */
|
||||
|
||||
ROM_REGION( 0x10000, REGION_USER2, 0 ) /* (max) 64k for cassette image */
|
||||
ROM_LOAD( "czeroize.cas", 0x0000, 0x10000, CRC(3ef0a406) SHA1(645b34cd477e0bb5539c8fe937a7a2dbd8369003) )
|
||||
@@ -1085,6 +1199,8 @@ static DRIVER_INIT( decocass )
|
||||
|
||||
GAMEX( 1981, decocass, 0, decocass, decocass, decocass, ROT270, "DECO", "Cassette System", NOT_A_DRIVER )
|
||||
GAME ( 1981, ctsttape, decocass, ctsttape, decocass, decocass, ROT270, "DECO", "Cassette: Test Tape" )
|
||||
GAMEX( 1980, chwy, decocass, chwy, decocass, decocass, ROT270, "DECO", "Cassette: Highway Chase", GAME_IMPERFECT_GRAPHICS )
|
||||
GAME ( 1981, cmanhat, decocass, cmanhat, decocass, decocass, ROT270, "DECO", "Cassette: Manhattan" )
|
||||
GAME ( 1981, clocknch, decocass, clocknch, decocass, decocass, ROT270, "DECO", "Cassette: Lock'n'Chase" )
|
||||
GAMEX( 1981, ctisland, decocass, ctisland, decocass, decocass, ROT270, "DECO", "Cassette: Treasure Island (set 1)", GAME_IMPERFECT_GRAPHICS )
|
||||
GAMEX( 1981, ctislnd2, ctisland, ctisland, decocass, decocass, ROT270, "DECO", "Cassette: Treasure Island (set 2)", GAME_IMPERFECT_GRAPHICS )
|
||||
@@ -1104,22 +1220,26 @@ GAME ( 1982, cburnrub, decocass, cburnrub, decocass, decocass, ROT270, "DECO", "
|
||||
GAME ( 1982, cburnrb2, cburnrub, cburnrub, decocass, decocass, ROT270, "DECO", "Cassette: Burnin' Rubber (set 2)" )
|
||||
GAME ( 1982, cbnj, cburnrub, cbnj, decocass, decocass, ROT270, "DECO", "Cassette: Bump N Jump" )
|
||||
GAME ( 1983, cbtime, decocass, cbtime, decocass, decocass, ROT270, "DECO", "Cassette: Burger Time" )
|
||||
GAME ( 1982, cadanglr, decocass, cppicf, decocass, decocass, ROT270, "DECO", "Cassette: Angler Dangler" )
|
||||
GAME ( 1982, cfishing, cadanglr, cppicf, decocass, decocass, ROT270, "DECO", "Cassette: Fishing" )
|
||||
GAME ( 1983, cgraplop, decocass, cgraplop, decocass, decocass, ROT270, "DECO", "Cassette: Graplop (aka Cluster Buster) (set 1)" )
|
||||
GAMEX( 1983, cgraplp2, cgraplop, cgraplop, decocass, decocass, ROT270, "DECO", "Cassette: Graplop (aka Cluster Buster) (set 2)", GAME_NOT_WORKING ) /* Different Protection / Bitswap? */
|
||||
GAME ( 1983, clapapa, decocass, clapapa, decocass, decocass, ROT270, "DECO", "Cassette: Rootin' Tootin' (aka La.Pa.Pa)" ) /* Displays 'LaPaPa during attract */
|
||||
GAME ( 1983, clapapa2, clapapa, clapapa, decocass, decocass, ROT270, "DECO", "Cassette: Rootin' Tootin'" ) /* Displays 'Rootin' Tootin' during attract */
|
||||
GAME ( 1983, cskater, decocass, cskater, decocass, decocass, ROT270, "DECO", "Cassette: Skater (Japan)" )
|
||||
GAME ( 1983, czeroize, decocass, czeroize, decocass, decocass, ROT270, "DECO", "Cassette: Zeroize" )
|
||||
GAME ( 1984, cfghtice, decocass, cfghtice, decocass, decocass, ROT270, "DECO", "Cassette: Fighting Ice Hockey" )
|
||||
GAME ( 1983, cprobowl, decocass, cprobowl, decocass, decocass, ROT270, "DECO", "Cassette: Pro Bowling" )
|
||||
GAME ( 1983, cnightst, decocass, cnightst, decocass, decocass, ROT270, "DECO", "Cassette: Night Star (set 1)" )
|
||||
GAME ( 1983, cnights2, cnightst, cnightst, decocass, decocass, ROT270, "DECO", "Cassette: Night Star (set 2)" )
|
||||
GAME ( 1983, cprosocc, decocass, cprosocc, decocass, decocass, ROT270, "DECO", "Cassette: Pro Soccer" )
|
||||
GAMEX( 1983, csdtenis, decocass, csdtenis, decocass, decocass, ROT270, "DECO", "Cassette: Super Doubles Tennis (Japan)", GAME_WRONG_COLORS )
|
||||
GAME ( 1984, cppicf, decocass, cppicf, decocass, decocass, ROT270, "DECO", "Cassette: Peter Pepper's Ice Cream Factory (set 1)" )
|
||||
GAME ( 1984, cppicf2, cppicf, cppicf, decocass, decocass, ROT270, "DECO", "Cassette: Peter Pepper's Ice Cream Factory (set 2)" )
|
||||
GAME ( 1984, cscrtry, decocass, cscrtry, decocass, decocass, ROT270, "DECO", "Cassette: Scrum Try (set 1)" )
|
||||
GAME ( 1984, cscrtry2, cscrtry, cscrtry, decocass, decocass, ROT270, "DECO", "Cassette: Scrum Try (set 2)" )
|
||||
GAME ( 1984, coozumou, decocass, cscrtry, decocass, decocass, ROT270, "DECO", "Cassette: Oozumou - The Grand Sumo (Japan)" )
|
||||
GAME ( 1985, cbdash, decocass, cbdash, decocass, decocass, ROT270, "DECO", "Cassette: Boulder Dash" )
|
||||
|
||||
/* The following may be missing dongle data if they're not Type 1 */
|
||||
GAMEX( 1985, chwy, decocass, decocass, decocass, decocass, ROT270, "DECO", "Cassette: Highway Chase[Q]", GAME_NOT_WORKING )
|
||||
GAMEX( 1985, cflyball, decocass, decocass, decocass, decocass, ROT270, "DECO", "Cassette: Flying Ball[Q]", GAME_NOT_WORKING )
|
||||
GAMEX( 1985, czeroize, decocass, decocass, decocass, decocass, ROT270, "DECO", "Cassette: Zeroize[Q]", GAME_NOT_WORKING )
|
||||
@@ -23,7 +23,7 @@ PAL16R6A 11H
|
||||
|
||||
static int flip_screen;
|
||||
static data16_t *spriteram16;
|
||||
static unsigned int spriteram_size;
|
||||
static size_t spriteram_size;
|
||||
|
||||
|
||||
static void dietgogo_drawsprites(struct mame_bitmap *bitmap,const struct rectangle *cliprect)
|
||||
|
||||
+41
-2
@@ -647,6 +647,11 @@ static DRIVER_INIT( djboy )
|
||||
bankxor = 0x00;
|
||||
}
|
||||
|
||||
static DRIVER_INIT( djboyj )
|
||||
{
|
||||
bankxor = 0x1f;
|
||||
}
|
||||
|
||||
static WRITE_HANDLER( cpu1_cause_nmi_w )
|
||||
{
|
||||
cpu_set_irq_line(0, IRQ_LINE_NMI, PULSE_LINE);
|
||||
@@ -1043,5 +1048,39 @@ ROM_START( djboy )
|
||||
ROM_LOAD( "bs203.5j", 0x000000, 0x40000, CRC(805341fb) SHA1(fb94e400e2283aaa806814d5a39d6196457dc822) )
|
||||
ROM_END
|
||||
|
||||
/* YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MNTR, COMPANY, FULLNAME, FLAGS */
|
||||
GAME( 1989, djboy, 0, djboy, djboy, djboy, ROT0, "Kaneko", "DJ Boy" ) /* Sammy & Williams logos in FG ROM*/
|
||||
ROM_START( djboyj )
|
||||
ROM_REGION( 0x48000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "bs12.4b", 0x00000, 0x08000, CRC(0971523e) SHA1(f90cd02cedf8632f4b651de7ea75dc8c0e682f6e) )
|
||||
ROM_CONTINUE( 0x10000, 0x18000 )
|
||||
ROM_LOAD( "bs100.4d", 0x28000, 0x20000, CRC(081e8af8) SHA1(3589dab1cf31b109a40370b4db1f31785023e2ed) )
|
||||
|
||||
ROM_REGION( 0x38000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "bs13.5y", 0x00000, 0x08000, CRC(5c3f2f96) SHA1(bb7ee028a2d8d3c76a78a29fba60bcc36e9399f5) )
|
||||
ROM_CONTINUE( 0x10000, 0x08000 )
|
||||
ROM_LOAD( "bs101.6w", 0x18000, 0x20000, CRC(a7c85577) SHA1(8296b96d5f69f6c730b7ed77fa8c93496b33529c) )
|
||||
|
||||
ROM_REGION( 0x24000, REGION_CPU3, 0 ) /* sound */
|
||||
ROM_LOAD( "bs200.8c", 0x00000, 0x0c000, CRC(f6c19e51) SHA1(82193f71122df07cce0a7f057a87b89eb2d587a1) )
|
||||
ROM_CONTINUE( 0x10000, 0x14000 )
|
||||
|
||||
ROM_REGION( 0x200000, REGION_GFX1, 0 ) /* sprites */
|
||||
ROM_LOAD( "bs000.1h", 0x000000, 0x80000, CRC(be4bf805) SHA1(a73c564575fe89d26225ca8ec2d98b6ac319ac18) )
|
||||
ROM_LOAD( "bs001.1f", 0x080000, 0x80000, CRC(fdf36e6b) SHA1(a8762458dfd5201304247c113ceb85e96e33d423) )
|
||||
ROM_LOAD( "bs002.1d", 0x100000, 0x80000, CRC(c52fee7f) SHA1(bd33117f7a57899fd4ec0a77413107edd9c44629) )
|
||||
ROM_LOAD( "bs003.1k", 0x180000, 0x80000, CRC(ed89acb4) SHA1(611af362606b73cd2cf501678b463db52dcf69c4) )
|
||||
ROM_LOAD( "bsxx.1b", 0x1f0000, 0x10000, CRC(22c8aa08) SHA1(5521c9d73b4ee82a2de1992d6edc7ef62788ad72) ) /* replaces last 0x200 tiles */
|
||||
|
||||
ROM_REGION( 0x100000, REGION_GFX2, 0 ) /* background */
|
||||
ROM_LOAD( "bs004.1s", 0x000000, 0x80000, CRC(2f1392c3) SHA1(1bc3030b3612766a02133eef0b4d20013c0495a4) )
|
||||
ROM_LOAD( "bs005.1u", 0x080000, 0x80000, CRC(46b400c4) SHA1(35f4823364bbff1fc935994498d462bbd3bc6044) )
|
||||
|
||||
ROM_REGION( 0x40000, REGION_SOUND1, 0 ) /* OKI-M6295 samples */
|
||||
ROM_LOAD( "bs-204.5j", 0x000000, 0x40000, CRC(510244f0) SHA1(afb502d46d268ad9cd209ae1da72c50e4e785626) )
|
||||
|
||||
ROM_REGION( 0x40000, REGION_SOUND2, 0 ) /* OKI-M6295 samples */
|
||||
ROM_LOAD( "bs-204.5j", 0x000000, 0x40000, CRC(510244f0) SHA1(afb502d46d268ad9cd209ae1da72c50e4e785626) )
|
||||
ROM_END
|
||||
|
||||
|
||||
GAME( 1989, djboy, 0, djboy, djboy, djboy, ROT0, "Kaneko", "DJ Boy" ) /* Sammy & Williams logos in FG ROM */
|
||||
GAME( 1989, djboyj, djboy, djboy, djboy, djboyj, ROT0, "Kaneko", "DJ Boy (Japan)" ) /* Sega logo in FG ROM */
|
||||
+592
-280
File diff suppressed because it is too large.
Load diff
+304
-336
@@ -2,10 +2,6 @@
|
||||
|
||||
Mr. Do's Castle memory map (preliminary)
|
||||
|
||||
TODO:
|
||||
- the function of the third CPU is not clear.
|
||||
|
||||
|
||||
FIRST CPU:
|
||||
0000-7fff ROM
|
||||
8000-97ff RAM
|
||||
@@ -116,6 +112,19 @@ not currently hooked up
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
/*
|
||||
|
||||
TODO:
|
||||
|
||||
- third CPU
|
||||
- unknown ports 0 and 2
|
||||
- bad communication in idsoccer
|
||||
- adpcm status in idsoccer
|
||||
- real values for the adpcm interface in idsoccer
|
||||
- handle flipscreen on/off based on address line A7 (cX0X/cX8X)
|
||||
|
||||
*/
|
||||
|
||||
#include "driver.h"
|
||||
#include "vidhrdw/generic.h"
|
||||
|
||||
@@ -158,6 +167,61 @@ static MEMORY_WRITE_START( docastle_writemem )
|
||||
{ 0xe000, 0xe000, docastle_nmitrigger_w },
|
||||
MEMORY_END
|
||||
|
||||
static PORT_READ_START( docastle_readport )
|
||||
{ 0x00, 0x00, MRA_NOP }, /* goes to CRT 46505S */
|
||||
{ 0x02, 0x02, MRA_NOP }, /* goes to CRT 46505S */
|
||||
PORT_END
|
||||
|
||||
static PORT_WRITE_START( docastle_writeport )
|
||||
{ 0x00, 0x00, MWA_NOP }, /* goes to CRT 46505S */
|
||||
{ 0x02, 0x02, MWA_NOP }, /* goes to CRT 46505S */
|
||||
PORT_END
|
||||
|
||||
static MEMORY_READ_START( docastle_readmem2 )
|
||||
{ 0x0000, 0x3fff, MRA_ROM },
|
||||
{ 0x8000, 0x87ff, MRA_RAM },
|
||||
{ 0xa000, 0xa008, docastle_shared1_r },
|
||||
{ 0xc001, 0xc001, input_port_4_r },
|
||||
{ 0xc081, 0xc081, input_port_4_r },
|
||||
{ 0xc002, 0xc002, input_port_3_r },
|
||||
{ 0xc082, 0xc082, input_port_3_r },
|
||||
{ 0xc003, 0xc003, input_port_0_r },
|
||||
{ 0xc083, 0xc083, input_port_0_r },
|
||||
{ 0xc004, 0xc004, docastle_flipscreen_off_r },
|
||||
{ 0xc005, 0xc005, input_port_1_r },
|
||||
{ 0xc085, 0xc085, input_port_1_r },
|
||||
{ 0xc007, 0xc007, input_port_2_r },
|
||||
{ 0xc087, 0xc087, input_port_2_r },
|
||||
{ 0xc084, 0xc084, docastle_flipscreen_on_r },
|
||||
MEMORY_END
|
||||
|
||||
static MEMORY_WRITE_START( docastle_writemem2 )
|
||||
{ 0x0000, 0x3fff, MWA_ROM },
|
||||
{ 0x8000, 0x87ff, MWA_RAM },
|
||||
{ 0xa000, 0xa008, docastle_shared0_w },
|
||||
{ 0xc004, 0xc004, docastle_flipscreen_off_w },
|
||||
{ 0xc084, 0xc084, docastle_flipscreen_on_w },
|
||||
{ 0xe000, 0xe000, SN76496_0_w },
|
||||
{ 0xe400, 0xe400, SN76496_1_w },
|
||||
{ 0xe800, 0xe800, SN76496_2_w },
|
||||
{ 0xec00, 0xec00, SN76496_3_w },
|
||||
MEMORY_END
|
||||
|
||||
static MEMORY_READ_START( docastle_readmem3 )
|
||||
{ 0x0000, 0x00ff, MRA_ROM },
|
||||
{ 0x4000, 0x47ff, MRA_RAM },
|
||||
{ 0x8000, 0x8008, docastle_shared1_r }, /* ??? */
|
||||
{ 0xc003, 0xc003, MRA_NOP }, /* EP according to schematics */
|
||||
{ 0xc432, 0xc435, MRA_NOP }, /* ??? */
|
||||
MEMORY_END
|
||||
|
||||
static MEMORY_WRITE_START( docastle_writemem3 )
|
||||
{ 0x0000, 0x00ff, MWA_ROM },
|
||||
{ 0x4000, 0x47ff, MWA_RAM },
|
||||
{ 0xc003, 0xc003, MWA_NOP }, /* EP according to schematics */
|
||||
{ 0xc432, 0xc435, MWA_NOP }, /* ??? */
|
||||
MEMORY_END
|
||||
|
||||
static MEMORY_READ_START( dorunrun_readmem )
|
||||
{ 0x0000, 0x1fff, MRA_ROM },
|
||||
{ 0x2000, 0x37ff, MRA_RAM },
|
||||
@@ -171,112 +235,26 @@ static MEMORY_WRITE_START( dorunrun_writemem )
|
||||
{ 0x3800, 0x39ff, MWA_RAM, &spriteram, &spriteram_size },
|
||||
{ 0x4000, 0x9fff, MWA_ROM },
|
||||
{ 0xa000, 0xa008, docastle_shared1_w },
|
||||
{ 0xa800, 0xa800, watchdog_reset_w },
|
||||
{ 0xb000, 0xb3ff, docastle_videoram_w, &videoram },
|
||||
{ 0xb400, 0xb7ff, docastle_colorram_w, &colorram },
|
||||
{ 0xb800, 0xb800, docastle_nmitrigger_w },
|
||||
{ 0xa800, 0xa800, watchdog_reset_w },
|
||||
MEMORY_END
|
||||
|
||||
/* what is this really, sound related? */
|
||||
static READ_HANDLER(idsoccer_c000_r)
|
||||
{
|
||||
static int i = 0x00;
|
||||
i ^= 0x80; return i;
|
||||
}
|
||||
|
||||
static MEMORY_READ_START( idsoccer_readmem )
|
||||
{ 0x0000, 0x3fff, MRA_ROM },
|
||||
{ 0x4000, 0x59ff, MRA_RAM },
|
||||
{ 0x6000, 0x9fff, MRA_ROM },
|
||||
{ 0xa000, 0xa008, docastle_shared0_r },
|
||||
{ 0xb800, 0xbbff, videoram_r },
|
||||
{ 0xbc00, 0xbfff, colorram_r },
|
||||
{ 0xc000, 0xc000, idsoccer_c000_r }, /* ?? */
|
||||
MEMORY_END
|
||||
|
||||
static MEMORY_WRITE_START( idsoccer_writemem )
|
||||
{ 0x0000, 0x3fff, MWA_ROM },
|
||||
{ 0x4000, 0x57ff, MWA_RAM },
|
||||
{ 0x5800, 0x59ff, MWA_RAM, &spriteram, &spriteram_size },
|
||||
{ 0x6000, 0x9fff, MWA_ROM },
|
||||
{ 0xa000, 0xa008, docastle_shared1_w },
|
||||
{ 0xa800, 0xa800, watchdog_reset_w },
|
||||
{ 0xb000, 0xb3ff, docastle_videoram_w, &videoram },
|
||||
{ 0xb400, 0xb7ff, docastle_colorram_w, &colorram },
|
||||
{ 0xc000, 0xc000, MWA_NOP }, /* ?? */
|
||||
{ 0xe000, 0xe000, docastle_nmitrigger_w },
|
||||
MEMORY_END
|
||||
|
||||
static MEMORY_READ_START( docastle_readmem2 )
|
||||
{ 0x0000, 0x3fff, MRA_ROM },
|
||||
{ 0x8000, 0x87ff, MRA_RAM },
|
||||
{ 0xa000, 0xa008, docastle_shared1_r },
|
||||
{ 0xc003, 0xc003, input_port_0_r },
|
||||
{ 0xc083, 0xc083, input_port_0_r },
|
||||
{ 0xc005, 0xc005, input_port_1_r },
|
||||
{ 0xc085, 0xc085, input_port_1_r },
|
||||
{ 0xc007, 0xc007, input_port_2_r },
|
||||
{ 0xc087, 0xc087, input_port_2_r },
|
||||
{ 0xc002, 0xc002, input_port_3_r },
|
||||
{ 0xc082, 0xc082, input_port_3_r },
|
||||
{ 0xc001, 0xc001, input_port_4_r },
|
||||
{ 0xc081, 0xc081, input_port_4_r },
|
||||
{ 0xc004, 0xc004, docastle_flipscreen_off_r },
|
||||
{ 0xc084, 0xc084, docastle_flipscreen_on_r },
|
||||
MEMORY_END
|
||||
|
||||
static MEMORY_WRITE_START( docastle_writemem2 )
|
||||
{ 0x0000, 0x3fff, MWA_ROM },
|
||||
{ 0x8000, 0x87ff, MWA_RAM },
|
||||
{ 0xa000, 0xa008, docastle_shared0_w },
|
||||
{ 0xe000, 0xe000, SN76496_0_w },
|
||||
{ 0xe400, 0xe400, SN76496_1_w },
|
||||
{ 0xe800, 0xe800, SN76496_2_w },
|
||||
{ 0xec00, 0xec00, SN76496_3_w },
|
||||
{ 0xc004, 0xc004, docastle_flipscreen_off_w },
|
||||
{ 0xc084, 0xc084, docastle_flipscreen_on_w },
|
||||
MEMORY_END
|
||||
|
||||
static MEMORY_READ_START( idsoccer_readmem2 )
|
||||
{ 0x0000, 0x3fff, MRA_ROM },
|
||||
{ 0x8000, 0x87ff, MRA_RAM },
|
||||
{ 0xa000, 0xa008, docastle_shared1_r },
|
||||
{ 0xc003, 0xc003, input_port_0_r },
|
||||
{ 0xc083, 0xc083, input_port_0_r },
|
||||
{ 0xc005, 0xc005, input_port_1_r },
|
||||
{ 0xc085, 0xc085, input_port_1_r },
|
||||
{ 0xc007, 0xc007, input_port_2_r },
|
||||
{ 0xc087, 0xc087, input_port_2_r },
|
||||
{ 0xc002, 0xc002, input_port_3_r },
|
||||
{ 0xc082, 0xc082, input_port_3_r },
|
||||
{ 0xc001, 0xc001, input_port_4_r },
|
||||
{ 0xc081, 0xc081, input_port_4_r },
|
||||
{ 0xc004, 0xc004, input_port_5_r },
|
||||
{ 0xc084, 0xc084, input_port_5_r },
|
||||
MEMORY_END
|
||||
|
||||
static MEMORY_READ_START( docastle_readmem3 )
|
||||
{ 0x0000, 0x0100, MRA_ROM },
|
||||
MEMORY_END
|
||||
|
||||
static MEMORY_WRITE_START( docastle_writemem3 )
|
||||
{ 0x0000, 0x0100, MWA_ROM },
|
||||
MEMORY_END
|
||||
|
||||
static MEMORY_READ_START( dorunrun_readmem2 )
|
||||
{ 0x0000, 0x3fff, MRA_ROM },
|
||||
{ 0x8000, 0x87ff, MRA_RAM },
|
||||
{ 0xc001, 0xc001, input_port_4_r },
|
||||
{ 0xc081, 0xc081, input_port_4_r },
|
||||
{ 0xc002, 0xc002, input_port_3_r },
|
||||
{ 0xc082, 0xc082, input_port_3_r },
|
||||
{ 0xc003, 0xc003, input_port_0_r },
|
||||
{ 0xc083, 0xc083, input_port_0_r },
|
||||
{ 0xc004, 0xc004, docastle_flipscreen_off_r },
|
||||
{ 0xc005, 0xc005, input_port_1_r },
|
||||
{ 0xc085, 0xc085, input_port_1_r },
|
||||
{ 0xc007, 0xc007, input_port_2_r },
|
||||
{ 0xc087, 0xc087, input_port_2_r },
|
||||
{ 0xc002, 0xc002, input_port_3_r },
|
||||
{ 0xc082, 0xc082, input_port_3_r },
|
||||
{ 0xc001, 0xc001, input_port_4_r },
|
||||
{ 0xc081, 0xc081, input_port_4_r },
|
||||
{ 0xc004, 0xc004, docastle_flipscreen_off_r },
|
||||
{ 0xc084, 0xc084, docastle_flipscreen_on_r },
|
||||
{ 0xe000, 0xe008, docastle_shared1_r },
|
||||
MEMORY_END
|
||||
@@ -294,6 +272,97 @@ static MEMORY_WRITE_START( dorunrun_writemem2 )
|
||||
MEMORY_END
|
||||
|
||||
|
||||
/* Read/Write Handlers */
|
||||
|
||||
static int adpcm_pos, adpcm_idle;
|
||||
|
||||
static void idsoccer_adpcm_int(int chip)
|
||||
{
|
||||
static int adpcm_data = -1;
|
||||
|
||||
if (adpcm_pos >= memory_region_length(REGION_SOUND1))
|
||||
{
|
||||
adpcm_idle = 1;
|
||||
MSM5205_reset_w(0, 1);
|
||||
}
|
||||
else if (adpcm_data != -1)
|
||||
{
|
||||
MSM5205_data_w(0, adpcm_data & 0x0f);
|
||||
adpcm_data = -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
adpcm_data = memory_region(REGION_SOUND1)[adpcm_pos++];
|
||||
MSM5205_data_w(0, adpcm_data >> 4);
|
||||
}
|
||||
}
|
||||
|
||||
static READ_HANDLER( idsoccer_adpcm_status_r )
|
||||
{
|
||||
/* this is wrong, but the samples work anyway!! */
|
||||
static int i;
|
||||
i ^= 0x80;
|
||||
return i;
|
||||
}
|
||||
|
||||
static WRITE_HANDLER( idsoccer_adpcm_w )
|
||||
{
|
||||
if (data & 0x80)
|
||||
{
|
||||
adpcm_idle = 1;
|
||||
MSM5205_reset_w(0, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
adpcm_pos = (data & 0x7f) * 0x200;
|
||||
adpcm_idle = 0;
|
||||
MSM5205_reset_w(0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
static MEMORY_READ_START( idsoccer_readmem )
|
||||
{ 0x0000, 0x3fff, MRA_ROM },
|
||||
{ 0x4000, 0x59ff, MRA_RAM },
|
||||
{ 0x6000, 0x9fff, MRA_ROM },
|
||||
{ 0xa000, 0xa008, docastle_shared0_r },
|
||||
{ 0xb800, 0xbbff, videoram_r },
|
||||
{ 0xbc00, 0xbfff, colorram_r },
|
||||
{ 0xc000, 0xc000, idsoccer_adpcm_status_r }, /* sound */
|
||||
MEMORY_END
|
||||
|
||||
static MEMORY_WRITE_START( idsoccer_writemem )
|
||||
{ 0x0000, 0x3fff, MWA_ROM },
|
||||
{ 0x4000, 0x57ff, MWA_RAM },
|
||||
{ 0x5800, 0x59ff, MWA_RAM, &spriteram, &spriteram_size },
|
||||
{ 0x6000, 0x9fff, MWA_ROM },
|
||||
{ 0xa000, 0xa008, docastle_shared1_w },
|
||||
{ 0xa800, 0xa800, watchdog_reset_w },
|
||||
{ 0xb000, 0xb3ff, docastle_videoram_w, &videoram },
|
||||
{ 0xb400, 0xb7ff, docastle_colorram_w, &colorram },
|
||||
{ 0xc000, 0xc000, idsoccer_adpcm_w }, /* sound */
|
||||
{ 0xe000, 0xe000, docastle_nmitrigger_w },
|
||||
MEMORY_END
|
||||
|
||||
|
||||
static MEMORY_READ_START( idsoccer_readmem2 )
|
||||
{ 0x0000, 0x3fff, MRA_ROM },
|
||||
{ 0x8000, 0x87ff, MRA_RAM },
|
||||
{ 0xa000, 0xa008, docastle_shared1_r },
|
||||
{ 0xc001, 0xc001, input_port_4_r },
|
||||
{ 0xc081, 0xc081, input_port_4_r },
|
||||
{ 0xc002, 0xc002, input_port_3_r },
|
||||
{ 0xc082, 0xc082, input_port_3_r },
|
||||
{ 0xc003, 0xc003, input_port_0_r },
|
||||
{ 0xc083, 0xc083, input_port_0_r },
|
||||
{ 0xc004, 0xc004, input_port_5_r },
|
||||
{ 0xc084, 0xc084, input_port_5_r },
|
||||
{ 0xc005, 0xc005, input_port_1_r },
|
||||
{ 0xc085, 0xc085, input_port_1_r },
|
||||
{ 0xc007, 0xc007, input_port_2_r },
|
||||
{ 0xc087, 0xc087, input_port_2_r },
|
||||
MEMORY_END
|
||||
|
||||
/* Input Ports */
|
||||
|
||||
/* Coinage used for all games */
|
||||
#define COINAGE_PORT \
|
||||
@@ -325,55 +394,62 @@ MEMORY_END
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) \
|
||||
/* 0x10, 0x20, 0x30, 0x40, 0x50 all give 1 Coin/1 Credit */
|
||||
|
||||
#define DOCASTLE_IN0 \
|
||||
PORT_START \
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY ) \
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY ) \
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY ) \
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY ) \
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_COCKTAIL ) \
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY | IPF_COCKTAIL ) \
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY | IPF_COCKTAIL ) \
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY | IPF_COCKTAIL )
|
||||
|
||||
INPUT_PORTS_START( docastle )
|
||||
PORT_START /* IN0 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY | IPF_COCKTAIL )
|
||||
|
||||
PORT_START /* IN1 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
#define DOCASTLE_IN1 \
|
||||
PORT_START \
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) \
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) \
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) \
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) \
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL ) \
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL ) \
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) \
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
|
||||
|
||||
PORT_START /* IN2 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BITX( 0x02, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, JOYCODE_NONE )
|
||||
PORT_BIT_IMPULSE( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1, 32 ) /* coin input must be active for 32 frames to be consistently recognized */
|
||||
PORT_DIPNAME( 0x08, 0x08, "Freeze" )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
#define DOCASTLE_IN2 \
|
||||
PORT_START \
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT ) \
|
||||
PORT_SERVICE_NO_TOGGLE( 0x02, IP_ACTIVE_LOW ) \
|
||||
PORT_BIT_IMPULSE( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1, 32 ) \
|
||||
PORT_DIPNAME( 0x08, 0x08, "Freeze" ) \
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) \
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) \
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 ) \
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) \
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
INPUT_PORTS_START( docastle )
|
||||
DOCASTLE_IN0
|
||||
|
||||
DOCASTLE_IN1
|
||||
|
||||
DOCASTLE_IN2
|
||||
|
||||
PORT_START /* DSW0 */
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
|
||||
PORT_DIPSETTING( 0x03, "Easy" )
|
||||
PORT_DIPSETTING( 0x02, "Medium" )
|
||||
PORT_DIPSETTING( 0x01, "Hard" )
|
||||
PORT_DIPSETTING( 0x00, "Hardest" )
|
||||
PORT_DIPNAME( 0x04, 0x04, "Automatic Screen Renewal" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Yes ) )
|
||||
PORT_DIPSETTING( 0x03, "1 (Beginner)" )
|
||||
PORT_DIPSETTING( 0x02, "2" )
|
||||
PORT_DIPSETTING( 0x01, "3" )
|
||||
PORT_DIPSETTING( 0x00, "4 (Advanced)" )
|
||||
PORT_DIPNAME( 0x04, 0x04, "Rack Test" )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, "Advance Level on Getting Diamond" )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, "Extra" )
|
||||
PORT_DIPNAME( 0x10, 0x10, "Difficulty of EXTRA" )
|
||||
PORT_DIPSETTING( 0x10, "Easy" )
|
||||
PORT_DIPSETTING( 0x00, "Hard" )
|
||||
PORT_DIPSETTING( 0x00, "Difficult" )
|
||||
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) )
|
||||
@@ -387,53 +463,27 @@ INPUT_PORTS_START( docastle )
|
||||
INPUT_PORTS_END
|
||||
|
||||
INPUT_PORTS_START( dorunrun )
|
||||
PORT_START /* IN0 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY | IPF_COCKTAIL )
|
||||
DOCASTLE_IN0
|
||||
|
||||
PORT_START /* IN1 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
|
||||
DOCASTLE_IN1
|
||||
|
||||
PORT_START /* IN2 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BITX( 0x02, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, JOYCODE_NONE )
|
||||
PORT_BIT_IMPULSE( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1, 32 ) /* coin input must be active for 32 frames to be consistently recognized */
|
||||
PORT_DIPNAME( 0x08, 0x08, "Freeze" )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
DOCASTLE_IN2
|
||||
|
||||
PORT_START /* DSW0 */
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
|
||||
PORT_DIPSETTING( 0x03, "Easy" )
|
||||
PORT_DIPSETTING( 0x02, "Medium" )
|
||||
PORT_DIPSETTING( 0x01, "Hard" )
|
||||
PORT_DIPSETTING( 0x00, "Hardest" )
|
||||
PORT_DIPSETTING( 0x03, "1 (Beginner)" )
|
||||
PORT_DIPSETTING( 0x02, "2" )
|
||||
PORT_DIPSETTING( 0x01, "3" )
|
||||
PORT_DIPSETTING( 0x00, "4 (Advanced)" )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Demo_Sounds ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Flip_Screen ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, "Extra" )
|
||||
PORT_DIPNAME( 0x10, 0x10, "Difficulty of EXTRA" )
|
||||
PORT_DIPSETTING( 0x10, "Easy" )
|
||||
PORT_DIPSETTING( 0x00, "Hard" )
|
||||
PORT_DIPSETTING( 0x00, "Difficult" )
|
||||
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) )
|
||||
@@ -448,57 +498,30 @@ INPUT_PORTS_START( dorunrun )
|
||||
INPUT_PORTS_END
|
||||
|
||||
INPUT_PORTS_START( dowild )
|
||||
PORT_START /* IN0 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY | IPF_COCKTAIL )
|
||||
DOCASTLE_IN0
|
||||
|
||||
PORT_START /* IN1 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
|
||||
DOCASTLE_IN1
|
||||
|
||||
PORT_START /* IN2 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BITX( 0x02, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, JOYCODE_NONE )
|
||||
PORT_BIT_IMPULSE( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1, 32 ) /* coin input must be active for 32 frames to be consistently recognized */
|
||||
PORT_DIPNAME( 0x08, 0x08, "Freeze" )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
DOCASTLE_IN2
|
||||
|
||||
PORT_START /* DSW0 */
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
|
||||
PORT_DIPSETTING( 0x03, "Easy" )
|
||||
PORT_DIPSETTING( 0x02, "Medium" )
|
||||
PORT_DIPSETTING( 0x01, "Hard" )
|
||||
PORT_DIPSETTING( 0x00, "Hardest" )
|
||||
PORT_BITX( 0x04, 0x04, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Rack Test", KEYCODE_F1, IP_JOY_NONE )
|
||||
PORT_DIPSETTING( 0x03, "1 (Beginner)" )
|
||||
PORT_DIPSETTING( 0x02, "2" )
|
||||
PORT_DIPSETTING( 0x01, "3" )
|
||||
PORT_DIPSETTING( 0x00, "4 (Advanced)" )
|
||||
PORT_DIPNAME( 0x04, 0x04, "Rack Test" )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Flip_Screen ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, "Extra" )
|
||||
PORT_DIPNAME( 0x10, 0x10, "Difficulty of EXTRA" )
|
||||
PORT_DIPSETTING( 0x10, "Easy" )
|
||||
PORT_DIPSETTING( 0x00, "Hard" )
|
||||
PORT_DIPSETTING( 0x00, "Difficult" )
|
||||
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
|
||||
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, "Special" )
|
||||
PORT_DIPSETTING( 0x40, "Given" )
|
||||
PORT_DIPSETTING( 0x00, "Not Given" )
|
||||
@@ -510,37 +533,11 @@ PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
INPUT_PORTS_START( jjack )
|
||||
PORT_START /* IN0 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY | IPF_COCKTAIL )
|
||||
DOCASTLE_IN0
|
||||
|
||||
PORT_START /* IN1 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
|
||||
DOCASTLE_IN1
|
||||
|
||||
PORT_START /* IN2 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BITX( 0x02, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, JOYCODE_NONE )
|
||||
PORT_BIT_IMPULSE( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1, 32 ) /* coin input must be active for 32 frames to be consistently recognized */
|
||||
PORT_DIPNAME( 0x08, 0x08, "Freeze" )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
DOCASTLE_IN2
|
||||
|
||||
PORT_START /* DSW0 */
|
||||
PORT_DIPNAME( 0x03, 0x03, "Difficulty?" )
|
||||
@@ -548,7 +545,7 @@ INPUT_PORTS_START( jjack )
|
||||
PORT_DIPSETTING( 0x02, "Medium" )
|
||||
PORT_DIPSETTING( 0x01, "Hard" )
|
||||
PORT_DIPSETTING( 0x00, "Hardest" )
|
||||
PORT_BITX( 0x04, 0x04, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Rack Test", KEYCODE_F1, IP_JOY_NONE )
|
||||
PORT_DIPNAME( 0x04, 0x04, "Rack Test" )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Flip_Screen ) )
|
||||
@@ -572,35 +569,17 @@ INPUT_PORTS_END
|
||||
INPUT_PORTS_START( kickridr )
|
||||
PORT_START /* IN0 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_COCKTAIL )
|
||||
|
||||
PORT_START /* IN1 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
|
||||
DOCASTLE_IN1
|
||||
|
||||
PORT_START /* IN2 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BITX( 0x02, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, JOYCODE_NONE )
|
||||
PORT_BIT_IMPULSE( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1, 32 ) /* coin input must be active for 32 frames to be consistently recognized */
|
||||
PORT_DIPNAME( 0x08, 0x08, "Freeze" )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
DOCASTLE_IN2
|
||||
|
||||
PORT_START /* DSW0 */
|
||||
PORT_DIPNAME( 0x03, 0x03, "Difficulty?" )
|
||||
@@ -608,7 +587,7 @@ INPUT_PORTS_START( kickridr )
|
||||
PORT_DIPSETTING( 0x02, "Medium" )
|
||||
PORT_DIPSETTING( 0x01, "Hard" )
|
||||
PORT_DIPSETTING( 0x00, "Hardest" )
|
||||
PORT_BITX( 0x04, 0x04, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Rack Test", KEYCODE_F1, IP_JOY_NONE )
|
||||
PORT_DIPNAME( 0x04, 0x04, "Rack Test" )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Flip_Screen ) )
|
||||
@@ -633,73 +612,53 @@ INPUT_PORTS_END
|
||||
INPUT_PORTS_START( idsoccer )
|
||||
PORT_START /* IN0 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT | IPF_8WAY )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP | IPF_8WAY )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT | IPF_8WAY )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN | IPF_8WAY )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP | IPF_8WAY )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT | IPF_8WAY )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN | IPF_8WAY )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT | IPF_8WAY | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP | IPF_8WAY | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT | IPF_8WAY | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN | IPF_8WAY | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP | IPF_8WAY | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT | IPF_8WAY | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN | IPF_8WAY | IPF_PLAYER2 )
|
||||
|
||||
PORT_START /* IN1 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
|
||||
DOCASTLE_IN1
|
||||
|
||||
PORT_START /* IN2 */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BITX( 0x02, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, JOYCODE_NONE )
|
||||
PORT_BIT_IMPULSE( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1, 32 ) /* coin input must be active for 32 frames to be consistently recognized */
|
||||
PORT_DIPNAME( 0x08, 0x08, "Freeze" )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
DOCASTLE_IN2
|
||||
|
||||
PORT_START /* DSW0 */
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
|
||||
PORT_DIPSETTING( 0x03, "Easy" )
|
||||
PORT_DIPSETTING( 0x02, "Medium" )
|
||||
PORT_DIPSETTING( 0x01, "Hard" )
|
||||
PORT_DIPSETTING( 0x00, "Hardest" )
|
||||
PORT_DIPNAME( 0x04, 0x04, "One Player vs. Computer" ) /* Additional time extended for winning score */
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Flip_Screen ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, "Player 2 Time Extension" ) /* Player may play same game with additional credit */
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, "Player 1 Time Extension" ) /* Player may play same game with additional credit */
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0xc0, 0xc0, "Real Game Time" ) /* Indicator always shows 3:00 and counts down */
|
||||
PORT_DIPSETTING( 0xc0, "3:00" )
|
||||
PORT_DIPSETTING( 0x80, "2:30" )
|
||||
PORT_DIPSETTING( 0x40, "2:00" )
|
||||
PORT_DIPSETTING( 0x00, "1:00" )
|
||||
|
||||
COINAGE_PORT
|
||||
|
||||
PORT_START
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT | IPF_8WAY )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP | IPF_8WAY )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT | IPF_8WAY )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN | IPF_8WAY )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP | IPF_8WAY )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT | IPF_8WAY )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN | IPF_8WAY )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT | IPF_8WAY | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP | IPF_8WAY | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT | IPF_8WAY | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN | IPF_8WAY | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP | IPF_8WAY | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT | IPF_8WAY | IPF_PLAYER2 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN | IPF_8WAY | IPF_PLAYER2 )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@@ -745,13 +704,21 @@ static struct SN76496interface sn76496_interface =
|
||||
{ 25, 25, 25, 25 }
|
||||
};
|
||||
|
||||
|
||||
static struct MSM5205interface msm5205_interface =
|
||||
{
|
||||
1, /* 1 chip */
|
||||
384000, /* 384 kHz ??? */
|
||||
{ idsoccer_adpcm_int }, /* interrupt function */
|
||||
{ MSM5205_S64_4B }, /* 6 kHz ??? */
|
||||
{ 40 } /* volume ??? */
|
||||
};
|
||||
|
||||
static MACHINE_DRIVER_START( docastle )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(Z80, 4000000) /* 4 MHz */
|
||||
MDRV_CPU_ADD(Z80, 3900000) /* make dip switches work in docastle and dorunrun */
|
||||
MDRV_CPU_MEMORY(docastle_readmem,docastle_writemem)
|
||||
MDRV_CPU_PORTS(docastle_readport,docastle_writeport)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 4000000) /* 4 MHz */
|
||||
@@ -783,8 +750,9 @@ MACHINE_DRIVER_END
|
||||
static MACHINE_DRIVER_START( dorunrun )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(Z80, 4000000) /* 4 MHz */
|
||||
MDRV_CPU_ADD(Z80, 3900000) /* make dip switches work in docastle and dorunrun */
|
||||
MDRV_CPU_MEMORY(dorunrun_readmem,dorunrun_writemem)
|
||||
MDRV_CPU_PORTS(docastle_readport,docastle_writeport)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 4000000) /* 4 MHz */
|
||||
@@ -844,7 +812,7 @@ static MACHINE_DRIVER_START( idsoccer )
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_SOUND_ADD(SN76496, sn76496_interface)
|
||||
/* also an MSM5205 */
|
||||
MDRV_SOUND_ADD(MSM5205, msm5205_interface)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
@@ -931,7 +899,7 @@ ROM_START( docastlo )
|
||||
|
||||
ROM_REGION( 0x0200, REGION_PROMS, 0 )
|
||||
/* which prom? this set has the same gfx as douni so i'm using that prom */
|
||||
/* ROM_LOAD( "09c.bin", 0x0000, 0x0200, CRC(066f52bc) SHA1(99f4f2d0181bcaf389c16f127cc3e632d62ee417) ) // color prom /*/
|
||||
/* ROM_LOAD( "09c.bin", 0x0000, 0x0200, CRC(066f52bc) SHA1(99f4f2d0181bcaf389c16f127cc3e632d62ee417) ) /* color prom */
|
||||
ROM_LOAD( "dorevc9.bin", 0x0000, 0x0200, CRC(96624ebe) SHA1(74ff21dc85dcb013c941ec6c06cafdb5bcc16960) ) /* color prom */
|
||||
ROM_END
|
||||
|
||||
@@ -1076,7 +1044,7 @@ ROM_START( dowild )
|
||||
ROM_LOAD( "w10", 0x0000, 0x4000, CRC(d1f37fba) SHA1(827e2e3b140c4df2fd8780d7d05dc45694cf8f02) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU3, 0 )
|
||||
ROM_LOAD( "01d.bin", 0x0000, 0x0200, NO_DUMP )
|
||||
ROM_LOAD( "8300b-2", 0x0000, 0x0200, CRC(2747ca77) SHA1(abc0ca05925974c4b852827605ee2f1caefb8524) )
|
||||
|
||||
ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "w5", 0x0000, 0x4000, CRC(b294b151) SHA1(c8c15bf9ab2401052ec80fdfc8fe124c6aa52521) )
|
||||
@@ -1128,7 +1096,7 @@ ROM_START( kickridr )
|
||||
ROM_LOAD( "k10", 0x0000, 0x4000, CRC(6843dbc0) SHA1(8a83f785e1fc2fa34a9955c19e27a1968a6d3f08) )
|
||||
|
||||
ROM_REGION( 0x10000, REGION_CPU3, 0 )
|
||||
ROM_LOAD( "01d.bin", 0x0000, 0x0200, NO_DUMP )
|
||||
ROM_LOAD( "8300b-2", 0x0000, 0x0200, CRC(2747ca77) SHA1(abc0ca05925974c4b852827605ee2f1caefb8524) )
|
||||
|
||||
ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "k5", 0x0000, 0x4000, CRC(3f7d7e49) SHA1(ed9697656a46c3e036665659a008396b323c9c2b) )
|
||||
@@ -1175,15 +1143,15 @@ ROM_START( idsoccer )
|
||||
ROM_END
|
||||
|
||||
|
||||
GAME( 1983, docastle, 0, docastle, docastle, 0, ROT270, "Universal", "Mr. Do's Castle (set 1)" )
|
||||
GAME( 1983, docastl2, docastle, docastle, docastle, 0, ROT270, "Universal", "Mr. Do's Castle (set 2)" )
|
||||
GAME( 1983, docastlo, docastle, docastle, docastle, 0, ROT270, "Universal", "Mr. Do's Castle (older)" )
|
||||
GAME( 1983, douni, docastle, docastle, docastle, 0, ROT270, "Universal", "Mr. Do vs. Unicorns" )
|
||||
GAMEX(1984, dorunrun, 0, dorunrun, dorunrun, 0, ROT0, "Universal", "Do! Run Run (set 1)", GAME_NO_COCKTAIL )
|
||||
GAMEX(1984, dorunru2, dorunrun, dorunrun, dorunrun, 0, ROT0, "Universal", "Do! Run Run (set 2)", GAME_NO_COCKTAIL )
|
||||
GAMEX(1984, dorunruc, dorunrun, docastle, dorunrun, 0, ROT0, "Universal", "Do! Run Run (Do's Castle hardware)", GAME_NO_COCKTAIL )
|
||||
GAMEX(1987, spiero, dorunrun, dorunrun, dorunrun, 0, ROT0, "Universal", "Super Pierrot (Japan)", GAME_NO_COCKTAIL )
|
||||
GAME( 1984, dowild, 0, dorunrun, dowild, 0, ROT0, "Universal", "Mr. Do's Wild Ride" )
|
||||
GAME( 1984, jjack, 0, dorunrun, jjack, 0, ROT270, "Universal", "Jumping Jack" )
|
||||
GAME( 1984, kickridr, 0, dorunrun, kickridr, 0, ROT0, "Universal", "Kick Rider" )
|
||||
GAMEX(1985, idsoccer, 0, idsoccer, idsoccer, 0, ROT0, "Universal", "Indoor Soccer", GAME_IMPERFECT_SOUND )
|
||||
GAME(1983, docastle, 0, docastle, docastle, 0, ROT270, "Universal", "Mr. Do's Castle (set 1)" )
|
||||
GAME(1983, docastl2, docastle, docastle, docastle, 0, ROT270, "Universal", "Mr. Do's Castle (set 2)" )
|
||||
GAME(1983, docastlo, docastle, docastle, docastle, 0, ROT270, "Universal", "Mr. Do's Castle (older)" )
|
||||
GAME(1983, douni, docastle, docastle, docastle, 0, ROT270, "Universal", "Mr. Do vs. Unicorns" )
|
||||
GAME(1984, dorunrun, 0, dorunrun, dorunrun, 0, ROT0, "Universal", "Do! Run Run (set 1)" )
|
||||
GAME(1984, dorunru2, dorunrun, dorunrun, dorunrun, 0, ROT0, "Universal", "Do! Run Run (set 2)" )
|
||||
GAME(1984, dorunruc, dorunrun, docastle, dorunrun, 0, ROT0, "Universal", "Do! Run Run (Do's Castle hardware)" )
|
||||
GAME(1987, spiero, dorunrun, dorunrun, dorunrun, 0, ROT0, "Universal", "Super Pierrot (Japan)" )
|
||||
GAME(1984, dowild, 0, dorunrun, dowild, 0, ROT0, "Universal", "Mr. Do's Wild Ride" )
|
||||
GAME(1984, jjack, 0, dorunrun, jjack, 0, ROT270, "Universal", "Jumping Jack" )
|
||||
GAME(1984, kickridr, 0, dorunrun, kickridr, 0, ROT0, "Universal", "Kick Rider" )
|
||||
GAME(1985, idsoccer, 0, idsoccer, idsoccer, 0, ROT0, "Universal", "Indoor Soccer" )
|
||||
Loaded 100 of 695 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user