hash/spectrum.xml
| r0 | r8167 | |
| 1 | <?xml version="1.0"?> |
| 2 | <!DOCTYPE softwarelist SYSTEM "softwarelist.dtd"> |
| 3 | <softwarelist name="spectrum" description="ZX Spectrum cartridges"> |
| 4 | <software name="cookie"> |
| 5 | <description>Cookie</description> |
| 6 | <year>1983</year> |
| 7 | <publisher>Sinclair Research</publisher> |
| 8 | <part name="cart" interface="spectrum_cart"> |
| 9 | <dataarea name="rom" size="16384"> |
| 10 | <rom name="cookie.rom" size="16384" crc="7108e9a8" sha1="fa5753133daa2a6b122948adf604c12ab70e2ce9" offset="000000" /> |
| 11 | </dataarea> |
| 12 | </part> |
| 13 | </software> |
| 14 | <software name="jetpac"> |
| 15 | <description>Jet Pac</description> |
| 16 | <year>1983</year> |
| 17 | <publisher>Sinclair Research</publisher> |
| 18 | <part name="cart" interface="spectrum_cart"> |
| 19 | <dataarea name="rom" size="16384"> |
| 20 | <rom name="jetpac.rom" size="16384" crc="1d194e5b" sha1="9745d1ee713b2c6d319752aee523105905cbf562" offset="000000" /> |
| 21 | </dataarea> |
| 22 | </part> |
| 23 | </software> |
| 24 | <software name="pssst"> |
| 25 | <description>Pssst</description> |
| 26 | <year>1983</year> |
| 27 | <publisher>Sinclair Research</publisher> |
| 28 | <part name="cart" interface="spectrum_cart"> |
| 29 | <dataarea name="rom" size="16384"> |
| 30 | <rom name="pssst.rom" size="16384" crc="464cd4f6" sha1="cebafa93c110eabb4b343e7a34175d77d0fd0797" offset="000000" /> |
| 31 | </dataarea> |
| 32 | </part> |
| 33 | </software> |
| 34 | <software name="tranzam"> |
| 35 | <description>Tranz Am</description> |
| 36 | <year>1983</year> |
| 37 | <publisher>Sinclair Research</publisher> |
| 38 | <part name="cart" interface="spectrum_cart"> |
| 39 | <dataarea name="rom" size="16384"> |
| 40 | <rom name="tranzam.rom" size="16384" crc="03da9be7" sha1="caf4441730a7032375d82edf385d5ac7f65c1dcd" offset="000000" /> |
| 41 | </dataarea> |
| 42 | </part> |
| 43 | </software> |
| 44 | </softwarelist> |
src/mess/drivers/spectrum.c
| r8166 | r8167 | |
| 675 | 675 | (cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED) |
| 676 | 676 | }; |
| 677 | 677 | |
| 678 | static DEVICE_IMAGE_LOAD( spectrum_cart ) |
| 679 | { |
| 680 | UINT32 filesize; |
| 681 | |
| 682 | if (image_software_entry(image) == NULL) |
| 683 | { |
| 684 | filesize = image_length(image); |
| 685 | |
| 686 | if (filesize != 0x4000 ) |
| 687 | { |
| 688 | image_seterror(image, IMAGE_ERROR_UNSPECIFIED, "Incorrect or not support cartridge size"); |
| 689 | return INIT_FAIL; |
| 690 | } |
| 691 | |
| 692 | if (image_fread(image, memory_region(image->machine, "maincpu"), filesize) != filesize) |
| 693 | { |
| 694 | image_seterror(image, IMAGE_ERROR_UNSPECIFIED, "Error loading file"); |
| 695 | return INIT_FAIL; |
| 696 | } |
| 697 | } |
| 698 | else |
| 699 | { |
| 700 | filesize = image_get_software_region_length(image, "rom"); |
| 701 | memcpy(memory_region(image->machine, "maincpu"), image_get_software_region(image, "rom"), filesize); |
| 702 | } |
| 703 | |
| 704 | return INIT_PASS; |
| 705 | } |
| 706 | |
| 678 | 707 | MACHINE_DRIVER_START( spectrum_common ) |
| 679 | 708 | |
| 680 | 709 | MDRV_DRIVER_DATA( spectrum_state ) |
| r8166 | r8167 | |
| 718 | 747 | MDRV_CARTSLOT_ADD("cart") |
| 719 | 748 | MDRV_CARTSLOT_EXTENSION_LIST("rom") |
| 720 | 749 | MDRV_CARTSLOT_NOT_MANDATORY |
| 750 | MDRV_CARTSLOT_LOAD(spectrum_cart) |
| 751 | MDRV_CARTSLOT_INTERFACE("spectrum_cart") |
| 752 | MDRV_SOFTWARE_LIST_ADD("spectrum") |
| 721 | 753 | MACHINE_DRIVER_END |
| 722 | 754 | |
| 723 | 755 | MACHINE_DRIVER_START( spectrum ) |