trunk/hash/vsmile_cart.xml
| r241477 | r241478 | |
| 19 | 19 | V.Smile Smart Keyboard 80-091440(US) |
| 20 | 20 | V.Smile Smart Keyboard 80-091443(UK) |
| 21 | 21 | V.Smile PC Pal 80-03600(US) |
| 22 | | V.Smile V.Smile PC 80-036800(US) (cart) |
| 23 | | V.Smile V.Smile PC 80-036822(SP) (cart) |
| 24 | 22 | V.Smile Art Studio 80-67000(US) |
| 25 | 23 | V.Smile Art Studio 80-67003(UK) |
| 26 | 24 | V.Smile Jamming Gym Class 80-91320(US) |
| 27 | 25 | V.Smile Dance'n'Learn 80-91323(UK) |
| 28 | | V.Smile Defi Gym 80-91325(FR) |
| 26 | V.Smile Defi Gym 80-91325(GE) |
| 29 | 27 | |
| 30 | 28 | - Not compatible with V.Smile games, left as documentation |
| 31 | 29 | V.Flash (V.Smile Pro): 80-093*** |
| r241477 | r241478 | |
| 39 | 37 | ********3 = UK |
| 40 | 38 | ********4 = Germany |
| 41 | 39 | ********5 = France |
| 42 | | ********6 = Portugal |
| 40 | ********6 = |
| 43 | 41 | ********7 = Spain |
| 44 | 42 | |
| 45 | 43 | |
| r241477 | r241478 | |
| 47 | 45 | 80-084000(US) | Action Mania |
| 48 | 46 | 80-084004(GE) | Sportskanone |
| 49 | 47 | 80-084005(FR) | Sporti Folies |
| 50 | | 80-084006(Port) | Action Mania |
| 51 | | - |
| 52 | 48 | 80-084020(US) | Dora's Fix It Adventure |
| 53 | 49 | 80-084022(NL) | Dora's Reparatie Avontuur |
| 54 | 50 | 80-084023(UK) | Dora's Fix-It Adventure |
| 55 | | 80-084024(GE) | Doras Reparatur-Abenteuer |
| 56 | 51 | 80-084025(FR) | Les Adventures De Dora Apprentie Mecano |
| 57 | | - |
| 52 | 80-084024(GE) | Doras Reparatur-Abenteuer |
| 58 | 53 | 80-084040(US) | Scooby-Doo! - Funland Frenzy (is V.Motion) |
| 59 | 54 | 80-084043(UK) | Scooby-Doo! - Funland Frenzy |
| 60 | | 80-084044(GE) | Scooby-Doo! - Im Lernpark |
| 55 | 80-084044(US) | Scooby-Doo! - Im Lernpark |
| 61 | 56 | 80-084045(FR) | Scooby-Doo - Panique A Funland |
| 62 | | - |
| 63 | 57 | 80-084060(US) | Thomas and Friends - Engines Working Together |
| 64 | 58 | 80-084063(UK) | Thomas and Friends - Engines Working Together |
| 65 | 59 | 80-084064(GE) | Thomas - Freunde halten zusammen |
| 66 | | - |
| 67 | 60 | 80-084080(US) | Wall-E |
| 68 | 61 | 80-084083(UK) | Wall-E |
| 69 | 62 | 80-084084(GE) | Wall-E |
| 70 | 63 | 80-084085(FR) | Wall-E |
| 71 | 64 | 80-084087(SP) | Wall-E |
| 72 | | - |
| 73 | 65 | 80-084100(US) | Wonder Pets - Save the Animals! |
| 74 | 66 | 80-084103(UK) | Wonder Pets - Save the Animals! |
| 75 | | - |
| 76 | 67 | 80-084120(US) | Kung Fu Panda - Path of the Panda |
| 77 | 68 | 80-084123(UK) | Kung Fu Panda - Path of the Panda |
| 78 | 69 | 80-084124(GE) | Kung Fu Panda - Der Weg des Panda |
| 79 | 70 | 80-084125(FR) | Kung Fu Panda - La mission de Po |
| 80 | | - |
| 81 | 71 | 80-084140(US) | Spidey & Friends |
| 82 | 72 | 80-084144(GE) | Spider-Man & Freunde - Geheime Missionen |
| 83 | 73 | - |
| r241477 | r241478 | |
| 94 | 84 | 80-084224(GE) | Wintersport |
| 95 | 85 | - |
| 96 | 86 | 80-084240(US) | Ni Hao Kai Lan |
| 97 | | 80-084245(FR) | Ni Hao Kai Lan |
| 98 | 87 | - |
| 99 | 88 | 80-084260(US) | My Pet Puppy (unreleased??) |
| 100 | 89 | 80-084263(UK) | My Pet Puppy |
| r241477 | r241478 | |
| 129 | 118 | (ITA) | Winnie the Pooh - e la caccia al miele |
| 130 | 119 | 80-084384(GE) | Winnie Puuh - Die Honigjagd |
| 131 | 120 | 80-084385(FR) | Winnie Rourson - La Chasse au miel de Winnie |
| 132 | | 80-084386(Port) | Winnie - ??????? |
| 133 | 121 | 80-084387(SP) | Winnie the Pooh - En busca de la miel |
| 134 | 122 | - |
| 135 | 123 | 80-084400(US) | Cars - Rev it up in Radiator Springs |
| 136 | 124 | 80-084403(UK) | Cars - Rev it up in Radiator Springs |
| 137 | 125 | 80-084404(GE) | Cars - Vollgas in Radiator Springs |
| 138 | | 80-084405(FR) | Cars: Quatre Roues |
| 139 | 126 | 80-084407(SP) | Cars - Acelera el Motor en Radiador Springs |
| 140 | 127 | - |
| 141 | 128 | 80-084420(US) | Toy Story 3 |
| 142 | 129 | 80-084423(UK) | Toy Story 3 |
| 143 | 130 | 80-084424(GE) | Toy Story 3 |
| 144 | 131 | - |
| 145 | | 80-084440(US) | Monsters vs. Aliens |
| 146 | | 80-084443(UK) | Monsters vs. Aliens |
| 132 | 80-084440(US) | Monsters vs. Aliens (Actually a v.motion cart) |
| 147 | 133 | 80-084444(GE) | Monsters vs. Aliens |
| 148 | | - |
| 149 | 134 | 80-084460(US) | Noddy (unreleased??) |
| 150 | 135 | 80-084467(SP) | Noddy - Detective por un Dia |
| 151 | 136 | - |
| r241477 | r241478 | |
| 161 | 146 | 80-084520(US) | <Unknown> |
| 162 | 147 | - |
| 163 | 148 | 80-084540(US) | Super Why to the Rescue! The Beach Day Mystery |
| 164 | | 80-084541(US) | Super Why to the Rescue! The Beach Day Mystery <- really odd serial# |
| 165 | 149 | - |
| 166 | 150 | 80-084560(US) | <Unknown> |
| 167 | 151 | - |
| r241477 | r241478 | |
| 177 | 161 | 80-084624(GE) | Findet Nemo - Nemos Unterwasserabenteuer |
| 178 | 162 | 80-084644(GE) | Spongebob Schwammkopf - Der Tag des Schwamms |
| 179 | 163 | 80-084647(SP) | Bob Epsonja - Un dia en la vida de una esponja |
| 180 | | - |
| 164 | |
| 181 | 165 | 80-089000(US) | Spider-Man & Friends Where is Hulk? |
| 182 | | - |
| 183 | 166 | 80-089020(US) | Toy Story 2 |
| 184 | | - |
| 185 | 167 | 80-089040(US) | Dora's Fix It Adventure |
| 186 | | - |
| 187 | 168 | 80-089060(US) | Scooby-Doo! - A Night of Fright is no Delight |
| 188 | | - |
| 169 | |
| 189 | 170 | 80-090000(US) | Up |
| 190 | 171 | 80-090004(GE) | Oben |
| 191 | 172 | - |
| r241477 | r241478 | |
| 207 | 188 | 80-090200(US) | <Unknown> |
| 208 | 189 | - |
| 209 | 190 | 80-090220(US) | <Unknown> |
| 210 | | - |
| 211 | 191 | 80-090224(GE) | Dolphis Wasserabenteuer |
| 212 | | - |
| 213 | 192 | 80-090260(US) | Disney Fairies: Tinker Bell |
| 214 | | - |
| 193 | |
| 215 | 194 | 80-092000(US) | Alphabet Park Adventure (Red Haired Girl Version) |
| 216 | | - |
| 217 | | 80-092000-101(US) | Alphabet Park Adventure (Blond Haired Girl Version) |
| 195 | 80-092000(US) | Alphabet Park Adventure (Blond Haired Girl Version) |
| 218 | 196 | 80-092004(GE) | Abenteuer im ABC Park |
| 219 | 197 | 80-092005(FR) | ABC Land Aventure |
| 220 | 198 | 80-092007(SP) | Aventuras en el Parque Alfabeto |
| 221 | 199 | - |
| 222 | 200 | 80-092020(US) | The Adventures of Little Red Riding Hood |
| 223 | 201 | 80-092024(GE) | Entdecke die Welt von Rotkäppchen |
| 224 | | 80-092025(FR) | Les aventures du Le Petit Chaperon Rouge |
| 225 | 202 | - |
| 226 | 203 | 80-092060(US) | Winnie The Pooh: The Honey Hunt |
| 227 | | 80-092064(GE) | Pooh - Die Honigjagd (ALT-no# on label) |
| 228 | | 80-092064(GE) | Pooh - Die Honigjagd (ALT-no# on label) |
| 229 | 204 | 80-092064(GE) | My Friends Tigger and Pooh - Die Honigjagd |
| 230 | | 80-092065(FR) | Winnie Rourson - La Chasse au miel de Winnie |
| 231 | 205 | - |
| 232 | 206 | 80-092080(US) | Mickey Mouse - Mickey's Magical Adventures |
| 233 | 207 | (ITA) | Topolino - Le Magiche Avventure di Topolino |
| r241477 | r241478 | |
| 236 | 210 | 80-092087(SP) | Mickey - La Aventura Magica de Mickey |
| 237 | 211 | - |
| 238 | 212 | 80-092100(US) | The Lion King: Simba's Big Adventure |
| 239 | | 80-092102(NL) | Leeuwenkoning - De wonderwereld van Simba |
| 240 | 213 | 80-092104(GE) | Der König der Löwen - Simbas großes Abenteuer |
| 241 | | 80-092105(FR) | Roi Lion - Simba Decouvre la Jungle |
| 242 | | 80-092107(SP) | Rey Leon - La Gran Aventura de Simba |
| 243 | 214 | - |
| 244 | 215 | 80-092120(US) | The Little Mermaid - Ariel's Majestic Journey |
| 245 | | 80-092122(NL) | De Kleine Zeemeermin - De Wunderwereld von Ariel |
| 246 | 216 | 80-092124(GE) | Arielle die Meerjungfrau - Arielles aufregendes Abenteuer |
| 247 | 217 | 80-092125(FR) | La Petite Sirene - Ariel devient une princesse |
| 248 | 218 | 80-092127(SP) | La Sirenita - El Vieje Fantástico de Ariel |
| 249 | 219 | - |
| 250 | 220 | 80-092140(US) | Spider-Man & Friends - Secret Missions |
| 251 | | 80-092140-101(US) | Spider-Man & Friends - Secret Missions (ALT) |
| 252 | 221 | 80-092144(GE) | Spider-Man & Freunde - Geheime Missionen |
| 253 | | 80-092146(FR) | Spider-Man and ses amis - Missions Secretes |
| 254 | | 80-092146(SP) | Spider-Man y Amigos - Misiones Secretas |
| 255 | 222 | - |
| 256 | 223 | 80-092160(US) | Scooby-Doo! - Funland Frenzy |
| 257 | | 80-092160-101(US) | Scooby-Doo! - Funland Frenzy (ALT) |
| 258 | 224 | 80-092163(UK) | Scooby-Doo! - Funland Frenzy |
| 259 | 225 | 80-092163-293(UK) | Scooby-Doo! - Funland Frenzy (ALT) |
| 260 | 226 | 80-092167(SP) | Scooby-Doo - Mysterio En El Parque |
| 261 | 227 | - |
| 262 | 228 | 80-092180(US) | Care Bears - A Lesson in Caring |
| 263 | | 80-092187(SP) | Osos Amorosos - Una Leccion de Amor |
| 264 | | - |
| 265 | 229 | 80-092200(US) | Aladdin - Aladdin's Wonders of the World |
| 266 | | 80-092202(NL) | Aladdin - De Wunderwereld van Aladdin |
| 267 | 230 | 80-092204(GE) | Aladdin - Aladdins Welt der Wunder |
| 268 | | 80-092205(FR) | Aladdin - Les fabuleuses aventures d'Aladdin |
| 269 | 231 | 80-092207(SP) | Aladdin - El Maravilloso Mundo de Aladdin |
| 270 | | - |
| 271 | 232 | 80-092220(US) | Toy Story 2 |
| 272 | 233 | 80-092224(GE) | Toy Story 2 - Woodys Spannende Rettung |
| 273 | 234 | (ITA) | Toy Story 2 - Operazione: Salvataggio di Woody! |
| 274 | 235 | 80-092225(FR) | Toy Story 2 - Buzz à la Rescousse |
| 275 | 236 | - |
| 276 | 237 | 80-092240(US) | Cinderella - Cinderella's Magic Wishes |
| 277 | | 80-092242(NL) | Assepoester - De wonderwereld van Assepoester |
| 278 | 238 | 80-092243(UK) | Cinderella - Cinderella's Magic Wishes |
| 279 | 239 | 80-092243-103(UK) | Cinderella - Cinderella's Magic Wishes | 2007 |
| 280 | 240 | (ITA) | Cenerentala - I desideri magici di Cenerentala |
| 281 | 241 | 80-092244(GE) | Cinderella - Lernen im Märchenland | 2005 |
| 282 | 242 | 80-092244-104(GE) | Cinderella - Lernen im Märchenland | 2007 |
| 283 | 243 | 80-092245-105(FR) | Cendrillon - Le rêve enchanté de Cendrillon |
| 284 | | 80-092247(SP) | La Cenicienta - Los sueños magicos de Cenicienta |
| 285 | 244 | - |
| 286 | 245 | 80-092260(US) | Elmo's World - Elmo's Big Discoveries |
| 287 | 246 | 80-092264(GE) | Elmo's großes Abenteuer |
| 288 | 247 | 80-092265(FR) | Le Monde d'ELMO - Les Grandes Decouvertes D'Elmo |
| 289 | 248 | - |
| 290 | | 80-092280(US) | Dora The Explorer - Dora's Fit-it Adventure |
| 291 | | 80-092280-101(US) | Dora The Explorer - Dora's Fit-it Adventure (ALT) |
| 249 | 80-092280(US) | Dora The Explorer |
| 292 | 250 | 80-092284(GE) | Dora - Doras Reparatur-Abenteuer |
| 293 | 251 | 80-092285(FR) | Dora L'Exploratrice - Les aventures de Dora Apprentie Mecano |
| 294 | 252 | - |
| 295 | 253 | 80-092300(US) | Bob the Builder: Bob's Busy Day |
| 296 | | 80-092303(UK) | Bob the Builder: Bob's Busy Day (missing?) |
| 297 | | 80-092303-103(UK) | Bob the Builder: Bob's Busy Day (Yellow Label) |
| 254 | 80-092305(FR) | Bob Bricoleur: Les P'tits Chantiers de Bob |
| 298 | 255 | 80-092304(GE) | Bob der Baumeister - Achtung Baustelle |
| 299 | 256 | 80-092304-104(GE) | Bob der Baumeister - Bobs Spannender Arbeitstag |
| 300 | | 80-092305(FR) | Bob Bricoleur: Les P'tits Chantiers de Bob |
| 301 | | 80-092305-105(FR) | Bob Bricoleur: Les P'tits Chantiers de Bob (ALT) |
| 302 | 257 | - |
| 303 | 258 | 80-092320(US) | The Wiggles - It's Wiggle Time! |
| 304 | | 80-092323(UK) | The Wiggles - It's Wiggle Time! |
| 305 | 259 | - |
| 306 | 260 | 80-092340(US) | Thomas The Tank: Engines Working Together |
| 307 | 261 | 80-092340-101(US) | Thomas The Tank: Engines Working Together (ALT) |
| 308 | 262 | 80-092343(UK) | Thomas and Friends: Engines Working Together |
| 309 | | 80-092343-103(UK) | Thomas and Friends: Engines Working Together (ALT) |
| 310 | | 80-092343-203(UK) | Thomas and Friends: Engines Working Together (ALT) |
| 311 | 263 | 80-092344(GE) | Thomas and Seine Freunde - Freunde Halten Zusammen |
| 312 | 264 | 80-092347(SP) | Thomas and Friends: Juego de Aprendizaje |
| 313 | 265 | - |
| 314 | 266 | 80-092360(US) | Zayzoo My Alien Classmate |
| 315 | | 80-092363(UK) | Zayzoo My Alien Classmate <- ??? |
| 267 | 80-092363(UK) | Zayzoo My Alien Classmate |
| 316 | 268 | 80-092365(FR) | Zezou : Notre ami venu d'ailleurs |
| 317 | | 80-092367(SP) | Zayzoo - Mi Amiga del Espacio |
| 318 | | - |
| 319 | 269 | 80-092360-101(US) | Zayzoo - An Earth Adventure |
| 320 | | 80-092363(UK) | Zayzoo - An Earth Adventure |
| 321 | 270 | 80-092363-101(UK) | Zayzoo - An Earth Adventure |
| 322 | 271 | 80-092364(GE) | Zayzoo Lernall |
| 323 | 272 | - |
| r241477 | r241478 | |
| 328 | 277 | - |
| 329 | 278 | 80-092420(US) | Finding Nemo |
| 330 | 279 | 80-092424(GE) | Findet Nemo |
| 331 | | 80-092425(FR) | Le Monde de Nemo - Nemo a la decourverte de l'ocean |
| 332 | 280 | - |
| 333 | 281 | 80-092440(US) | Spongebob Squarepants: A Day In The Life of A Sponge |
| 334 | 282 | 80-092443(UK) | Spongebob Squarepants: A Day In The Life of A Sponge |
| 335 | 283 | 80-092444(GE) | Spongebob Schwammkopf - Der Tag des Schwamms |
| 336 | | 80-092445(FR) | Bob L'eponge - Une journee dans la vie d'une eponge |
| 337 | 284 | - |
| 338 | | 80-092460(US) | Sesame Street : Bert and Ernie's Imagination Adventure |
| 285 | 80-092460(US) | Sesame Street |
| 339 | 286 | 80-092464(GE) | Sesame Street : Ernie and Berts Fantastisches Abenteuer |
| 340 | | 80-092465(FR) | 5, Rue Sesame : Les Aventures Imaginaires d'Ernest et Bert |
| 341 | 287 | - |
| 342 | 288 | 80-092480(US) | Batman: Gotham City Rescue |
| 343 | | 80-09248?(ITA) | Batman: Il Salvataggio di Gotham City |
| 344 | | 80-092482(NL) | Batman: De Redding van Gotham City |
| 345 | | 80-092483(UK) | Batman: Gotham City Rescue |
| 346 | | 80-092484(GE) | Batman - Rettung von Gotham City |
| 347 | 289 | 80-092485(FR) | Batman: Panique a Gotham City |
| 290 | 80-092484(GE) | Batman - Rettung von Gotham City |
| 291 | 80-09248?(ITA) | Batman: Il Salvataggio di Gotham City |
| 348 | 292 | - |
| 349 | 293 | 80-092500(US) | Whiz Kid Wheels |
| 350 | 294 | 80-092503(UK) | Whiz Kid Wheels |
| r241477 | r241478 | |
| 355 | 299 | 80-092520(US) | Spider-Man & Friends Doc Ock's Challenge |
| 356 | 300 | (ITA) | Spider-Man la sfida del dottor Ock |
| 357 | 301 | 80-092524(GE) | Spider-Man & Freunde Wettkampf im Space Labor |
| 358 | | 80-092525(FR) | Spider-Man & ses amis Le defi du docteur Ock |
| 359 | | 80-092527(SP) | Spider-man y Amigas - La Aventura Del Doctor Octopus |
| 360 | 302 | - |
| 361 | 303 | 80-092540(US) | Noddy - Detective for a Day |
| 362 | 304 | 80-092543(UK) | Noddy - Detective for a Day |
| 363 | 305 | 80-092543-103(UK) | Noddy - Detective for a Day (ALT) |
| 364 | 306 | 80-092544(GE) | Noddy |
| 365 | | 80-092545(FR) | Oui-Oui - Detective d'un Jour |
| 366 | | 80-092545-105(FR) | Oui-Oui - Detective d'un Jour (ALT) |
| 367 | | - |
| 368 | | 80-092560(US) | <Unknown> should be 101 Dalmations (is in Vtech Master list) |
| 369 | 307 | 80-092564(GE) | 101 Dalmatiner |
| 370 | 308 | - |
| 371 | 309 | 80-092580(US) | Backyardigans - Viking Voyage |
| 372 | | 80-092580-201(US) | Backyardigans - Viking Voyage (ALT) |
| 373 | | 80-092585(FR) | Les Melodilous - Les explorateurs vikings |
| 374 | | - |
| 375 | 310 | 80-092600(US) | Shrek - Dragon's Tale |
| 376 | 311 | 80-092604(GE) | Shrek - Die Geschichte des Drachen |
| 377 | | 80-092605(FR) | Shrek - Le Ehume de Dragonne |
| 378 | | 80-092607(SP) | Shrek - El Cuento de la Dragona |
| 379 | | - |
| 380 | 312 | 80-092620(US) | Lil' Bratz - Friends, Fashion and Fun |
| 381 | 313 | - |
| 382 | 314 | 80-092640(US) | Superman - The Greatest Hero |
| 383 | 315 | 80-092643(UK) | Superman - The Greatest Hero |
| 384 | | 80-092644(GE) | Superman - Der Superheld |
| 385 | | 80-092645(FR) | Superman - A la Rescousse |
| 386 | | 80-092647(SP) | Superman - El Hombre de Acero |
| 387 | 316 | - |
| 388 | 317 | 80-092660(US) | Cars: Rev It Up In Radiator Springs |
| 389 | | 80-092662(NL) | Cars: Spektakel in Radiator Springs |
| 390 | | 80-092663(UK) | Cars: Rev It Up In Radiator Springs |
| 318 | 80-092662(NL) | Cars - Spektakel in Radiator Springs |
| 391 | 319 | 80-092664(GE) | Cars: Vollgas in Radiator Springs |
| 392 | 320 | (ITA) | Cars: Motori Ruggenti |
| 393 | | 80-092665(FR) | Cars: Quatre Roues |
| 321 | 80-092665(GE) | Cars: Quatre Roues |
| 394 | 322 | 80-092667(SP) | Cars: Acelera El Motor En Radiador Springs |
| 395 | 323 | - |
| 396 | 324 | 80-092820(US) | Soccer Challenge |
| r241477 | r241478 | |
| 402 | 330 | 80-092843(UK) | Wall-E |
| 403 | 331 | 80-092844(GE) | Wall-E |
| 404 | 332 | (ITA) | Wall-E |
| 405 | | - |
| 406 | 333 | 80-092860(US) | Shrek the Third: Arthur's School Day Adventure |
| 407 | 334 | 80-092863(UK) | Shrek the Third: Arthur's School Day Adventure |
| 408 | 335 | (ITA) | Shrek Terzo L'Advventura Do Artu in un Giorno do Scuola |
| 409 | 336 | 80-092864(GE) | Shrek der Dritte - Ein Spannender Schultag |
| 410 | 337 | 80-092865(FR) | Shrek Troisieme : L'aventure d'Arthur |
| 411 | | 80-092867(SP) | Shrek Tercero - En Busca De Arturo |
| 412 | | - |
| 413 | 338 | 80-092880(US) | Ratatouille - Remy's New Recipes |
| 414 | 339 | 80-092882(NL) | Ratatouille |
| 415 | 340 | 80-092883(UK) | Ratatouille - Remy's New Recipes |
| 416 | 341 | 80-092884(GE) | Ratatouille - Remys neue Rezepte |
| 417 | 342 | 80-092884-104(GE) | Ratatouille - Remys neue Rezepte (ALT) |
| 418 | 343 | 80-092885(FR) | Ratatouille - Les nouvelles recettes de Rémy |
| 419 | | 80-092887(SP) | Ratatouille - Las recetas del Remy |
| 420 | | - |
| 421 | 344 | 80-092900(US) | Go Diego Go - Save the Animal Familes! |
| 422 | | 80-092903(UK) | Go Diego Go - Save the Animal Familes! |
| 423 | | 80-092905(FR) | Go Diego! - A la rescousse des animaux! |
| 424 | | - |
| 425 | 345 | 80-092920(US) | Cranium - Partyland Park |
| 426 | | 80-092925(FR) | Cranium - Le Parc D'attractions |
| 427 | | - |
| 428 | | 80-092940(US) | <Unknown> should be Mickey Mouse Clubhouse 80-084180 |
| 346 | |
| 429 | 347 | 80-092944(GE) | Micky Maus Wunderhaus |
| 430 | 348 | (ITA) | La Casa di Topolino |
| 431 | 349 | 80-092945(FR) | La Maison de Mickey |
| 432 | | - |
| 433 | 350 | 80-092960(US) | Kung Fu Panda - Path of the Panda |
| 434 | 351 | 80-092964(GE) | Kung Fu Panda - Der Weg des Panda |
| 435 | | - |
| 436 | 352 | 80-092980(US) | Little Einsteins |
| 437 | 353 | 80-092984(GE) | Kleine Einsteins |
| 438 | 354 | |
| 439 | 355 | |
| 440 | 356 | V.Flash |
| 441 | 357 | |
| 442 | | |
| 443 | | Jumping Beans (USA Packin) |
| 444 | | Carrera Loca en la Isla de las Vainas Fritas (Spanish Jumping Beans packin) |
| 445 | | |
| 446 | | |
| 447 | | 80-093000(US) | The Crystal Ball Adventures |
| 448 | | 80-093005(FR) | L'aventure enchantée |
| 449 | | 80-093007(SP) | El Castillo de las Princesas |
| 450 | | - |
| 358 | 80-093000(US) | The Crystal Ball Adventure |
| 451 | 359 | 80-093020(US) | The Incredibles - Mission Incredibles |
| 452 | | - |
| 453 | 360 | 80-093040(US) | SpongeBob - Idea Sponge |
| 454 | 361 | 80-093044(GE) | SpongeBob - Ein Schwamm voller Ideen |
| 455 | | - |
| 456 | 362 | 80-093060(US) | The Amazing Spider-Man - Countdown to Doom |
| 457 | | 80-093065(FR) | Spider-Man - Course-poursuite à Manhattan |
| 458 | | 80-093067(SP) | El Asombroso Spider-Man - Persecucion en la Cuidad |
| 459 | | - |
| 460 | 363 | 80-093080(US) | Scooby-Doo! - Ancient Adventure |
| 461 | | 80-093085(FR) | Scooby-Doo! - Les Civilisations Perdues |
| 462 | | - |
| 463 | 364 | 80-093100(US) | Cars - In The Fast Lane |
| 464 | 365 | 80-093104(GE) | Cars - Auf der Überholspur |
| 465 | 366 | 80-093105(FR) | Cars - A Fond la Caisse! |
| 466 | | - |
| 467 | 367 | 80-093120(US) | Wacky Race on Jumpin' Bean Island |
| 468 | 368 | 80-093124(GE) | Das verrückte Rennen auf der Hüpf-Bohnen-Insel |
| 469 | | - |
| 470 | 369 | 80-093140(US) | Shrek 3 |
| 471 | 370 | 80-093144(GE) | Shrek - Der Dritte |
| 472 | | 80-093147(SP) | Shrek Tercero - Donde esta Arturo? |
| 473 | | - |
| 474 | 371 | 80-093160(US) | Bratz - The Secret Necklace |
| 475 | | - |
| 476 | 372 | 80-093180(US) | <Unknown> |
| 477 | | - |
| 478 | 373 | 80-093200(US) | Ratatouille (according to vtech site, can't confirm) |
| 479 | 374 | 80-093204(GE) | Multisports |
| 480 | | - |
| 481 | 375 | 80-093220(US) | National Geographic Kids |
| 482 | 376 | |
| 483 | 377 | |
| 484 | 378 | V.Baby |
| 485 | 379 | |
| 486 | | -80-099000(US) | Learn and Discover Home (white background on title) (the packin) |
| 380 | 80-099000(US) | Learn and Discover Home (white background on title) (the packin) |
| 487 | 381 | 80-099000(US) | Learn and Discover Home (green background on title) (standalone) |
| 488 | | -80-099020(US) | Pooh's Hundred Acre Wood Adventure |
| 489 | | -80-099040(US) | Baby Einstein - World of Discoveries |
| 382 | 80-099020(US) | Pooh's Hundred Acre Wood Adventure |
| 383 | 80-099040(US) | Baby Einstein - World of Discoveries |
| 490 | 384 | 80-099040(US) | Baby Einstein - World of Discoveries (no # on front label) |
| 491 | | -80-099060(US) | A Day On The Farm |
| 492 | | 80-099065(FR) | Un jour a la ferme |
| 385 | 80-099060(US) | A Day On The Farm |
| 493 | 386 | 80-099080(US) | <Unknown> |
| 494 | | -80-099100(US) | Noah's Ark Animal Adventure |
| 495 | | 80-099105(FR) | L'arche de Noe - L'aventure des animaux |
| 496 | | -80-099120(US) | Barney |
| 497 | | -80-099140(US) | Teletubbies |
| 498 | | 80-099143(UK) | Teletubbies |
| 499 | | 80-099160(US) | Discovery with Baby Mickey and Friends |
| 500 | | -80-099180(US) | Bailey Goes To Town (Included Bailey Plush Bear Controller) |
| 501 | | -80-099200(US) | Mother Goose |
| 502 | | -80-099220(US) | Care Bears Play Day |
| 503 | | -80-099240(US) | Backyardigans: Big Backyard Adventures |
| 387 | 80-099100(US) | Noah's Ark Animal Adventure |
| 388 | 80-099120(US) | Barney |
| 389 | 80-099140(US) | Teletubbies |
| 390 | 80-099160(US) | Baby Mickey |
| 391 | 80-099180(US) |Bailey Goes To Town (Included Bailey Plush Bear Controller) |
| 392 | 80-099200(US) | Mother Goose |
| 393 | 80-099220(US) | Care Bears Play Day |
| 394 | 80-099240(US) | Backyardigans: Big Backyard Adventures |
| 504 | 395 | |
| 505 | | -80-220000(US) | The World of Eric Carle - The Very Hungry Caterpillar |
| 506 | | -80-107100-001(US) | Meet Me at the Zoo (Orange, V.Baby V2 packin) |
| 396 | 80-220000(US) | The World of Eric Carle - The Very Hungry Caterpillar |
| 397 | 80-107100-001(US) | Meet Me at the Zoo (Orange, V.Baby V2 packin) |
| 507 | 398 | |
| 508 | 399 | |
| 509 | 400 | V.Reader |
trunk/src/mame/drivers/videopin.c
| r241477 | r241478 | |
| 6 | 6 | |
| 7 | 7 | Known issues: |
| 8 | 8 | |
| 9 | | videopin |
| 10 | | - plunger doesn't work in test mode - bug in the game code? |
| 9 | - plunger doesn't work in test mode - bug in the game code? |
| 11 | 10 | |
| 12 | | solarwar |
| 13 | | - coins not working (free play is default for now) |
| 14 | | - needs correct layout file |
| 15 | | |
| 16 | 11 | *************************************************************************/ |
| 17 | 12 | |
| 18 | 13 | #include "emu.h" |
| r241477 | r241478 | |
| 22 | 17 | #include "sound/discrete.h" |
| 23 | 18 | |
| 24 | 19 | |
| 20 | |
| 21 | |
| 22 | |
| 23 | |
| 24 | |
| 25 | 25 | void videopin_state::update_plunger() |
| 26 | 26 | { |
| 27 | 27 | UINT8 val = ioport("IN2")->read(); |
| r241477 | r241478 | |
| 235 | 235 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 236 | 236 | |
| 237 | 237 | PORT_START("DSW") /* IN1 */ |
| 238 | | PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DSW:8,7") |
| 238 | PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Coinage ) ) |
| 239 | 239 | PORT_DIPSETTING( 0xc0, DEF_STR( 2C_1C ) ) |
| 240 | 240 | PORT_DIPSETTING( 0x80, DEF_STR( 1C_1C ) ) |
| 241 | 241 | PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) |
| 242 | 242 | PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) |
| 243 | | PORT_DIPNAME( 0x30, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("DSW:6,5") |
| 243 | PORT_DIPNAME( 0x30, 0x00, DEF_STR( Language ) ) |
| 244 | 244 | PORT_DIPSETTING( 0x00, DEF_STR( English ) ) |
| 245 | 245 | PORT_DIPSETTING( 0x10, DEF_STR( German ) ) |
| 246 | 246 | PORT_DIPSETTING( 0x20, DEF_STR( French ) ) |
| 247 | 247 | PORT_DIPSETTING( 0x30, DEF_STR( Spanish ) ) |
| 248 | | PORT_DIPNAME( 0x08, 0x08, "Balls" ) PORT_DIPLOCATION("DSW:4") |
| 248 | PORT_DIPNAME( 0x08, 0x08, "Balls" ) |
| 249 | 249 | PORT_DIPSETTING( 0x08, "3" ) |
| 250 | 250 | PORT_DIPSETTING( 0x00, "5" ) |
| 251 | | PORT_DIPNAME( 0x04, 0x00, "Replay" ) PORT_DIPLOCATION("DSW:3") |
| 251 | PORT_DIPNAME( 0x04, 0x00, "Replay" ) |
| 252 | 252 | PORT_DIPSETTING( 0x04, "Off (award 80000 points instead)" ) |
| 253 | 253 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 254 | | PORT_DIPNAME( 0x02, 0x00, "Extra Ball" ) PORT_DIPLOCATION("DSW:2") |
| 254 | PORT_DIPNAME( 0x02, 0x00, "Extra Ball" ) |
| 255 | 255 | PORT_DIPSETTING( 0x02, "Off (award 50000 points instead)" ) |
| 256 | 256 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 257 | | PORT_DIPNAME( 0x01, 0x01, "Replay Level" ) PORT_DIPLOCATION("DSW:1") |
| 257 | PORT_DIPNAME( 0x01, 0x01, "Replay Level" ) |
| 258 | 258 | PORT_DIPSETTING( 0x00, "180000 (3 balls) / 300000 (5 balls)" ) |
| 259 | 259 | PORT_DIPSETTING( 0x01, "210000 (3 balls) / 350000 (5 balls)" ) |
| 260 | 260 | |
| r241477 | r241478 | |
| 272 | 272 | PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Ball Shooter") PORT_CODE(KEYCODE_DOWN) |
| 273 | 273 | INPUT_PORTS_END |
| 274 | 274 | |
| 275 | | static INPUT_PORTS_START( solarwar ) |
| 276 | | PORT_INCLUDE( videopin ) |
| 277 | | PORT_MODIFY("DSW") |
| 278 | | PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DSW:8,7") |
| 279 | | PORT_DIPSETTING( 0xc0, DEF_STR( 2C_1C ) ) |
| 280 | | PORT_DIPSETTING( 0x80, DEF_STR( 1C_1C ) ) |
| 281 | | PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) |
| 282 | | PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) |
| 283 | | PORT_DIPUNKNOWN_DIPLOC( 0x30, 0x30, "DSW:6,5" ) |
| 284 | | PORT_DIPNAME( 0x01, 0x01, "Replay Level" ) PORT_DIPLOCATION("DSW:1") |
| 285 | | PORT_DIPSETTING( 0x00, "180000 (3 balls) / 300000 (5 balls)" ) |
| 286 | | PORT_DIPSETTING( 0x01, "300000 (3 balls) / 500000 (5 balls)" ) |
| 287 | | INPUT_PORTS_END |
| 288 | 275 | |
| 289 | 276 | |
| 290 | 277 | /************************************* |
| r241477 | r241478 | |
| 408 | 395 | ROM_LOAD( "9402-01.h4", 0x0000, 0x0100, CRC(b8094b4c) SHA1(82dc6799a19984f3b204ee3aeeb007e55afc8be3) ) /* sync */ |
| 409 | 396 | ROM_END |
| 410 | 397 | |
| 411 | | ROM_START( solarwar ) |
| 412 | | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 413 | | ROM_LOAD_NIB_LOW ( "36159-01.e0", 0x2000, 0x0400, CRC(0db9f0fc) SHA1(191429a25b43727694f75c0ae9cbff705fbc4d77) ) |
| 414 | | ROM_LOAD_NIB_HIGH( "36154-01.k0", 0x2000, 0x0400, CRC(64629efc) SHA1(4da3870c35e693ed334502ea17ae023a0073ff85) ) |
| 415 | | ROM_LOAD_NIB_LOW ( "36160-01.d0", 0x2400, 0x0400, CRC(63a25dee) SHA1(cff0f1c4d381eb99a30f2fe09ff6f42ca994a19f) ) |
| 416 | | ROM_LOAD_NIB_HIGH( "36155-01.j0", 0x2400, 0x0400, CRC(5fa64f47) SHA1(64e37380be0df761ba81c516592fef87bba30b91) ) |
| 417 | | ROM_LOAD_NIB_LOW ( "36167-01.h1", 0x2800, 0x0400, CRC(5a85bca8) SHA1(7af9895c2e567d569ed60305fa1245081e346fc1) ) |
| 418 | | ROM_LOAD_NIB_HIGH( "36166-01.h1", 0x2800, 0x0400, CRC(6ce095a6) SHA1(e3bb534487d3cd0cecccff47c0742de8f951b46c) ) |
| 419 | | ROM_LOAD_NIB_LOW ( "36161-01.c0", 0x2c00, 0x0400, CRC(a9e2e08f) SHA1(5539a86d4fb69735182762e21cf3cc26d16eff80) ) |
| 420 | | ROM_LOAD_NIB_HIGH( "36157-01.h0", 0x2c00, 0x0400, CRC(30b6eb18) SHA1(ae819dd97c6a7e26981731e7706cbfa3699b6a0b) ) |
| 421 | | ROM_LOAD_NIB_LOW ( "36169-01.e1", 0x3000, 0x0400, CRC(f702127c) SHA1(7fb83c616671e4ea9697282a04662ec035d5d8ed) ) |
| 422 | | ROM_LOAD_NIB_HIGH( "36164-01.k1", 0x3000, 0x0400, CRC(3dcded96) SHA1(eacdf017b08a7c3305fd79430fbbf07292d0cfa0) ) |
| 423 | | ROM_LOAD_NIB_LOW ( "36163-02.a0", 0x3400, 0x0400, CRC(3e176619) SHA1(9b6a9a5fa02b1d87bdaa43fad8971ff3317b132d) ) |
| 424 | | ROM_LOAD_NIB_HIGH( "36156-02.h0", 0x3400, 0x0400, CRC(e51363fb) SHA1(c01b263dfd6d448a18ff855a93aa4e48afc6d725) ) |
| 425 | | ROM_LOAD_NIB_LOW ( "36168-01.f1", 0x3800, 0x0400, CRC(5ccbcf7e) SHA1(10f8932265abe6e62e9f243c653d7fad770a2ff5) ) |
| 426 | | ROM_LOAD_NIB_HIGH( "36165-01.j1", 0x3800, 0x0400, CRC(e2ee4f7d) SHA1(be2f602a5bcfe404509ac8d6914a03213573b0a6) ) |
| 427 | | ROM_LOAD_NIB_LOW ( "36162-02.b0", 0x3c00, 0x0400, CRC(cec1baaa) SHA1(15c130b01a7b8b9aa07e01f7c84c4c26494f39d8) ) |
| 428 | | ROM_RELOAD( 0xfc00, 0x0400 ) |
| 429 | | ROM_LOAD_NIB_HIGH( "36158-02.f0", 0x3c00, 0x0400, CRC(2606b87e) SHA1(ea72e36837eccf29cd5c82fe9a6a018a1a94730c) ) |
| 430 | | ROM_RELOAD( 0xfc00, 0x0400 ) |
| 431 | 398 | |
| 432 | | ROM_REGION( 0x0200, "gfx1", 0 ) /* tiles */ |
| 433 | | ROM_LOAD_NIB_LOW ( "34259-01.d5", 0x0000, 0x0200, CRC(6cd98c06) SHA1(48bf077b7abbd2f529a19bdf85700b93014f39f9) ) |
| 434 | | ROM_LOAD_NIB_HIGH( "34258-01.c5", 0x0000, 0x0200, CRC(91a5f117) SHA1(03ac6b0b3da0ed5faf1ba6695d16918d12ceeff5) ) |
| 435 | 399 | |
| 436 | | ROM_REGION( 0x0020, "gfx2", 0 ) /* ball */ |
| 437 | | ROM_LOAD( "34257-01.m1", 0x0000, 0x0020, CRC(50245866) SHA1(b0692bc8d44f127f6e7182a1ce75a785e22ac5b9) ) |
| 438 | | |
| 439 | | ROM_REGION( 0x0100, "proms", 0 ) |
| 440 | | ROM_LOAD( "9402-01.h4", 0x0000, 0x0100, CRC(b8094b4c) SHA1(82dc6799a19984f3b204ee3aeeb007e55afc8be3) ) /* sync */ |
| 441 | | ROM_END |
| 442 | | |
| 443 | | |
| 444 | 400 | /************************************* |
| 445 | 401 | * |
| 446 | 402 | * Game drivers |
| r241477 | r241478 | |
| 448 | 404 | *************************************/ |
| 449 | 405 | |
| 450 | 406 | GAMEL( 1979, videopin, 0, videopin, videopin, driver_device, 0, ROT270, "Atari", "Video Pinball", 0, layout_videopin ) |
| 451 | | GAMEL( 1979, solarwar, 0, videopin, solarwar, driver_device, 0, ROT270, "Atari", "Solar War", 0, layout_videopin ) |
trunk/src/mess/drivers/spc1000.c
| r241477 | r241478 | |
| 8 | 8 | 2014-02-16 Added cassette, many games are playable |
| 9 | 9 | |
| 10 | 10 | ToDo: |
| 11 | - Some games have keyboard problems (e.g. Invaders, Panzerspitze) |
| 12 | - Some games freeze at start (e.g. Super Xevious) |
| 11 | 13 | - Find out if any of the unconnected parts of 6000,4000,4001 are used |
| 12 | 14 | |
| 13 | 15 | |
| r241477 | r241478 | |
| 22 | 24 | small ics. And of course, no schematic. |
| 23 | 25 | |
| 24 | 26 | |
| 25 | | 2014-10-11: Replaced above code with MESS-compliant code [Meeso Kim] |
| 27 | 2014-10-11: Replaced above code with MESS-compliant code [Meso Kim] |
| 26 | 28 | |
| 27 | 29 | ****************************************************************************/ |
| 28 | 30 | |
| r241477 | r241478 | |
| 52 | 54 | , m_pio(*this, "d8255_master") |
| 53 | 55 | , m_ram(*this, RAM_TAG) |
| 54 | 56 | , m_cass(*this, "cassette") |
| 55 | | , m_io_kb(*this, "LINE") |
| 56 | 57 | , m_io_joy(*this, "JOY") |
| 57 | 58 | {} |
| 58 | 59 | |
| 59 | | DECLARE_WRITE8_MEMBER(iplk_w); |
| 60 | | DECLARE_READ8_MEMBER(iplk_r); |
| 60 | DECLARE_WRITE8_MEMBER(spc1000_iplk_w); |
| 61 | DECLARE_READ8_MEMBER(spc1000_iplk_r); |
| 61 | 62 | DECLARE_WRITE_LINE_MEMBER(irq_w); |
| 62 | | DECLARE_WRITE8_MEMBER(gmode_w); |
| 63 | | DECLARE_READ8_MEMBER(gmode_r); |
| 63 | DECLARE_WRITE8_MEMBER(spc1000_gmode_w); |
| 64 | DECLARE_READ8_MEMBER(spc1000_gmode_r); |
| 64 | 65 | DECLARE_READ8_MEMBER(porta_r); |
| 65 | 66 | DECLARE_READ8_MEMBER(mc6847_videoram_r); |
| 66 | 67 | DECLARE_WRITE8_MEMBER(cass_w); |
| 67 | | DECLARE_WRITE8_MEMBER(sd725_w); |
| 68 | | DECLARE_READ8_MEMBER(sd725_r); |
| 68 | DECLARE_WRITE8_MEMBER(spc1000_sd725_w); |
| 69 | DECLARE_READ8_MEMBER(spc1000_sd725_r); |
| 69 | 70 | DECLARE_WRITE8_MEMBER(fdc_8255_b_w); |
| 70 | 71 | DECLARE_READ8_MEMBER(fdc_8255_c_r); |
| 71 | 72 | DECLARE_WRITE8_MEMBER(fdc_8255_c_w); |
| 72 | 73 | DECLARE_READ8_MEMBER(upd765_tc_r); |
| 73 | 74 | DECLARE_WRITE8_MEMBER(fdc_control_w); |
| 74 | | DECLARE_READ8_MEMBER(keyboard_r); |
| 75 | 75 | MC6847_GET_CHARROM_MEMBER(get_char_rom) |
| 76 | 76 | { |
| 77 | 77 | return m_p_videoram[0x1000 + (ch & 0x7f) * 16 + line]; |
| r241477 | r241478 | |
| 92 | 92 | required_device<i8255_device> m_pio; |
| 93 | 93 | required_device<ram_device> m_ram; |
| 94 | 94 | required_device<cassette_image_device> m_cass; |
| 95 | | required_ioport_array<10> m_io_kb; |
| 96 | 95 | required_ioport m_io_joy; |
| 97 | 96 | |
| 98 | 97 | floppy_image_device *m_fd0; |
| r241477 | r241478 | |
| 118 | 117 | AM_RANGE(0x8000, 0xffff) AM_READ_BANK("bank3") AM_WRITE_BANK("bank4") |
| 119 | 118 | ADDRESS_MAP_END |
| 120 | 119 | |
| 121 | | WRITE8_MEMBER(spc1000_state::iplk_w) |
| 120 | WRITE8_MEMBER(spc1000_state::spc1000_iplk_w) |
| 122 | 121 | { |
| 123 | 122 | m_IPLK = m_IPLK ? 0 : 1; |
| 124 | 123 | membank("bank1")->set_entry(m_IPLK); |
| 125 | 124 | membank("bank3")->set_entry(m_IPLK); |
| 126 | 125 | } |
| 127 | 126 | |
| 128 | | READ8_MEMBER(spc1000_state::iplk_r) |
| 127 | READ8_MEMBER(spc1000_state::spc1000_iplk_r) |
| 129 | 128 | { |
| 130 | 129 | m_IPLK = m_IPLK ? 0 : 1; |
| 131 | 130 | membank("bank1")->set_entry(m_IPLK); |
| r241477 | r241478 | |
| 139 | 138 | m_cass->output(BIT(data, 0) ? -1.0 : 1.0); |
| 140 | 139 | } |
| 141 | 140 | |
| 142 | | WRITE8_MEMBER(spc1000_state::gmode_w) |
| 141 | WRITE8_MEMBER(spc1000_state::spc1000_gmode_w) |
| 143 | 142 | { |
| 144 | 143 | m_GMODE = data; |
| 145 | 144 | |
| r241477 | r241478 | |
| 149 | 148 | m_vdg->gm0_w(BIT(data, 2)); |
| 150 | 149 | m_vdg->ag_w(BIT(data, 3)); |
| 151 | 150 | m_vdg->css_w(BIT(data, 7)); |
| 152 | | m_page = ((BIT(data, 5) << 1) | BIT(data, 4)) * 0x200; |
| 151 | m_page = ( (BIT(data, 5) << 1) | BIT(data, 4) )*0x200; |
| 153 | 152 | } |
| 154 | 153 | |
| 155 | | READ8_MEMBER(spc1000_state::gmode_r) |
| 154 | READ8_MEMBER(spc1000_state::spc1000_gmode_r) |
| 156 | 155 | { |
| 157 | 156 | return m_GMODE; |
| 158 | 157 | } |
| 159 | 158 | |
| 160 | | READ8_MEMBER(spc1000_state::sd725_r) |
| 159 | READ8_MEMBER(spc1000_state::spc1000_sd725_r) |
| 161 | 160 | { |
| 162 | 161 | UINT8 data = 0; |
| 163 | 162 | switch (offset) |
| r241477 | r241478 | |
| 172 | 171 | return data; |
| 173 | 172 | } |
| 174 | 173 | |
| 175 | | WRITE8_MEMBER(spc1000_state::sd725_w) |
| 174 | WRITE8_MEMBER(spc1000_state::spc1000_sd725_w) |
| 176 | 175 | { |
| 177 | 176 | switch (offset) |
| 178 | 177 | { |
| r241477 | r241478 | |
| 226 | 225 | m_fd1->mon_w(!BIT(data, 0)); |
| 227 | 226 | } |
| 228 | 227 | |
| 229 | | READ8_MEMBER( spc1000_state::keyboard_r ) |
| 230 | | { |
| 231 | | // most games just read kb in $8000-$8009 but a few of them |
| 232 | | // (e.g. Toiler Adventure II and Vela) use mirrored addr instead |
| 233 | | offset &= 0xf; |
| 234 | 228 | |
| 235 | | if (offset <= 9) |
| 236 | | return m_io_kb[offset]->read(); |
| 237 | | else |
| 238 | | return 0xff; |
| 239 | | } |
| 240 | | |
| 241 | | |
| 242 | 229 | static ADDRESS_MAP_START( spc1000_io , AS_IO, 8, spc1000_state ) |
| 243 | 230 | ADDRESS_MAP_UNMAP_HIGH |
| 244 | 231 | AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("videoram") |
| 245 | | AM_RANGE(0x2000, 0x3fff) AM_READWRITE(gmode_r, gmode_w) |
| 232 | AM_RANGE(0x2000, 0x3fff) AM_READWRITE(spc1000_gmode_r, spc1000_gmode_w) |
| 246 | 233 | AM_RANGE(0x4000, 0x4000) AM_DEVWRITE("ay8910", ay8910_device, address_w) |
| 247 | 234 | AM_RANGE(0x4001, 0x4001) AM_DEVREADWRITE("ay8910", ay8910_device, data_r, data_w) |
| 248 | 235 | AM_RANGE(0x6000, 0x6000) AM_WRITE(cass_w) |
| 249 | | AM_RANGE(0x8000, 0x9fff) AM_READ(keyboard_r) |
| 250 | | AM_RANGE(0xa000, 0xa000) AM_READWRITE(iplk_r, iplk_w) |
| 251 | | AM_RANGE(0xc000, 0xc002) AM_READWRITE(sd725_r, sd725_w) |
| 252 | | // AM_RANGE(0xc000, 0xc003) AM_DEVREADWRITE("d8255_master", i8255_device, read, write) |
| 236 | AM_RANGE(0x8000, 0x8000) AM_READ_PORT("LINE0") |
| 237 | AM_RANGE(0x8001, 0x8001) AM_READ_PORT("LINE1") |
| 238 | AM_RANGE(0x8002, 0x8002) AM_READ_PORT("LINE2") |
| 239 | AM_RANGE(0x8003, 0x8003) AM_READ_PORT("LINE3") |
| 240 | AM_RANGE(0x8004, 0x8004) AM_READ_PORT("LINE4") |
| 241 | AM_RANGE(0x8005, 0x8005) AM_READ_PORT("LINE5") |
| 242 | AM_RANGE(0x8006, 0x8006) AM_READ_PORT("LINE6") |
| 243 | AM_RANGE(0x8007, 0x8007) AM_READ_PORT("LINE7") |
| 244 | AM_RANGE(0x8008, 0x8008) AM_READ_PORT("LINE8") |
| 245 | AM_RANGE(0x8009, 0x8009) AM_READ_PORT("LINE9") |
| 246 | AM_RANGE(0xA000, 0xA000) AM_READWRITE(spc1000_iplk_r, spc1000_iplk_w) |
| 247 | AM_RANGE(0xC000, 0xC002) AM_READWRITE(spc1000_sd725_r, spc1000_sd725_w) |
| 248 | // AM_RANGE(0xC000, 0xC003) AM_DEVREADWRITE("d8255_master", i8255_device, read, write) |
| 253 | 249 | ADDRESS_MAP_END |
| 254 | 250 | |
| 255 | 251 | /* Input ports */ |
| 256 | 252 | static INPUT_PORTS_START( spc1000 ) |
| 257 | | PORT_START("LINE.0") |
| 258 | | PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_UNUSED) |
| 259 | | PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Shift") PORT_CODE(KEYCODE_RSHIFT) PORT_CODE(KEYCODE_LSHIFT) PORT_CHAR(UCHAR_SHIFT_1) |
| 260 | | PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Ctrl") PORT_CODE(KEYCODE_RCONTROL) PORT_CODE(KEYCODE_LCONTROL) PORT_CHAR(UCHAR_SHIFT_2) |
| 261 | | PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNUSED) |
| 262 | | PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Break") PORT_CODE(KEYCODE_PAUSE) |
| 263 | | PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_UNUSED) |
| 264 | | PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Graph") PORT_CODE(KEYCODE_LALT) PORT_CODE(KEYCODE_RALT) |
| 265 | | PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNUSED) |
| 253 | PORT_START("LINE0") |
| 254 | PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_UNUSED) |
| 255 | PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Shift") PORT_CODE(KEYCODE_RSHIFT) PORT_CODE(KEYCODE_LSHIFT) PORT_CHAR(UCHAR_SHIFT_1) |
| 256 | PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Ctrl") PORT_CODE(KEYCODE_RCONTROL) PORT_CODE(KEYCODE_LCONTROL) PORT_CHAR(UCHAR_SHIFT_2) |
| 257 | PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNUSED) |
| 258 | PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Break") PORT_CODE(KEYCODE_PAUSE) |
| 259 | PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_UNUSED) |
| 260 | PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Graph") PORT_CODE(KEYCODE_LALT) PORT_CODE(KEYCODE_RALT) |
| 261 | PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNUSED) |
| 262 | PORT_START("LINE1") |
| 263 | PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("^ ~") PORT_CODE(KEYCODE_TILDE) PORT_CHAR('^') PORT_CHAR('~') PORT_CHAR(0x1e) |
| 264 | PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Home") PORT_CODE(KEYCODE_HOME) |
| 265 | PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Space") PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ') |
| 266 | PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Return") PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13) |
| 267 | PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("C") PORT_CODE(KEYCODE_C) PORT_CHAR('c') PORT_CHAR('C') PORT_CHAR(0x03) |
| 268 | PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("A") PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A') PORT_CHAR(0x01) |
| 269 | PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Q") PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q') PORT_CHAR(0x16) |
| 270 | PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("1 !") PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!') |
| 271 | PORT_START("LINE2") |
| 272 | PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Caps") PORT_CODE(KEYCODE_CAPSLOCK) |
| 273 | PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_UNUSED) |
| 274 | PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Z") PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z') PORT_CHAR(0x1a) |
| 275 | PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("] }") PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR(']') PORT_CHAR('}') PORT_CHAR(0x1d) |
| 276 | PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("V") PORT_CODE(KEYCODE_V) PORT_CHAR('v') PORT_CHAR('V') PORT_CHAR(0x16) |
| 277 | PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("S") PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S') PORT_CHAR(0x13) |
| 278 | PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("W") PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W') PORT_CHAR(0x17) |
| 279 | PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("2 \"") PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('\"') |
| 280 | PORT_START("LINE3") |
| 281 | PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Del") PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8) PORT_CHAR(0x12) |
| 282 | PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_UNUSED) |
| 283 | PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("ESC") PORT_CODE(KEYCODE_ESC) PORT_CHAR(0x1b) |
| 284 | PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("[ {") PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('[') PORT_CHAR('{') PORT_CHAR(0x1b) |
| 285 | PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("B") PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B') PORT_CHAR(0x02) |
| 286 | PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("D") PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D') PORT_CHAR(0x04) |
| 287 | PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("E") PORT_CODE(KEYCODE_E) PORT_CHAR('e') PORT_CHAR('E') PORT_CHAR(0x05) |
| 288 | PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("3 #") PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#') |
| 289 | PORT_START("LINE4") |
| 290 | PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_UNUSED) |
| 291 | PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_UNUSED) |
| 292 | PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Right") PORT_CODE(KEYCODE_RIGHT) |
| 293 | PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("\\ |") PORT_CODE(KEYCODE_BACKSLASH) PORT_CHAR('\\') PORT_CHAR('|') PORT_CHAR(0x1c) |
| 294 | PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("N") PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N') PORT_CHAR(0x0e) |
| 295 | PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F") PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F') PORT_CHAR(0x06) |
| 296 | PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("R") PORT_CODE(KEYCODE_R) PORT_CHAR('r') PORT_CHAR('R') PORT_CHAR(0x12) |
| 297 | PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("4 $") PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR('$') |
| 298 | PORT_START("LINE5") |
| 299 | PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_UNUSED) |
| 300 | PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F1") PORT_CODE(KEYCODE_F1) |
| 301 | PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Left") PORT_CODE(KEYCODE_LEFT) |
| 302 | PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNUSED) |
| 303 | PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("M") PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M') PORT_CHAR(0x0d) |
| 304 | PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("G") PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G') PORT_CHAR(0x07) |
| 305 | PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("T") PORT_CODE(KEYCODE_T) PORT_CHAR('t') PORT_CHAR('T') PORT_CHAR(0x14) |
| 306 | PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("5 %") PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('%') |
| 307 | PORT_START("LINE6") |
| 308 | PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_UNUSED) |
| 309 | PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F2") PORT_CODE(KEYCODE_F2) |
| 310 | PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("@ `") PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('@') PORT_CHAR('`') |
| 311 | PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("X") PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X') PORT_CHAR(0x18) |
| 312 | PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME(", <") PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<') |
| 313 | PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("H") PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H') PORT_CHAR(0x08) |
| 314 | PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Y") PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y') PORT_CHAR(0x19) |
| 315 | PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("6 &") PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('&') |
| 316 | PORT_START("LINE7") |
| 317 | PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_UNUSED) |
| 318 | PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F3") PORT_CODE(KEYCODE_F3) |
| 319 | PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Up") PORT_CODE(KEYCODE_UP) |
| 320 | PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("P") PORT_CODE(KEYCODE_P) PORT_CHAR('p') PORT_CHAR('P') PORT_CHAR(0x10) |
| 321 | PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME(". >") PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>') |
| 322 | PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("J") PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J') PORT_CHAR(0x0a) |
| 323 | PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("U") PORT_CODE(KEYCODE_U) PORT_CHAR('u') PORT_CHAR('U') PORT_CHAR(0x15) |
| 324 | PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("7 '") PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('\'') |
| 325 | PORT_START("LINE8") |
| 326 | PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_UNUSED) |
| 327 | PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F4") PORT_CODE(KEYCODE_F4) |
| 328 | PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Down") PORT_CODE(KEYCODE_DOWN) |
| 329 | PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME(": *") PORT_CODE(KEYCODE_QUOTE) PORT_CHAR(':') PORT_CHAR('*') |
| 330 | PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("/ ?") PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?') |
| 331 | PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("K") PORT_CODE(KEYCODE_K) PORT_CHAR('k') PORT_CHAR('K') PORT_CHAR(0x0b) |
| 332 | PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("I") PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I') PORT_CHAR(0x09) |
| 333 | PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("8 (") PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('(') |
| 334 | PORT_START("LINE9") |
| 335 | PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_START) PORT_NAME("IPL") PORT_CODE(KEYCODE_END) |
| 336 | PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F5") PORT_CODE(KEYCODE_F5) |
| 337 | PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("- =") PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('=') |
| 338 | PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("0") PORT_CODE(KEYCODE_0) PORT_CHAR('0') |
| 339 | PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("; +") PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR('+') |
| 340 | PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("L") PORT_CODE(KEYCODE_L) PORT_CHAR('l') PORT_CHAR('L') PORT_CHAR(0x0c) |
| 341 | PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("O") PORT_CODE(KEYCODE_O) PORT_CHAR('o') PORT_CHAR('O') PORT_CHAR(0x0e) |
| 342 | PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("9 )") PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR(')') |
| 266 | 343 | |
| 267 | | PORT_START("LINE.1") |
| 268 | | PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("^ ~") PORT_CODE(KEYCODE_TILDE) PORT_CHAR('^') PORT_CHAR('~') PORT_CHAR(0x1e) |
| 269 | | PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Home") PORT_CODE(KEYCODE_HOME) |
| 270 | | PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Space") PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ') |
| 271 | | PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Return") PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13) |
| 272 | | PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("C") PORT_CODE(KEYCODE_C) PORT_CHAR('c') PORT_CHAR('C') PORT_CHAR(0x03) |
| 273 | | PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("A") PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A') PORT_CHAR(0x01) |
| 274 | | PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Q") PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q') PORT_CHAR(0x16) |
| 275 | | PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("1 !") PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!') |
| 276 | | |
| 277 | | PORT_START("LINE.2") |
| 278 | | PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Caps") PORT_CODE(KEYCODE_CAPSLOCK) |
| 279 | | PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_UNUSED) |
| 280 | | PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Z") PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z') PORT_CHAR(0x1a) |
| 281 | | PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("] }") PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR(']') PORT_CHAR('}') PORT_CHAR(0x1d) |
| 282 | | PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("V") PORT_CODE(KEYCODE_V) PORT_CHAR('v') PORT_CHAR('V') PORT_CHAR(0x16) |
| 283 | | PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("S") PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S') PORT_CHAR(0x13) |
| 284 | | PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("W") PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W') PORT_CHAR(0x17) |
| 285 | | PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("2 \"") PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('\"') |
| 286 | | |
| 287 | | PORT_START("LINE.3") |
| 288 | | PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Del") PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8) PORT_CHAR(0x12) |
| 289 | | PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_UNUSED) |
| 290 | | PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("ESC") PORT_CODE(KEYCODE_ESC) PORT_CHAR(0x1b) |
| 291 | | PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("[ {") PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('[') PORT_CHAR('{') PORT_CHAR(0x1b) |
| 292 | | PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("B") PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B') PORT_CHAR(0x02) |
| 293 | | PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("D") PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D') PORT_CHAR(0x04) |
| 294 | | PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("E") PORT_CODE(KEYCODE_E) PORT_CHAR('e') PORT_CHAR('E') PORT_CHAR(0x05) |
| 295 | | PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("3 #") PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#') |
| 296 | | |
| 297 | | PORT_START("LINE.4") |
| 298 | | PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_UNUSED) |
| 299 | | PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_UNUSED) |
| 300 | | PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Right") PORT_CODE(KEYCODE_RIGHT) |
| 301 | | PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("\\ |") PORT_CODE(KEYCODE_BACKSLASH) PORT_CHAR('\\') PORT_CHAR('|') PORT_CHAR(0x1c) |
| 302 | | PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("N") PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N') PORT_CHAR(0x0e) |
| 303 | | PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F") PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F') PORT_CHAR(0x06) |
| 304 | | PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("R") PORT_CODE(KEYCODE_R) PORT_CHAR('r') PORT_CHAR('R') PORT_CHAR(0x12) |
| 305 | | PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("4 $") PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR('$') |
| 306 | | |
| 307 | | PORT_START("LINE.5") |
| 308 | | PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_UNUSED) |
| 309 | | PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F1") PORT_CODE(KEYCODE_F1) |
| 310 | | PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Left") PORT_CODE(KEYCODE_LEFT) |
| 311 | | PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNUSED) |
| 312 | | PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("M") PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M') PORT_CHAR(0x0d) |
| 313 | | PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("G") PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G') PORT_CHAR(0x07) |
| 314 | | PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("T") PORT_CODE(KEYCODE_T) PORT_CHAR('t') PORT_CHAR('T') PORT_CHAR(0x14) |
| 315 | | PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("5 %") PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('%') |
| 316 | | |
| 317 | | PORT_START("LINE.6") |
| 318 | | PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_UNUSED) |
| 319 | | PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F2") PORT_CODE(KEYCODE_F2) |
| 320 | | PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("@ `") PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('@') PORT_CHAR('`') |
| 321 | | PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("X") PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X') PORT_CHAR(0x18) |
| 322 | | PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME(", <") PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<') |
| 323 | | PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("H") PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H') PORT_CHAR(0x08) |
| 324 | | PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Y") PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y') PORT_CHAR(0x19) |
| 325 | | PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("6 &") PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('&') |
| 326 | | |
| 327 | | PORT_START("LINE.7") |
| 328 | | PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_UNUSED) |
| 329 | | PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F3") PORT_CODE(KEYCODE_F3) |
| 330 | | PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Up") PORT_CODE(KEYCODE_UP) |
| 331 | | PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("P") PORT_CODE(KEYCODE_P) PORT_CHAR('p') PORT_CHAR('P') PORT_CHAR(0x10) |
| 332 | | PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME(". >") PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>') |
| 333 | | PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("J") PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J') PORT_CHAR(0x0a) |
| 334 | | PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("U") PORT_CODE(KEYCODE_U) PORT_CHAR('u') PORT_CHAR('U') PORT_CHAR(0x15) |
| 335 | | PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("7 '") PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('\'') |
| 336 | | |
| 337 | | PORT_START("LINE.8") |
| 338 | | PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_UNUSED) |
| 339 | | PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F4") PORT_CODE(KEYCODE_F4) |
| 340 | | PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Down") PORT_CODE(KEYCODE_DOWN) |
| 341 | | PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME(": *") PORT_CODE(KEYCODE_QUOTE) PORT_CHAR(':') PORT_CHAR('*') |
| 342 | | PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("/ ?") PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?') |
| 343 | | PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("K") PORT_CODE(KEYCODE_K) PORT_CHAR('k') PORT_CHAR('K') PORT_CHAR(0x0b) |
| 344 | | PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("I") PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I') PORT_CHAR(0x09) |
| 345 | | PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("8 (") PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('(') |
| 346 | | |
| 347 | | PORT_START("LINE.9") |
| 348 | | PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_START) PORT_NAME("IPL") PORT_CODE(KEYCODE_END) |
| 349 | | PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F5") PORT_CODE(KEYCODE_F5) |
| 350 | | PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("- =") PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('=') |
| 351 | | PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("0") PORT_CODE(KEYCODE_0) PORT_CHAR('0') |
| 352 | | PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("; +") PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR('+') |
| 353 | | PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("L") PORT_CODE(KEYCODE_L) PORT_CHAR('l') PORT_CHAR('L') PORT_CHAR(0x0c) |
| 354 | | PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("O") PORT_CODE(KEYCODE_O) PORT_CHAR('o') PORT_CHAR('O') PORT_CHAR(0x0e) |
| 355 | | PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("9 )") PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR(')') |
| 356 | | |
| 357 | 344 | PORT_START("JOY") |
| 358 | 345 | PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) |
| 359 | 346 | PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) |