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

trunk/src/emu/bus/ql/qimi.c
r0r30633
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
41const device_type QIMI = &device_creator<qimi_t>;
42
43
44//-------------------------------------------------
45//  MACHINE_CONFIG_FRAGMENT( qimi )
46//-------------------------------------------------
47
48static MACHINE_CONFIG_FRAGMENT( qimi )
49MACHINE_CONFIG_END
50
51
52//-------------------------------------------------
53//  machine_config_additions - device-specific
54//  machine configurations
55//-------------------------------------------------
56
57machine_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
67static 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)
78INPUT_PORTS_END
79
80
81//-------------------------------------------------
82//  input_ports - device-specific input ports
83//-------------------------------------------------
84
85ioport_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
100qimi_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
114void qimi_t::device_start()
115{
116}
117
118
119//-------------------------------------------------
120//  device_reset - device-specific reset
121//-------------------------------------------------
122
123void 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
166const device_type QIMI = &device_creator<qimi_t>;
167
168
169//-------------------------------------------------
170//  MACHINE_CONFIG_FRAGMENT( qimi )
171//-------------------------------------------------
172
173static MACHINE_CONFIG_FRAGMENT( qimi )
174MACHINE_CONFIG_END
175
176
177//-------------------------------------------------
178//  machine_config_additions - device-specific
179//  machine configurations
180//-------------------------------------------------
181
182machine_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
192static 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)
203INPUT_PORTS_END
204
205
206//-------------------------------------------------
207//  input_ports - device-specific input ports
208//-------------------------------------------------
209
210ioport_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
225qimi_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
239void qimi_t::device_start()
240{
241}
242
243
244//-------------------------------------------------
245//  device_reset - device-specific reset
246//-------------------------------------------------
247
248void qimi_t::device_reset()
249{
250}
Property changes on: trunk/src/emu/bus/ql/qimi.c
Added: svn:eol-style
   + native
Added: svn:mime-type
   + text/plain
trunk/src/emu/bus/ql/exp.h
r0r30633
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
86class ql_expansion_slot_t;
87
88class device_ql_expansion_card_interface : public device_slot_card_interface
89{
90   friend class ql_expansion_slot_t;
91
92public:
93   // construction/destruction
94   device_ql_expansion_card_interface(const machine_config &mconfig, device_t &device);
95
96protected:
97   ql_expansion_slot_t  *m_slot;
98};
99
100
101// ======================> ql_expansion_slot_t
102
103class ql_expansion_slot_t : public device_t,
104                     public device_slot_interface
105{
106public:
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
117protected:
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
131extern const device_type QL_EXPANSION_SLOT;
132
133
134SLOT_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
224class ql_expansion_slot_t;
225
226class device_ql_expansion_card_interface : public device_slot_card_interface
227{
228   friend class ql_expansion_slot_t;
229
230public:
231   // construction/destruction
232   device_ql_expansion_card_interface(const machine_config &mconfig, device_t &device);
233
234protected:
235   ql_expansion_slot_t  *m_slot;
236};
237
238
239// ======================> ql_expansion_slot_t
240
241class ql_expansion_slot_t : public device_t,
242                     public device_slot_interface
243{
244public:
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
255protected:
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
269extern const device_type QL_EXPANSION_SLOT;
270
271
272SLOT_INTERFACE_EXTERN( ql_expansion_cards );
273
274
275
276#endif
Property changes on: trunk/src/emu/bus/ql/exp.h
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/emu/bus/ql/trumpcard.c
r0r30633
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
26const device_type QL_TRUMP_CARD = &device_creator<ql_trump_card_t>;
27
28
29//-------------------------------------------------
30//  ROM( ql_trump_card )
31//-------------------------------------------------
32
33ROM_START( ql_trump_card )
34   ROM_REGION( 0x8000, "rom", 0 )
35   ROM_LOAD( "trumpcard-125.rom", 0x0000, 0x8000, CRC(938eaa46) SHA1(9b3458cf3a279ed86ba395dc45c8f26939d6c44d) )
36ROM_END
37
38
39//-------------------------------------------------
40//  rom_region - device-specific ROM region
41//-------------------------------------------------
42
43const 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
53static MACHINE_CONFIG_FRAGMENT( ql_trump_card )
54MACHINE_CONFIG_END
55
56
57//-------------------------------------------------
58//  machine_config_additions - device-specific
59//  machine configurations
60//-------------------------------------------------
61
62machine_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
77ql_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
89void ql_trump_card_t::device_start()
90{
91}
92
93
94//-------------------------------------------------
95//  device_reset - device-specific reset
96//-------------------------------------------------
97
98void 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
126const device_type QL_TRUMP_CARD = &device_creator<ql_trump_card_t>;
127
128
129//-------------------------------------------------
130//  ROM( ql_trump_card )
131//-------------------------------------------------
132
133ROM_START( ql_trump_card )
134   ROM_REGION( 0x8000, "rom", 0 )
135   ROM_LOAD( "trumpcard-125.rom", 0x0000, 0x8000, CRC(938eaa46) SHA1(9b3458cf3a279ed86ba395dc45c8f26939d6c44d) )
136ROM_END
137
138
139//-------------------------------------------------
140//  rom_region - device-specific ROM region
141//-------------------------------------------------
142
143const 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
153static MACHINE_CONFIG_FRAGMENT( ql_trump_card )
154MACHINE_CONFIG_END
155
156
157//-------------------------------------------------
158//  machine_config_additions - device-specific
159//  machine configurations
160//-------------------------------------------------
161
162machine_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
177ql_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
189void ql_trump_card_t::device_start()
190{
191}
192
193
194//-------------------------------------------------
195//  device_reset - device-specific reset
196//-------------------------------------------------
197
198void ql_trump_card_t::device_reset()
199{
200}
Property changes on: trunk/src/emu/bus/ql/trumpcard.c
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/emu/bus/ql/qimi.h
r0r30633
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
27class qimi_t : public device_t,
28            public device_ql_expansion_card_interface
29{
30public:
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
38protected:
39   // device-level overrides
40   virtual void device_start();
41   virtual void device_reset();
42
43   // device_ql_expansion_card_interface overrides
44
45private:
46   required_ioport m_mousex;
47   required_ioport m_mousey;
48   required_ioport m_mouseb;
49};
50
51
52// device type definition
53extern 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
83class qimi_t : public device_t,
84            public device_ql_expansion_card_interface
85{
86public:
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
94protected:
95   // device-level overrides
96   virtual void device_start();
97   virtual void device_reset();
98
99   // device_ql_expansion_card_interface overrides
100
101private:
102   required_ioport m_mousex;
103   required_ioport m_mousey;
104   required_ioport m_mouseb;
105};
106
107
108// device type definition
109extern const device_type QIMI;
110
111
112#endif
Property changes on: trunk/src/emu/bus/ql/qimi.h
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/emu/bus/ql/sandy_superqboard.c
r0r30633
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
26const device_type SANDY_SUPERQBOARD = &device_creator<sandy_superqboard_t>;
27
28
29//-------------------------------------------------
30//  ROM( sandy_superqboard )
31//-------------------------------------------------
32
33ROM_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) )
36ROM_END
37
38
39//-------------------------------------------------
40//  rom_region - device-specific ROM region
41//-------------------------------------------------
42
43const 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
53static MACHINE_CONFIG_FRAGMENT( sandy_superqboard )
54MACHINE_CONFIG_END
55
56
57//-------------------------------------------------
58//  machine_config_additions - device-specific
59//  machine configurations
60//-------------------------------------------------
61
62machine_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
77sandy_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
89void sandy_superqboard_t::device_start()
90{
91}
92
93
94//-------------------------------------------------
95//  device_reset - device-specific reset
96//-------------------------------------------------
97
98void 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
126const device_type SANDY_SUPERQBOARD = &device_creator<sandy_superqboard_t>;
127
128
129//-------------------------------------------------
130//  ROM( sandy_superqboard )
131//-------------------------------------------------
132
133ROM_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) )
136ROM_END
137
138
139//-------------------------------------------------
140//  rom_region - device-specific ROM region
141//-------------------------------------------------
142
143const 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
153static MACHINE_CONFIG_FRAGMENT( sandy_superqboard )
154MACHINE_CONFIG_END
155
156
157//-------------------------------------------------
158//  machine_config_additions - device-specific
159//  machine configurations
160//-------------------------------------------------
161
162machine_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
177sandy_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
189void sandy_superqboard_t::device_start()
190{
191}
192
193
194//-------------------------------------------------
195//  device_reset - device-specific reset
196//-------------------------------------------------
197
198void sandy_superqboard_t::device_reset()
199{
200}
Property changes on: trunk/src/emu/bus/ql/sandy_superqboard.c
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/emu/bus/ql/trumpcard.h
r0r30633
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
27class ql_trump_card_t : public device_t,
28                     public device_ql_expansion_card_interface
29{
30public:
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
38protected:
39   // device-level overrides
40   virtual void device_start();
41   virtual void device_reset();
42
43   // device_ql_expansion_card_interface overrides
44
45private:
46   required_memory_region m_rom;
47};
48
49
50// device type definition
51extern 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
81class ql_trump_card_t : public device_t,
82                     public device_ql_expansion_card_interface
83{
84public:
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
92protected:
93   // device-level overrides
94   virtual void device_start();
95   virtual void device_reset();
96
97   // device_ql_expansion_card_interface overrides
98
99private:
100   required_memory_region m_rom;
101};
102
103
104// device type definition
105extern const device_type QL_TRUMP_CARD;
106
107
108#endif
Property changes on: trunk/src/emu/bus/ql/trumpcard.h
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/emu/bus/ql/sandy_superdisk.c
r0r30633
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
26const device_type SANDY_SUPER_DISK = &device_creator<sandy_super_disk_t>;
27
28
29//-------------------------------------------------
30//  ROM( sandy_super_disk )
31//-------------------------------------------------
32
33ROM_START( sandy_super_disk )
34   ROM_REGION( 0x4000, "rom", 0 )
35   ROM_LOAD( "sandysuperdisk.rom", 0x0000, 0x4000, CRC(b52077da) SHA1(bf531758145ffd083e01c1cf9c45d0e9264a3b53) )
36ROM_END
37
38
39//-------------------------------------------------
40//  rom_region - device-specific ROM region
41//-------------------------------------------------
42
43const 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
53static MACHINE_CONFIG_FRAGMENT( sandy_super_disk )
54MACHINE_CONFIG_END
55
56
57//-------------------------------------------------
58//  machine_config_additions - device-specific
59//  machine configurations
60//-------------------------------------------------
61
62machine_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
77sandy_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
89void sandy_super_disk_t::device_start()
90{
91}
92
93
94//-------------------------------------------------
95//  device_reset - device-specific reset
96//-------------------------------------------------
97
98void 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
126const device_type SANDY_SUPER_DISK = &device_creator<sandy_super_disk_t>;
127
128
129//-------------------------------------------------
130//  ROM( sandy_super_disk )
131//-------------------------------------------------
132
133ROM_START( sandy_super_disk )
134   ROM_REGION( 0x4000, "rom", 0 )
135   ROM_LOAD( "sandysuperdisk.rom", 0x0000, 0x4000, CRC(b52077da) SHA1(bf531758145ffd083e01c1cf9c45d0e9264a3b53) )
136ROM_END
137
138
139//-------------------------------------------------
140//  rom_region - device-specific ROM region
141//-------------------------------------------------
142
143const 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
153static MACHINE_CONFIG_FRAGMENT( sandy_super_disk )
154MACHINE_CONFIG_END
155
156
157//-------------------------------------------------
158//  machine_config_additions - device-specific
159//  machine configurations
160//-------------------------------------------------
161
162machine_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
177sandy_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
189void sandy_super_disk_t::device_start()
190{
191}
192
193
194//-------------------------------------------------
195//  device_reset - device-specific reset
196//-------------------------------------------------
197
198void sandy_super_disk_t::device_reset()
199{
200}
Property changes on: trunk/src/emu/bus/ql/sandy_superdisk.c
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/emu/bus/ql/sandy_superqboard.h
r0r30633
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
29class sandy_superqboard_t : public device_t,
30                        public device_ql_expansion_card_interface
31{
32public:
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
40protected:
41   // device-level overrides
42   virtual void device_start();
43   virtual void device_reset();
44
45   // device_ql_expansion_card_interface overrides
46
47private:
48   required_memory_region m_rom;
49};
50
51
52// device type definition
53extern 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
85class sandy_superqboard_t : public device_t,
86                        public device_ql_expansion_card_interface
87{
88public:
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
96protected:
97   // device-level overrides
98   virtual void device_start();
99   virtual void device_reset();
100
101   // device_ql_expansion_card_interface overrides
102
103private:
104   required_memory_region m_rom;
105};
106
107
108// device type definition
109extern const device_type SANDY_SUPERQBOARD;
110
111
112#endif
Property changes on: trunk/src/emu/bus/ql/sandy_superqboard.h
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/emu/bus/ql/exp.c
r0r30633
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
20const 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
32device_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
48ql_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
63void 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
85SLOT_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)
90SLOT_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
110const 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
122device_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
138ql_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
153void 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
175SLOT_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)
180SLOT_INTERFACE_END
Property changes on: trunk/src/emu/bus/ql/exp.c
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/emu/bus/ql/sandy_superdisk.h
r0r30633
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
28class sandy_super_disk_t : public device_t,
29                        public device_ql_expansion_card_interface
30{
31public:
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
39protected:
40   // device-level overrides
41   virtual void device_start();
42   virtual void device_reset();
43
44   // device_ql_expansion_card_interface overrides
45
46private:
47   required_memory_region m_rom;
48};
49
50
51// device type definition
52extern 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
83class sandy_super_disk_t : public device_t,
84                        public device_ql_expansion_card_interface
85{
86public:
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
94protected:
95   // device-level overrides
96   virtual void device_start();
97   virtual void device_reset();
98
99   // device_ql_expansion_card_interface overrides
100
101private:
102   required_memory_region m_rom;
103};
104
105
106// device type definition
107extern const device_type SANDY_SUPER_DISK;
108
109
110#endif
Property changes on: trunk/src/emu/bus/ql/sandy_superdisk.h
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/emu/bus/bus.mak
r30632r30633
11331133BUSOBJS += $(BUSOBJ)/zorro/action_replay.o
11341134BUSOBJS += $(BUSOBJ)/zorro/buddha.o
11351135endif
1136
1137#-------------------------------------------------
1138#
1139#@src/emu/bus/ql/exp.h,BUSES += QL
1140#-------------------------------------------------
1141
1142ifneq ($(filter QL,$(BUSES)),)
1143OBJDIRS += $(BUSOBJ)/ql
1144BUSOBJS += $(BUSOBJ)/ql/exp.o
1145BUSOBJS += $(BUSOBJ)/ql/qimi.o
1146BUSOBJS += $(BUSOBJ)/ql/sandy_superdisk.o
1147BUSOBJS += $(BUSOBJ)/ql/sandy_superqboard.o
1148BUSOBJS += $(BUSOBJ)/ql/trumpcard.o
1149endif
trunk/src/mess/includes/ql.h
r30632r30633
55#ifndef __QL__
66#define __QL__
77
8#include "emu.h"
9#include "bus/centronics/ctronics.h"
10#include "bus/ql/exp.h"
811#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"
919#include "machine/ram.h"
20#include "machine/microdrv.h"
1021#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"
1225
13
1426#define SCREEN_TAG  "screen"
1527
1628#define M68008_TAG  "ic18"
trunk/src/mess/drivers/ql.c
r30632r30633
7575*/
7676
7777
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"
9178#include "includes/ql.h"
92#include "machine/wd17xx.h"
9379#include "debugger.h"
9480
9581#define LOG_DISK_WRITE  0
r30632r30633
11271113   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL) // wired as DTE
11281114   MCFG_RS232_CTS_HANDLER(DEVWRITELINE(ZX8302_TAG, zx8302_device, write_cts2))
11291115
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
11301122   // cartridge
11311123   MCFG_CARTSLOT_ADD("cart")
11321124   MCFG_CARTSLOT_EXTENSION_LIST("bin,rom")
trunk/src/mess/mess.mak
r30632r30633
598598BUSES += PC_KBD
599599BUSES += PET
600600BUSES += PLUS4
601BUSES += QL
601602BUSES += RS232
602603BUSES += S100
603604BUSES += SATURN

Previous 199869 Revisions Next


© 1997-2024 The MAME Team