Previous 199869 Revisions Next

r22526 Wednesday 24th April, 2013 at 14:54:54 UTC by Miodrag Milanović
removed implementation of legacy DEVCB_MEMORY_HANDLER and used members instead (nw)
this require clean compile
[src/emu]devcb.c devcb.h
[src/mame/drivers]dkong.c mario.c nbmj8688.c
[src/mame/includes]dkong.h mario.h nbmj8688.h
[src/mess/drivers]b16.c bigbord2.c bullet.c dmv.c p8k.c qx10.c super6.c trs80m2.c vidbrain.c x1.c x1twin.c
[src/mess/includes]bullet.h radio86.h super6.h trs80m2.h vidbrain.h x1.h
[src/mess/machine]lux21046.c lux21046.h partner.c radio86.c x1.c

trunk/src/emu/devcb.c
r22525r22526
7070   static ioport_port *resolve_port(const char *tag, device_t &current);
7171   static device_t *resolve_device(int index, const char *tag, device_t &current);
7272   static device_execute_interface *resolve_execute_interface(const char *tag, device_t &current);
73   static address_space &resolve_space(int index, const char *tag, device_t &current);
7473};
7574
7675
r22525r22526
130129}
131130
132131
133//-------------------------------------------------
134//  resolve_space - resolve to an address space
135//  given a device tag and a space index
136//-------------------------------------------------
137
138address_space &devcb_resolver::resolve_space(int index, const char *tag, device_t &current)
139{
140   // find our target device
141   device_t *targetdev = current.siblingdevice(tag);
142   if (targetdev == NULL)
143      throw emu_fatalerror("Unable to resolve device '%s' (requested by %s '%s')", tag, current.name(), current.tag());
144
145   // make sure the target device has a memory interface
146   device_memory_interface *memory;
147   if (!targetdev->interface(memory))
148      throw emu_fatalerror("Device '%s' (requested by %s '%s') has no memory interface", tag, current.name(), current.tag());
149
150   // set the real target and function, then prime a delegate
151   if (!memory->has_space(index))
152      throw emu_fatalerror("Unable to find device '%s' space %d (requested by %s '%s')", tag, index, current.name(), current.tag());
153   return memory->space(index);
154}
155
156
157
158132//**************************************************************************
159133//  DEVCB RESOLVED READ LINE
160134//**************************************************************************
r22525r22526
202176         }
203177         break;
204178
205      case DEVCB_TYPE_LEGACY_SPACE:
206         m_object.space = &devcb_resolver::resolve_space(desc.index, desc.tag, device);
207         m_helper.read8_space = desc.readspace;
208         *static_cast<devcb_read_line_delegate *>(this) = devcb_read_line_delegate(&devcb_resolved_read_line::from_read8, desc.name, this);
209         break;
210
211179      case DEVCB_TYPE_CONSTANT:
212180         m_object.constant = desc.index;
213181         *static_cast<devcb_read_line_delegate *>(this) = devcb_read_line_delegate(&devcb_resolved_read_line::from_constant, "constant", this);
r22525r22526
313281         }
314282         break;
315283
316      case DEVCB_TYPE_LEGACY_SPACE:
317         m_object.space = &devcb_resolver::resolve_space(desc.index, desc.tag, device);
318         m_helper.write8_space = desc.writespace;
319         *static_cast<devcb_write_line_delegate *>(this) = devcb_write_line_delegate(&devcb_resolved_write_line::to_write8, desc.name, this);
320         break;
321
322284      case DEVCB_TYPE_INPUT_LINE:
323285         m_object.execute = devcb_resolver::resolve_execute_interface(desc.tag, device);
324286         m_helper.input_line = desc.index;
r22525r22526
437399         }
438400         break;
439401
440      case DEVCB_TYPE_LEGACY_SPACE:
441         m_object.space = &devcb_resolver::resolve_space(desc.index, desc.tag, device);
442         m_helper.read8_space = desc.readspace;
443         *static_cast<devcb_read8_delegate *>(this) = devcb_read8_delegate(&devcb_resolved_read8::from_read8space, desc.name, this);
444         break;
445
446402      case DEVCB_TYPE_CONSTANT:
447403         m_object.constant = desc.index;
448404         *static_cast<devcb_read8_delegate *>(this) = devcb_read8_delegate(&devcb_resolved_read8::from_constant, "constant", this);
r22525r22526
572528         }
573529         break;
574530
575      case DEVCB_TYPE_LEGACY_SPACE:
576         m_object.space = &devcb_resolver::resolve_space(desc.index, desc.tag, device);
577         m_helper.write8_space = desc.writespace;
578         *static_cast<devcb_write8_delegate *>(this) = devcb_write8_delegate(&devcb_resolved_write8::to_write8space, desc.name, this);
579         break;
580
581531      case DEVCB_TYPE_INPUT_LINE:
582532         m_object.execute = devcb_resolver::resolve_execute_interface(desc.tag, device);
583533         m_helper.input_line = desc.index;
r22525r22526
719669         }
720670         break;
721671
722      case DEVCB_TYPE_LEGACY_SPACE:
723         m_object.space = &devcb_resolver::resolve_space(desc.index, desc.tag, device);
724         *static_cast<devcb_read16_delegate *>(this) = devcb_read16_delegate(desc.readspace, desc.name, m_object.space);
725         break;
726
727672      case DEVCB_TYPE_CONSTANT:
728673         m_object.constant = desc.index;
729674         *static_cast<devcb_read16_delegate *>(this) = devcb_read16_delegate(&devcb_resolved_read16::from_constant, "constant", this);
r22525r22526
842787         }
843788         break;
844789
845      case DEVCB_TYPE_LEGACY_SPACE:
846         m_object.space = &devcb_resolver::resolve_space(desc.index, desc.tag, device);
847         *static_cast<devcb_write16_delegate *>(this) = devcb_write16_delegate(desc.writespace, desc.name, m_object.space);
848         break;
849
850790      case DEVCB_TYPE_INPUT_LINE:
851791         m_object.execute = devcb_resolver::resolve_execute_interface(desc.tag, device);
852792         m_helper.input_line = desc.index;
r22525r22526
976916         }
977917         break;
978918
979      case DEVCB_TYPE_LEGACY_SPACE:
980         m_object.space = &devcb_resolver::resolve_space(desc.index, desc.tag, device);
981         *static_cast<devcb_read32_delegate *>(this) = devcb_read32_delegate(desc.readspace, desc.name, m_object.space);
982         break;
983
984919      case DEVCB_TYPE_CONSTANT:
985920         m_object.constant = desc.index;
986921         *static_cast<devcb_read32_delegate *>(this) = devcb_read32_delegate(&devcb_resolved_read32::from_constant, "constant", this);
r22525r22526
10991034         }
11001035         break;
11011036
1102      case DEVCB_TYPE_LEGACY_SPACE:
1103         m_object.space = &devcb_resolver::resolve_space(desc.index, desc.tag, device);
1104         *static_cast<devcb_write32_delegate *>(this) = devcb_write32_delegate(desc.writespace, desc.name, m_object.space);
1105         break;
1106
11071037      case DEVCB_TYPE_INPUT_LINE:
11081038         m_object.execute = devcb_resolver::resolve_execute_interface(desc.tag, device);
11091039         m_helper.input_line = desc.index;
r22525r22526
12331163         }
12341164         break;
12351165
1236      case DEVCB_TYPE_LEGACY_SPACE:
1237         m_object.space = &devcb_resolver::resolve_space(desc.index, desc.tag, device);
1238         *static_cast<devcb_read64_delegate *>(this) = devcb_read64_delegate(desc.readspace, desc.name, m_object.space);
1239         break;
1240
12411166      case DEVCB_TYPE_CONSTANT:
12421167         m_object.constant = desc.index;
12431168         *static_cast<devcb_read64_delegate *>(this) = devcb_read64_delegate(&devcb_resolved_read64::from_constant, "constant", this);
r22525r22526
13561281         }
13571282         break;
13581283
1359      case DEVCB_TYPE_LEGACY_SPACE:
1360         m_object.space = &devcb_resolver::resolve_space(desc.index, desc.tag, device);
1361         *static_cast<devcb_write64_delegate *>(this) = devcb_write64_delegate(desc.writespace, desc.name, m_object.space);
1362         break;
1363
13641284      case DEVCB_TYPE_INPUT_LINE:
13651285         m_object.execute = devcb_resolver::resolve_execute_interface(desc.tag, device);
13661286         m_helper.input_line = desc.index;
trunk/src/emu/devcb.h
r22525r22526
100100   DEVCB_TYPE_NULL = 0,            // NULL callback
101101   DEVCB_TYPE_IOPORT,              // I/O port read/write
102102   DEVCB_TYPE_DEVICE,              // device read/write
103   DEVCB_TYPE_LEGACY_SPACE,        // legacy address space read/write
104103   DEVCB_TYPE_INPUT_LINE,          // device input line write
105104   DEVCB_TYPE_CONSTANT,            // constant value read
106105   DEVCB_TYPE_UNMAP                // unmapped line
r22525r22526
229228
230229#define DEVCB_UNMAPPED                          { DEVCB_TYPE_UNMAP, 0, NULL, NULL, NULL, NULL }
231230
232// read/write handlers for a given CPU's address space
233#define DEVCB_MEMORY_HANDLER(cpu,space,func)    { DEVCB_TYPE_LEGACY_SPACE, AS_##space, (cpu), #func, NULL, NULL, func }
234
235231// read handlers for an I/O port by tag
236232#define DEVCB_INPUT_PORT(tag)                   { DEVCB_TYPE_IOPORT, 0, (tag), NULL, NULL, NULL, NULL }
237233
trunk/src/mess/machine/partner.c
r22525r22526
363363   machine().device<i8257_device>("dma8257")->i8257_hlda_w(state);
364364}
365365
366static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
367static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
368
369366I8257_INTERFACE( partner_dma )
370367{
371368   DEVCB_DRIVER_LINE_MEMBER(partner_state,hrq_w),
372369   DEVCB_NULL,
373370   DEVCB_NULL,
374   DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, memory_read_byte),
375   DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, memory_write_byte),
371   DEVCB_DRIVER_MEMBER(radio86_state, memory_read_byte),
372   DEVCB_DRIVER_MEMBER(radio86_state, memory_write_byte),
376373   { DEVCB_DEVICE_HANDLER("wd1793", wd17xx_data_r), DEVCB_NULL, DEVCB_NULL, DEVCB_NULL },
377374   { DEVCB_DEVICE_HANDLER("wd1793", wd17xx_data_w), DEVCB_NULL, DEVCB_DEVICE_MEMBER("i8275", i8275_device, dack_w), DEVCB_NULL }
378375};
trunk/src/mess/machine/x1.c
r22525r22526
5353{
5454   x1_state *state = machine().driver_data<x1_state>();
5555   state->m_key_irq_flag = 0;
56   state->m_x1_cpu->set_input_line(INPUT_LINE_IRQ0,CLEAR_LINE);
56   state->m_maincpu->set_input_line(INPUT_LINE_IRQ0,CLEAR_LINE);
5757   return state->m_key_irq_vector;
5858}
5959
trunk/src/mess/machine/lux21046.c
r22525r22526
219219   m_maincpu->set_input_line(INPUT_LINE_IRQ0, m_fdc_irq || m_dma_irq);
220220}
221221
222static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
223static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
222READ8_MEMBER(luxor_55_21046_device::memory_read_byte)
223{
224   address_space& prog_space = m_maincpu->space(AS_PROGRAM);
225   return prog_space.read_byte(offset);
226}
224227
228WRITE8_MEMBER(luxor_55_21046_device::memory_write_byte)
229{
230   address_space& prog_space = m_maincpu->space(AS_PROGRAM);
231   return prog_space.write_byte(offset, data);
232}
233
234READ8_MEMBER(luxor_55_21046_device::io_read_byte)
235{
236   address_space& prog_space = m_maincpu->space(AS_IO);
237   return prog_space.read_byte(offset);
238}
239
240WRITE8_MEMBER(luxor_55_21046_device::io_write_byte)
241{
242   address_space& prog_space = m_maincpu->space(AS_IO);
243   return prog_space.write_byte(offset, data);
244}
245
225246static Z80DMA_INTERFACE( dma_intf )
226247{
227248   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_HALT),
228249   DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, luxor_55_21046_device, dma_int_w),
229250   DEVCB_NULL,
230   DEVCB_MEMORY_HANDLER(Z80_TAG, PROGRAM, memory_read_byte),
231   DEVCB_MEMORY_HANDLER(Z80_TAG, PROGRAM, memory_write_byte),
232   DEVCB_MEMORY_HANDLER(Z80_TAG, IO, memory_read_byte),
233   DEVCB_MEMORY_HANDLER(Z80_TAG, IO, memory_write_byte)
251   DEVCB_DEVICE_MEMBER(DEVICE_SELF_OWNER, luxor_55_21046_device, memory_read_byte),
252   DEVCB_DEVICE_MEMBER(DEVICE_SELF_OWNER, luxor_55_21046_device, memory_write_byte),
253   DEVCB_DEVICE_MEMBER(DEVICE_SELF_OWNER, luxor_55_21046_device, io_read_byte),
254   DEVCB_DEVICE_MEMBER(DEVICE_SELF_OWNER, luxor_55_21046_device, io_write_byte),
234255};
235256
236257
trunk/src/mess/machine/lux21046.h
r22525r22526
7171
7272   DECLARE_WRITE_LINE_MEMBER( dma_int_w );
7373
74   DECLARE_READ8_MEMBER(memory_read_byte);
75   DECLARE_WRITE8_MEMBER(memory_write_byte);
76   DECLARE_READ8_MEMBER(io_read_byte);
77   DECLARE_WRITE8_MEMBER(io_write_byte);
78
7479   void fdc_intrq_w(bool state);
7580   void fdc_drq_w(bool state);
7681
trunk/src/mess/machine/radio86.c
r22525r22526
134134   m_dma8257->i8257_hlda_w(state);
135135}
136136
137static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
138static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
137READ8_MEMBER(radio86_state::memory_read_byte)
138{
139   address_space& prog_space = m_maincpu->space(AS_PROGRAM);
140   return prog_space.read_byte(offset);
141}
139142
143WRITE8_MEMBER(radio86_state::memory_write_byte)
144{
145   address_space& prog_space = m_maincpu->space(AS_PROGRAM);
146   return prog_space.write_byte(offset, data);
147}
148
140149I8257_INTERFACE( radio86_dma )
141150{
142151   DEVCB_DRIVER_LINE_MEMBER(radio86_state,hrq_w),
143152   DEVCB_NULL,
144153   DEVCB_NULL,
145   DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, memory_read_byte),
146   DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, memory_write_byte),
154   DEVCB_DRIVER_MEMBER(radio86_state, memory_read_byte),
155   DEVCB_DRIVER_MEMBER(radio86_state, memory_write_byte),
147156   { DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL },
148157   { DEVCB_NULL, DEVCB_NULL, DEVCB_DEVICE_MEMBER("i8275", i8275_device, dack_w), DEVCB_NULL }
149158};
trunk/src/mess/includes/trs80m2.h
r22525r22526
126126   int m_enable_rtc_int;
127127
128128   TIMER_DEVICE_CALLBACK_MEMBER(ctc_tick);
129   DECLARE_READ8_MEMBER(io_read_byte);
130   DECLARE_WRITE8_MEMBER(io_write_byte);   
129131};
130132
131133class trs80m16_state : public trs80m2_state
trunk/src/mess/includes/vidbrain.h
r22525r22526
9696   DECLARE_INPUT_CHANGED_MEMBER( trigger_reset );
9797   DECLARE_WRITE_LINE_MEMBER( ext_int_w );
9898   DECLARE_WRITE_LINE_MEMBER( hblank_w );
99   DECLARE_READ8_MEMBER(memory_read_byte);
100   
99101
100102   IRQ_CALLBACK_MEMBER(vidbrain_int_ack);
101103
trunk/src/mess/includes/radio86.h
r22525r22526
7272   DECLARE_WRITE8_MEMBER(radio86_romdisk_portb_w);
7373   DECLARE_WRITE8_MEMBER(radio86_romdisk_portc_w);
7474   DECLARE_WRITE8_MEMBER(mikrosha_8255_font_page_w);
75
75   DECLARE_READ8_MEMBER(memory_read_byte);
76   DECLARE_WRITE8_MEMBER(memory_write_byte);
7677   required_device<cpu_device> m_maincpu;
7778protected:
7879   required_device<cassette_image_device> m_cassette;
trunk/src/mess/includes/bullet.h
r22525r22526
121121
122122   TIMER_DEVICE_CALLBACK_MEMBER(ctc_tick);
123123   DECLARE_WRITE_LINE_MEMBER(dart_rxtxca_w);
124   DECLARE_READ8_MEMBER(io_read_byte);
125   DECLARE_WRITE8_MEMBER(io_write_byte);
124126};
125127
126128class bulletf_state : public bullet_state
trunk/src/mess/includes/x1.h
r22525r22526
7575public:
7676   x1_state(const machine_config &mconfig, device_type type, const char *tag)
7777      : driver_device(mconfig, type, tag),
78   m_x1_cpu(*this,"x1_cpu"),
78   m_maincpu(*this,"x1_cpu"),
7979   m_cassette(*this, "cassette"),
8080   m_fdc(*this, "fdc"),
8181   m_crtc(*this, "crtc"),
8282   m_ctc(*this, "ctc")
8383   { }
8484
85   required_device<cpu_device> m_x1_cpu;
85   required_device<cpu_device> m_maincpu;
8686   required_device<cassette_image_device> m_cassette;
8787   required_device<mb8877_device> m_fdc;
8888   required_device<mc6845_device> m_crtc;
r22525r22526
223223   int priority_mixer_pri(int color);
224224   void cmt_command( UINT8 cmd );
225225   UINT16 jis_convert(int kanji_addr);
226   
227   DECLARE_READ8_MEMBER(memory_read_byte);
228   DECLARE_WRITE8_MEMBER(memory_write_byte);
229   DECLARE_READ8_MEMBER(io_read_byte);
230   DECLARE_WRITE8_MEMBER(io_write_byte);
226231};
227232
228233/*----------- defined in machine/x1.c -----------*/
trunk/src/mess/includes/super6.h
r22525r22526
7878   UINT8 m_bank1;
7979   TIMER_DEVICE_CALLBACK_MEMBER(ctc_tick);
8080   DECLARE_WRITE8_MEMBER(dummy_w);
81   DECLARE_READ8_MEMBER(memory_read_byte);
82   DECLARE_WRITE8_MEMBER(memory_write_byte);
83   DECLARE_READ8_MEMBER(io_read_byte);
84   DECLARE_WRITE8_MEMBER(io_write_byte);
8185};
8286
8387#endif
trunk/src/mess/drivers/bigbord2.c
r22525r22526
147147   DECLARE_DRIVER_INIT(bigbord2);
148148   TIMER_DEVICE_CALLBACK_MEMBER(ctc_tick);
149149   DECLARE_WRITE_LINE_MEMBER(bigbord2_interrupt);
150   DECLARE_READ8_MEMBER(memory_read_byte);
151   DECLARE_WRITE8_MEMBER(memory_write_byte);
152   DECLARE_READ8_MEMBER(io_read_byte);
153   DECLARE_WRITE8_MEMBER(io_write_byte);   
150154};
151155
152156/* Status port
r22525r22526
211215/* Z80 DMA */
212216
213217
214static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
215static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
218READ8_MEMBER(bigbord2_state::memory_read_byte)
219{
220   address_space& prog_space = m_maincpu->space(AS_PROGRAM);
221   return prog_space.read_byte(offset);
222}
216223
224WRITE8_MEMBER(bigbord2_state::memory_write_byte)
225{
226   address_space& prog_space = m_maincpu->space(AS_PROGRAM);
227   return prog_space.write_byte(offset, data);
228}
229
230READ8_MEMBER(bigbord2_state::io_read_byte)
231{
232   address_space& prog_space = m_maincpu->space(AS_IO);
233   return prog_space.read_byte(offset);
234}
235
236WRITE8_MEMBER(bigbord2_state::io_write_byte)
237{
238   address_space& prog_space = m_maincpu->space(AS_IO);
239   return prog_space.write_byte(offset, data);
240}
241
217242static Z80DMA_INTERFACE( dma_intf )
218243{
219244   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_HALT), // actually BUSRQ
220245   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
221246   DEVCB_NULL,
222   DEVCB_MEMORY_HANDLER(Z80_TAG, PROGRAM, memory_read_byte),
223   DEVCB_MEMORY_HANDLER(Z80_TAG, PROGRAM, memory_write_byte),
224   DEVCB_MEMORY_HANDLER(Z80_TAG, IO, memory_read_byte),
225   DEVCB_MEMORY_HANDLER(Z80_TAG, IO, memory_write_byte)
247   DEVCB_DRIVER_MEMBER(bigbord2_state, memory_read_byte),
248   DEVCB_DRIVER_MEMBER(bigbord2_state, memory_write_byte),
249   DEVCB_DRIVER_MEMBER(bigbord2_state, io_read_byte),
250   DEVCB_DRIVER_MEMBER(bigbord2_state, io_write_byte),
251
226252};
227253
228254
trunk/src/mess/drivers/x1.c
r22525r22526
18951895   NULL        /* update address callback */
18961896};
18971897
1898static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
1899static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
1898READ8_MEMBER(x1_state::memory_read_byte)
1899{
1900   address_space& prog_space = m_maincpu->space(AS_PROGRAM);
1901   return prog_space.read_byte(offset);
1902}
19001903
1904WRITE8_MEMBER(x1_state::memory_write_byte)
1905{
1906   address_space& prog_space = m_maincpu->space(AS_PROGRAM);
1907   return prog_space.write_byte(offset, data);
1908}
1909
1910READ8_MEMBER(x1_state::io_read_byte)
1911{
1912   address_space& prog_space = m_maincpu->space(AS_IO);
1913   return prog_space.read_byte(offset);
1914}
1915
1916WRITE8_MEMBER(x1_state::io_write_byte)
1917{
1918   address_space& prog_space = m_maincpu->space(AS_IO);
1919   return prog_space.write_byte(offset, data);
1920}
1921
19011922static Z80DMA_INTERFACE( x1_dma )
19021923{
19031924   DEVCB_CPU_INPUT_LINE("x1_cpu", INPUT_LINE_HALT),
19041925   DEVCB_CPU_INPUT_LINE("x1_cpu", INPUT_LINE_IRQ0),
19051926   DEVCB_NULL,
1906   DEVCB_MEMORY_HANDLER("x1_cpu", PROGRAM, memory_read_byte),
1907   DEVCB_MEMORY_HANDLER("x1_cpu", PROGRAM, memory_write_byte),
1908   DEVCB_MEMORY_HANDLER("x1_cpu", IO, memory_read_byte),
1909   DEVCB_MEMORY_HANDLER("x1_cpu", IO, memory_write_byte)
1927   DEVCB_DRIVER_MEMBER(x1_state, memory_read_byte),
1928   DEVCB_DRIVER_MEMBER(x1_state, memory_write_byte),
1929   DEVCB_DRIVER_MEMBER(x1_state, io_read_byte),
1930   DEVCB_DRIVER_MEMBER(x1_state, io_write_byte)
19101931};
19111932
19121933/*************************************
r22525r22526
19171938
19181939INPUT_CHANGED_MEMBER(x1_state::ipl_reset)
19191940{
1920   m_x1_cpu->set_input_line(INPUT_LINE_RESET, newval ? CLEAR_LINE : ASSERT_LINE);
1941   m_maincpu->set_input_line(INPUT_LINE_RESET, newval ? CLEAR_LINE : ASSERT_LINE);
19211942
19221943   m_ram_bank = 0x00;
19231944   if(m_is_turbo) { m_ex_bank = 0x10; }
r22525r22526
19271948/* Apparently most games doesn't support this (not even the Konami ones!), one that does is...177 :o */
19281949INPUT_CHANGED_MEMBER(x1_state::nmi_reset)
19291950{
1930   m_x1_cpu->set_input_line(INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE);
1951   m_maincpu->set_input_line(INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE);
19311952}
19321953
19331954INPUT_PORTS_START( x1 )
r22525r22526
23682389
23692390TIMER_DEVICE_CALLBACK_MEMBER(x1_state::x1_keyboard_callback)
23702391{
2371   address_space &space = m_x1_cpu->space(AS_PROGRAM);
2392   address_space &space = m_maincpu->space(AS_PROGRAM);
23722393   UINT32 key1 = ioport("key1")->read();
23732394   UINT32 key2 = ioport("key2")->read();
23742395   UINT32 key3 = ioport("key3")->read();
r22525r22526
23862407         x1_sub_io_w(space,0,0xe6);
23872408         m_irq_vector = m_key_irq_vector;
23882409         m_key_irq_flag = 1;
2389         m_x1_cpu->set_input_line(0,ASSERT_LINE);
2410         m_maincpu->set_input_line(0,ASSERT_LINE);
23902411         m_old_key1 = key1;
23912412         m_old_key2 = key2;
23922413         m_old_key3 = key3;
trunk/src/mess/drivers/p8k.c
r22525r22526
107107   DECLARE_WRITE_LINE_MEMBER( p8k_16_daisy_interrupt );
108108   DECLARE_WRITE16_MEMBER( pk8_16_sio_0_serial_transmit );
109109   DECLARE_WRITE16_MEMBER( pk8_16_sio_1_serial_transmit );
110   DECLARE_READ8_MEMBER(memory_read_byte);
111   DECLARE_WRITE8_MEMBER(memory_write_byte);
112   DECLARE_READ8_MEMBER(io_read_byte);
113   DECLARE_WRITE8_MEMBER(io_write_byte);   
110114};
111115
112116/***************************************************************************
r22525r22526
241245   p8k_daisy_interrupt(state);
242246}
243247
244static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
245static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
248READ8_MEMBER(p8k_state::memory_read_byte)
249{
250   address_space& prog_space = m_maincpu->space(AS_PROGRAM);
251   return prog_space.read_byte(offset);
252}
246253
254WRITE8_MEMBER(p8k_state::memory_write_byte)
255{
256   address_space& prog_space = m_maincpu->space(AS_PROGRAM);
257   return prog_space.write_byte(offset, data);
258}
259
260READ8_MEMBER(p8k_state::io_read_byte)
261{
262   address_space& prog_space = m_maincpu->space(AS_IO);
263   return prog_space.read_byte(offset);
264}
265
266WRITE8_MEMBER(p8k_state::io_write_byte)
267{
268   address_space& prog_space = m_maincpu->space(AS_IO);
269   return prog_space.write_byte(offset, data);
270}
271
247272static Z80DMA_INTERFACE( p8k_dma_intf )
248273{
249274   DEVCB_DRIVER_LINE_MEMBER(p8k_state, p8k_dma_irq_w),
250275   DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_IRQ0),
251276   DEVCB_NULL,
252   DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, memory_read_byte),
253   DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, memory_write_byte),
254   DEVCB_MEMORY_HANDLER("maincpu", IO, memory_read_byte),
255   DEVCB_MEMORY_HANDLER("maincpu", IO, memory_write_byte)
277   DEVCB_DRIVER_MEMBER(p8k_state, memory_read_byte),
278   DEVCB_DRIVER_MEMBER(p8k_state, memory_write_byte),
279   DEVCB_DRIVER_MEMBER(p8k_state, io_read_byte),
280   DEVCB_DRIVER_MEMBER(p8k_state, io_write_byte)
256281};
257282
258283/* Z80 CTC 0 */
trunk/src/mess/drivers/dmv.c
r22525r22526
4848   DECLARE_WRITE8_MEMBER(kb_ctrl_mcu_w);
4949   DECLARE_READ8_MEMBER(fdc_dma_r);
5050   DECLARE_WRITE8_MEMBER(fdc_dma_w);
51   DECLARE_READ8_MEMBER(memory_read_byte);
52   DECLARE_WRITE8_MEMBER(memory_write_byte);   
5153
5254   void fdc_irq(bool state);
5355   void fdc_drq(bool state);
r22525r22526
283285   m_dmac->i8237_hlda_w(state);
284286}
285287
286static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask)             { return space.read_byte(address); }
287static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
288READ8_MEMBER(dmv_state::memory_read_byte)
289{
290   address_space& prog_space = m_maincpu->space(AS_PROGRAM);
291   return prog_space.read_byte(offset);
292}
288293
294WRITE8_MEMBER(dmv_state::memory_write_byte)
295{
296   address_space& prog_space = m_maincpu->space(AS_PROGRAM);
297   return prog_space.write_byte(offset, data);
298}
299
289300static I8237_INTERFACE( dmv_dma8237_config )
290301{
291302   DEVCB_DRIVER_LINE_MEMBER(dmv_state, dma_hrq_changed),
292303   DEVCB_NULL,
293   DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, memory_read_byte),
294   DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, memory_write_byte),
304   DEVCB_DRIVER_MEMBER(dmv_state, memory_read_byte),
305   DEVCB_DRIVER_MEMBER(dmv_state, memory_write_byte),
295306   { DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_DRIVER_MEMBER(dmv_state, fdc_dma_r) },
296307   { DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_DRIVER_MEMBER(dmv_state, fdc_dma_w) },
297308   { DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL }
trunk/src/mess/drivers/b16.c
r22525r22526
3636   DECLARE_WRITE8_MEMBER(b16_6845_data_w);
3737   DECLARE_READ8_MEMBER(unk_dev_r);
3838   DECLARE_WRITE8_MEMBER(unk_dev_w);
39   DECLARE_READ8_MEMBER(memory_read_byte);
40   DECLARE_WRITE8_MEMBER(memory_write_byte);
3941
4042   virtual void video_start();
4143   UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
r22525r22526
264266   NULL        /* update address callback */
265267};
266268
267static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
268static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
269READ8_MEMBER(b16_state::memory_read_byte)
270{
271   address_space& prog_space = m_maincpu->space(AS_PROGRAM);
272   return prog_space.read_byte(offset);
273}
269274
275WRITE8_MEMBER(b16_state::memory_write_byte)
276{
277   address_space& prog_space = m_maincpu->space(AS_PROGRAM);
278   return prog_space.write_byte(offset, data);
279}
280
270281static I8237_INTERFACE( b16_dma8237_interface )
271282{
272283   DEVCB_NULL,
273284   DEVCB_NULL,
274   DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, memory_read_byte),
275   DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, memory_write_byte),
285   DEVCB_DRIVER_MEMBER(b16_state, memory_read_byte),
286   DEVCB_DRIVER_MEMBER(b16_state, memory_write_byte),
276287   { DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL },
277288   { DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL },
278289   { DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL }
trunk/src/mess/drivers/trs80m2.c
r22525r22526
525525//  Z80DMA_INTERFACE( dma_intf )
526526//-------------------------------------------------
527527
528static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
529static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
528READ8_MEMBER(trs80m2_state::io_read_byte)
529{
530   address_space& prog_space = m_maincpu->space(AS_IO);
531   return prog_space.read_byte(offset);
532}
530533
534WRITE8_MEMBER(trs80m2_state::io_write_byte)
535{
536   address_space& prog_space = m_maincpu->space(AS_IO);
537   return prog_space.write_byte(offset, data);
538}
539
531540static Z80DMA_INTERFACE( dma_intf )
532541{
533542   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_HALT),
r22525r22526
535544   DEVCB_NULL,
536545   DEVCB_DRIVER_MEMBER(trs80m2_state, read),
537546   DEVCB_DRIVER_MEMBER(trs80m2_state, write),
538   DEVCB_MEMORY_HANDLER(Z80_TAG, IO, memory_read_byte),
539   DEVCB_MEMORY_HANDLER(Z80_TAG, IO, memory_write_byte)
547   DEVCB_DRIVER_MEMBER(trs80m2_state, io_read_byte),
548   DEVCB_DRIVER_MEMBER(trs80m2_state, io_write_byte),
540549};
541550
542551
trunk/src/mess/drivers/x1twin.c
r22525r22526
111111
112112INPUT_CHANGED_MEMBER(x1twin_state::ipl_reset)
113113{
114   //address_space &space = m_x1_cpu->space(AS_PROGRAM);
114   //address_space &space = m_maincpu->space(AS_PROGRAM);
115115
116   m_x1_cpu->set_input_line(INPUT_LINE_RESET, newval ? CLEAR_LINE : ASSERT_LINE);
116   m_maincpu->set_input_line(INPUT_LINE_RESET, newval ? CLEAR_LINE : ASSERT_LINE);
117117
118118   m_ram_bank = 0x00;
119119   if(m_is_turbo) { m_ex_bank = 0x10; }
r22525r22526
123123/* Apparently most games doesn't support this (not even the Konami ones!), one that does is...177 :o */
124124INPUT_CHANGED_MEMBER(x1twin_state::nmi_reset)
125125{
126   m_x1_cpu->set_input_line(INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE);
126   m_maincpu->set_input_line(INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE);
127127}
128128
129129INPUT_PORTS_START( x1twin )
trunk/src/mess/drivers/vidbrain.c
r22525r22526
449449   }
450450}
451451
452static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
452READ8_MEMBER(vidbrain_state::memory_read_byte)
453{
454   address_space& prog_space = m_maincpu->space(AS_PROGRAM);
455   return prog_space.read_byte(offset);
456}
453457
454458static UV201_INTERFACE( uv_intf )
455459{
456460   SCREEN_TAG,
457461   DEVCB_DRIVER_LINE_MEMBER(vidbrain_state, ext_int_w),
458462   DEVCB_DRIVER_LINE_MEMBER(vidbrain_state, hblank_w),
459   DEVCB_MEMORY_HANDLER(F3850_TAG, PROGRAM, memory_read_byte)
463   DEVCB_DRIVER_MEMBER(vidbrain_state, memory_read_byte)
460464};
461465
462466
trunk/src/mess/drivers/super6.c
r22525r22526
391391//  Z80DMA_INTERFACE( dma_intf )
392392//-------------------------------------------------
393393
394static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
395static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
394READ8_MEMBER(super6_state::memory_read_byte)
395{
396   address_space& prog_space = m_maincpu->space(AS_PROGRAM);
397   return prog_space.read_byte(offset);
398}
396399
400WRITE8_MEMBER(super6_state::memory_write_byte)
401{
402   address_space& prog_space = m_maincpu->space(AS_PROGRAM);
403   return prog_space.write_byte(offset, data);
404}
405
406READ8_MEMBER(super6_state::io_read_byte)
407{
408   address_space& prog_space = m_maincpu->space(AS_IO);
409   return prog_space.read_byte(offset);
410}
411
412WRITE8_MEMBER(super6_state::io_write_byte)
413{
414   address_space& prog_space = m_maincpu->space(AS_IO);
415   return prog_space.write_byte(offset, data);
416}
417
397418static Z80DMA_INTERFACE( dma_intf )
398419{
399420   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_HALT),
400421   DEVCB_DEVICE_LINE_MEMBER(Z80CTC_TAG, z80ctc_device, trg2),
401422   DEVCB_NULL,
402   DEVCB_MEMORY_HANDLER(Z80_TAG, PROGRAM, memory_read_byte),
403   DEVCB_MEMORY_HANDLER(Z80_TAG, PROGRAM, memory_write_byte),
404   DEVCB_MEMORY_HANDLER(Z80_TAG, IO, memory_read_byte),
405   DEVCB_MEMORY_HANDLER(Z80_TAG, IO, memory_write_byte)
423   DEVCB_DRIVER_MEMBER(super6_state, memory_read_byte),
424   DEVCB_DRIVER_MEMBER(super6_state, memory_write_byte),
425   DEVCB_DRIVER_MEMBER(super6_state, io_read_byte),
426   DEVCB_DRIVER_MEMBER(super6_state, io_write_byte),
406427};
407428
408429
trunk/src/mess/drivers/qx10.c
r22525r22526
115115   DECLARE_WRITE8_MEMBER( vram_bank_w );
116116   DECLARE_READ8_MEMBER( vram_r );
117117   DECLARE_WRITE8_MEMBER( vram_w );
118   DECLARE_READ8_MEMBER(memory_read_byte);
119   DECLARE_WRITE8_MEMBER(memory_write_byte);
118120
119121   UINT8 *m_char_rom;
120122
r22525r22526
392394    Channel 2: GDC
393395    Channel 3: Option slots
394396*/
395static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
396static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
397READ8_MEMBER(qx10_state::memory_read_byte)
398{
399   address_space& prog_space = m_maincpu->space(AS_PROGRAM);
400   return prog_space.read_byte(offset);
401}
397402
403WRITE8_MEMBER(qx10_state::memory_write_byte)
404{
405   address_space& prog_space = m_maincpu->space(AS_PROGRAM);
406   return prog_space.write_byte(offset, data);
407}
408
398409static I8237_INTERFACE( qx10_dma8237_1_interface )
399410{
400411   DEVCB_DRIVER_LINE_MEMBER(qx10_state,dma_hrq_changed),
401412   DEVCB_DRIVER_LINE_MEMBER(qx10_state, tc_w),
402   DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, memory_read_byte),
403   DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, memory_write_byte),
413   DEVCB_DRIVER_MEMBER(qx10_state, memory_read_byte),
414   DEVCB_DRIVER_MEMBER(qx10_state, memory_write_byte),
404415   { DEVCB_DRIVER_MEMBER(qx10_state, fdc_dma_r), DEVCB_DRIVER_MEMBER(qx10_state, gdc_dack_r),/*DEVCB_DEVICE_HANDLER("upd7220", upd7220_dack_r)*/ DEVCB_NULL, DEVCB_NULL },
405416   { DEVCB_DRIVER_MEMBER(qx10_state, fdc_dma_w), DEVCB_DRIVER_MEMBER(qx10_state, gdc_dack_w),/*DEVCB_DEVICE_HANDLER("upd7220", upd7220_dack_w)*/ DEVCB_NULL, DEVCB_NULL },
406417   { DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL }
trunk/src/mess/drivers/bullet.c
r22525r22526
847847   }
848848}
849849
850static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
851static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
850READ8_MEMBER(bullet_state::io_read_byte)
851{
852   address_space& prog_space = m_maincpu->space(AS_IO);
853   return prog_space.read_byte(offset);
854}
852855
856WRITE8_MEMBER(bullet_state::io_write_byte)
857{
858   address_space& prog_space = m_maincpu->space(AS_IO);
859   return prog_space.write_byte(offset, data);
860}
861
862
853863static Z80DMA_INTERFACE( dma_intf )
854864{
855865   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_HALT),
r22525r22526
857867   DEVCB_NULL,
858868   DEVCB_DRIVER_MEMBER(bullet_state, dma_mreq_r),
859869   DEVCB_DRIVER_MEMBER(bullet_state, dma_mreq_w),
860   DEVCB_MEMORY_HANDLER(Z80_TAG, IO, memory_read_byte),
861   DEVCB_MEMORY_HANDLER(Z80_TAG, IO, memory_write_byte)
870   DEVCB_DRIVER_MEMBER(bullet_state, io_read_byte),
871   DEVCB_DRIVER_MEMBER(bullet_state, io_write_byte)
862872};
863873
864874
r22525r22526
899909   DEVCB_NULL,
900910   DEVCB_DRIVER_MEMBER(bulletf_state, dma_mreq_r),
901911   DEVCB_DRIVER_MEMBER(bulletf_state, dma_mreq_w),
902   DEVCB_MEMORY_HANDLER(Z80_TAG, IO, memory_read_byte),
903   DEVCB_MEMORY_HANDLER(Z80_TAG, IO, memory_write_byte)
912   DEVCB_DRIVER_MEMBER(bullet_state, io_read_byte),
913   DEVCB_DRIVER_MEMBER(bullet_state, io_write_byte)
904914};
905915
906916
trunk/src/mame/includes/mario.h
r22525r22526
9292   DECLARE_WRITE8_MEMBER(mario_sh_sound_w);
9393   DECLARE_WRITE8_MEMBER(mario_sh1_w);
9494   DECLARE_WRITE8_MEMBER(mario_sh2_w);
95   DECLARE_READ8_MEMBER(memory_read_byte);
96   DECLARE_WRITE8_MEMBER(memory_write_byte);   
9597   void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
9698   required_device<cpu_device> m_maincpu;
9799   required_device<cpu_device> m_audiocpu;
trunk/src/mame/includes/nbmj8688.h
r22525r22526
8888   DECLARE_VIDEO_START(mbmj8688_hybrid_16bit);
8989   DECLARE_VIDEO_START(mbmj8688_hybrid_12bit);
9090   DECLARE_VIDEO_START(mbmj8688_pure_16bit);
91   DECLARE_READ8_MEMBER(dipsw1_r);
92   DECLARE_READ8_MEMBER(dipsw2_r);     
9193   UINT32 screen_update_mbmj8688(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
9294   UINT32 screen_update_mbmj8688_lcd0(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
9395   UINT32 screen_update_mbmj8688_lcd1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
trunk/src/mame/includes/dkong.h
r22525r22526
239239   void dkong_init_device_driver_data(  );
240240   void braze_decrypt_rom(UINT8 *dest);
241241   void drakton_decrypt_rom(UINT8 mod, int offs, int *bs);
242   DECLARE_READ8_MEMBER(memory_read_byte);
243   DECLARE_WRITE8_MEMBER(memory_write_byte);
244
242245   required_device<cpu_device> m_maincpu;
243246   optional_device<cpu_device> m_soundcpu;
244247   optional_device<eeprom_device> m_eeprom;
trunk/src/mame/drivers/nbmj8688.c
r22525r22526
28952895INPUT_PORTS_END
28962896
28972897
2898READ8_MEMBER(nbmj8688_state::dipsw1_r)
2899{
2900   return nb1413m3_dipsw1_r(space,offset);
2901}
2902
2903READ8_MEMBER(nbmj8688_state::dipsw2_r)
2904{
2905   return nb1413m3_dipsw2_r(space,offset);
2906}
2907
28982908static const ay8910_interface ay8910_config =
28992909{
29002910   AY8910_LEGACY_OUTPUT,
29012911   AY8910_DEFAULT_LOADS,
2902   DEVCB_MEMORY_HANDLER("maincpu", IO, nb1413m3_dipsw1_r),     // DIPSW-A read
2903   DEVCB_MEMORY_HANDLER("maincpu", IO, nb1413m3_dipsw2_r),     // DIPSW-B read
2912   DEVCB_DRIVER_MEMBER(nbmj8688_state, dipsw1_r),     // DIPSW-A read
2913   DEVCB_DRIVER_MEMBER(nbmj8688_state, dipsw2_r),     // DIPSW-B read
29042914   DEVCB_NULL,
29052915   DEVCB_NULL
29062916};
trunk/src/mame/drivers/dkong.c
r22525r22526
330330
331331#define COMBINE_TYPE_PC(_tyn, _pc) ((_tyn)<<16 | (_pc))
332332
333/*************************************
334 *
335 *  Prototypes
336 *
337 *************************************/
338333
339
340
341
342
343
344334/*************************************
345335 *
346336 *  statics
347337 *
348338 *************************************/
349339
350static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
351static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
340READ8_MEMBER(dkong_state::memory_read_byte)
341{
342   address_space& prog_space = m_maincpu->space(AS_PROGRAM);
343   return prog_space.read_byte(offset);
344}
352345
346WRITE8_MEMBER(dkong_state::memory_write_byte)
347{
348   address_space& prog_space = m_maincpu->space(AS_PROGRAM);
349   return prog_space.write_byte(offset, data);
350}
351
353352static Z80DMA_INTERFACE( dk3_dma )
354353{
355354   DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_HALT),
356355   DEVCB_NULL,
357356   DEVCB_NULL,
358   DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, memory_read_byte),
359   DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, memory_write_byte),
357   DEVCB_DRIVER_MEMBER(dkong_state, memory_read_byte),
358   DEVCB_DRIVER_MEMBER(dkong_state, memory_write_byte),
360359   DEVCB_NULL,
361360   DEVCB_NULL
362361};
r22525r22526
366365   DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_HALT),
367366   DEVCB_NULL,
368367   DEVCB_NULL,
369   DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, memory_read_byte),
370   DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, memory_write_byte),
368   DEVCB_DRIVER_MEMBER(dkong_state, memory_read_byte),
369   DEVCB_DRIVER_MEMBER(dkong_state, memory_write_byte),
371370   { DEVCB_NULL, DEVCB_DRIVER_MEMBER(dkong_state,p8257_ctl_r), DEVCB_NULL, DEVCB_NULL },
372371   { DEVCB_DRIVER_MEMBER(dkong_state,p8257_ctl_w), DEVCB_NULL, DEVCB_NULL, DEVCB_NULL }
373372};
trunk/src/mame/drivers/mario.c
r22525r22526
101101 *
102102 *************************************/
103103
104static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
105static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
104READ8_MEMBER(mario_state::memory_read_byte)
105{
106   address_space& prog_space = m_maincpu->space(AS_PROGRAM);
107   return prog_space.read_byte(offset);
108}
106109
110WRITE8_MEMBER(mario_state::memory_write_byte)
111{
112   address_space& prog_space = m_maincpu->space(AS_PROGRAM);
113   return prog_space.write_byte(offset, data);
114}
115
107116static Z80DMA_INTERFACE( mario_dma )
108117{
109118   DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_HALT),
110119   DEVCB_NULL,
111120   DEVCB_NULL,
112   DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, memory_read_byte),
113   DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, memory_write_byte),
121   DEVCB_DRIVER_MEMBER(mario_state, memory_read_byte),
122   DEVCB_DRIVER_MEMBER(mario_state, memory_write_byte),
114123   DEVCB_NULL,
115124   DEVCB_NULL
116125};

Previous 199869 Revisions Next


© 1997-2024 The MAME Team