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 ) |