trunk/hash/vboy.xml
r18184 | r18185 | |
65 | 65 | <publisher>Nintendo</publisher> |
66 | 66 | <info name="serial" value="VUE-VVGE-USA"/> |
67 | 67 | <info name="release" value="199511xx"/> |
68 | | <sharedfeat name="eeprom" value="Yes"/> |
69 | 68 | <part name="cart" interface="vboy_cart"> |
70 | 69 | <dataarea name="rom" size="2097152"> |
71 | 70 | <rom name="golf (usa).bin" size="2097152" crc="2199af41" sha1="23ce3c174789cdd306497d86cb2c4e76ba8b06e5" offset="000000" /> |
72 | 71 | </dataarea> |
| 72 | <dataarea name="eeprom" size="0x10000"> |
| 73 | </dataarea> |
73 | 74 | </part> |
74 | 75 | </software> |
75 | 76 | |
r18184 | r18185 | |
278 | 279 | <publisher>Nintendo</publisher> |
279 | 280 | <info name="serial" value="VUE-VTBJ-JPN, VUE-VTBJ-USA"/> |
280 | 281 | <info name="release" value="19950721 (JPN), 19950814 (USA)"/> |
281 | | <sharedfeat name="eeprom" value="Yes"/> |
282 | 282 | <part name="cart" interface="vboy_cart"> |
283 | 283 | <dataarea name="rom" size="2097152"> |
284 | 284 | <rom name="teleroboxer (japan, usa).bin" size="1048576" crc="36103000" sha1="c59e020f9674774c5cbc022317ebba0eb1d744f7" offset="000000" /> |
285 | 285 | <rom size="1048576" offset="0x100000" loadflag="reload" /> |
286 | 286 | </dataarea> |
| 287 | <dataarea name="eeprom" size="0x10000"> |
| 288 | </dataarea> |
287 | 289 | </part> |
288 | 290 | </software> |
289 | 291 | |
r18184 | r18185 | |
326 | 328 | <publisher>Pack-In-Video</publisher> |
327 | 329 | <info name="serial" value="VUE-VVFJ-JPN"/> |
328 | 330 | <info name="release" value="19951016"/> |
329 | | <sharedfeat name="eeprom" value="Yes"/> |
330 | 331 | <part name="cart" interface="vboy_cart"> |
331 | 332 | <dataarea name="rom" size="2097152"> |
332 | 333 | <rom name="virtual fishing (japan).bin" size="1048576" crc="526cc969" sha1="583b409b7215159219d08e789db46140062095f2" offset="000000" /> |
333 | 334 | <rom size="1048576" offset="0x100000" loadflag="reload" /> |
334 | 335 | </dataarea> |
| 336 | <dataarea name="eeprom" size="0x10000"> |
| 337 | </dataarea> |
335 | 338 | </part> |
336 | 339 | </software> |
337 | 340 | |
r18184 | r18185 | |
372 | 375 | <publisher>T&E Soft</publisher> |
373 | 376 | <info name="serial" value="VUE-VVGJ-JPN"/> |
374 | 377 | <info name="release" value="19950811"/> |
375 | | <sharedfeat name="eeprom" value="Yes"/> |
376 | 378 | <part name="cart" interface="vboy_cart"> |
377 | 379 | <dataarea name="rom" size="2097152"> |
378 | 380 | <rom name="t&e virtual golf (japan).bin" size="2097152" crc="6ba07915" sha1="c595285d42c69f14b2b418c1edfbe4a7f9a624b6" offset="000000" /> |
379 | 381 | </dataarea> |
| 382 | <dataarea name="eeprom" size="0x10000"> |
| 383 | </dataarea> |
380 | 384 | </part> |
381 | 385 | </software> |
382 | 386 | |
r18184 | r18185 | |
449 | 453 | <publisher>Nintendo</publisher> |
450 | 454 | <info name="serial" value="VUE-VWCJ-JPN, VUE-VWCJ-USA"/> |
451 | 455 | <info name="release" value="19951201 (JPN), 199511xx (USA)"/> |
452 | | <sharedfeat name="eeprom" value="Yes"/> |
453 | 456 | <part name="cart" interface="vboy_cart"> |
454 | 457 | <dataarea name="rom" size="2097152"> |
455 | 458 | <rom name="virtual boy wario land (japan, usa).bin" size="2097152" crc="133e9372" sha1="274c328fbd904f20e69172ab826bf8f94ced1bdb" offset="000000" /> |
456 | 459 | </dataarea> |
| 460 | <dataarea name="eeprom" size="0x10000"> |
| 461 | </dataarea> |
457 | 462 | </part> |
458 | 463 | </software> |
459 | 464 | |
r18184 | r18185 | |
464 | 469 | <publisher>Ocean</publisher> |
465 | 470 | <info name="serial" value="VUE-VWEE-USA"/> |
466 | 471 | <info name="release" value="19951221"/> |
467 | | <sharedfeat name="eeprom" value="No"/> |
468 | 472 | <part name="cart" interface="vboy_cart"> |
469 | 473 | <dataarea name="rom" size="2097152"> |
470 | 474 | <rom name="waterworld (usa).bin" size="2097152" crc="82a95e51" sha1="dcc46484bd0acab0ac1ea178f425a0f5ccfb8dc2" offset="000000" /> |
trunk/src/mess/drivers/vboy.c
r18184 | r18185 | |
1334 | 1334 | GFXDECODE_ENTRY( "pcg", 0x00000, vboy_pcg_8x8, 0, 1 ) |
1335 | 1335 | GFXDECODE_END |
1336 | 1336 | |
1337 | | struct vboy_pcb |
1338 | | { |
1339 | | const char *pcb_name; |
1340 | | int pcb_id; |
1341 | | }; |
1342 | | |
1343 | 1337 | READ32_MEMBER(vboy_state::sram_r) |
1344 | 1338 | { |
1345 | 1339 | return m_vboy_sram[offset]; |
r18184 | r18185 | |
1350 | 1344 | COMBINE_DATA(&m_vboy_sram[offset]); |
1351 | 1345 | } |
1352 | 1346 | |
1353 | | #define VBOY_CHIP_NONE 0 |
1354 | | #define VBOY_CHIP_SRAM 1 |
1355 | 1347 | |
1356 | | static const vboy_pcb pcb_list[] = |
1357 | | { |
1358 | | {"No", VBOY_CHIP_NONE}, |
1359 | | {"Yes", VBOY_CHIP_SRAM} |
1360 | | }; |
1361 | | |
1362 | | |
1363 | | static int vboy_get_pcb_id(const char *pcb) |
1364 | | { |
1365 | | int i; |
1366 | | |
1367 | | for (i = 0; i < ARRAY_LENGTH(pcb_list); i++) |
1368 | | { |
1369 | | if (!mame_stricmp(pcb_list[i].pcb_name, pcb)) |
1370 | | return pcb_list[i].pcb_id; |
1371 | | } |
1372 | | |
1373 | | return 0; |
1374 | | } |
1375 | | |
1376 | | |
1377 | 1348 | static DEVICE_IMAGE_LOAD( vboy_cart ) |
1378 | 1349 | { |
1379 | 1350 | vboy_state *state = image.device().machine().driver_data<vboy_state>(); |
r18184 | r18185 | |
1389 | 1360 | } |
1390 | 1361 | else |
1391 | 1362 | { |
1392 | | const char *pcb_name; |
1393 | 1363 | cart_size = image.get_software_region_length("rom"); |
1394 | 1364 | memcpy(ROM, image.get_software_region("rom"), cart_size); |
1395 | 1365 | |
1396 | | pcb_name = image.get_feature("eeprom"); |
1397 | | if (pcb_name == NULL) |
1398 | | chip = 0; |
1399 | | else |
1400 | | chip = vboy_get_pcb_id(pcb_name); |
1401 | | |
| 1366 | UINT8 *tmp_eeprom = image.get_software_region("eeprom"); |
| 1367 | if (tmp_eeprom) |
| 1368 | chip = 1; |
1402 | 1369 | } |
1403 | 1370 | |
1404 | | if(chip & VBOY_CHIP_SRAM) |
| 1371 | if (chip) |
1405 | 1372 | { |
1406 | 1373 | state->m_nvptr = (UINT8 *)&state->m_vboy_sram; |
1407 | 1374 | |