trunk/src/mame/drivers/taitogn.c
| r23684 | r23685 | |
| 795 | 795 | ROM_START(raycris) |
| 796 | 796 | TAITOGNET_BIOS |
| 797 | 797 | |
| 798 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 798 | DISK_REGION( "pccard:ataflash" ) |
| 799 | 799 | DISK_IMAGE( "raycris", 0, SHA1(015cb0e6c4421cc38809de28c4793b4491386aee)) |
| 800 | 800 | ROM_END |
| 801 | 801 | |
| r23684 | r23685 | |
| 803 | 803 | ROM_START(gobyrc) |
| 804 | 804 | TAITOGNET_BIOS |
| 805 | 805 | |
| 806 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 806 | DISK_REGION( "pccard:ataflash" ) |
| 807 | 807 | DISK_IMAGE( "gobyrc", 0, SHA1(0bee1f495fc8b033fd56aad9260ae94abb35eb58)) |
| 808 | 808 | ROM_END |
| 809 | 809 | |
| 810 | 810 | ROM_START(rcdego) |
| 811 | 811 | TAITOGNET_BIOS |
| 812 | 812 | |
| 813 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 813 | DISK_REGION( "pccard:ataflash" ) |
| 814 | 814 | DISK_IMAGE( "rcdego", 0, SHA1(9e177f2a3954cfea0c8c5a288e116324d10f5dd1)) |
| 815 | 815 | ROM_END |
| 816 | 816 | |
| 817 | 817 | ROM_START(chaoshea) |
| 818 | 818 | TAITOGNET_BIOS |
| 819 | 819 | |
| 820 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 820 | DISK_REGION( "pccard:ataflash" ) |
| 821 | 821 | DISK_IMAGE( "chaosheat", 0, SHA1(c13b7d7025eee05f1f696d108801c7bafb3f1356)) |
| 822 | 822 | ROM_END |
| 823 | 823 | |
| 824 | 824 | ROM_START(chaosheaj) |
| 825 | 825 | TAITOGNET_BIOS |
| 826 | 826 | |
| 827 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 827 | DISK_REGION( "pccard:ataflash" ) |
| 828 | 828 | DISK_IMAGE( "chaosheatj", 0, SHA1(2f211ac08675ea8ec33c7659a13951db94eaa627)) |
| 829 | 829 | ROM_END |
| 830 | 830 | |
| r23684 | r23685 | |
| 832 | 832 | ROM_START(flipmaze) |
| 833 | 833 | TAITOGNET_BIOS |
| 834 | 834 | |
| 835 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 835 | DISK_REGION( "pccard:ataflash" ) |
| 836 | 836 | DISK_IMAGE( "flipmaze", 0, SHA1(423b6c06f4f2d9a608ce20b61a3ac11687d22c40) ) |
| 837 | 837 | ROM_END |
| 838 | 838 | |
| r23684 | r23685 | |
| 840 | 840 | ROM_START(spuzbobl) |
| 841 | 841 | TAITOGNET_BIOS |
| 842 | 842 | |
| 843 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 843 | DISK_REGION( "pccard:ataflash" ) |
| 844 | 844 | DISK_IMAGE( "spuzbobl", 0, SHA1(1b1c72fb7e5656021485fefaef8f2ba48e2b4ea8)) |
| 845 | 845 | ROM_END |
| 846 | 846 | |
| 847 | 847 | ROM_START(spuzboblj) |
| 848 | 848 | TAITOGNET_BIOS |
| 849 | 849 | |
| 850 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 850 | DISK_REGION( "pccard:ataflash" ) |
| 851 | 851 | DISK_IMAGE( "spuzbobj", 0, SHA1(dac433cf88543d2499bf797d7406b82ae4338726)) |
| 852 | 852 | ROM_END |
| 853 | 853 | |
| 854 | 854 | ROM_START(soutenry) |
| 855 | 855 | TAITOGNET_BIOS |
| 856 | 856 | |
| 857 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 857 | DISK_REGION( "pccard:ataflash" ) |
| 858 | 858 | DISK_IMAGE( "soutenry", 0, SHA1(9204d0be833d29f37b8cd3fbdf09da69b622254b)) |
| 859 | 859 | ROM_END |
| 860 | 860 | |
| 861 | 861 | ROM_START(shanghss) |
| 862 | 862 | TAITOGNET_BIOS |
| 863 | 863 | |
| 864 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 864 | DISK_REGION( "pccard:ataflash" ) |
| 865 | 865 | DISK_IMAGE( "shanghss", 0, SHA1(7964f71ec5c81d2120d83b63a82f97fbad5a8e6d)) |
| 866 | 866 | ROM_END |
| 867 | 867 | |
| 868 | 868 | ROM_START(sianniv) |
| 869 | 869 | TAITOGNET_BIOS |
| 870 | 870 | |
| 871 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 871 | DISK_REGION( "pccard:ataflash" ) |
| 872 | 872 | DISK_IMAGE( "sianniv", 0, SHA1(1e08b813190a9e1baf29bc16884172d6c8da7ae3)) |
| 873 | 873 | ROM_END |
| 874 | 874 | |
| 875 | 875 | ROM_START(kollon) |
| 876 | 876 | TAITOGNET_BIOS |
| 877 | 877 | |
| 878 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 878 | DISK_REGION( "pccard:ataflash" ) |
| 879 | 879 | DISK_IMAGE( "kollon", 0, SHA1(d8ea5b5b0ee99004b16ef89883e23de6c7ddd7ce)) |
| 880 | 880 | ROM_END |
| 881 | 881 | |
| r23684 | r23685 | |
| 883 | 883 | TAITOGNET_BIOS |
| 884 | 884 | ROM_DEFAULT_BIOS( "v2" ) |
| 885 | 885 | |
| 886 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 886 | DISK_REGION( "pccard:ataflash" ) |
| 887 | 887 | DISK_IMAGE( "kollonc", 0, SHA1(ce62181659701cfb8f7c564870ab902be4d8e060)) /* Original Taito Compact Flash version */ |
| 888 | 888 | ROM_END |
| 889 | 889 | |
| 890 | 890 | ROM_START(shikigam) |
| 891 | 891 | TAITOGNET_BIOS |
| 892 | 892 | |
| 893 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 893 | DISK_REGION( "pccard:ataflash" ) |
| 894 | 894 | DISK_IMAGE( "shikigam", 0, SHA1(fa49a0bc47f5cb7c30d7e49e2c3696b21bafb840)) |
| 895 | 895 | ROM_END |
| 896 | 896 | |
| r23684 | r23685 | |
| 900 | 900 | ROM_START(otenamih) |
| 901 | 901 | TAITOGNET_BIOS |
| 902 | 902 | |
| 903 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 903 | DISK_REGION( "pccard:ataflash" ) |
| 904 | 904 | DISK_IMAGE( "otenamih", 0, SHA1(b3babe3a1876c43745616ee1e7d87276ce7dad0b) ) |
| 905 | 905 | ROM_END |
| 906 | 906 | |
| r23684 | r23685 | |
| 908 | 908 | ROM_START(psyvaria) |
| 909 | 909 | TAITOGNET_BIOS |
| 910 | 910 | |
| 911 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 911 | DISK_REGION( "pccard:ataflash" ) |
| 912 | 912 | DISK_IMAGE( "psyvaria", 0, SHA1(b981a42a10069322b77f7a268beae1d409b4156d)) |
| 913 | 913 | ROM_END |
| 914 | 914 | |
| 915 | 915 | ROM_START(psyvarrv) |
| 916 | 916 | TAITOGNET_BIOS |
| 917 | 917 | |
| 918 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 918 | DISK_REGION( "pccard:ataflash" ) |
| 919 | 919 | DISK_IMAGE( "psyvarrv", 0, SHA1(277c4f52502bcd7acc1889840962ec80d56465f3)) |
| 920 | 920 | ROM_END |
| 921 | 921 | |
| 922 | 922 | ROM_START(zooo) |
| 923 | 923 | TAITOGNET_BIOS |
| 924 | 924 | |
| 925 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 925 | DISK_REGION( "pccard:ataflash" ) |
| 926 | 926 | DISK_IMAGE( "zooo", 0, SHA1(e275b3141b2bc49142990e6b497a5394a314a30b)) |
| 927 | 927 | ROM_END |
| 928 | 928 | |
| 929 | 929 | ROM_START(zokuoten) |
| 930 | 930 | TAITOGNET_BIOS |
| 931 | 931 | |
| 932 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 932 | DISK_REGION( "pccard:ataflash" ) |
| 933 | 933 | DISK_IMAGE( "zokuoten", 0, SHA1(5ce13db00518f96af64935176c71ec68d2a51938)) |
| 934 | 934 | ROM_END |
| 935 | 935 | |
| r23684 | r23685 | |
| 937 | 937 | TAITOGNET_BIOS |
| 938 | 938 | ROM_DEFAULT_BIOS( "v2" ) |
| 939 | 939 | |
| 940 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 940 | DISK_REGION( "pccard:ataflash" ) |
| 941 | 941 | DISK_IMAGE( "otenamhf", 0, SHA1(5b15c33bf401e5546d78e905f538513d6ffcf562)) /* Original Taito Compact Flash version */ |
| 942 | 942 | ROM_END |
| 943 | 943 | |
| r23684 | r23685 | |
| 949 | 949 | ROM_START(nightrai) |
| 950 | 950 | TAITOGNET_BIOS |
| 951 | 951 | |
| 952 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 952 | DISK_REGION( "pccard:ataflash" ) |
| 953 | 953 | DISK_IMAGE( "nightrai", 0, SHA1(74d0458f851cbcf10453c5cc4c47bb4388244cdf)) |
| 954 | 954 | ROM_END |
| 955 | 955 | |
| 956 | 956 | ROM_START(otenki) |
| 957 | 957 | TAITOGNET_BIOS |
| 958 | 958 | |
| 959 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 959 | DISK_REGION( "pccard:ataflash" ) |
| 960 | 960 | DISK_IMAGE( "otenki", 0, SHA1(7e745ca4c4570215f452fd09cdd56a42c39caeba)) |
| 961 | 961 | ROM_END |
| 962 | 962 | |
| r23684 | r23685 | |
| 965 | 965 | ROM_START(usagi) |
| 966 | 966 | TAITOGNET_BIOS |
| 967 | 967 | |
| 968 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 968 | DISK_REGION( "pccard:ataflash" ) |
| 969 | 969 | DISK_IMAGE( "usagi", 0, SHA1(edf9dd271957f6cb06feed238ae21100514bef8e)) |
| 970 | 970 | ROM_END |
| 971 | 971 | |
| 972 | 972 | ROM_START(mahjngoh) |
| 973 | 973 | TAITOGNET_BIOS |
| 974 | 974 | |
| 975 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 975 | DISK_REGION( "pccard:ataflash" ) |
| 976 | 976 | DISK_IMAGE( "mahjngoh", 0, SHA1(3ef1110d15582d7c0187438d7ad61765dd121cff)) |
| 977 | 977 | ROM_END |
| 978 | 978 | |
| 979 | 979 | ROM_START(shangtou) |
| 980 | 980 | TAITOGNET_BIOS |
| 981 | 981 | |
| 982 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 982 | DISK_REGION( "pccard:ataflash" ) |
| 983 | 983 | DISK_IMAGE( "shanghaito", 0, SHA1(9901db5a9aae77e3af4157aa2c601eaab5b7ca85) ) |
| 984 | 984 | ROM_END |
| 985 | 985 | |
| r23684 | r23685 | |
| 989 | 989 | ROM_START(xiistag) |
| 990 | 990 | TAITOGNET_BIOS |
| 991 | 991 | |
| 992 | | DISK_REGION( "pccard:ataflash:card:0:hdd" ) |
| 992 | DISK_REGION( "pccard:ataflash" ) |
| 993 | 993 | DISK_IMAGE( "xiistag", 0, SHA1(586e37c8d926293b2bd928e5f0d693910cfb05a2)) |
| 994 | 994 | ROM_END |
| 995 | 995 | |
trunk/src/emu/machine/idehd.c
| r23684 | r23685 | |
| 77 | 77 | // ide_device_interface - constructor |
| 78 | 78 | //------------------------------------------------- |
| 79 | 79 | |
| 80 | | ide_device_interface::ide_device_interface(const machine_config &mconfig, device_t &device) |
| 81 | | : device_slot_card_interface(mconfig, device), |
| 80 | ide_device_interface::ide_device_interface(const machine_config &mconfig, device_t &device) : |
| 82 | 81 | m_master_password(NULL), |
| 83 | 82 | m_user_password(NULL), |
| 84 | | m_irq_handler(*this), |
| 85 | | m_dmarq_handler(*this) |
| 83 | m_csel(0), |
| 84 | m_dasp(0), |
| 85 | m_irq_handler(device), |
| 86 | m_dmarq_handler(device) |
| 86 | 87 | { |
| 87 | 88 | } |
| 88 | 89 | |
| r23684 | r23685 | |
| 104 | 105 | |
| 105 | 106 | ide_mass_storage_device::ide_mass_storage_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock,const char *shortname, const char *source) |
| 106 | 107 | : device_t(mconfig, type, name, tag, owner, clock, shortname, source), |
| 107 | | ide_device_interface(mconfig, *this) |
| 108 | ide_device_interface(mconfig, *this), |
| 109 | device_slot_card_interface(mconfig, *this) |
| 108 | 110 | { |
| 109 | 111 | } |
| 110 | 112 | |
| r23684 | r23685 | |
| 1318 | 1320 | { |
| 1319 | 1321 | } |
| 1320 | 1322 | |
| 1321 | | ide_hdd_device::ide_hdd_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) : |
| 1322 | | ide_mass_storage_device(mconfig, type, name, tag, owner, clock, shortname, source) |
| 1323 | ide_hdd_device::ide_hdd_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) |
| 1324 | : ide_mass_storage_device(mconfig, type, name, tag, owner, clock, shortname, source) |
| 1323 | 1325 | { |
| 1324 | 1326 | } |
| 1325 | 1327 | |
trunk/src/emu/machine/ataflash.c
| r23684 | r23685 | |
| 3 | 3 | const device_type ATA_FLASH_PCCARD = &device_creator<ata_flash_pccard_device>; |
| 4 | 4 | |
| 5 | 5 | ata_flash_pccard_device::ata_flash_pccard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : |
| 6 | | device_t(mconfig, ATA_FLASH_PCCARD, "ATA Flash PCCARD", tag, owner, clock, "ataflash", __FILE__), |
| 7 | | device_slot_card_interface(mconfig, *this), |
| 8 | | m_card(*this,"card") |
| 6 | ide_hdd_device(mconfig, ATA_FLASH_PCCARD, "ATA Flash PCCARD", tag, owner, clock, "ataflash", __FILE__) |
| 9 | 7 | { |
| 10 | 8 | } |
| 11 | 9 | |
| 12 | | static MACHINE_CONFIG_FRAGMENT( ata_flash_pccard_device ) |
| 13 | | MCFG_IDE_CONTROLLER_ADD( "card", ide_devices, "hdd", NULL, true) |
| 14 | | MACHINE_CONFIG_END |
| 15 | | |
| 16 | | machine_config_constructor ata_flash_pccard_device::device_mconfig_additions() const |
| 10 | void ata_flash_pccard_device::device_reset() |
| 17 | 11 | { |
| 18 | | return MACHINE_CONFIG_NAME( ata_flash_pccard_device ); |
| 19 | | } |
| 12 | ide_hdd_device::device_reset(); |
| 20 | 13 | |
| 21 | | void ata_flash_pccard_device::device_start() |
| 22 | | { |
| 23 | 14 | UINT32 metalength; |
| 24 | 15 | memset(m_cis, 0xff, 512); |
| 25 | 16 | |
| 26 | | astring drive_tag; |
| 27 | | subtag(drive_tag, "card:0:hdd"); |
| 17 | if (m_handle != NULL) |
| 18 | m_handle->read_metadata(PCMCIA_CIS_METADATA_TAG, 0, m_cis, 512, metalength); |
| 28 | 19 | |
| 29 | | m_chd_file = get_disk_handle(machine(), drive_tag); |
| 30 | | if(m_chd_file != NULL) |
| 31 | | { |
| 32 | | m_chd_file->read_metadata(PCMCIA_CIS_METADATA_TAG, 0, m_cis, 512, metalength); |
| 33 | | } |
| 34 | | } |
| 35 | | |
| 36 | | void ata_flash_pccard_device::device_reset_after_children() |
| 37 | | { |
| 38 | 20 | m_locked = 0x1ff; |
| 39 | | m_card->ide_set_gnet_readlock(0, 1); |
| 21 | m_gnetreadlock = 1; |
| 40 | 22 | } |
| 41 | 23 | |
| 42 | 24 | READ16_MEMBER( ata_flash_pccard_device::read_memory ) |
| 43 | 25 | { |
| 44 | 26 | if(offset <= 7) |
| 45 | 27 | { |
| 46 | | return m_card->read_cs0(space, offset, mem_mask); |
| 28 | return read_cs0(space, offset, mem_mask); |
| 47 | 29 | } |
| 48 | 30 | else if(offset <= 15) |
| 49 | 31 | { |
| 50 | | return m_card->read_cs1(space, offset & 7, mem_mask); |
| 32 | return read_cs1(space, offset & 7, mem_mask); |
| 51 | 33 | } |
| 52 | 34 | else |
| 53 | 35 | { |
| r23684 | r23685 | |
| 59 | 41 | { |
| 60 | 42 | if(offset <= 7) |
| 61 | 43 | { |
| 62 | | m_card->write_cs0(space, offset, data, mem_mask); |
| 44 | write_cs0(space, offset, data, mem_mask); |
| 63 | 45 | } |
| 64 | 46 | else if( offset <= 15) |
| 65 | 47 | { |
| 66 | | m_card->write_cs1(space, offset & 7, data, mem_mask); |
| 48 | write_cs1(space, offset & 7, data, mem_mask); |
| 67 | 49 | } |
| 68 | 50 | } |
| 69 | 51 | |
| r23684 | r23685 | |
| 93 | 75 | |
| 94 | 76 | WRITE16_MEMBER( ata_flash_pccard_device::write_reg ) |
| 95 | 77 | { |
| 96 | | if(offset >= 0x280 && offset <= 0x288 && m_chd_file != NULL) |
| 78 | if(offset >= 0x280 && offset <= 0x288 && m_handle != NULL) |
| 97 | 79 | { |
| 98 | | dynamic_buffer key(m_chd_file->hunk_bytes()); |
| 99 | | m_chd_file->read_metadata(HARD_DISK_KEY_METADATA_TAG, 0, key); |
| 80 | dynamic_buffer key(m_handle->hunk_bytes()); |
| 81 | m_handle->read_metadata(HARD_DISK_KEY_METADATA_TAG, 0, key); |
| 100 | 82 | |
| 101 | 83 | UINT8 v = data; |
| 102 | 84 | int pos = offset - 0x280; |
| r23684 | r23685 | |
| 113 | 95 | |
| 114 | 96 | if (!m_locked) |
| 115 | 97 | { |
| 116 | | m_card->ide_set_gnet_readlock(0, 0); |
| 98 | m_gnetreadlock = 0; |
| 117 | 99 | } |
| 118 | 100 | } |
| 119 | 101 | } |