| Previous | 199869 Revisions | Next |
| r30633 Saturday 24th May, 2014 at 13:35:26 UTC by Curt Coder |
|---|
| (MESS) ql: Started expansion port slotification. (nw) |
| [src/emu/bus] | bus.mak |
| [src/emu/bus/ql] | exp.c* exp.h* qimi.c* qimi.h* sandy_superdisk.c* sandy_superdisk.h* sandy_superqboard.c* sandy_superqboard.h* trumpcard.c* trumpcard.h* |
| [src/mess] | mess.mak |
| [src/mess/drivers] | ql.c |
| [src/mess/includes] | ql.h |
| r0 | r30633 | |
|---|---|---|
| 1 | // license:BSD-3-Clause | |
| 2 | // copyright-holders:Curt Coder | |
| 3 | /********************************************************************** | |
| 4 | ||
| 5 | QIMI (QL Internal Mouse Interface) emulation | |
| 6 | ||
| 7 | Copyright MESS Team. | |
| 8 | Visit http://mamedev.org for licensing and usage restrictions. | |
| 9 | ||
| 10 | **********************************************************************/ | |
| 11 | ||
| 12 | #include "qimi.h" | |
| 13 | ||
| 14 | ||
| 15 | ||
| 16 | //************************************************************************** | |
| 17 | // MACROS/CONSTANTS | |
| 18 | //************************************************************************** | |
| 19 | ||
| 20 | #define MOUSEX_TAG "MOUSEX" | |
| 21 | #define MOUSEY_TAG "MOUSEY" | |
| 22 | #define MOUSEB_TAG "MOUSEB" | |
| 23 | ||
| 24 | ||
| 25 | // Mouse bits in Sandy port order | |
| 26 | #define MOUSE_MIDDLE 0x02 | |
| 27 | #define MOUSE_RIGHT 0x04 | |
| 28 | #define MOUSE_LEFT 0x08 | |
| 29 | #define MOUSE_DIRY 0x10 | |
| 30 | #define MOUSE_DIRX 0x20 | |
| 31 | #define MOUSE_INTY 0x40 | |
| 32 | #define MOUSE_INTX 0x80 | |
| 33 | #define MOUSE_INT_MASK (MOUSE_INTX | MOUSE_INTY) | |
| 34 | ||
| 35 | ||
| 36 | ||
| 37 | //************************************************************************** | |
| 38 | // DEVICE DEFINITIONS | |
| 39 | //************************************************************************** | |
| 40 | ||
| 41 | const device_type QIMI = &device_creator<qimi_t>; | |
| 42 | ||
| 43 | ||
| 44 | //------------------------------------------------- | |
| 45 | // MACHINE_CONFIG_FRAGMENT( qimi ) | |
| 46 | //------------------------------------------------- | |
| 47 | ||
| 48 | static MACHINE_CONFIG_FRAGMENT( qimi ) | |
| 49 | MACHINE_CONFIG_END | |
| 50 | ||
| 51 | ||
| 52 | //------------------------------------------------- | |
| 53 | // machine_config_additions - device-specific | |
| 54 | // machine configurations | |
| 55 | //------------------------------------------------- | |
| 56 | ||
| 57 | machine_config_constructor qimi_t::device_mconfig_additions() const | |
| 58 | { | |
| 59 | return MACHINE_CONFIG_NAME( qimi ); | |
| 60 | } | |
| 61 | ||
| 62 | ||
| 63 | //------------------------------------------------- | |
| 64 | // INPUT_PORTS( qimi ) | |
| 65 | //------------------------------------------------- | |
| 66 | ||
| 67 | static INPUT_PORTS_START( qimi ) | |
| 68 | PORT_START(MOUSEX_TAG) | |
| 69 | PORT_BIT( 0xff, 0x00, IPT_MOUSE_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(5) PORT_MINMAX(0, 255) PORT_PLAYER(1) | |
| 70 | ||
| 71 | PORT_START(MOUSEY_TAG) | |
| 72 | PORT_BIT( 0xff, 0x00, IPT_MOUSE_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(5) PORT_MINMAX(0, 255) PORT_PLAYER(1) | |
| 73 | ||
| 74 | PORT_START(MOUSEB_TAG) /* Mouse buttons */ | |
| 75 | PORT_BIT( MOUSE_RIGHT, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("Mouse Button 1") PORT_CODE(MOUSECODE_BUTTON1) | |
| 76 | PORT_BIT( MOUSE_LEFT, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_NAME("Mouse Button 2") PORT_CODE(MOUSECODE_BUTTON2) | |
| 77 | PORT_BIT( MOUSE_MIDDLE, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_NAME("Mouse Button 3") PORT_CODE(MOUSECODE_BUTTON3) | |
| 78 | INPUT_PORTS_END | |
| 79 | ||
| 80 | ||
| 81 | //------------------------------------------------- | |
| 82 | // input_ports - device-specific input ports | |
| 83 | //------------------------------------------------- | |
| 84 | ||
| 85 | ioport_constructor qimi_t::device_input_ports() const | |
| 86 | { | |
| 87 | return INPUT_PORTS_NAME( qimi ); | |
| 88 | } | |
| 89 | ||
| 90 | ||
| 91 | ||
| 92 | //************************************************************************** | |
| 93 | // LIVE DEVICE | |
| 94 | //************************************************************************** | |
| 95 | ||
| 96 | //------------------------------------------------- | |
| 97 | // qimi_t - constructor | |
| 98 | //------------------------------------------------- | |
| 99 | ||
| 100 | qimi_t::qimi_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : | |
| 101 | device_t(mconfig, QIMI, "QIMI", tag, owner, clock, "qimi", __FILE__), | |
| 102 | device_ql_expansion_card_interface(mconfig, *this), | |
| 103 | m_mousex(*this, MOUSEX_TAG), | |
| 104 | m_mousey(*this, MOUSEY_TAG), | |
| 105 | m_mouseb(*this, MOUSEB_TAG) | |
| 106 | { | |
| 107 | } | |
| 108 | ||
| 109 | ||
| 110 | //------------------------------------------------- | |
| 111 | // device_start - device-specific startup | |
| 112 | //------------------------------------------------- | |
| 113 | ||
| 114 | void qimi_t::device_start() | |
| 115 | { | |
| 116 | } | |
| 117 | ||
| 118 | ||
| 119 | //------------------------------------------------- | |
| 120 | // device_reset - device-specific reset | |
| 121 | //------------------------------------------------- | |
| 122 | ||
| 123 | void qimi_t::device_reset() | |
| 124 | { | |
| 125 | } | |
| 126 | // license:BSD-3-Clause | |
| 127 | // copyright-holders:Curt Coder | |
| 128 | /********************************************************************** | |
| 129 | ||
| 130 | QIMI (QL Internal Mouse Interface) emulation | |
| 131 | ||
| 132 | Copyright MESS Team. | |
| 133 | Visit http://mamedev.org for licensing and usage restrictions. | |
| 134 | ||
| 135 | **********************************************************************/ | |
| 136 | ||
| 137 | #include "qimi.h" | |
| 138 | ||
| 139 | ||
| 140 | ||
| 141 | //************************************************************************** | |
| 142 | // MACROS/CONSTANTS | |
| 143 | //************************************************************************** | |
| 144 | ||
| 145 | #define MOUSEX_TAG "MOUSEX" | |
| 146 | #define MOUSEY_TAG "MOUSEY" | |
| 147 | #define MOUSEB_TAG "MOUSEB" | |
| 148 | ||
| 149 | ||
| 150 | // Mouse bits in Sandy port order | |
| 151 | #define MOUSE_MIDDLE 0x02 | |
| 152 | #define MOUSE_RIGHT 0x04 | |
| 153 | #define MOUSE_LEFT 0x08 | |
| 154 | #define MOUSE_DIRY 0x10 | |
| 155 | #define MOUSE_DIRX 0x20 | |
| 156 | #define MOUSE_INTY 0x40 | |
| 157 | #define MOUSE_INTX 0x80 | |
| 158 | #define MOUSE_INT_MASK (MOUSE_INTX | MOUSE_INTY) | |
| 159 | ||
| 160 | ||
| 161 | ||
| 162 | //************************************************************************** | |
| 163 | // DEVICE DEFINITIONS | |
| 164 | //************************************************************************** | |
| 165 | ||
| 166 | const device_type QIMI = &device_creator<qimi_t>; | |
| 167 | ||
| 168 | ||
| 169 | //------------------------------------------------- | |
| 170 | // MACHINE_CONFIG_FRAGMENT( qimi ) | |
| 171 | //------------------------------------------------- | |
| 172 | ||
| 173 | static MACHINE_CONFIG_FRAGMENT( qimi ) | |
| 174 | MACHINE_CONFIG_END | |
| 175 | ||
| 176 | ||
| 177 | //------------------------------------------------- | |
| 178 | // machine_config_additions - device-specific | |
| 179 | // machine configurations | |
| 180 | //------------------------------------------------- | |
| 181 | ||
| 182 | machine_config_constructor qimi_t::device_mconfig_additions() const | |
| 183 | { | |
| 184 | return MACHINE_CONFIG_NAME( qimi ); | |
| 185 | } | |
| 186 | ||
| 187 | ||
| 188 | //------------------------------------------------- | |
| 189 | // INPUT_PORTS( qimi ) | |
| 190 | //------------------------------------------------- | |
| 191 | ||
| 192 | static INPUT_PORTS_START( qimi ) | |
| 193 | PORT_START(MOUSEX_TAG) | |
| 194 | PORT_BIT( 0xff, 0x00, IPT_MOUSE_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(5) PORT_MINMAX(0, 255) PORT_PLAYER(1) | |
| 195 | ||
| 196 | PORT_START(MOUSEY_TAG) | |
| 197 | PORT_BIT( 0xff, 0x00, IPT_MOUSE_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(5) PORT_MINMAX(0, 255) PORT_PLAYER(1) | |
| 198 | ||
| 199 | PORT_START(MOUSEB_TAG) /* Mouse buttons */ | |
| 200 | PORT_BIT( MOUSE_RIGHT, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("Mouse Button 1") PORT_CODE(MOUSECODE_BUTTON1) | |
| 201 | PORT_BIT( MOUSE_LEFT, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_NAME("Mouse Button 2") PORT_CODE(MOUSECODE_BUTTON2) | |
| 202 | PORT_BIT( MOUSE_MIDDLE, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_NAME("Mouse Button 3") PORT_CODE(MOUSECODE_BUTTON3) | |
| 203 | INPUT_PORTS_END | |
| 204 | ||
| 205 | ||
| 206 | //------------------------------------------------- | |
| 207 | // input_ports - device-specific input ports | |
| 208 | //------------------------------------------------- | |
| 209 | ||
| 210 | ioport_constructor qimi_t::device_input_ports() const | |
| 211 | { | |
| 212 | return INPUT_PORTS_NAME( qimi ); | |
| 213 | } | |
| 214 | ||
| 215 | ||
| 216 | ||
| 217 | //************************************************************************** | |
| 218 | // LIVE DEVICE | |
| 219 | //************************************************************************** | |
| 220 | ||
| 221 | //------------------------------------------------- | |
| 222 | // qimi_t - constructor | |
| 223 | //------------------------------------------------- | |
| 224 | ||
| 225 | qimi_t::qimi_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : | |
| 226 | device_t(mconfig, QIMI, "QIMI", tag, owner, clock, "qimi", __FILE__), | |
| 227 | device_ql_expansion_card_interface(mconfig, *this), | |
| 228 | m_mousex(*this, MOUSEX_TAG), | |
| 229 | m_mousey(*this, MOUSEY_TAG), | |
| 230 | m_mouseb(*this, MOUSEB_TAG) | |
| 231 | { | |
| 232 | } | |
| 233 | ||
| 234 | ||
| 235 | //------------------------------------------------- | |
| 236 | // device_start - device-specific startup | |
| 237 | //------------------------------------------------- | |
| 238 | ||
| 239 | void qimi_t::device_start() | |
| 240 | { | |
| 241 | } | |
| 242 | ||
| 243 | ||
| 244 | //------------------------------------------------- | |
| 245 | // device_reset - device-specific reset | |
| 246 | //------------------------------------------------- | |
| 247 | ||
| 248 | void qimi_t::device_reset() | |
| 249 | { | |
| 250 | } |
| Added: svn:eol-style + native Added: svn:mime-type + text/plain |
| r0 | r30633 | |
|---|---|---|
| 1 | // license:BSD-3-Clause | |
| 2 | // copyright-holders:Curt Coder | |
| 3 | /********************************************************************** | |
| 4 | ||
| 5 | Sinclair QL expansion port emulation | |
| 6 | ||
| 7 | Copyright MESS Team. | |
| 8 | Visit http://mamedev.org for licensing and usage restrictions. | |
| 9 | ||
| 10 | ********************************************************************** | |
| 11 | ||
| 12 | A B | |
| 13 | GND * 1 * GND | |
| 14 | D3 * 2 * D2 | |
| 15 | D4 * 3 * D1 | |
| 16 | D5 * 4 * D0 | |
| 17 | D6 * 5 * ASL | |
| 18 | D7 * 6 * DSL | |
| 19 | A19 * 7 * RDWL | |
| 20 | A18 * 8 * DTACKL | |
| 21 | A17 * 9 * BGL | |
| 22 | A16 * 10 * BRL | |
| 23 | CLKCPU * 11 * A15 | |
| 24 | RED * 12 * RESETCPUL | |
| 25 | A14 * 13 * CSYNCL | |
| 26 | A13 * 14 * E | |
| 27 | A12 * 15 * VSYNCH | |
| 28 | A11 * 16 * VPAL | |
| 29 | A10 * 17 * GREEN | |
| 30 | A9 * 18 * BLUE | |
| 31 | A8 * 19 * FC2 | |
| 32 | A7 * 20 * FC1 | |
| 33 | A6 * 21 * FC0 | |
| 34 | A5 * 22 * A0 | |
| 35 | A4 * 23 * ROMOEH | |
| 36 | A3 * 24 * A1 | |
| 37 | DBGL * 25 * A2 | |
| 38 | SP2 * 26 * SP3 | |
| 39 | DSCML * 27 * IPL0L | |
| 40 | SP1 * 28 * BERRL | |
| 41 | SP0 * 29 * IPL1L | |
| 42 | VP12 * 30 * EXTINTL | |
| 43 | VM12 * 31 * VIN | |
| 44 | VIN * 32 * VIN | |
| 45 | ||
| 46 | **********************************************************************/ | |
| 47 | ||
| 48 | #pragma once | |
| 49 | ||
| 50 | #ifndef __QL_EXPANSION_SLOT__ | |
| 51 | #define __QL_EXPANSION_SLOT__ | |
| 52 | ||
| 53 | #include "emu.h" | |
| 54 | ||
| 55 | ||
| 56 | ||
| 57 | //************************************************************************** | |
| 58 | // INTERFACE CONFIGURATION MACROS | |
| 59 | //************************************************************************** | |
| 60 | ||
| 61 | #define MCFG_QL_EXPANSION_SLOT_ADD(_tag, _slot_intf, _def_slot) \ | |
| 62 | MCFG_DEVICE_ADD(_tag, QL_EXPANSION_SLOT, 0) \ | |
| 63 | MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) | |
| 64 | ||
| 65 | ||
| 66 | #define MCFG_QL_EXPANSION_SLOT_IPL0L_CALLBACK(_write) \ | |
| 67 | devcb = &ql_expansion_slot_t::set_ipl0l_wr_callback(*device, DEVCB_##_write); | |
| 68 | ||
| 69 | #define MCFG_QL_EXPANSION_SLOT_IPL1L_CALLBACK(_write) \ | |
| 70 | devcb = &ql_expansion_slot_t::set_ipl1l_wr_callback(*device, DEVCB_##_write); | |
| 71 | ||
| 72 | #define MCFG_QL_EXPANSION_SLOT_BERRL_CALLBACK(_write) \ | |
| 73 | devcb = &ql_expansion_slot_t::set_berrl_wr_callback(*device, DEVCB_##_write); | |
| 74 | ||
| 75 | #define MCFG_QL_EXPANSION_SLOT_EXTINTL_CALLBACK(_write) \ | |
| 76 | devcb = &ql_expansion_slot_t::set_extintl_wr_callback(*device, DEVCB_##_write); | |
| 77 | ||
| 78 | ||
| 79 | ||
| 80 | //************************************************************************** | |
| 81 | // TYPE DEFINITIONS | |
| 82 | //************************************************************************** | |
| 83 | ||
| 84 | // ======================> device_ql_expansion_card_interface | |
| 85 | ||
| 86 | class ql_expansion_slot_t; | |
| 87 | ||
| 88 | class device_ql_expansion_card_interface : public device_slot_card_interface | |
| 89 | { | |
| 90 | friend class ql_expansion_slot_t; | |
| 91 | ||
| 92 | public: | |
| 93 | // construction/destruction | |
| 94 | device_ql_expansion_card_interface(const machine_config &mconfig, device_t &device); | |
| 95 | ||
| 96 | protected: | |
| 97 | ql_expansion_slot_t *m_slot; | |
| 98 | }; | |
| 99 | ||
| 100 | ||
| 101 | // ======================> ql_expansion_slot_t | |
| 102 | ||
| 103 | class ql_expansion_slot_t : public device_t, | |
| 104 | public device_slot_interface | |
| 105 | { | |
| 106 | public: | |
| 107 | // construction/destruction | |
| 108 | ql_expansion_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); | |
| 109 | ||
| 110 | template<class _Object> static devcb_base &set_ipl0l_wr_callback(device_t &device, _Object object) { return downcast<ql_expansion_slot_t &>(device).m_write_ipl0l.set_callback(object); } | |
| 111 | template<class _Object> static devcb_base &set_ipl1l_wr_callback(device_t &device, _Object object) { return downcast<ql_expansion_slot_t &>(device).m_write_ipl1l.set_callback(object); } | |
| 112 | template<class _Object> static devcb_base &set_berrl_wr_callback(device_t &device, _Object object) { return downcast<ql_expansion_slot_t &>(device).m_write_berrl.set_callback(object); } | |
| 113 | template<class _Object> static devcb_base &set_extintl_wr_callback(device_t &device, _Object object) { return downcast<ql_expansion_slot_t &>(device).m_write_extintl.set_callback(object); } | |
| 114 | ||
| 115 | DECLARE_WRITE_LINE_MEMBER( extintl_w ) { m_write_extintl(state); } | |
| 116 | ||
| 117 | protected: | |
| 118 | // device-level overrides | |
| 119 | virtual void device_start(); | |
| 120 | ||
| 121 | devcb_write_line m_write_ipl0l; | |
| 122 | devcb_write_line m_write_ipl1l; | |
| 123 | devcb_write_line m_write_berrl; | |
| 124 | devcb_write_line m_write_extintl; | |
| 125 | ||
| 126 | device_ql_expansion_card_interface *m_card; | |
| 127 | }; | |
| 128 | ||
| 129 | ||
| 130 | // device type definition | |
| 131 | extern const device_type QL_EXPANSION_SLOT; | |
| 132 | ||
| 133 | ||
| 134 | SLOT_INTERFACE_EXTERN( ql_expansion_cards ); | |
| 135 | ||
| 136 | ||
| 137 | ||
| 138 | #endif | |
| 139 | // license:BSD-3-Clause | |
| 140 | // copyright-holders:Curt Coder | |
| 141 | /********************************************************************** | |
| 142 | ||
| 143 | Sinclair QL expansion port emulation | |
| 144 | ||
| 145 | Copyright MESS Team. | |
| 146 | Visit http://mamedev.org for licensing and usage restrictions. | |
| 147 | ||
| 148 | ********************************************************************** | |
| 149 | ||
| 150 | A B | |
| 151 | GND * 1 * GND | |
| 152 | D3 * 2 * D2 | |
| 153 | D4 * 3 * D1 | |
| 154 | D5 * 4 * D0 | |
| 155 | D6 * 5 * ASL | |
| 156 | D7 * 6 * DSL | |
| 157 | A19 * 7 * RDWL | |
| 158 | A18 * 8 * DTACKL | |
| 159 | A17 * 9 * BGL | |
| 160 | A16 * 10 * BRL | |
| 161 | CLKCPU * 11 * A15 | |
| 162 | RED * 12 * RESETCPUL | |
| 163 | A14 * 13 * CSYNCL | |
| 164 | A13 * 14 * E | |
| 165 | A12 * 15 * VSYNCH | |
| 166 | A11 * 16 * VPAL | |
| 167 | A10 * 17 * GREEN | |
| 168 | A9 * 18 * BLUE | |
| 169 | A8 * 19 * FC2 | |
| 170 | A7 * 20 * FC1 | |
| 171 | A6 * 21 * FC0 | |
| 172 | A5 * 22 * A0 | |
| 173 | A4 * 23 * ROMOEH | |
| 174 | A3 * 24 * A1 | |
| 175 | DBGL * 25 * A2 | |
| 176 | SP2 * 26 * SP3 | |
| 177 | DSCML * 27 * IPL0L | |
| 178 | SP1 * 28 * BERRL | |
| 179 | SP0 * 29 * IPL1L | |
| 180 | VP12 * 30 * EXTINTL | |
| 181 | VM12 * 31 * VIN | |
| 182 | VIN * 32 * VIN | |
| 183 | ||
| 184 | **********************************************************************/ | |
| 185 | ||
| 186 | #pragma once | |
| 187 | ||
| 188 | #ifndef __QL_EXPANSION_SLOT__ | |
| 189 | #define __QL_EXPANSION_SLOT__ | |
| 190 | ||
| 191 | #include "emu.h" | |
| 192 | ||
| 193 | ||
| 194 | ||
| 195 | //************************************************************************** | |
| 196 | // INTERFACE CONFIGURATION MACROS | |
| 197 | //************************************************************************** | |
| 198 | ||
| 199 | #define MCFG_QL_EXPANSION_SLOT_ADD(_tag, _slot_intf, _def_slot) \ | |
| 200 | MCFG_DEVICE_ADD(_tag, QL_EXPANSION_SLOT, 0) \ | |
| 201 | MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) | |
| 202 | ||
| 203 | ||
| 204 | #define MCFG_QL_EXPANSION_SLOT_IPL0L_CALLBACK(_write) \ | |
| 205 | devcb = &ql_expansion_slot_t::set_ipl0l_wr_callback(*device, DEVCB_##_write); | |
| 206 | ||
| 207 | #define MCFG_QL_EXPANSION_SLOT_IPL1L_CALLBACK(_write) \ | |
| 208 | devcb = &ql_expansion_slot_t::set_ipl1l_wr_callback(*device, DEVCB_##_write); | |
| 209 | ||
| 210 | #define MCFG_QL_EXPANSION_SLOT_BERRL_CALLBACK(_write) \ | |
| 211 | devcb = &ql_expansion_slot_t::set_berrl_wr_callback(*device, DEVCB_##_write); | |
| 212 | ||
| 213 | #define MCFG_QL_EXPANSION_SLOT_EXTINTL_CALLBACK(_write) \ | |
| 214 | devcb = &ql_expansion_slot_t::set_extintl_wr_callback(*device, DEVCB_##_write); | |
| 215 | ||
| 216 | ||
| 217 | ||
| 218 | //************************************************************************** | |
| 219 | // TYPE DEFINITIONS | |
| 220 | //************************************************************************** | |
| 221 | ||
| 222 | // ======================> device_ql_expansion_card_interface | |
| 223 | ||
| 224 | class ql_expansion_slot_t; | |
| 225 | ||
| 226 | class device_ql_expansion_card_interface : public device_slot_card_interface | |
| 227 | { | |
| 228 | friend class ql_expansion_slot_t; | |
| 229 | ||
| 230 | public: | |
| 231 | // construction/destruction | |
| 232 | device_ql_expansion_card_interface(const machine_config &mconfig, device_t &device); | |
| 233 | ||
| 234 | protected: | |
| 235 | ql_expansion_slot_t *m_slot; | |
| 236 | }; | |
| 237 | ||
| 238 | ||
| 239 | // ======================> ql_expansion_slot_t | |
| 240 | ||
| 241 | class ql_expansion_slot_t : public device_t, | |
| 242 | public device_slot_interface | |
| 243 | { | |
| 244 | public: | |
| 245 | // construction/destruction | |
| 246 | ql_expansion_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); | |
| 247 | ||
| 248 | template<class _Object> static devcb_base &set_ipl0l_wr_callback(device_t &device, _Object object) { return downcast<ql_expansion_slot_t &>(device).m_write_ipl0l.set_callback(object); } | |
| 249 | template<class _Object> static devcb_base &set_ipl1l_wr_callback(device_t &device, _Object object) { return downcast<ql_expansion_slot_t &>(device).m_write_ipl1l.set_callback(object); } | |
| 250 | template<class _Object> static devcb_base &set_berrl_wr_callback(device_t &device, _Object object) { return downcast<ql_expansion_slot_t &>(device).m_write_berrl.set_callback(object); } | |
| 251 | template<class _Object> static devcb_base &set_extintl_wr_callback(device_t &device, _Object object) { return downcast<ql_expansion_slot_t &>(device).m_write_extintl.set_callback(object); } | |
| 252 | ||
| 253 | DECLARE_WRITE_LINE_MEMBER( extintl_w ) { m_write_extintl(state); } | |
| 254 | ||
| 255 | protected: | |
| 256 | // device-level overrides | |
| 257 | virtual void device_start(); | |
| 258 | ||
| 259 | devcb_write_line m_write_ipl0l; | |
| 260 | devcb_write_line m_write_ipl1l; | |
| 261 | devcb_write_line m_write_berrl; | |
| 262 | devcb_write_line m_write_extintl; | |
| 263 | ||
| 264 | device_ql_expansion_card_interface *m_card; | |
| 265 | }; | |
| 266 | ||
| 267 | ||
| 268 | // device type definition | |
| 269 | extern const device_type QL_EXPANSION_SLOT; | |
| 270 | ||
| 271 | ||
| 272 | SLOT_INTERFACE_EXTERN( ql_expansion_cards ); | |
| 273 | ||
| 274 | ||
| 275 | ||
| 276 | #endif |
| Added: svn:mime-type + text/plain Added: svn:eol-style + native |
| r0 | r30633 | |
|---|---|---|
| 1 | // license:BSD-3-Clause | |
| 2 | // copyright-holders:Curt Coder | |
| 3 | /********************************************************************** | |
| 4 | ||
| 5 | Miracle Systems QL Trump Card emulation | |
| 6 | ||
| 7 | Copyright MESS Team. | |
| 8 | Visit http://mamedev.org for licensing and usage restrictions. | |
| 9 | ||
| 10 | **********************************************************************/ | |
| 11 | ||
| 12 | #include "trumpcard.h" | |
| 13 | ||
| 14 | ||
| 15 | ||
| 16 | //************************************************************************** | |
| 17 | // MACROS/CONSTANTS | |
| 18 | //************************************************************************** | |
| 19 | ||
| 20 | ||
| 21 | ||
| 22 | //************************************************************************** | |
| 23 | // DEVICE DEFINITIONS | |
| 24 | //************************************************************************** | |
| 25 | ||
| 26 | const device_type QL_TRUMP_CARD = &device_creator<ql_trump_card_t>; | |
| 27 | ||
| 28 | ||
| 29 | //------------------------------------------------- | |
| 30 | // ROM( ql_trump_card ) | |
| 31 | //------------------------------------------------- | |
| 32 | ||
| 33 | ROM_START( ql_trump_card ) | |
| 34 | ROM_REGION( 0x8000, "rom", 0 ) | |
| 35 | ROM_LOAD( "trumpcard-125.rom", 0x0000, 0x8000, CRC(938eaa46) SHA1(9b3458cf3a279ed86ba395dc45c8f26939d6c44d) ) | |
| 36 | ROM_END | |
| 37 | ||
| 38 | ||
| 39 | //------------------------------------------------- | |
| 40 | // rom_region - device-specific ROM region | |
| 41 | //------------------------------------------------- | |
| 42 | ||
| 43 | const rom_entry *ql_trump_card_t::device_rom_region() const | |
| 44 | { | |
| 45 | return ROM_NAME( ql_trump_card ); | |
| 46 | } | |
| 47 | ||
| 48 | ||
| 49 | //------------------------------------------------- | |
| 50 | // MACHINE_CONFIG_FRAGMENT( ql_trump_card ) | |
| 51 | //------------------------------------------------- | |
| 52 | ||
| 53 | static MACHINE_CONFIG_FRAGMENT( ql_trump_card ) | |
| 54 | MACHINE_CONFIG_END | |
| 55 | ||
| 56 | ||
| 57 | //------------------------------------------------- | |
| 58 | // machine_config_additions - device-specific | |
| 59 | // machine configurations | |
| 60 | //------------------------------------------------- | |
| 61 | ||
| 62 | machine_config_constructor ql_trump_card_t::device_mconfig_additions() const | |
| 63 | { | |
| 64 | return MACHINE_CONFIG_NAME( ql_trump_card ); | |
| 65 | } | |
| 66 | ||
| 67 | ||
| 68 | ||
| 69 | //************************************************************************** | |
| 70 | // LIVE DEVICE | |
| 71 | //************************************************************************** | |
| 72 | ||
| 73 | //------------------------------------------------- | |
| 74 | // ql_trump_card_t - constructor | |
| 75 | //------------------------------------------------- | |
| 76 | ||
| 77 | ql_trump_card_t::ql_trump_card_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : | |
| 78 | device_t(mconfig, QL_TRUMP_CARD, "QL Trump Card", tag, owner, clock, "ql_trump_card", __FILE__), | |
| 79 | device_ql_expansion_card_interface(mconfig, *this), | |
| 80 | m_rom(*this, "rom") | |
| 81 | { | |
| 82 | } | |
| 83 | ||
| 84 | ||
| 85 | //------------------------------------------------- | |
| 86 | // device_start - device-specific startup | |
| 87 | //------------------------------------------------- | |
| 88 | ||
| 89 | void ql_trump_card_t::device_start() | |
| 90 | { | |
| 91 | } | |
| 92 | ||
| 93 | ||
| 94 | //------------------------------------------------- | |
| 95 | // device_reset - device-specific reset | |
| 96 | //------------------------------------------------- | |
| 97 | ||
| 98 | void ql_trump_card_t::device_reset() | |
| 99 | { | |
| 100 | } | |
| 101 | // license:BSD-3-Clause | |
| 102 | // copyright-holders:Curt Coder | |
| 103 | /********************************************************************** | |
| 104 | ||
| 105 | Miracle Systems QL Trump Card emulation | |
| 106 | ||
| 107 | Copyright MESS Team. | |
| 108 | Visit http://mamedev.org for licensing and usage restrictions. | |
| 109 | ||
| 110 | **********************************************************************/ | |
| 111 | ||
| 112 | #include "trumpcard.h" | |
| 113 | ||
| 114 | ||
| 115 | ||
| 116 | //************************************************************************** | |
| 117 | // MACROS/CONSTANTS | |
| 118 | //************************************************************************** | |
| 119 | ||
| 120 | ||
| 121 | ||
| 122 | //************************************************************************** | |
| 123 | // DEVICE DEFINITIONS | |
| 124 | //************************************************************************** | |
| 125 | ||
| 126 | const device_type QL_TRUMP_CARD = &device_creator<ql_trump_card_t>; | |
| 127 | ||
| 128 | ||
| 129 | //------------------------------------------------- | |
| 130 | // ROM( ql_trump_card ) | |
| 131 | //------------------------------------------------- | |
| 132 | ||
| 133 | ROM_START( ql_trump_card ) | |
| 134 | ROM_REGION( 0x8000, "rom", 0 ) | |
| 135 | ROM_LOAD( "trumpcard-125.rom", 0x0000, 0x8000, CRC(938eaa46) SHA1(9b3458cf3a279ed86ba395dc45c8f26939d6c44d) ) | |
| 136 | ROM_END | |
| 137 | ||
| 138 | ||
| 139 | //------------------------------------------------- | |
| 140 | // rom_region - device-specific ROM region | |
| 141 | //------------------------------------------------- | |
| 142 | ||
| 143 | const rom_entry *ql_trump_card_t::device_rom_region() const | |
| 144 | { | |
| 145 | return ROM_NAME( ql_trump_card ); | |
| 146 | } | |
| 147 | ||
| 148 | ||
| 149 | //------------------------------------------------- | |
| 150 | // MACHINE_CONFIG_FRAGMENT( ql_trump_card ) | |
| 151 | //------------------------------------------------- | |
| 152 | ||
| 153 | static MACHINE_CONFIG_FRAGMENT( ql_trump_card ) | |
| 154 | MACHINE_CONFIG_END | |
| 155 | ||
| 156 | ||
| 157 | //------------------------------------------------- | |
| 158 | // machine_config_additions - device-specific | |
| 159 | // machine configurations | |
| 160 | //------------------------------------------------- | |
| 161 | ||
| 162 | machine_config_constructor ql_trump_card_t::device_mconfig_additions() const | |
| 163 | { | |
| 164 | return MACHINE_CONFIG_NAME( ql_trump_card ); | |
| 165 | } | |
| 166 | ||
| 167 | ||
| 168 | ||
| 169 | //************************************************************************** | |
| 170 | // LIVE DEVICE | |
| 171 | //************************************************************************** | |
| 172 | ||
| 173 | //------------------------------------------------- | |
| 174 | // ql_trump_card_t - constructor | |
| 175 | //------------------------------------------------- | |
| 176 | ||
| 177 | ql_trump_card_t::ql_trump_card_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : | |
| 178 | device_t(mconfig, QL_TRUMP_CARD, "QL Trump Card", tag, owner, clock, "ql_trump_card", __FILE__), | |
| 179 | device_ql_expansion_card_interface(mconfig, *this), | |
| 180 | m_rom(*this, "rom") | |
| 181 | { | |
| 182 | } | |
| 183 | ||
| 184 | ||
| 185 | //------------------------------------------------- | |
| 186 | // device_start - device-specific startup | |
| 187 | //------------------------------------------------- | |
| 188 | ||
| 189 | void ql_trump_card_t::device_start() | |
| 190 | { | |
| 191 | } | |
| 192 | ||
| 193 | ||
| 194 | //------------------------------------------------- | |
| 195 | // device_reset - device-specific reset | |
| 196 | //------------------------------------------------- | |
| 197 | ||
| 198 | void ql_trump_card_t::device_reset() | |
| 199 | { | |
| 200 | } |
| Added: svn:mime-type + text/plain Added: svn:eol-style + native |
| r0 | r30633 | |
|---|---|---|
| 1 | // license:BSD-3-Clause | |
| 2 | // copyright-holders:Curt Coder | |
| 3 | /********************************************************************** | |
| 4 | ||
| 5 | QIMI (QL Internal Mouse Interface) emulation | |
| 6 | ||
| 7 | Copyright MESS Team. | |
| 8 | Visit http://mamedev.org for licensing and usage restrictions. | |
| 9 | ||
| 10 | **********************************************************************/ | |
| 11 | ||
| 12 | #pragma once | |
| 13 | ||
| 14 | #ifndef __QIMI__ | |
| 15 | #define __QIMI__ | |
| 16 | ||
| 17 | #include "exp.h" | |
| 18 | ||
| 19 | ||
| 20 | ||
| 21 | //************************************************************************** | |
| 22 | // TYPE DEFINITIONS | |
| 23 | //************************************************************************** | |
| 24 | ||
| 25 | // ======================> qimi_device | |
| 26 | ||
| 27 | class qimi_t : public device_t, | |
| 28 | public device_ql_expansion_card_interface | |
| 29 | { | |
| 30 | public: | |
| 31 | // construction/destruction | |
| 32 | qimi_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); | |
| 33 | ||
| 34 | // optional information overrides | |
| 35 | virtual machine_config_constructor device_mconfig_additions() const; | |
| 36 | virtual ioport_constructor device_input_ports() const; | |
| 37 | ||
| 38 | protected: | |
| 39 | // device-level overrides | |
| 40 | virtual void device_start(); | |
| 41 | virtual void device_reset(); | |
| 42 | ||
| 43 | // device_ql_expansion_card_interface overrides | |
| 44 | ||
| 45 | private: | |
| 46 | required_ioport m_mousex; | |
| 47 | required_ioport m_mousey; | |
| 48 | required_ioport m_mouseb; | |
| 49 | }; | |
| 50 | ||
| 51 | ||
| 52 | // device type definition | |
| 53 | extern const device_type QIMI; | |
| 54 | ||
| 55 | ||
| 56 | #endif | |
| 57 | // license:BSD-3-Clause | |
| 58 | // copyright-holders:Curt Coder | |
| 59 | /********************************************************************** | |
| 60 | ||
| 61 | QIMI (QL Internal Mouse Interface) emulation | |
| 62 | ||
| 63 | Copyright MESS Team. | |
| 64 | Visit http://mamedev.org for licensing and usage restrictions. | |
| 65 | ||
| 66 | **********************************************************************/ | |
| 67 | ||
| 68 | #pragma once | |
| 69 | ||
| 70 | #ifndef __QIMI__ | |
| 71 | #define __QIMI__ | |
| 72 | ||
| 73 | #include "exp.h" | |
| 74 | ||
| 75 | ||
| 76 | ||
| 77 | //************************************************************************** | |
| 78 | // TYPE DEFINITIONS | |
| 79 | //************************************************************************** | |
| 80 | ||
| 81 | // ======================> qimi_device | |
| 82 | ||
| 83 | class qimi_t : public device_t, | |
| 84 | public device_ql_expansion_card_interface | |
| 85 | { | |
| 86 | public: | |
| 87 | // construction/destruction | |
| 88 | qimi_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); | |
| 89 | ||
| 90 | // optional information overrides | |
| 91 | virtual machine_config_constructor device_mconfig_additions() const; | |
| 92 | virtual ioport_constructor device_input_ports() const; | |
| 93 | ||
| 94 | protected: | |
| 95 | // device-level overrides | |
| 96 | virtual void device_start(); | |
| 97 | virtual void device_reset(); | |
| 98 | ||
| 99 | // device_ql_expansion_card_interface overrides | |
| 100 | ||
| 101 | private: | |
| 102 | required_ioport m_mousex; | |
| 103 | required_ioport m_mousey; | |
| 104 | required_ioport m_mouseb; | |
| 105 | }; | |
| 106 | ||
| 107 | ||
| 108 | // device type definition | |
| 109 | extern const device_type QIMI; | |
| 110 | ||
| 111 | ||
| 112 | #endif |
| Added: svn:mime-type + text/plain Added: svn:eol-style + native |
| r0 | r30633 | |
|---|---|---|
| 1 | // license:BSD-3-Clause | |
| 2 | // copyright-holders:Curt Coder | |
| 3 | /********************************************************************** | |
| 4 | ||
| 5 | Sandy SuperQBoard emulation | |
| 6 | ||
| 7 | Copyright MESS Team. | |
| 8 | Visit http://mamedev.org for licensing and usage restrictions. | |
| 9 | ||
| 10 | **********************************************************************/ | |
| 11 | ||
| 12 | #include "sandy_superqboard.h" | |
| 13 | ||
| 14 | ||
| 15 | ||
| 16 | //************************************************************************** | |
| 17 | // MACROS/CONSTANTS | |
| 18 | //************************************************************************** | |
| 19 | ||
| 20 | ||
| 21 | ||
| 22 | //************************************************************************** | |
| 23 | // DEVICE DEFINITIONS | |
| 24 | //************************************************************************** | |
| 25 | ||
| 26 | const device_type SANDY_SUPERQBOARD = &device_creator<sandy_superqboard_t>; | |
| 27 | ||
| 28 | ||
| 29 | //------------------------------------------------- | |
| 30 | // ROM( sandy_superqboard ) | |
| 31 | //------------------------------------------------- | |
| 32 | ||
| 33 | ROM_START( sandy_superqboard ) | |
| 34 | ROM_REGION( 0x8000, "rom", 0 ) | |
| 35 | ROM_LOAD( "sandy_disk_controller_v1.18y_1984.rom", 0x0000, 0x8000, CRC(d02425be) SHA1(e730576e3e0c6a1acad042c09e15fc62a32d8fbd) ) | |
| 36 | ROM_END | |
| 37 | ||
| 38 | ||
| 39 | //------------------------------------------------- | |
| 40 | // rom_region - device-specific ROM region | |
| 41 | //------------------------------------------------- | |
| 42 | ||
| 43 | const rom_entry *sandy_superqboard_t::device_rom_region() const | |
| 44 | { | |
| 45 | return ROM_NAME( sandy_superqboard ); | |
| 46 | } | |
| 47 | ||
| 48 | ||
| 49 | //------------------------------------------------- | |
| 50 | // MACHINE_CONFIG_FRAGMENT( sandy_superqboard ) | |
| 51 | //------------------------------------------------- | |
| 52 | ||
| 53 | static MACHINE_CONFIG_FRAGMENT( sandy_superqboard ) | |
| 54 | MACHINE_CONFIG_END | |
| 55 | ||
| 56 | ||
| 57 | //------------------------------------------------- | |
| 58 | // machine_config_additions - device-specific | |
| 59 | // machine configurations | |
| 60 | //------------------------------------------------- | |
| 61 | ||
| 62 | machine_config_constructor sandy_superqboard_t::device_mconfig_additions() const | |
| 63 | { | |
| 64 | return MACHINE_CONFIG_NAME( sandy_superqboard ); | |
| 65 | } | |
| 66 | ||
| 67 | ||
| 68 | ||
| 69 | //************************************************************************** | |
| 70 | // LIVE DEVICE | |
| 71 | //************************************************************************** | |
| 72 | ||
| 73 | //------------------------------------------------- | |
| 74 | // sandy_superqboard_t - constructor | |
| 75 | //------------------------------------------------- | |
| 76 | ||
| 77 | sandy_superqboard_t::sandy_superqboard_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : | |
| 78 | device_t(mconfig, SANDY_SUPERQBOARD, "SANDY_SUPERQBOARD", tag, owner, clock, "sandy_superqboard", __FILE__), | |
| 79 | device_ql_expansion_card_interface(mconfig, *this), | |
| 80 | m_rom(*this, "rom") | |
| 81 | { | |
| 82 | } | |
| 83 | ||
| 84 | ||
| 85 | //------------------------------------------------- | |
| 86 | // device_start - device-specific startup | |
| 87 | //------------------------------------------------- | |
| 88 | ||
| 89 | void sandy_superqboard_t::device_start() | |
| 90 | { | |
| 91 | } | |
| 92 | ||
| 93 | ||
| 94 | //------------------------------------------------- | |
| 95 | // device_reset - device-specific reset | |
| 96 | //------------------------------------------------- | |
| 97 | ||
| 98 | void sandy_superqboard_t::device_reset() | |
| 99 | { | |
| 100 | } | |
| 101 | // license:BSD-3-Clause | |
| 102 | // copyright-holders:Curt Coder | |
| 103 | /********************************************************************** | |
| 104 | ||
| 105 | Sandy SuperQBoard emulation | |
| 106 | ||
| 107 | Copyright MESS Team. | |
| 108 | Visit http://mamedev.org for licensing and usage restrictions. | |
| 109 | ||
| 110 | **********************************************************************/ | |
| 111 | ||
| 112 | #include "sandy_superqboard.h" | |
| 113 | ||
| 114 | ||
| 115 | ||
| 116 | //************************************************************************** | |
| 117 | // MACROS/CONSTANTS | |
| 118 | //************************************************************************** | |
| 119 | ||
| 120 | ||
| 121 | ||
| 122 | //************************************************************************** | |
| 123 | // DEVICE DEFINITIONS | |
| 124 | //************************************************************************** | |
| 125 | ||
| 126 | const device_type SANDY_SUPERQBOARD = &device_creator<sandy_superqboard_t>; | |
| 127 | ||
| 128 | ||
| 129 | //------------------------------------------------- | |
| 130 | // ROM( sandy_superqboard ) | |
| 131 | //------------------------------------------------- | |
| 132 | ||
| 133 | ROM_START( sandy_superqboard ) | |
| 134 | ROM_REGION( 0x8000, "rom", 0 ) | |
| 135 | ROM_LOAD( "sandy_disk_controller_v1.18y_1984.rom", 0x0000, 0x8000, CRC(d02425be) SHA1(e730576e3e0c6a1acad042c09e15fc62a32d8fbd) ) | |
| 136 | ROM_END | |
| 137 | ||
| 138 | ||
| 139 | //------------------------------------------------- | |
| 140 | // rom_region - device-specific ROM region | |
| 141 | //------------------------------------------------- | |
| 142 | ||
| 143 | const rom_entry *sandy_superqboard_t::device_rom_region() const | |
| 144 | { | |
| 145 | return ROM_NAME( sandy_superqboard ); | |
| 146 | } | |
| 147 | ||
| 148 | ||
| 149 | //------------------------------------------------- | |
| 150 | // MACHINE_CONFIG_FRAGMENT( sandy_superqboard ) | |
| 151 | //------------------------------------------------- | |
| 152 | ||
| 153 | static MACHINE_CONFIG_FRAGMENT( sandy_superqboard ) | |
| 154 | MACHINE_CONFIG_END | |
| 155 | ||
| 156 | ||
| 157 | //------------------------------------------------- | |
| 158 | // machine_config_additions - device-specific | |
| 159 | // machine configurations | |
| 160 | //------------------------------------------------- | |
| 161 | ||
| 162 | machine_config_constructor sandy_superqboard_t::device_mconfig_additions() const | |
| 163 | { | |
| 164 | return MACHINE_CONFIG_NAME( sandy_superqboard ); | |
| 165 | } | |
| 166 | ||
| 167 | ||
| 168 | ||
| 169 | //************************************************************************** | |
| 170 | // LIVE DEVICE | |
| 171 | //************************************************************************** | |
| 172 | ||
| 173 | //------------------------------------------------- | |
| 174 | // sandy_superqboard_t - constructor | |
| 175 | //------------------------------------------------- | |
| 176 | ||
| 177 | sandy_superqboard_t::sandy_superqboard_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : | |
| 178 | device_t(mconfig, SANDY_SUPERQBOARD, "SANDY_SUPERQBOARD", tag, owner, clock, "sandy_superqboard", __FILE__), | |
| 179 | device_ql_expansion_card_interface(mconfig, *this), | |
| 180 | m_rom(*this, "rom") | |
| 181 | { | |
| 182 | } | |
| 183 | ||
| 184 | ||
| 185 | //------------------------------------------------- | |
| 186 | // device_start - device-specific startup | |
| 187 | //------------------------------------------------- | |
| 188 | ||
| 189 | void sandy_superqboard_t::device_start() | |
| 190 | { | |
| 191 | } | |
| 192 | ||
| 193 | ||
| 194 | //------------------------------------------------- | |
| 195 | // device_reset - device-specific reset | |
| 196 | //------------------------------------------------- | |
| 197 | ||
| 198 | void sandy_superqboard_t::device_reset() | |
| 199 | { | |
| 200 | } |
| Added: svn:mime-type + text/plain Added: svn:eol-style + native |
| r0 | r30633 | |
|---|---|---|
| 1 | // license:BSD-3-Clause | |
| 2 | // copyright-holders:Curt Coder | |
| 3 | /********************************************************************** | |
| 4 | ||
| 5 | Miracle Systems QL Trump Card emulation | |
| 6 | ||
| 7 | Copyright MESS Team. | |
| 8 | Visit http://mamedev.org for licensing and usage restrictions. | |
| 9 | ||
| 10 | **********************************************************************/ | |
| 11 | ||
| 12 | #pragma once | |
| 13 | ||
| 14 | #ifndef __QL_TRUMP_CARD__ | |
| 15 | #define __QL_TRUMP_CARD__ | |
| 16 | ||
| 17 | #include "exp.h" | |
| 18 | ||
| 19 | ||
| 20 | ||
| 21 | //************************************************************************** | |
| 22 | // TYPE DEFINITIONS | |
| 23 | //************************************************************************** | |
| 24 | ||
| 25 | // ======================> ql_trump_card_t | |
| 26 | ||
| 27 | class ql_trump_card_t : public device_t, | |
| 28 | public device_ql_expansion_card_interface | |
| 29 | { | |
| 30 | public: | |
| 31 | // construction/destruction | |
| 32 | ql_trump_card_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); | |
| 33 | ||
| 34 | // optional information overrides | |
| 35 | virtual const rom_entry *device_rom_region() const; | |
| 36 | virtual machine_config_constructor device_mconfig_additions() const; | |
| 37 | ||
| 38 | protected: | |
| 39 | // device-level overrides | |
| 40 | virtual void device_start(); | |
| 41 | virtual void device_reset(); | |
| 42 | ||
| 43 | // device_ql_expansion_card_interface overrides | |
| 44 | ||
| 45 | private: | |
| 46 | required_memory_region m_rom; | |
| 47 | }; | |
| 48 | ||
| 49 | ||
| 50 | // device type definition | |
| 51 | extern const device_type QL_TRUMP_CARD; | |
| 52 | ||
| 53 | ||
| 54 | #endif | |
| 55 | // license:BSD-3-Clause | |
| 56 | // copyright-holders:Curt Coder | |
| 57 | /********************************************************************** | |
| 58 | ||
| 59 | Miracle Systems QL Trump Card emulation | |
| 60 | ||
| 61 | Copyright MESS Team. | |
| 62 | Visit http://mamedev.org for licensing and usage restrictions. | |
| 63 | ||
| 64 | **********************************************************************/ | |
| 65 | ||
| 66 | #pragma once | |
| 67 | ||
| 68 | #ifndef __QL_TRUMP_CARD__ | |
| 69 | #define __QL_TRUMP_CARD__ | |
| 70 | ||
| 71 | #include "exp.h" | |
| 72 | ||
| 73 | ||
| 74 | ||
| 75 | //************************************************************************** | |
| 76 | // TYPE DEFINITIONS | |
| 77 | //************************************************************************** | |
| 78 | ||
| 79 | // ======================> ql_trump_card_t | |
| 80 | ||
| 81 | class ql_trump_card_t : public device_t, | |
| 82 | public device_ql_expansion_card_interface | |
| 83 | { | |
| 84 | public: | |
| 85 | // construction/destruction | |
| 86 | ql_trump_card_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); | |
| 87 | ||
| 88 | // optional information overrides | |
| 89 | virtual const rom_entry *device_rom_region() const; | |
| 90 | virtual machine_config_constructor device_mconfig_additions() const; | |
| 91 | ||
| 92 | protected: | |
| 93 | // device-level overrides | |
| 94 | virtual void device_start(); | |
| 95 | virtual void device_reset(); | |
| 96 | ||
| 97 | // device_ql_expansion_card_interface overrides | |
| 98 | ||
| 99 | private: | |
| 100 | required_memory_region m_rom; | |
| 101 | }; | |
| 102 | ||
| 103 | ||
| 104 | // device type definition | |
| 105 | extern const device_type QL_TRUMP_CARD; | |
| 106 | ||
| 107 | ||
| 108 | #endif |
| Added: svn:mime-type + text/plain Added: svn:eol-style + native |
| r0 | r30633 | |
|---|---|---|
| 1 | // license:BSD-3-Clause | |
| 2 | // copyright-holders:Curt Coder | |
| 3 | /********************************************************************** | |
| 4 | ||
| 5 | Sandy Super Disk emulation | |
| 6 | ||
| 7 | Copyright MESS Team. | |
| 8 | Visit http://mamedev.org for licensing and usage restrictions. | |
| 9 | ||
| 10 | **********************************************************************/ | |
| 11 | ||
| 12 | #include "sandy_superdisk.h" | |
| 13 | ||
| 14 | ||
| 15 | ||
| 16 | //************************************************************************** | |
| 17 | // MACROS/CONSTANTS | |
| 18 | //************************************************************************** | |
| 19 | ||
| 20 | ||
| 21 | ||
| 22 | //************************************************************************** | |
| 23 | // DEVICE DEFINITIONS | |
| 24 | //************************************************************************** | |
| 25 | ||
| 26 | const device_type SANDY_SUPER_DISK = &device_creator<sandy_super_disk_t>; | |
| 27 | ||
| 28 | ||
| 29 | //------------------------------------------------- | |
| 30 | // ROM( sandy_super_disk ) | |
| 31 | //------------------------------------------------- | |
| 32 | ||
| 33 | ROM_START( sandy_super_disk ) | |
| 34 | ROM_REGION( 0x4000, "rom", 0 ) | |
| 35 | ROM_LOAD( "sandysuperdisk.rom", 0x0000, 0x4000, CRC(b52077da) SHA1(bf531758145ffd083e01c1cf9c45d0e9264a3b53) ) | |
| 36 | ROM_END | |
| 37 | ||
| 38 | ||
| 39 | //------------------------------------------------- | |
| 40 | // rom_region - device-specific ROM region | |
| 41 | //------------------------------------------------- | |
| 42 | ||
| 43 | const rom_entry *sandy_super_disk_t::device_rom_region() const | |
| 44 | { | |
| 45 | return ROM_NAME( sandy_super_disk ); | |
| 46 | } | |
| 47 | ||
| 48 | ||
| 49 | //------------------------------------------------- | |
| 50 | // MACHINE_CONFIG_FRAGMENT( sandy_super_disk ) | |
| 51 | //------------------------------------------------- | |
| 52 | ||
| 53 | static MACHINE_CONFIG_FRAGMENT( sandy_super_disk ) | |
| 54 | MACHINE_CONFIG_END | |
| 55 | ||
| 56 | ||
| 57 | //------------------------------------------------- | |
| 58 | // machine_config_additions - device-specific | |
| 59 | // machine configurations | |
| 60 | //------------------------------------------------- | |
| 61 | ||
| 62 | machine_config_constructor sandy_super_disk_t::device_mconfig_additions() const | |
| 63 | { | |
| 64 | return MACHINE_CONFIG_NAME( sandy_super_disk ); | |
| 65 | } | |
| 66 | ||
| 67 | ||
| 68 | ||
| 69 | //************************************************************************** | |
| 70 | // LIVE DEVICE | |
| 71 | //************************************************************************** | |
| 72 | ||
| 73 | //------------------------------------------------- | |
| 74 | // sandy_super_disk_t - constructor | |
| 75 | //------------------------------------------------- | |
| 76 | ||
| 77 | sandy_super_disk_t::sandy_super_disk_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : | |
| 78 | device_t(mconfig, SANDY_SUPER_DISK, "Sandy Super Disk", tag, owner, clock, "sandy_super_disk", __FILE__), | |
| 79 | device_ql_expansion_card_interface(mconfig, *this), | |
| 80 | m_rom(*this, "rom") | |
| 81 | { | |
| 82 | } | |
| 83 | ||
| 84 | ||
| 85 | //------------------------------------------------- | |
| 86 | // device_start - device-specific startup | |
| 87 | //------------------------------------------------- | |
| 88 | ||
| 89 | void sandy_super_disk_t::device_start() | |
| 90 | { | |
| 91 | } | |
| 92 | ||
| 93 | ||
| 94 | //------------------------------------------------- | |
| 95 | // device_reset - device-specific reset | |
| 96 | //------------------------------------------------- | |
| 97 | ||
| 98 | void sandy_super_disk_t::device_reset() | |
| 99 | { | |
| 100 | } | |
| 101 | // license:BSD-3-Clause | |
| 102 | // copyright-holders:Curt Coder | |
| 103 | /********************************************************************** | |
| 104 | ||
| 105 | Sandy Super Disk emulation | |
| 106 | ||
| 107 | Copyright MESS Team. | |
| 108 | Visit http://mamedev.org for licensing and usage restrictions. | |
| 109 | ||
| 110 | **********************************************************************/ | |
| 111 | ||
| 112 | #include "sandy_superdisk.h" | |
| 113 | ||
| 114 | ||
| 115 | ||
| 116 | //************************************************************************** | |
| 117 | // MACROS/CONSTANTS | |
| 118 | //************************************************************************** | |
| 119 | ||
| 120 | ||
| 121 | ||
| 122 | //************************************************************************** | |
| 123 | // DEVICE DEFINITIONS | |
| 124 | //************************************************************************** | |
| 125 | ||
| 126 | const device_type SANDY_SUPER_DISK = &device_creator<sandy_super_disk_t>; | |
| 127 | ||
| 128 | ||
| 129 | //------------------------------------------------- | |
| 130 | // ROM( sandy_super_disk ) | |
| 131 | //------------------------------------------------- | |
| 132 | ||
| 133 | ROM_START( sandy_super_disk ) | |
| 134 | ROM_REGION( 0x4000, "rom", 0 ) | |
| 135 | ROM_LOAD( "sandysuperdisk.rom", 0x0000, 0x4000, CRC(b52077da) SHA1(bf531758145ffd083e01c1cf9c45d0e9264a3b53) ) | |
| 136 | ROM_END | |
| 137 | ||
| 138 | ||
| 139 | //------------------------------------------------- | |
| 140 | // rom_region - device-specific ROM region | |
| 141 | //------------------------------------------------- | |
| 142 | ||
| 143 | const rom_entry *sandy_super_disk_t::device_rom_region() const | |
| 144 | { | |
| 145 | return ROM_NAME( sandy_super_disk ); | |
| 146 | } | |
| 147 | ||
| 148 | ||
| 149 | //------------------------------------------------- | |
| 150 | // MACHINE_CONFIG_FRAGMENT( sandy_super_disk ) | |
| 151 | //------------------------------------------------- | |
| 152 | ||
| 153 | static MACHINE_CONFIG_FRAGMENT( sandy_super_disk ) | |
| 154 | MACHINE_CONFIG_END | |
| 155 | ||
| 156 | ||
| 157 | //------------------------------------------------- | |
| 158 | // machine_config_additions - device-specific | |
| 159 | // machine configurations | |
| 160 | //------------------------------------------------- | |
| 161 | ||
| 162 | machine_config_constructor sandy_super_disk_t::device_mconfig_additions() const | |
| 163 | { | |
| 164 | return MACHINE_CONFIG_NAME( sandy_super_disk ); | |
| 165 | } | |
| 166 | ||
| 167 | ||
| 168 | ||
| 169 | //************************************************************************** | |
| 170 | // LIVE DEVICE | |
| 171 | //************************************************************************** | |
| 172 | ||
| 173 | //------------------------------------------------- | |
| 174 | // sandy_super_disk_t - constructor | |
| 175 | //------------------------------------------------- | |
| 176 | ||
| 177 | sandy_super_disk_t::sandy_super_disk_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : | |
| 178 | device_t(mconfig, SANDY_SUPER_DISK, "Sandy Super Disk", tag, owner, clock, "sandy_super_disk", __FILE__), | |
| 179 | device_ql_expansion_card_interface(mconfig, *this), | |
| 180 | m_rom(*this, "rom") | |
| 181 | { | |
| 182 | } | |
| 183 | ||
| 184 | ||
| 185 | //------------------------------------------------- | |
| 186 | // device_start - device-specific startup | |
| 187 | //------------------------------------------------- | |
| 188 | ||
| 189 | void sandy_super_disk_t::device_start() | |
| 190 | { | |
| 191 | } | |
| 192 | ||
| 193 | ||
| 194 | //------------------------------------------------- | |
| 195 | // device_reset - device-specific reset | |
| 196 | //------------------------------------------------- | |
| 197 | ||
| 198 | void sandy_super_disk_t::device_reset() | |
| 199 | { | |
| 200 | } |
| Added: svn:mime-type + text/plain Added: svn:eol-style + native |
| r0 | r30633 | |
|---|---|---|
| 1 | // license:BSD-3-Clause | |
| 2 | // copyright-holders:Curt Coder | |
| 3 | /********************************************************************** | |
| 4 | ||
| 5 | Sandy SuperQBoard emulation | |
| 6 | ||
| 7 | Copyright MESS Team. | |
| 8 | Visit http://mamedev.org for licensing and usage restrictions. | |
| 9 | ||
| 10 | **********************************************************************/ | |
| 11 | ||
| 12 | #pragma once | |
| 13 | ||
| 14 | #ifndef __SANDY_SUPERQBOARD__ | |
| 15 | #define __SANDY_SUPERQBOARD__ | |
| 16 | ||
| 17 | #include "exp.h" | |
| 18 | #include "bus/centronics/ctronics.h" | |
| 19 | #include "machine/wd_fdc.h" | |
| 20 | ||
| 21 | ||
| 22 | ||
| 23 | //************************************************************************** | |
| 24 | // TYPE DEFINITIONS | |
| 25 | //************************************************************************** | |
| 26 | ||
| 27 | // ======================> sandy_superqboard_device | |
| 28 | ||
| 29 | class sandy_superqboard_t : public device_t, | |
| 30 | public device_ql_expansion_card_interface | |
| 31 | { | |
| 32 | public: | |
| 33 | // construction/destruction | |
| 34 | sandy_superqboard_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); | |
| 35 | ||
| 36 | // optional information overrides | |
| 37 | virtual const rom_entry *device_rom_region() const; | |
| 38 | virtual machine_config_constructor device_mconfig_additions() const; | |
| 39 | ||
| 40 | protected: | |
| 41 | // device-level overrides | |
| 42 | virtual void device_start(); | |
| 43 | virtual void device_reset(); | |
| 44 | ||
| 45 | // device_ql_expansion_card_interface overrides | |
| 46 | ||
| 47 | private: | |
| 48 | required_memory_region m_rom; | |
| 49 | }; | |
| 50 | ||
| 51 | ||
| 52 | // device type definition | |
| 53 | extern const device_type SANDY_SUPERQBOARD; | |
| 54 | ||
| 55 | ||
| 56 | #endif | |
| 57 | // license:BSD-3-Clause | |
| 58 | // copyright-holders:Curt Coder | |
| 59 | /********************************************************************** | |
| 60 | ||
| 61 | Sandy SuperQBoard emulation | |
| 62 | ||
| 63 | Copyright MESS Team. | |
| 64 | Visit http://mamedev.org for licensing and usage restrictions. | |
| 65 | ||
| 66 | **********************************************************************/ | |
| 67 | ||
| 68 | #pragma once | |
| 69 | ||
| 70 | #ifndef __SANDY_SUPERQBOARD__ | |
| 71 | #define __SANDY_SUPERQBOARD__ | |
| 72 | ||
| 73 | #include "exp.h" | |
| 74 | #include "bus/centronics/ctronics.h" | |
| 75 | #include "machine/wd_fdc.h" | |
| 76 | ||
| 77 | ||
| 78 | ||
| 79 | //************************************************************************** | |
| 80 | // TYPE DEFINITIONS | |
| 81 | //************************************************************************** | |
| 82 | ||
| 83 | // ======================> sandy_superqboard_device | |
| 84 | ||
| 85 | class sandy_superqboard_t : public device_t, | |
| 86 | public device_ql_expansion_card_interface | |
| 87 | { | |
| 88 | public: | |
| 89 | // construction/destruction | |
| 90 | sandy_superqboard_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); | |
| 91 | ||
| 92 | // optional information overrides | |
| 93 | virtual const rom_entry *device_rom_region() const; | |
| 94 | virtual machine_config_constructor device_mconfig_additions() const; | |
| 95 | ||
| 96 | protected: | |
| 97 | // device-level overrides | |
| 98 | virtual void device_start(); | |
| 99 | virtual void device_reset(); | |
| 100 | ||
| 101 | // device_ql_expansion_card_interface overrides | |
| 102 | ||
| 103 | private: | |
| 104 | required_memory_region m_rom; | |
| 105 | }; | |
| 106 | ||
| 107 | ||
| 108 | // device type definition | |
| 109 | extern const device_type SANDY_SUPERQBOARD; | |
| 110 | ||
| 111 | ||
| 112 | #endif |
| Added: svn:mime-type + text/plain Added: svn:eol-style + native |
| r0 | r30633 | |
|---|---|---|
| 1 | // license:BSD-3-Clause | |
| 2 | // copyright-holders:Curt Coder | |
| 3 | /********************************************************************** | |
| 4 | ||
| 5 | Sinclair QL expansion port emulation | |
| 6 | ||
| 7 | Copyright MESS Team. | |
| 8 | Visit http://mamedev.org for licensing and usage restrictions. | |
| 9 | ||
| 10 | **********************************************************************/ | |
| 11 | ||
| 12 | #include "exp.h" | |
| 13 | ||
| 14 | ||
| 15 | ||
| 16 | //************************************************************************** | |
| 17 | // DEVICE DEFINITIONS | |
| 18 | //************************************************************************** | |
| 19 | ||
| 20 | const device_type QL_EXPANSION_SLOT = &device_creator<ql_expansion_slot_t>; | |
| 21 | ||
| 22 | ||
| 23 | ||
| 24 | //************************************************************************** | |
| 25 | // DEVICE QL_EXPANSION CARD INTERFACE | |
| 26 | //************************************************************************** | |
| 27 | ||
| 28 | //------------------------------------------------- | |
| 29 | // device_ql_expansion_card_interface - constructor | |
| 30 | //------------------------------------------------- | |
| 31 | ||
| 32 | device_ql_expansion_card_interface::device_ql_expansion_card_interface(const machine_config &mconfig, device_t &device) : | |
| 33 | device_slot_card_interface(mconfig, device) | |
| 34 | { | |
| 35 | m_slot = dynamic_cast<ql_expansion_slot_t *>(device.owner()); | |
| 36 | } | |
| 37 | ||
| 38 | ||
| 39 | ||
| 40 | //************************************************************************** | |
| 41 | // LIVE DEVICE | |
| 42 | //************************************************************************** | |
| 43 | ||
| 44 | //------------------------------------------------- | |
| 45 | // ql_expansion_slot_t - constructor | |
| 46 | //------------------------------------------------- | |
| 47 | ||
| 48 | ql_expansion_slot_t::ql_expansion_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : | |
| 49 | device_t(mconfig, QL_EXPANSION_SLOT, "QL expansion port", tag, owner, clock, "ql_expansion_slot", __FILE__), | |
| 50 | device_slot_interface(mconfig, *this), | |
| 51 | m_write_ipl0l(*this), | |
| 52 | m_write_ipl1l(*this), | |
| 53 | m_write_berrl(*this), | |
| 54 | m_write_extintl(*this) | |
| 55 | { | |
| 56 | } | |
| 57 | ||
| 58 | ||
| 59 | //------------------------------------------------- | |
| 60 | // device_start - device-specific startup | |
| 61 | //------------------------------------------------- | |
| 62 | ||
| 63 | void ql_expansion_slot_t::device_start() | |
| 64 | { | |
| 65 | m_card = dynamic_cast<device_ql_expansion_card_interface *>(get_card_device()); | |
| 66 | ||
| 67 | // resolve callbacks | |
| 68 | m_write_ipl0l.resolve_safe(); | |
| 69 | m_write_ipl1l.resolve_safe(); | |
| 70 | m_write_berrl.resolve_safe(); | |
| 71 | m_write_extintl.resolve_safe(); | |
| 72 | } | |
| 73 | ||
| 74 | ||
| 75 | //------------------------------------------------- | |
| 76 | // SLOT_INTERFACE( ql_expansion_cards ) | |
| 77 | //------------------------------------------------- | |
| 78 | ||
| 79 | // slot devices | |
| 80 | #include "qimi.h" | |
| 81 | #include "sandy_superdisk.h" | |
| 82 | #include "sandy_superqboard.h" | |
| 83 | #include "trumpcard.h" | |
| 84 | ||
| 85 | SLOT_INTERFACE_START( ql_expansion_cards ) | |
| 86 | SLOT_INTERFACE("qimi", QIMI) | |
| 87 | SLOT_INTERFACE("superdisk", SANDY_SUPER_DISK) | |
| 88 | SLOT_INTERFACE("superqboard", SANDY_SUPERQBOARD) | |
| 89 | SLOT_INTERFACE("trumpcard", QL_TRUMP_CARD) | |
| 90 | SLOT_INTERFACE_END | |
| 91 | // license:BSD-3-Clause | |
| 92 | // copyright-holders:Curt Coder | |
| 93 | /********************************************************************** | |
| 94 | ||
| 95 | Sinclair QL expansion port emulation | |
| 96 | ||
| 97 | Copyright MESS Team. | |
| 98 | Visit http://mamedev.org for licensing and usage restrictions. | |
| 99 | ||
| 100 | **********************************************************************/ | |
| 101 | ||
| 102 | #include "exp.h" | |
| 103 | ||
| 104 | ||
| 105 | ||
| 106 | //************************************************************************** | |
| 107 | // DEVICE DEFINITIONS | |
| 108 | //************************************************************************** | |
| 109 | ||
| 110 | const device_type QL_EXPANSION_SLOT = &device_creator<ql_expansion_slot_t>; | |
| 111 | ||
| 112 | ||
| 113 | ||
| 114 | //************************************************************************** | |
| 115 | // DEVICE QL_EXPANSION CARD INTERFACE | |
| 116 | //************************************************************************** | |
| 117 | ||
| 118 | //------------------------------------------------- | |
| 119 | // device_ql_expansion_card_interface - constructor | |
| 120 | //------------------------------------------------- | |
| 121 | ||
| 122 | device_ql_expansion_card_interface::device_ql_expansion_card_interface(const machine_config &mconfig, device_t &device) : | |
| 123 | device_slot_card_interface(mconfig, device) | |
| 124 | { | |
| 125 | m_slot = dynamic_cast<ql_expansion_slot_t *>(device.owner()); | |
| 126 | } | |
| 127 | ||
| 128 | ||
| 129 | ||
| 130 | //************************************************************************** | |
| 131 | // LIVE DEVICE | |
| 132 | //************************************************************************** | |
| 133 | ||
| 134 | //------------------------------------------------- | |
| 135 | // ql_expansion_slot_t - constructor | |
| 136 | //------------------------------------------------- | |
| 137 | ||
| 138 | ql_expansion_slot_t::ql_expansion_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : | |
| 139 | device_t(mconfig, QL_EXPANSION_SLOT, "QL expansion port", tag, owner, clock, "ql_expansion_slot", __FILE__), | |
| 140 | device_slot_interface(mconfig, *this), | |
| 141 | m_write_ipl0l(*this), | |
| 142 | m_write_ipl1l(*this), | |
| 143 | m_write_berrl(*this), | |
| 144 | m_write_extintl(*this) | |
| 145 | { | |
| 146 | } | |
| 147 | ||
| 148 | ||
| 149 | //------------------------------------------------- | |
| 150 | // device_start - device-specific startup | |
| 151 | //------------------------------------------------- | |
| 152 | ||
| 153 | void ql_expansion_slot_t::device_start() | |
| 154 | { | |
| 155 | m_card = dynamic_cast<device_ql_expansion_card_interface *>(get_card_device()); | |
| 156 | ||
| 157 | // resolve callbacks | |
| 158 | m_write_ipl0l.resolve_safe(); | |
| 159 | m_write_ipl1l.resolve_safe(); | |
| 160 | m_write_berrl.resolve_safe(); | |
| 161 | m_write_extintl.resolve_safe(); | |
| 162 | } | |
| 163 | ||
| 164 | ||
| 165 | //------------------------------------------------- | |
| 166 | // SLOT_INTERFACE( ql_expansion_cards ) | |
| 167 | //------------------------------------------------- | |
| 168 | ||
| 169 | // slot devices | |
| 170 | #include "qimi.h" | |
| 171 | #include "sandy_superdisk.h" | |
| 172 | #include "sandy_superqboard.h" | |
| 173 | #include "trumpcard.h" | |
| 174 | ||
| 175 | SLOT_INTERFACE_START( ql_expansion_cards ) | |
| 176 | SLOT_INTERFACE("qimi", QIMI) | |
| 177 | SLOT_INTERFACE("superdisk", SANDY_SUPER_DISK) | |
| 178 | SLOT_INTERFACE("superqboard", SANDY_SUPERQBOARD) | |
| 179 | SLOT_INTERFACE("trumpcard", QL_TRUMP_CARD) | |
| 180 | SLOT_INTERFACE_END |
| Added: svn:mime-type + text/plain Added: svn:eol-style + native |
| r0 | r30633 | |
|---|---|---|
| 1 | // license:BSD-3-Clause | |
| 2 | // copyright-holders:Curt Coder | |
| 3 | /********************************************************************** | |
| 4 | ||
| 5 | Sandy Super Disk emulation | |
| 6 | ||
| 7 | Copyright MESS Team. | |
| 8 | Visit http://mamedev.org for licensing and usage restrictions. | |
| 9 | ||
| 10 | **********************************************************************/ | |
| 11 | ||
| 12 | #pragma once | |
| 13 | ||
| 14 | #ifndef __SANDY_SUPER_DISK__ | |
| 15 | #define __SANDY_SUPER_DISK__ | |
| 16 | ||
| 17 | #include "exp.h" | |
| 18 | #include "machine/wd_fdc.h" | |
| 19 | ||
| 20 | ||
| 21 | ||
| 22 | //************************************************************************** | |
| 23 | // TYPE DEFINITIONS | |
| 24 | //************************************************************************** | |
| 25 | ||
| 26 | // ======================> sandy_super_disk_device | |
| 27 | ||
| 28 | class sandy_super_disk_t : public device_t, | |
| 29 | public device_ql_expansion_card_interface | |
| 30 | { | |
| 31 | public: | |
| 32 | // construction/destruction | |
| 33 | sandy_super_disk_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); | |
| 34 | ||
| 35 | // optional information overrides | |
| 36 | virtual const rom_entry *device_rom_region() const; | |
| 37 | virtual machine_config_constructor device_mconfig_additions() const; | |
| 38 | ||
| 39 | protected: | |
| 40 | // device-level overrides | |
| 41 | virtual void device_start(); | |
| 42 | virtual void device_reset(); | |
| 43 | ||
| 44 | // device_ql_expansion_card_interface overrides | |
| 45 | ||
| 46 | private: | |
| 47 | required_memory_region m_rom; | |
| 48 | }; | |
| 49 | ||
| 50 | ||
| 51 | // device type definition | |
| 52 | extern const device_type SANDY_SUPER_DISK; | |
| 53 | ||
| 54 | ||
| 55 | #endif | |
| 56 | // license:BSD-3-Clause | |
| 57 | // copyright-holders:Curt Coder | |
| 58 | /********************************************************************** | |
| 59 | ||
| 60 | Sandy Super Disk emulation | |
| 61 | ||
| 62 | Copyright MESS Team. | |
| 63 | Visit http://mamedev.org for licensing and usage restrictions. | |
| 64 | ||
| 65 | **********************************************************************/ | |
| 66 | ||
| 67 | #pragma once | |
| 68 | ||
| 69 | #ifndef __SANDY_SUPER_DISK__ | |
| 70 | #define __SANDY_SUPER_DISK__ | |
| 71 | ||
| 72 | #include "exp.h" | |
| 73 | #include "machine/wd_fdc.h" | |
| 74 | ||
| 75 | ||
| 76 | ||
| 77 | //************************************************************************** | |
| 78 | // TYPE DEFINITIONS | |
| 79 | //************************************************************************** | |
| 80 | ||
| 81 | // ======================> sandy_super_disk_device | |
| 82 | ||
| 83 | class sandy_super_disk_t : public device_t, | |
| 84 | public device_ql_expansion_card_interface | |
| 85 | { | |
| 86 | public: | |
| 87 | // construction/destruction | |
| 88 | sandy_super_disk_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); | |
| 89 | ||
| 90 | // optional information overrides | |
| 91 | virtual const rom_entry *device_rom_region() const; | |
| 92 | virtual machine_config_constructor device_mconfig_additions() const; | |
| 93 | ||
| 94 | protected: | |
| 95 | // device-level overrides | |
| 96 | virtual void device_start(); | |
| 97 | virtual void device_reset(); | |
| 98 | ||
| 99 | // device_ql_expansion_card_interface overrides | |
| 100 | ||
| 101 | private: | |
| 102 | required_memory_region m_rom; | |
| 103 | }; | |
| 104 | ||
| 105 | ||
| 106 | // device type definition | |
| 107 | extern const device_type SANDY_SUPER_DISK; | |
| 108 | ||
| 109 | ||
| 110 | #endif |
| Added: svn:mime-type + text/plain Added: svn:eol-style + native |
| r30632 | r30633 | |
|---|---|---|
| 1133 | 1133 | BUSOBJS += $(BUSOBJ)/zorro/action_replay.o |
| 1134 | 1134 | BUSOBJS += $(BUSOBJ)/zorro/buddha.o |
| 1135 | 1135 | endif |
| 1136 | ||
| 1137 | #------------------------------------------------- | |
| 1138 | # | |
| 1139 | #@src/emu/bus/ql/exp.h,BUSES += QL | |
| 1140 | #------------------------------------------------- | |
| 1141 | ||
| 1142 | ifneq ($(filter QL,$(BUSES)),) | |
| 1143 | OBJDIRS += $(BUSOBJ)/ql | |
| 1144 | BUSOBJS += $(BUSOBJ)/ql/exp.o | |
| 1145 | BUSOBJS += $(BUSOBJ)/ql/qimi.o | |
| 1146 | BUSOBJS += $(BUSOBJ)/ql/sandy_superdisk.o | |
| 1147 | BUSOBJS += $(BUSOBJ)/ql/sandy_superqboard.o | |
| 1148 | BUSOBJS += $(BUSOBJ)/ql/trumpcard.o | |
| 1149 | endif |
| r30632 | r30633 | |
|---|---|---|
| 5 | 5 | #ifndef __QL__ |
| 6 | 6 | #define __QL__ |
| 7 | 7 | |
| 8 | #include "emu.h" | |
| 9 | #include "bus/centronics/ctronics.h" | |
| 10 | #include "bus/ql/exp.h" | |
| 8 | 11 | #include "bus/rs232/rs232.h" |
| 12 | #include "cpu/m68000/m68000.h" | |
| 13 | #include "cpu/mcs48/mcs48.h" | |
| 14 | #include "cpu/mcs51/mcs51.h" | |
| 15 | #include "formats/basicdsk.h" | |
| 16 | #include "imagedev/cartslot.h" | |
| 17 | #include "imagedev/flopdrv.h" | |
| 18 | #include "imagedev/printer.h" | |
| 9 | 19 | #include "machine/ram.h" |
| 20 | #include "machine/microdrv.h" | |
| 10 | 21 | #include "machine/wd17xx.h" |
| 11 | #include "bus/centronics/ctronics.h" | |
| 22 | #include "machine/zx8302.h" | |
| 23 | #include "sound/speaker.h" | |
| 24 | #include "video/zx8301.h" | |
| 12 | 25 | |
| 13 | ||
| 14 | 26 | #define SCREEN_TAG "screen" |
| 15 | 27 | |
| 16 | 28 | #define M68008_TAG "ic18" |
| r30632 | r30633 | |
|---|---|---|
| 75 | 75 | */ |
| 76 | 76 | |
| 77 | 77 | |
| 78 | #include "emu.h" | |
| 79 | #include "cpu/m68000/m68000.h" | |
| 80 | #include "cpu/mcs48/mcs48.h" | |
| 81 | #include "cpu/mcs51/mcs51.h" | |
| 82 | #include "imagedev/cartslot.h" | |
| 83 | #include "imagedev/flopdrv.h" | |
| 84 | #include "imagedev/printer.h" | |
| 85 | #include "machine/ram.h" | |
| 86 | #include "machine/microdrv.h" | |
| 87 | #include "formats/basicdsk.h" | |
| 88 | #include "machine/zx8302.h" | |
| 89 | #include "sound/speaker.h" | |
| 90 | #include "video/zx8301.h" | |
| 91 | 78 | #include "includes/ql.h" |
| 92 | #include "machine/wd17xx.h" | |
| 93 | 79 | #include "debugger.h" |
| 94 | 80 | |
| 95 | 81 | #define LOG_DISK_WRITE 0 |
| r30632 | r30633 | |
| 1127 | 1113 | MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL) // wired as DTE |
| 1128 | 1114 | MCFG_RS232_CTS_HANDLER(DEVWRITELINE(ZX8302_TAG, zx8302_device, write_cts2)) |
| 1129 | 1115 | |
| 1116 | MCFG_QL_EXPANSION_SLOT_ADD("exp", ql_expansion_cards, NULL) | |
| 1117 | //MCFG_QL_EXPANSION_SLOT_IPL0L_CALLBACK() | |
| 1118 | //MCFG_QL_EXPANSION_SLOT_IPL1L_CALLBACK() | |
| 1119 | //MCFG_QL_EXPANSION_SLOT_BERRL_CALLBACK() | |
| 1120 | //MCFG_QL_EXPANSION_SLOT_EXTINTL_CALLBACK() | |
| 1121 | ||
| 1130 | 1122 | // cartridge |
| 1131 | 1123 | MCFG_CARTSLOT_ADD("cart") |
| 1132 | 1124 | MCFG_CARTSLOT_EXTENSION_LIST("bin,rom") |
| r30632 | r30633 | |
|---|---|---|
| 598 | 598 | BUSES += PC_KBD |
| 599 | 599 | BUSES += PET |
| 600 | 600 | BUSES += PLUS4 |
| 601 | BUSES += QL | |
| 601 | 602 | BUSES += RS232 |
| 602 | 603 | BUSES += S100 |
| 603 | 604 | BUSES += SATURN |
| Previous | 199869 Revisions | Next |