trunk/hash/dmv.xml
| r241655 | r241656 | |
| 939 | 939 | </part> |
| 940 | 940 | </software> |
| 941 | 941 | |
| 942 | | <software name="drdrawc"> <!-- CP/M-86 --> |
| 943 | | <description>DR Draw (Color)</description> |
| 944 | | <year>1983</year> |
| 945 | | <publisher>Digital Research</publisher> |
| 946 | | <info name="usage" value="Requires K208, K235 and K806" /> |
| 947 | | <part name="flop" interface="floppy_5_25"> |
| 948 | | <dataarea name="flop" size="281212"> |
| 949 | | <rom name="86drdraw.td0" size="281212" crc="451350ce" sha1="3d710e12241850988c88ca8c16528da3cdbdc2fd" offset="0" /> |
| 950 | | </dataarea> |
| 951 | | </part> |
| 952 | | </software> |
| 953 | | |
| 954 | | <software name="drdrawm"> <!-- CP/M-86 --> |
| 955 | | <description>DR Draw (Monochrome)</description> |
| 956 | | <year>1983</year> |
| 957 | | <publisher>Digital Research</publisher> |
| 958 | | <info name="usage" value="Requires CP/M-86" /> |
| 959 | | <part name="flop" interface="floppy_5_25"> |
| 960 | | <dataarea name="flop" size="189140"> |
| 961 | | <rom name="86drmo-m.td0" size="189140" crc="61543ccf" sha1="b8e33a0076bd1568a40d403bb6b391e6c45f9569" offset="0" /> |
| 962 | | </dataarea> |
| 963 | | </part> |
| 964 | | </software> |
| 965 | | |
| 966 | | <software name="tgdemo"> <!-- CP/M-80 --> |
| 967 | | <description>TUTBOGRAPH Demonstration Programs</description> |
| 968 | | <year>198?</year> |
| 969 | | <publisher><unknown></publisher> |
| 970 | | <part name="flop" interface="floppy_5_25"> |
| 971 | | <dataarea name="flop" size="259406"> |
| 972 | | <rom name="80tgraf.td0" size="259406" crc="d22d403f" sha1="8b1182f42faa68c1e5d879e79375683e48dd8bae" offset="0" /> |
| 973 | | </dataarea> |
| 974 | | </part> |
| 975 | | </software> |
| 976 | | |
| 977 | | <software name="cpm86qd"> <!-- CP/M-86 --> |
| 978 | | <description>CP/M-86 1.1 with quad-density FDD support</description> |
| 979 | | <year>1983</year> |
| 980 | | <publisher>NCR Corporation</publisher> |
| 981 | | <part name="flop" interface="floppy_5_25"> |
| 982 | | <dataarea name="flop" size="221628"> |
| 983 | | <rom name="586-4896.td0" size="221628" crc="383d54d3" sha1="be36d161f72c12bf6263f9577d609fd21b352c47" offset="0" /> |
| 984 | | </dataarea> |
| 985 | | </part> |
| 986 | | </software> |
| 987 | | |
| 988 | | <software name="gsx86tst"> <!-- CP/M-86 --> |
| 989 | | <description>GSX-86 Test Suite</description> |
| 990 | | <year>198?</year> |
| 991 | | <publisher><unknown></publisher> |
| 992 | | <part name="flop" interface="floppy_5_25"> |
| 993 | | <dataarea name="flop" size="1128529"> |
| 994 | | <rom name="5-gsx86-test.mfi" size="1128529" crc="353821bc" sha1="ce977ea324ef6faf8245b4e1bcac84f2504f0c37" offset="0" /> |
| 995 | | </dataarea> |
| 996 | | </part> |
| 997 | | </software> |
| 998 | | |
| 999 | | <software name="msdosqd"> <!-- MS-DOS --> |
| 1000 | | <description>MS-DOS v2.11 with quad-density FDD support</description> |
| 1001 | | <year>1983</year> |
| 1002 | | <publisher>Microsoft</publisher> |
| 1003 | | <part name="flop" interface="floppy_5_25"> |
| 1004 | | <dataarea name="flop" size="611287"> |
| 1005 | | <rom name="5_dos_96.mfi" size="611287" crc="c0f9d426" sha1="bccb7e04b320150435ee20e3d563dd163f6ab241" offset="0" /> |
| 1006 | | </dataarea> |
| 1007 | | </part> |
| 1008 | | </software> |
| 1009 | | |
| 1010 | 942 | <software name="dbase238"> <!-- CP/M-80 --> |
| 1011 | 943 | <description>dBASE II v2.38</description> |
| 1012 | 944 | <year>198?</year> |
| r241655 | r241656 | |
| 1111 | 1043 | </part> |
| 1112 | 1044 | </software> |
| 1113 | 1045 | |
| 1114 | | <software name="acad"> <!-- MS-DOS --> |
| 1046 | <software name="acad" supported="no"> <!-- MS-DOS --> <!-- graphic mode doesn't works --> |
| 1115 | 1047 | <description>AutoCAD</description> |
| 1116 | 1048 | <year>1987</year> |
| 1117 | 1049 | <publisher><unknown></publisher> |
| r241655 | r241656 | |
| 1128 | 1060 | </part> |
| 1129 | 1061 | </software> |
| 1130 | 1062 | |
| 1131 | | <software name="acada" cloneof="acad"> <!-- MS-DOS --> |
| 1063 | <software name="acada" cloneof="acad" supported="no"> <!-- MS-DOS --> <!-- graphic mode doesn't works --> |
| 1132 | 1064 | <description>AutoCAD (Alt 1)</description> |
| 1133 | 1065 | <year>1987</year> |
| 1134 | 1066 | <publisher><unknown></publisher> |
| r241655 | r241656 | |
| 1155 | 1087 | </part> |
| 1156 | 1088 | </software> |
| 1157 | 1089 | |
| 1158 | | <software name="acadb" cloneof="acad"> <!-- MS-DOS --> |
| 1090 | <software name="acadb" cloneof="acad" supported="no"> <!-- MS-DOS --> <!-- graphic mode doesn't works --> |
| 1159 | 1091 | <description>AutoCAD (Alt 2)</description> |
| 1160 | 1092 | <year>1987</year> |
| 1161 | 1093 | <publisher><unknown></publisher> |
trunk/src/emu/bus/dmv/dmvbus.h
| r241655 | r241656 | |
| 58 | 58 | |
| 59 | 59 | template<class _Object> static devcb_base &set_prog_read_callback(device_t &device, _Object object) { return downcast<dmvcart_slot_device &>(device).m_prog_read_cb.set_callback(object); } |
| 60 | 60 | template<class _Object> static devcb_base &set_prog_write_callback(device_t &device, _Object object) { return downcast<dmvcart_slot_device &>(device).m_prog_write_cb.set_callback(object); } |
| 61 | | template<class _Object> static devcb_base &set_out_int_callback(device_t &device, _Object object) { return downcast<dmvcart_slot_device &>(device).m_out_int_cb.set_callback(object); } |
| 62 | 61 | template<class _Object> static devcb_base &set_out_irq_callback(device_t &device, _Object object) { return downcast<dmvcart_slot_device &>(device).m_out_irq_cb.set_callback(object); } |
| 63 | 62 | template<class _Object> static devcb_base &set_out_thold_callback(device_t &device, _Object object) { return downcast<dmvcart_slot_device &>(device).m_out_thold_cb.set_callback(object); } |
| 64 | 63 | |
| r241655 | r241656 | |
| 87 | 86 | // internal state |
| 88 | 87 | devcb_read8 m_prog_read_cb; |
| 89 | 88 | devcb_write8 m_prog_write_cb; |
| 90 | | devcb_write_line m_out_int_cb; |
| 91 | 89 | devcb_write_line m_out_irq_cb; |
| 92 | 90 | devcb_write_line m_out_thold_cb; |
| 93 | 91 | device_dmvslot_interface* m_cart; |
| r241655 | r241656 | |
| 106 | 104 | devcb = &dmvcart_slot_device::set_prog_read_callback(*device, DEVCB_##_read_devcb); \ |
| 107 | 105 | devcb = &dmvcart_slot_device::set_prog_write_callback(*device, DEVCB_##_write_devcb); |
| 108 | 106 | |
| 109 | | #define MCFG_DMVCART_SLOT_OUT_INT_CB(_devcb) \ |
| 110 | | devcb = &dmvcart_slot_device::set_out_int_callback(*device, DEVCB_##_devcb); |
| 111 | | |
| 112 | 107 | #define MCFG_DMVCART_SLOT_OUT_IRQ_CB(_devcb) \ |
| 113 | 108 | devcb = &dmvcart_slot_device::set_out_irq_callback(*device, DEVCB_##_devcb); |
| 114 | 109 | |
trunk/src/emu/bus/dmv/k803.c
| r241655 | r241656 | |
| 1 | | // license:BSD-3-Clause |
| 2 | | // copyright-holders:Sandro Ronco |
| 3 | | /*************************************************************************** |
| 4 | | |
| 5 | | K803 RTC module |
| 6 | | |
| 7 | | ***************************************************************************/ |
| 8 | | |
| 9 | | #include "emu.h" |
| 10 | | #include "k803.h" |
| 11 | | |
| 12 | | |
| 13 | | /*************************************************************************** |
| 14 | | IMPLEMENTATION |
| 15 | | ***************************************************************************/ |
| 16 | | |
| 17 | | static MACHINE_CONFIG_FRAGMENT( dmv_k803 ) |
| 18 | | MCFG_DEVICE_ADD("rtc", MM58167, XTAL_32_768kHz) |
| 19 | | MCFG_MM58167_IRQ_CALLBACK(WRITELINE(dmv_k803_device, rtc_irq_w)) |
| 20 | | MACHINE_CONFIG_END |
| 21 | | |
| 22 | | static INPUT_PORTS_START( dmv_k803 ) |
| 23 | | PORT_START("DSW") |
| 24 | | PORT_DIPNAME( 0x0f, 0x09, "K803 IFSEL" ) PORT_DIPLOCATION("S:!4,S:!3,S:!2,S:!1") |
| 25 | | PORT_DIPSETTING( 0x00, "0A" ) |
| 26 | | PORT_DIPSETTING( 0x01, "0B" ) |
| 27 | | PORT_DIPSETTING( 0x02, "1A" ) |
| 28 | | PORT_DIPSETTING( 0x03, "1B" ) |
| 29 | | PORT_DIPSETTING( 0x04, "2A" ) |
| 30 | | PORT_DIPSETTING( 0x05, "2B" ) |
| 31 | | PORT_DIPSETTING( 0x06, "3A" ) |
| 32 | | PORT_DIPSETTING( 0x07, "3B" ) |
| 33 | | PORT_DIPSETTING( 0x08, "4A" ) |
| 34 | | PORT_DIPSETTING( 0x09, "4B" ) // default |
| 35 | | INPUT_PORTS_END |
| 36 | | |
| 37 | | //************************************************************************** |
| 38 | | // GLOBAL VARIABLES |
| 39 | | //************************************************************************** |
| 40 | | |
| 41 | | const device_type DMV_K803 = &device_creator<dmv_k803_device>; |
| 42 | | |
| 43 | | |
| 44 | | //************************************************************************** |
| 45 | | // LIVE DEVICE |
| 46 | | //************************************************************************** |
| 47 | | |
| 48 | | //------------------------------------------------- |
| 49 | | // dmv_k803_device - constructor |
| 50 | | //------------------------------------------------- |
| 51 | | |
| 52 | | dmv_k803_device::dmv_k803_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) |
| 53 | | : device_t(mconfig, DMV_K803, "K803 RTC", tag, owner, clock, "dmv_k803", __FILE__), |
| 54 | | device_dmvslot_interface( mconfig, *this ), |
| 55 | | m_rtc(*this, "rtc"), |
| 56 | | m_dsw(*this, "DWS") |
| 57 | | { |
| 58 | | } |
| 59 | | |
| 60 | | //------------------------------------------------- |
| 61 | | // device_start - device-specific startup |
| 62 | | //------------------------------------------------- |
| 63 | | |
| 64 | | void dmv_k803_device::device_start() |
| 65 | | { |
| 66 | | m_bus = static_cast<dmvcart_slot_device*>(owner()); |
| 67 | | } |
| 68 | | |
| 69 | | //------------------------------------------------- |
| 70 | | // device_reset - device-specific reset |
| 71 | | //------------------------------------------------- |
| 72 | | |
| 73 | | void dmv_k803_device::device_reset() |
| 74 | | { |
| 75 | | m_latch = 0; |
| 76 | | m_rtc_int = CLEAR_LINE; |
| 77 | | } |
| 78 | | |
| 79 | | //------------------------------------------------- |
| 80 | | // machine_config_additions - device-specific |
| 81 | | // machine configurations |
| 82 | | //------------------------------------------------- |
| 83 | | |
| 84 | | machine_config_constructor dmv_k803_device::device_mconfig_additions() const |
| 85 | | { |
| 86 | | return MACHINE_CONFIG_NAME( dmv_k803 ); |
| 87 | | } |
| 88 | | |
| 89 | | //------------------------------------------------- |
| 90 | | // input_ports - device-specific input ports |
| 91 | | //------------------------------------------------- |
| 92 | | |
| 93 | | ioport_constructor dmv_k803_device::device_input_ports() const |
| 94 | | { |
| 95 | | return INPUT_PORTS_NAME( dmv_k803 ); |
| 96 | | } |
| 97 | | |
| 98 | | void dmv_k803_device::io_read(address_space &space, int ifsel, offs_t offset, UINT8 &data) |
| 99 | | { |
| 100 | | UINT8 dsw = m_dsw->read() & 0x0f; |
| 101 | | if ((dsw >> 1) == ifsel && BIT(offset, 3) == BIT(dsw, 0)) |
| 102 | | { |
| 103 | | if (offset & 0x04) |
| 104 | | data = m_rtc->read(space, ((m_latch & 0x07) << 2) | (offset & 0x03)); |
| 105 | | } |
| 106 | | } |
| 107 | | |
| 108 | | void dmv_k803_device::io_write(address_space &space, int ifsel, offs_t offset, UINT8 data) |
| 109 | | { |
| 110 | | UINT8 dsw = m_dsw->read() & 0x0f; |
| 111 | | if ((dsw >> 1) == ifsel && BIT(offset, 3) == BIT(dsw, 0)) |
| 112 | | { |
| 113 | | if (offset & 0x04) |
| 114 | | m_rtc->write(space, ((m_latch & 0x07) << 2) | (offset & 0x03), data); |
| 115 | | else |
| 116 | | { |
| 117 | | m_latch = data; |
| 118 | | update_int(); |
| 119 | | } |
| 120 | | } |
| 121 | | } |
| 122 | | |
| 123 | | WRITE_LINE_MEMBER(dmv_k803_device::rtc_irq_w) |
| 124 | | { |
| 125 | | m_rtc_int = state; |
| 126 | | update_int(); |
| 127 | | } |
| 128 | | |
| 129 | | void dmv_k803_device::update_int() |
| 130 | | { |
| 131 | | bool state = ((m_latch & 0x80) && m_rtc_int); |
| 132 | | m_bus->m_out_irq_cb(state ? ASSERT_LINE : CLEAR_LINE); |
| 133 | | } |
trunk/src/emu/bus/dmv/k803.h
| r241655 | r241656 | |
| 1 | | // license:BSD-3-Clause |
| 2 | | // copyright-holders:Sandro Ronco |
| 3 | | #pragma once |
| 4 | | |
| 5 | | #ifndef __DMV_K803_H__ |
| 6 | | #define __DMV_K803_H__ |
| 7 | | |
| 8 | | #include "emu.h" |
| 9 | | #include "dmvbus.h" |
| 10 | | #include "machine/mm58167.h" |
| 11 | | |
| 12 | | //************************************************************************** |
| 13 | | // TYPE DEFINITIONS |
| 14 | | //************************************************************************** |
| 15 | | |
| 16 | | // ======================> dmv_k803_device |
| 17 | | |
| 18 | | class dmv_k803_device : |
| 19 | | public device_t, |
| 20 | | public device_dmvslot_interface |
| 21 | | { |
| 22 | | public: |
| 23 | | // construction/destruction |
| 24 | | dmv_k803_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| 25 | | |
| 26 | | // optional information overrides |
| 27 | | virtual ioport_constructor device_input_ports() const; |
| 28 | | virtual machine_config_constructor device_mconfig_additions() const; |
| 29 | | |
| 30 | | DECLARE_WRITE_LINE_MEMBER(rtc_irq_w); |
| 31 | | |
| 32 | | protected: |
| 33 | | // device-level overrides |
| 34 | | virtual void device_start(); |
| 35 | | virtual void device_reset(); |
| 36 | | |
| 37 | | virtual void io_read(address_space &space, int ifsel, offs_t offset, UINT8 &data); |
| 38 | | virtual void io_write(address_space &space, int ifsel, offs_t offset, UINT8 data); |
| 39 | | |
| 40 | | void update_int(); |
| 41 | | |
| 42 | | private: |
| 43 | | required_device<mm58167_device> m_rtc; |
| 44 | | required_ioport m_dsw; |
| 45 | | dmvcart_slot_device * m_bus; |
| 46 | | UINT8 m_latch; |
| 47 | | int m_rtc_int; |
| 48 | | }; |
| 49 | | |
| 50 | | |
| 51 | | // device type definition |
| 52 | | extern const device_type DMV_K803; |
| 53 | | |
| 54 | | #endif /* __DMV_K803_H__ */ |
trunk/src/mame/drivers/naomi.c
| r241655 | r241656 | |
| 6364 | 6364 | |
| 6365 | 6365 | ROM_REGION( 0x7000000, "rom_board", ROMREGION_ERASEFF) |
| 6366 | 6366 | ROM_LOAD( "epr-23198.ic22", 0x0000000, 0x400000, CRC(9852eda2) SHA1(71ded8cbdf567afeff30bd593071ce3b7d84a260) ) |
| 6367 | | ROM_LOAD( "mpr-23185.ic1", 0x0800000, 0x800000, CRC(c4fc1d45) SHA1(cfeff71ac1cccf274f00731fe1ffc182fb85f7a6) ) |
| 6368 | | ROM_LOAD( "mpr-23186.ic2", 0x1000000, 0x800000, CRC(b17f9924) SHA1(a9aa9f10b76964042b337b25430acff072aaa7c7) ) |
| 6369 | | ROM_LOAD( "mpr-23187.ic3", 0x1800000, 0x800000, CRC(575f73e8) SHA1(fe6ffeab120ad788bd692b33eca1cf22db881ac3) ) |
| 6370 | | ROM_LOAD( "mpr-23188.ic4", 0x2000000, 0x800000, CRC(0004ef34) SHA1(926de996549421a5835f3c8c0895a07978519215) ) |
| 6371 | | ROM_LOAD( "mpr-23189.ic5", 0x2800000, 0x800000, CRC(554eea29) SHA1(c82c24270dee0dd7309b117e1632827ca314615d) ) |
| 6372 | | ROM_LOAD( "mpr-23190.ic6", 0x3000000, 0x800000, CRC(b74ae1c5) SHA1(003fadbaa03cf43757b686f316d1104d26ae9ce8) ) |
| 6373 | | ROM_LOAD( "mpr-23191.ic7", 0x3800000, 0x800000, CRC(9f2a88af) SHA1(b1caf9cbf026ee6d0f12ab66cddf120e7ba9884c) ) |
| 6374 | | ROM_LOAD( "mpr-23192.ic8", 0x4000000, 0x800000, CRC(83014196) SHA1(cc4801534e0f0e649fc3f368af4bd3ac01288732) ) |
| 6375 | | ROM_LOAD( "mpr-23193.ic9", 0x4800000, 0x800000, CRC(2fde8ecf) SHA1(6da95fb04f141f2c45564460c49834bb945fb1af) ) |
| 6376 | | ROM_LOAD( "mpr-23194.ic10", 0x5000000, 0x800000, CRC(92f045e5) SHA1(70f741e55a47682725c7d6dcdd0e60982187fc87) ) |
| 6377 | | ROM_LOAD( "mpr-23195.ic11", 0x5800000, 0x800000, CRC(9e708834) SHA1(2f454688ea5b8b041bbfffaa12047afad01d020f) ) |
| 6378 | | ROM_LOAD( "mpr-23196.ic12s", 0x6000000, 0x800000, CRC(c86a5b9b) SHA1(4b8dda85003289e1464e12c3abf449bb8df20e3a) ) |
| 6379 | | ROM_LOAD( "mpr-23197.ic13s", 0x6800000, 0x800000, CRC(5adea0bd) SHA1(f8614ba83d5f61556c3db1a1796a02ed2c51ce2a) ) |
| 6380 | | // maskrom labels needs verification |
| 6367 | ROM_LOAD( "mpr-23182.ic1", 0x0800000, 0x800000, CRC(c4fc1d45) SHA1(cfeff71ac1cccf274f00731fe1ffc182fb85f7a6) ) |
| 6368 | ROM_LOAD( "mpr-23183.ic2", 0x1000000, 0x800000, CRC(b17f9924) SHA1(a9aa9f10b76964042b337b25430acff072aaa7c7) ) |
| 6369 | ROM_LOAD( "mpr-23184.ic3", 0x1800000, 0x800000, CRC(575f73e8) SHA1(fe6ffeab120ad788bd692b33eca1cf22db881ac3) ) |
| 6370 | ROM_LOAD( "mpr-23185.ic4", 0x2000000, 0x800000, CRC(0004ef34) SHA1(926de996549421a5835f3c8c0895a07978519215) ) |
| 6371 | ROM_LOAD( "mpr-23186.ic5", 0x2800000, 0x800000, CRC(554eea29) SHA1(c82c24270dee0dd7309b117e1632827ca314615d) ) |
| 6372 | ROM_LOAD( "mpr-23187.ic6", 0x3000000, 0x800000, CRC(b74ae1c5) SHA1(003fadbaa03cf43757b686f316d1104d26ae9ce8) ) |
| 6373 | ROM_LOAD( "mpr-23188.ic7", 0x3800000, 0x800000, CRC(9f2a88af) SHA1(b1caf9cbf026ee6d0f12ab66cddf120e7ba9884c) ) |
| 6374 | ROM_LOAD( "mpr-23189.ic8", 0x4000000, 0x800000, CRC(83014196) SHA1(cc4801534e0f0e649fc3f368af4bd3ac01288732) ) |
| 6375 | ROM_LOAD( "mpr-23190.ic9", 0x4800000, 0x800000, CRC(2fde8ecf) SHA1(6da95fb04f141f2c45564460c49834bb945fb1af) ) |
| 6376 | ROM_LOAD( "mpr-23191.ic10", 0x5000000, 0x800000, CRC(92f045e5) SHA1(70f741e55a47682725c7d6dcdd0e60982187fc87) ) |
| 6377 | ROM_LOAD( "mpr-23192.ic11", 0x5800000, 0x800000, CRC(9e708834) SHA1(2f454688ea5b8b041bbfffaa12047afad01d020f) ) |
| 6378 | ROM_LOAD( "mpr-23193.ic12s", 0x6000000, 0x800000, CRC(c86a5b9b) SHA1(4b8dda85003289e1464e12c3abf449bb8df20e3a) ) |
| 6379 | ROM_LOAD( "mpr-23194.ic13s", 0x6800000, 0x800000, CRC(5adea0bd) SHA1(f8614ba83d5f61556c3db1a1796a02ed2c51ce2a) ) |
| 6381 | 6380 | |
| 6382 | 6381 | ROM_REGION( 4, "rom_key", 0 ) |
| 6383 | 6382 | ROM_LOAD( "vonot-key.bin", 0, 4, CRC(021ac707) SHA1(af57844331226d3b1722aedca1a7aef024468b39) ) |
trunk/src/mess/drivers/dmv.c
| r241655 | r241656 | |
| 25 | 25 | #include "bus/dmv/k220.h" |
| 26 | 26 | #include "bus/dmv/k230.h" |
| 27 | 27 | #include "bus/dmv/k233.h" |
| 28 | | #include "bus/dmv/k803.h" |
| 29 | 28 | #include "bus/dmv/k806.h" |
| 30 | 29 | #include "bus/dmv/ram.h" |
| 31 | 30 | |
| r241655 | r241656 | |
| 115 | 114 | DECLARE_READ8_MEMBER(exp_program_r); |
| 116 | 115 | DECLARE_WRITE8_MEMBER(exp_program_w); |
| 117 | 116 | DECLARE_WRITE_LINE_MEMBER(thold7_w); |
| 118 | | |
| 119 | | void update_busint(int slot, int state); |
| 120 | | DECLARE_WRITE_LINE_MEMBER(busint2_w) { update_busint(0, state); } |
| 121 | | DECLARE_WRITE_LINE_MEMBER(busint2a_w) { update_busint(1, state); } |
| 122 | | DECLARE_WRITE_LINE_MEMBER(busint3_w) { update_busint(2, state); } |
| 123 | | DECLARE_WRITE_LINE_MEMBER(busint4_w) { update_busint(3, state); } |
| 124 | | DECLARE_WRITE_LINE_MEMBER(busint5_w) { update_busint(4, state); } |
| 125 | | DECLARE_WRITE_LINE_MEMBER(busint6_w) { update_busint(5, state); } |
| 126 | | DECLARE_WRITE_LINE_MEMBER(busint7_w) { update_busint(6, state); } |
| 127 | | DECLARE_WRITE_LINE_MEMBER(busint7a_w) { update_busint(7, state); } |
| 128 | | |
| 117 | DECLARE_WRITE_LINE_MEMBER(busint_w); |
| 129 | 118 | DECLARE_FLOPPY_FORMATS( floppy_formats ); |
| 130 | 119 | |
| 131 | 120 | UINT8 program_read(address_space &space, int cas, offs_t offset); |
| r241655 | r241656 | |
| 157 | 146 | int m_dack3_line; |
| 158 | 147 | int m_sd_poll_state; |
| 159 | 148 | int m_floppy_motor; |
| 160 | | int m_busint[8]; |
| 161 | 149 | }; |
| 162 | 150 | |
| 163 | 151 | WRITE8_MEMBER(dmv_state::tc_set_w) |
| r241655 | r241656 | |
| 341 | 329 | |
| 342 | 330 | static SLOT_INTERFACE_START( dmv_floppies ) |
| 343 | 331 | SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) |
| 344 | | SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) |
| 345 | 332 | SLOT_INTERFACE_END |
| 346 | 333 | |
| 347 | 334 | |
| r241655 | r241656 | |
| 388 | 375 | } |
| 389 | 376 | } |
| 390 | 377 | |
| 391 | | void dmv_state::update_busint(int slot, int state) |
| 378 | WRITE_LINE_MEMBER( dmv_state::busint_w ) |
| 392 | 379 | { |
| 393 | | m_busint[slot] = state; |
| 394 | | |
| 395 | | int new_state = CLEAR_LINE; |
| 396 | | for (int i=0; i<8; i++) |
| 397 | | if (m_busint[i] != CLEAR_LINE) |
| 398 | | { |
| 399 | | new_state = ASSERT_LINE; |
| 400 | | break; |
| 401 | | } |
| 402 | | |
| 403 | | m_slot7a->irq2_w(new_state); |
| 404 | | m_slot7->irq2_w(new_state); |
| 405 | | m_maincpu->set_input_line(0, new_state); |
| 380 | m_slot7a->irq2_w(state); |
| 381 | m_slot7->irq2_w(state); |
| 406 | 382 | } |
| 407 | 383 | |
| 408 | 384 | void dmv_state::program_write(address_space &space, int cas, offs_t offset, UINT8 data) |
| r241655 | r241656 | |
| 529 | 505 | m_switch16 = 0; |
| 530 | 506 | m_thold7 = 0; |
| 531 | 507 | m_dma_hrq = 0; |
| 532 | | memset(m_busint, 0, sizeof(m_busint)); |
| 533 | 508 | |
| 534 | 509 | update_halt_line(); |
| 535 | 510 | } |
| r241655 | r241656 | |
| 631 | 606 | |
| 632 | 607 | static SLOT_INTERFACE_START(dmv_slot2_6) |
| 633 | 608 | SLOT_INTERFACE("k233", DMV_K233) // K233 16K Shared RAM |
| 634 | | SLOT_INTERFACE("k803", DMV_K803) // K803 RTC module |
| 635 | 609 | SLOT_INTERFACE("k806", DMV_K806) // K806 Mouse module |
| 636 | 610 | SLOT_INTERFACE_END |
| 637 | 611 | |
| r241655 | r241656 | |
| 718 | 692 | MCFG_DEVICE_SLOT_INTERFACE(dmv_slot1, NULL, false) |
| 719 | 693 | MCFG_DEVICE_ADD("slot2", DMVCART_SLOT, 0) |
| 720 | 694 | MCFG_DEVICE_SLOT_INTERFACE(dmv_slot2_6, NULL, false) |
| 721 | | MCFG_DMVCART_SLOT_OUT_INT_CB(WRITELINE(dmv_state, busint2_w)) |
| 722 | 695 | MCFG_DEVICE_ADD("slot2a", DMVCART_SLOT, 0) |
| 723 | 696 | MCFG_DEVICE_SLOT_INTERFACE(dmv_slot2a, NULL, false) |
| 724 | | MCFG_DMVCART_SLOT_OUT_INT_CB(WRITELINE(dmv_state, busint2a_w)) |
| 725 | 697 | MCFG_DEVICE_ADD("slot3", DMVCART_SLOT, 0) |
| 726 | 698 | MCFG_DEVICE_SLOT_INTERFACE(dmv_slot2_6, NULL, false) |
| 727 | | MCFG_DMVCART_SLOT_OUT_INT_CB(WRITELINE(dmv_state, busint3_w)) |
| 728 | 699 | MCFG_DEVICE_ADD("slot4", DMVCART_SLOT, 0) |
| 729 | 700 | MCFG_DEVICE_SLOT_INTERFACE(dmv_slot2_6, NULL, false) |
| 730 | | MCFG_DMVCART_SLOT_OUT_INT_CB(WRITELINE(dmv_state, busint4_w)) |
| 731 | 701 | MCFG_DEVICE_ADD("slot5", DMVCART_SLOT, 0) |
| 732 | 702 | MCFG_DEVICE_SLOT_INTERFACE(dmv_slot2_6, NULL, false) |
| 733 | | MCFG_DMVCART_SLOT_OUT_INT_CB(WRITELINE(dmv_state, busint5_w)) |
| 734 | 703 | MCFG_DEVICE_ADD("slot6", DMVCART_SLOT, 0) |
| 735 | 704 | MCFG_DEVICE_SLOT_INTERFACE(dmv_slot2_6, NULL, false) |
| 736 | | MCFG_DMVCART_SLOT_OUT_INT_CB(WRITELINE(dmv_state, busint6_w)) |
| 737 | 705 | |
| 738 | 706 | MCFG_DEVICE_ADD("slot7", DMVCART_SLOT, 0) |
| 739 | 707 | MCFG_DEVICE_SLOT_INTERFACE(dmv_slot7, NULL, false) |
| 740 | 708 | MCFG_DMVCART_SLOT_PROGRAM_READWRITE_CB(READ8(dmv_state, exp_program_r), WRITE8(dmv_state, exp_program_w)) |
| 741 | 709 | MCFG_DMVCART_SLOT_OUT_THOLD_CB(WRITELINE(dmv_state, thold7_w)) |
| 742 | | MCFG_DMVCART_SLOT_OUT_INT_CB(WRITELINE(dmv_state, busint7_w)) |
| 710 | MCFG_DMVCART_SLOT_OUT_IRQ_CB(WRITELINE(dmv_state, busint_w)) |
| 743 | 711 | MCFG_DEVICE_ADD("slot7a", DMVCART_SLOT, 0) |
| 744 | 712 | MCFG_DEVICE_SLOT_INTERFACE(dmv_slot7a, "k230", false) |
| 745 | 713 | MCFG_DMVCART_SLOT_PROGRAM_READWRITE_CB(READ8(dmv_state, exp_program_r), WRITE8(dmv_state, exp_program_w)) |
| 746 | 714 | MCFG_DMVCART_SLOT_OUT_THOLD_CB(WRITELINE(dmv_state, thold7_w)) |
| 747 | | MCFG_DMVCART_SLOT_OUT_INT_CB(WRITELINE(dmv_state, busint7a_w)) |
| 715 | MCFG_DMVCART_SLOT_OUT_IRQ_CB(WRITELINE(dmv_state, busint_w)) |
| 748 | 716 | |
| 749 | 717 | MCFG_SOFTWARE_LIST_ADD("flop_list", "dmv") |
| 750 | 718 | |