trunk/hash/studio2.xml
r24755 | r24756 | |
1 | 1 | <?xml version="1.0"?> |
2 | 2 | <!DOCTYPE softwarelist SYSTEM "softwarelist.dtd"> |
3 | 3 | <!-- |
4 | | |
5 | 4 | RCA Studio II games list |
6 | 5 | |
7 | | Title Series Dumped |
| 6 | ID Title Series Dumped |
8 | 7 | _________________________________________________________________ |
9 | | Bowling built-in yes |
10 | | Doodles built-in yes |
11 | | Freeway built-in yes |
12 | | Math built-in yes |
13 | | Patterns built-in yes |
14 | | Gunfighter/Moonship Battle TV Arcade yes |
15 | | Space War TV Arcade I yes |
16 | | Fun with Numbers TV Arcade II no, but Guru has one |
17 | | Tennis/Squash TV Arcade III yes |
18 | | Baseball TV Arcade IV yes |
19 | | Speedway/Tag TV Arcade yes |
20 | | Blackjack TV Casino I yes |
21 | | Bingo TV Casino no |
22 | | Math and Social Studies TV School House I no, but Guru has one |
23 | | Math Fun TV School House II yes |
24 | | Biorhythm TV Mystic yes |
| 8 | Bowling built-in yes |
| 9 | Doodles built-in yes |
| 10 | Freeway built-in yes |
| 11 | Math built-in yes |
| 12 | Patterns built-in yes |
| 13 | 18V400 Space War TV Arcade I yes |
| 14 | 18V401 Fun with Numbers TV Arcade II no, but Guru has one |
| 15 | 18V402 Tennis/Squash TV Arcade III yes |
| 16 | 18V403 Baseball TV Arcade IV yes |
| 17 | 18V404 Speedway/Tag TV Arcade yes |
| 18 | 18V405 Gunfighter/Moonship Battle TV Arcade yes |
| 19 | 18V500 Math and Social Studies TV School House I no, but Guru has one |
| 20 | 18V501 Math Fun TV School House II yes |
| 21 | 18V600 Blackjack TV Casino I yes |
| 22 | 18V601 Bingo TV Casino II no |
| 23 | 18V700 Biorhythm TV Mystic yes |
25 | 24 | |
26 | 25 | |
27 | 26 | MPT-02 games list |
28 | 27 | |
29 | 28 | ID Title Series Dumped |
30 | 29 | _________________________________________________________________ |
| 30 | MG-200 Grand Pack yes |
31 | 31 | MG-201 Bingo yes |
32 | 32 | MG-202 Concentration Match yes |
33 | 33 | MG-203 Star Wars yes |
34 | 34 | MG-204 Math Fun School House II yes |
35 | 35 | MG-205 Pinball yes |
36 | | MG-206 Biorythm yes |
| 36 | MG-206 Biorhythm yes |
37 | 37 | MG-207 Tennis/Squash no |
38 | 38 | MG-208 Fun with Numbers no |
39 | 39 | MG-209 Computer Quiz School House I no |
r24755 | r24756 | |
42 | 42 | MG-212 Spacewar Intercept no |
43 | 43 | MG-213 Gun Fight/Moon Ship yes |
44 | 44 | --> |
| 45 | <softwarelist name="studio2" description="RCA Studio II / Victory MPT-02 cartridges"> |
45 | 46 | |
46 | | <softwarelist name="studio2" description="RCA Studio II cartridges"> |
| 47 | <!-- RCA Studio II --> |
47 | 48 | |
48 | 49 | <software name="spacewar"> |
49 | 50 | <description>TV Arcade I: Spacewar</description> |
r24755 | r24756 | |
53 | 54 | <info name="usage" value="Press 'Clear' and then '1' on Keypad A" /> |
54 | 55 | |
55 | 56 | <part name="cart" interface="studio2_cart"> |
56 | | <dataarea name="rom" size="0x200"> |
57 | | <rom name="spacewar.bin" size="0x200" crc="021551f2" sha1="4878ae6d313743d7e3bd45e05c6e5e0582d9febb" offset="0x0000" /> |
| 57 | <dataarea name="rom_400" size="0x200"> |
| 58 | <rom name="spacewar.bin" size="0x200" crc="021551f2" sha1="4878ae6d313743d7e3bd45e05c6e5e0582d9febb" offset="0" /> |
58 | 59 | </dataarea> |
59 | 60 | </part> |
60 | 61 | </software> |
r24755 | r24756 | |
67 | 68 | <info name="usage" value="Press 'Clear', '1' on Keypad A, '4' on Keypad B and then '7' on Keypad A" /> |
68 | 69 | |
69 | 70 | <part name="cart" interface="studio2_cart"> |
70 | | <dataarea name="rom" size="0x200"> |
71 | | <rom name="tennis-squash.bin" size="0x200" crc="a21590c8" sha1="c573e8cd7d1aa423d26e64a4da781a5989e4ed1d" offset="0x0000" /> |
| 71 | <dataarea name="rom_400" size="0x200"> |
| 72 | <rom name="tennis-squash.bin" size="0x200" crc="a21590c8" sha1="c573e8cd7d1aa423d26e64a4da781a5989e4ed1d" offset="0" /> |
72 | 73 | </dataarea> |
73 | 74 | </part> |
74 | 75 | </software> |
75 | 76 | |
76 | 77 | <software name="baseball"> |
77 | | <description>TV Arcade IV: Baseball </description> |
| 78 | <description>TV Arcade IV: Baseball</description> |
78 | 79 | <year>1977</year> |
79 | 80 | <publisher>RCA</publisher> |
80 | 81 | <info name="serial" value="18V403" /> |
81 | 82 | <info name="usage" value="Press 'Clear' and then '0' on Keypad A" /> |
82 | 83 | |
83 | 84 | <part name="cart" interface="studio2_cart"> |
84 | | <dataarea name="rom" size="0x400"> |
85 | | <rom name="baseball.bin" size="0x400" crc="d7fdedaa" sha1="fa1e3089d05503b7b1d5e98552318d5836c1798a" offset="0x0000" /> |
| 85 | <dataarea name="rom_400" size="0x400"> |
| 86 | <rom name="baseball.bin" size="0x400" crc="d7fdedaa" sha1="fa1e3089d05503b7b1d5e98552318d5836c1798a" offset="0" /> |
86 | 87 | </dataarea> |
87 | 88 | </part> |
88 | 89 | </software> |
r24755 | r24756 | |
95 | 96 | <info name="usage" value="Press 'Clear' and then '1' on Keypad A" /> |
96 | 97 | |
97 | 98 | <part name="cart" interface="studio2_cart"> |
98 | | <dataarea name="rom" size="0x200"> |
99 | | <rom name="speedway tag.bin" size="0x200" crc="a80379e2" sha1="5bc93a1a7ea05411f607ed56241da88b1f8468c5" offset="0x0000" /> |
| 99 | <dataarea name="rom_400" size="0x200"> |
| 100 | <rom name="speedway tag.bin" size="0x200" crc="a80379e2" sha1="5bc93a1a7ea05411f607ed56241da88b1f8468c5" offset="0" /> |
100 | 101 | </dataarea> |
101 | 102 | </part> |
102 | 103 | </software> |
r24755 | r24756 | |
109 | 110 | <info name="usage" value="Press 'Clear' and then '1' on Keypad A" /> |
110 | 111 | |
111 | 112 | <part name="cart" interface="studio2_cart"> |
112 | | <dataarea name="rom" size="0x400"> |
113 | | <rom name="gunfighter-moonship battle.bin" size="0x400" crc="989d2c67" sha1="82f37ec5b7599e9169873da6c269c0c092395458" offset="0x0000" /> |
| 113 | <dataarea name="rom_400" size="0x400"> |
| 114 | <rom name="gunfighter-moonship battle.bin" size="0x400" crc="989d2c67" sha1="82f37ec5b7599e9169873da6c269c0c092395458" offset="0" /> |
114 | 115 | </dataarea> |
115 | 116 | </part> |
116 | 117 | </software> |
r24755 | r24756 | |
123 | 124 | <info name="usage" value="Press 'Clear' and then '1' on Keypad A twice" /> |
124 | 125 | |
125 | 126 | <part name="cart" interface="studio2_cart"> |
126 | | <dataarea name="rom" size="0x200"> |
127 | | <rom name="computer quiz.bin" size="0x200" crc="cf08aa66" sha1="1d709a7f6b0a3d67d184ae0d94b1cb198f9c8a6a" offset="0x0000" /> |
| 127 | <dataarea name="rom_400" size="0x200"> |
| 128 | <rom name="computer quiz.bin" size="0x200" crc="cf08aa66" sha1="1d709a7f6b0a3d67d184ae0d94b1cb198f9c8a6a" offset="0" /> |
128 | 129 | </dataarea> |
129 | 130 | </part> |
130 | 131 | </software> |
r24755 | r24756 | |
133 | 134 | <description>TV School House II: Math Fun</description> |
134 | 135 | <year>1977</year> |
135 | 136 | <publisher>RCA</publisher> |
136 | | <info name="serial" value="MG-209" /> |
| 137 | <info name="serial" value="18V501" /> |
137 | 138 | <info name="usage" value="Press 'Clear' and then '1' on Keypad A three times" /> |
138 | 139 | |
139 | 140 | <part name="cart" interface="studio2_cart"> |
140 | | <dataarea name="rom" size="0x400"> |
141 | | <rom name="math fun.bin" size="0x400" crc="9ab5af96" sha1="12a013e483af253d75845adf0d9e86672b161f94" offset="0x0000" /> |
| 141 | <dataarea name="rom_400" size="0x400"> |
| 142 | <rom name="math fun.bin" size="0x400" crc="9ab5af96" sha1="12a013e483af253d75845adf0d9e86672b161f94" offset="0" /> |
142 | 143 | </dataarea> |
143 | 144 | </part> |
144 | 145 | </software> |
r24755 | r24756 | |
151 | 152 | <info name="usage" value="Press 'Clear' and then '1' on Keypad A" /> |
152 | 153 | |
153 | 154 | <part name="cart" interface="studio2_cart"> |
154 | | <dataarea name="rom" size="0x400"> |
155 | | <rom name="blackjack.bin" size="0x400" crc="b30af7a9" sha1="e328791d6aa8292d1b68abe03c7ebfefa9282ced" offset="0x0000" /> |
| 155 | <dataarea name="rom_400" size="0x400"> |
| 156 | <rom name="blackjack.bin" size="0x400" crc="b30af7a9" sha1="e328791d6aa8292d1b68abe03c7ebfefa9282ced" offset="0" /> |
156 | 157 | </dataarea> |
157 | 158 | </part> |
158 | 159 | </software> |
r24755 | r24756 | |
165 | 166 | <info name="usage" value="Press 'Clear' and then '0' on Keypad A" /> |
166 | 167 | |
167 | 168 | <part name="cart" interface="studio2_cart"> |
168 | | <dataarea name="rom" size="0x400"> |
169 | | <rom name="biorhythm.bin" size="0x400" crc="6dcbc525" sha1="9fdab1be5d83aa0ccacf7e9ae2837b2b9e10be1c" offset="0x0000" /> |
| 169 | <dataarea name="rom_400" size="0x400"> |
| 170 | <rom name="biorhythm.bin" size="0x400" crc="6dcbc525" sha1="9fdab1be5d83aa0ccacf7e9ae2837b2b9e10be1c" offset="0" /> |
170 | 171 | </dataarea> |
171 | 172 | </part> |
172 | 173 | </software> |
173 | 174 | |
| 175 | <!-- Victory MPT-02 --> |
| 176 | |
174 | 177 | <software name="grandpak"> |
175 | 178 | <description>Grand Pack</description> |
176 | | <year>197?</year> |
177 | | <publisher><unknown></publisher> |
| 179 | <year>1978</year> |
| 180 | <publisher>Hanimex</publisher> |
178 | 181 | <info name="serial" value="MG-200" /> |
179 | 182 | |
180 | 183 | <part name="cart" interface="studio2_cart"> |
181 | | <dataarea name="rom" size="0x800"> |
182 | | <rom name="game1.rom" size="0x400" crc="82a2d29e" sha1="37e02089d611db10bad070d89c8801de41521189" offset="0x000" /> |
183 | | <rom name="game2.rom" size="0x400" crc="8006a1e3" sha1="b67612d98231485fce55d604915abd19b6d64eac" offset="0x400" /> |
| 184 | <dataarea name="rom_400" size="0x400"> |
| 185 | <rom name="86677b" size="0x400" crc="82a2d29e" sha1="37e02089d611db10bad070d89c8801de41521189" offset="0" /> |
184 | 186 | </dataarea> |
| 187 | |
| 188 | <dataarea name="rom_c00" size="0x400"> |
| 189 | <rom name="87201" size="0x400" crc="8006a1e3" sha1="b67612d98231485fce55d604915abd19b6d64eac" offset="0" /> |
| 190 | </dataarea> |
185 | 191 | </part> |
186 | 192 | </software> |
187 | 193 | |
188 | 194 | <software name="bingo"> |
189 | 195 | <description>Bingo</description> |
190 | | <year>197?</year> |
191 | | <publisher><unknown></publisher> |
| 196 | <year>1978</year> |
| 197 | <publisher>Hanimex</publisher> |
192 | 198 | <info name="serial" value="MG-201" /> |
193 | 199 | |
194 | 200 | <part name="cart" interface="studio2_cart"> |
195 | | <dataarea name="rom" size="0x400"> |
196 | | <rom name="mg-201-bingo.rom" size="0x400" crc="39ddc4ab" sha1="5e16b9572fda5d8b203df9318b8f1e250bea7432" offset="0x0000" /> |
| 201 | <dataarea name="rom_400" size="0x400"> |
| 202 | <rom name="mg-201-bingo.rom" size="0x400" crc="39ddc4ab" sha1="5e16b9572fda5d8b203df9318b8f1e250bea7432" offset="0" /> |
197 | 203 | </dataarea> |
198 | 204 | </part> |
199 | 205 | </software> |
200 | 206 | |
201 | 207 | <software name="conmatch"> |
202 | 208 | <description>Concentration Match</description> |
203 | | <year>197?</year> |
204 | | <publisher><unknown></publisher> |
| 209 | <year>1978</year> |
| 210 | <publisher>Hanimex</publisher> |
205 | 211 | <info name="serial" value="MG-202" /> |
206 | 212 | |
207 | 213 | <part name="cart" interface="studio2_cart"> |
208 | | <dataarea name="rom" size="0x400"> |
209 | | <rom name="mg-202-concentration-match.rom" size="0x400" crc="28e21408" sha1="df2b2c7b5ec4c2d33321934ffff29cb41c2b6f68" offset="0x0000" /> |
| 214 | <dataarea name="rom_400" size="0x400"> |
| 215 | <rom name="mg-202-concentration-match.rom" size="0x400" crc="28e21408" sha1="df2b2c7b5ec4c2d33321934ffff29cb41c2b6f68" offset="0" /> |
210 | 216 | </dataarea> |
211 | 217 | </part> |
212 | 218 | </software> |
213 | 219 | |
214 | 220 | <software name="starwars"> |
215 | 221 | <description>Star Wars</description> |
216 | | <year>197?</year> |
217 | | <publisher><unknown></publisher> |
| 222 | <year>1978</year> |
| 223 | <publisher>Hanimex</publisher> |
218 | 224 | <info name="serial" value="MG-203" /> |
219 | 225 | |
220 | 226 | <part name="cart" interface="studio2_cart"> |
221 | | <dataarea name="rom" size="0x400"> |
222 | | <rom name="mg-203-star-wars.rom" size="0x400" crc="92b55eb4" sha1="63ec52fdf1a5e04ced74560809de550c527ecd38" offset="0x0000" /> |
| 227 | <dataarea name="rom_400" size="0x400"> |
| 228 | <rom name="mg-203-star-wars.rom" size="0x400" crc="92b55eb4" sha1="63ec52fdf1a5e04ced74560809de550c527ecd38" offset="0" /> |
223 | 229 | </dataarea> |
224 | 230 | </part> |
225 | 231 | </software> |
226 | 232 | |
227 | 233 | <software name="pinball"> |
228 | 234 | <description>Pinball</description> |
229 | | <year>197?</year> |
230 | | <publisher><unknown></publisher> |
| 235 | <year>1978</year> |
| 236 | <publisher>Hanimex</publisher> |
231 | 237 | <info name="serial" value="MG-205" /> |
232 | 238 | |
233 | 239 | <part name="cart" interface="studio2_cart"> |
234 | | <dataarea name="rom" size="0x400"> |
235 | | <rom name="mg-205-pinball.rom" size="0x400" crc="9f7f692e" sha1="6afd1252d72df39482699c1ee76fa28669c7db80" offset="0x0000" /> |
| 240 | <dataarea name="rom_400" size="0x400"> |
| 241 | <rom name="mg-205-pinball.rom" size="0x400" crc="9f7f692e" sha1="6afd1252d72df39482699c1ee76fa28669c7db80" offset="0" /> |
236 | 242 | </dataarea> |
237 | 243 | </part> |
238 | 244 | </software> |
239 | 245 | |
240 | 246 | <software name="speedwaya" cloneof="speedway"> |
241 | | <description>Speedway / Tag (Alt)</description> |
242 | | <year>197?</year> |
243 | | <publisher><unknown></publisher> |
| 247 | <description>Speedway / Tag (MPT-02)</description> |
| 248 | <year>1978</year> |
| 249 | <publisher>Hanimex</publisher> |
244 | 250 | <info name="serial" value="MG-211" /> |
245 | 251 | |
246 | 252 | <part name="cart" interface="studio2_cart"> |
247 | | <dataarea name="rom" size="0x400"> |
248 | | <rom name="mg-211-speedway-tag.rom" size="0x400" crc="b9f6ac68" sha1="4e544fb4105a45e979dd7a007da1540996300f3d" offset="0x0000" /> |
| 253 | <dataarea name="rom_400" size="0x400"> |
| 254 | <!-- same as speedway, but on a 1KB ROM instead of 512B --> |
| 255 | <rom name="mg-211-speedway-tag.rom" size="0x400" crc="b9f6ac68" sha1="4e544fb4105a45e979dd7a007da1540996300f3d" offset="0" /> |
249 | 256 | </dataarea> |
250 | 257 | </part> |
251 | 258 | </software> |
trunk/src/mess/drivers/studio2.c
r24755 | r24756 | |
76 | 76 | 2111 - NEC D2111AL-4 256 bytes x4 SRAM (DIP18, x6). Total 1.5k |
77 | 77 | C - Composite Video Output to TV from TV Modulator |
78 | 78 | TMM331 - Toshiba TMM331AP 2k x8 MASKROM (DIP24) |
79 | | Pinout (preliminary): |
| 79 | Pinout: |
80 | 80 | TMM331 |
81 | 81 | |----\/----| |
82 | 82 | A7 |1 24| VCC |
r24755 | r24756 | |
98 | 98 | Intel 2316A/8316A, MOSTEK MK31000, GI RO-3-8316, |
99 | 99 | NATIONAL/NEC/SYNERTEK 2316A etc |
100 | 100 | |
| 101 | |
| 102 | Cartridges |
| 103 | ---------- |
| 104 | |
| 105 | Inside is a Toshiba TMM331AP ROM, which is pin compatible with the Signetics S6831. |
| 106 | The cartridge to TMM331 pin connections are as follows, with cartridge pin 1 being the leftmost angled contact: |
| 107 | |
| 108 | Pin 1 to ROM pins 12,13 (GND and E2) |
| 109 | Pin 2 to ROM pins 24,15 (VCC and E0) |
| 110 | Pin 3 to ROM pin 23 (D0) |
| 111 | Pin 4 to ROM pin 22 (D1) |
| 112 | Pin 5 to ROM pin 21 (D2) |
| 113 | Pin 6 to ROM pin 20 (D3) |
| 114 | Pin 7 to ROM pin 19 (D4) |
| 115 | Pin 8 to ROM pin 18 (D5) |
| 116 | Pin 9 to ROM pin 17 (D6) |
| 117 | Pin 10 to ROM pin 16 (D7) |
| 118 | Pin 11 to ROM pin 14 (E1) |
| 119 | Pin 12 to ROM pin 11 (A6) |
| 120 | Pin 13 to ROM pin 10 (A5) |
| 121 | Pin 14 to ROM pin 9 (A4) |
| 122 | Pin 15 to ROM pin 8 (A3) |
| 123 | Pin 16 to ROM pin 7 (A2) |
| 124 | Pin 17 to ROM pin 6 (A1) |
| 125 | Pin 18 to ROM pin 5 (A0) |
| 126 | Pin 19 to ROM pin 1 (A7) |
| 127 | Pin 20 to ROM pin 4 (A10) |
| 128 | Pin 21 to ROM pin 3 (A9) |
| 129 | Pin 22 to ROM pin 2 (A8) |
| 130 | |
101 | 131 | */ |
102 | 132 | |
103 | 133 | /* |
r24755 | r24756 | |
147 | 177 | |
148 | 178 | TODO: |
149 | 179 | |
150 | | - grandpak dual ROM |
151 | | - disable ic13/14 when cartridge plugged in |
152 | 180 | - mpt02 clones' colors |
153 | 181 | - visicom colors |
154 | 182 | - NE555 discrete sound |
r24755 | r24756 | |
161 | 189 | PARAMETERS |
162 | 190 | ***************************************************************************/ |
163 | 191 | |
164 | | #define LOG 1 |
| 192 | #define LOG 0 |
165 | 193 | |
166 | 194 | #define ST2_BLOCK_SIZE 256 |
167 | 195 | |
r24755 | r24756 | |
269 | 297 | ADDRESS_MAP_END |
270 | 298 | |
271 | 299 | static ADDRESS_MAP_START( visicom_map, AS_PROGRAM, 8, visicom_state ) |
272 | | AM_RANGE(0x0000, 0x07ff) AM_ROM |
| 300 | AM_RANGE(0x0000, 0x0fff) AM_ROM |
273 | 301 | AM_RANGE(0x1000, 0x10ff) AM_RAM |
274 | 302 | AM_RANGE(0x1100, 0x11ff) AM_RAM AM_SHARE("color_ram") |
275 | 303 | AM_RANGE(0x1300, 0x13ff) AM_RAM AM_SHARE("color_ram1") |
r24755 | r24756 | |
442 | 470 | DEVICE_IMAGE_LOAD_MEMBER( studio2_state, studio2_cart_load ) |
443 | 471 | { |
444 | 472 | if (image.software_entry() == NULL) |
445 | | return DEVICE_IMAGE_LOAD_MEMBER_NAME(st2_cartslot_load)(image); |
| 473 | { |
| 474 | if (!strcmp(image.filetype(), "st2")) |
| 475 | { |
| 476 | return DEVICE_IMAGE_LOAD_MEMBER_NAME(st2_cartslot_load)(image); |
| 477 | } |
| 478 | else |
| 479 | { |
| 480 | UINT8 *ptr = memregion(CDP1802_TAG)->base() + 0x400; |
| 481 | size_t size = image.length(); |
| 482 | image.fread(ptr, size); |
| 483 | } |
| 484 | } |
446 | 485 | else |
447 | 486 | { |
448 | | // WARNING: list code currently assume that cart mapping starts at 0x400. |
449 | | // the five dumps currently available work like this, but the .st2 format |
450 | | // allows for more freedom... how was the content of a real cart mapped? |
451 | | UINT8 *ptr = ((UINT8 *) memregion(CDP1802_TAG)->base()) + 0x400; |
452 | | memcpy(ptr, image.get_software_region("rom"), image.get_software_region_length("rom")); |
453 | | return IMAGE_INIT_PASS; |
| 487 | UINT8 *ptr = memregion(CDP1802_TAG)->base(); |
| 488 | |
| 489 | size_t size = image.get_software_region_length("rom_400"); |
| 490 | if (size) memcpy(ptr + 0x400, image.get_software_region("rom_400"), size); |
| 491 | |
| 492 | size = image.get_software_region_length("rom_800"); |
| 493 | if (size) memcpy(ptr + 0x800, image.get_software_region("rom_800"), size); |
| 494 | |
| 495 | size = image.get_software_region_length("rom_c00"); |
| 496 | if (size) memcpy(ptr + 0xc00, image.get_software_region("rom_c00"), size); |
454 | 497 | } |
| 498 | |
| 499 | return IMAGE_INIT_PASS; |
455 | 500 | } |
456 | 501 | |
| 502 | DEVICE_IMAGE_LOAD_MEMBER( visicom_state, visicom_cart_load ) |
| 503 | { |
| 504 | UINT8 *ptr = memregion(CDP1802_TAG)->base() + 0x800; |
| 505 | |
| 506 | if (image.software_entry() == NULL) |
| 507 | { |
| 508 | size_t size = image.length(); |
| 509 | image.fread(ptr, MAX(size, 0x800)); |
| 510 | } |
| 511 | else |
| 512 | { |
| 513 | size_t size = image.get_software_region_length("rom"); |
| 514 | if (size) memcpy(ptr, image.get_software_region("rom_800"), MAX(size, 0x800)); |
| 515 | } |
| 516 | |
| 517 | return IMAGE_INIT_PASS; |
| 518 | } |
| 519 | |
457 | 520 | /* Machine Drivers */ |
458 | 521 | |
459 | 522 | static MACHINE_CONFIG_FRAGMENT( studio2_cartslot ) |
460 | 523 | MCFG_CARTSLOT_ADD("cart") |
461 | | MCFG_CARTSLOT_EXTENSION_LIST("st2,bin") |
| 524 | MCFG_CARTSLOT_EXTENSION_LIST("st2,bin,rom") |
462 | 525 | MCFG_CARTSLOT_NOT_MANDATORY |
463 | 526 | MCFG_CARTSLOT_LOAD(studio2_state,studio2_cart_load) |
464 | 527 | MCFG_CARTSLOT_INTERFACE("studio2_cart") |
465 | 528 | |
466 | 529 | /* software lists */ |
467 | | MCFG_SOFTWARE_LIST_ADD("cart_list","studio2") |
| 530 | MCFG_SOFTWARE_LIST_ADD("cart_list", "studio2") |
468 | 531 | MACHINE_CONFIG_END |
469 | 532 | |
470 | 533 | static MACHINE_CONFIG_START( studio2, studio2_state ) |
r24755 | r24756 | |
502 | 565 | MCFG_SOUND_ADD("beeper", BEEP, 0) |
503 | 566 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) |
504 | 567 | |
505 | | MCFG_FRAGMENT_ADD( studio2_cartslot ) |
| 568 | MCFG_CARTSLOT_ADD("cart") |
| 569 | MCFG_CARTSLOT_EXTENSION_LIST("bin,rom") |
| 570 | MCFG_CARTSLOT_NOT_MANDATORY |
| 571 | MCFG_CARTSLOT_LOAD(visicom_state, visicom_cart_load) |
| 572 | MCFG_CARTSLOT_INTERFACE("visicom_cart") |
| 573 | |
| 574 | /* software lists */ |
| 575 | MCFG_SOFTWARE_LIST_ADD("cart_list", "visicom") |
506 | 576 | MACHINE_CONFIG_END |
507 | 577 | |
508 | 578 | static MACHINE_CONFIG_START( mpt02, mpt02_state ) |
r24755 | r24756 | |
532 | 602 | /* ROMs */ |
533 | 603 | |
534 | 604 | ROM_START( studio2 ) |
535 | | ROM_REGION( 0x10000, CDP1802_TAG, 0 ) |
536 | | ROM_LOAD( "84932.ic11", 0x0000, 0x0200, CRC(283b7e65) SHA1(4b6d21cde59712ecb5941ff63d8eb161420b0aac) ) |
537 | | ROM_LOAD( "84933.ic12", 0x0200, 0x0200, CRC(a396b77c) SHA1(023517f67af61790e6916b6c4dbe2d9dc07ae3ff) ) |
538 | | ROM_LOAD( "85456.ic13", 0x0400, 0x0200, CRC(d25cf97f) SHA1(d489f41f1125c76cc8ed9defa82a877ae014ef21) ) |
539 | | ROM_LOAD( "85457.ic14", 0x0600, 0x0200, CRC(74aa724f) SHA1(085832f29e0d2a387c75463d66c54fb6c1e9e72c) ) |
| 605 | ROM_REGION( 0x1000, CDP1802_TAG, 0 ) |
| 606 | ROM_LOAD( "84932.ic11", 0x000, 0x200, CRC(283b7e65) SHA1(4b6d21cde59712ecb5941ff63d8eb161420b0aac) ) |
| 607 | ROM_LOAD( "84933.ic12", 0x200, 0x200, CRC(a396b77c) SHA1(023517f67af61790e6916b6c4dbe2d9dc07ae3ff) ) |
| 608 | ROM_LOAD( "85456.ic13", 0x400, 0x200, CRC(d25cf97f) SHA1(d489f41f1125c76cc8ed9defa82a877ae014ef21) ) |
| 609 | ROM_LOAD( "85457.ic14", 0x600, 0x200, CRC(74aa724f) SHA1(085832f29e0d2a387c75463d66c54fb6c1e9e72c) ) |
540 | 610 | ROM_END |
541 | 611 | |
542 | 612 | ROM_START( visicom ) |
543 | | ROM_REGION( 0x10000, CDP1802_TAG, 0 ) |
544 | | ROM_LOAD( "visicom.q003", 0x0000, 0x0800, CRC(23d22074) SHA1(a0a8be23f70621a2bd8010b1134e8a0019075bf1) ) |
| 613 | ROM_REGION( 0x1000, CDP1802_TAG, 0 ) |
| 614 | ROM_LOAD( "visicom.q003", 0x000, 0x800, CRC(23d22074) SHA1(a0a8be23f70621a2bd8010b1134e8a0019075bf1) ) |
545 | 615 | ROM_END |
546 | 616 | |
547 | 617 | ROM_START( mpt02 ) |
548 | | ROM_REGION( 0x10000, CDP1802_TAG, 0 ) |
549 | | ROM_LOAD( "86676.ic13", 0x0000, 0x0400, CRC(a7d0dd3b) SHA1(e1881ab4d67a5d735dd2c8d7e924e41df6f2aeec) ) |
550 | | ROM_LOAD( "86677b.ic14", 0x0400, 0x0400, CRC(82a2d29e) SHA1(37e02089d611db10bad070d89c8801de41521189) ) |
551 | | ROM_LOAD( "87201.ic12", 0x0c00, 0x0400, CRC(8006a1e3) SHA1(b67612d98231485fce55d604915abd19b6d64eac) ) |
| 618 | ROM_REGION( 0x1000, CDP1802_TAG, 0 ) |
| 619 | ROM_LOAD( "86676.ic13", 0x000, 0x400, CRC(a7d0dd3b) SHA1(e1881ab4d67a5d735dd2c8d7e924e41df6f2aeec) ) |
| 620 | ROM_LOAD( "86677b.ic14", 0x400, 0x400, CRC(82a2d29e) SHA1(37e02089d611db10bad070d89c8801de41521189) ) |
| 621 | ROM_LOAD( "87201.ic12", 0xc00, 0x400, CRC(8006a1e3) SHA1(b67612d98231485fce55d604915abd19b6d64eac) ) |
552 | 622 | ROM_END |
553 | 623 | |
554 | | #define rom_mpt02h rom_mpt02 |
| 624 | ROM_START( mpt02h ) |
| 625 | ROM_REGION( 0x1000, CDP1802_TAG, 0 ) |
| 626 | ROM_LOAD( "86676.ic13", 0x000, 0x400, CRC(a7d0dd3b) SHA1(e1881ab4d67a5d735dd2c8d7e924e41df6f2aeec) ) |
| 627 | ROM_END |
| 628 | |
555 | 629 | #define rom_mtc9016 rom_mpt02 |
556 | 630 | #define rom_shmc1200 rom_mpt02 |
557 | 631 | #define rom_cm1200 rom_mpt02 |
r24755 | r24756 | |
581 | 655 | |
582 | 656 | /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME */ |
583 | 657 | CONS( 1977, studio2, 0, 0, studio2, studio2, studio2_state, studio2, "RCA", "Studio II", GAME_SUPPORTS_SAVE ) |
584 | | CONS( 1978, visicom, studio2,0, visicom, studio2, studio2_state, studio2, "Toshiba", "Visicom COM-100 (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) |
| 658 | CONS( 1978, visicom, studio2,0, visicom, studio2, studio2_state, studio2, "Toshiba", "Visicom COM-100 (Japan)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) |
585 | 659 | CONS( 1978, mpt02, studio2,0, mpt02, studio2, studio2_state, studio2, "Soundic", "Victory MPT-02 Home TV Programmer (Austria)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) |
586 | 660 | CONS( 1978, mpt02h, studio2,0, mpt02, studio2, studio2_state, studio2, "Hanimex", "MPT-02 Jeu TV Programmable (France)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE) |
587 | 661 | CONS( 1978, mtc9016, studio2,0, mpt02, studio2, studio2_state, studio2, "Mustang", "9016 Telespiel Computer (Germany)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) |