Previous 199869 Revisions Next

r18056 Friday 21st September, 2012 at 08:25:27 UTC by Miodrag Milanović
change from device->machine() to space.machine() in device handlers in order to make next changes easier (no whatsnew)
[src/mame/audio]leland.c redalert.c
[src/mame/drivers]chihiro.c chinagat.c ddenlovr.c dlair.c esripsys.c ghosteo.c m10.c mpu4vid.c mquake.c nyny.c othello.c powerbal.c proconn.c r2dtank.c segac2.c segas16a.c spiders.c topspeed.c trvquest.c
[src/mame/machine]atari.c beezer.c carpolo.c dc.c konppc.c leland.c mcr68.c megadriv.c n64.c namco06.c namco50.c namco51.c pcshare.c qix.c scramble.c stfight.c taitoio.c vectrex.c williams.c
[src/mame/video]deco16ic.c decocomn.c gameplan.c gp9001.c hanaawas.c homerun.c konicdev.c leland.c phoenix.c qix.c system1.c taitoic.c vectrex.c xxmissio.c
[src/mess/audio]dave.c mea8000.c svision.c wswan.c
[src/mess/drivers]a2600.c ami1200.c amiga.c apexc.c apollo.c apple2.c apple2gs.c atari400.c bml3.c dectalk.c digel804.c dm7000.c einstein.c elwro800.c enterp.c fidelz80.c fm7.c fmtowns.c jr100.c juicebox.c mini2440.c mirage.c ms0515.c mycom.c mz2000.c mz2500.c nanos.c osbexec.c p8k.c palm.c palmz22.c pc8801.c pc88va.c pc9801.c pes.c pk8000.c portfoli.c samcoupe.c sgi_ip2.c spc1000.c ssystem3.c v1050.c vtech1.c x68k.c xor100.c
[src/mess/machine]a7800.c ac1.c amstrad.c apollo.c apple1.c apple3.c atarifdc.c b2m.c bbc.c bebox.c c64.c c65.c cbmb.c cgenie.c concept.c dgn_beta.c e05a03.c isa_fdc.c isa_hdc.c kaypro.c kramermc.c lisa.c lviv.c mac.c macpci.c mc68328.c mc6843.c mc6846.c mc6854.c micropolis.c microtan.c mos6530.c msx.c mtx.c mz700.c oric.c orion.c pc.c pc_lpt.c pet.c pk8020.c pmd85.c pokemini.c pp01.c radio86.c rmnimbus.c s3c44b0.c samcoupe.c super80.c svi318.c sym1.c tf20.c thomson.c upd7002.c upd765.c z80ne.c
[src/mess/video]911_vdt.c cirrus.c vic4567.c vic6567.c vtvideo.c

trunk/src/mame/audio/leland.c
r18055r18056
18391839   }
18401840
18411841   /* /RESET */
1842   device->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, data & 0x80  ? CLEAR_LINE : ASSERT_LINE);
1842   space.machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, data & 0x80  ? CLEAR_LINE : ASSERT_LINE);
18431843
18441844   /* /NMI */
18451845/*  If the master CPU doesn't get a response by the time it's ready to send
18461846    the next command, it uses an NMI to force the issue; unfortunately, this
18471847    seems to really screw up the sound system. It turns out it's better to
18481848    just wait for the original interrupt to occur naturally */
1849/*  device->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, data & 0x40  ? CLEAR_LINE : ASSERT_LINE);*/
1849/*  space.machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, data & 0x40  ? CLEAR_LINE : ASSERT_LINE);*/
18501850
18511851   /* INT0 */
18521852   if (data & 0x20)
r18055r18056
18941894
18951895WRITE8_DEVICE_HANDLER( leland_80186_command_lo_w )
18961896{
1897   device->machine().scheduler().synchronize(FUNC(command_lo_sync), data, device);
1897   space.machine().scheduler().synchronize(FUNC(command_lo_sync), data, device);
18981898}
18991899
19001900
r18055r18056
19571957   if (LOG_COMM) logerror("%04X:Read sound response latch = %02X\n", pc, state->m_sound_response);
19581958
19591959   /* synchronize the response */
1960   device->machine().scheduler().synchronize(FUNC(delayed_response_r), pc + 2, device);
1960   space.machine().scheduler().synchronize(FUNC(delayed_response_r), pc + 2, device);
19611961   return state->m_sound_response;
19621962}
19631963
r18055r18056
22042204         if (!state->m_has_ym2151)
22052205            return pit8254_r(device, space, offset | 0x40, mem_mask);
22062206         else
2207            return ym2151_r(device->machine().device("ymsnd"), space, offset);
2207            return ym2151_r(space.machine().device("ymsnd"), space, offset);
22082208
22092209      case 4:
22102210         if (state->m_is_redline)
r18055r18056
22412241         if (!state->m_has_ym2151)
22422242            pit8254_w(device, space, offset | 0x40, data, mem_mask);
22432243         else
2244            ym2151_w(device->machine().device("ymsnd"), space, offset, data);
2244            ym2151_w(space.machine().device("ymsnd"), space, offset, data);
22452245         break;
22462246
22472247      case 4:
trunk/src/mame/audio/redalert.c
r18055r18056
7676
7777static WRITE8_DEVICE_HANDLER( redalert_AY8910_w )
7878{
79   redalert_state *state = device->machine().driver_data<redalert_state>();
79   redalert_state *state = space.machine().driver_data<redalert_state>();
8080   /* BC2 is connected to a pull-up resistor, so BC2=1 always */
8181   switch (data & 0x03)
8282   {
trunk/src/mame/machine/taitoio.c
r18055r18056
126126   {
127127
128128      case 0x00:
129         device->machine().watchdog_reset();
129         space.machine().watchdog_reset();
130130         break;
131131
132132      case 0x04:   /* coin counters and lockout, hi nibble irrelevant */
133133
134         coin_lockout_w(device->machine(), 0, ~data & 0x01);
135         coin_lockout_w(device->machine(), 1, ~data & 0x02);
136         coin_counter_w(device->machine(), 0, data & 0x04);
137         coin_counter_w(device->machine(), 1, data & 0x08);
134         coin_lockout_w(space.machine(), 0, ~data & 0x01);
135         coin_lockout_w(space.machine(), 1, ~data & 0x02);
136         coin_counter_w(space.machine(), 0, data & 0x04);
137         coin_counter_w(space.machine(), 1, data & 0x08);
138138
139139//if (data & 0xf0)
140140//logerror("PC %06x: warning - write %02x to TC0220IOC address %02x\n",space.device().safe_pc(),data,offset);
r18055r18056
282282   switch (offset)
283283   {
284284      case 0x00:
285         device->machine().watchdog_reset();
285         space.machine().watchdog_reset();
286286         break;
287287
288288      case 0x04:   /* coin counters and lockout */
289         coin_lockout_w(device->machine(), 0, ~data & 0x01);
290         coin_lockout_w(device->machine(), 1, ~data & 0x02);
291         coin_counter_w(device->machine(), 0, data & 0x04);
292         coin_counter_w(device->machine(), 1, data & 0x08);
289         coin_lockout_w(space.machine(), 0, ~data & 0x01);
290         coin_lockout_w(space.machine(), 1, ~data & 0x02);
291         coin_counter_w(space.machine(), 0, data & 0x04);
292         coin_counter_w(space.machine(), 1, data & 0x08);
293293         break;
294294
295295      default:
r18055r18056
432432   {
433433
434434      case 0x00:
435         device->machine().watchdog_reset();
435         space.machine().watchdog_reset();
436436         break;
437437
438438      case 0x04:   /* coin counters and lockout */
439         coin_lockout_w(device->machine(), 0, ~data & 0x01);
440         coin_lockout_w(device->machine(), 1, ~data & 0x02);
441         coin_counter_w(device->machine(), 0, data & 0x04);
442         coin_counter_w(device->machine(), 1, data & 0x08);
439         coin_lockout_w(space.machine(), 0, ~data & 0x01);
440         coin_lockout_w(space.machine(), 1, ~data & 0x02);
441         coin_counter_w(space.machine(), 0, data & 0x04);
442         coin_counter_w(space.machine(), 1, data & 0x08);
443443         break;
444444
445445      default:
trunk/src/mame/machine/namco06.c
r18055r18056
135135   UINT8 result = 0xff;
136136   int devnum;
137137
138   LOG(("%s: 06XX '%s' read offset %d\n",device->machine().describe_context(),device->tag(),offset));
138   LOG(("%s: 06XX '%s' read offset %d\n",space.machine().describe_context(),device->tag(),offset));
139139
140140   if (!(state->m_control & 0x10))
141141   {
142      logerror("%s: 06XX '%s' read in write mode %02x\n",device->machine().describe_context(),device->tag(),state->m_control);
142      logerror("%s: 06XX '%s' read in write mode %02x\n",space.machine().describe_context(),device->tag(),state->m_control);
143143      return 0;
144144   }
145145
r18055r18056
156156   namco_06xx_state *state = get_safe_token(device);
157157   int devnum;
158158
159   LOG(("%s: 06XX '%s' write offset %d = %02x\n",device->machine().describe_context(),device->tag(),offset,data));
159   LOG(("%s: 06XX '%s' write offset %d = %02x\n",space.machine().describe_context(),device->tag(),offset,data));
160160
161161   if (state->m_control & 0x10)
162162   {
163      logerror("%s: 06XX '%s' write in read mode %02x\n",device->machine().describe_context(),device->tag(),state->m_control);
163      logerror("%s: 06XX '%s' write in read mode %02x\n",space.machine().describe_context(),device->tag(),state->m_control);
164164      return;
165165   }
166166
r18055r18056
173173READ8_DEVICE_HANDLER( namco_06xx_ctrl_r )
174174{
175175   namco_06xx_state *state = get_safe_token(device);
176   LOG(("%s: 06XX '%s' ctrl_r\n",device->machine().describe_context(),device->tag()));
176   LOG(("%s: 06XX '%s' ctrl_r\n",space.machine().describe_context(),device->tag()));
177177   return state->m_control;
178178}
179179
r18055r18056
182182   namco_06xx_state *state = get_safe_token(device);
183183   int devnum;
184184
185   LOG(("%s: 06XX '%s' control %02x\n",device->machine().describe_context(),device->tag(),data));
185   LOG(("%s: 06XX '%s' control %02x\n",space.machine().describe_context(),device->tag(),data));
186186
187187   state->m_control = data;
188188
trunk/src/mame/machine/carpolo.c
r18055r18056
356356
357357static WRITE8_DEVICE_HANDLER( pia_0_port_a_w )
358358{
359   carpolo_state *state = device->machine().driver_data<carpolo_state>();
359   carpolo_state *state = space.machine().driver_data<carpolo_state>();
360360   /* bit 0 - Coin counter
361361       bit 1 - Player 4 crash sound
362362       bit 2 - Player 3 crash sound
r18055r18056
366366       bit 6 - Player 1 crash sound
367367       bit 7 - Ball hit pulse sound */
368368
369   coin_counter_w(device->machine(), 0, data & 0x01);
369   coin_counter_w(space.machine(), 0, data & 0x01);
370370
371371
372372   state->m_ttl7474_1f_1->clear_w((data & 0x08) >> 3);
r18055r18056
378378
379379static WRITE8_DEVICE_HANDLER( pia_0_port_b_w )
380380{
381   carpolo_state *state = device->machine().driver_data<carpolo_state>();
381   carpolo_state *state = space.machine().driver_data<carpolo_state>();
382382   /* bit 0 - Strobe speed bits sound
383383       bit 1 - Speed bit 0 sound
384384       bit 2 - Speed bit 1 sound
r18055r18056
394394
395395static READ8_DEVICE_HANDLER( pia_0_port_b_r )
396396{
397   carpolo_state *state = device->machine().driver_data<carpolo_state>();
397   carpolo_state *state = space.machine().driver_data<carpolo_state>();
398398   /* bit 4 - Pedal bit 0
399399       bit 5 - Pedal bit 1 */
400400
r18055r18056
405405
406406static READ8_DEVICE_HANDLER( pia_1_port_a_r )
407407{
408   carpolo_state *state = device->machine().driver_data<carpolo_state>();
408   carpolo_state *state = space.machine().driver_data<carpolo_state>();
409409   UINT8 ret;
410410
411411   /* bit 0 - Player 4 steering input (left or right)
r18055r18056
429429
430430static READ8_DEVICE_HANDLER( pia_1_port_b_r )
431431{
432   carpolo_state *state = device->machine().driver_data<carpolo_state>();
432   carpolo_state *state = space.machine().driver_data<carpolo_state>();
433433   UINT8 ret;
434434
435435   /* bit 4 - Player 4 steering input (wheel moving or stopped)
trunk/src/mame/machine/megadriv.c
r18055r18056
114114   }
115115   else
116116   {
117      logerror("%s: 68000 attempting to access YM2612 (read) without bus\n", device->machine().describe_context());
117      logerror("%s: 68000 attempting to access YM2612 (read) without bus\n", space.machine().describe_context());
118118      return 0;
119119   }
120120
r18055r18056
131131   }
132132   else
133133   {
134      logerror("%s: 68000 attempting to access YM2612 (write) without bus\n", device->machine().describe_context());
134      logerror("%s: 68000 attempting to access YM2612 (write) without bus\n", space.machine().describe_context());
135135   }
136136}
137137
trunk/src/mame/machine/namco50.c
r18055r18056
223223
224224WRITE8_DEVICE_HANDLER( namco_50xx_write )
225225{
226   device->machine().scheduler().synchronize(FUNC(namco_50xx_latch_callback), data, (void *)device);
226   space.machine().scheduler().synchronize(FUNC(namco_50xx_latch_callback), data, (void *)device);
227227
228228   namco_50xx_irq_set(device);
229229}
trunk/src/mame/machine/beezer.c
r18055r18056
8888
8989static READ8_DEVICE_HANDLER( b_via_0_pa_r )
9090{
91   beezer_state *state = device->machine().driver_data<beezer_state>();
91   beezer_state *state = space.machine().driver_data<beezer_state>();
9292   return (state->m_banklatch&0x38)<<2; // return X,Y,Z bits TODO: the Z bit connects somewhere else... where?
9393}
9494
9595static READ8_DEVICE_HANDLER( b_via_0_pb_r )
9696{
97   beezer_state *state = device->machine().driver_data<beezer_state>();
97   beezer_state *state = space.machine().driver_data<beezer_state>();
9898   return state->m_pbus;
9999}
100100
101101static WRITE8_DEVICE_HANDLER( b_via_0_pa_w )
102102{
103   beezer_state *state = device->machine().driver_data<beezer_state>();
103   beezer_state *state = space.machine().driver_data<beezer_state>();
104104   if ((data & 0x08) == 0)
105      device->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
105      space.machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
106106   else
107      device->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
107      space.machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
108108
109109   if ((data & 0x04) == 0)
110110   {
r18055r18056
128128
129129static WRITE8_DEVICE_HANDLER( b_via_0_pb_w )
130130{
131   beezer_state *state = device->machine().driver_data<beezer_state>();
131   beezer_state *state = space.machine().driver_data<beezer_state>();
132132   state->m_pbus = data;
133133}
134134
135135static READ8_DEVICE_HANDLER( b_via_1_pa_r )
136136{
137   beezer_state *state = device->machine().driver_data<beezer_state>();
137   beezer_state *state = space.machine().driver_data<beezer_state>();
138138   return state->m_pbus;
139139}
140140
141141static READ8_DEVICE_HANDLER( b_via_1_pb_r )
142142{
143   return 0x1F | (beezer_noise_r(device->machine().device("custom"), space, 0)?0x40:0);
143   return 0x1F | (beezer_noise_r(space.machine().device("custom"), space, 0)?0x40:0);
144144}
145145
146146static WRITE8_DEVICE_HANDLER( b_via_1_pa_w )
147147{
148   beezer_state *state = device->machine().driver_data<beezer_state>();
148   beezer_state *state = space.machine().driver_data<beezer_state>();
149149   state->m_pbus = data;
150150}
151151
152152static WRITE8_DEVICE_HANDLER( b_via_1_pb_w )
153153{
154   beezer_timer1_w(device->machine().device("custom"), space, 0, data&0x80);
154   beezer_timer1_w(space.machine().device("custom"), space, 0, data&0x80);
155155   //if ((data&0x1f) != 0x01)
156156   //  popmessage("via1 pb low write of 0x%02x is not supported! contact mamedev!", data&0x1f);
157157}
trunk/src/mame/machine/mcr68.c
r18055r18056
4141
4242static READ8_DEVICE_HANDLER( zwackery_port_1_r )
4343{
44   UINT8 ret = device->machine().root_device().ioport("IN1")->read();
44   UINT8 ret = space.machine().root_device().ioport("IN1")->read();
4545
4646   downcast<pia6821_device *>(device)->set_port_a_z_mask(ret);
4747
r18055r18056
5151
5252static READ8_DEVICE_HANDLER( zwackery_port_3_r )
5353{
54   UINT8 ret = device->machine().root_device().ioport("IN3")->read();
54   UINT8 ret = space.machine().root_device().ioport("IN3")->read();
5555
5656   downcast<pia6821_device *>(device)->set_port_a_z_mask(ret);
5757
r18055r18056
270270WRITE8_DEVICE_HANDLER( zwackery_pia0_w )
271271{
272272   /* bit 7 is the watchdog */
273   if (!(data & 0x80)) device->machine().watchdog_reset();
273   if (!(data & 0x80)) space.machine().watchdog_reset();
274274
275275   /* bits 5 and 6 control hflip/vflip */
276276   /* bits 3 and 4 control coin counters? */
r18055r18056
280280
281281WRITE8_DEVICE_HANDLER( zwackery_pia1_w )
282282{
283   mcr68_state *state = device->machine().driver_data<mcr68_state>();
283   mcr68_state *state = space.machine().driver_data<mcr68_state>();
284284   state->m_zwackery_sound_data = (data >> 4) & 0x0f;
285285}
286286
trunk/src/mame/machine/namco51.c
r18055r18056
100100
101101   data &= 0x07;
102102
103   LOG(("%s: custom 51XX write %02x\n",device->machine().describe_context(),data));
103   LOG(("%s: custom 51XX write %02x\n",space.machine().describe_context(),data));
104104
105105   if (state->m_coincred_mode)
106106   {
r18055r18056
130130               static int namcoio_51XX_kludge = 0;
131131
132132               /* Only compute namcoio_51XX_kludge when gamedrv changes */
133               if (namcoio_51XX_driver != &device->machine().system())
133               if (namcoio_51XX_driver != &space.machine().system())
134134               {
135                  namcoio_51XX_driver = &device->machine().system();
135                  namcoio_51XX_driver = &space.machine().system();
136136                  if (strcmp(namcoio_51XX_driver->name, "xevious") == 0 ||
137137                     strcmp(namcoio_51XX_driver->parent, "xevious") == 0)
138138                     namcoio_51XX_kludge = 1;
r18055r18056
198198{
199199   namco_51xx_state *state = get_safe_token(device);
200200
201   LOG(("%s: custom 51XX read\n",device->machine().describe_context()));
201   LOG(("%s: custom 51XX read\n",space.machine().describe_context()));
202202
203203   if (state->m_mode == 0)   /* switch mode */
204204   {
r18055r18056
265265
266266               if (state->m_mode == 1)
267267               {
268                  int on = (device->machine().primary_screen->frame_number() & 0x10) >> 4;
268                  int on = (space.machine().primary_screen->frame_number() & 0x10) >> 4;
269269
270270                  if (state->m_credits >= 2)
271271                     WRITE_PORT(state,0,0x0c | 3*on);   // lamps
trunk/src/mame/machine/atari.c
r18055r18056
6464
6565READ8_DEVICE_HANDLER(atari_pia_pa_r)
6666{
67   return device->machine().root_device().ioport("djoy_0_1")->read_safe(0);
67   return space.machine().root_device().ioport("djoy_0_1")->read_safe(0);
6868}
6969
7070READ8_DEVICE_HANDLER(atari_pia_pb_r)
7171{
72   return device->machine().root_device().ioport("djoy_2_3")->read_safe(0);
72   return space.machine().root_device().ioport("djoy_2_3")->read_safe(0);
7373}
7474
7575WRITE8_DEVICE_HANDLER(a600xl_pia_pb_w) { a600xl_mmu(device->machine(), data); }
trunk/src/mame/machine/konppc.c
r18055r18056
443443{
444444   if (nwk_device_sel[0] & 0x01)
445445   {
446      nwk_fifo_w(device->machine(), 0, data);
446      nwk_fifo_w(space.machine(), 0, data);
447447   }
448448   else if (nwk_device_sel[0] & 0x02)
449449   {
r18055r18056
460460{
461461   if (nwk_device_sel[1] & 0x01)
462462   {
463      nwk_fifo_w(device->machine(), 1, data);
463      nwk_fifo_w(space.machine(), 1, data);
464464   }
465465   else if (nwk_device_sel[1] & 0x02)
466466   {
r18055r18056
501501{
502502   if (nwk_device_sel[0] & 0x01)
503503   {
504      nwk_fifo_w(device->machine(), 0, data);
504      nwk_fifo_w(space.machine(), 0, data);
505505   }
506506   else if (nwk_device_sel[0] & 0x02)
507507   {
r18055r18056
518518{
519519   if (nwk_device_sel[1] & 0x01)
520520   {
521      nwk_fifo_w(device->machine(), 1, data);
521      nwk_fifo_w(space.machine(), 1, data);
522522   }
523523   else if (nwk_device_sel[1] & 0x02)
524524   {
trunk/src/mame/machine/leland.c
r18055r18056
821821
822822READ8_DEVICE_HANDLER( ataxx_eeprom_r )
823823{
824   int port = device->machine().root_device().ioport("IN2")->read();
825   if (LOG_EEPROM) logerror("%s:EE read\n", device->machine().describe_context());
824   int port = space.machine().root_device().ioport("IN2")->read();
825   if (LOG_EEPROM) logerror("%s:EE read\n", space.machine().describe_context());
826826   return port;
827827}
828828
829829
830830WRITE8_DEVICE_HANDLER( ataxx_eeprom_w )
831831{
832   if (LOG_EEPROM) logerror("%s:EE write %d%d%d\n", device->machine().describe_context(),
832   if (LOG_EEPROM) logerror("%s:EE write %d%d%d\n", space.machine().describe_context(),
833833         (data >> 6) & 1, (data >> 5) & 1, (data >> 4) & 1);
834834   eeprom_device *eeprom = downcast<eeprom_device *>(device);
835835   eeprom->write_bit     ((data & 0x10) >> 4);
r18055r18056
13061306
13071307READ8_DEVICE_HANDLER( leland_sound_port_r )
13081308{
1309   leland_state *state = device->machine().driver_data<leland_state>();
1309   leland_state *state = space.machine().driver_data<leland_state>();
13101310   return state->m_gfx_control;
13111311}
13121312
13131313
13141314WRITE8_DEVICE_HANDLER( leland_sound_port_w )
13151315{
1316   leland_state *state = device->machine().driver_data<leland_state>();
1316   leland_state *state = space.machine().driver_data<leland_state>();
13171317   /* update the graphics banking */
13181318   leland_gfx_port_w(device, space, 0, data);
13191319
r18055r18056
13241324   /* some bankswitching occurs here */
13251325   if (LOG_BANKSWITCHING_M)
13261326      if ((state->m_sound_port_bank ^ data) & 0x24)
1327         logerror("%s:sound_port_bank = %02X\n", device->machine().describe_context(), data & 0x24);
1327         logerror("%s:sound_port_bank = %02X\n", space.machine().describe_context(), data & 0x24);
13281328   state->m_sound_port_bank = data & 0x24;
1329   (*state->m_update_master_bank)(device->machine());
1329   (*state->m_update_master_bank)(space.machine());
13301330}
13311331
13321332
trunk/src/mame/machine/vectrex.c
r18055r18056
229229
230230READ8_DEVICE_HANDLER(vectrex_via_pb_r)
231231{
232   vectrex_state *state = device->machine().driver_data<vectrex_state>();
232   vectrex_state *state = space.machine().driver_data<vectrex_state>();
233233   int pot;
234234   static const char *const ctrlnames[] = { "CONTR1X", "CONTR1Y", "CONTR2X", "CONTR2Y" };
235235
236   pot = device->machine().root_device().ioport(ctrlnames[(state->m_via_out[PORTB] & 0x6) >> 1])->read() - 0x80;
236   pot = space.machine().root_device().ioport(ctrlnames[(state->m_via_out[PORTB] & 0x6) >> 1])->read() - 0x80;
237237
238238   if (pot > (signed char)state->m_via_out[PORTA])
239239      state->m_via_out[PORTB] |= 0x20;
r18055r18056
246246
247247READ8_DEVICE_HANDLER(vectrex_via_pa_r)
248248{
249   vectrex_state *state = device->machine().driver_data<vectrex_state>();
249   vectrex_state *state = space.machine().driver_data<vectrex_state>();
250250   if ((!(state->m_via_out[PORTB] & 0x10)) && (state->m_via_out[PORTB] & 0x08))
251251      /* BDIR inactive, we can read the PSG. BC1 has to be active. */
252252   {
253      device_t *ay = device->machine().device("ay8912");
253      device_t *ay = space.machine().device("ay8912");
254254
255255      state->m_via_out[PORTA] = ay8910_r(ay, space, 0)
256256         & ~(state->m_imager_pinlevel & 0x80);
r18055r18056
261261
262262READ8_DEVICE_HANDLER(vectrex_s1_via_pb_r)
263263{
264   vectrex_state *state = device->machine().driver_data<vectrex_state>();
264   vectrex_state *state = space.machine().driver_data<vectrex_state>();
265265   return (state->m_via_out[PORTB] & ~0x40) | (state->ioport("COIN")->read() & 0x40);
266266}
267267
trunk/src/mame/machine/dc.c
r18055r18056
835835
836836READ64_DEVICE_HANDLER( dc_aica_reg_r )
837837{
838   //  dc_state *state = device->machine().driver_data<dc_state>();
838   //  dc_state *state = space.machine().driver_data<dc_state>();
839839   //int reg;
840840   UINT64 shift;
841841
842   /*reg = */decode_reg32_64(device->machine(), offset, mem_mask, &shift);
842   /*reg = */decode_reg32_64(space.machine(), offset, mem_mask, &shift);
843843
844844//  mame_printf_verbose("AICA REG: [%08x] read %" I64FMT "x, mask %" I64FMT "x\n", 0x700000+reg*4, (UINT64)offset, mem_mask);
845845
r18055r18056
848848
849849WRITE64_DEVICE_HANDLER( dc_aica_reg_w )
850850{
851   //  dc_state *state = device->machine().driver_data<dc_state>();
851   //  dc_state *state = space.machine().driver_data<dc_state>();
852852   int reg;
853853   UINT64 shift;
854854   UINT32 dat;
855855
856   reg = decode_reg32_64(device->machine(), offset, mem_mask, &shift);
856   reg = decode_reg32_64(space.machine(), offset, mem_mask, &shift);
857857   dat = (UINT32)(data >> shift);
858858
859859   if (reg == (0x2c00/4))
r18055r18056
861861      if (dat & 1)
862862      {
863863         /* halt the ARM7 */
864         device->machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
864         space.machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
865865      }
866866      else
867867      {
868868         /* it's alive ! */
869         device->machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
869         space.machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
870870      }
871871    }
872872
trunk/src/mame/machine/scramble.c
r18055r18056
5151
5252WRITE8_DEVICE_HANDLER( scramble_protection_w )
5353{
54   scramble_state *state = device->machine().driver_data<scramble_state>();
54   scramble_state *state = space.machine().driver_data<scramble_state>();
5555   state->m_xb = data;
5656}
5757
5858READ8_DEVICE_HANDLER( scramble_protection_r )
5959{
60   switch (device->machine().device("maincpu")->safe_pc())
60   switch (space.machine().device("maincpu")->safe_pc())
6161   {
6262   case 0x00a8: return 0xf0;
6363   case 0x00be: return 0xb0;
r18055r18056
6868   case 0x1ca2: return 0x00;  /* I don't think it's checked */
6969   case 0x1d7e: return 0xb0;
7070   default:
71      logerror("%s: read protection\n",device->machine().describe_context());
71      logerror("%s: read protection\n",space.machine().describe_context());
7272      return 0;
7373   }
7474}
trunk/src/mame/machine/n64.c
r18055r18056
683683
684684READ32_DEVICE_HANDLER( n64_sp_reg_r )
685685{
686   return device->machine().device<n64_periphs>("rcp")->sp_reg_r(offset);
686   return space.machine().device<n64_periphs>("rcp")->sp_reg_r(offset);
687687}
688688
689689void n64_periphs::sp_reg_w(UINT32 offset, UINT32 data, UINT32 mem_mask)
r18055r18056
896896
897897WRITE32_DEVICE_HANDLER( n64_sp_reg_w )
898898{
899   device->machine().device<n64_periphs>("rcp")->sp_reg_w(offset, data, mem_mask);
899   space.machine().device<n64_periphs>("rcp")->sp_reg_w(offset, data, mem_mask);
900900}
901901
902902// RDP Interface
r18055r18056
908908
909909READ32_DEVICE_HANDLER( n64_dp_reg_r )
910910{
911   n64_state *state = device->machine().driver_data<n64_state>();
912   n64_periphs *periphs = device->machine().device<n64_periphs>("rcp");
911   n64_state *state = space.machine().driver_data<n64_state>();
912   n64_periphs *periphs = space.machine().device<n64_periphs>("rcp");
913913   UINT32 ret = 0;
914914   switch (offset)
915915   {
r18055r18056
944944         break;
945945   }
946946
947   //printf("%08x dp_reg_r %08x = %08x\n", (UINT32)device->machine().device("rsp")->state().state_int(RSP_PC), offset, ret); fflush(stdout);
947   //printf("%08x dp_reg_r %08x = %08x\n", (UINT32)space.machine().device("rsp")->state().state_int(RSP_PC), offset, ret); fflush(stdout);
948948   return ret;
949949}
950950
951951WRITE32_DEVICE_HANDLER( n64_dp_reg_w )
952952{
953   n64_state *state = device->machine().driver_data<n64_state>();
954   n64_periphs *periphs = device->machine().device<n64_periphs>("rcp");
953   n64_state *state = space.machine().driver_data<n64_state>();
954   n64_periphs *periphs = space.machine().device<n64_periphs>("rcp");
955955
956   //printf("%08x dp_reg_w %08x %08x %08x\n", (UINT32)device->machine().device("rsp")->state().state_int(RSP_PC), offset, data, mem_mask); fflush(stdout);
956   //printf("%08x dp_reg_w %08x %08x %08x\n", (UINT32)space.machine().device("rsp")->state().state_int(RSP_PC), offset, data, mem_mask); fflush(stdout);
957957   switch (offset)
958958   {
959959      case 0x00/4:      // DP_START_REG
trunk/src/mame/machine/stfight.c
r18055r18056
212212
213213WRITE8_DEVICE_HANDLER( stfight_adpcm_control_w )
214214{
215   stfight_state *state = device->machine().driver_data<stfight_state>();
215   stfight_state *state = space.machine().driver_data<stfight_state>();
216216    if( data < 0x08 )
217217    {
218218        state->m_adpcm_data_offs = sampleLimits[data];
trunk/src/mame/machine/qix.c
r18055r18056
346346
347347READ8_DEVICE_HANDLER( qixmcu_coin_r )
348348{
349   qix_state *state = device->machine().driver_data<qix_state>();
349   qix_state *state = space.machine().driver_data<qix_state>();
350350
351351   logerror("6809:qixmcu_coin_r = %02X\n", state->m_68705_port_out[0]);
352352   return state->m_68705_port_out[0];
r18055r18056
355355
356356static WRITE8_DEVICE_HANDLER( qixmcu_coin_w )
357357{
358   qix_state *state = device->machine().driver_data<qix_state>();
358   qix_state *state = space.machine().driver_data<qix_state>();
359359
360360   logerror("6809:qixmcu_coin_w = %02X\n", data);
361361   /* this is a callback called by pia6821_device::write(), so I don't need to synchronize */
r18055r18056
366366
367367static WRITE8_DEVICE_HANDLER( qixmcu_coinctrl_w )
368368{
369   qix_state *state = device->machine().driver_data<qix_state>();
369   qix_state *state = space.machine().driver_data<qix_state>();
370370
371371   /* if (!(data & 0x04)) */
372372   if (data & 0x04)
373373   {
374      device->machine().device("mcu")->execute().set_input_line(M68705_IRQ_LINE, ASSERT_LINE);
374      space.machine().device("mcu")->execute().set_input_line(M68705_IRQ_LINE, ASSERT_LINE);
375375      /* temporarily boost the interleave to sync things up */
376376      /* note: I'm using 50 because 30 is not enough for space dungeon at game over */
377      device->machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(50));
377      space.machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(50));
378378   }
379379   else
380      device->machine().device("mcu")->execute().set_input_line(M68705_IRQ_LINE, CLEAR_LINE);
380      space.machine().device("mcu")->execute().set_input_line(M68705_IRQ_LINE, CLEAR_LINE);
381381
382382   /* this is a callback called by pia6821_device::write(), so I don't need to synchronize */
383383   /* the CPUs - they have already been synchronized by qix_pia_w() */
r18055r18056
473473{
474474   /* make all the CPUs synchronize, and only AFTER that write the command to the PIA */
475475   /* otherwise the 68705 will miss commands */
476   device->machine().scheduler().synchronize(FUNC(pia_w_callback), data | (offset << 8), (void *)downcast<pia6821_device *>(device));
476   space.machine().scheduler().synchronize(FUNC(pia_w_callback), data | (offset << 8), (void *)downcast<pia6821_device *>(device));
477477}
478478
479479
r18055r18056
486486
487487static WRITE8_DEVICE_HANDLER( qix_coinctl_w )
488488{
489   coin_lockout_w(device->machine(), 0, (~data >> 2) & 1);
490   coin_counter_w(device->machine(), 0, (data >> 1) & 1);
489   coin_lockout_w(space.machine(), 0, (~data >> 2) & 1);
490   coin_counter_w(space.machine(), 0, (data >> 1) & 1);
491491}
492492
493493
r18055r18056
500500
501501 static WRITE8_DEVICE_HANDLER( slither_76489_0_w )
502502{
503   qix_state *state = device->machine().driver_data<qix_state>();
503   qix_state *state = space.machine().driver_data<qix_state>();
504504
505505   /* write to the sound chip */
506   state->m_sn1->write(device->machine().device<legacy_cpu_device>("maincpu")->space(), 0, data);
506   state->m_sn1->write(space.machine().device<legacy_cpu_device>("maincpu")->space(), 0, data);
507507
508508   /* clock the ready line going back into CB1 */
509509   pia6821_device *pia = downcast<pia6821_device *>(device);
r18055r18056
514514
515515static WRITE8_DEVICE_HANDLER( slither_76489_1_w )
516516{
517   qix_state *state = device->machine().driver_data<qix_state>();
517   qix_state *state = space.machine().driver_data<qix_state>();
518518
519519   /* write to the sound chip */
520   state->m_sn2->write(device->machine().device<legacy_cpu_device>("maincpu")->space(), 0, data);
520   state->m_sn2->write(space.machine().device<legacy_cpu_device>("maincpu")->space(), 0, data);
521521
522522   /* clock the ready line going back into CB1 */
523523   pia6821_device *pia = downcast<pia6821_device *>(device);
r18055r18056
535535
536536static READ8_DEVICE_HANDLER( slither_trak_lr_r )
537537{
538   qix_state *state = device->machine().driver_data<qix_state>();
538   qix_state *state = space.machine().driver_data<qix_state>();
539539
540540   return state->ioport(state->m_flip ? "AN3" : "AN1")->read();
541541}
r18055r18056
543543
544544static READ8_DEVICE_HANDLER( slither_trak_ud_r )
545545{
546   qix_state *state = device->machine().driver_data<qix_state>();
546   qix_state *state = space.machine().driver_data<qix_state>();
547547
548548   return state->ioport(state->m_flip ? "AN2" : "AN0")->read();
549549}
trunk/src/mame/machine/pcshare.c
r18055r18056
267267static READ8_DEVICE_HANDLER( get_slave_ack )
268268{
269269   if (offset==2) { // IRQ = 2
270      return pic8259_acknowledge(device->machine().device("pic8259_2"));
270      return pic8259_acknowledge(space.machine().device("pic8259_2"));
271271   }
272272   return 0x00;
273273}
trunk/src/mame/machine/williams.c
r18055r18056
561561WRITE8_DEVICE_HANDLER( williams_snd_cmd_w )
562562{
563563   /* the high two bits are set externally, and should be 1 */
564   device->machine().scheduler().synchronize(FUNC(williams_deferred_snd_cmd_w), data | 0xc0);
564   space.machine().scheduler().synchronize(FUNC(williams_deferred_snd_cmd_w), data | 0xc0);
565565}
566566
567567WRITE8_DEVICE_HANDLER( playball_snd_cmd_w )
568568{
569   device->machine().scheduler().synchronize(FUNC(williams_deferred_snd_cmd_w), data);
569   space.machine().scheduler().synchronize(FUNC(williams_deferred_snd_cmd_w), data);
570570}
571571
572572static TIMER_CALLBACK( blaster_deferred_snd_cmd_w )
r18055r18056
582582
583583WRITE8_DEVICE_HANDLER( blaster_snd_cmd_w )
584584{
585   device->machine().scheduler().synchronize(FUNC(blaster_deferred_snd_cmd_w), data);
585   space.machine().scheduler().synchronize(FUNC(blaster_deferred_snd_cmd_w), data);
586586}
587587
588588
r18055r18056
595595
596596static WRITE8_DEVICE_HANDLER( williams2_snd_cmd_w )
597597{
598   device->machine().scheduler().synchronize(FUNC(williams2_deferred_snd_cmd_w), data);
598   space.machine().scheduler().synchronize(FUNC(williams2_deferred_snd_cmd_w), data);
599599}
600600
601601
r18055r18056
608608
609609WRITE8_DEVICE_HANDLER( williams_port_select_w )
610610{
611   williams_state *state = device->machine().driver_data<williams_state>();
611   williams_state *state = space.machine().driver_data<williams_state>();
612612   state->m_port_select = data;
613613}
614614
r18055r18056
650650READ8_DEVICE_HANDLER( williams_49way_port_0_r )
651651{
652652   static const UINT8 translate49[7] = { 0x0, 0x4, 0x6, 0x7, 0xb, 0x9, 0x8 };
653   return (translate49[device->machine().root_device().ioport("49WAYX")->read() >> 4] << 4) | translate49[device->machine().root_device().ioport("49WAYY")->read() >> 4];
653   return (translate49[space.machine().root_device().ioport("49WAYX")->read() >> 4] << 4) | translate49[space.machine().root_device().ioport("49WAYY")->read() >> 4];
654654}
655655
656656
657657READ8_DEVICE_HANDLER( williams_input_port_49way_0_5_r )
658658{
659   williams_state *state = device->machine().driver_data<williams_state>();
659   williams_state *state = space.machine().driver_data<williams_state>();
660660   if (state->m_port_select)
661661      return williams_49way_port_0_r(device, space, 0);
662662   else
r18055r18056
927927
928928static WRITE8_DEVICE_HANDLER( lottofun_coin_lock_w )
929929{
930   coin_lockout_global_w(device->machine(), data & 1); /* bit 5 of PIC control port A */
930   coin_lockout_global_w(space.machine(), data & 1); /* bit 5 of PIC control port A */
931931}
932932
933933
r18055r18056
941941static READ8_DEVICE_HANDLER( tshoot_input_port_0_3_r )
942942{
943943   /* merge in the gun inputs with the standard data */
944   int data = device->machine().root_device().ioport("IN0")->read();
944   int data = space.machine().root_device().ioport("IN0")->read();
945945   int gun = (data & 0x3f) ^ ((data & 0x3f) >> 1);
946946   return (data & 0xc0) | gun;
947947
r18055r18056
953953static WRITE8_DEVICE_HANDLER( tshoot_maxvol_w )
954954{
955955   /* something to do with the sound volume */
956   logerror("tshoot maxvol = %d (%s)\n", data, device->machine().describe_context());
956   logerror("tshoot maxvol = %d (%s)\n", data, space.machine().describe_context());
957957}
958958
959959
r18055r18056
10001000
10011001static WRITE8_DEVICE_HANDLER( joust2_pia_3_cb1_w )
10021002{
1003   joust2_state *state = device->machine().driver_data<joust2_state>();
1003   joust2_state *state = space.machine().driver_data<joust2_state>();
10041004   state->m_joust2_current_sound_data = (state->m_joust2_current_sound_data & ~0x100) | ((data << 8) & 0x100);
1005   state->m_cvsd_sound->write(device->machine().driver_data()->generic_space(), 0, state->m_joust2_current_sound_data);
1005   state->m_cvsd_sound->write(space.machine().driver_data()->generic_space(), 0, state->m_joust2_current_sound_data);
10061006}
10071007
10081008
10091009static WRITE8_DEVICE_HANDLER( joust2_snd_cmd_w )
10101010{
1011   joust2_state *state = device->machine().driver_data<joust2_state>();
1011   joust2_state *state = space.machine().driver_data<joust2_state>();
10121012   state->m_joust2_current_sound_data = (state->m_joust2_current_sound_data & ~0xff) | (data & 0xff);
1013   state->m_cvsd_sound->write(device->machine().driver_data()->generic_space(), 0, state->m_joust2_current_sound_data);
1014   device->machine().scheduler().synchronize(FUNC(joust2_deferred_snd_cmd_w), state->m_joust2_current_sound_data);
1013   state->m_cvsd_sound->write(space.machine().driver_data()->generic_space(), 0, state->m_joust2_current_sound_data);
1014   space.machine().scheduler().synchronize(FUNC(joust2_deferred_snd_cmd_w), state->m_joust2_current_sound_data);
10151015}
trunk/src/mame/video/system1.c
r18055r18056
277277
278278WRITE8_DEVICE_HANDLER( system1_videoram_bank_w )
279279{
280   system1_state *state = device->machine().driver_data<system1_state>();
280   system1_state *state = space.machine().driver_data<system1_state>();
281281   state->m_videoram_bank = data;
282282}
283283
trunk/src/mame/video/taitoic.c
r18055r18056
14901490
14911491   if (offset < 0x1000 / 2)
14921492   {
1493      device->machine().gfx[tc0080vco->tx_gfx]->mark_dirty(offset / 8);
1493      space.machine().gfx[tc0080vco->tx_gfx]->mark_dirty(offset / 8);
14941494#if 0
14951495      if (!tc0080vco->has_tx)
14961496      {
r18055r18056
15211521
15221522   else if (offset < 0x11000 / 2)
15231523   {
1524      device->machine().gfx[tc0080vco->tx_gfx]->mark_dirty((offset - 0x10000 / 2) / 8);
1524      space.machine().gfx[tc0080vco->tx_gfx]->mark_dirty((offset - 0x10000 / 2) / 8);
15251525#if 0
15261526      if (!tc0080vco->has_tx)
15271527      {
r18055r18056
22462246      else if (offset < 0x3000)
22472247         tc0100scn->tilemap[2][0]->mark_tile_dirty((offset & 0x0fff));
22482248      else if (offset < 0x3800)
2249         device->machine().gfx[tc0100scn->tx_gfx]->mark_dirty((offset - 0x3000) / 8);
2249         space.machine().gfx[tc0100scn->tx_gfx]->mark_dirty((offset - 0x3000) / 8);
22502250      else if (offset >= 0x4000 && offset < 0x6000)
22512251         tc0100scn->tilemap[1][0]->mark_tile_dirty((offset & 0x1fff) / 2);
22522252   }
r18055r18056
22572257      else if (offset >= 0x4000 && offset < 0x8000)
22582258         tc0100scn->tilemap[1][1]->mark_tile_dirty((offset & 0x3fff) / 2);
22592259      else if (offset >= 0x8800 && offset < 0x9000)
2260         device->machine().gfx[tc0100scn->tx_gfx]->mark_dirty((offset - 0x8800) / 8);
2260         space.machine().gfx[tc0100scn->tx_gfx]->mark_dirty((offset - 0x8800) / 8);
22612261      else if (offset >= 0x9000)
22622262         tc0100scn->tilemap[2][1]->mark_tile_dirty((offset & 0x0fff));
22632263   }
r18055r18056
23192319            tc0100scn_dirty_tilemaps(device);
23202320
23212321            /* reset the pointer to the text characters (and dirty them all) */
2322            device->machine().gfx[tc0100scn->tx_gfx]->set_source((UINT8 *)tc0100scn->char_ram);
2322            space.machine().gfx[tc0100scn->tx_gfx]->set_source((UINT8 *)tc0100scn->char_ram);
23232323         }
23242324
23252325         break;
r18055r18056
31263126      }
31273127      else if (offset <= 0x7fff)
31283128      {
3129         device->machine().gfx[tc0480scp->tx_gfx]->mark_dirty((offset - 0x7000) / 16);
3129         space.machine().gfx[tc0480scp->tx_gfx]->mark_dirty((offset - 0x7000) / 16);
31303130      }
31313131   }
31323132   else
r18055r18056
31443144      }
31453145      else if (offset <= 0x7fff)
31463146      {
3147         device->machine().gfx[tc0480scp->tx_gfx]->mark_dirty((offset - 0x7000) / 16);
3147         space.machine().gfx[tc0480scp->tx_gfx]->mark_dirty((offset - 0x7000) / 16);
31483148      }
31493149   }
31503150}
r18055r18056
48594859
48604860      case 1:
48614861         tc0110pcr->ram[tc0110pcr->addr] = data & 0xffff;
4862         palette_set_color_rgb(device->machine(), tc0110pcr->addr, pal5bit(data >> 0), pal5bit(data >> 5), pal5bit(data >> 10));
4862         palette_set_color_rgb(space.machine(), tc0110pcr->addr, pal5bit(data >> 0), pal5bit(data >> 5), pal5bit(data >> 10));
48634863         break;
48644864
48654865      default:
r18055r18056
48824882
48834883      case 1:
48844884         tc0110pcr->ram[tc0110pcr->addr] = data & 0xffff;
4885         palette_set_color_rgb(device->machine(), tc0110pcr->addr + (tc0110pcr->pal_offs << 12), pal5bit(data >> 0), pal5bit(data >> 5), pal5bit(data >> 10));
4885         palette_set_color_rgb(space.machine(), tc0110pcr->addr + (tc0110pcr->pal_offs << 12), pal5bit(data >> 0), pal5bit(data >> 5), pal5bit(data >> 10));
48864886         break;
48874887
48884888      default:
r18055r18056
49074907
49084908      case 1:
49094909         tc0110pcr->ram[tc0110pcr->addr] = data & 0xffff;
4910         palette_set_color_rgb(device->machine(), tc0110pcr->addr, pal5bit(data >> 10), pal5bit(data >> 5), pal5bit(data >> 0));
4910         palette_set_color_rgb(space.machine(), tc0110pcr->addr, pal5bit(data >> 10), pal5bit(data >> 5), pal5bit(data >> 0));
49114911         break;
49124912
49134913      default:
r18055r18056
49324932
49334933      case 1:
49344934         tc0110pcr->ram[tc0110pcr->addr] = data & 0xffff;
4935         palette_set_color_rgb(device->machine(), tc0110pcr->addr, pal4bit(data >> 0), pal4bit(data >> 4), pal4bit(data >> 8));
4935         palette_set_color_rgb(space.machine(), tc0110pcr->addr, pal4bit(data >> 0), pal4bit(data >> 4), pal4bit(data >> 8));
49364936         break;
49374937
49384938      default:
trunk/src/mame/video/leland.c
r18055r18056
118118
119119WRITE8_DEVICE_HANDLER( leland_gfx_port_w )
120120{
121   leland_state *state = device->machine().driver_data<leland_state>();
122   device->machine().primary_screen->update_partial(device->machine().primary_screen->vpos());
121   leland_state *state = space.machine().driver_data<leland_state>();
122   space.machine().primary_screen->update_partial(space.machine().primary_screen->vpos());
123123   state->m_gfxbank = data;
124124}
125125
trunk/src/mame/video/gameplan.c
r18055r18056
116116
117117static WRITE8_DEVICE_HANDLER( video_data_w )
118118{
119   gameplan_state *state = device->machine().driver_data<gameplan_state>();
119   gameplan_state *state = space.machine().driver_data<gameplan_state>();
120120
121121   state->m_video_data = data;
122122}
r18055r18056
124124
125125static WRITE8_DEVICE_HANDLER( gameplan_video_command_w )
126126{
127   gameplan_state *state = device->machine().driver_data<gameplan_state>();
127   gameplan_state *state = space.machine().driver_data<gameplan_state>();
128128
129129   state->m_video_command = data & 0x07;
130130}
r18055r18056
132132
133133static WRITE8_DEVICE_HANDLER( leprechn_video_command_w )
134134{
135   gameplan_state *state = device->machine().driver_data<gameplan_state>();
135   gameplan_state *state = space.machine().driver_data<gameplan_state>();
136136
137137   state->m_video_command = (data >> 3) & 0x07;
138138}
trunk/src/mame/video/qix.c
r18055r18056
8686
8787WRITE8_DEVICE_HANDLER( qix_flip_screen_w )
8888{
89   qix_state *state = device->machine().driver_data<qix_state>();
89   qix_state *state = space.machine().driver_data<qix_state>();
9090
9191   state->m_flip = data;
9292}
trunk/src/mame/video/hanaawas.c
r18055r18056
8181WRITE8_DEVICE_HANDLER( hanaawas_portB_w )
8282{
8383   /* bit 7 is flip screen */
84   hanaawas_state *state = device->machine().driver_data<hanaawas_state>();
84   hanaawas_state *state = space.machine().driver_data<hanaawas_state>();
8585   if (state->flip_screen() != (~data & 0x80))
8686   {
8787      state->flip_screen_set(~data & 0x80);
88      device->machine().tilemap().mark_all_dirty();
88      space.machine().tilemap().mark_all_dirty();
8989   }
9090}
9191
trunk/src/mame/video/deco16ic.c
r18055r18056
571571WRITE16_DEVICE_HANDLER( deco16ic_pf_control_w )
572572{
573573   deco16ic_state *deco16ic = get_safe_token(device);
574   device->machine().primary_screen->update_partial(device->machine().primary_screen->vpos());
574   space.machine().primary_screen->update_partial(space.machine().primary_screen->vpos());
575575
576576   COMBINE_DATA(&deco16ic->pf12_control[offset]);
577577}
trunk/src/mame/video/decocomn.c
r18055r18056
4646{
4747   int r,g,b;
4848
49   driver_device *state = device->machine().driver_data();
49   driver_device *state = space.machine().driver_data();
5050   COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
5151   if (offset&1) offset--;
5252
r18055r18056
5454   g = (state->m_generic_paletteram_16[offset + 1] >> 8) & 0xff;
5555   r = (state->m_generic_paletteram_16[offset + 1] >> 0) & 0xff;
5656
57   palette_set_color(device->machine(), offset / 2, MAKE_RGB(r,g,b));
57   palette_set_color(space.machine(), offset / 2, MAKE_RGB(r,g,b));
5858}
5959
6060WRITE16_DEVICE_HANDLER( decocomn_buffered_palette_w )
6161{
6262   decocomn_state *decocomn = get_safe_token(device);
6363
64   driver_device *state = device->machine().driver_data();
64   driver_device *state = space.machine().driver_data();
6565   COMBINE_DATA(&state->m_generic_paletteram_16[offset]);
6666
6767   decocomn->dirty_palette[offset / 2] = 1;
r18055r18056
7070WRITE16_DEVICE_HANDLER( decocomn_palette_dma_w )
7171{
7272   decocomn_state *decocomn = get_safe_token(device);
73   driver_device *state = device->machine().driver_data();
74   const int m = device->machine().total_colors();
73   driver_device *state = space.machine().driver_data();
74   const int m = space.machine().total_colors();
7575   int r, g, b, i;
7676
7777   for (i = 0; i < m; i++)
r18055r18056
8484         g = (state->m_generic_paletteram_16[i * 2 + 1] >> 8) & 0xff;
8585         r = (state->m_generic_paletteram_16[i * 2 + 1] >> 0) & 0xff;
8686
87         palette_set_color(device->machine(), i, MAKE_RGB(r,g,b));
87         palette_set_color(space.machine(), i, MAKE_RGB(r,g,b));
8888      }
8989   }
9090}
trunk/src/mame/video/phoenix.c
r18055r18056
426426
427427READ8_DEVICE_HANDLER( survival_protection_r )
428428{
429   phoenix_state *state = device->machine().driver_data<phoenix_state>();
429   phoenix_state *state = space.machine().driver_data<phoenix_state>();
430430   return state->m_survival_protection_value;
431431}
432432
trunk/src/mame/video/konicdev.c
r18055r18056
13761376   case 6:
13771377      /* palette bank change */
13781378      if ((k007121->ctrlram[offset] & 0x30) != (data & 0x30))
1379         device->machine().tilemap().mark_all_dirty();
1379         space.machine().tilemap().mark_all_dirty();
13801380      break;
13811381   case 7:
13821382      k007121->flipscreen = data & 0x08;
r18055r18056
17021702         break;
17031703      case 0x01:  /* used for banking in Rock'n'Rage */
17041704         if (data != k007342->regs[1])
1705            device->machine().tilemap().mark_all_dirty();
1705            space.machine().tilemap().mark_all_dirty();
17061706      case 0x02:
17071707         k007342->scrollx[0] = (k007342->scrollx[0] & 0xff) | ((data & 0x01) << 8);
17081708         k007342->scrollx[1] = (k007342->scrollx[1] & 0xff) | ((data & 0x02) << 7);
r18055r18056
23142314   if (k052109->has_extra_video_ram)
23152315      code |= color << 8;   /* kludge for X-Men */
23162316   else
2317      k052109->callback(device->machine(), 0, bank, &code, &color, &flags, &priority);
2317      k052109->callback(space.machine(), 0, bank, &code, &color, &flags, &priority);
23182318
23192319      addr = (code << 5) + (offset & 0x1f);
2320      addr &= device->machine().root_device().memregion(k052109->memory_region)->bytes() - 1;
2320      addr &= space.machine().root_device().memregion(k052109->memory_region)->bytes() - 1;
23212321
23222322//      logerror("%04x: off = %04x sub = %02x (bnk = %x) adr = %06x\n", space.device().safe_pc(), offset, k052109->romsubbank, bank, addr);
23232323
2324      return device->machine().root_device().memregion(k052109->memory_region)->base()[addr];
2324      return space.machine().root_device().memregion(k052109->memory_region)->base()[addr];
23252325   }
23262326}
23272327
r18055r18056
35723572READ8_DEVICE_HANDLER( k053244_r )
35733573{
35743574   k05324x_state *k053244 = k05324x_get_safe_token(device);
3575   running_machine &machine = device->machine();
3575   running_machine &machine = space.machine();
35763576
35773577   if ((k053244->regs[5] & 0x10) && offset >= 0x0c && offset < 0x10)
35783578   {
r18055r18056
36123612//          popmessage("053244 reg 05 = %02x",data);
36133613      /* bit 2 = unknown, Parodius uses it */
36143614      /* bit 5 = unknown, Rollergames uses it */
3615//      logerror("%s: write %02x to 053244 address 5\n", device->machine().describe_context(), data);
3615//      logerror("%s: write %02x to 053244 address 5\n", space.machine().describe_context(), data);
36163616      break;
36173617
36183618   case 0x06:
r18055r18056
44744474READ16_DEVICE_HANDLER( k055673_rom_word_r )   // 5bpp
44754475{
44764476   k053247_state *k053246 = k053247_get_safe_token(device);
4477   UINT8 *ROM8 = (UINT8 *)device->machine().root_device().memregion(k053246->memory_region)->base();
4478   UINT16 *ROM = (UINT16 *)device->machine().root_device().memregion(k053246->memory_region)->base();
4479   int size4 = (device->machine().root_device().memregion(k053246->memory_region)->bytes() / (1024 * 1024)) / 5;
4477   UINT8 *ROM8 = (UINT8 *)space.machine().root_device().memregion(k053246->memory_region)->base();
4478   UINT16 *ROM = (UINT16 *)space.machine().root_device().memregion(k053246->memory_region)->base();
4479   int size4 = (space.machine().root_device().memregion(k053246->memory_region)->bytes() / (1024 * 1024)) / 5;
44804480   int romofs;
44814481
44824482   size4 *= 4 * 1024 * 1024;   // get offset to 5th bit
r18055r18056
45134513READ16_DEVICE_HANDLER( k055673_GX6bpp_rom_word_r )
45144514{
45154515   k053247_state *k053246 = k053247_get_safe_token(device);
4516   UINT16 *ROM = (UINT16 *)device->machine().root_device().memregion(k053246->memory_region)->base();
4516   UINT16 *ROM = (UINT16 *)space.machine().root_device().memregion(k053246->memory_region)->base();
45174517   int romofs;
45184518
45194519   romofs = k053246->kx46_regs[6] << 16 | k053246->kx46_regs[7] << 8 | k053246->kx46_regs[4];
r18055r18056
45534553      int addr;
45544554
45554555      addr = (k053246->kx46_regs[6] << 17) | (k053246->kx46_regs[7] << 9) | (k053246->kx46_regs[4] << 1) | ((offset & 1) ^ 1);
4556      addr &= device->machine().root_device().memregion(k053246->memory_region)->bytes() - 1;
4556      addr &= space.machine().root_device().memregion(k053246->memory_region)->bytes() - 1;
45574557//      if (VERBOSE)
45584558//          popmessage("%04x: offset %02x addr %06x", space.device().safe_pc(), offset, addr);
4559      return device->machine().root_device().memregion(k053246->memory_region)->base()[addr];
4559      return space.machine().root_device().memregion(k053246->memory_region)->base()[addr];
45604560   }
45614561   else
45624562   {
r18055r18056
54385438      int addr = offset + (k051316->ctrlram[0x0c] << 11) + (k051316->ctrlram[0x0d] << 19);
54395439      if (k051316->bpp <= 4)
54405440         addr /= 2;
5441      addr &= device->machine().root_device().memregion(k051316->memory_region)->bytes() - 1;
5441      addr &= space.machine().root_device().memregion(k051316->memory_region)->bytes() - 1;
54425442
5443      //  popmessage("%s: offset %04x addr %04x", device->machine().describe_context(), offset, addr);
5443      //  popmessage("%s: offset %04x addr %04x", space.machine().describe_context(), offset, addr);
54445444
5445      return device->machine().root_device().memregion(k051316->memory_region)->base()[addr];
5445      return space.machine().root_device().memregion(k051316->memory_region)->base()[addr];
54465446   }
54475447   else
54485448   {
5449      //logerror("%s: read 051316 ROM offset %04x but reg 0x0c bit 0 not clear\n", device->machine().describe_context(), offset);
5449      //logerror("%s: read 051316 ROM offset %04x but reg 0x0c bit 0 not clear\n", space.machine().describe_context(), offset);
54505450      return 0;
54515451   }
54525452}
r18055r18056
54555455{
54565456   k051316_state *k051316= k051316_get_safe_token(device);
54575457   k051316->ctrlram[offset] = data;
5458   //if (offset >= 0x0c) logerror("%s: write %02x to 051316 reg %x\n", device->machine().describe_context(), data, offset);
5458   //if (offset >= 0x0c) logerror("%s: write %02x to 051316 reg %x\n", space.machine().describe_context(), data, offset);
54595459}
54605460
54615461// a few games (ajax, rollerg, ultraman, etc.) can enable and disable wraparound after start
r18055r18056
60026002         }
60036003
60046004         if (!k053251->tilemaps_set)
6005            device->machine().tilemap().mark_all_dirty();
6005            space.machine().tilemap().mark_all_dirty();
60066006      }
60076007      else if (offset == 10)
60086008      {
r18055r18056
60186018         }
60196019
60206020         if (!k053251->tilemaps_set)
6021            device->machine().tilemap().mark_all_dirty();
6021            space.machine().tilemap().mark_all_dirty();
60226022      }
60236023   }
60246024}
r18055r18056
68886888   int addr = 0x2000 * k056832->cur_gfx_banks + 2 * offset;
68896889
68906890   if (!k056832->rombase)
6891      k056832->rombase = device->machine().root_device().memregion(k056832->memory_region)->base();
6891      k056832->rombase = space.machine().root_device().memregion(k056832->memory_region)->base();
68926892
68936893   return k056832->rombase[addr + 1] | (k056832->rombase[addr] << 8);
68946894}
r18055r18056
69026902   int addr;
69036903
69046904   if (!k056832->rombase)
6905      k056832->rombase = device->machine().root_device().memregion(k056832->memory_region)->base();
6905      k056832->rombase = space.machine().root_device().memregion(k056832->memory_region)->base();
69066906
69076907   if (k056832->regsb[2] & 0x8)
69086908   {
r18055r18056
69656965   int addr = 0x4000 * k056832->cur_gfx_banks + offset;
69666966
69676967   if (!k056832->rombase)
6968      k056832->rombase = device->machine().root_device().memregion(k056832->memory_region)->base();
6968      k056832->rombase = space.machine().root_device().memregion(k056832->memory_region)->base();
69696969
69706970   return k056832->rombase[addr + 2] | (k056832->rombase[addr] << 8);
69716971}
r18055r18056
69766976   int addr = 0x8000 * k056832->cur_gfx_banks + 2 * offset;
69776977
69786978   if (!k056832->rombase)
6979      k056832->rombase = device->machine().root_device().memregion(k056832->memory_region)->base();
6979      k056832->rombase = space.machine().root_device().memregion(k056832->memory_region)->base();
69806980
69816981   return k056832->rombase[addr + 2] | (k056832->rombase[addr] << 8);
69826982}
r18055r18056
69876987   int addr = 0x2000 * k056832->cur_gfx_banks + 2 * offset;
69886988
69896989   if (!k056832->rombase)
6990      k056832->rombase = device->machine().root_device().memregion(k056832->memory_region)->base();
6990      k056832->rombase = space.machine().root_device().memregion(k056832->memory_region)->base();
69916991
69926992   return k056832->rombase[addr + 1] | (k056832->rombase[addr] << 8);
69936993}
r18055r18056
90099009      {
90109010         case 0x0b:      // CG Board ROM read
90119011         {
9012            UINT16 *rom = (UINT16*)device->machine().root_device().memregion(k001006->gfx_region)->base();
9012            UINT16 *rom = (UINT16*)space.machine().root_device().memregion(k001006->gfx_region)->base();
90139013            return rom[k001006->addr / 2] << 16;
90149014         }
90159015         case 0x0d:      // Palette RAM read
r18055r18056
1038010380
1038110381   switch (offset)
1038210382   {
10383      case 0x54/4:   return device->machine().rand() << 16;
10384      case 0x5c/4:   return device->machine().rand() << 16 | device->machine().rand();
10383      case 0x54/4:   return space.machine().rand() << 16;
10384      case 0x5c/4:   return space.machine().rand() << 16 | space.machine().rand();
1038510385   }
1038610386
1038710387   return k001604->reg[offset];
r18055r18056
1045710457
1045810458   COMBINE_DATA(k001604->char_ram + addr);
1045910459
10460   device->machine().gfx[k001604->gfx_index[0]]->mark_dirty(addr / 32);
10461   device->machine().gfx[k001604->gfx_index[1]]->mark_dirty(addr / 128);
10460   space.machine().gfx[k001604->gfx_index[0]]->mark_dirty(addr / 32);
10461   space.machine().gfx[k001604->gfx_index[1]]->mark_dirty(addr / 128);
1046210462}
1046310463
1046410464WRITE32_DEVICE_HANDLER( k001604_reg_w )
r18055r18056
1075010750   UINT32 addr = offset + (bank * (0x40000/4));
1075110751
1075210752   COMBINE_DATA(k037122->char_ram + addr);
10753   device->machine().gfx[k037122->gfx_index]->mark_dirty(addr / 32);
10753   space.machine().gfx[k037122->gfx_index]->mark_dirty(addr / 32);
1075410754}
1075510755
1075610756READ32_DEVICE_HANDLER( k037122_reg_r )
trunk/src/mame/video/vectrex.c
r18055r18056
323323
324324static WRITE8_DEVICE_HANDLER(v_via_pb_w)
325325{
326   vectrex_state *state = device->machine().driver_data<vectrex_state>();
326   vectrex_state *state = space.machine().driver_data<vectrex_state>();
327327   if (!(data & 0x80))
328328   {
329329      /* RAMP is active */
r18055r18056
362362                  +(double)(state->m_pen_y - state->m_y_int) * (state->m_pen_y - state->m_y_int);
363363               d2 = b2 - ab * ab / a2;
364364               if (d2 < 2e10 && state->m_analog[A_Z] * state->m_blank > 0)
365                  state->m_lp_t->adjust(attotime::from_double(ab / a2 / (device->machine().device("maincpu")->unscaled_clock() * INT_PER_CLOCK)));
365                  state->m_lp_t->adjust(attotime::from_double(ab / a2 / (space.machine().device("maincpu")->unscaled_clock() * INT_PER_CLOCK)));
366366            }
367367         }
368368      }
r18055r18056
370370      if (!(data & 0x1) && (state->m_via_out[PORTB] & 0x1))
371371      {
372372         /* MUX has been enabled */
373         device->machine().scheduler().timer_set(attotime::from_nsec(ANALOG_DELAY), FUNC(update_signal));
373         space.machine().scheduler().timer_set(attotime::from_nsec(ANALOG_DELAY), FUNC(update_signal));
374374      }
375375   }
376376   else
r18055r18056
387387   /* Cartridge bank-switching */
388388   if (state->m_64k_cart && ((data ^ state->m_via_out[PORTB]) & 0x40))
389389   {
390      device_t &root_device = device->machine().root_device();
390      device_t &root_device = space.machine().root_device();
391391
392392      root_device.membank("bank1")->set_base(root_device.memregion("maincpu")->base() + ((data & 0x40) ? 0x10000 : 0x0000));
393393   }
r18055r18056
395395   /* Sound */
396396   if (data & 0x10)
397397   {
398      device_t *ay8912 = device->machine().device("ay8912");
398      device_t *ay8912 = space.machine().device("ay8912");
399399
400400      if (data & 0x08) /* BC1 (do we select a reg or write it ?) */
401401         ay8910_address_w(ay8912, space, 0, state->m_via_out[PORTA]);
r18055r18056
404404   }
405405
406406   if (!(data & 0x1) && (state->m_via_out[PORTB] & 0x1))
407      vectrex_multiplexer (device->machine(), (data >> 1) & 0x3);
407      vectrex_multiplexer (space.machine(), (data >> 1) & 0x3);
408408
409409   state->m_via_out[PORTB] = data;
410   device->machine().scheduler().timer_set(attotime::from_nsec(ANALOG_DELAY), FUNC(update_signal), data & 0x80, &state->m_ramp);
410   space.machine().scheduler().timer_set(attotime::from_nsec(ANALOG_DELAY), FUNC(update_signal), data & 0x80, &state->m_ramp);
411411}
412412
413413
414414static WRITE8_DEVICE_HANDLER(v_via_pa_w)
415415{
416   vectrex_state *state = device->machine().driver_data<vectrex_state>();
416   vectrex_state *state = space.machine().driver_data<vectrex_state>();
417417   /* DAC output always goes to Y integrator */
418418   state->m_via_out[PORTA] = data;
419   device->machine().scheduler().timer_set(attotime::from_nsec(ANALOG_DELAY), FUNC(update_signal), data, &state->m_analog[A_Y]);
419   space.machine().scheduler().timer_set(attotime::from_nsec(ANALOG_DELAY), FUNC(update_signal), data, &state->m_analog[A_Y]);
420420
421421   if (!(state->m_via_out[PORTB] & 0x1))
422      vectrex_multiplexer (device->machine(), (state->m_via_out[PORTB] >> 1) & 0x3);
422      vectrex_multiplexer (space.machine(), (state->m_via_out[PORTB] >> 1) & 0x3);
423423}
424424
425425
426426static WRITE8_DEVICE_HANDLER(v_via_ca2_w)
427427{
428428   if (data == 0)
429      device->machine().scheduler().timer_set(attotime::from_nsec(ANALOG_DELAY), FUNC(vectrex_zero_integrators));
429      space.machine().scheduler().timer_set(attotime::from_nsec(ANALOG_DELAY), FUNC(vectrex_zero_integrators));
430430}
431431
432432
433433static WRITE8_DEVICE_HANDLER(v_via_cb2_w)
434434{
435   vectrex_state *state = device->machine().driver_data<vectrex_state>();
435   vectrex_state *state = space.machine().driver_data<vectrex_state>();
436436   int dx, dy;
437437
438438   if (state->m_cb2 != data)
r18055r18056
451451            dx = abs(state->m_pen_x - state->m_x_int);
452452            dy = abs(state->m_pen_y - state->m_y_int);
453453            if (dx < 500000 && dy < 500000 && data > 0)
454               device->machine().scheduler().timer_set(attotime::zero, FUNC(lightpen_trigger));
454               space.machine().scheduler().timer_set(attotime::zero, FUNC(lightpen_trigger));
455455         }
456456      }
457457
458      device->machine().scheduler().timer_set(attotime::zero, FUNC(update_signal), data, &state->m_blank);
458      space.machine().scheduler().timer_set(attotime::zero, FUNC(update_signal), data, &state->m_blank);
459459      state->m_cb2 = data;
460460   }
461461}
trunk/src/mame/video/xxmissio.c
r18055r18056
1414
1515WRITE8_DEVICE_HANDLER( xxmissio_scroll_x_w )
1616{
17   xxmissio_state *state = device->machine().driver_data<xxmissio_state>();
17   xxmissio_state *state = space.machine().driver_data<xxmissio_state>();
1818   state->m_xscroll = data;
1919}
2020WRITE8_DEVICE_HANDLER( xxmissio_scroll_y_w )
2121{
22   xxmissio_state *state = device->machine().driver_data<xxmissio_state>();
22   xxmissio_state *state = space.machine().driver_data<xxmissio_state>();
2323   state->m_yscroll = data;
2424}
2525
trunk/src/mame/video/homerun.c
r18055r18056
3737
3838WRITE8_DEVICE_HANDLER(homerun_banking_w)
3939{
40   homerun_state *state = device->machine().driver_data<homerun_state>();
40   homerun_state *state = space.machine().driver_data<homerun_state>();
4141
4242   // games do mid-screen gfx bank switching
43   int vpos = device->machine().primary_screen->vpos();
44   device->machine().primary_screen->update_partial(vpos);
43   int vpos = space.machine().primary_screen->vpos();
44   space.machine().primary_screen->update_partial(vpos);
4545
4646   // d0-d1: gfx bank
4747   // d2-d4: ?
trunk/src/mame/video/gp9001.c
r18055r18056
434434
435435static READ16_DEVICE_HANDLER( gp9001_vdpstatus_r )
436436{
437   return ((device->machine().primary_screen->vpos() + 15) % 262) >= 245;
437   return ((space.machine().primary_screen->vpos() + 15) % 262) >= 245;
438438}
439439
440440static WRITE16_DEVICE_HANDLER( gp9001_scroll_reg_select_w )
trunk/src/mame/drivers/ddenlovr.c
r18055r18056
15241524
15251525static WRITE16_DEVICE_HANDLER( quiz365_oki_bank1_w )
15261526{
1527   dynax_state *state = device->machine().driver_data<dynax_state>();
1527   dynax_state *state = space.machine().driver_data<dynax_state>();
15281528
15291529   if (ACCESSING_BITS_0_7)
15301530   {
r18055r18056
15361536
15371537static WRITE16_DEVICE_HANDLER( quiz365_oki_bank2_w )
15381538{
1539   dynax_state *state = device->machine().driver_data<dynax_state>();
1539   dynax_state *state = space.machine().driver_data<dynax_state>();
15401540
15411541   if (ACCESSING_BITS_0_7)
15421542   {
r18055r18056
15611561
15621562static WRITE8_DEVICE_HANDLER( ddenlovr_select_w )
15631563{
1564   dynax_state *state = device->machine().driver_data<dynax_state>();
1564   dynax_state *state = space.machine().driver_data<dynax_state>();
15651565   state->m_dsw_sel = data;
15661566}
15671567
r18055r18056
15981598
15991599static READ8_DEVICE_HANDLER( quiz365_input_r )
16001600{
1601   dynax_state *state = device->machine().driver_data<dynax_state>();
1601   dynax_state *state = space.machine().driver_data<dynax_state>();
16021602
16031603   if (!BIT(state->m_dsw_sel, 0))   return state->ioport("DSW1")->read();
16041604   if (!BIT(state->m_dsw_sel, 1))   return state->ioport("DSW2")->read();
16051605   if (!BIT(state->m_dsw_sel, 2))   return state->ioport("DSW3")->read();
1606   if (!BIT(state->m_dsw_sel, 3))   return 0xff;//device->machine().rand();
1607   if (!BIT(state->m_dsw_sel, 4))   return 0xff;//device->machine().rand();
1606   if (!BIT(state->m_dsw_sel, 3))   return 0xff;//space.machine().rand();
1607   if (!BIT(state->m_dsw_sel, 4))   return 0xff;//space.machine().rand();
16081608   return 0xff;
16091609}
16101610
r18055r18056
28122812
28132813static READ8_DEVICE_HANDLER( hginga_dsw_r )
28142814{
2815   dynax_state *state = device->machine().driver_data<dynax_state>();
2815   dynax_state *state = space.machine().driver_data<dynax_state>();
28162816
28172817   if (!BIT(state->m_dsw_sel, 0))   return state->ioport("DSW4")->read();
28182818   if (!BIT(state->m_dsw_sel, 1))   return state->ioport("DSW3")->read();
r18055r18056
28202820   if (!BIT(state->m_dsw_sel, 3))   return state->ioport("DSW1")->read();
28212821   if (!BIT(state->m_dsw_sel, 4))   return state->ioport("DSW5")->read();
28222822
2823   logerror("%s: warning, unknown bits read, ddenlovr_select = %02x\n", device->machine().describe_context(), state->m_dsw_sel);
2823   logerror("%s: warning, unknown bits read, ddenlovr_select = %02x\n", space.machine().describe_context(), state->m_dsw_sel);
28242824   return 0xff;
28252825}
28262826
r18055r18056
36573657
36583658static READ8_DEVICE_HANDLER( seljan2_dsw_r )
36593659{
3660   dynax_state *state = device->machine().driver_data<dynax_state>();
3660   dynax_state *state = space.machine().driver_data<dynax_state>();
36613661
36623662   if (!BIT(state->m_dsw_sel, 0))   return state->ioport("DSW1")->read();
36633663   if (!BIT(state->m_dsw_sel, 1))   return state->ioport("DSW2")->read();
r18055r18056
36653665   if (!BIT(state->m_dsw_sel, 3))   return state->ioport("DSW4")->read();
36663666   if (!BIT(state->m_dsw_sel, 4))   return state->ioport("DSWTOP")->read();
36673667
3668   logerror("%s: warning, unknown bits read, ddenlovr_select = %02x\n", device->machine().describe_context(), state->m_dsw_sel);
3668   logerror("%s: warning, unknown bits read, ddenlovr_select = %02x\n", space.machine().describe_context(), state->m_dsw_sel);
36693669   return 0xff;
36703670}
36713671
trunk/src/mame/drivers/chinagat.c
r18055r18056
221221
222222static WRITE8_DEVICE_HANDLER( saiyugoub1_adpcm_control_w )
223223{
224   ddragon_state *state = device->machine().driver_data<ddragon_state>();
224   ddragon_state *state = space.machine().driver_data<ddragon_state>();
225225
226226   /* i8748 Port 2 write */
227227   UINT8 *saiyugoub1_adpcm_rom = state->memregion("adpcm")->base();
r18055r18056
275275
276276   /* Actually, T0 output clk mode is not supported by the i8048 core */
277277#if 0
278   ddragon_state *state = device->machine().driver_data<ddragon_state>();
278   ddragon_state *state = space.machine().driver_data<ddragon_state>();
279279
280280   state->m_m5205_clk++;
281281   if (state->m_m5205_clk == 8)
trunk/src/mame/drivers/othello.c
r18055r18056
252252
253253static WRITE8_DEVICE_HANDLER( n7751_rom_control_w )
254254{
255   othello_state *state = device->machine().driver_data<othello_state>();
255   othello_state *state = space.machine().driver_data<othello_state>();
256256
257257   /* P4 - address lines 0-3 */
258258   /* P5 - address lines 4-7 */
trunk/src/mame/drivers/chihiro.c
r18055r18056
15591559
15601560static READ8_DEVICE_HANDLER( get_slave_ack )
15611561{
1562   chihiro_state *chst=device->machine().driver_data<chihiro_state>();
1562   chihiro_state *chst=space.machine().driver_data<chihiro_state>();
15631563   if (offset==2) { // IRQ = 2
15641564      return pic8259_acknowledge(chst->chihiro_devs.pic8259_2);
15651565   }
trunk/src/mame/drivers/r2dtank.c
r18055r18056
231231
232232static WRITE8_DEVICE_HANDLER( ttl74123_output_changed )
233233{
234   r2dtank_state *state = device->machine().driver_data<r2dtank_state>();
235   pia6821_device *pia = device->machine().device<pia6821_device>("pia_main");
234   r2dtank_state *state = space.machine().driver_data<r2dtank_state>();
235   pia6821_device *pia = space.machine().device<pia6821_device>("pia_main");
236236   pia->ca1_w(data);
237237   state->m_ttl74123_output = data;
238238}
trunk/src/mame/drivers/topspeed.c
r18055r18056
423423
424424static WRITE8_DEVICE_HANDLER( topspeed_tc0140syt_comm_w )
425425{
426   device->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
426   space.machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
427427   tc0140syt_comm_w(device, space, 0, data);
428428}
429429
trunk/src/mame/drivers/segas16a.c
r18055r18056
426426
427427WRITE8_DEVICE_HANDLER( segas16a_state::static_n7751_rom_offset_w )
428428{
429   segas16a_state *state = device->machine().driver_data<segas16a_state>();
429   segas16a_state *state = space.machine().driver_data<segas16a_state>();
430430   state->n7751_rom_offset_w(state->m_maincpu->space(AS_PROGRAM), offset, data);
431431}
432432
trunk/src/mame/drivers/mpu4vid.c
r18055r18056
425425
426426   if (data)
427427   {
428      acia6850_device *acia_0 = device->machine().device<acia6850_device>("acia6850_0");
429      acia6850_device *acia_1 = device->machine().device<acia6850_device>("acia6850_1");
428      acia6850_device *acia_0 = space.machine().device<acia6850_device>("acia6850_0");
429      acia6850_device *acia_1 = space.machine().device<acia6850_device>("acia6850_1");
430430      acia_0->tx_clock_in();
431431      acia_0->rx_clock_in();
432432      acia_1->tx_clock_in();
r18055r18056
720720
721721static READ8_DEVICE_HANDLER( pia_ic5_porta_track_r )
722722{
723   mpu4vid_state *state = device->machine().driver_data<mpu4vid_state>();
723   mpu4vid_state *state = space.machine().driver_data<mpu4vid_state>();
724724   /* The SWP trackball interface connects a standard trackball to the AUX1 port on the MPU4
725725    mainboard. As per usual, they've taken the cheap route here, reading and processing the
726726    raw quadrature signal from the encoder wheels for a 4 bit interface, rather than use any
r18055r18056
729729    We invert the X and Y data at source due to the use of Schmitt triggers in the interface, which
730730    clean up the pulses and flip the active phase.*/
731731
732   LOG(("%s: IC5 PIA Read of Port A (AUX1)\n",device->machine().describe_context()));
732   LOG(("%s: IC5 PIA Read of Port A (AUX1)\n",space.machine().describe_context()));
733733
734734
735735   UINT8 data = state->ioport("AUX1")->read();
trunk/src/mame/drivers/nyny.c
r18055r18056
264264
265265static WRITE8_DEVICE_HANDLER( ic48_1_74123_output_changed )
266266{
267   nyny_state *state = device->machine().driver_data<nyny_state>();
267   nyny_state *state = space.machine().driver_data<nyny_state>();
268268   state->m_pia2->ca1_w(data);
269269}
270270
trunk/src/mame/drivers/spiders.c
r18055r18056
374374
375375static WRITE8_DEVICE_HANDLER( ic60_74123_output_changed)
376376{
377   pia6821_device *pia2 = device->machine().device<pia6821_device>("pia2");
377   pia6821_device *pia2 = space.machine().device<pia6821_device>("pia2");
378378   pia2->ca1_w(data);
379379}
380380
trunk/src/mame/drivers/ghosteo.c
r18055r18056
207207
208208static WRITE8_DEVICE_HANDLER( s3c2410_nand_command_w )
209209{
210   ghosteo_state *state = device->machine().driver_data<ghosteo_state>();
210   ghosteo_state *state = space.machine().driver_data<ghosteo_state>();
211211   struct nand_t &nand = state->m_nand;
212//  device_t *nand = device->machine().device( "nand");
212//  device_t *nand = space.machine().device( "nand");
213213   #if NAND_LOG
214214   logerror( "s3c2410_nand_command_w %02X\n", data);
215215   #endif
r18055r18056
233233
234234static WRITE8_DEVICE_HANDLER( s3c2410_nand_address_w )
235235{
236   ghosteo_state *state = device->machine().driver_data<ghosteo_state>();
236   ghosteo_state *state = space.machine().driver_data<ghosteo_state>();
237237   struct nand_t &nand = state->m_nand;
238//  device_t *nand = device->machine().device( "nand");
238//  device_t *nand = space.machine().device( "nand");
239239   #if NAND_LOG
240240   logerror( "s3c2410_nand_address_w %02X\n", data);
241241   #endif
r18055r18056
269269
270270static READ8_DEVICE_HANDLER( s3c2410_nand_data_r )
271271{
272   ghosteo_state *state = device->machine().driver_data<ghosteo_state>();
272   ghosteo_state *state = space.machine().driver_data<ghosteo_state>();
273273   struct nand_t &nand = state->m_nand;
274//  device_t *nand = device->machine().device( "nand");
274//  device_t *nand = space.machine().device( "nand");
275275   UINT8 data = 0;
276276   switch (nand.mode)
277277   {
r18055r18056
282282      break;
283283      case NAND_M_READ :
284284      {
285         UINT8 *flash = (UINT8 *)device->machine().root_device().memregion( "user1")->base();
285         UINT8 *flash = (UINT8 *)space.machine().root_device().memregion( "user1")->base();
286286         if (nand.byte_addr < state->m_rom_pagesize)
287287         {
288288            data = *(flash + nand.page_addr * state->m_rom_pagesize + nand.byte_addr);
r18055r18056
318318
319319static WRITE8_DEVICE_HANDLER( s3c2410_nand_data_w )
320320{
321//  device_t *nand = device->machine().device( "nand");
321//  device_t *nand = space.machine().device( "nand");
322322   #if NAND_LOG
323323   logerror( "s3c2410_nand_data_w %02X\n", data);
324324   #endif
trunk/src/mame/drivers/trvquest.c
r18055r18056
5050
5151static WRITE8_DEVICE_HANDLER( trvquest_coin_w )
5252{
53   coin_counter_w(device->machine(), 0, ~data & 1);
53   coin_counter_w(space.machine(), 0, ~data & 1);
5454}
5555
5656static WRITE8_DEVICE_HANDLER( trvquest_misc_w )
trunk/src/mame/drivers/powerbal.c
r18055r18056
3636{
3737   if (ACCESSING_BITS_0_7)
3838   {
39      coin_counter_w(device->machine(), 0, data & 0x20);
39      coin_counter_w(space.machine(), 0, data & 0x20);
4040
4141      eeprom_device *eeprom = downcast<eeprom_device *>(device);
4242      eeprom->set_cs_line((data & 8) ? CLEAR_LINE : ASSERT_LINE);
r18055r18056
7070   {
7171      int addr = 0x40000 * ((data & 3) - 1);
7272
73      if (addr < device->machine().root_device().memregion("oki")->bytes())
73      if (addr < space.machine().root_device().memregion("oki")->bytes())
7474         downcast<okim6295_device *>(device)->set_bank_base(addr);
7575   }
7676}
trunk/src/mame/drivers/proconn.c
r18055r18056
311311
312312static WRITE16_DEVICE_HANDLER( serial_transmit )
313313{
314   proconn_state *state = device->machine().driver_data<proconn_state>();
314   proconn_state *state = space.machine().driver_data<proconn_state>();
315315
316316//Don't like the look of this, should be a clock somewhere
317317//  if (offset == 0)
trunk/src/mame/drivers/esripsys.c
r18055r18056
201201
202202static READ16_DEVICE_HANDLER( fdt_rip_r )
203203{
204   esripsys_state *state = device->machine().driver_data<esripsys_state>();
204   esripsys_state *state = space.machine().driver_data<esripsys_state>();
205205   offset = (offset & 0x7ff) << 1;
206206
207207   if (!state->m_fasel)
r18055r18056
212212
213213static WRITE16_DEVICE_HANDLER( fdt_rip_w )
214214{
215   esripsys_state *state = device->machine().driver_data<esripsys_state>();
215   esripsys_state *state = space.machine().driver_data<esripsys_state>();
216216   offset = (offset & 0x7ff) << 1;
217217
218218   if (!state->m_fasel)
trunk/src/mame/drivers/dlair.c
r18055r18056
158158
159159static WRITE16_DEVICE_HANDLER( serial_transmit )
160160{
161   dlair_state *state = device->machine().driver_data<dlair_state>();
161   dlair_state *state = space.machine().driver_data<dlair_state>();
162162   state->laserdisc_data_w(data);
163163}
164164
165165
166166static READ16_DEVICE_HANDLER( serial_receive )
167167{
168   dlair_state *state = device->machine().driver_data<dlair_state>();
168   dlair_state *state = space.machine().driver_data<dlair_state>();
169169   /* if we still have data to send, do it now */
170170   if (offset == 0 && state->laserdisc_data_available_r() == ASSERT_LINE)
171171      return state->laserdisc_data_r();
trunk/src/mame/drivers/segac2.c
r18055r18056
165165/* handle writes to the UPD7759 */
166166static WRITE16_DEVICE_HANDLER( segac2_upd7759_w )
167167{
168   segac2_state *state = device->machine().driver_data<segac2_state>();
168   segac2_state *state = space.machine().driver_data<segac2_state>();
169169
170170   /* make sure we have a UPD chip */
171171   if (!state->m_sound_banks)
trunk/src/mame/drivers/mquake.c
r18055r18056
3535static WRITE8_DEVICE_HANDLER( mquake_cia_0_porta_w )
3636{
3737   /* switch banks as appropriate */
38   device->machine().root_device().membank("bank1")->set_entry(data & 1);
38   space.machine().root_device().membank("bank1")->set_entry(data & 1);
3939
4040   /* swap the write handlers between ROM and bank 1 based on the bit */
4141   if ((data & 1) == 0)
4242      /* overlay disabled, map RAM on 0x000000 */
43      device->machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_bank(0x000000, 0x07ffff, "bank1");
43      space.machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_bank(0x000000, 0x07ffff, "bank1");
4444
4545   else
4646      /* overlay enabled, map Amiga system ROM on 0x000000 */
47      device->machine().device("maincpu")->memory().space(AS_PROGRAM).unmap_write(0x000000, 0x07ffff);
47      space.machine().device("maincpu")->memory().space(AS_PROGRAM).unmap_write(0x000000, 0x07ffff);
4848}
4949
5050
r18055r18056
6767static READ8_DEVICE_HANDLER( mquake_cia_0_portb_r )
6868{
6969   /* parallel port */
70   logerror("%s:CIA0_portb_r\n", device->machine().describe_context());
70   logerror("%s:CIA0_portb_r\n", space.machine().describe_context());
7171   return 0xff;
7272}
7373
7474static WRITE8_DEVICE_HANDLER( mquake_cia_0_portb_w )
7575{
7676   /* parallel port */
77   logerror("%s:CIA0_portb_w(%02x)\n", device->machine().describe_context(), data);
77   logerror("%s:CIA0_portb_w(%02x)\n", space.machine().describe_context(), data);
7878}
7979
8080
trunk/src/mame/drivers/m10.c
r18055r18056
130130
131131static WRITE8_DEVICE_HANDLER( ic8j1_output_changed )
132132{
133   m10_state *state = device->machine().driver_data<m10_state>();
134   LOG(("ic8j1: %d %d\n", data, device->machine().primary_screen->vpos()));
133   m10_state *state = space.machine().driver_data<m10_state>();
134   LOG(("ic8j1: %d %d\n", data, space.machine().primary_screen->vpos()));
135135   state->m_maincpu->set_input_line(0, !data ? CLEAR_LINE : ASSERT_LINE);
136136}
137137
138138static WRITE8_DEVICE_HANDLER( ic8j2_output_changed )
139139{
140   m10_state *state = device->machine().driver_data<m10_state>();
140   m10_state *state = space.machine().driver_data<m10_state>();
141141
142142   /* written from /Q to A with slight delight */
143143   LOG(("ic8j2: %d\n", data));
trunk/src/mess/audio/wswan.c
r18055r18056
6969
7070   switch( offset ) {
7171   case 0x80:            /* Audio 1 freq (lo) */
72      wswan_ch_set_freq(device->machine(), &state->audio1, (state->audio1.freq & 0xff00) | data);
72      wswan_ch_set_freq(space.machine(), &state->audio1, (state->audio1.freq & 0xff00) | data);
7373      break;
7474   case 0x81:            /* Audio 1 freq (hi) */
75      wswan_ch_set_freq(device->machine(), &state->audio1, (data << 8 ) | (state->audio1.freq & 0x00ff));
75      wswan_ch_set_freq(space.machine(), &state->audio1, (data << 8 ) | (state->audio1.freq & 0x00ff));
7676      break;
7777   case 0x82:            /* Audio 2 freq (lo) */
78      wswan_ch_set_freq(device->machine(), &state->audio2, (state->audio2.freq & 0xff00) | data);
78      wswan_ch_set_freq(space.machine(), &state->audio2, (state->audio2.freq & 0xff00) | data);
7979      break;
8080   case 0x83:            /* Audio 2 freq (hi) */
81      wswan_ch_set_freq(device->machine(), &state->audio2, (data << 8 ) | (state->audio2.freq & 0x00ff));
81      wswan_ch_set_freq(space.machine(), &state->audio2, (data << 8 ) | (state->audio2.freq & 0x00ff));
8282      break;
8383   case 0x84:            /* Audio 3 freq (lo) */
84      wswan_ch_set_freq(device->machine(), &state->audio3, (state->audio3.freq & 0xff00) | data);
84      wswan_ch_set_freq(space.machine(), &state->audio3, (state->audio3.freq & 0xff00) | data);
8585      break;
8686   case 0x85:            /* Audio 3 freq (hi) */
87      wswan_ch_set_freq(device->machine(), &state->audio3, (data << 8) | (state->audio3.freq & 0x00ff));
87      wswan_ch_set_freq(space.machine(), &state->audio3, (data << 8) | (state->audio3.freq & 0x00ff));
8888      break;
8989   case 0x86:            /* Audio 4 freq (lo) */
90      wswan_ch_set_freq(device->machine(), &state->audio4, (state->audio4.freq & 0xff00) | data);
90      wswan_ch_set_freq(space.machine(), &state->audio4, (state->audio4.freq & 0xff00) | data);
9191      break;
9292   case 0x87:            /* Audio 4 freq (hi) */
93      wswan_ch_set_freq(device->machine(), &state->audio4, (data << 8) | (state->audio4.freq & 0x00ff));
93      wswan_ch_set_freq(space.machine(), &state->audio4, (data << 8) | (state->audio4.freq & 0x00ff));
9494      break;
9595   case 0x88:            /* Audio 1 volume */
9696      state->audio1.vol_left = ( data & 0xF0 ) >> 4;
r18055r18056
113113      state->sweep_step = (INT8)data;
114114      break;
115115   case 0x8D:            /* Sweep time */
116      state->sweep_time = device->machine().sample_rate() / ( 3072000 / ( 8192 * (data + 1) ) );
116      state->sweep_time = space.machine().sample_rate() / ( 3072000 / ( 8192 * (data + 1) ) );
117117      break;
118118   case 0x8E:            /* Noise control */
119119      state->noise_type = data & 0x07;
trunk/src/mess/audio/mea8000.c
r18055r18056
557557   case 1:
558558      /* ready to accept next frame */
559559#if 0
560      LOG(( "$%04x %f: mea8000_r ready=%i\n", device->machine().firstcpu->pcbase( ), machine.time().as_double(), mea8000_accept_byte( mea8000 ) ));
560      LOG(( "$%04x %f: mea8000_r ready=%i\n", space.machine().firstcpu->pcbase( ), machine.time().as_double(), mea8000_accept_byte( mea8000 ) ));
561561#endif
562562      return mea8000_accept_byte(mea8000) << 7;
563563
564564   default:
565      logerror( "$%04x mea8000_r invalid read offset %i\n",  device->machine().firstcpu->pcbase( ), offset );
565      logerror( "$%04x mea8000_r invalid read offset %i\n",  space.machine().firstcpu->pcbase( ), offset );
566566   }
567567   return 0;
568568}
r18055r18056
578578      {
579579         /* got pitch byte before first frame */
580580         mea8000->pitch = 2 * data;
581         LOG(( "$%04x %f: mea8000_w pitch %i\n", device->machine().firstcpu->pcbase( ), device->machine().time().as_double(), mea8000->pitch ));
581         LOG(( "$%04x %f: mea8000_w pitch %i\n", space.machine().firstcpu->pcbase( ), space.machine().time().as_double(), mea8000->pitch ));
582582         mea8000->state = MEA8000_WAIT_FIRST;
583583         mea8000->bufpos = 0;
584584      }
585585      else if (mea8000->bufpos == 4)
586586      {
587587         /* overflow */
588         LOG(( "$%04x %f: mea8000_w data overflow %02X\n", device->machine().firstcpu->pcbase( ), device->machine().time().as_double(), data ));
588         LOG(( "$%04x %f: mea8000_w data overflow %02X\n", space.machine().firstcpu->pcbase( ), space.machine().time().as_double(), data ));
589589      }
590590      else
591591      {
592592         /* enqueue frame byte */
593         LOG(( "$%04x %f: mea8000_w data %02X in frame pos %i\n", device->machine().firstcpu->pcbase( ), device->machine().time().as_double(),
593         LOG(( "$%04x %f: mea8000_w data %02X in frame pos %i\n", space.machine().firstcpu->pcbase( ), space.machine().time().as_double(),
594594               data, mea8000->bufpos ));
595595         mea8000->buf[mea8000->bufpos] = data;
596596         mea8000->bufpos++;
r18055r18056
621621         mea8000->roe = data & 1;
622622
623623      if (stop)
624         mea8000_stop_frame(device->machine(), mea8000);
624         mea8000_stop_frame(space.machine(), mea8000);
625625
626626      LOG(( "$%04x %f: mea8000_w command %02X stop=%i cont=%i roe=%i\n",
627            device->machine().firstcpu->pcbase(), device->machine().time().as_double(), data,
627            space.machine().firstcpu->pcbase(), space.machine().time().as_double(), data,
628628            stop, mea8000->cont, mea8000->roe ));
629629
630630      mea8000_update_req(device);
r18055r18056
632632   }
633633
634634   default:
635      logerror( "$%04x mea8000_w invalid write offset %i\n", device->machine().firstcpu->pcbase( ), offset );
635      logerror( "$%04x mea8000_w invalid write offset %i\n", space.machine().firstcpu->pcbase( ), offset );
636636   }
637637}
638638
trunk/src/mess/audio/dave.c
r18055r18056
454454         count++;
455455
456456
457         dave->Period[channel_index] = ((STEP  * device->machine().sample_rate())/125000) * count;
457         dave->Period[channel_index] = ((STEP  * space.machine().sample_rate())/125000) * count;
458458
459459      }
460460      break;
trunk/src/mess/audio/svision.c
r18055r18056
8282WRITE8_DEVICE_HANDLER( svision_sounddma_w )
8383{
8484   svision_sound_state *state = get_safe_token(device);
85   logerror("%.6f svision snddma write %04x %02x\n", device->machine().time().as_double(),offset+0x18,data);
85   logerror("%.6f svision snddma write %04x %02x\n", space.machine().time().as_double(),offset+0x18,data);
8686   state->dma.reg[offset] = data;
8787   switch (offset)
8888   {
r18055r18056
9494         state->dma.size = (data ? data : 0x100) * 32;
9595         break;
9696      case 3:
97         state->dma.step = device->machine().device("maincpu")->unscaled_clock() / (256.0 * device->machine().sample_rate() * (1 + (data & 3)));
97         state->dma.step = space.machine().device("maincpu")->unscaled_clock() / (256.0 * space.machine().sample_rate() * (1 + (data & 3)));
9898         state->dma.right = data & 4;
9999         state->dma.left = data & 8;
100100         state->dma.ca14to16 = ((data & 0x70) >> 4) << 14;
r18055r18056
118118   {
119119      case 0:
120120         state->noise.volume=data&0xf;
121         state->noise.step= device->machine().device("maincpu")->unscaled_clock() / (256.0*device->machine().sample_rate()*(1+(data>>4)));
121         state->noise.step= space.machine().device("maincpu")->unscaled_clock() / (256.0*space.machine().sample_rate()*(1+(data>>4)));
122122         break;
123123      case 1:
124124         state->noise.count = data + 1;
trunk/src/mess/machine/dgn_beta.c
r18055r18056
565565
566566static READ8_DEVICE_HANDLER(d_pia0_pb_r)
567567{
568   dgn_beta_state *state = device->machine().driver_data<dgn_beta_state>();
568   dgn_beta_state *state = space.machine().driver_data<dgn_beta_state>();
569569   int RetVal;
570570   int Idx;
571571   int Selected;
r18055r18056
586586   {
587587      for(Idx=0; Idx<NoKeyrows; Idx++)
588588      {
589         state->m_Keyboard[Idx] = device->machine().root_device().ioport(keynames[Idx])->read();
589         state->m_Keyboard[Idx] = space.machine().root_device().ioport(keynames[Idx])->read();
590590
591591         if(state->m_Keyboard[Idx] != 0x7F)
592592            state->m_KAny_next = 1;
r18055r18056
607607
608608static WRITE8_DEVICE_HANDLER(d_pia0_pb_w)
609609{
610   dgn_beta_state *state = device->machine().driver_data<dgn_beta_state>();
610   dgn_beta_state *state = space.machine().driver_data<dgn_beta_state>();
611611   int   InClkState;
612612   //int   OutClkState;
613613
r18055r18056
635635
636636static WRITE8_DEVICE_HANDLER(d_pia0_cb2_w)
637637{
638   dgn_beta_state *state = device->machine().driver_data<dgn_beta_state>();
638   dgn_beta_state *state = space.machine().driver_data<dgn_beta_state>();
639639   int   RowNo;
640640   LOG_KEYBOARD(("\nCB2 Write\n"));
641641
r18055r18056
650650      state->m_RowShifter = (state->m_RowShifter<<1) | ((state->m_d_pia0_pb_last & KOutDat)>>4);
651651      state->m_RowShifter &= 0x3FF;
652652      LOG_KEYBOARD(("Rowshifter=$%02X Keyrow=$%02X\n",state->m_RowShifter,state->m_Keyrow));
653      if (VERBOSE) debug_console_printf(device->machine(), "rowshifter clocked, value=%3X, RowNo=%d, Keyrow=%2X\n",state->m_RowShifter,RowNo,state->m_Keyrow);
653      if (VERBOSE) debug_console_printf(space.machine(), "rowshifter clocked, value=%3X, RowNo=%d, Keyrow=%2X\n",state->m_RowShifter,RowNo,state->m_Keyrow);
654654   }
655655
656656   state->m_d_pia0_cb2_last=data;
r18055r18056
684684
685685static WRITE8_DEVICE_HANDLER(d_pia1_pa_w)
686686{
687   dgn_beta_state *state = device->machine().driver_data<dgn_beta_state>();
687   dgn_beta_state *state = space.machine().driver_data<dgn_beta_state>();
688688   int   HALT_DMA;
689   device_t *fdc = device->machine().device(FDC_TAG);
689   device_t *fdc = space.machine().device(FDC_TAG);
690690
691691   /* Only play with halt line if halt bit changed since last write */
692692   if((data & 0x80) != state->m_d_pia1_pa_last)
r18055r18056
698698         HALT_DMA = CLEAR_LINE;
699699
700700      LOG_HALT(("DMA_CPU HALT=%d\n", HALT_DMA));
701      device->machine().device(DMACPU_TAG)->execute().set_input_line(INPUT_LINE_HALT, HALT_DMA);
701      space.machine().device(DMACPU_TAG)->execute().set_input_line(INPUT_LINE_HALT, HALT_DMA);
702702
703703      /* CPU un-halted let it run ! */
704704      if (HALT_DMA == CLEAR_LINE)
705         device->machine().device(MAINCPU_TAG)->execute().yield();
705         space.machine().device(MAINCPU_TAG)->execute().yield();
706706
707707      state->m_d_pia1_pa_last = data & 0x80;
708708   }
r18055r18056
722722
723723static WRITE8_DEVICE_HANDLER(d_pia1_pb_w)
724724{
725   dgn_beta_state *state = device->machine().driver_data<dgn_beta_state>();
725   dgn_beta_state *state = space.machine().driver_data<dgn_beta_state>();
726726   int   HALT_CPU;
727727
728728   /* Only play with halt line if halt bit changed since last write */
r18055r18056
735735         HALT_CPU = ASSERT_LINE;
736736
737737      LOG_HALT(("MAIN_CPU HALT=%d\n", HALT_CPU));
738      device->machine().device(MAINCPU_TAG)->execute().set_input_line(INPUT_LINE_HALT, HALT_CPU);
738      space.machine().device(MAINCPU_TAG)->execute().set_input_line(INPUT_LINE_HALT, HALT_CPU);
739739
740740      state->m_d_pia1_pb_last = data & 0x02;
741741
742742      /* CPU un-halted let it run ! */
743743      if (HALT_CPU == CLEAR_LINE)
744         device->machine().device(DMACPU_TAG)->execute().yield();
744         space.machine().device(DMACPU_TAG)->execute().yield();
745745   }
746746}
747747
r18055r18056
771771
772772static WRITE8_DEVICE_HANDLER(d_pia2_pa_w)
773773{
774   dgn_beta_state *state = device->machine().driver_data<dgn_beta_state>();
774   dgn_beta_state *state = space.machine().driver_data<dgn_beta_state>();
775775   int OldTask;
776776   int OldEnableMap;
777777   int NMI;
r18055r18056
787787      LOG_INTS(("cpu1 NMI : %d\n", NMI));
788788      if(!NMI)
789789      {
790         device->machine().device(DMACPU_TAG)->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
790         space.machine().device(DMACPU_TAG)->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
791791         logerror("device_yield()\n");
792         device->machine().device(DMACPU_TAG)->execute().yield();   /* Let DMA CPU run */
792         space.machine().device(DMACPU_TAG)->execute().yield();   /* Let DMA CPU run */
793793      }
794794      else
795795      {
796         device->machine().device(DMACPU_TAG)->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
796         space.machine().device(DMACPU_TAG)->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
797797      }
798798
799799      state->m_DMA_NMI_LAST = NMI;   /* Save it for next time */
r18055r18056
821821      else
822822         state->m_TaskReg = NoPagingTask;
823823
824      UpdateBanks(device->machine(), 0, IOPage + 1);
824      UpdateBanks(space.machine(), 0, IOPage + 1);
825825   }
826826   else
827827   {
r18055r18056
829829      if ((state->m_PIATaskReg != OldTask) && (state->m_EnableMapRegs))
830830      {
831831         state->m_TaskReg = state->m_PIATaskReg;
832         UpdateBanks(device->machine(), 0, IOPage + 1);
832         UpdateBanks(space.machine(), 0, IOPage + 1);
833833      }
834834   }
835835   LOG_TASK(("TaskReg=$%02X PIATaskReg=$%02X\n", state->m_TaskReg, state->m_PIATaskReg));
r18055r18056
843843static WRITE8_DEVICE_HANDLER(d_pia2_pb_w)
844844{
845845   /* Update top video address lines */
846   dgnbeta_vid_set_gctrl(device->machine(), data);
846   dgnbeta_vid_set_gctrl(space.machine(), data);
847847}
848848
849849static WRITE_LINE_DEVICE_HANDLER( d_pia2_irq_a )
trunk/src/mess/machine/apple3.c
r18055r18056
472472
473473static WRITE8_DEVICE_HANDLER(apple3_via_0_out_a)
474474{
475   apple3_state *state = device->machine().driver_data<apple3_state>();
476   apple3_via_out(device->machine(), &state->m_via_0_a, data);
475   apple3_state *state = space.machine().driver_data<apple3_state>();
476   apple3_via_out(space.machine(), &state->m_via_0_a, data);
477477}
478478
479479static WRITE8_DEVICE_HANDLER(apple3_via_0_out_b)
480480{
481   apple3_state *state = device->machine().driver_data<apple3_state>();
482   apple3_via_out(device->machine(), &state->m_via_0_b, data);
481   apple3_state *state = space.machine().driver_data<apple3_state>();
482   apple3_via_out(space.machine(), &state->m_via_0_b, data);
483483}
484484
485485static WRITE8_DEVICE_HANDLER(apple3_via_1_out_a)
486486{
487   apple3_state *state = device->machine().driver_data<apple3_state>();
488   apple3_via_out(device->machine(), &state->m_via_1_a, data);
487   apple3_state *state = space.machine().driver_data<apple3_state>();
488   apple3_via_out(space.machine(), &state->m_via_1_a, data);
489489}
490490
491491static WRITE8_DEVICE_HANDLER(apple3_via_1_out_b)
492492{
493   apple3_state *state = device->machine().driver_data<apple3_state>();
494   apple3_via_out(device->machine(), &state->m_via_1_b, data);
493   apple3_state *state = space.machine().driver_data<apple3_state>();
494   apple3_via_out(space.machine(), &state->m_via_1_b, data);
495495}
496496
497497static void apple2_via_1_irq_func(device_t *device, int state)
trunk/src/mess/machine/isa_fdc.c
r18055r18056
226226   int selected_drive;
227227   int floppy_count;
228228
229   floppy_count = floppy_get_count(device->machine());
229   floppy_count = floppy_get_count(space.machine());
230230
231231   if (floppy_count > (fdc->digital_output_register & 0x03))
232232      floppy_drive_set_ready_state(get_floppy_subdevice(device, fdc->digital_output_register & 0x03), 1, 0);
r18055r18056
359359         data = upd765_data_r(fdc->m_upd765, space, offset);
360360         break;
361361      case 6: /* FDC reserved */
362         hdd = device->machine().device(":board3:ide:ide");
362         hdd = space.machine().device(":board3:ide:ide");
363363         if (hdd)
364364            data = ide_controller16_r(hdd, space, 0x3f6/2, 0x00ff);
365365         break;
r18055r18056
371371    }
372372
373373   if (LOG_FDC)
374      logerror("pc_fdc_r(): pc=0x%08x offset=%d result=0x%02X\n", (unsigned) device->machine().firstcpu->pc(), offset, data);
374      logerror("pc_fdc_r(): pc=0x%08x offset=%d result=0x%02X\n", (unsigned) space.machine().firstcpu->pc(), offset, data);
375375   return data;
376376}
377377
r18055r18056
382382   isa8_fdc_device   *fdc  = downcast<isa8_fdc_device *>(device);
383383
384384   if (LOG_FDC)
385      logerror("pc_fdc_w(): pc=0x%08x offset=%d data=0x%02X\n", (unsigned) device->machine().firstcpu->pc(), offset, data);
386   pc_fdc_check_data_rate(fdc,device->machine());  // check every time a command may start
385      logerror("pc_fdc_w(): pc=0x%08x offset=%d data=0x%02X\n", (unsigned) space.machine().firstcpu->pc(), offset, data);
386   pc_fdc_check_data_rate(fdc,space.machine());  // check every time a command may start
387387   device_t *hdd = NULL;
388388
389389   switch(offset)
r18055r18056
405405         break;
406406      case 6:
407407         /* FDC reserved */
408         hdd = device->machine().device(":board3:ide:ide");
408         hdd = space.machine().device(":board3:ide:ide");
409409         if (hdd)
410410            ide_controller16_w(hdd, space, 0x3f6/2, data, 0x00ff);
411411         break;
trunk/src/mess/machine/cbmb.c
r18055r18056
5959 */
6060READ8_DEVICE_HANDLER( cbmb_tpi0_port_a_r )
6161{
62   cbmb_state *state = device->machine().driver_data<cbmb_state>();
62   cbmb_state *state = space.machine().driver_data<cbmb_state>();
6363   UINT8 data = 0;
6464
6565   if (state->m_ieee->nrfd_r())
r18055r18056
8585
8686WRITE8_DEVICE_HANDLER( cbmb_tpi0_port_a_w )
8787{
88   cbmb_state *state = device->machine().driver_data<cbmb_state>();
88   cbmb_state *state = space.machine().driver_data<cbmb_state>();
8989
9090   state->m_ieee->nrfd_w(BIT(data, 7));
9191   state->m_ieee->ndac_w(BIT(data, 6));
r18055r18056
9797
9898READ8_DEVICE_HANDLER( cbmb_tpi0_port_b_r )
9999{
100   cbmb_state *state = device->machine().driver_data<cbmb_state>();
100   cbmb_state *state = space.machine().driver_data<cbmb_state>();
101101   UINT8 data = 0;
102102
103103   if (state->m_ieee->srq_r())
r18055r18056
111111
112112WRITE8_DEVICE_HANDLER( cbmb_tpi0_port_b_w )
113113{
114   cbmb_state *state = device->machine().driver_data<cbmb_state>();
114   cbmb_state *state = space.machine().driver_data<cbmb_state>();
115115
116116   state->m_ieee->srq_w(BIT(data, 1));
117117   state->m_ieee->ifc_w(BIT(data, 0));
r18055r18056
131131  port a7..a0 b7..b0 keyboard input */
132132WRITE8_DEVICE_HANDLER( cbmb_keyboard_line_select_a )
133133{
134   cbmb_state *state = device->machine().driver_data<cbmb_state>();
134   cbmb_state *state = space.machine().driver_data<cbmb_state>();
135135   state->m_keyline_a = data;
136136}
137137
138138WRITE8_DEVICE_HANDLER( cbmb_keyboard_line_select_b )
139139{
140   cbmb_state *state = device->machine().driver_data<cbmb_state>();
140   cbmb_state *state = space.machine().driver_data<cbmb_state>();
141141   state->m_keyline_b = data;
142142}
143143
144144WRITE8_DEVICE_HANDLER( cbmb_keyboard_line_select_c )
145145{
146   cbmb_state *state = device->machine().driver_data<cbmb_state>();
146   cbmb_state *state = space.machine().driver_data<cbmb_state>();
147147   state->m_keyline_c = data;
148148}
149149
150150READ8_DEVICE_HANDLER( cbmb_keyboard_line_a )
151151{
152   cbmb_state *state = device->machine().driver_data<cbmb_state>();
152   cbmb_state *state = space.machine().driver_data<cbmb_state>();
153153   int data = 0;
154154   if (!(state->m_keyline_c & 0x01))
155      data |= device->machine().root_device().ioport("ROW0")->read();
155      data |= space.machine().root_device().ioport("ROW0")->read();
156156
157157   if (!(state->m_keyline_c & 0x02))
158      data |= device->machine().root_device().ioport("ROW2")->read();
158      data |= space.machine().root_device().ioport("ROW2")->read();
159159
160160   if (!(state->m_keyline_c & 0x04))
161      data |= device->machine().root_device().ioport("ROW4")->read();
161      data |= space.machine().root_device().ioport("ROW4")->read();
162162
163163   if (!(state->m_keyline_c & 0x08))
164      data |= device->machine().root_device().ioport("ROW6")->read();
164      data |= space.machine().root_device().ioport("ROW6")->read();
165165
166166   if (!(state->m_keyline_c & 0x10))
167      data |= device->machine().root_device().ioport("ROW8")->read();
167      data |= space.machine().root_device().ioport("ROW8")->read();
168168
169169   if (!(state->m_keyline_c & 0x20))
170170      data |= state->ioport("ROW10")->read();
r18055r18056
174174
175175READ8_DEVICE_HANDLER( cbmb_keyboard_line_b )
176176{
177   cbmb_state *state = device->machine().driver_data<cbmb_state>();
177   cbmb_state *state = space.machine().driver_data<cbmb_state>();
178178   int data = 0;
179179   if (!(state->m_keyline_c & 0x01))
180      data |= device->machine().root_device().ioport("ROW1")->read();
180      data |= space.machine().root_device().ioport("ROW1")->read();
181181
182182   if (!(state->m_keyline_c & 0x02))
183      data |= device->machine().root_device().ioport("ROW3")->read();
183      data |= space.machine().root_device().ioport("ROW3")->read();
184184
185185   if (!(state->m_keyline_c & 0x04))
186      data |= device->machine().root_device().ioport("ROW5")->read();
186      data |= space.machine().root_device().ioport("ROW5")->read();
187187
188188   if (!(state->m_keyline_c & 0x08))
189      data |= device->machine().root_device().ioport("ROW7")->read();
189      data |= space.machine().root_device().ioport("ROW7")->read();
190190
191191   if (!(state->m_keyline_c & 0x10))
192      data |= device->machine().root_device().ioport("ROW9")->read() | ((device->machine().root_device().ioport("SPECIAL")->read() & 0x04) ? 1 : 0 );
192      data |= space.machine().root_device().ioport("ROW9")->read() | ((space.machine().root_device().ioport("SPECIAL")->read() & 0x04) ? 1 : 0 );
193193
194194   if (!(state->m_keyline_c & 0x20))
195195      data |= state->ioport("ROW11")->read();
r18055r18056
200200READ8_DEVICE_HANDLER( cbmb_keyboard_line_c )
201201{
202202   int data = 0;
203   cbmb_state *state = device->machine().driver_data<cbmb_state>();
204   if ((device->machine().root_device().ioport("ROW0")->read() & ~state->m_keyline_a) ||
205            (device->machine().root_device().ioport("ROW1")->read() & ~state->m_keyline_b))
203   cbmb_state *state = space.machine().driver_data<cbmb_state>();
204   if ((space.machine().root_device().ioport("ROW0")->read() & ~state->m_keyline_a) ||
205            (space.machine().root_device().ioport("ROW1")->read() & ~state->m_keyline_b))
206206       data |= 0x01;
207207
208   if ((device->machine().root_device().ioport("ROW2")->read() & ~state->m_keyline_a) ||
209            (device->machine().root_device().ioport("ROW3")->read() & ~state->m_keyline_b))
208   if ((space.machine().root_device().ioport("ROW2")->read() & ~state->m_keyline_a) ||
209            (space.machine().root_device().ioport("ROW3")->read() & ~state->m_keyline_b))
210210       data |= 0x02;
211211
212   if ((device->machine().root_device().ioport("ROW4")->read() & ~state->m_keyline_a) ||
213            (device->machine().root_device().ioport("ROW5")->read() & ~state->m_keyline_b))
212   if ((space.machine().root_device().ioport("ROW4")->read() & ~state->m_keyline_a) ||
213            (space.machine().root_device().ioport("ROW5")->read() & ~state->m_keyline_b))
214214       data |= 0x04;
215215
216   if ((device->machine().root_device().ioport("ROW6")->read() & ~state->m_keyline_a) ||
217            (device->machine().root_device().ioport("ROW7")->read() & ~state->m_keyline_b))
216   if ((space.machine().root_device().ioport("ROW6")->read() & ~state->m_keyline_a) ||
217            (space.machine().root_device().ioport("ROW7")->read() & ~state->m_keyline_b))
218218       data |= 0x08;
219219
220   if ((device->machine().root_device().ioport("ROW8")->read() & ~state->m_keyline_a) ||
221            ((device->machine().root_device().ioport("ROW9")->read() | ((device->machine().root_device().ioport("SPECIAL")->read() & 0x04) ? 1 : 0)) & ~state->m_keyline_b))
220   if ((space.machine().root_device().ioport("ROW8")->read() & ~state->m_keyline_a) ||
221            ((space.machine().root_device().ioport("ROW9")->read() | ((space.machine().root_device().ioport("SPECIAL")->read() & 0x04) ? 1 : 0)) & ~state->m_keyline_b))
222222       data |= 0x10;
223223
224   if ((device->machine().root_device().ioport("ROW10")->read() & ~state->m_keyline_a) ||
224   if ((space.machine().root_device().ioport("ROW10")->read() & ~state->m_keyline_a) ||
225225            (state->ioport("ROW11")->read() & ~state->m_keyline_b))
226226       data |= 0x20;
227227
trunk/src/mess/machine/pokemini.c
r18055r18056
391391
392392WRITE8_DEVICE_HANDLER( pokemini_hwreg_w )
393393{
394   pokemini_state *state = device->machine().driver_data<pokemini_state>();
394   pokemini_state *state = space.machine().driver_data<pokemini_state>();
395395   static const int timer_to_cycles_fast[8] = { 2, 8, 32, 64, 128, 256, 1024, 4096 };
396396   static const int timer_to_cycles_slow[8] = { 128, 256, 512, 1024, 2048, 4096, 8192, 16384 };
397397
r18055r18056
409409   case 0x02:   /* CPU related?
410410               Bit 0-7 R/W Unknown
411411            */
412      logerror( "%0X: Write to unknown hardware address: %02X, %02X\n", device->machine().firstcpu->pc( ), offset, data );
412      logerror( "%0X: Write to unknown hardware address: %02X, %02X\n", space.machine().firstcpu->pc( ), offset, data );
413413      break;
414414   case 0x08:   /* Seconds-timer control
415415               Bit 0   R/W Timer enable
r18055r18056
441441               Bit 5   R   Battery status: 0 - battery OK, 1 - battery low
442442               Bit 6-7     Unused
443443            */
444      logerror( "%0X: Write to unknown hardware address: %02X, %02X\n", device->machine().firstcpu->pc( ), offset, data );
444      logerror( "%0X: Write to unknown hardware address: %02X, %02X\n", space.machine().firstcpu->pc( ), offset, data );
445445      break;
446446   case 0x18:   /* Timer 1 pre-scale + enable
447447               Bit 0-2 R/W low timer 1 prescaler select
r18055r18056
463463         int index = data & 0x07;
464464         int cycles = ( state->m_pm_reg[0x19] & 0x01 ) ? timer_to_cycles_slow[index] : timer_to_cycles_fast[index];
465465
466         state->m_timers.timer1->adjust(attotime::zero, 0, device->machine().device<cpu_device>("maincpu")->cycles_to_attotime(cycles));
466         state->m_timers.timer1->adjust(attotime::zero, 0, space.machine().device<cpu_device>("maincpu")->cycles_to_attotime(cycles));
467467      }
468468
469469      /* Check for prescaler change for the high counter */
r18055r18056
472472         int index = ( data >> 4 ) & 0x07;
473473         int cycles = ( state->m_pm_reg[0x19] & 0x02 ) ? timer_to_cycles_slow[index] : timer_to_cycles_fast[index];
474474
475         state->m_timers.timer1_hi->adjust(attotime::zero, 0, device->machine().device<cpu_device>("maincpu")->cycles_to_attotime(cycles));
475         state->m_timers.timer1_hi->adjust(attotime::zero, 0, space.machine().device<cpu_device>("maincpu")->cycles_to_attotime(cycles));
476476      }
477477
478478      /* Check if timer1 low should be enabled */
r18055r18056
513513         int index = state->m_pm_reg[0x18] & 0x07;
514514         int cycles = ( data & 0x01 ) ? timer_to_cycles_slow[index] : timer_to_cycles_fast[index];
515515
516         state->m_timers.timer1->adjust(attotime::zero, 0, device->machine().device<cpu_device>("maincpu")->cycles_to_attotime(cycles));
516         state->m_timers.timer1->adjust(attotime::zero, 0, space.machine().device<cpu_device>("maincpu")->cycles_to_attotime(cycles));
517517      }
518518
519519      /* Check for prescaler change for the low counter */
r18055r18056
522522         int index = ( state->m_pm_reg[0x18] >> 4 ) & 0x07;
523523         int cycles = ( data & 0x02 ) ? timer_to_cycles_slow[index] : timer_to_cycles_fast[index];
524524
525         state->m_timers.timer1_hi->adjust(attotime::zero, 0, device->machine().device<cpu_device>("maincpu")->cycles_to_attotime(cycles));
525         state->m_timers.timer1_hi->adjust(attotime::zero, 0, space.machine().device<cpu_device>("maincpu")->cycles_to_attotime(cycles));
526526      }
527527
528528      {
r18055r18056
592592         int index = data & 0x07;
593593         int cycles = ( state->m_pm_reg[0x1B] & 0x01 ) ? timer_to_cycles_slow[index] : timer_to_cycles_fast[index];
594594
595         state->m_timers.timer2->adjust(attotime::zero, 0, device->machine().device<cpu_device>("maincpu")->cycles_to_attotime(cycles));
595         state->m_timers.timer2->adjust(attotime::zero, 0, space.machine().device<cpu_device>("maincpu")->cycles_to_attotime(cycles));
596596      }
597597
598598      /* Check for prescaler change for the high counter */
r18055r18056
601601         int index = ( data >> 4 ) & 0x07;
602602         int cycles = ( state->m_pm_reg[0x1B] & 0x02 ) ? timer_to_cycles_slow[index] : timer_to_cycles_fast[index];
603603
604         state->m_timers.timer2_hi->adjust(attotime::zero, 0, device->machine().device<cpu_device>("maincpu")->cycles_to_attotime(cycles));
604         state->m_timers.timer2_hi->adjust(attotime::zero, 0, space.machine().device<cpu_device>("maincpu")->cycles_to_attotime(cycles));
605605      }
606606
607607      /* Check if timer2 low should be enabled */
r18055r18056
638638         int index = state->m_pm_reg[0x1A] & 0x07;
639639         int cycles = ( data & 0x01 ) ? timer_to_cycles_slow[index] : timer_to_cycles_fast[index];
640640
641         state->m_timers.timer2->adjust(attotime::zero, 0, device->machine().device<cpu_device>("maincpu")->cycles_to_attotime(cycles));
641         state->m_timers.timer2->adjust(attotime::zero, 0, space.machine().device<cpu_device>("maincpu")->cycles_to_attotime(cycles));
642642
643643         if ( ( state->m_pm_reg[0x1A] & 0x08 ) && ( state->m_pm_reg[0x38] & 0x04 ) &&
644644              ( ( ( state->m_pm_reg[0x19] & 0x10 ) && ( data & 0x01 ) ) ||
r18055r18056
658658         int index = ( state->m_pm_reg[0x1A] >> 4 ) & 0x07;
659659         int cycles = ( data & 0x02 ) ? timer_to_cycles_slow[index] : timer_to_cycles_fast[index];
660660
661         state->m_timers.timer2_hi->adjust(attotime::zero, 0, device->machine().device<cpu_device>("maincpu")->cycles_to_attotime(cycles));
661         state->m_timers.timer2_hi->adjust(attotime::zero, 0, space.machine().device<cpu_device>("maincpu")->cycles_to_attotime(cycles));
662662
663663         if ( ( state->m_pm_reg[0x1A] & 0x80 ) && ( state->m_pm_reg[0x39] & 0x04 ) && ! ( state->m_pm_reg[0x38] & 0x80 ) &&
664664              ( ( ( state->m_pm_reg[0x19] & 0x10 ) && ( data & 0x02 ) ) ||
r18055r18056
692692         int index = data & 0x07;
693693         int cycles = ( state->m_pm_reg[0x1D] & 0x01 ) ? timer_to_cycles_slow[index] : timer_to_cycles_fast[index];
694694
695         state->m_timers.timer3->adjust(attotime::zero, 0, device->machine().device<cpu_device>("maincpu")->cycles_to_attotime(cycles));
695         state->m_timers.timer3->adjust(attotime::zero, 0, space.machine().device<cpu_device>("maincpu")->cycles_to_attotime(cycles));
696696      }
697697
698698      /* Check for prescaler change for the high counter */
r18055r18056
701701         int index = ( data >> 4 ) & 0x07;
702702         int cycles = ( state->m_pm_reg[0x1D] & 0x02 ) ? timer_to_cycles_slow[index] : timer_to_cycles_fast[index];
703703
704         state->m_timers.timer3_hi->adjust(attotime::zero, 0, device->machine().device<cpu_device>("maincpu")->cycles_to_attotime(cycles));
704         state->m_timers.timer3_hi->adjust(attotime::zero, 0, space.machine().device<cpu_device>("maincpu")->cycles_to_attotime(cycles));
705705      }
706706
707707      /* Check if timer2 low should be enabled */
r18055r18056
738738         int index = state->m_pm_reg[0x1C] & 0x07;
739739         int cycles = ( data & 0x01 ) ? timer_to_cycles_slow[index] : timer_to_cycles_fast[index];
740740
741         state->m_timers.timer3->adjust(attotime::zero, 0, device->machine().device<cpu_device>("maincpu")->cycles_to_attotime(cycles));
741         state->m_timers.timer3->adjust(attotime::zero, 0, space.machine().device<cpu_device>("maincpu")->cycles_to_attotime(cycles));
742742
743743         if ( ( state->m_pm_reg[0x1C] & 0x08 ) && ( state->m_pm_reg[0x48] & 0x04 ) &&
744744              ( ( ( state->m_pm_reg[0x19] & 0x10 ) && ( data & 0x01 ) ) ||
r18055r18056
758758         int index = ( state->m_pm_reg[0x1C] >> 4 ) & 0x07;
759759         int cycles = ( data & 0x02 ) ? timer_to_cycles_slow[index] : timer_to_cycles_fast[index];
760760
761         state->m_timers.timer3_hi->adjust(attotime::zero, 0, device->machine().device<cpu_device>("maincpu")->cycles_to_attotime(cycles));
761         state->m_timers.timer3_hi->adjust(attotime::zero, 0, space.machine().device<cpu_device>("maincpu")->cycles_to_attotime(cycles));
762762
763763         if ( ( state->m_pm_reg[0x1C] & 0x80 ) && ( state->m_pm_reg[0x49] & 0x04 ) && ! ( state->m_pm_reg[0x48] & 0x80 ) &&
764764              ( ( ( state->m_pm_reg[0x19] & 0x10 ) && ( data & 0x02 ) ) ||
r18055r18056
779779               Bit 6-7 R/W VDraw/VBlank trigger Interrupt #1-#2
780780            */
781781      state->m_pm_reg[0x20] = data;
782      pokemini_check_irqs(device->machine());
782      pokemini_check_irqs(space.machine());
783783      break;
784784   case 0x21:   /* Event #15-#22 priority
785785               Bit 0-1 R/W Unknown
r18055r18056
787787               Bit 4-7 R/W Unknown
788788            */
789789      state->m_pm_reg[0x21] = data;
790      pokemini_check_irqs(device->machine());
790      pokemini_check_irqs(space.machine());
791791      break;
792792   case 0x22:   /* Event #9-#14 priority
793793               Bit 0-1 R/W All #9 - #14 events - Interrupt #9-#14
794794               Bit 2-7     Unused
795795            */
796796      state->m_pm_reg[0x22] = data;
797      pokemini_check_irqs(device->machine());
797      pokemini_check_irqs(space.machine());
798798      break;
799799   case 0x23:   /* Event #1-#8 enable
800800               Bit 0   R/W Timer 3 overflow (mirror) - Enable Interrupt #8
r18055r18056
807807               Bit 7   R/W V-Blank trigger - Enable Interrupt #1
808808            */
809809      state->m_pm_reg[0x23] = data;
810      pokemini_check_irqs(device->machine());
810      pokemini_check_irqs(space.machine());
811811      break;
812812   case 0x24:   /* Event #9-#12 enable
813813               Bit 0-5 R/W Unknown
814814               Bit 6-7     Unused
815815            */
816816      state->m_pm_reg[0x24] = data;
817      pokemini_check_irqs(device->machine());
817      pokemini_check_irqs(space.machine());
818818      break;
819819   case 0x25:   /* Event #15-#22 enable
820820               Bit 0   R/W Press key "A" event - Enable interrupt #22
r18055r18056
827827               Bit 7   R/W Press power button event - Enable interrupt #15
828828            */
829829      state->m_pm_reg[0x25] = data;
830      pokemini_check_irqs(device->machine());
830      pokemini_check_irqs(space.machine());
831831      break;
832832   case 0x26:   /* Event #13-#14 enable
833833               Bit 0-2 R/W Unknown
r18055r18056
837837               Bit 7   R/W IR receiver - low to high trigger - Enable interrupt #13
838838            */
839839      state->m_pm_reg[0x26] = data;
840      pokemini_check_irqs(device->machine());
840      pokemini_check_irqs(space.machine());
841841      break;
842842   case 0x27:   /* Interrupt active flag #1-#8
843843               Bit 0       Timer 3 overflow (mirror) / Clear interrupt #8
r18055r18056
850850               Bit 7       VBlank trigger / Clear interrupt #1
851851            */
852852      state->m_pm_reg[0x27] &= ~data;
853      pokemini_check_irqs(device->machine());
853      pokemini_check_irqs(space.machine());
854854      return;
855855   case 0x28:   /* Interrupt active flag #9-#12
856856               Bit 0-1     Unknown
r18055r18056
861861               Bit 6-7     Unknown
862862            */
863863      state->m_pm_reg[0x28] &= ~data;
864      pokemini_check_irqs(device->machine());
864      pokemini_check_irqs(space.machine());
865865      return;
866866   case 0x29:   /* Interrupt active flag #15-#22
867867               Bit 0       Press key "A" event / Clear interrupt #22
r18055r18056
874874               Bit 7       Press power button event / Clear interrupt #15
875875            */
876876      state->m_pm_reg[0x29] &= ~data;
877      pokemini_check_irqs(device->machine());
877      pokemini_check_irqs(space.machine());
878878      return;
879879   case 0x2A:   /* Interrupt active flag #13-#14
880880               Bit 0-5     Unknown
r18055r18056
882882               Bit 7       Unknown / Clear interrupt #13
883883            */
884884      state->m_pm_reg[0x2A] &= ~data;
885      pokemini_check_irqs(device->machine());
885      pokemini_check_irqs(space.machine());
886886      return;
887887   case 0x30:   /* Timer 1 control 1
888888               Bit 0   R/W Unknown
r18055r18056
956956            */
957957   case 0x35:   /* Timer 1 sound-pivot (high, unused)
958958            */
959      logerror( "%0X: Write to unknown hardware address: %02X, %02X\n", device->machine().firstcpu->pc( ), offset, data );
959      logerror( "%0X: Write to unknown hardware address: %02X, %02X\n", space.machine().firstcpu->pc( ), offset, data );
960960      break;
961961   case 0x36:   /* Timer 1 counter (low), read only
962962            */
r18055r18056
10351035            */
10361036   case 0x3D:   /* Timer 2 sound-pivot (high, unused)
10371037            */
1038      logerror( "%0X: Write to unknown hardware address: %02X, %02X\n", device->machine().firstcpu->pc( ), offset, data );
1038      logerror( "%0X: Write to unknown hardware address: %02X, %02X\n", space.machine().firstcpu->pc( ), offset, data );
10391039      break;
10401040   case 0x3E:   /* Timer 2 counter (low), read only
10411041               Bit 0-7 R/W Timer 2 counter value bit 0-7
r18055r18056
10951095         state->m_timers.timer3_hi->enable( 0 );
10961096      }
10971097      state->m_pm_reg[0x48] = data;
1098      pokemini_update_sound(device->machine());
1098      pokemini_update_sound(space.machine());
10991099      break;
11001100   case 0x49:   /* Timer 3 control 2
11011101               Bit 0   R/W Unknown
r18055r18056
11211121         state->m_timers.timer3_hi->enable( 0 );
11221122      }
11231123      state->m_pm_reg[0x49] = data;
1124      pokemini_update_sound(device->machine());
1124      pokemini_update_sound(space.machine());
11251125      break;
11261126   case 0x4A:   /* Timer 3 preset value (low)
11271127               Bit 0-7 R/W Timer 3 preset value bit 0-7
11281128            */
11291129      state->m_pm_reg[0x4A] = data;
1130      pokemini_update_sound(device->machine());
1130      pokemini_update_sound(space.machine());
11311131      break;
11321132   case 0x4B:   /* Timer 3 preset value (high)
11331133               Bit 0-7 R/W Timer 3 preset value bit 8-15
11341134            */
11351135      state->m_pm_reg[0x4B] = data;
1136      pokemini_update_sound(device->machine());
1136      pokemini_update_sound(space.machine());
11371137      break;
11381138   case 0x4C:   /* Timer 3 sound-pivot (low)
11391139               Bit 0-7 R/W Timer 3 sound-pivot value bit 0-7
11401140            */
11411141      state->m_pm_reg[0x4C] = data;
1142      pokemini_update_sound(device->machine());
1142      pokemini_update_sound(space.machine());
11431143      break;
11441144   case 0x4D:   /* Timer 3 sound-pivot (high)
11451145               Bit 0-7 R/W Timer 3 sound-pivot value bit 8-15
r18055r18056
11501150               Pulse-Width of 100% = Same as preset-value
11511151            */
11521152      state->m_pm_reg[0x4D] = data;
1153      pokemini_update_sound(device->machine());
1153      pokemini_update_sound(space.machine());
11541154      break;
11551155   case 0x4E:   /* Timer 3 counter (low), read only
11561156               Bit 0-7 R/W Timer 3 counter value bit 0-7
r18055r18056
12001200      break;
12011201   case 0x70:   /* Sound related */
12021202      state->m_pm_reg[0x70] = data;
1203      pokemini_update_sound(device->machine());
1203      pokemini_update_sound(space.machine());
12041204      break;
12051205   case 0x71:   /* Sound volume
12061206               Bit 0-1 R/W Sound volume
r18055r18056
12121212               Bit 3-7     Unused
12131213            */
12141214      state->m_pm_reg[0x71] = data;
1215      pokemini_update_sound(device->machine());
1215      pokemini_update_sound(space.machine());
12161216      break;
12171217   case 0x80:   /* LCD control
12181218               Bit 0   R/W Invert colors; 0 - normal, 1 - inverted
r18055r18056
13001300                           Map size 2: 0x00 to 0x60
13011301               Bit 7       Unused
13021302            */
1303      logerror( "%0X: Write to unknown hardware address: %02X, %02X\n", device->machine().firstcpu->pc( ), offset, data );
1303      logerror( "%0X: Write to unknown hardware address: %02X, %02X\n", space.machine().firstcpu->pc( ), offset, data );
13041304      break;
13051305   case 0x87:   /* Sprite tile data memory offset (low)
13061306               Bit 0-5     Always "0"
r18055r18056
13411341//      lcd_data_w( data );
13421342      break;
13431343   default:
1344      logerror( "%0X: Write to unknown hardware address: %02X, %02X\n", device->machine().firstcpu->pc( ), offset, data );
1344      logerror( "%0X: Write to unknown hardware address: %02X, %02X\n", space.machine().firstcpu->pc( ), offset, data );
13451345      break;
13461346   }
13471347   state->m_pm_reg[offset] = data;
r18055r18056
13491349
13501350READ8_DEVICE_HANDLER( pokemini_hwreg_r )
13511351{
1352   pokemini_state *state = device->machine().driver_data<pokemini_state>();
1352   pokemini_state *state = space.machine().driver_data<pokemini_state>();
13531353   UINT8 data = state->m_pm_reg[offset];
13541354
13551355   switch( offset )
trunk/src/mess/machine/mos6530.c
r18055r18056
177177   if (offset & 0x04)
178178   {
179179      static const UINT8 timershift[4] = { 0, 3, 6, 10 };
180      attotime curtime = device->machine().time();
180      attotime curtime = space.machine().time();
181181      INT64 target;
182182
183183      /* A0-A1 contain the timer divisor */
r18055r18056
225225         if (!port->out_port_func.isnull())
226226            port->out_port_func(0, data);
227227         else
228            logerror("6530MIOT chip %s: Port %c is being written to but has no handler.  PC: %08X - %02X\n", device->tag(), 'A' + (offset & 1), device->machine().firstcpu->pc(), data);
228            logerror("6530MIOT chip %s: Port %c is being written to but has no handler.  PC: %08X - %02X\n", device->tag(), 'A' + (offset & 1), space.machine().firstcpu->pc(), data);
229229      }
230230   }
231231}
r18055r18056
287287            port->in = port->in_port_func(0);
288288         }
289289         else
290            logerror("6530MIOT chip %s: Port %c is being read but has no handler.  PC: %08X\n", device->tag(), 'A' + (offset & 1), device->machine().firstcpu->pc());
290            logerror("6530MIOT chip %s: Port %c is being read but has no handler.  PC: %08X\n", device->tag(), 'A' + (offset & 1), space.machine().firstcpu->pc());
291291
292292         /* apply the DDR to the result */
293293         val = (out & port->ddr) | (port->in & ~port->ddr);
trunk/src/mess/machine/mc6854.c
r18055r18056
808808   case 0: /* status register 1 */
809809      mc6854_update_sr1( mc6854 );
810810      LOG(( "%f $%04x mc6854_r: get SR1=$%02X (rda=%i,s2rq=%i,fd=%i,cts=%i,tu=%i,tdra=%i,irq=%i)\n",
811            device->machine().time().as_double(), device->machine().firstcpu->pcbase( ), mc6854->sr1,
811            space.machine().time().as_double(), space.machine().firstcpu->pcbase( ), mc6854->sr1,
812812            ( mc6854->sr1 & RDA) ? 1 : 0, ( mc6854->sr1 & S2RQ) ? 1 : 0,
813813            ( mc6854->sr1 & FD ) ? 1 : 0, ( mc6854->sr1 & CTS ) ? 1 : 0,
814814            ( mc6854->sr1 & TU ) ? 1 : 0, ( mc6854->sr1 & TDRA) ? 1 : 0,
r18055r18056
818818   case 1: /* status register 2 */
819819      mc6854_update_sr2( mc6854 );
820820      LOG(( "%f $%04x mc6854_r: get SR2=$%02X (ap=%i,fv=%i,ridle=%i,rabt=%i,err=%i,dcd=%i,ovrn=%i,rda2=%i)\n",
821            device->machine().time().as_double(), device->machine().firstcpu->pcbase( ), mc6854->sr2,
821            space.machine().time().as_double(), space.machine().firstcpu->pcbase( ), mc6854->sr2,
822822            ( mc6854->sr2 & AP   ) ? 1 : 0, ( mc6854->sr2 & FV  ) ? 1 : 0,
823823            ( mc6854->sr2 & RIDLE) ? 1 : 0, ( mc6854->sr2 & RABT) ? 1 : 0,
824824            ( mc6854->sr2 & ERR  ) ? 1 : 0, ( mc6854->sr2 & DCD ) ? 1 : 0,
r18055r18056
830830   {
831831      UINT8 data = mc6854_rfifo_pop( device );
832832      LOG(( "%f $%04x mc6854_r: get data $%02X\n",
833            device->machine().time().as_double(), device->machine().firstcpu->pcbase( ), data ));
833            space.machine().time().as_double(), space.machine().firstcpu->pcbase( ), data ));
834834      return data;
835835   }
836836
837837   default:
838      logerror( "$%04x mc6854 invalid read offset %i\n", device->machine().firstcpu->pcbase( ), offset );
838      logerror( "$%04x mc6854 invalid read offset %i\n", space.machine().firstcpu->pcbase( ), offset );
839839   }
840840   return 0;
841841}
r18055r18056
851851   case 0: /* control register 1 */
852852      mc6854->cr1 = data;
853853      LOG(( "%f $%04x mc6854_w: set CR1=$%02X (ac=%i,irq=%c%c,%sreset=%c%c)\n",
854            device->machine().time().as_double(), device->machine().firstcpu->pcbase( ), mc6854->cr1,
854            space.machine().time().as_double(), space.machine().firstcpu->pcbase( ), mc6854->cr1,
855855            AC ? 1 : 0,
856856            RIE ? 'r' : '-', TIE ? 't' : '-',
857857            DISCONTINUE ? "discontinue," : "",
r18055r18056
859859             ));
860860      if ( mc6854->cr1 & 0xc )
861861         logerror( "$%04x mc6854 DMA not handled (CR1=$%02X)\n",
862              device->machine().firstcpu->pcbase( ), mc6854->cr1 );
862              space.machine().firstcpu->pcbase( ), mc6854->cr1 );
863863      if ( DISCONTINUE )
864864      {
865865         /* abort receive FIFO but keeps shift register & synchro */
r18055r18056
888888         /* control register 3 */
889889         mc6854->cr3 = data;
890890         LOG(( "%f $%04x mc6854_w: set CR3=$%02X (lcf=%i,aex=%i,idl=%i,fdse=%i,loop=%i,tst=%i,dtr=%i)\n",
891               device->machine().time().as_double(), device->machine().firstcpu->pcbase( ), mc6854->cr3,
891               space.machine().time().as_double(), space.machine().firstcpu->pcbase( ), mc6854->cr3,
892892               LCF ? (CEX ? 16 : 8) : 0,  AEX ? 1 : 0,
893893               IDL0 ? 0 : 1, FDSE ? 1 : 0, LOOP ? 1 : 0,
894894               TST ? 1 : 0, DTR ? 1 : 0
895895                ));
896896         if ( LOOP )
897            logerror( "$%04x mc6854 loop mode not handled (CR3=$%02X)\n", device->machine().firstcpu->pcbase( ), mc6854->cr3 );
897            logerror( "$%04x mc6854 loop mode not handled (CR3=$%02X)\n", space.machine().firstcpu->pcbase( ), mc6854->cr3 );
898898         if ( TST )
899            logerror( "$%04x mc6854 test mode not handled (CR3=$%02X)\n", device->machine().firstcpu->pcbase( ), mc6854->cr3 );
899            logerror( "$%04x mc6854 test mode not handled (CR3=$%02X)\n", space.machine().firstcpu->pcbase( ), mc6854->cr3 );
900900
901901         mc6854->out_dtr_func( DTR ? 1 : 0 );
902902
r18055r18056
906906         /* control register 2 */
907907         mc6854->cr2 = data;
908908         LOG(( "%f $%04x mc6854_w: set CR2=$%02X (pse=%i,bytes=%i,fmidle=%i,%s,tlast=%i,clr=%c%c,rts=%i)\n",
909               device->machine().time().as_double(), device->machine().firstcpu->pcbase( ), mc6854->cr2,
909               space.machine().time().as_double(), space.machine().firstcpu->pcbase( ), mc6854->cr2,
910910               PSE ? 1 : 0,  TWOBYTES ? 2 : 1,  FMIDLE ? 1 : 0,
911911               FCTDRA ? "fc" : "tdra", TLAST ? 1 : 0,
912912               data & 0x20 ? 'r' : '-',  data & 0x40 ? 't' : '-',
913913               RTS ? 1 : 0 ));
914914         if ( PSE )
915            logerror( "$%04x mc6854 status prioritization not handled (CR2=$%02X)\n", device->machine().firstcpu->pcbase( ), mc6854->cr2 );
915            logerror( "$%04x mc6854 status prioritization not handled (CR2=$%02X)\n", space.machine().firstcpu->pcbase( ), mc6854->cr2 );
916916         if ( TLAST )
917917            mc6854_tfifo_terminate( device );
918918         if ( data & 0x20 )
r18055r18056
936936      break;
937937
938938   case 2: /* transmitter data: continue data */
939      LOG(( "%f $%04xmc6854_w: push data=$%02X\n", device->machine().time().as_double(), device->machine().firstcpu->pcbase( ), data ));
939      LOG(( "%f $%04xmc6854_w: push data=$%02X\n", space.machine().time().as_double(), space.machine().firstcpu->pcbase( ), data ));
940940      mc6854_tfifo_push( device, data );
941941      break;
942942
r18055r18056
945945      {
946946         /* control register 4 */
947947         mc6854->cr4 = data;
948         LOG(( "%f $%04x mc6854_w: set CR4=$%02X (interframe=%i,tlen=%i,rlen=%i,%s%s)\n", device->machine().time().as_double(), device->machine().firstcpu->pcbase( ), mc6854->cr4,
948         LOG(( "%f $%04x mc6854_w: set CR4=$%02X (interframe=%i,tlen=%i,rlen=%i,%s%s)\n", space.machine().time().as_double(), space.machine().firstcpu->pcbase( ), mc6854->cr4,
949949               TWOINTER ? 2 : 1,
950950               TWL, RWL,
951951               ABT ? ( ABTEX ? "abort-ext," : "abort,") : "",
r18055r18056
960960      else
961961      {
962962         /* transmitter data: last data */
963         LOG(( "%f $%04x mc6854_w: push last-data=$%02X\n", device->machine().time().as_double(), device->machine().firstcpu->pcbase( ), data ));
963         LOG(( "%f $%04x mc6854_w: push last-data=$%02X\n", space.machine().time().as_double(), space.machine().firstcpu->pcbase( ), data ));
964964         mc6854_tfifo_push( device, data );
965965         mc6854_tfifo_terminate( device );
966966      }
967967      break;
968968
969969   default:
970      logerror( "$%04x mc6854 invalid write offset %i (data=$%02X)\n", device->machine().firstcpu->pcbase( ), offset, data );
970      logerror( "$%04x mc6854 invalid write offset %i (data=$%02X)\n", space.machine().firstcpu->pcbase( ), offset, data );
971971   }
972972}
973973
trunk/src/mess/machine/mc6846.c
r18055r18056
281281   case 0:
282282   case 4:
283283      LOG (( "$%04x %f: mc6846 CSR read $%02X intr=%i (timer=%i, cp1=%i, cp2=%i)\n",
284             device->machine().firstcpu->pcbase( ), device->machine().time().as_double(),
284             space.machine().firstcpu->pcbase( ), space.machine().time().as_double(),
285285             mc6846->csr, (mc6846->csr >> 7) & 1,
286286             mc6846->csr & 1, (mc6846->csr >> 1) & 1, (mc6846->csr >> 2) & 1 ));
287287      mc6846->csr0_to_be_cleared = mc6846->csr & 1;
r18055r18056
290290      return mc6846->csr;
291291
292292   case 1:
293      LOG (( "$%04x %f: mc6846 PCR read $%02X\n", device->machine().firstcpu->pcbase( ), device->machine().time().as_double(), mc6846->pcr ));
293      LOG (( "$%04x %f: mc6846 PCR read $%02X\n", space.machine().firstcpu->pcbase( ), space.machine().time().as_double(), mc6846->pcr ));
294294      return mc6846->pcr;
295295
296296   case 2:
297      LOG (( "$%04x %f: mc6846 DDR read $%02X\n", device->machine().firstcpu->pcbase( ), device->machine().time().as_double(), mc6846->ddr ));
297      LOG (( "$%04x %f: mc6846 DDR read $%02X\n", space.machine().firstcpu->pcbase( ), space.machine().time().as_double(), mc6846->ddr ));
298298      return mc6846->ddr;
299299
300300   case 3:
301      LOG (( "$%04x %f: mc6846 PORT read $%02X\n", device->machine().firstcpu->pcbase( ), device->machine().time().as_double(), PORT ));
301      LOG (( "$%04x %f: mc6846 PORT read $%02X\n", space.machine().firstcpu->pcbase( ), space.machine().time().as_double(), PORT ));
302302      if ( ! (mc6846->pcr & 0x80) )
303303      {
304304         if ( mc6846->csr1_to_be_cleared )
r18055r18056
312312      return PORT;
313313
314314   case 5:
315      LOG (( "$%04x %f: mc6846 TCR read $%02X\n",device->machine().firstcpu->pcbase( ), device->machine().time().as_double(), mc6846->tcr ));
315      LOG (( "$%04x %f: mc6846 TCR read $%02X\n",space.machine().firstcpu->pcbase( ), space.machine().time().as_double(), mc6846->tcr ));
316316      return mc6846->tcr;
317317
318318   case 6:
319      LOG (( "$%04x %f: mc6846 COUNTER hi read $%02X\n", device->machine().firstcpu->pcbase( ), device->machine().time().as_double(), mc6846_counter( device ) >> 8 ));
319      LOG (( "$%04x %f: mc6846 COUNTER hi read $%02X\n", space.machine().firstcpu->pcbase( ), space.machine().time().as_double(), mc6846_counter( device ) >> 8 ));
320320      if ( mc6846->csr0_to_be_cleared )
321321      {
322322         mc6846->csr &= ~1;
r18055r18056
326326      return mc6846_counter( device ) >> 8;
327327
328328   case 7:
329      LOG (( "$%04x %f: mc6846 COUNTER low read $%02X\n", device->machine().firstcpu->pcbase( ), device->machine().time().as_double(), mc6846_counter( device ) & 0xff ));
329      LOG (( "$%04x %f: mc6846 COUNTER low read $%02X\n", space.machine().firstcpu->pcbase( ), space.machine().time().as_double(), mc6846_counter( device ) & 0xff ));
330330      if ( mc6846->csr0_to_be_cleared )
331331      {
332332         mc6846->csr &= ~1;
r18055r18056
336336      return mc6846_counter( device ) & 0xff;
337337
338338   default:
339      logerror( "$%04x mc6846 invalid read offset %i\n", device->machine().firstcpu->pcbase( ), offset );
339      logerror( "$%04x mc6846 invalid read offset %i\n", space.machine().firstcpu->pcbase( ), offset );
340340   }
341341   return 0;
342342}
r18055r18056
367367         "latcged,pos-edge", "latcged,pos-edge,intr"
368368      };
369369      LOG (( "$%04x %f: mc6846 PCR write $%02X reset=%i cp2=%s cp1=%s\n",
370             device->machine().firstcpu->pcbase( ), device->machine().time().as_double(), data,
370             space.machine().firstcpu->pcbase( ), space.machine().time().as_double(), data,
371371             (data >> 7) & 1, cp2[ (data >> 3) & 7 ], cp1[ data & 7 ] ));
372372
373373   }
r18055r18056
380380      mc6846_update_irq( device );
381381   }
382382   if ( data & 4 )
383      logerror( "$%04x mc6846 CP1 latching not implemented\n", device->machine().firstcpu->pcbase( ) );
383      logerror( "$%04x mc6846 CP1 latching not implemented\n", space.machine().firstcpu->pcbase( ) );
384384   if (data & 0x20)
385385   {
386386      if (data & 0x10)
r18055r18056
390390            mc6846->out_cp2( 0, mc6846->cp2_cpu );
391391      }
392392      else
393         logerror( "$%04x mc6846 acknowledge not implemented\n", device->machine().firstcpu->pcbase( ) );
393         logerror( "$%04x mc6846 acknowledge not implemented\n", space.machine().firstcpu->pcbase( ) );
394394   }
395395   break;
396396
397397   case 2:
398      LOG (( "$%04x %f: mc6846 DDR write $%02X\n", device->machine().firstcpu->pcbase( ), device->machine().time().as_double(), data ));
398      LOG (( "$%04x %f: mc6846 DDR write $%02X\n", space.machine().firstcpu->pcbase( ), space.machine().time().as_double(), data ));
399399      if ( ! (mc6846->pcr & 0x80) )
400400      {
401401         mc6846->ddr = data;
r18055r18056
405405      break;
406406
407407   case 3:
408      LOG (( "$%04x %f: mc6846 PORT write $%02X (mask=$%02X)\n", device->machine().firstcpu->pcbase( ), device->machine().time().as_double(), data,mc6846->ddr ));
408      LOG (( "$%04x %f: mc6846 PORT write $%02X (mask=$%02X)\n", space.machine().firstcpu->pcbase( ), space.machine().time().as_double(), data,mc6846->ddr ));
409409      if ( ! (mc6846->pcr & 0x80) )
410410      {
411411         mc6846->pdr = data;
r18055r18056
414414         if ( mc6846->csr1_to_be_cleared && (mc6846->csr & 2) )
415415         {
416416            mc6846->csr &= ~2;
417            LOG (( "$%04x %f: mc6846 CP1 intr reset\n", device->machine().firstcpu->pcbase( ), device->machine().time().as_double() ));
417            LOG (( "$%04x %f: mc6846 CP1 intr reset\n", space.machine().firstcpu->pcbase( ), space.machine().time().as_double() ));
418418         }
419419         if ( mc6846->csr2_to_be_cleared && (mc6846->csr & 4) )
420420         {
421421            mc6846->csr &= ~4;
422            LOG (( "$%04x %f: mc6846 CP2 intr reset\n", device->machine().firstcpu->pcbase( ), device->machine().time().as_double() ));
422            LOG (( "$%04x %f: mc6846 CP2 intr reset\n", space.machine().firstcpu->pcbase( ), space.machine().time().as_double() ));
423423         }
424424         mc6846->csr1_to_be_cleared = 0;
425425         mc6846->csr2_to_be_cleared = 0;
r18055r18056
435435            "freq-cmp", "freq-cmp", "pulse-cmp", "pulse-cmp"
436436         };
437437      LOG (( "$%04x %f: mc6846 TCR write $%02X reset=%i clock=%s scale=%i mode=%s out=%s\n",
438             device->machine().firstcpu->pcbase( ), device->machine().time().as_double(), data,
438             space.machine().firstcpu->pcbase( ), space.machine().time().as_double(), data,
439439             (data >> 7) & 1, (data & 0x40) ? "extern" : "sys",
440440             (data & 0x40) ? 1 : 8, mode[ (data >> 1) & 7 ],
441441             (data & 1) ? "enabled" : "0" ));
r18055r18056
469469
470470   case 7:
471471      mc6846->latch = ( ((UINT16) mc6846->time_MSB) << 8 ) + data;
472      LOG (( "$%04x %f: mc6846 COUNT write %i\n", device->machine().firstcpu->pcbase( ), device->machine().time().as_double(), mc6846->latch  ));
472      LOG (( "$%04x %f: mc6846 COUNT write %i\n", space.machine().firstcpu->pcbase( ), space.machine().time().as_double(), mc6846->latch  ));
473473      if (!(mc6846->tcr & 0x38))
474474      {
475475         /* timer initialization */
r18055r18056
485485      break;
486486
487487   default:
488      logerror( "$%04x mc6846 invalid write offset %i\n", device->machine().firstcpu->pcbase( ), offset );
488      logerror( "$%04x mc6846 invalid write offset %i\n", space.machine().firstcpu->pcbase( ), offset );
489489   }
490490}
491491
trunk/src/mess/machine/pmd85.c
r18055r18056
261261
262262static WRITE8_DEVICE_HANDLER ( pmd85_ppi_0_porta_w )
263263{
264   pmd85_state *state = device->machine().driver_data<pmd85_state>();
264   pmd85_state *state = space.machine().driver_data<pmd85_state>();
265265   state->m_ppi_port_outputs[0][0] = data;
266266}
267267
268268static WRITE8_DEVICE_HANDLER ( pmd85_ppi_0_portb_w )
269269{
270   pmd85_state *state = device->machine().driver_data<pmd85_state>();
270   pmd85_state *state = space.machine().driver_data<pmd85_state>();
271271   state->m_ppi_port_outputs[0][1] = data;
272272}
273273
274274static WRITE8_DEVICE_HANDLER ( pmd85_ppi_0_portc_w )
275275{
276   pmd85_state *state = device->machine().driver_data<pmd85_state>();
276   pmd85_state *state = space.machine().driver_data<pmd85_state>();
277277   state->m_ppi_port_outputs[0][2] = data;
278   set_led_status(device->machine(), PMD85_LED_2, (data & 0x08) ? 1 : 0);
279   set_led_status(device->machine(), PMD85_LED_3, (data & 0x04) ? 1 : 0);
278   set_led_status(space.machine(), PMD85_LED_2, (data & 0x08) ? 1 : 0);
279   set_led_status(space.machine(), PMD85_LED_3, (data & 0x04) ? 1 : 0);
280280}
281281
282282/*******************************************************************************
r18055r18056
309309
310310static WRITE8_DEVICE_HANDLER ( mato_ppi_0_portc_w )
311311{
312   pmd85_state *state = device->machine().driver_data<pmd85_state>();
312   pmd85_state *state = space.machine().driver_data<pmd85_state>();
313313   state->m_ppi_port_outputs[0][2] = data;
314   set_led_status(device->machine(), PMD85_LED_2, BIT(data, 3));
315   set_led_status(device->machine(), PMD85_LED_3, BIT(data, 2));
314   set_led_status(space.machine(), PMD85_LED_2, BIT(data, 3));
315   set_led_status(space.machine(), PMD85_LED_3, BIT(data, 2));
316316}
317317
318318/*******************************************************************************
r18055r18056
340340
341341static WRITE8_DEVICE_HANDLER ( pmd85_ppi_1_porta_w )
342342{
343   pmd85_state *state = device->machine().driver_data<pmd85_state>();
343   pmd85_state *state = space.machine().driver_data<pmd85_state>();
344344   state->m_ppi_port_outputs[1][0] = data;
345345}
346346
347347static WRITE8_DEVICE_HANDLER ( pmd85_ppi_1_portb_w )
348348{
349   pmd85_state *state = device->machine().driver_data<pmd85_state>();
349   pmd85_state *state = space.machine().driver_data<pmd85_state>();
350350   state->m_ppi_port_outputs[1][1] = data;
351351}
352352
353353static WRITE8_DEVICE_HANDLER ( pmd85_ppi_1_portc_w )
354354{
355   pmd85_state *state = device->machine().driver_data<pmd85_state>();
355   pmd85_state *state = space.machine().driver_data<pmd85_state>();
356356   state->m_ppi_port_outputs[1][2] = data;
357357}
358358
r18055r18056
385385
386386static WRITE8_DEVICE_HANDLER ( pmd85_ppi_2_porta_w )
387387{
388   pmd85_state *state = device->machine().driver_data<pmd85_state>();
388   pmd85_state *state = space.machine().driver_data<pmd85_state>();
389389   state->m_ppi_port_outputs[2][0] = data;
390390}
391391
392392static WRITE8_DEVICE_HANDLER ( pmd85_ppi_2_portb_w )
393393{
394   pmd85_state *state = device->machine().driver_data<pmd85_state>();
394   pmd85_state *state = space.machine().driver_data<pmd85_state>();
395395   state->m_ppi_port_outputs[2][1] = data;
396396}
397397
398398static WRITE8_DEVICE_HANDLER ( pmd85_ppi_2_portc_w )
399399{
400   pmd85_state *state = device->machine().driver_data<pmd85_state>();
400   pmd85_state *state = space.machine().driver_data<pmd85_state>();
401401   state->m_ppi_port_outputs[2][2] = data;
402402}
403403
r18055r18056
458458
459459static READ8_DEVICE_HANDLER ( pmd85_ppi_3_porta_r )
460460{
461   pmd85_state *state = device->machine().driver_data<pmd85_state>();
461   pmd85_state *state = space.machine().driver_data<pmd85_state>();
462462   if (state->memregion("user1")->base() != NULL)
463463      return state->memregion("user1")->base()[state->m_ppi_port_outputs[3][1] | (state->m_ppi_port_outputs[3][2] << 8)];
464464   else
r18055r18056
477477
478478static WRITE8_DEVICE_HANDLER ( pmd85_ppi_3_porta_w )
479479{
480   pmd85_state *state = device->machine().driver_data<pmd85_state>();
480   pmd85_state *state = space.machine().driver_data<pmd85_state>();
481481   state->m_ppi_port_outputs[3][0] = data;
482482}
483483
484484static WRITE8_DEVICE_HANDLER ( pmd85_ppi_3_portb_w )
485485{
486   pmd85_state *state = device->machine().driver_data<pmd85_state>();
486   pmd85_state *state = space.machine().driver_data<pmd85_state>();
487487   state->m_ppi_port_outputs[3][1] = data;
488488}
489489
490490static WRITE8_DEVICE_HANDLER ( pmd85_ppi_3_portc_w )
491491{
492   pmd85_state *state = device->machine().driver_data<pmd85_state>();
492   pmd85_state *state = space.machine().driver_data<pmd85_state>();
493493   state->m_ppi_port_outputs[3][2] = data;
494494}
495495
trunk/src/mess/machine/kramermc.c
r18055r18056
1919
2020static READ8_DEVICE_HANDLER (kramermc_port_b_r)
2121{
22   kramermc_state *state = device->machine().driver_data<kramermc_state>();
22   kramermc_state *state = space.machine().driver_data<kramermc_state>();
2323   static const char *const keynames[] = { "LINE0", "LINE1", "LINE2", "LINE3", "LINE4", "LINE5", "LINE6", "LINE7" };
2424
25   return device->machine().root_device().ioport(keynames[state->m_key_row])->read();
25   return space.machine().root_device().ioport(keynames[state->m_key_row])->read();
2626}
2727
2828static WRITE8_DEVICE_HANDLER (kramermc_port_a_w)
2929{
30   kramermc_state *state = device->machine().driver_data<kramermc_state>();
30   kramermc_state *state = space.machine().driver_data<kramermc_state>();
3131   state->m_key_row = ((data >> 1) & 0x07);
3232}
3333
trunk/src/mess/machine/orion.c
r18055r18056
2929
3030static READ8_DEVICE_HANDLER (orion_romdisk_porta_r )
3131{
32   orion_state *state = device->machine().driver_data<orion_state>();
32   orion_state *state = space.machine().driver_data<orion_state>();
3333   UINT8 *romdisk = state->memregion("maincpu")->base() + 0x10000;
3434   return romdisk[state->m_romdisk_msb*256+state->m_romdisk_lsb];
3535}
3636
3737static WRITE8_DEVICE_HANDLER (orion_romdisk_portb_w )
3838{
39   orion_state *state = device->machine().driver_data<orion_state>();
39   orion_state *state = space.machine().driver_data<orion_state>();
4040   state->m_romdisk_lsb = data;
4141}
4242
4343static WRITE8_DEVICE_HANDLER (orion_romdisk_portc_w )
4444{
45   orion_state *state = device->machine().driver_data<orion_state>();
45   orion_state *state = space.machine().driver_data<orion_state>();
4646   state->m_romdisk_msb = data;
4747}
4848
trunk/src/mess/machine/e05a03.c
r18055r18056
117117{
118118   e05a03_state *e05a03 = get_safe_token(device);
119119
120   logerror("%s: e05a03_w(%02x): %02x\n", device->machine().describe_context(), offset, data);
120   logerror("%s: e05a03_w(%02x): %02x\n", space.machine().describe_context(), offset, data);
121121
122122   switch (offset)
123123   {
r18055r18056
157157   e05a03_state *e05a03 = get_safe_token(device);
158158   UINT8 result = 0;
159159
160   logerror("%s: e05a03_r(%02x)\n", device->machine().describe_context(), offset);
160   logerror("%s: e05a03_r(%02x)\n", space.machine().describe_context(), offset);
161161
162162   switch (offset)
163163   {
trunk/src/mess/machine/a7800.c
r18055r18056
4040
4141static READ8_DEVICE_HANDLER( riot_joystick_r )
4242{
43   return device->machine().root_device().ioport("joysticks")->read();
43   return space.machine().root_device().ioport("joysticks")->read();
4444}
4545
4646static READ8_DEVICE_HANDLER( riot_console_button_r )
4747{
48   return device->machine().root_device().ioport("console_buttons")->read();
48   return space.machine().root_device().ioport("console_buttons")->read();
4949}
5050
5151static WRITE8_DEVICE_HANDLER( riot_button_pullup_w )
5252{
53   a7800_state *state = device->machine().driver_data<a7800_state>();
53   a7800_state *state = space.machine().driver_data<a7800_state>();
5454   state->m_p1_one_button = data & 0x04; // pin 6 of the controller port is held high by the riot chip when reading two-button controllers (from schematic)
5555   state->m_p2_one_button = data & 0x10;
5656}
trunk/src/mess/machine/microtan.c
r18055r18056
163163 **************************************************************/
164164static READ8_DEVICE_HANDLER (via_0_in_a )
165165{
166    int data = device->machine().root_device().ioport("JOY")->read();
166    int data = space.machine().root_device().ioport("JOY")->read();
167167    LOG(("microtan_via_0_in_a %02X\n", data));
168168    return data;
169169}
r18055r18056
212212{
213213    LOG(("microtan_via_0_out_b %02X\n", data));
214214    /* bit #7 is the cassette output signal */
215    cassette_device_image(device->machine())->output(data & 0x80 ? +1.0 : -1.0);
215    cassette_device_image(space.machine())->output(data & 0x80 ? +1.0 : -1.0);
216216}
217217
218218static WRITE8_DEVICE_HANDLER ( via_0_out_ca2 )
trunk/src/mess/machine/samcoupe.c
r18055r18056
160160
161161static READ8_DEVICE_HANDLER( samcoupe_rtc_r )
162162{
163   address_space &spaceio = device->machine().device("maincpu")->memory().space(AS_IO);
163   address_space &spaceio = space.machine().device("maincpu")->memory().space(AS_IO);
164164   msm6242_device *rtc = dynamic_cast<msm6242_device*>(device);
165165   return rtc->read(spaceio,offset >> 12);
166166}
r18055r18056
168168
169169static WRITE8_DEVICE_HANDLER( samcoupe_rtc_w )
170170{
171   address_space &spaceio = device->machine().device("maincpu")->memory().space(AS_IO);
171   address_space &spaceio = space.machine().device("maincpu")->memory().space(AS_IO);
172172   msm6242_device *rtc = dynamic_cast<msm6242_device*>(device);
173173   rtc->write(spaceio,offset >> 12, data);
174174}
trunk/src/mess/machine/svi318.c
r18055r18056
148148{
149149   int data = 0x0f;
150150
151   if ((device->machine().device<cassette_image_device>(CASSETTE_TAG))->input() > 0.0038)
151   if ((space.machine().device<cassette_image_device>(CASSETTE_TAG))->input() > 0.0038)
152152      data |= 0x80;
153   if (!svi318_cassette_present(device->machine(), 0))
153   if (!svi318_cassette_present(space.machine(), 0))
154154      data |= 0x40;
155   data |= device->machine().root_device().ioport("BUTTONS")->read() & 0x30;
155   data |= space.machine().root_device().ioport("BUTTONS")->read() & 0x30;
156156
157157   return data;
158158}
r18055r18056
172172
173173static READ8_DEVICE_HANDLER ( svi318_ppi_port_b_r )
174174{
175   svi318_state *state = device->machine().driver_data<svi318_state>();
175   svi318_state *state = space.machine().driver_data<svi318_state>();
176176   int row;
177177   static const char *const keynames[] = {
178178      "LINE0", "LINE1", "LINE2", "LINE3", "LINE4", "LINE5",
r18055r18056
181181
182182   row = state->m_svi.keyboard_row;
183183   if (row <= 10)
184      return device->machine().root_device().ioport(keynames[row])->read();
184      return space.machine().root_device().ioport(keynames[row])->read();
185185
186186   return 0xff;
187187}
r18055r18056
201201
202202static WRITE8_DEVICE_HANDLER ( svi318_ppi_port_c_w )
203203{
204   svi318_state *state = device->machine().driver_data<svi318_state>();
204   svi318_state *state = space.machine().driver_data<svi318_state>();
205205   int val;
206206
207207   /* key click */
208208   val = (data & 0x80) ? 0x3e : 0;
209209   val += (data & 0x40) ? 0x3e : 0;
210   device->machine().device<dac_device>("dac")->write_signed8(val);
210   space.machine().device<dac_device>("dac")->write_signed8(val);
211211
212212   /* cassette motor on/off */
213   if (svi318_cassette_present(device->machine(), 0))
213   if (svi318_cassette_present(space.machine(), 0))
214214   {
215215
216         device->machine().device<cassette_image_device>(CASSETTE_TAG)->change_state(
216         space.machine().device<cassette_image_device>(CASSETTE_TAG)->change_state(
217217         (data & 0x10) ? CASSETTE_MOTOR_DISABLED : CASSETTE_MOTOR_ENABLED,
218218         CASSETTE_MOTOR_DISABLED);
219219   }
220220
221221   /* cassette signal write */
222   device->machine().device<cassette_image_device>(CASSETTE_TAG)->output((data & 0x20) ? -1.0 : +1.0);
222   space.machine().device<cassette_image_device>(CASSETTE_TAG)->output((data & 0x20) ? -1.0 : +1.0);
223223
224224   state->m_svi.keyboard_row = data & 0x0F;
225225}
trunk/src/mess/machine/z80ne.c
r18055r18056
613613
614614READ8_DEVICE_HANDLER( lx388_mc6847_videoram_r )
615615{
616   z80ne_state *state = device->machine().driver_data<z80ne_state>();
616   z80ne_state *state = space.machine().driver_data<z80ne_state>();
617617   if (offset == ~0) return 0xff;
618618
619619   UINT8 *videoram = state->m_videoram;
r18055r18056
652652
653653WRITE8_DEVICE_HANDLER(lx390_motor_w)
654654{
655   z80ne_state *state = device->machine().driver_data<z80ne_state>();
655   z80ne_state *state = space.machine().driver_data<z80ne_state>();
656656   /* Selection of drive and parameters
657657     A write also causes the selected drive motor to turn on for about 3 seconds.
658658     When the motor turns off, the drive is deselected.
r18055r18056
700700
701701READ8_DEVICE_HANDLER(lx390_reset_bank)
702702{
703   z80ne_state *state = device->machine().driver_data<z80ne_state>();
703   z80ne_state *state = space.machine().driver_data<z80ne_state>();
704704   offs_t pc;
705705
706706   /* if PC is not in range, we are under integrated debugger control, DON'T SWAP */
707   pc = device->machine().device("z80ne")->safe_pc();
707   pc = space.machine().device("z80ne")->safe_pc();
708708   if((pc >= 0xf000) && (pc <=0xffff))
709709   {
710710      LOG(("lx390_reset_bank, reset memory bank 1\n"));
r18055r18056
755755
756756WRITE8_DEVICE_HANDLER(lx390_fdc_w)
757757{
758   z80ne_state *state = device->machine().driver_data<z80ne_state>();
758   z80ne_state *state = space.machine().driver_data<z80ne_state>();
759759   UINT8 d;
760760
761761   d = data;
trunk/src/mess/machine/isa_hdc.c
r18055r18056
796796   }
797797
798798   if (LOG_HDC_CALL)
799      logerror("pc_HDC_r(): pc=%06X offs=%d result=0x%02x\n", device->machine().firstcpu->pc(), offset, data);
799      logerror("pc_HDC_r(): pc=%06X offs=%d result=0x%02x\n", space.machine().firstcpu->pc(), offset, data);
800800
801801   return data;
802802}
r18055r18056
805805{
806806   isa8_hdc_device   *hdc  = downcast<isa8_hdc_device *>(device);
807807   if (LOG_HDC_CALL)
808      logerror("pc_HDC_w(): pc=%06X offs=%d data=0x%02x\n", device->machine().firstcpu->pc(), offset, data);
808      logerror("pc_HDC_w(): pc=%06X offs=%d data=0x%02x\n", space.machine().firstcpu->pc(), offset, data);
809809
810810   switch( offset )
811811   {
trunk/src/mess/machine/ac1.c
r18055r18056
1313
1414static READ8_DEVICE_HANDLER (ac1_port_b_r)
1515{
16   ac1_state *state = device->machine().driver_data<ac1_state>();
16   ac1_state *state = space.machine().driver_data<ac1_state>();
1717   UINT8 data = 0x7f;
1818
1919   if (state->m_cassette->input() > 0.03)
r18055r18056
2626
2727static READ8_DEVICE_HANDLER (ac1_port_a_r)
2828{
29   UINT8 line0 = device->machine().root_device().ioport("LINE0")->read();
30   UINT8 line1 = device->machine().root_device().ioport("LINE1")->read();
31   UINT8 line2 = device->machine().root_device().ioport("LINE2")->read();
32   UINT8 line3 = device->machine().root_device().ioport("LINE3")->read();
33   UINT8 line4 = device->machine().root_device().ioport("LINE4")->read();
34   UINT8 line5 = device->machine().root_device().ioport("LINE5")->read();
35   UINT8 line6 = device->machine().root_device().ioport("LINE6")->read();
29   UINT8 line0 = space.machine().root_device().ioport("LINE0")->read();
30   UINT8 line1 = space.machine().root_device().ioport("LINE1")->read();
31   UINT8 line2 = space.machine().root_device().ioport("LINE2")->read();
32   UINT8 line3 = space.machine().root_device().ioport("LINE3")->read();
33   UINT8 line4 = space.machine().root_device().ioport("LINE4")->read();
34   UINT8 line5 = space.machine().root_device().ioport("LINE5")->read();
35   UINT8 line6 = space.machine().root_device().ioport("LINE6")->read();
3636
3737   UINT8 SH    = BNOT(BIT(line6,0));
3838   UINT8 CTRL  = BNOT(BIT(line6,1));
r18055r18056
9494        7       cassette in
9595
9696    */
97   ac1_state *state = device->machine().driver_data<ac1_state>();
97   ac1_state *state = space.machine().driver_data<ac1_state>();
9898   state->m_cassette->output((data & 0x40) ? -1.0 : +1.0);
9999}
100100
trunk/src/mess/machine/apollo.c
r18055r18056
507507
508508static READ8_DEVICE_HANDLER( apollo_dma8237_ctape_dack_r ) {
509509
510   UINT8 data = sc499_dack_r(&device->machine());
510   UINT8 data = sc499_dack_r(&space.machine());
511511   DLOG2(("dma ctape dack read %02x",data));
512512
513513   // hack for DN3000: select appropriate DMA channel No.
r18055r18056
518518
519519static WRITE8_DEVICE_HANDLER( apollo_dma8237_ctape_dack_w ) {
520520   DLOG2(("dma ctape dack write %02x", data));
521   sc499_dack_w(&device->machine(), data);
521   sc499_dack_w(&space.machine(), data);
522522
523523   // hack for DN3000: select appropriate DMA channel No.
524524   // Note: too late for this byte, but next bytes will be ok
r18055r18056
526526}
527527
528528static READ8_DEVICE_HANDLER( apollo_dma8237_fdc_dack_r ) {
529   UINT8 data = pc_fdc_dack_r(device->machine(), space);
529   UINT8 data = pc_fdc_dack_r(space.machine(), space);
530530   //  DLOG2(("dma fdc dack read %02x",data));
531531
532532   // hack for DN3000: select appropriate DMA channel No.
r18055r18056
537537
538538static WRITE8_DEVICE_HANDLER( apollo_dma8237_fdc_dack_w ) {
539539   // DLOG2(("dma fdc dack write %02x", data));
540   pc_fdc_dack_w(device->machine(), space, data);
540   pc_fdc_dack_w(space.machine(), space, data);
541541
542542   // hack for DN3000: select appropriate DMA channel No.
543543   // Note: too late for this byte, but next bytes will be ok
trunk/src/mess/machine/sym1.c
r18055r18056
8282
8383static READ8_DEVICE_HANDLER(sym1_riot_a_r)
8484{
85   sym1_state *state = device->machine().driver_data<sym1_state>();
85   sym1_state *state = space.machine().driver_data<sym1_state>();
8686   int data = 0x7f;
8787
8888   /* scan keypad rows */
89   if (!(state->m_riot_port_a & 0x80)) data &= device->machine().root_device().ioport("ROW-0")->read();
90   if (!(state->m_riot_port_b & 0x01)) data &= device->machine().root_device().ioport("ROW-1")->read();
91   if (!(state->m_riot_port_b & 0x02)) data &= device->machine().root_device().ioport("ROW-2")->read();
92   if (!(state->m_riot_port_b & 0x04)) data &= device->machine().root_device().ioport("ROW-3")->read();
89   if (!(state->m_riot_port_a & 0x80)) data &= space.machine().root_device().ioport("ROW-0")->read();
90   if (!(state->m_riot_port_b & 0x01)) data &= space.machine().root_device().ioport("ROW-1")->read();
91   if (!(state->m_riot_port_b & 0x02)) data &= space.machine().root_device().ioport("ROW-2")->read();
92   if (!(state->m_riot_port_b & 0x04)) data &= space.machine().root_device().ioport("ROW-3")->read();
9393
9494   /* determine column */
9595   if ( ((state->m_riot_port_a ^ 0xff) & (state->ioport("ROW-0")->read() ^ 0xff)) & 0x7f )
r18055r18056
101101
102102static READ8_DEVICE_HANDLER(sym1_riot_b_r)
103103{
104   sym1_state *state = device->machine().driver_data<sym1_state>();
104   sym1_state *state = space.machine().driver_data<sym1_state>();
105105   int data = 0xff;
106106
107107   /* determine column */
108   if ( ((state->m_riot_port_a ^ 0xff) & (device->machine().root_device().ioport("ROW-1")->read() ^ 0xff)) & 0x7f )
108   if ( ((state->m_riot_port_a ^ 0xff) & (space.machine().root_device().ioport("ROW-1")->read() ^ 0xff)) & 0x7f )
109109      data &= ~0x01;
110110
111   if ( ((state->m_riot_port_a ^ 0xff) & (device->machine().root_device().ioport("ROW-2")->read() ^ 0xff)) & 0x3f )
111   if ( ((state->m_riot_port_a ^ 0xff) & (space.machine().root_device().ioport("ROW-2")->read() ^ 0xff)) & 0x3f )
112112      data &= ~0x02;
113113
114114   if ( ((state->m_riot_port_a ^ 0xff) & (state->ioport("ROW-3")->read() ^ 0xff)) & 0x1f )
r18055r18056
122122
123123static WRITE8_DEVICE_HANDLER(sym1_riot_a_w)
124124{
125   sym1_state *state = device->machine().driver_data<sym1_state>();
126   logerror("%x: riot_a_w 0x%02x\n", device->machine().device("maincpu") ->safe_pc( ), data);
125   sym1_state *state = space.machine().driver_data<sym1_state>();
126   logerror("%x: riot_a_w 0x%02x\n", space.machine().device("maincpu") ->safe_pc( ), data);
127127
128128   /* save for later use */
129129   state->m_riot_port_a = data;
r18055r18056
132132
133133static WRITE8_DEVICE_HANDLER(sym1_riot_b_w)
134134{
135   sym1_state *state = device->machine().driver_data<sym1_state>();
136   logerror("%x: riot_b_w 0x%02x\n", device->machine().device("maincpu") ->safe_pc( ), data);
135   sym1_state *state = space.machine().driver_data<sym1_state>();
136   logerror("%x: riot_b_w 0x%02x\n", space.machine().device("maincpu") ->safe_pc( ), data);
137137
138138   /* save for later use */
139139   state->m_riot_port_b = data;
140140
141141   /* first 4 pins are connected to the 74145 */
142   device->machine().device<ttl74145_device>("ttl74145")->write(data & 0x0f);
142   space.machine().device<ttl74145_device>("ttl74145")->write(data & 0x0f);
143143}
144144
145145
r18055r18056
186186
187187static WRITE8_DEVICE_HANDLER( sym1_via0_b_w )
188188{
189   logerror("%s: via0_b_w 0x%02x\n", device->machine().describe_context(), data);
189   logerror("%s: via0_b_w 0x%02x\n", space.machine().describe_context(), data);
190190}
191191
192192
r18055r18056
197197 */
198198static WRITE8_DEVICE_HANDLER( sym1_via2_a_w )
199199{
200   address_space &cpu0space = device->machine().device( "maincpu")->memory().space( AS_PROGRAM );
200   address_space &cpu0space = space.machine().device( "maincpu")->memory().space( AS_PROGRAM );
201201
202202   logerror("SYM1 VIA2 W 0x%02x\n", data);
203203
204   if ((device->machine().root_device().ioport("WP")->read() & 0x01) && !(data & 0x01)) {
204   if ((space.machine().root_device().ioport("WP")->read() & 0x01) && !(data & 0x01)) {
205205      cpu0space.nop_write(0xa600, 0xa67f);
206206   } else {
207207      cpu0space.install_write_bank(0xa600, 0xa67f, "bank5");
208208   }
209   if ((device->machine().root_device().ioport("WP")->read() & 0x02) && !(data & 0x02)) {
209   if ((space.machine().root_device().ioport("WP")->read() & 0x02) && !(data & 0x02)) {
210210      cpu0space.nop_write(0x0400, 0x07ff);
211211   } else {
212212      cpu0space.install_write_bank(0x0400, 0x07ff, "bank2");
213213   }
214   if ((device->machine().root_device().ioport("WP")->read() & 0x04) && !(data & 0x04)) {
214   if ((space.machine().root_device().ioport("WP")->read() & 0x04) && !(data & 0x04)) {
215215      cpu0space.nop_write(0x0800, 0x0bff);
216216   } else {
217217      cpu0space.install_write_bank(0x0800, 0x0bff, "bank3");
218218   }
219   if ((device->machine().root_device().ioport("WP")->read() & 0x08) && !(data & 0x08)) {
219   if ((space.machine().root_device().ioport("WP")->read() & 0x08) && !(data & 0x08)) {
220220      cpu0space.nop_write(0x0c00, 0x0fff);
221221   } else {
222222      cpu0space.install_write_bank(0x0c00, 0x0fff, "bank4");
trunk/src/mess/machine/kaypro.c
r18055r18056
242242   else
243243   if (offset == 1)
244244//      return z80sio_d_r(device, 1);
245      return kay_kbd_d_r(device->machine());
245      return kay_kbd_d_r(space.machine());
246246   else
247247   if (offset == 2)
248248      return dynamic_cast<z80sio_device*>(device)->control_read(0);
249249   else
250250//      return z80sio_c_r(device, 1);
251      return kay_kbd_c_r(device->machine());
251      return kay_kbd_c_r(space.machine());
252252}
253253
254254WRITE8_DEVICE_HANDLER( kaypro_sio_w )
r18055r18056
258258   else
259259   if (offset == 1)
260260//      z80sio_d_w(device, 1, data);
261      kay_kbd_d_w(device->machine(), data);
261      kay_kbd_d_w(space.machine(), data);
262262   else
263263   if (offset == 2)
264264      dynamic_cast<z80sio_device*>(device)->control_write(0, data);
trunk/src/mess/machine/pc_lpt.c
r18055r18056
137137{
138138   pc_lpt_state *lpt = get_safe_token(device);
139139   // pull up mechanism for input lines, zeros are provided by pheripherial
140   return lpt->data & ~lpt->centronics->read(device->machine().driver_data()->generic_space(), 0);
140   return lpt->data & ~lpt->centronics->read(space.machine().driver_data()->generic_space(), 0);
141141}
142142
143143
r18055r18056
145145{
146146   pc_lpt_state *lpt = get_safe_token(device);
147147   lpt->data = data;
148   lpt->centronics->write(device->machine().driver_data()->generic_space(), 0, data);
148   lpt->centronics->write(space.machine().driver_data()->generic_space(), 0, data);
149149}
150150
151151
trunk/src/mess/machine/s3c44b0.c
r18055r18056
346346      }
347347      break;
348348   }
349//  verboselog( device->machine(), 9, "(LCD) %08X -> %08X\n", S3C44B0_BASE_LCD + (offset << 2), data);
349//  verboselog( space.machine(), 9, "(LCD) %08X -> %08X\n", S3C44B0_BASE_LCD + (offset << 2), data);
350350   return data;
351351}
352352
r18055r18056
442442{
443443   s3c44b0_lcd_t *lcd = &(get_token( device)->lcd);
444444   UINT32 old_value = ((UINT32*)&lcd->regs)[offset];
445//  verboselog( device->machine(), 9, "(LCD) %08X <- %08X\n", S3C44B0_BASE_LCD + (offset << 2), data);
445//  verboselog( space.machine(), 9, "(LCD) %08X <- %08X\n", S3C44B0_BASE_LCD + (offset << 2), data);
446446   COMBINE_DATA(&((UINT32*)&lcd->regs)[offset]);
447447   switch (offset)
448448   {
r18055r18056
474474{
475475   s3c44b0_t *s3c44b0 = get_token( device);
476476   UINT32 data = ((UINT32*)&s3c44b0->clkpow.regs)[offset];
477   verboselog( device->machine(), 9, "(CLKPOW) %08X -> %08X\n", S3C44B0_BASE_CLKPOW + (offset << 2), data);
477   verboselog( space.machine(), 9, "(CLKPOW) %08X -> %08X\n", S3C44B0_BASE_CLKPOW + (offset << 2), data);
478478   return data;
479479}
480480
481481static WRITE32_DEVICE_HANDLER( s3c44b0_clkpow_w )
482482{
483483   s3c44b0_t *s3c44b0 = get_token( device);
484   verboselog( device->machine(), 9, "(CLKPOW) %08X <- %08X\n", S3C44B0_BASE_CLKPOW + (offset << 2), data);
484   verboselog( space.machine(), 9, "(CLKPOW) %08X <- %08X\n", S3C44B0_BASE_CLKPOW + (offset << 2), data);
485485   COMBINE_DATA(&((UINT32*)&s3c44b0->clkpow.regs)[offset]);
486486   switch (offset)
487487   {
488488      case S3C44B0_PLLCON :
489489      {
490         verboselog( device->machine(), 5, "CLKPOW - mclk %d\n", s3c44b0_get_mclk( device));
490         verboselog( space.machine(), 5, "CLKPOW - mclk %d\n", s3c44b0_get_mclk( device));
491491         s3c44b0->cpu->set_unscaled_clock( s3c44b0_get_mclk( device) * CLOCK_MULTIPLIER);
492492      }
493493      break;
r18055r18056
602602{
603603   s3c44b0_t *s3c44b0 = get_token( device);
604604   UINT32 data = ((UINT32*)&s3c44b0->irq.regs)[offset];
605   verboselog( device->machine(), 9, "(IRQ) %08X -> %08X\n", S3C44B0_BASE_INT + (offset << 2), data);
605   verboselog( space.machine(), 9, "(IRQ) %08X -> %08X\n", S3C44B0_BASE_INT + (offset << 2), data);
606606   return data;
607607}
608608
609609static WRITE32_DEVICE_HANDLER( s3c44b0_irq_w )
610610{
611611   s3c44b0_t *s3c44b0 = get_token( device);
612   verboselog( device->machine(), 9, "(IRQ) %08X <- %08X\n", S3C44B0_BASE_INT + (offset << 2), data);
612   verboselog( space.machine(), 9, "(IRQ) %08X <- %08X\n", S3C44B0_BASE_INT + (offset << 2), data);
613613   COMBINE_DATA(&((UINT32*)&s3c44b0->irq.regs)[offset]);
614614   switch (offset)
615615   {
r18055r18056
688688      }
689689      break;
690690   }
691   verboselog( device->machine(), 9, "(PWM) %08X -> %08X\n", S3C44B0_BASE_PWM + (offset << 2), data);
691   verboselog( space.machine(), 9, "(PWM) %08X -> %08X\n", S3C44B0_BASE_PWM + (offset << 2), data);
692692   return data;
693693}
694694
r18055r18056
818818{
819819   s3c44b0_t *s3c44b0 = get_token( device);
820820   UINT32 old_value = ((UINT32*)&s3c44b0->pwm.regs)[offset];
821   verboselog( device->machine(), 9, "(PWM) %08X <- %08X\n", S3C44B0_BASE_PWM + (offset << 2), data);
821   verboselog( space.machine(), 9, "(PWM) %08X <- %08X\n", S3C44B0_BASE_PWM + (offset << 2), data);
822822   COMBINE_DATA(&((UINT32*)&s3c44b0->pwm.regs)[offset]);
823823   switch (offset)
824824   {
r18055r18056
10091009      }
10101010      break;
10111011   }
1012   verboselog( device->machine(), 9, "(IIC) %08X -> %08X\n", S3C44B0_BASE_IIC + (offset << 2), data);
1012   verboselog( space.machine(), 9, "(IIC) %08X -> %08X\n", S3C44B0_BASE_IIC + (offset << 2), data);
10131013   return data;
10141014}
10151015
r18055r18056
10171017{
10181018   s3c44b0_t *s3c44b0 = get_token( device);
10191019   UINT32 old_value = ((UINT32*)&s3c44b0->iic.regs)[offset];
1020   verboselog( device->machine(), 9, "(IIC) %08X <- %08X\n", S3C44B0_BASE_IIC + (offset << 2), data);
1020   verboselog( space.machine(), 9, "(IIC) %08X <- %08X\n", S3C44B0_BASE_IIC + (offset << 2), data);
10211021   COMBINE_DATA(&((UINT32*)&s3c44b0->iic.regs)[offset]);
10221022   switch (offset)
10231023   {
r18055r18056
11761176      }
11771177      break;
11781178   }
1179   verboselog( device->machine(), 9, "(GPIO) %08X -> %08X\n", S3C44B0_BASE_GPIO + (offset << 2), data);
1179   verboselog( space.machine(), 9, "(GPIO) %08X -> %08X\n", S3C44B0_BASE_GPIO + (offset << 2), data);
11801180   return data;
11811181}
11821182
r18055r18056
11841184{
11851185   s3c44b0_t *s3c44b0 = get_token( device);
11861186   UINT32 old_value = ((UINT32*)&s3c44b0->gpio.regs)[offset];
1187   verboselog( device->machine(), 9, "(GPIO) %08X <- %08X\n", S3C44B0_BASE_GPIO + (offset << 2), data);
1187   verboselog( space.machine(), 9, "(GPIO) %08X <- %08X\n", S3C44B0_BASE_GPIO + (offset << 2), data);
11881188   COMBINE_DATA(&((UINT32*)&s3c44b0->gpio.regs)[offset]);
11891189   switch (offset)
11901190   {
r18055r18056
12871287static READ32_DEVICE_HANDLER( s3c44b0_uart_0_r )
12881288{
12891289   UINT32 data = s3c44b0_uart_r( device, 0, offset);
1290//  verboselog( device->machine(), 9, "(UART 0) %08X -> %08X\n", S3C44B0_BASE_UART_0 + (offset << 2), data);
1290//  verboselog( space.machine(), 9, "(UART 0) %08X -> %08X\n", S3C44B0_BASE_UART_0 + (offset << 2), data);
12911291   return data;
12921292}
12931293
12941294static READ32_DEVICE_HANDLER( s3c44b0_uart_1_r )
12951295{
12961296   UINT32 data = s3c44b0_uart_r( device, 1, offset);
1297//  verboselog( device->machine(), 9, "(UART 1) %08X -> %08X\n", S3C44B0_BASE_UART_1 + (offset << 2), data);
1297//  verboselog( space.machine(), 9, "(UART 1) %08X -> %08X\n", S3C44B0_BASE_UART_1 + (offset << 2), data);
12981298   return data;
12991299}
13001300
13011301static WRITE32_DEVICE_HANDLER( s3c44b0_uart_0_w )
13021302{
1303   verboselog( device->machine(), 9, "(UART 0) %08X <- %08X (%08X)\n", S3C44B0_BASE_UART_0 + (offset << 2), data, mem_mask);
1303   verboselog( space.machine(), 9, "(UART 0) %08X <- %08X (%08X)\n", S3C44B0_BASE_UART_0 + (offset << 2), data, mem_mask);
13041304   s3c44b0_uart_w( device, 0, offset, data, mem_mask);
13051305}
13061306
13071307static WRITE32_DEVICE_HANDLER( s3c44b0_uart_1_w )
13081308{
1309   verboselog( device->machine(), 9, "(UART 1) %08X <- %08X (%08X)\n", S3C44B0_BASE_UART_1 + (offset << 2), data, mem_mask);
1309   verboselog( space.machine(), 9, "(UART 1) %08X <- %08X (%08X)\n", S3C44B0_BASE_UART_1 + (offset << 2), data, mem_mask);
13101310   s3c44b0_uart_w( device, 1, offset, data, mem_mask);
13111311}
13121312
r18055r18056
13551355      }
13561356      break;
13571357   }
1358   verboselog( device->machine(), 9, "(WDT) %08X -> %08X\n", S3C44B0_BASE_WDT + (offset << 2), data);
1358   verboselog( space.machine(), 9, "(WDT) %08X -> %08X\n", S3C44B0_BASE_WDT + (offset << 2), data);
13591359   return data;
13601360}
13611361
r18055r18056
13991399{
14001400   s3c44b0_t *s3c44b0 = get_token( device);
14011401   UINT32 old_value = ((UINT32*)&s3c44b0->wdt.regs)[offset];
1402   verboselog( device->machine(), 9, "(WDT) %08X <- %08X\n", S3C44B0_BASE_WDT + (offset << 2), data);
1402   verboselog( space.machine(), 9, "(WDT) %08X <- %08X\n", S3C44B0_BASE_WDT + (offset << 2), data);
14031403   COMBINE_DATA(&((UINT32*)&s3c44b0->wdt.regs)[offset]);
14041404   switch (offset)
14051405   {
r18055r18056
14351435{
14361436   s3c44b0_t *s3c44b0 = get_token( device);
14371437   UINT32 data = ((UINT32*)&s3c44b0->cpuwrap.regs)[offset];
1438   verboselog( device->machine(), 9, "(CPUWRAP) %08X -> %08X\n", S3C44B0_BASE_CPU_WRAPPER + (offset << 2), data);
1438   verboselog( space.machine(), 9, "(CPUWRAP) %08X -> %08X\n", S3C44B0_BASE_CPU_WRAPPER + (offset << 2), data);
14391439   return data;
14401440}
14411441
14421442static WRITE32_DEVICE_HANDLER( s3c44b0_cpuwrap_w )
14431443{
14441444   s3c44b0_t *s3c44b0 = get_token( device);
1445   verboselog( device->machine(), 9, "(CPUWRAP) %08X <- %08X\n", S3C44B0_BASE_CPU_WRAPPER + (offset << 2), data);
1445   verboselog( space.machine(), 9, "(CPUWRAP) %08X <- %08X\n", S3C44B0_BASE_CPU_WRAPPER + (offset << 2), data);
14461446   COMBINE_DATA(&((UINT32*)&s3c44b0->cpuwrap.regs)[offset]);
14471447}
14481448
r18055r18056
14521452{
14531453   s3c44b0_t *s3c44b0 = get_token( device);
14541454   UINT32 data = ((UINT32*)&s3c44b0->adc.regs)[offset];
1455   verboselog( device->machine(), 9, "(ADC) %08X -> %08X\n", S3C44B0_BASE_ADC + (offset << 2), data);
1455   verboselog( space.machine(), 9, "(ADC) %08X -> %08X\n", S3C44B0_BASE_ADC + (offset << 2), data);
14561456   return data;
14571457}
14581458
r18055r18056
14941494{
14951495   s3c44b0_t *s3c44b0 = get_token( device);
14961496   UINT32 old_value = ((UINT32*)&s3c44b0->wdt.regs)[offset];
1497   verboselog( device->machine(), 9, "(ADC) %08X <- %08X\n", S3C44B0_BASE_ADC + (offset << 2), data);
1497   verboselog( space.machine(), 9, "(ADC) %08X <- %08X\n", S3C44B0_BASE_ADC + (offset << 2), data);
14981498   COMBINE_DATA(&((UINT32*)&s3c44b0->adc.regs)[offset]);
14991499   switch (offset)
15001500   {
r18055r18056
15251525{
15261526   s3c44b0_t *s3c44b0 = get_token( device);
15271527   UINT32 data = ((UINT32*)&s3c44b0->sio.regs)[offset];
1528   verboselog( device->machine(), 9, "(SIO) %08X -> %08X\n", S3C44B0_BASE_SIO + (offset << 2), data);
1528   verboselog( space.machine(), 9, "(SIO) %08X -> %08X\n", S3C44B0_BASE_SIO + (offset << 2), data);
15291529   return data;
15301530}
15311531
r18055r18056
15691569{
15701570   s3c44b0_t *s3c44b0 = get_token( device);
15711571   UINT32 old_value = ((UINT32*)&s3c44b0->sio.regs)[offset];
1572   verboselog( device->machine(), 9, "(SIO) %08X <- %08X\n", S3C44B0_BASE_SIO + (offset << 2), data);
1572   verboselog( space.machine(), 9, "(SIO) %08X <- %08X\n", S3C44B0_BASE_SIO + (offset << 2), data);
15731573   COMBINE_DATA(&((UINT32*)&s3c44b0->sio.regs)[offset]);
15741574   switch (offset)
15751575   {
r18055r18056
16371637{
16381638   s3c44b0_t *s3c44b0 = get_token( device);
16391639   UINT32 data = ((UINT32*)&s3c44b0->iis.regs)[offset];
1640   verboselog( device->machine(), 9, "(IIS) %08X -> %08X\n", S3C44B0_BASE_IIS + (offset << 2), data);
1640   verboselog( space.machine(), 9, "(IIS) %08X -> %08X\n", S3C44B0_BASE_IIS + (offset << 2), data);
16411641   return data;
16421642}
16431643
r18055r18056
16451645{
16461646   s3c44b0_t *s3c44b0 = get_token( device);
16471647   UINT32 old_value = ((UINT32*)&s3c44b0->iis.regs)[offset];
1648   verboselog( device->machine(), 9, "(IIS) %08X <- %08X\n", S3C44B0_BASE_IIS + (offset << 2), data);
1648   verboselog( space.machine(), 9, "(IIS) %08X <- %08X\n", S3C44B0_BASE_IIS + (offset << 2), data);
16491649   COMBINE_DATA(&((UINT32*)&s3c44b0->iis.regs)[offset]);
16501650   switch (offset)
16511651   {
r18055r18056
17931793static READ32_DEVICE_HANDLER( s3c44b0_zdma_0_r )
17941794{
17951795   UINT32 data = s3c44b0_zdma_r( device, 0, offset);
1796   verboselog( device->machine(), 9, "(ZDMA 0) %08X -> %08X\n", S3C44B0_BASE_ZDMA_0 + (offset << 2), data);
1796   verboselog( space.machine(), 9, "(ZDMA 0) %08X -> %08X\n", S3C44B0_BASE_ZDMA_0 + (offset << 2), data);
17971797   return data;
17981798}
17991799
18001800static READ32_DEVICE_HANDLER( s3c44b0_zdma_1_r )
18011801{
18021802   UINT32 data = s3c44b0_zdma_r( device, 1, offset);
1803   verboselog( device->machine(), 9, "(ZDMA 1) %08X -> %08X\n", S3C44B0_BASE_ZDMA_1 + (offset << 2), data);
1803   verboselog( space.machine(), 9, "(ZDMA 1) %08X -> %08X\n", S3C44B0_BASE_ZDMA_1 + (offset << 2), data);
18041804   return data;
18051805}
18061806
18071807static WRITE32_DEVICE_HANDLER( s3c44b0_zdma_0_w )
18081808{
1809   verboselog( device->machine(), 9, "(ZDMA 0) %08X <- %08X (%08X)\n", S3C44B0_BASE_ZDMA_0 + (offset << 2), data, mem_mask);
1809   verboselog( space.machine(), 9, "(ZDMA 0) %08X <- %08X (%08X)\n", S3C44B0_BASE_ZDMA_0 + (offset << 2), data, mem_mask);
18101810   s3c44b0_zdma_w( device, 0, offset, data, mem_mask);
18111811}
18121812
18131813static WRITE32_DEVICE_HANDLER( s3c44b0_zdma_1_w )
18141814{
1815   verboselog( device->machine(), 9, "(ZDMA 1) %08X <- %08X (%08X)\n", S3C44B0_BASE_ZDMA_1 + (offset << 2), data, mem_mask);
1815   verboselog( space.machine(), 9, "(ZDMA 1) %08X <- %08X (%08X)\n", S3C44B0_BASE_ZDMA_1 + (offset << 2), data, mem_mask);
18161816   s3c44b0_zdma_w( device, 1, offset, data, mem_mask);
18171817}
18181818
r18055r18056
19421942static READ32_DEVICE_HANDLER( s3c44b0_bdma_0_r )
19431943{
19441944   UINT32 data = s3c44b0_bdma_r( device, 0, offset);
1945   verboselog( device->machine(), 9, "(BDMA 0) %08X -> %08X\n", S3C44B0_BASE_BDMA_0 + (offset << 2), data);
1945   verboselog( space.machine(), 9, "(BDMA 0) %08X -> %08X\n", S3C44B0_BASE_BDMA_0 + (offset << 2), data);
19461946   return data;
19471947}
19481948
19491949static READ32_DEVICE_HANDLER( s3c44b0_bdma_1_r )
19501950{
19511951   UINT32 data = s3c44b0_bdma_r( device, 1, offset);
1952   verboselog( device->machine(), 9, "(BDMA 1) %08X -> %08X\n", S3C44B0_BASE_BDMA_1 + (offset << 2), data);
1952   verboselog( space.machine(), 9, "(BDMA 1) %08X -> %08X\n", S3C44B0_BASE_BDMA_1 + (offset << 2), data);
19531953   return data;
19541954}
19551955
19561956static WRITE32_DEVICE_HANDLER( s3c44b0_bdma_0_w )
19571957{
1958   verboselog( device->machine(), 9, "(BDMA 0) %08X <- %08X (%08X)\n", S3C44B0_BASE_BDMA_0 + (offset << 2), data, mem_mask);
1958   verboselog( space.machine(), 9, "(BDMA 0) %08X <- %08X (%08X)\n", S3C44B0_BASE_BDMA_0 + (offset << 2), data, mem_mask);
19591959   s3c44b0_bdma_w( device, 0, offset, data, mem_mask);
19601960}
19611961
19621962static WRITE32_DEVICE_HANDLER( s3c44b0_bdma_1_w )
19631963{
1964   verboselog( device->machine(), 9, "(BDMA 1) %08X <- %08X (%08X)\n", S3C44B0_BASE_BDMA_1 + (offset << 2), data, mem_mask);
1964   verboselog( space.machine(), 9, "(BDMA 1) %08X <- %08X (%08X)\n", S3C44B0_BASE_BDMA_1 + (offset << 2), data, mem_mask);
19651965   s3c44b0_bdma_w( device, 1, offset, data, mem_mask);
19661966}
19671967
trunk/src/mess/machine/mc68328.c
r18055r18056
416416        case 0x000:
417417            if( mem_mask & 0x00ff )
418418            {
419                verboselog(device->machine(), 2, "mc68328_w: Unknown address (0xfff001) = %02x\n", data & 0x00ff);
419                verboselog(space.machine(), 2, "mc68328_w: Unknown address (0xfff001) = %02x\n", data & 0x00ff);
420420            }
421421            else
422422            {
423                verboselog(device->machine(), 2, "mc68328_w: SCR = %02x\n", (data >> 8) & 0x00ff);
423                verboselog(space.machine(), 2, "mc68328_w: SCR = %02x\n", (data >> 8) & 0x00ff);
424424            }
425425            break;
426426
427427        case 0x100:
428            verboselog(device->machine(), 2, "mc68328_w: GRPBASEA = %04x\n", data);
428            verboselog(space.machine(), 2, "mc68328_w: GRPBASEA = %04x\n", data);
429429            mc68328->regs.grpbasea = data;
430430            break;
431431
432432        case 0x102:
433            verboselog(device->machine(), 2, "mc68328_w: GRPBASEB = %04x\n", data);
433            verboselog(space.machine(), 2, "mc68328_w: GRPBASEB = %04x\n", data);
434434            mc68328->regs.grpbaseb = data;
435435            break;
436436
437437        case 0x104:
438            verboselog(device->machine(), 2, "mc68328_w: GRPBASEC = %04x\n", data);
438            verboselog(space.machine(), 2, "mc68328_w: GRPBASEC = %04x\n", data);
439439            mc68328->regs.grpbasec = data;
440440            break;
441441
442442        case 0x106:
443            verboselog(device->machine(), 2, "mc68328_w: GRPBASED = %04x\n", data);
443            verboselog(space.machine(), 2, "mc68328_w: GRPBASED = %04x\n", data);
444444            mc68328->regs.grpbased = data;
445445            break;
446446
447447        case 0x108:
448            verboselog(device->machine(), 2, "mc68328_w: GRPMASKA = %04x\n", data);
448            verboselog(space.machine(), 2, "mc68328_w: GRPMASKA = %04x\n", data);
449449            mc68328->regs.grpmaska = data;
450450            break;
451451
452452        case 0x10a:
453            verboselog(device->machine(), 2, "mc68328_w: GRPMASKB = %04x\n", data);
453            verboselog(space.machine(), 2, "mc68328_w: GRPMASKB = %04x\n", data);
454454            mc68328->regs.grpmaskb = data;
455455            break;
456456
457457        case 0x10c:
458            verboselog(device->machine(), 2, "mc68328_w: GRPMASKC = %04x\n", data);
458            verboselog(space.machine(), 2, "mc68328_w: GRPMASKC = %04x\n", data);
459459            mc68328->regs.grpmaskc = data;
460460            break;
461461
462462        case 0x10e:
463            verboselog(device->machine(), 2, "mc68328_w: GRPMASKD = %04x\n", data);
463            verboselog(space.machine(), 2, "mc68328_w: GRPMASKD = %04x\n", data);
464464            mc68328->regs.grpmaskd = data;
465465            break;
466466
467467        case 0x110:
468            verboselog(device->machine(), 5, "mc68328_w: CSA0(0) = %04x\n", data);
468            verboselog(space.machine(), 5, "mc68328_w: CSA0(0) = %04x\n", data);
469469            mc68328->regs.csa0 &= 0xffff0000 | (~mem_mask);
470470            mc68328->regs.csa0 |= data & mem_mask;
471471            break;
472472
473473        case 0x112:
474            verboselog(device->machine(), 5, "mc68328_w: CSA0(16) = %04x\n", data);
474            verboselog(space.machine(), 5, "mc68328_w: CSA0(16) = %04x\n", data);
475475            mc68328->regs.csa0 &= ~(mem_mask << 16);
476476            mc68328->regs.csa0 |= (data & mem_mask) << 16;
477477            break;
478478
479479        case 0x114:
480            verboselog(device->machine(), 5, "mc68328_w: CSA1(0) = %04x\n", data);
480            verboselog(space.machine(), 5, "mc68328_w: CSA1(0) = %04x\n", data);
481481            mc68328->regs.csa1 &= 0xffff0000 | (~mem_mask);
482482            mc68328->regs.csa1 |= data & mem_mask;
483483            break;
484484
485485        case 0x116:
486            verboselog(device->machine(), 5, "mc68328_w: CSA1(16) = %04x\n", data);
486            verboselog(space.machine(), 5, "mc68328_w: CSA1(16) = %04x\n", data);
487487            mc68328->regs.csa1 &= ~(mem_mask << 16);
488488            mc68328->regs.csa1 |= (data & mem_mask) << 16;
489489            break;
490490
491491        case 0x118:
492            verboselog(device->machine(), 5, "mc68328_w: CSA2(0) = %04x\n", data);
492            verboselog(space.machine(), 5, "mc68328_w: CSA2(0) = %04x\n", data);
493493            mc68328->regs.csa2 &= 0xffff0000 | (~mem_mask);
494494            mc68328->regs.csa2 |= data & mem_mask;
495495            break;
496496
497497        case 0x11a:
498            verboselog(device->machine(), 5, "mc68328_w: CSA2(16) = %04x\n", data);
498            verboselog(space.machine(), 5, "mc68328_w: CSA2(16) = %04x\n", data);
499499            mc68328->regs.csa2 &= ~(mem_mask << 16);
500500            mc68328->regs.csa2 |= (data & mem_mask) << 16;
501501            break;
502502
503503        case 0x11c:
504            verboselog(device->machine(), 5, "mc68328_w: CSA3(0) = %04x\n", data);
504            verboselog(space.machine(), 5, "mc68328_w: CSA3(0) = %04x\n", data);
505505            mc68328->regs.csa3 &= 0xffff0000 | (~mem_mask);
506506            mc68328->regs.csa3 |= data & mem_mask;
507507            break;
508508
509509        case 0x11e:
510            verboselog(device->machine(), 5, "mc68328_w: CSA3(16) = %04x\n", data);
510            verboselog(space.machine(), 5, "mc68328_w: CSA3(16) = %04x\n", data);
511511            mc68328->regs.csa3 &= ~(mem_mask << 16);
512512            mc68328->regs.csa3 |= (data & mem_mask) << 16;
513513            break;
514514
515515        case 0x120:
516            verboselog(device->machine(), 5, "mc68328_w: CSB0(0) = %04x\n", data);
516            verboselog(space.machine(), 5, "mc68328_w: CSB0(0) = %04x\n", data);
517517            mc68328->regs.csb0 &= 0xffff0000 | (~mem_mask);
518518            mc68328->regs.csb0 |= data & mem_mask;
519519            break;
520520
521521        case 0x122:
522            verboselog(device->machine(), 5, "mc68328_w: CSB0(16) = %04x\n", data);
522            verboselog(space.machine(), 5, "mc68328_w: CSB0(16) = %04x\n", data);
523523            mc68328->regs.csb0 &= ~(mem_mask << 16);
524524            mc68328->regs.csb0 |= (data & mem_mask) << 16;
525525            break;
526526
527527        case 0x124:
528            verboselog(device->machine(), 5, "mc68328_w: CSB1(0) = %04x\n", data);
528            verboselog(space.machine(), 5, "mc68328_w: CSB1(0) = %04x\n", data);
529529            mc68328->regs.csb1 &= 0xffff0000 | (~mem_mask);
530530            mc68328->regs.csb1 |= data & mem_mask;
531531            break;
532532
533533        case 0x126:
534            verboselog(device->machine(), 5, "mc68328_w: CSB1(16) = %04x\n", data);
534            verboselog(space.machine(), 5, "mc68328_w: CSB1(16) = %04x\n", data);
535535            mc68328->regs.csb1 &= ~(mem_mask << 16);
536536            mc68328->regs.csb1 |= (data & mem_mask) << 16;
537537            break;
538538
539539        case 0x128:
540            verboselog(device->machine(), 5, "mc68328_w: CSB2(0) = %04x\n", data);
540            verboselog(space.machine(), 5, "mc68328_w: CSB2(0) = %04x\n", data);
541541            mc68328->regs.csb2 &= 0xffff0000 | (~mem_mask);
542542            mc68328->regs.csb2 |= data & mem_mask;
543543            break;
544544
545545        case 0x12a:
546            verboselog(device->machine(), 5, "mc68328_w: CSB2(16) = %04x\n", data);
546            verboselog(space.machine(), 5, "mc68328_w: CSB2(16) = %04x\n", data);
547547            mc68328->regs.csb2 &= ~(mem_mask << 16);
548548            mc68328->regs.csb2 |= (data & mem_mask) << 16;
549549            break;
550550
551551        case 0x12c:
552            verboselog(device->machine(), 5, "mc68328_w: CSB3(0) = %04x\n", data);
552            verboselog(space.machine(), 5, "mc68328_w: CSB3(0) = %04x\n", data);
553553            mc68328->regs.csb3 &= 0xffff0000 | (~mem_mask);
554554            mc68328->regs.csb3 |= data & mem_mask;
555555            break;
556556
557557        case 0x12e:
558            verboselog(device->machine(), 5, "mc68328_w: CSB3(16) = %04x\n", data);
558            verboselog(space.machine(), 5, "mc68328_w: CSB3(16) = %04x\n", data);
559559            mc68328->regs.csb3 &= ~(mem_mask << 16);
560560            mc68328->regs.csb3 |= (data & mem_mask) << 16;
561561            break;
562562
563563        case 0x130:
564            verboselog(device->machine(), 5, "mc68328_w: CSC0(0) = %04x\n", data);
564            verboselog(space.machine(), 5, "mc68328_w: CSC0(0) = %04x\n", data);
565565            mc68328->regs.csc0 &= 0xffff0000 | (~mem_mask);
566566            mc68328->regs.csc0 |= data & mem_mask;
567567            break;
568568
569569        case 0x132:
570            verboselog(device->machine(), 5, "mc68328_w: CSC0(16) = %04x\n", data);
570            verboselog(space.machine(), 5, "mc68328_w: CSC0(16) = %04x\n", data);
571571            mc68328->regs.csc0 &= ~(mem_mask << 16);
572572            mc68328->regs.csc0 |= (data & mem_mask) << 16;
573573            break;
574574
575575        case 0x134:
576            verboselog(device->machine(), 5, "mc68328_w: CSC1(0) = %04x\n", data);
576            verboselog(space.machine(), 5, "mc68328_w: CSC1(0) = %04x\n", data);
577577            mc68328->regs.csc1 &= 0xffff0000 | (~mem_mask);
578578            mc68328->regs.csc1 |= data & mem_mask;
579579            break;
580580
581581        case 0x136:
582            verboselog(device->machine(), 5, "mc68328_w: CSC1(16) = %04x\n", data);
582            verboselog(space.machine(), 5, "mc68328_w: CSC1(16) = %04x\n", data);
583583            mc68328->regs.csc1 &= ~(mem_mask << 16);
584584            mc68328->regs.csc1 |= (data & mem_mask) << 16;
585585            break;
586586
587587        case 0x138:
588            verboselog(device->machine(), 5, "mc68328_w: CSC2(0) = %04x\n", data);
588            verboselog(space.machine(), 5, "mc68328_w: CSC2(0) = %04x\n", data);
589589            mc68328->regs.csc2 &= 0xffff0000 | (~mem_mask);
590590            mc68328->regs.csc2 |= data & mem_mask;
591591            break;
592592
593593        case 0x13a:
594            verboselog(device->machine(), 5, "mc68328_w: CSC2(16) = %04x\n", data);
594            verboselog(space.machine(), 5, "mc68328_w: CSC2(16) = %04x\n", data);
595595            mc68328->regs.csc2 &= ~(mem_mask << 16);
596596            mc68328->regs.csc2 |= (data & mem_mask) << 16;
597597            break;
598598
599599        case 0x13c:
600            verboselog(device->machine(), 5, "mc68328_w: CSC3(0) = %04x\n", data);
600            verboselog(space.machine(), 5, "mc68328_w: CSC3(0) = %04x\n", data);
601601            mc68328->regs.csc3 &= 0xffff0000 | (~mem_mask);
602602            mc68328->regs.csc3 |= data & mem_mask;
603603            break;
604604
605605        case 0x13e:
606            verboselog(device->machine(), 5, "mc68328_w: CSC3(16) = %04x\n", data);
606            verboselog(space.machine(), 5, "mc68328_w: CSC3(16) = %04x\n", data);
607607            mc68328->regs.csc3 &= ~(mem_mask << 16);
608608            mc68328->regs.csc3 |= (data & mem_mask) << 16;
609609            break;
610610
611611        case 0x140:
612            verboselog(device->machine(), 5, "mc68328_w: CSD0(0) = %04x\n", data);
612            verboselog(space.machine(), 5, "mc68328_w: CSD0(0) = %04x\n", data);
613613            mc68328->regs.csd0 &= 0xffff0000 | (~mem_mask);
614614            mc68328->regs.csd0 |= data & mem_mask;
615615            break;
616616
617617        case 0x142:
618            verboselog(device->machine(), 5, "mc68328_w: CSD0(16) = %04x\n", data);
618            verboselog(space.machine(), 5, "mc68328_w: CSD0(16) = %04x\n", data);
619619            mc68328->regs.csd0 &= ~(mem_mask << 16);
620620            mc68328->regs.csd0 |= (data & mem_mask) << 16;
621621            break;
622622
623623        case 0x144:
624            verboselog(device->machine(), 5, "mc68328_w: CSD1(0) = %04x\n", data);
624            verboselog(space.machine(), 5, "mc68328_w: CSD1(0) = %04x\n", data);
625625            mc68328->regs.csd1 &= 0xffff0000 | (~mem_mask);
626626            mc68328->regs.csd1 |= data & mem_mask;
627627            break;
628628
629629        case 0x146:
630            verboselog(device->machine(), 5, "mc68328_w: CSD1(16) = %04x\n", data);
630            verboselog(space.machine(), 5, "mc68328_w: CSD1(16) = %04x\n", data);
631631            mc68328->regs.csd1 &= ~(mem_mask << 16);
632632            mc68328->regs.csd1 |= (data & mem_mask) << 16;
633633            break;
634634
635635        case 0x148:
636            verboselog(device->machine(), 5, "mc68328_w: CSD2(0) = %04x\n", data);
636            verboselog(space.machine(), 5, "mc68328_w: CSD2(0) = %04x\n", data);
637637            mc68328->regs.csd2 &= 0xffff0000 | (~mem_mask);
638638            mc68328->regs.csd2 |= data & mem_mask;
639639            break;
640640
641641        case 0x14a:
642            verboselog(device->machine(), 5, "mc68328_w: CSD2(16) = %04x\n", data);
642            verboselog(space.machine(), 5, "mc68328_w: CSD2(16) = %04x\n", data);
643643            mc68328->regs.csd2 &= ~(mem_mask << 16);
644644            mc68328->regs.csd2 |= (data & mem_mask) << 16;
645645            break;
646646
647647        case 0x14c:
648            verboselog(device->machine(), 5, "mc68328_w: CSD3(0) = %04x\n", data);
648            verboselog(space.machine(), 5, "mc68328_w: CSD3(0) = %04x\n", data);
649649            mc68328->regs.csd3 &= 0xffff0000 | (~mem_mask);
650650            mc68328->regs.csd3 |= data & mem_mask;
651651            break;
652652
653653        case 0x14e:
654            verboselog(device->machine(), 5, "mc68328_w: CSD3(16) = %04x\n", data);
654            verboselog(space.machine(), 5, "mc68328_w: CSD3(16) = %04x\n", data);
655655            mc68328->regs.csd3 &= ~(mem_mask << 16);
656656            mc68328->regs.csd3 |= (data & mem_mask) << 16;
657657            break;
658658
659659        case 0x200:
660            verboselog(device->machine(), 2, "mc68328_w: PLLCR = %04x\n", data);
660            verboselog(space.machine(), 2, "mc68328_w: PLLCR = %04x\n", data);
661661            mc68328->regs.pllcr = data;
662662            break;
663663
664664        case 0x202:
665            verboselog(device->machine(), 2, "mc68328_w: PLLFSR = %04x\n", data);
665            verboselog(space.machine(), 2, "mc68328_w: PLLFSR = %04x\n", data);
666666            mc68328->regs.pllfsr = data;
667667            break;
668668
669669        case 0x206:
670670            if( mem_mask & 0x00ff )
671671            {
672                verboselog(device->machine(), 2, "mc68328_w: PCTLR = %02x\n", data & 0x00ff);
672                verboselog(space.machine(), 2, "mc68328_w: PCTLR = %02x\n", data & 0x00ff);
673673                mc68328->regs.pctlr = data & 0x00ff;
674674            }
675675            else
676676            {
677                verboselog(device->machine(), 2, "mc68328_w: Unknown address (0xfff206) = %02x\n", (data >> 8) & 0x00ff);
677                verboselog(space.machine(), 2, "mc68328_w: Unknown address (0xfff206) = %02x\n", (data >> 8) & 0x00ff);
678678            }
679679            break;
680680
681681        case 0x300:
682682            if( mem_mask & 0x00ff )
683683            {
684                verboselog(device->machine(), 2, "mc68328_w: Unknown address (0xfff301) = %02x\n", data & 0x00ff);
684                verboselog(space.machine(), 2, "mc68328_w: Unknown address (0xfff301) = %02x\n", data & 0x00ff);
685685            }
686686            else
687687            {
688                verboselog(device->machine(), 2, "mc68328_w: IVR = %02x\n", (data >> 8) & 0x00ff);
688                verboselog(space.machine(), 2, "mc68328_w: IVR = %02x\n", (data >> 8) & 0x00ff);
689689                mc68328->regs.ivr = (data >> 8) & 0x00ff;
690690            }
691691            break;
692692
693693        case 0x302:
694            verboselog(device->machine(), 2, "mc68328_w: ICR = %04x\n", data);
694            verboselog(space.machine(), 2, "mc68328_w: ICR = %04x\n", data);
695695            mc68328->regs.icr = data;
696696            break;
697697
698698        case 0x304:
699            verboselog(device->machine(), 2, "mc68328_w: IMR(16) = %04x\n", data);
699            verboselog(space.machine(), 2, "mc68328_w: IMR(16) = %04x\n", data);
700700            mc68328->regs.imr &= ~(mem_mask << 16);
701701            mc68328->regs.imr |= (data & mem_mask) << 16;
702702            mc68328->regs.isr &= ~((data & mem_mask) << 16);
r18055r18056
706706            break;
707707
708708        case 0x306:
709            verboselog(device->machine(), 2, "mc68328_w: IMR(0) = %04x\n", data);
709            verboselog(space.machine(), 2, "mc68328_w: IMR(0) = %04x\n", data);
710710            mc68328->regs.imr &= 0xffff0000 | (~mem_mask);
711711            mc68328->regs.imr |= data & mem_mask;
712712            mc68328->regs.isr &= ~(data & mem_mask);
r18055r18056
717717
718718        case 0x308:
719719        {
720            verboselog(device->machine(), 2, "mc68328_w: IWR(16) = %04x\n", data);
720            verboselog(space.machine(), 2, "mc68328_w: IWR(16) = %04x\n", data);
721721            mc68328->regs.iwr &= ~(mem_mask << 16);
722722            mc68328->regs.iwr |= (data & mem_mask) << 16;
723723        }
724724        break;
725725
726726        case 0x30a:
727            verboselog(device->machine(), 2, "mc68328_w: IWR(0) = %04x\n", data);
727            verboselog(space.machine(), 2, "mc68328_w: IWR(0) = %04x\n", data);
728728            mc68328->regs.iwr &= 0xffff0000 | (~mem_mask);
729729            mc68328->regs.iwr |= data & mem_mask;
730730            break;
731731
732732        case 0x30c:
733            verboselog(device->machine(), 2, "mc68328_w: ISR(16) = %04x\n", data);
733            verboselog(space.machine(), 2, "mc68328_w: ISR(16) = %04x\n", data);
734734            // Clear edge-triggered IRQ1
735735            if((mc68328->regs.icr & ICR_ET1) == ICR_ET1 && (data & INT_IRQ1_SHIFT) == INT_IRQ1_SHIFT)
736736            {
r18055r18056
763763            break;
764764
765765        case 0x30e:
766            verboselog(device->machine(), 2, "mc68328_w: ISR(0) = %04x (Ignored)\n", data);
766            verboselog(space.machine(), 2, "mc68328_w: ISR(0) = %04x (Ignored)\n", data);
767767            break;
768768
769769        case 0x310:
770            verboselog(device->machine(), 2, "mc68328_w: IPR(16) = %04x (Ignored)\n");
770            verboselog(space.machine(), 2, "mc68328_w: IPR(16) = %04x (Ignored)\n");
771771            break;
772772
773773        case 0x312:
774            verboselog(device->machine(), 2, "mc68328_w: IPR(0) = %04x (Ignored)\n");
774            verboselog(space.machine(), 2, "mc68328_w: IPR(0) = %04x (Ignored)\n");
775775            break;
776776
777777        case 0x400:
778778            if( mem_mask & 0x00ff )
779779            {
780                verboselog(device->machine(), 2, "mc68328_w: PADATA = %02x\n", data & 0x00ff);
780                verboselog(space.machine(), 2, "mc68328_w: PADATA = %02x\n", data & 0x00ff);
781781                mc68328->regs.padata = data & 0x00ff;
782782                if(!mc68328->out_port_a.isnull())
783783                {
r18055r18056
786786            }
787787            else
788788            {
789                verboselog(device->machine(), 2, "mc68328_w: PADIR = %02x\n", (data >> 8) & 0x00ff);
789                verboselog(space.machine(), 2, "mc68328_w: PADIR = %02x\n", (data >> 8) & 0x00ff);
790790                mc68328->regs.padir = (data >> 8) & 0x00ff;
791791            }
792792            break;
r18055r18056
794794        case 0x402:
795795            if( mem_mask & 0x00ff )
796796            {
797                verboselog(device->machine(), 2, "mc68328_w: PASEL = %02x\n", data & 0x00ff);
797                verboselog(space.machine(), 2, "mc68328_w: PASEL = %02x\n", data & 0x00ff);
798798                mc68328->regs.pasel = data & 0x00ff;
799799            }
800800            else
801801            {
802                verboselog(device->machine(), 2, "mc68328_w: Unknown address (0xfff402) = %02x\n", (data >> 8) & 0x00ff);
802                verboselog(space.machine(), 2, "mc68328_w: Unknown address (0xfff402) = %02x\n", (data >> 8) & 0x00ff);
803803            }
804804            break;
805805
806806        case 0x408:
807807            if( mem_mask & 0x00ff )
808808            {
809                verboselog(device->machine(), 2, "mc68328_w: PBDATA = %02x\n", data & 0x00ff);
809                verboselog(space.machine(), 2, "mc68328_w: PBDATA = %02x\n", data & 0x00ff);
810810                mc68328->regs.pbdata = data & 0x00ff;
811811                if(!mc68328->out_port_b.isnull())
812812                {
r18055r18056
815815            }
816816            else
817817            {
818                verboselog(device->machine(), 2, "mc68328_w: PBDIR = %02x\n", (data >> 8) & 0x00ff);
818                verboselog(space.machine(), 2, "mc68328_w: PBDIR = %02x\n", (data >> 8) & 0x00ff);
819819                mc68328->regs.pbdir = (data >> 8) & 0x00ff;
820820            }
821821            break;
r18055r18056
823823        case 0x40a:
824824            if( mem_mask & 0x00ff )
825825            {
826                verboselog(device->machine(), 2, "mc68328_w: PBSEL = %02x\n", data & 0x00ff);
826                verboselog(space.machine(), 2, "mc68328_w: PBSEL = %02x\n", data & 0x00ff);
827827                mc68328->regs.pbsel = data & 0x00ff;
828828            }
829829            else
830830            {
831                verboselog(device->machine(), 2, "mc68328_w: Unknown address (0xfff40a) = %02x\n", (data >> 8) & 0x00ff);
831                verboselog(space.machine(), 2, "mc68328_w: Unknown address (0xfff40a) = %02x\n", (data >> 8) & 0x00ff);
832832            }
833833            break;
834834
835835        case 0x410:
836836            if( mem_mask & 0x00ff )
837837            {
838                verboselog(device->machine(), 2, "mc68328_w: PCDATA = %02x\n", data & 0x00ff);
838                verboselog(space.machine(), 2, "mc68328_w: PCDATA = %02x\n", data & 0x00ff);
839839                mc68328->regs.pcdata = data & 0x00ff;
840840                if(!mc68328->out_port_c.isnull())
841841                {
r18055r18056
844844            }
845845            else
846846            {
847                verboselog(device->machine(), 2, "mc68328_w: PCDIR = %02x\n", (data >> 8) & 0x00ff);
847                verboselog(space.machine(), 2, "mc68328_w: PCDIR = %02x\n", (data >> 8) & 0x00ff);
848848                mc68328->regs.pcdir = (data >> 8) & 0x00ff;
849849            }
850850            break;
r18055r18056
852852        case 0x412:
853853            if( mem_mask & 0x00ff )
854854            {
855                verboselog(device->machine(), 2, "mc68328_w: PCSEL = %02x\n", data & 0x00ff);
855                verboselog(space.machine(), 2, "mc68328_w: PCSEL = %02x\n", data & 0x00ff);
856856                mc68328->regs.pcsel = data & 0x00ff;
857857            }
858858            else
859859            {
860                verboselog(device->machine(), 2, "mc68328_w: Unknown address (0xfff412) = %02x\n", (data >> 8) & 0x00ff);
860                verboselog(space.machine(), 2, "mc68328_w: Unknown address (0xfff412) = %02x\n", (data >> 8) & 0x00ff);
861861            }
862862            break;
863863
864864        case 0x418:
865865            if( mem_mask & 0x00ff )
866866            {
867                verboselog(device->machine(), 2, "mc68328_w: PDDATA = %02x\n", data & 0x00ff);
867                verboselog(space.machine(), 2, "mc68328_w: PDDATA = %02x\n", data & 0x00ff);
868868
869869                mc68328->regs.pddataedge &= ~(data & 0x00ff);
870870                mc68328_poll_port_d_interrupts(device);
871871            }
872872            else
873873            {
874                verboselog(device->machine(), 2, "mc68328_w: PDDIR = %02x\n", (data >> 8) & 0x00ff);
874                verboselog(space.machine(), 2, "mc68328_w: PDDIR = %02x\n", (data >> 8) & 0x00ff);
875875                mc68328->regs.pddir = (data >> 8) & 0x00ff;
876876            }
877877            break;
r18055r18056
879879        case 0x41a:
880880            if( mem_mask & 0x00ff )
881881            {
882                verboselog(device->machine(), 2, "mc68328_w: Unknown address (0xfff41b) = %02x\n", data & 0x00ff);
882                verboselog(space.machine(), 2, "mc68328_w: Unknown address (0xfff41b) = %02x\n", data & 0x00ff);
883883            }
884884            else
885885            {
886                verboselog(device->machine(), 2, "mc68328_w: PDPUEN = %02x\n", (data >> 8) & 0x00ff);
886                verboselog(space.machine(), 2, "mc68328_w: PDPUEN = %02x\n", (data >> 8) & 0x00ff);
887887                mc68328->regs.pdpuen = (data >> 8) & 0x00ff;
888888            }
889889            break;
r18055r18056
891891        case 0x41c:
892892            if( mem_mask & 0x00ff )
893893            {
894                verboselog(device->machine(), 2, "mc68328_w: PDIRQEN = %02x\n", data & 0x00ff);
894                verboselog(space.machine(), 2, "mc68328_w: PDIRQEN = %02x\n", data & 0x00ff);
895895                mc68328->regs.pdirqen = data & 0x00ff;
896896
897897                mc68328_poll_port_d_interrupts(device);
898898            }
899899            else
900900            {
901                verboselog(device->machine(), 2, "mc68328_w: PDPOL = %02x\n", (data >> 8) & 0x00ff);
901                verboselog(space.machine(), 2, "mc68328_w: PDPOL = %02x\n", (data >> 8) & 0x00ff);
902902                mc68328->regs.pdpol = (data >> 8) & 0x00ff;
903903            }
904904            break;
r18055r18056
906906        case 0x41e:
907907            if( mem_mask & 0x00ff )
908908            {
909                verboselog(device->machine(), 2, "mc68328_w: PDIRQEDGE = %02x\n", data & 0x00ff);
909                verboselog(space.machine(), 2, "mc68328_w: PDIRQEDGE = %02x\n", data & 0x00ff);
910910                mc68328->regs.pdirqedge = data & 0x00ff;
911911            }
912912            else
913913            {
914                verboselog(device->machine(), 2, "mc68328_w: Unknown address (0xfff41e) = %02x\n", (data >> 8) & 0x00ff);
914                verboselog(space.machine(), 2, "mc68328_w: Unknown address (0xfff41e) = %02x\n", (data >> 8) & 0x00ff);
915915            }
916916            break;
917917
918918        case 0x420:
919919            if( mem_mask & 0x00ff )
920920            {
921                verboselog(device->machine(), 2, "mc68328_w: PEDATA = %02x\n", data & 0x00ff);
921                verboselog(space.machine(), 2, "mc68328_w: PEDATA = %02x\n", data & 0x00ff);
922922                mc68328->regs.pedata = data & 0x00ff;
923923                if(!mc68328->out_port_e.isnull())
924924                {
r18055r18056
927927            }
928928            else
929929            {
930                verboselog(device->machine(), 2, "mc68328_w: PEDIR = %02x\n", (data >> 8) & 0x00ff);
930                verboselog(space.machine(), 2, "mc68328_w: PEDIR = %02x\n", (data >> 8) & 0x00ff);
931931                mc68328->regs.pedir = (data >> 8) & 0x00ff;
932932            }
933933            break;
r18055r18056
935935        case 0x422:
936936            if( mem_mask & 0x00ff )
937937            {
938                verboselog(device->machine(), 2, "mc68328_w: PESEL = %02x\n", data & 0x00ff);
938                verboselog(space.machine(), 2, "mc68328_w: PESEL = %02x\n", data & 0x00ff);
939939                mc68328->regs.pesel = data & 0x00ff;
940940            }
941941            else
942942            {
943                verboselog(device->machine(), 2, "mc68328_w: PEPUEN = %02x\n", (data >> 8) & 0x00ff);
943                verboselog(space.machine(), 2, "mc68328_w: PEPUEN = %02x\n", (data >> 8) & 0x00ff);
944944                mc68328->regs.pepuen = (data >> 8) & 0x00ff;
945945                mc68328->regs.pedata |= mc68328->regs.pepuen;
946946            }
r18055r18056
949949        case 0x428:
950950            if( mem_mask & 0x00ff )
951951            {
952                verboselog(device->machine(), 2, "mc68328_w: PFDATA = %02x\n", data & 0x00ff);
952                verboselog(space.machine(), 2, "mc68328_w: PFDATA = %02x\n", data & 0x00ff);
953953                mc68328->regs.pfdata = data & 0x00ff;
954954                if(!mc68328->out_port_f.isnull())
955955                {
r18055r18056
958958            }
959959            else
960960            {
961                verboselog(device->machine(), 2, "mc68328_w: PFDIR = %02x\n", (data >> 8) & 0x00ff);
961                verboselog(space.machine(), 2, "mc68328_w: PFDIR = %02x\n", (data >> 8) & 0x00ff);
962962                mc68328->regs.pfdir = (data >> 8) & 0x00ff;
963963            }
964964            break;
r18055r18056
966966        case 0x42a:
967967            if( mem_mask & 0x00ff )
968968            {
969                verboselog(device->machine(), 2, "mc68328_w: PFSEL = %02x\n", data & 0x00ff);
969                verboselog(space.machine(), 2, "mc68328_w: PFSEL = %02x\n", data & 0x00ff);
970970                mc68328->regs.pfsel = data & 0x00ff;
971971            }
972972            else
973973            {
974                verboselog(device->machine(), 2, "mc68328_w: PFPUEN = %02x\n", (data >> 8) & 0x00ff);
974                verboselog(space.machine(), 2, "mc68328_w: PFPUEN = %02x\n", (data >> 8) & 0x00ff);
975975                mc68328->regs.pfpuen = (data >> 8) & 0x00ff;
976976            }
977977            break;
r18055r18056
979979        case 0x430:
980980            if( mem_mask & 0x00ff )
981981            {
982                verboselog(device->machine(), 2, "mc68328_w: PGDATA = %02x\n", data & 0x00ff);
982                verboselog(space.machine(), 2, "mc68328_w: PGDATA = %02x\n", data & 0x00ff);
983983                mc68328->regs.pgdata = data & 0x00ff;
984984                if(!mc68328->out_port_g.isnull())
985985                {
r18055r18056
988988            }
989989            else
990990            {
991                verboselog(device->machine(), 2, "mc68328_w: PGDIR = %02x\n", (data >> 8) & 0x00ff);
991                verboselog(space.machine(), 2, "mc68328_w: PGDIR = %02x\n", (data >> 8) & 0x00ff);
992992                mc68328->regs.pgdir = (data >> 8) & 0x00ff;
993993            }
994994            break;
r18055r18056
996996        case 0x432:
997997            if( mem_mask & 0x00ff )
998998            {
999                verboselog(device->machine(), 2, "mc68328_w: PGSEL = %02x\n", data & 0x00ff);
999                verboselog(space.machine(), 2, "mc68328_w: PGSEL = %02x\n", data & 0x00ff);
10001000                mc68328->regs.pgsel = data & 0x00ff;
10011001            }
10021002            else
10031003            {
1004                verboselog(device->machine(), 2, "mc68328_w: PGPUEN = %02x\n", (data >> 8) & 0x00ff);
1004                verboselog(space.machine(), 2, "mc68328_w: PGPUEN = %02x\n", (data >> 8) & 0x00ff);
10051005                mc68328->regs.pgpuen = (data >> 8) & 0x00ff;
10061006            }
10071007            break;
r18055r18056
10091009        case 0x438:
10101010            if( mem_mask & 0x00ff )
10111011            {
1012                verboselog(device->machine(), 2, "mc68328_w: PJDATA = %02x\n", data & 0x00ff);
1012                verboselog(space.machine(), 2, "mc68328_w: PJDATA = %02x\n", data & 0x00ff);
10131013                mc68328->regs.pjdata = data & 0x00ff;
10141014                if(!mc68328->out_port_j.isnull())
10151015                {
r18055r18056
10181018            }
10191019            else
10201020            {
1021                verboselog(device->machine(), 2, "mc68328_w: PJDIR = %02x\n", (data >> 8) & 0x00ff);
1021                verboselog(space.machine(), 2, "mc68328_w: PJDIR = %02x\n", (data >> 8) & 0x00ff);
10221022                mc68328->regs.pjdir = (data >> 8) & 0x00ff;
10231023            }
10241024            break;
r18055r18056
10261026        case 0x43a:
10271027            if( mem_mask & 0x00ff )
10281028            {
1029                verboselog(device->machine(), 2, "mc68328_w: PJSEL = %02x\n", data & 0x00ff);
1029                verboselog(space.machine(), 2, "mc68328_w: PJSEL = %02x\n", data & 0x00ff);
10301030                mc68328->regs.pjsel = data & 0x00ff;
10311031            }
10321032            else
10331033            {
1034                verboselog(device->machine(), 2, "mc68328_w: Unknown address (0xfff43a) = %02x\n", (data >> 8) & 0x00ff);
1034                verboselog(space.machine(), 2, "mc68328_w: Unknown address (0xfff43a) = %02x\n", (data >> 8) & 0x00ff);
10351035            }
10361036            break;
10371037
10381038        case 0x440:
10391039            if( mem_mask & 0x00ff )
10401040            {
1041                verboselog(device->machine(), 2, "mc68328_w: PKDATA = %02x\n", data & 0x00ff);
1041                verboselog(space.machine(), 2, "mc68328_w: PKDATA = %02x\n", data & 0x00ff);
10421042                mc68328->regs.pkdata = data & 0x00ff;
10431043                if(!mc68328->out_port_k.isnull())
10441044                {
r18055r18056
10471047            }
10481048            else
10491049            {
1050                verboselog(device->machine(), 2, "mc68328_w: PKDIR = %02x\n", (data >> 8) & 0x00ff);
1050                verboselog(space.machine(), 2, "mc68328_w: PKDIR = %02x\n", (data >> 8) & 0x00ff);
10511051                mc68328->regs.pkdir = (data >> 8) & 0x00ff;
10521052            }
10531053            break;
r18055r18056
10551055        case 0x442:
10561056            if( mem_mask & 0x00ff )
10571057            {
1058                verboselog(device->machine(), 2, "mc68328_w: PKSEL = %02x\n", data & 0x00ff);
1058                verboselog(space.machine(), 2, "mc68328_w: PKSEL = %02x\n", data & 0x00ff);
10591059                mc68328->regs.pksel = data & 0x00ff;
10601060            }
10611061            else
10621062            {
1063                verboselog(device->machine(), 2, "mc68328_w: PKPUEN = %02x\n", (data >> 8) & 0x00ff);
1063                verboselog(space.machine(), 2, "mc68328_w: PKPUEN = %02x\n", (data >> 8) & 0x00ff);
10641064                mc68328->regs.pgpuen = (data >> 8) & 0x00ff;
10651065            }
10661066            break;
r18055r18056
10681068        case 0x448:
10691069            if( mem_mask & 0x00ff )
10701070            {
1071                verboselog(device->machine(), 2, "mc68328_w: PMDATA = %02x\n", data & 0x00ff);
1071                verboselog(space.machine(), 2, "mc68328_w: PMDATA = %02x\n", data & 0x00ff);
10721072                mc68328->regs.pmdata = data & 0x00ff;
10731073                if(!mc68328->out_port_m.isnull())
10741074                {
r18055r18056
10771077            }
10781078            else
10791079            {
1080                verboselog(device->machine(), 2, "mc68328_w: PMDIR = %02x\n", (data >> 8) & 0x00ff);
1080                verboselog(space.machine(), 2, "mc68328_w: PMDIR = %02x\n", (data >> 8) & 0x00ff);
10811081                mc68328->regs.pmdir = (data >> 8) & 0x00ff;
10821082            }
10831083            break;
r18055r18056
10851085        case 0x44a:
10861086            if( mem_mask & 0x00ff )
10871087            {
1088                verboselog(device->machine(), 2, "mc68328_w: PMSEL = %02x\n", data & 0x00ff);
1088                verboselog(space.machine(), 2, "mc68328_w: PMSEL = %02x\n", data & 0x00ff);
10891089                mc68328->regs.pmsel = data & 0x00ff;
10901090            }
10911091            else
10921092            {
1093                verboselog(device->machine(), 2, "mc68328_w: PMPUEN = %02x\n", (data >> 8) & 0x00ff);
1093                verboselog(space.machine(), 2, "mc68328_w: PMPUEN = %02x\n", (data >> 8) & 0x00ff);
10941094                mc68328->regs.pmpuen = (data >> 8) & 0x00ff;
10951095            }
10961096            break;
10971097
10981098        case 0x500:
1099            verboselog(device->machine(), 2, "mc68328_w: PWMC = %04x\n", data);
1099            verboselog(space.machine(), 2, "mc68328_w: PWMC = %04x\n", data);
11001100
11011101            mc68328->regs.pwmc = data;
11021102
r18055r18056
11281128            break;
11291129
11301130        case 0x502:
1131            verboselog(device->machine(), 2, "mc68328_w: PWMP = %04x\n", data);
1131            verboselog(space.machine(), 2, "mc68328_w: PWMP = %04x\n", data);
11321132            mc68328->regs.pwmp = data;
11331133            break;
11341134
11351135        case 0x504:
1136            verboselog(device->machine(), 2, "mc68328_w: PWMW = %04x\n", data);
1136            verboselog(space.machine(), 2, "mc68328_w: PWMW = %04x\n", data);
11371137            mc68328->regs.pwmw = data;
11381138            break;
11391139
11401140        case 0x506:
1141            verboselog(device->machine(), 2, "mc68328_w: PWMCNT = %04x\n", data);
1141            verboselog(space.machine(), 2, "mc68328_w: PWMCNT = %04x\n", data);
11421142            mc68328->regs.pwmcnt = 0;
11431143            break;
11441144
11451145        case 0x600:
1146            verboselog(device->machine(), 2, "mc68328_w: TCTL1 = %04x\n", data);
1146            verboselog(space.machine(), 2, "mc68328_w: TCTL1 = %04x\n", data);
11471147            temp16[0] = mc68328->regs.tctl[0];
11481148            mc68328->regs.tctl[0] = data;
11491149            if((temp16[0] & TCTL_TEN) == (mc68328->regs.tctl[0] & TCTL_TEN))
r18055r18056
11571157            break;
11581158
11591159        case 0x602:
1160            verboselog(device->machine(), 2, "mc68328_w: TPRER1 = %04x\n", data);
1160            verboselog(space.machine(), 2, "mc68328_w: TPRER1 = %04x\n", data);
11611161            mc68328->regs.tprer[0] = data;
11621162            mc68328_maybe_start_timer(device, 0, 0);
11631163            break;
11641164
11651165        case 0x604:
1166            verboselog(device->machine(), 2, "mc68328_w: TCMP1 = %04x\n", data);
1166            verboselog(space.machine(), 2, "mc68328_w: TCMP1 = %04x\n", data);
11671167            mc68328->regs.tcmp[0] = data;
11681168            mc68328_maybe_start_timer(device, 0, 0);
11691169            break;
11701170
11711171        case 0x606:
1172            verboselog(device->machine(), 2, "mc68328_w: TCR1 = %04x (Ignored)\n", data);
1172            verboselog(space.machine(), 2, "mc68328_w: TCR1 = %04x (Ignored)\n", data);
11731173            break;
11741174
11751175        case 0x608:
1176            verboselog(device->machine(), 2, "mc68328_w: TCN1 = %04x (Ignored)\n", data);
1176            verboselog(space.machine(), 2, "mc68328_w: TCN1 = %04x (Ignored)\n", data);
11771177            break;
11781178
11791179        case 0x60a:
1180            verboselog(device->machine(), 5, "mc68328_w: TSTAT1 = %04x\n", data);
1180            verboselog(space.machine(), 5, "mc68328_w: TSTAT1 = %04x\n", data);
11811181            mc68328->regs.tstat[0] &= ~mc68328->regs.tclear[0];
11821182            if(!(mc68328->regs.tstat[0] & TSTAT_COMP))
11831183            {
r18055r18056
11861186            break;
11871187
11881188        case 0x60c:
1189            verboselog(device->machine(), 2, "mc68328_w: TCTL2 = %04x\n", data);
1189            verboselog(space.machine(), 2, "mc68328_w: TCTL2 = %04x\n", data);
11901190            temp16[0] = mc68328->regs.tctl[1];
11911191            mc68328->regs.tctl[1] = data;
11921192            if((temp16[0] & TCTL_TEN) == (mc68328->regs.tctl[1] & TCTL_TEN))
r18055r18056
12001200            break;
12011201
12021202        case 0x60e:
1203            verboselog(device->machine(), 2, "mc68328_w: TPRER2 = %04x\n", data);
1203            verboselog(space.machine(), 2, "mc68328_w: TPRER2 = %04x\n", data);
12041204            mc68328->regs.tprer[1] = data;
12051205            mc68328_maybe_start_timer(device, 1, 0);
12061206            break;
12071207
12081208        case 0x610:
1209            verboselog(device->machine(), 2, "mc68328_w: TCMP2 = %04x\n", data);
1209            verboselog(space.machine(), 2, "mc68328_w: TCMP2 = %04x\n", data);
12101210            mc68328->regs.tcmp[1] = data;
12111211            mc68328_maybe_start_timer(device, 1, 0);
12121212            break;
12131213
12141214        case 0x612:
1215            verboselog(device->machine(), 2, "mc68328_w: TCR2 = %04x (Ignored)\n", data);
1215            verboselog(space.machine(), 2, "mc68328_w: TCR2 = %04x (Ignored)\n", data);
12161216            break;
12171217
12181218        case 0x614:
1219            verboselog(device->machine(), 2, "mc68328_w: TCN2 = %04x (Ignored)\n", data);
1219            verboselog(space.machine(), 2, "mc68328_w: TCN2 = %04x (Ignored)\n", data);
12201220            break;
12211221
12221222        case 0x616:
1223            verboselog(device->machine(), 2, "mc68328_w: TSTAT2 = %04x\n", data);
1223            verboselog(space.machine(), 2, "mc68328_w: TSTAT2 = %04x\n", data);
12241224            mc68328->regs.tstat[1] &= ~mc68328->regs.tclear[1];
12251225            if(!(mc68328->regs.tstat[1] & TSTAT_COMP))
12261226            {
r18055r18056
12291229            break;
12301230
12311231        case 0x618:
1232            verboselog(device->machine(), 2, "mc68328_w: WCTLR = %04x\n", data);
1232            verboselog(space.machine(), 2, "mc68328_w: WCTLR = %04x\n", data);
12331233            mc68328->regs.wctlr = data;
12341234            break;
12351235
12361236        case 0x61a:
1237            verboselog(device->machine(), 2, "mc68328_w: WCMPR = %04x\n", data);
1237            verboselog(space.machine(), 2, "mc68328_w: WCMPR = %04x\n", data);
12381238            mc68328->regs.wcmpr = data;
12391239            break;
12401240
12411241        case 0x61c:
1242            verboselog(device->machine(), 2, "mc68328_w: WCN = %04x (Ignored)\n", data);
1242            verboselog(space.machine(), 2, "mc68328_w: WCN = %04x (Ignored)\n", data);
12431243            break;
12441244
12451245        case 0x700:
1246            verboselog(device->machine(), 2, "mc68328_w: SPISR = %04x\n", data);
1246            verboselog(space.machine(), 2, "mc68328_w: SPISR = %04x\n", data);
12471247            mc68328->regs.spisr = data;
12481248            break;
12491249
12501250        case 0x800:
1251            verboselog(device->machine(), 2, "mc68328_w: SPIMDATA = %04x\n", data);
1251            verboselog(space.machine(), 2, "mc68328_w: SPIMDATA = %04x\n", data);
12521252            if(!mc68328->out_spim.isnull())
12531253            {
12541254                mc68328->out_spim( 0, data, 0xffff );
r18055r18056
12601260            break;
12611261
12621262        case 0x802:
1263            verboselog(device->machine(), 2, "mc68328_w: SPIMCONT = %04x\n", data);
1264            verboselog(device->machine(), 3, "           Count = %d\n", data & SPIM_CLOCK_COUNT);
1265            verboselog(device->machine(), 3, "           Polarity = %s\n", (data & SPIM_POL) ? "Inverted" : "Active-high");
1266            verboselog(device->machine(), 3, "           Phase = %s\n", (data & SPIM_PHA) ? "Opposite" : "Normal");
1267            verboselog(device->machine(), 3, "           IRQ Enable = %s\n", (data & SPIM_IRQEN) ? "Enable" : "Disable");
1268            verboselog(device->machine(), 3, "           IRQ Pending = %s\n", (data & SPIM_SPIMIRQ) ? "Yes" : "No");
1269            verboselog(device->machine(), 3, "           Exchange = %s\n", (data & SPIM_XCH) ? "Initiate" : "Idle");
1270            verboselog(device->machine(), 3, "           SPIM Enable = %s\n", (data & SPIM_SPMEN) ? "Enable" : "Disable");
1271            verboselog(device->machine(), 3, "           Data Rate = Divide By %d\n", 1 << ((((data & SPIM_RATE) >> 13) & 0x0007) + 2) );
1263            verboselog(space.machine(), 2, "mc68328_w: SPIMCONT = %04x\n", data);
1264            verboselog(space.machine(), 3, "           Count = %d\n", data & SPIM_CLOCK_COUNT);
1265            verboselog(space.machine(), 3, "           Polarity = %s\n", (data & SPIM_POL) ? "Inverted" : "Active-high");
1266            verboselog(space.machine(), 3, "           Phase = %s\n", (data & SPIM_PHA) ? "Opposite" : "Normal");
1267            verboselog(space.machine(), 3, "           IRQ Enable = %s\n", (data & SPIM_IRQEN) ? "Enable" : "Disable");
1268            verboselog(space.machine(), 3, "           IRQ Pending = %s\n", (data & SPIM_SPIMIRQ) ? "Yes" : "No");
1269            verboselog(space.machine(), 3, "           Exchange = %s\n", (data & SPIM_XCH) ? "Initiate" : "Idle");
1270            verboselog(space.machine(), 3, "           SPIM Enable = %s\n", (data & SPIM_SPMEN) ? "Enable" : "Disable");
1271            verboselog(space.machine(), 3, "           Data Rate = Divide By %d\n", 1 << ((((data & SPIM_RATE) >> 13) & 0x0007) + 2) );
12721272            mc68328->regs.spimcont = data;
12731273            // $$HACK$$ We should probably emulate the ADS7843 A/D device properly.
12741274            if(data & SPIM_XCH)
r18055r18056
12811281                if(data & SPIM_IRQEN)
12821282                {
12831283                    mc68328->regs.spimcont |= SPIM_SPIMIRQ;
1284                    verboselog(device->machine(), 3, "Triggering SPIM Interrupt\n" );
1284                    verboselog(space.machine(), 3, "Triggering SPIM Interrupt\n" );
12851285                    mc68328_set_interrupt_line(device, INT_SPIM, 1);
12861286                }
12871287            }
r18055r18056
12921292            break;
12931293
12941294        case 0x900:
1295            verboselog(device->machine(), 2, "mc68328_w: USTCNT = %04x\n", data);
1295            verboselog(space.machine(), 2, "mc68328_w: USTCNT = %04x\n", data);
12961296            mc68328->regs.ustcnt = data;
12971297            break;
12981298
12991299        case 0x902:
1300            verboselog(device->machine(), 2, "mc68328_w: UBAUD = %04x\n", data);
1300            verboselog(space.machine(), 2, "mc68328_w: UBAUD = %04x\n", data);
13011301            mc68328->regs.ubaud = data;
13021302            break;
13031303
13041304        case 0x904:
1305            verboselog(device->machine(), 2, "mc68328_w: URX = %04x\n", data);
1305            verboselog(space.machine(), 2, "mc68328_w: URX = %04x\n", data);
13061306            break;
13071307
13081308        case 0x906:
1309            verboselog(device->machine(), 2, "mc68328_w: UTX = %04x\n", data);
1309            verboselog(space.machine(), 2, "mc68328_w: UTX = %04x\n", data);
13101310            break;
13111311
13121312        case 0x908:
1313            verboselog(device->machine(), 2, "mc68328_w: UMISC = %04x\n", data);
1313            verboselog(space.machine(), 2, "mc68328_w: UMISC = %04x\n", data);
13141314            mc68328->regs.umisc = data;
13151315            break;
13161316
13171317        case 0xa00:
1318            verboselog(device->machine(), 2, "mc68328_w: LSSA(16) = %04x\n", data);
1318            verboselog(space.machine(), 2, "mc68328_w: LSSA(16) = %04x\n", data);
13191319            mc68328->regs.lssa &= ~(mem_mask << 16);
13201320            mc68328->regs.lssa |= (data & mem_mask) << 16;
1321            verboselog(device->machine(), 3, "              Address: %08x\n", mc68328->regs.lssa);
1321            verboselog(space.machine(), 3, "              Address: %08x\n", mc68328->regs.lssa);
13221322            break;
13231323
13241324        case 0xa02:
1325            verboselog(device->machine(), 2, "mc68328_w: LSSA(0) = %04x\n", data);
1325            verboselog(space.machine(), 2, "mc68328_w: LSSA(0) = %04x\n", data);
13261326            mc68328->regs.lssa &= 0xffff0000 | (~mem_mask);
13271327            mc68328->regs.lssa |= data & mem_mask;
1328            verboselog(device->machine(), 3, "              Address: %08x\n", mc68328->regs.lssa);
1328            verboselog(space.machine(), 3, "              Address: %08x\n", mc68328->regs.lssa);
13291329            break;
13301330
13311331        case 0xa04:
13321332            if( mem_mask & 0x00ff )
13331333            {
1334                verboselog(device->machine(), 2, "mc68328_w: LVPW = %02x\n", data & 0x00ff);
1334                verboselog(space.machine(), 2, "mc68328_w: LVPW = %02x\n", data & 0x00ff);
13351335                mc68328->regs.lvpw = data & 0x00ff;
1336                verboselog(device->machine(), 3, "              Page Width: %d or %d\n", (mc68328->regs.lvpw + 1) * ((mc68328->regs.lpicf & 0x01) ? 8 : 16));
1336                verboselog(space.machine(), 3, "              Page Width: %d or %d\n", (mc68328->regs.lvpw + 1) * ((mc68328->regs.lpicf & 0x01) ? 8 : 16));
13371337            }
13381338            else
13391339            {
1340                verboselog(device->machine(), 2, "mc68328_w: Unknown address (0xfffa04) = %02x\n", (data >> 8) & 0x00ff);
1340                verboselog(space.machine(), 2, "mc68328_w: Unknown address (0xfffa04) = %02x\n", (data >> 8) & 0x00ff);
13411341            }
13421342            break;
13431343
13441344        case 0xa08:
1345            verboselog(device->machine(), 2, "mc68328_w: LXMAX = %04x\n", data);
1345            verboselog(space.machine(), 2, "mc68328_w: LXMAX = %04x\n", data);
13461346            mc68328->regs.lxmax = data;
1347            verboselog(device->machine(), 3, "              Width: %d\n", (data & 0x03ff) + 1);
1347            verboselog(space.machine(), 3, "              Width: %d\n", (data & 0x03ff) + 1);
13481348            break;
13491349
13501350        case 0xa0a:
1351            verboselog(device->machine(), 2, "mc68328_w: LYMAX = %04x\n", data);
1351            verboselog(space.machine(), 2, "mc68328_w: LYMAX = %04x\n", data);
13521352            mc68328->regs.lymax = data;
1353            verboselog(device->machine(), 3, "              Height: %d\n", (data & 0x03ff) + 1);
1353            verboselog(space.machine(), 3, "              Height: %d\n", (data & 0x03ff) + 1);
13541354            break;
13551355
13561356        case 0xa18:
1357            verboselog(device->machine(), 2, "mc68328_w: LCXP = %04x\n", data);
1357            verboselog(space.machine(), 2, "mc68328_w: LCXP = %04x\n", data);
13581358            mc68328->regs.lcxp = data;
1359            verboselog(device->machine(), 3, "              X Position: %d\n", data & 0x03ff);
1359            verboselog(space.machine(), 3, "              X Position: %d\n", data & 0x03ff);
13601360            switch(mc68328->regs.lcxp >> 14)
13611361            {
13621362                case 0:
1363                    verboselog(device->machine(), 3, "              Cursor Control: Transparent\n");
1363                    verboselog(space.machine(), 3, "              Cursor Control: Transparent\n");
13641364                    break;
13651365
13661366                case 1:
1367                    verboselog(device->machine(), 3, "              Cursor Control: Black\n");
1367                    verboselog(space.machine(), 3, "              Cursor Control: Black\n");
13681368                    break;
13691369
13701370                case 2:
1371                    verboselog(device->machine(), 3, "              Cursor Control: Reverse\n");
1371                    verboselog(space.machine(), 3, "              Cursor Control: Reverse\n");
13721372                    break;
13731373
13741374                case 3:
1375                    verboselog(device->machine(), 3, "              Cursor Control: Invalid\n");
1375                    verboselog(space.machine(), 3, "              Cursor Control: Invalid\n");
13761376                    break;
13771377            }
13781378            break;
13791379
13801380        case 0xa1a:
1381            verboselog(device->machine(), 2, "mc68328_w: LCYP = %04x\n", data);
1381            verboselog(space.machine(), 2, "mc68328_w: LCYP = %04x\n", data);
13821382            mc68328->regs.lcyp = data;
1383            verboselog(device->machine(), 3, "              Y Position: %d\n", data & 0x01ff);
1383            verboselog(space.machine(), 3, "              Y Position: %d\n", data & 0x01ff);
13841384            break;
13851385
13861386        case 0xa1c:
1387            verboselog(device->machine(), 2, "mc68328_w: LCWCH = %04x\n", data);
1387            verboselog(space.machine(), 2, "mc68328_w: LCWCH = %04x\n", data);
13881388            mc68328->regs.lcwch = data;
1389            verboselog(device->machine(), 3, "              Width:  %d\n", (data >> 8) & 0x1f);
1390            verboselog(device->machine(), 3, "              Height: %d\n", data & 0x1f);
1389            verboselog(space.machine(), 3, "              Width:  %d\n", (data >> 8) & 0x1f);
1390            verboselog(space.machine(), 3, "              Height: %d\n", data & 0x1f);
13911391            break;
13921392
13931393        case 0xa1e:
13941394            if( mem_mask & 0x00ff )
13951395            {
1396                verboselog(device->machine(), 2, "mc68328_w: LBLKC = %02x\n", data & 0x00ff);
1396                verboselog(space.machine(), 2, "mc68328_w: LBLKC = %02x\n", data & 0x00ff);
13971397                mc68328->regs.lblkc = data & 0x00ff;
1398                verboselog(device->machine(), 3, "              Blink Enable:  %d\n", mc68328->regs.lblkc >> 7);
1399                verboselog(device->machine(), 3, "              Blink Divisor: %d\n", mc68328->regs.lblkc & 0x7f);
1398                verboselog(space.machine(), 3, "              Blink Enable:  %d\n", mc68328->regs.lblkc >> 7);
1399                verboselog(space.machine(), 3, "              Blink Divisor: %d\n", mc68328->regs.lblkc & 0x7f);
14001400            }
14011401            else
14021402            {
1403                verboselog(device->machine(), 2, "mc68328_w: Unknown address (0xfffa1e) = %02x\n", (data >> 8) & 0x00ff);
1403                verboselog(space.machine(), 2, "mc68328_w: Unknown address (0xfffa1e) = %02x\n", (data >> 8) & 0x00ff);
14041404            }
14051405            break;
14061406
14071407        case 0xa20:
14081408            if( mem_mask & 0x00ff )
14091409            {
1410                verboselog(device->machine(), 2, "mc68328_w: LPOLCF = %02x\n", data & 0x00ff);
1410                verboselog(space.machine(), 2, "mc68328_w: LPOLCF = %02x\n", data & 0x00ff);
14111411                mc68328->regs.lpolcf = data & 0x00ff;
1412                verboselog(device->machine(), 3, "              LCD Shift Clock Polarity: %s\n", (mc68328->regs.lpicf & 0x08) ? "Active positive edge of LCLK" : "Active negative edge of LCLK");
1413                verboselog(device->machine(), 3, "              First-line marker polarity: %s\n", (mc68328->regs.lpicf & 0x04) ? "Active Low" : "Active High");
1414                verboselog(device->machine(), 3, "              Line-pulse polarity: %s\n", (mc68328->regs.lpicf & 0x02) ? "Active Low" : "Active High");
1415                verboselog(device->machine(), 3, "              Pixel polarity: %s\n", (mc68328->regs.lpicf & 0x01) ? "Active Low" : "Active High");
1412                verboselog(space.machine(), 3, "              LCD Shift Clock Polarity: %s\n", (mc68328->regs.lpicf & 0x08) ? "Active positive edge of LCLK" : "Active negative edge of LCLK");
1413                verboselog(space.machine(), 3, "              First-line marker polarity: %s\n", (mc68328->regs.lpicf & 0x04) ? "Active Low" : "Active High");
1414                verboselog(space.machine(), 3, "              Line-pulse polarity: %s\n", (mc68328->regs.lpicf & 0x02) ? "Active Low" : "Active High");
1415                verboselog(space.machine(), 3, "              Pixel polarity: %s\n", (mc68328->regs.lpicf & 0x01) ? "Active Low" : "Active High");
14161416            }
14171417            else
14181418            {
1419                verboselog(device->machine(), 2, "mc68328_w: LPICF = %02x\n", (data >> 8) & 0x00ff);
1419                verboselog(space.machine(), 2, "mc68328_w: LPICF = %02x\n", (data >> 8) & 0x00ff);
14201420                mc68328->regs.lpicf = (data >> 8) & 0x00ff;
14211421                switch((mc68328->regs.lpicf >> 1) & 0x03)
14221422                {
14231423                    case 0:
1424                        verboselog(device->machine(), 3, "              Bus Size: 1-bit\n");
1424                        verboselog(space.machine(), 3, "              Bus Size: 1-bit\n");
14251425                        break;
14261426
14271427                    case 1:
1428                        verboselog(device->machine(), 3, "              Bus Size: 2-bit\n");
1428                        verboselog(space.machine(), 3, "              Bus Size: 2-bit\n");
14291429                        break;
14301430
14311431                    case 2:
1432                        verboselog(device->machine(), 3, "              Bus Size: 4-bit\n");
1432                        verboselog(space.machine(), 3, "              Bus Size: 4-bit\n");
14331433                        break;
14341434
14351435                    case 3:
1436                        verboselog(device->machine(), 3, "              Bus Size: unused\n");
1436                        verboselog(space.machine(), 3, "              Bus Size: unused\n");
14371437                        break;
14381438                }
1439                verboselog(device->machine(), 3, "              Gray scale enable: %d\n", mc68328->regs.lpicf & 0x01);
1439                verboselog(space.machine(), 3, "              Gray scale enable: %d\n", mc68328->regs.lpicf & 0x01);
14401440            }
14411441            break;
14421442
14431443        case 0xa22:
14441444            if( mem_mask & 0x00ff )
14451445            {
1446                verboselog(device->machine(), 2, "mc68328_w: LACDRC = %02x\n", data & 0x00ff);
1446                verboselog(space.machine(), 2, "mc68328_w: LACDRC = %02x\n", data & 0x00ff);
14471447                mc68328->regs.lacdrc = data & 0x00ff;
14481448            }
14491449            else
14501450            {
1451                verboselog(device->machine(), 2, "mc68328_w: Unknown address (0xfffa22) = %02x\n", (data >> 8) & 0x00ff);
1451                verboselog(space.machine(), 2, "mc68328_w: Unknown address (0xfffa22) = %02x\n", (data >> 8) & 0x00ff);
14521452            }
14531453            break;
14541454
14551455        case 0xa24:
14561456            if( mem_mask & 0x00ff )
14571457            {
1458                verboselog(device->machine(), 2, "mc68328_w: LPXCD = %02x\n", data & 0x00ff);
1458                verboselog(space.machine(), 2, "mc68328_w: LPXCD = %02x\n", data & 0x00ff);
14591459                mc68328->regs.lpxcd = data & 0x00ff;
1460                verboselog(device->machine(), 3, "              Clock Divisor: %d\n", mc68328->regs.lpxcd + 1);
1460                verboselog(space.machine(), 3, "              Clock Divisor: %d\n", mc68328->regs.lpxcd + 1);
14611461            }
14621462            else
14631463            {
1464                verboselog(device->machine(), 2, "mc68328_w: Unknown address (0xfffa24) = %02x\n", (data >> 8) & 0x00ff);
1464                verboselog(space.machine(), 2, "mc68328_w: Unknown address (0xfffa24) = %02x\n", (data >> 8) & 0x00ff);
14651465            }
14661466            break;
14671467
14681468        case 0xa26:
14691469            if( mem_mask & 0x00ff )
14701470            {
1471                verboselog(device->machine(), 2, "mc68328_w: LCKCON = %02x\n", data & 0x00ff);
1471                verboselog(space.machine(), 2, "mc68328_w: LCKCON = %02x\n", data & 0x00ff);
14721472                mc68328->regs.lckcon = data & 0x00ff;
1473                verboselog(device->machine(), 3, "              LCDC Enable: %d\n", (mc68328->regs.lckcon >> 7) & 0x01);
1474                verboselog(device->machine(), 3, "              DMA Burst Length: %d\n", ((mc68328->regs.lckcon >> 6) & 0x01) ? 16 : 8);
1475                verboselog(device->machine(), 3, "              DMA Bursting Clock Control: %d\n", ((mc68328->regs.lckcon >> 4) & 0x03) + 1);
1476                verboselog(device->machine(), 3, "              Bus Width: %d\n", ((mc68328->regs.lckcon >> 1) & 0x01) ? 8 : 16);
1477                verboselog(device->machine(), 3, "              Pixel Clock Divider Source: %s\n", (mc68328->regs.lckcon & 0x01) ? "PIX" : "SYS");
1473                verboselog(space.machine(), 3, "              LCDC Enable: %d\n", (mc68328->regs.lckcon >> 7) & 0x01);
1474                verboselog(space.machine(), 3, "              DMA Burst Length: %d\n", ((mc68328->regs.lckcon >> 6) & 0x01) ? 16 : 8);
1475                verboselog(space.machine(), 3, "              DMA Bursting Clock Control: %d\n", ((mc68328->regs.lckcon >> 4) & 0x03) + 1);
1476                verboselog(space.machine(), 3, "              Bus Width: %d\n", ((mc68328->regs.lckcon >> 1) & 0x01) ? 8 : 16);
1477                verboselog(space.machine(), 3, "              Pixel Clock Divider Source: %s\n", (mc68328->regs.lckcon & 0x01) ? "PIX" : "SYS");
14781478            }
14791479            else
14801480            {
1481                verboselog(device->machine(), 2, "mc68328_w: Unknown address (0xfffa26) = %02x\n", (data >> 8) & 0x00ff);
1481                verboselog(space.machine(), 2, "mc68328_w: Unknown address (0xfffa26) = %02x\n", (data >> 8) & 0x00ff);
14821482            }
14831483            break;
14841484
14851485        case 0xa28:
14861486            if( mem_mask & 0x00ff )
14871487            {
1488                verboselog(device->machine(), 2, "mc68328_w: LLBAR = %02x\n", data & 0x00ff);
1488                verboselog(space.machine(), 2, "mc68328_w: LLBAR = %02x\n", data & 0x00ff);
14891489                mc68328->regs.llbar = data & 0x00ff;
1490                verboselog(device->machine(), 3, "              Address: %d\n", (mc68328->regs.llbar & 0x7f) * ((mc68328->regs.lpicf & 0x01) ? 8 : 16));
1490                verboselog(space.machine(), 3, "              Address: %d\n", (mc68328->regs.llbar & 0x7f) * ((mc68328->regs.lpicf & 0x01) ? 8 : 16));
14911491            }
14921492            else
14931493            {
1494                verboselog(device->machine(), 2, "mc68328_w: Unknown address (0xfffa28) = %02x\n", (data >> 8) & 0x00ff);
1494                verboselog(space.machine(), 2, "mc68328_w: Unknown address (0xfffa28) = %02x\n", (data >> 8) & 0x00ff);
14951495            }
14961496            break;
14971497
14981498        case 0xa2a:
14991499            if( mem_mask & 0x00ff )
15001500            {
1501                verboselog(device->machine(), 2, "mc68328_w: LOTCR = %02x\n", data & 0x00ff);
1501                verboselog(space.machine(), 2, "mc68328_w: LOTCR = %02x\n", data & 0x00ff);
15021502            }
15031503            else
15041504            {
1505                verboselog(device->machine(), 2, "mc68328_w: Unknown address (0xfffa2a) = %02x\n", (data >> 8) & 0x00ff);
1505                verboselog(space.machine(), 2, "mc68328_w: Unknown address (0xfffa2a) = %02x\n", (data >> 8) & 0x00ff);
15061506            }
15071507            break;
15081508
15091509        case 0xa2c:
15101510            if( mem_mask & 0x00ff )
15111511            {
1512                verboselog(device->machine(), 2, "mc68328_w: LPOSR = %02x\n", data & 0x00ff);
1512                verboselog(space.machine(), 2, "mc68328_w: LPOSR = %02x\n", data & 0x00ff);
15131513                mc68328->regs.lposr = data & 0x00ff;
1514                verboselog(device->machine(), 3, "              Byte Offset: %d\n", (mc68328->regs.lposr >> 3) & 0x01);
1515                verboselog(device->machine(), 3, "              Pixel Offset: %d\n", mc68328->regs.lposr & 0x07);
1514                verboselog(space.machine(), 3, "              Byte Offset: %d\n", (mc68328->regs.lposr >> 3) & 0x01);
1515                verboselog(space.machine(), 3, "              Pixel Offset: %d\n", mc68328->regs.lposr & 0x07);
15161516            }
15171517            else
15181518            {
1519                verboselog(device->machine(), 2, "mc68328_w: Unknown address (0xfffa2c) = %02x\n", (data >> 8) & 0x00ff);
1519                verboselog(space.machine(), 2, "mc68328_w: Unknown address (0xfffa2c) = %02x\n", (data >> 8) & 0x00ff);
15201520            }
15211521            break;
15221522
15231523        case 0xa30:
15241524            if( mem_mask & 0x00ff )
15251525            {
1526                verboselog(device->machine(), 2, "mc68328_w: LFRCM = %02x\n", data & 0x00ff);
1526                verboselog(space.machine(), 2, "mc68328_w: LFRCM = %02x\n", data & 0x00ff);
15271527                mc68328->regs.lfrcm = data & 0x00ff;
1528                verboselog(device->machine(), 3, "              X Modulation: %d\n", (mc68328->regs.lfrcm >> 4) & 0x0f);
1529                verboselog(device->machine(), 3, "              Y Modulation: %d\n", mc68328->regs.lfrcm & 0x0f);
1528                verboselog(space.machine(), 3, "              X Modulation: %d\n", (mc68328->regs.lfrcm >> 4) & 0x0f);
1529                verboselog(space.machine(), 3, "              Y Modulation: %d\n", mc68328->regs.lfrcm & 0x0f);
15301530            }
15311531            else
15321532            {
1533                verboselog(device->machine(), 2, "mc68328_w: Unknown address (0xfffa30) = %02x\n", (data >> 8) & 0x00ff);
1533                verboselog(space.machine(), 2, "mc68328_w: Unknown address (0xfffa30) = %02x\n", (data >> 8) & 0x00ff);
15341534            }
15351535            break;
15361536
15371537        case 0xa32:
1538            verboselog(device->machine(), 2, "mc68328_w: LGPMR = %04x\n", data);
1538            verboselog(space.machine(), 2, "mc68328_w: LGPMR = %04x\n", data);
15391539            mc68328->regs.lgpmr = data;
1540            verboselog(device->machine(), 3, "              Palette 0: %d\n", (mc68328->regs.lgpmr >>  8) & 0x07);
1541            verboselog(device->machine(), 3, "              Palette 1: %d\n", (mc68328->regs.lgpmr >> 12) & 0x07);
1542            verboselog(device->machine(), 3, "              Palette 2: %d\n", (mc68328->regs.lgpmr >>  0) & 0x07);
1543            verboselog(device->machine(), 3, "              Palette 3: %d\n", (mc68328->regs.lgpmr >>  4) & 0x07);
1540            verboselog(space.machine(), 3, "              Palette 0: %d\n", (mc68328->regs.lgpmr >>  8) & 0x07);
1541            verboselog(space.machine(), 3, "              Palette 1: %d\n", (mc68328->regs.lgpmr >> 12) & 0x07);
1542            verboselog(space.machine(), 3, "              Palette 2: %d\n", (mc68328->regs.lgpmr >>  0) & 0x07);
1543            verboselog(space.machine(), 3, "              Palette 3: %d\n", (mc68328->regs.lgpmr >>  4) & 0x07);
15441544            break;
15451545
15461546        case 0xb00:
1547            verboselog(device->machine(), 2, "mc68328_w: HMSR(0) = %04x\n", data);
1547            verboselog(space.machine(), 2, "mc68328_w: HMSR(0) = %04x\n", data);
15481548            mc68328->regs.hmsr &= ~(mem_mask << 16);
15491549            mc68328->regs.hmsr |= (data & mem_mask) << 16;
15501550            mc68328->regs.hmsr &= 0x1f3f003f;
15511551            break;
15521552
15531553        case 0xb02:
1554            verboselog(device->machine(), 2, "mc68328_w: HMSR(16) = %04x\n", data);
1554            verboselog(space.machine(), 2, "mc68328_w: HMSR(16) = %04x\n", data);
15551555            mc68328->regs.hmsr &= 0xffff0000 | (~mem_mask);
15561556            mc68328->regs.hmsr |= data & mem_mask;
15571557            mc68328->regs.hmsr &= 0x1f3f003f;
15581558            break;
15591559
15601560        case 0xb04:
1561            verboselog(device->machine(), 2, "mc68328_w: ALARM(0) = %04x\n", data);
1561            verboselog(space.machine(), 2, "mc68328_w: ALARM(0) = %04x\n", data);
15621562            mc68328->regs.alarm &= ~(mem_mask << 16);
15631563            mc68328->regs.alarm |= (data & mem_mask) << 16;
15641564            mc68328->regs.alarm &= 0x1f3f003f;
15651565            break;
15661566
15671567        case 0xb06:
1568            verboselog(device->machine(), 2, "mc68328_w: ALARM(16) = %04x\n", data);
1568            verboselog(space.machine(), 2, "mc68328_w: ALARM(16) = %04x\n", data);
15691569            mc68328->regs.alarm &= 0xffff0000 | (~mem_mask);
15701570            mc68328->regs.alarm |= data & mem_mask;
15711571            mc68328->regs.alarm &= 0x1f3f003f;
15721572            break;
15731573
15741574        case 0xb0c:
1575            verboselog(device->machine(), 2, "mc68328_w: RTCCTL = %04x\n", data);
1575            verboselog(space.machine(), 2, "mc68328_w: RTCCTL = %04x\n", data);
15761576            mc68328->regs.rtcctl = data & 0x00a0;
15771577            break;
15781578
15791579        case 0xb0e:
1580            verboselog(device->machine(), 2, "mc68328_w: RTCISR = %04x\n", data);
1580            verboselog(space.machine(), 2, "mc68328_w: RTCISR = %04x\n", data);
15811581            mc68328->regs.rtcisr &= ~data;
15821582            if(mc68328->regs.rtcisr == 0)
15831583            {
r18055r18056
15861586            break;
15871587
15881588        case 0xb10:
1589            verboselog(device->machine(), 2, "mc68328_w: RTCIENR = %04x\n", data);
1589            verboselog(space.machine(), 2, "mc68328_w: RTCIENR = %04x\n", data);
15901590            mc68328->regs.rtcienr = data & 0x001f;
15911591            break;
15921592
15931593        case 0xb12:
1594            verboselog(device->machine(), 2, "mc68328_w: STPWTCH = %04x\n", data);
1594            verboselog(space.machine(), 2, "mc68328_w: STPWTCH = %04x\n", data);
15951595            mc68328->regs.stpwtch = data & 0x003f;
15961596            break;
15971597
15981598        default:
1599            verboselog(device->machine(), 0, "mc68328_w: Unknown address (0x%06x) = %04x (%04x)\n", 0xfff000 + address, data, mem_mask);
1599            verboselog(space.machine(), 0, "mc68328_w: Unknown address (0x%06x) = %04x (%04x)\n", 0xfff000 + address, data, mem_mask);
16001600            break;
16011601    }
16021602}
r18055r18056
16121612        case 0x000:
16131613            if( mem_mask & 0x00ff )
16141614            {
1615                verboselog(device->machine(), 2, "mc68328_r (%04x): Unknown address (0xfff001)\n", mem_mask);
1615                verboselog(space.machine(), 2, "mc68328_r (%04x): Unknown address (0xfff001)\n", mem_mask);
16161616            }
16171617            else
16181618            {
1619                verboselog(device->machine(), 2, "mc68328_r (%04x): SCR = %02x\n", mem_mask, mc68328->regs.scr);
1619                verboselog(space.machine(), 2, "mc68328_r (%04x): SCR = %02x\n", mem_mask, mc68328->regs.scr);
16201620                return mc68328->regs.scr << 8;
16211621            }
16221622            break;
16231623
16241624        case 0x100:
1625            verboselog(device->machine(), 2, "mc68328_r (%04x): GRPBASEA = %04x\n", mem_mask, mc68328->regs.grpbasea);
1625            verboselog(space.machine(), 2, "mc68328_r (%04x): GRPBASEA = %04x\n", mem_mask, mc68328->regs.grpbasea);
16261626            return mc68328->regs.grpbasea;
16271627
16281628        case 0x102:
1629            verboselog(device->machine(), 2, "mc68328_r (%04x): GRPBASEB = %04x\n", mem_mask, mc68328->regs.grpbaseb);
1629            verboselog(space.machine(), 2, "mc68328_r (%04x): GRPBASEB = %04x\n", mem_mask, mc68328->regs.grpbaseb);
16301630            return mc68328->regs.grpbaseb;
16311631
16321632        case 0x104:
1633            verboselog(device->machine(), 2, "mc68328_r (%04x): GRPBASEC = %04x\n", mem_mask, mc68328->regs.grpbasec);
1633            verboselog(space.machine(), 2, "mc68328_r (%04x): GRPBASEC = %04x\n", mem_mask, mc68328->regs.grpbasec);
16341634            return mc68328->regs.grpbasec;
16351635
16361636        case 0x106:
1637            verboselog(device->machine(), 2, "mc68328_r (%04x): GRPBASED = %04x\n", mem_mask, mc68328->regs.grpbased);
1637            verboselog(space.machine(), 2, "mc68328_r (%04x): GRPBASED = %04x\n", mem_mask, mc68328->regs.grpbased);
16381638            return mc68328->regs.grpbased;
16391639
16401640        case 0x108:
1641            verboselog(device->machine(), 2, "mc68328_r (%04x): GRPMASKA = %04x\n", mem_mask, mc68328->regs.grpmaska);
1641            verboselog(space.machine(), 2, "mc68328_r (%04x): GRPMASKA = %04x\n", mem_mask, mc68328->regs.grpmaska);
16421642            return mc68328->regs.grpmaska;
16431643
16441644        case 0x10a:
1645            verboselog(device->machine(), 2, "mc68328_r (%04x): GRPMASKB = %04x\n", mem_mask, mc68328->regs.grpmaskb);
1645            verboselog(space.machine(), 2, "mc68328_r (%04x): GRPMASKB = %04x\n", mem_mask, mc68328->regs.grpmaskb);
16461646            return mc68328->regs.grpmaskb;
16471647
16481648        case 0x10c:
1649            verboselog(device->machine(), 2, "mc68328_r (%04x): GRPMASKC = %04x\n", mem_mask, mc68328->regs.grpmaskc);
1649            verboselog(space.machine(), 2, "mc68328_r (%04x): GRPMASKC = %04x\n", mem_mask, mc68328->regs.grpmaskc);
16501650            return mc68328->regs.grpmaskc;
16511651
16521652        case 0x10e:
1653            verboselog(device->machine(), 2, "mc68328_r (%04x): GRPMASKD = %04x\n", mem_mask, mc68328->regs.grpmaskd);
1653            verboselog(space.machine(), 2, "mc68328_r (%04x): GRPMASKD = %04x\n", mem_mask, mc68328->regs.grpmaskd);
16541654            return mc68328->regs.grpmaskd;
16551655
16561656        case 0x110:
1657            verboselog(device->machine(), 5, "mc68328_r (%04x): CSA0(0) = %04x\n", mem_mask, mc68328->regs.csa0 & 0x0000ffff);
1657            verboselog(space.machine(), 5, "mc68328_r (%04x): CSA0(0) = %04x\n", mem_mask, mc68328->regs.csa0 & 0x0000ffff);
16581658            return mc68328->regs.csa0 & 0x0000ffff;
16591659
16601660        case 0x112:
1661            verboselog(device->machine(), 5, "mc68328_r (%04x): CSA0(16) = %04x\n", mem_mask, mc68328->regs.csa0 >> 16);
1661            verboselog(space.machine(), 5, "mc68328_r (%04x): CSA0(16) = %04x\n", mem_mask, mc68328->regs.csa0 >> 16);
16621662            return mc68328->regs.csa0 >> 16;
16631663
16641664        case 0x114:
1665            verboselog(device->machine(), 5, "mc68328_r (%04x): CSA1(0) = %04x\n", mem_mask, mc68328->regs.csa1 & 0x0000ffff);
1665            verboselog(space.machine(), 5, "mc68328_r (%04x): CSA1(0) = %04x\n", mem_mask, mc68328->regs.csa1 & 0x0000ffff);
16661666            return mc68328->regs.csa1 & 0x0000ffff;
16671667
16681668        case 0x116:
1669            verboselog(device->machine(), 5, "mc68328_r (%04x): CSA1(16) = %04x\n", mem_mask, mc68328->regs.csa1 >> 16);
1669            verboselog(space.machine(), 5, "mc68328_r (%04x): CSA1(16) = %04x\n", mem_mask, mc68328->regs.csa1 >> 16);
16701670            return mc68328->regs.csa1 >> 16;
16711671
16721672        case 0x118:
1673            verboselog(device->machine(), 5, "mc68328_r (%04x): CSA2(0) = %04x\n", mem_mask, mc68328->regs.csa2 & 0x0000ffff);
1673            verboselog(space.machine(), 5, "mc68328_r (%04x): CSA2(0) = %04x\n", mem_mask, mc68328->regs.csa2 & 0x0000ffff);
16741674            return mc68328->regs.csa2 & 0x0000ffff;
16751675
16761676        case 0x11a:
1677            verboselog(device->machine(), 5, "mc68328_r (%04x): CSA2(16) = %04x\n", mem_mask, mc68328->regs.csa2 >> 16);
1677            verboselog(space.machine(), 5, "mc68328_r (%04x): CSA2(16) = %04x\n", mem_mask, mc68328->regs.csa2 >> 16);
16781678            return mc68328->regs.csa2 >> 16;
16791679
16801680        case 0x11c:
1681            verboselog(device->machine(), 5, "mc68328_r (%04x): CSA3(0) = %04x\n", mem_mask, mc68328->regs.csa3 & 0x0000ffff);
1681            verboselog(space.machine(), 5, "mc68328_r (%04x): CSA3(0) = %04x\n", mem_mask, mc68328->regs.csa3 & 0x0000ffff);
16821682            return mc68328->regs.csa3 & 0x0000ffff;
16831683
16841684        case 0x11e:
1685            verboselog(device->machine(), 5, "mc68328_r (%04x): CSA3(16) = %04x\n", mem_mask, mc68328->regs.csa3 >> 16);
1685            verboselog(space.machine(), 5, "mc68328_r (%04x): CSA3(16) = %04x\n", mem_mask, mc68328->regs.csa3 >> 16);
16861686            return mc68328->regs.csa3 >> 16;
16871687
16881688        case 0x120:
1689            verboselog(device->machine(), 5, "mc68328_r (%04x): CSB0(0) = %04x\n", mem_mask, mc68328->regs.csb0 & 0x0000ffff);
1689            verboselog(space.machine(), 5, "mc68328_r (%04x): CSB0(0) = %04x\n", mem_mask, mc68328->regs.csb0 & 0x0000ffff);
16901690            return mc68328->regs.csb0 & 0x0000ffff;
16911691
16921692        case 0x122:
1693            verboselog(device->machine(), 5, "mc68328_r (%04x): CSB0(16) = %04x\n", mem_mask, mc68328->regs.csb0 >> 16);
1693            verboselog(space.machine(), 5, "mc68328_r (%04x): CSB0(16) = %04x\n", mem_mask, mc68328->regs.csb0 >> 16);
16941694            return mc68328->regs.csb0 >> 16;
16951695
16961696        case 0x124:
1697            verboselog(device->machine(), 5, "mc68328_r (%04x): CSB1(0) = %04x\n", mem_mask, mc68328->regs.csb1 & 0x0000ffff);
1697            verboselog(space.machine(), 5, "mc68328_r (%04x): CSB1(0) = %04x\n", mem_mask, mc68328->regs.csb1 & 0x0000ffff);
16981698            return mc68328->regs.csb1 & 0x0000ffff;
16991699
17001700        case 0x126:
1701            verboselog(device->machine(), 5, "mc68328_r (%04x): CSB1(16) = %04x\n", mem_mask, mc68328->regs.csb1 >> 16);
1701            verboselog(space.machine(), 5, "mc68328_r (%04x): CSB1(16) = %04x\n", mem_mask, mc68328->regs.csb1 >> 16);
17021702            return mc68328->regs.csb1 >> 16;
17031703
17041704        case 0x128:
1705            verboselog(device->machine(), 5, "mc68328_r (%04x): CSB2(0) = %04x\n", mem_mask, mc68328->regs.csb2 & 0x0000ffff);
1705            verboselog(space.machine(), 5, "mc68328_r (%04x): CSB2(0) = %04x\n", mem_mask, mc68328->regs.csb2 & 0x0000ffff);
17061706            return mc68328->regs.csb2 & 0x0000ffff;
17071707
17081708        case 0x12a:
1709            verboselog(device->machine(), 5, "mc68328_r (%04x): CSB2(16) = %04x\n", mem_mask, mc68328->regs.csb2 >> 16);
1709            verboselog(space.machine(), 5, "mc68328_r (%04x): CSB2(16) = %04x\n", mem_mask, mc68328->regs.csb2 >> 16);
17101710            return mc68328->regs.csb2 >> 16;
17111711
17121712        case 0x12c:
1713            verboselog(device->machine(), 5, "mc68328_r (%04x): CSB3(0) = %04x\n", mem_mask, mc68328->regs.csb3 & 0x0000ffff);
1713            verboselog(space.machine(), 5, "mc68328_r (%04x): CSB3(0) = %04x\n", mem_mask, mc68328->regs.csb3 & 0x0000ffff);
17141714            return mc68328->regs.csb3 & 0x0000ffff;
17151715
17161716        case 0x12e:
1717            verboselog(device->machine(), 5, "mc68328_r (%04x): CSB3(16) = %04x\n", mem_mask, mc68328->regs.csb3 >> 16);
1717            verboselog(space.machine(), 5, "mc68328_r (%04x): CSB3(16) = %04x\n", mem_mask, mc68328->regs.csb3 >> 16);
17181718            return mc68328->regs.csb3 >> 16;
17191719
17201720        case 0x130:
1721            verboselog(device->machine(), 5, "mc68328_r (%04x): CSC0(0) = %04x\n", mem_mask, mc68328->regs.csc0 & 0x0000ffff);
1721            verboselog(space.machine(), 5, "mc68328_r (%04x): CSC0(0) = %04x\n", mem_mask, mc68328->regs.csc0 & 0x0000ffff);
17221722            return mc68328->regs.csc0 & 0x0000ffff;
17231723
17241724        case 0x132:
1725            verboselog(device->machine(), 5, "mc68328_r (%04x): CSC0(16) = %04x\n", mem_mask, mc68328->regs.csc0 >> 16);
1725            verboselog(space.machine(), 5, "mc68328_r (%04x): CSC0(16) = %04x\n", mem_mask, mc68328->regs.csc0 >> 16);
17261726            return mc68328->regs.csc0 >> 16;
17271727
17281728        case 0x134:
1729            verboselog(device->machine(), 5, "mc68328_r (%04x): CSC1(0) = %04x\n", mem_mask, mc68328->regs.csc1 & 0x0000ffff);
1729            verboselog(space.machine(), 5, "mc68328_r (%04x): CSC1(0) = %04x\n", mem_mask, mc68328->regs.csc1 & 0x0000ffff);
17301730            return mc68328->regs.csc1 & 0x0000ffff;
17311731
17321732        case 0x136:
1733            verboselog(device->machine(), 5, "mc68328_r (%04x): CSC1(16) = %04x\n", mem_mask, mc68328->regs.csc1 >> 16);
1733            verboselog(space.machine(), 5, "mc68328_r (%04x): CSC1(16) = %04x\n", mem_mask, mc68328->regs.csc1 >> 16);
17341734            return mc68328->regs.csc1 >> 16;
17351735
17361736        case 0x138:
1737            verboselog(device->machine(), 5, "mc68328_r (%04x): CSC2(0) = %04x\n", mem_mask, mc68328->regs.csc2 & 0x0000ffff);
1737            verboselog(space.machine(), 5, "mc68328_r (%04x): CSC2(0) = %04x\n", mem_mask, mc68328->regs.csc2 & 0x0000ffff);
17381738            return mc68328->regs.csc2 & 0x0000ffff;
17391739
17401740        case 0x13a:
1741            verboselog(device->machine(), 5, "mc68328_r (%04x): CSC2(16) = %04x\n", mem_mask, mc68328->regs.csc2 >> 16);
1741            verboselog(space.machine(), 5, "mc68328_r (%04x): CSC2(16) = %04x\n", mem_mask, mc68328->regs.csc2 >> 16);
17421742            return mc68328->regs.csc2 >> 16;
17431743
17441744        case 0x13c:
1745            verboselog(device->machine(), 5, "mc68328_r (%04x): CSC3(0) = %04x\n", mem_mask, mc68328->regs.csc3 & 0x0000ffff);
1745            verboselog(space.machine(), 5, "mc68328_r (%04x): CSC3(0) = %04x\n", mem_mask, mc68328->regs.csc3 & 0x0000ffff);
17461746            return mc68328->regs.csc3 & 0x0000ffff;
17471747
17481748        case 0x13e:
1749            verboselog(device->machine(), 5, "mc68328_r (%04x): CSC3(16) = %04x\n", mem_mask, mc68328->regs.csc3 >> 16);
1749            verboselog(space.machine(), 5, "mc68328_r (%04x): CSC3(16) = %04x\n", mem_mask, mc68328->regs.csc3 >> 16);
17501750            return mc68328->regs.csc3 >> 16;
17511751
17521752        case 0x140:
1753            verboselog(device->machine(), 5, "mc68328_r (%04x): CSD0(0) = %04x\n", mem_mask, mc68328->regs.csd0 & 0x0000ffff);
1753            verboselog(space.machine(), 5, "mc68328_r (%04x): CSD0(0) = %04x\n", mem_mask, mc68328->regs.csd0 & 0x0000ffff);
17541754            return mc68328->regs.csd0 & 0x0000ffff;
17551755
17561756        case 0x142:
1757            verboselog(device->machine(), 5, "mc68328_r (%04x): CSD0(16) = %04x\n", mem_mask, mc68328->regs.csd0 >> 16);
1757            verboselog(space.machine(), 5, "mc68328_r (%04x): CSD0(16) = %04x\n", mem_mask, mc68328->regs.csd0 >> 16);
17581758            return mc68328->regs.csd0 >> 16;
17591759
17601760        case 0x144:
1761            verboselog(device->machine(), 5, "mc68328_r (%04x): CSD1(0) = %04x\n", mem_mask, mc68328->regs.csd1 & 0x0000ffff);
1761            verboselog(space.machine(), 5, "mc68328_r (%04x): CSD1(0) = %04x\n", mem_mask, mc68328->regs.csd1 & 0x0000ffff);
17621762            return mc68328->regs.csd1 & 0x0000ffff;
17631763
17641764        case 0x146:
1765            verboselog(device->machine(), 5, "mc68328_r (%04x): CSD1(16) = %04x\n", mem_mask, mc68328->regs.csd1 >> 16);
1765            verboselog(space.machine(), 5, "mc68328_r (%04x): CSD1(16) = %04x\n", mem_mask, mc68328->regs.csd1 >> 16);
17661766            return mc68328->regs.csd1 >> 16;
17671767
17681768        case 0x148:
1769            verboselog(device->machine(), 5, "mc68328_r (%04x): CSD2(0) = %04x\n", mem_mask, mc68328->regs.csd2 & 0x0000ffff);
1769            verboselog(space.machine(), 5, "mc68328_r (%04x): CSD2(0) = %04x\n", mem_mask, mc68328->regs.csd2 & 0x0000ffff);
17701770            return mc68328->regs.csd2 & 0x0000ffff;
17711771
17721772        case 0x14a:
1773            verboselog(device->machine(), 5, "mc68328_r (%04x): CSD2(16) = %04x\n", mem_mask, mc68328->regs.csd2 >> 16);
1773            verboselog(space.machine(), 5, "mc68328_r (%04x): CSD2(16) = %04x\n", mem_mask, mc68328->regs.csd2 >> 16);
17741774            return mc68328->regs.csd2 >> 16;
17751775
17761776        case 0x14c:
1777            verboselog(device->machine(), 5, "mc68328_r (%04x): CSD3(0) = %04x\n", mem_mask, mc68328->regs.csd3 & 0x0000ffff);
1777            verboselog(space.machine(), 5, "mc68328_r (%04x): CSD3(0) = %04x\n", mem_mask, mc68328->regs.csd3 & 0x0000ffff);
17781778            return mc68328->regs.csd3 & 0x0000ffff;
17791779
17801780        case 0x14e:
1781            verboselog(device->machine(), 5, "mc68328_r (%04x): CSD3(16) = %04x\n", mem_mask, mc68328->regs.csd3 >> 16);
1781            verboselog(space.machine(), 5, "mc68328_r (%04x): CSD3(16) = %04x\n", mem_mask, mc68328->regs.csd3 >> 16);
17821782            return mc68328->regs.csd3 >> 16;
17831783
17841784        case 0x200:
1785            verboselog(device->machine(), 2, "mc68328_r (%04x): PLLCR = %04x\n", mem_mask, mc68328->regs.pllcr);
1785            verboselog(space.machine(), 2, "mc68328_r (%04x): PLLCR = %04x\n", mem_mask, mc68328->regs.pllcr);
17861786            return mc68328->regs.pllcr;
17871787
17881788        case 0x202:
1789            verboselog(device->machine(), 2, "mc68328_r (%04x): PLLFSR = %04x\n", mem_mask, mc68328->regs.pllfsr);
1789            verboselog(space.machine(), 2, "mc68328_r (%04x): PLLFSR = %04x\n", mem_mask, mc68328->regs.pllfsr);
17901790            mc68328->regs.pllfsr ^= 0x8000;
17911791            return mc68328->regs.pllfsr;
17921792
17931793        case 0x206:
17941794            if( mem_mask & 0x00ff )
17951795            {
1796                verboselog(device->machine(), 2, "mc68328_r (%04x): Unknown address (0xfff206)\n", mem_mask);
1796                verboselog(space.machine(), 2, "mc68328_r (%04x): Unknown address (0xfff206)\n", mem_mask);
17971797            }
17981798            else
17991799            {
1800                verboselog(device->machine(), 2, "mc68328_r (%04x): PCTLR = %02x\n", mem_mask, mc68328->regs.pctlr);
1800                verboselog(space.machine(), 2, "mc68328_r (%04x): PCTLR = %02x\n", mem_mask, mc68328->regs.pctlr);
18011801                return mc68328->regs.pctlr << 8;
18021802            }
18031803            break;
r18055r18056
18051805        case 0x300:
18061806            if( mem_mask & 0x00ff )
18071807            {
1808                verboselog(device->machine(), 2, "mc68328_r (%04x): Unknown address (0xfff301)\n", mem_mask);
1808                verboselog(space.machine(), 2, "mc68328_r (%04x): Unknown address (0xfff301)\n", mem_mask);
18091809            }
18101810            else
18111811            {
1812                verboselog(device->machine(), 2, "mc68328_r (%04x): IVR = %02x\n", mem_mask, mc68328->regs.ivr);
1812                verboselog(space.machine(), 2, "mc68328_r (%04x): IVR = %02x\n", mem_mask, mc68328->regs.ivr);
18131813                return mc68328->regs.ivr << 8;
18141814            }
18151815            break;
18161816
18171817        case 0x302:
1818            verboselog(device->machine(), 2, "mc68328_r (%04x): ICR = %04x\n", mem_mask, mc68328->regs.icr);
1818            verboselog(space.machine(), 2, "mc68328_r (%04x): ICR = %04x\n", mem_mask, mc68328->regs.icr);
18191819            return mc68328->regs.icr;
18201820
18211821        case 0x304:
1822            verboselog(device->machine(), 2, "mc68328_r (%04x): IMR(16) = %04x\n", mem_mask, mc68328->regs.imr >> 16);
1822            verboselog(space.machine(), 2, "mc68328_r (%04x): IMR(16) = %04x\n", mem_mask, mc68328->regs.imr >> 16);
18231823            return mc68328->regs.imr >> 16;
18241824
18251825        case 0x306:
1826            verboselog(device->machine(), 2, "mc68328_r (%04x): IMR(0) = %04x\n", mem_mask, mc68328->regs.imr & 0x0000ffff);
1826            verboselog(space.machine(), 2, "mc68328_r (%04x): IMR(0) = %04x\n", mem_mask, mc68328->regs.imr & 0x0000ffff);
18271827            return mc68328->regs.imr & 0x0000ffff;
18281828
18291829        case 0x308:
1830            verboselog(device->machine(), 2, "mc68328_r (%04x): IWR(16) = %04x\n", mem_mask, mc68328->regs.iwr >> 16);
1830            verboselog(space.machine(), 2, "mc68328_r (%04x): IWR(16) = %04x\n", mem_mask, mc68328->regs.iwr >> 16);
18311831            return mc68328->regs.iwr >> 16;
18321832
18331833        case 0x30a:
1834            verboselog(device->machine(), 2, "mc68328_r (%04x): IWR(0) = %04x\n", mem_mask, mc68328->regs.iwr & 0x0000ffff);
1834            verboselog(space.machine(), 2, "mc68328_r (%04x): IWR(0) = %04x\n", mem_mask, mc68328->regs.iwr & 0x0000ffff);
18351835            return mc68328->regs.iwr & 0x0000ffff;
18361836
18371837        case 0x30c:
1838            verboselog(device->machine(), 2, "mc68328_r (%04x): ISR(16) = %04x\n", mem_mask, mc68328->regs.isr >> 16);
1838            verboselog(space.machine(), 2, "mc68328_r (%04x): ISR(16) = %04x\n", mem_mask, mc68328->regs.isr >> 16);
18391839            return mc68328->regs.isr >> 16;
18401840
18411841        case 0x30e:
1842            verboselog(device->machine(), 2, "mc68328_r (%04x): ISR(0) = %04x\n", mem_mask, mc68328->regs.isr & 0x0000ffff);
1842            verboselog(space.machine(), 2, "mc68328_r (%04x): ISR(0) = %04x\n", mem_mask, mc68328->regs.isr & 0x0000ffff);
18431843            return mc68328->regs.isr & 0x0000ffff;
18441844
18451845        case 0x310:
1846            verboselog(device->machine(), 2, "mc68328_r (%04x): IPR(16) = %04x\n", mem_mask, mc68328->regs.ipr >> 16);
1846            verboselog(space.machine(), 2, "mc68328_r (%04x): IPR(16) = %04x\n", mem_mask, mc68328->regs.ipr >> 16);
18471847            return mc68328->regs.ipr >> 16;
18481848
18491849        case 0x312:
1850            verboselog(device->machine(), 2, "mc68328_r (%04x): IPR(0) = %04x\n", mem_mask, mc68328->regs.ipr & 0x0000ffff);
1850            verboselog(space.machine(), 2, "mc68328_r (%04x): IPR(0) = %04x\n", mem_mask, mc68328->regs.ipr & 0x0000ffff);
18511851            return mc68328->regs.ipr & 0x0000ffff;
18521852
18531853        case 0x400:
18541854            if( mem_mask & 0x00ff )
18551855            {
1856                verboselog(device->machine(), 2, "mc68328_r (%04x): PADATA = %02x\n", mem_mask, mc68328->regs.padata);
1856                verboselog(space.machine(), 2, "mc68328_r (%04x): PADATA = %02x\n", mem_mask, mc68328->regs.padata);
18571857                if(!mc68328->in_port_a.isnull())
18581858                {
18591859                    return mc68328->in_port_a( 0 );
r18055r18056
18651865            }
18661866            else
18671867            {
1868                verboselog(device->machine(), 2, "mc68328_r (%04x): PADIR = %02x\n", mem_mask, mc68328->regs.padir);
1868                verboselog(space.machine(), 2, "mc68328_r (%04x): PADIR = %02x\n", mem_mask, mc68328->regs.padir);
18691869                return mc68328->regs.padir << 8;
18701870            }
18711871            break;
r18055r18056
18731873        case 0x402:
18741874            if( mem_mask & 0x00ff )
18751875            {
1876                verboselog(device->machine(), 2, "mc68328_r (%04x): PASEL = %02x\n", mem_mask, mc68328->regs.pasel);
1876                verboselog(space.machine(), 2, "mc68328_r (%04x): PASEL = %02x\n", mem_mask, mc68328->regs.pasel);
18771877                return mc68328->regs.pasel;
18781878            }
18791879            else
18801880            {
1881                verboselog(device->machine(), 2, "mc68328_r (%04x): Unknown address (0xfff402)\n", mem_mask);
1881                verboselog(space.machine(), 2, "mc68328_r (%04x): Unknown address (0xfff402)\n", mem_mask);
18821882            }
18831883            break;
18841884
18851885        case 0x408:
18861886            if( mem_mask & 0x00ff )
18871887            {
1888                verboselog(device->machine(), 2, "mc68328_r (%04x): PBDATA = %02x\n", mem_mask, mc68328->regs.pbdata);
1888                verboselog(space.machine(), 2, "mc68328_r (%04x): PBDATA = %02x\n", mem_mask, mc68328->regs.pbdata);
18891889                if(!mc68328->in_port_b.isnull())
18901890                {
18911891                    return mc68328->in_port_b( 0 );
r18055r18056
18971897            }
18981898            else
18991899            {
1900                verboselog(device->machine(), 2, "mc68328_r (%04x): PBDIR = %02x\n", mem_mask, mc68328->regs.pbdir);
1900                verboselog(space.machine(), 2, "mc68328_r (%04x): PBDIR = %02x\n", mem_mask, mc68328->regs.pbdir);
19011901                return mc68328->regs.pbdir << 8;
19021902            }
19031903            break;
r18055r18056
19051905        case 0x40a:
19061906            if( mem_mask & 0x00ff )
19071907            {
1908                verboselog(device->machine(), 2, "mc68328_r (%04x): PBSEL = %02x\n", mem_mask, mc68328->regs.pbsel);
1908                verboselog(space.machine(), 2, "mc68328_r (%04x): PBSEL = %02x\n", mem_mask, mc68328->regs.pbsel);
19091909                return mc68328->regs.pbsel;
19101910            }
19111911            else
19121912            {
1913                verboselog(device->machine(), 2, "mc68328_r (%04x): Unknown address (0xfff40a)\n", mem_mask);
1913                verboselog(space.machine(), 2, "mc68328_r (%04x): Unknown address (0xfff40a)\n", mem_mask);
19141914            }
19151915            break;
19161916
19171917        case 0x410:
19181918            if( mem_mask & 0x00ff )
19191919            {
1920                verboselog(device->machine(), 2, "mc68328_r (%04x): PCDATA = %02x\n", mem_mask, mc68328->regs.pcdata);
1920                verboselog(space.machine(), 2, "mc68328_r (%04x): PCDATA = %02x\n", mem_mask, mc68328->regs.pcdata);
19211921                if(!mc68328->in_port_c.isnull())
19221922                {
19231923                    return mc68328->in_port_c( 0 );
r18055r18056
19291929            }
19301930            else
19311931            {
1932                verboselog(device->machine(), 2, "mc68328_r (%04x): PCDIR = %02x\n", mem_mask, mc68328->regs.pcdir);
1932                verboselog(space.machine(), 2, "mc68328_r (%04x): PCDIR = %02x\n", mem_mask, mc68328->regs.pcdir);
19331933                return mc68328->regs.pcdir << 8;
19341934            }
19351935            break;
r18055r18056
19371937        case 0x412:
19381938            if( mem_mask & 0x00ff )
19391939            {
1940                verboselog(device->machine(), 2, "mc68328_r (%04x): PCSEL = %02x\n", mem_mask, mc68328->regs.pcsel);
1940                verboselog(space.machine(), 2, "mc68328_r (%04x): PCSEL = %02x\n", mem_mask, mc68328->regs.pcsel);
19411941                return mc68328->regs.pcsel;
19421942            }
19431943            else
19441944            {
1945                verboselog(device->machine(), 2, "mc68328_r (%04x): Unknown address (0xfff412)\n", mem_mask);
1945                verboselog(space.machine(), 2, "mc68328_r (%04x): Unknown address (0xfff412)\n", mem_mask);
19461946            }
19471947            break;
19481948
19491949        case 0x418:
19501950            if( mem_mask & 0x00ff )
19511951            {
1952                verboselog(device->machine(), 2, "mc68328_r (%04x): PDDATA = %02x\n", mem_mask, mc68328->regs.pddata);
1952                verboselog(space.machine(), 2, "mc68328_r (%04x): PDDATA = %02x\n", mem_mask, mc68328->regs.pddata);
19531953                if(!mc68328->in_port_d.isnull())
19541954                {
19551955                    return mc68328->in_port_d( 0 );
r18055r18056
19611961            }
19621962            else
19631963            {
1964                verboselog(device->machine(), 2, "mc68328_r (%04x): PDDIR = %02x\n", mem_mask, mc68328->regs.pddir);
1964                verboselog(space.machine(), 2, "mc68328_r (%04x): PDDIR = %02x\n", mem_mask, mc68328->regs.pddir);
19651965                return mc68328->regs.pddir << 8;
19661966            }
19671967            break;
r18055r18056
19691969        case 0x41a:
19701970            if( mem_mask & 0x00ff )
19711971            {
1972                verboselog(device->machine(), 2, "mc68328_r (%04x): Unknown address (0xfff41b)\n", mem_mask);
1972                verboselog(space.machine(), 2, "mc68328_r (%04x): Unknown address (0xfff41b)\n", mem_mask);
19731973            }
19741974            else
19751975            {
1976                verboselog(device->machine(), 2, "mc68328_r (%04x): PDPUEN = %02x\n", mem_mask, mc68328->regs.pdpuen);
1976                verboselog(space.machine(), 2, "mc68328_r (%04x): PDPUEN = %02x\n", mem_mask, mc68328->regs.pdpuen);
19771977                return mc68328->regs.pdpuen << 8;
19781978            }
19791979            break;
r18055r18056
19811981        case 0x41c:
19821982            if( mem_mask & 0x00ff )
19831983            {
1984                verboselog(device->machine(), 2, "mc68328_r (%04x): PDIRQEN = %02x\n", mem_mask, mc68328->regs.pdirqen);
1984                verboselog(space.machine(), 2, "mc68328_r (%04x): PDIRQEN = %02x\n", mem_mask, mc68328->regs.pdirqen);
19851985                return mc68328->regs.pdirqen;
19861986            }
19871987            else
19881988            {
1989                verboselog(device->machine(), 2, "mc68328_r (%04x): PDPOL = %02x\n", mem_mask, mc68328->regs.pdpol);
1989                verboselog(space.machine(), 2, "mc68328_r (%04x): PDPOL = %02x\n", mem_mask, mc68328->regs.pdpol);
19901990                return mc68328->regs.pdpol << 8;
19911991            }
19921992            break;
r18055r18056
19941994        case 0x41e:
19951995            if( mem_mask & 0x00ff )
19961996            {
1997                verboselog(device->machine(), 2, "mc68328_r (%04x): PDIRQEDGE = %02x\n", mem_mask, mc68328->regs.pdirqedge);
1997                verboselog(space.machine(), 2, "mc68328_r (%04x): PDIRQEDGE = %02x\n", mem_mask, mc68328->regs.pdirqedge);
19981998                return mc68328->regs.pdirqedge;
19991999            }
20002000            else
20012001            {
2002                verboselog(device->machine(), 2, "mc68328_r (%04x): Unknown address (0xfff41e)\n", mem_mask);
2002                verboselog(space.machine(), 2, "mc68328_r (%04x): Unknown address (0xfff41e)\n", mem_mask);
20032003            }
20042004            break;
20052005
20062006        case 0x420:
20072007            if( mem_mask & 0x00ff )
20082008            {
2009                verboselog(device->machine(), 2, "mc68328_r (%04x): PEDATA = %02x\n", mem_mask, mc68328->regs.pedata);
2009                verboselog(space.machine(), 2, "mc68328_r (%04x): PEDATA = %02x\n", mem_mask, mc68328->regs.pedata);
20102010                if(!mc68328->in_port_e.isnull())
20112011                {
20122012                    return mc68328->in_port_e( 0 );
r18055r18056
20182018            }
20192019            else
20202020            {
2021                verboselog(device->machine(), 2, "mc68328_r (%04x): PEDIR = %02x\n", mem_mask, mc68328->regs.pedir);
2021                verboselog(space.machine(), 2, "mc68328_r (%04x): PEDIR = %02x\n", mem_mask, mc68328->regs.pedir);
20222022                return mc68328->regs.pedir << 8;
20232023            }
20242024            break;
r18055r18056
20262026        case 0x422:
20272027            if( mem_mask & 0x00ff )
20282028            {
2029                verboselog(device->machine(), 2, "mc68328_r (%04x): PESEL = %02x\n", mem_mask, mc68328->regs.pesel);
2029                verboselog(space.machine(), 2, "mc68328_r (%04x): PESEL = %02x\n", mem_mask, mc68328->regs.pesel);
20302030                return mc68328->regs.pesel;
20312031            }
20322032            else
20332033            {
2034                verboselog(device->machine(), 2, "mc68328_r (%04x): PEPUEN = %02x\n", mem_mask, mc68328->regs.pepuen);
2034                verboselog(space.machine(), 2, "mc68328_r (%04x): PEPUEN = %02x\n", mem_mask, mc68328->regs.pepuen);
20352035                return mc68328->regs.pepuen << 8;
20362036            }
20372037            break;
r18055r18056
20392039        case 0x428:
20402040            if( mem_mask & 0x00ff )
20412041            {
2042                verboselog(device->machine(), 2, "mc68328_r (%04x): PFDATA = %02x\n", mem_mask, mc68328->regs.pfdata);
2042                verboselog(space.machine(), 2, "mc68328_r (%04x): PFDATA = %02x\n", mem_mask, mc68328->regs.pfdata);
20432043                if(!mc68328->in_port_f.isnull())
20442044                {
20452045                    return mc68328->in_port_f( 0 );
r18055r18056
20512051            }
20522052            else
20532053            {
2054                verboselog(device->machine(), 2, "mc68328_r (%04x): PFDIR = %02x\n", mem_mask, mc68328->regs.pfdir);
2054                verboselog(space.machine(), 2, "mc68328_r (%04x): PFDIR = %02x\n", mem_mask, mc68328->regs.pfdir);
20552055                return mc68328->regs.pfdir << 8;
20562056            }
20572057            break;
r18055r18056
20592059        case 0x42a:
20602060            if( mem_mask & 0x00ff )
20612061            {
2062                verboselog(device->machine(), 2, "mc68328_r (%04x): PFSEL = %02x\n", mem_mask, mc68328->regs.pfsel);
2062                verboselog(space.machine(), 2, "mc68328_r (%04x): PFSEL = %02x\n", mem_mask, mc68328->regs.pfsel);
20632063                return mc68328->regs.pfsel;
20642064            }
20652065            else
20662066            {
2067                verboselog(device->machine(), 2, "mc68328_r (%04x): PFPUEN = %02x\n", mem_mask, mc68328->regs.pfpuen);
2067                verboselog(space.machine(), 2, "mc68328_r (%04x): PFPUEN = %02x\n", mem_mask, mc68328->regs.pfpuen);
20682068                return mc68328->regs.pfpuen << 8;
20692069            }
20702070            break;
r18055r18056
20722072        case 0x430:
20732073            if( mem_mask & 0x00ff )
20742074            {
2075                verboselog(device->machine(), 2, "mc68328_r (%04x): PGDATA = %02x\n", mem_mask, mc68328->regs.pgdata);
2075                verboselog(space.machine(), 2, "mc68328_r (%04x): PGDATA = %02x\n", mem_mask, mc68328->regs.pgdata);
20762076                if(!mc68328->in_port_g.isnull())
20772077                {
20782078                    return mc68328->in_port_g( 0 );
r18055r18056
20842084            }
20852085            else
20862086            {
2087                verboselog(device->machine(), 2, "mc68328_r (%04x): PGDIR = %02x\n", mem_mask, mc68328->regs.pgdir);
2087                verboselog(space.machine(), 2, "mc68328_r (%04x): PGDIR = %02x\n", mem_mask, mc68328->regs.pgdir);
20882088                return mc68328->regs.pgdir << 8;
20892089            }
20902090            break;
r18055r18056
20922092        case 0x432:
20932093            if( mem_mask & 0x00ff )
20942094            {
2095                verboselog(device->machine(), 2, "mc68328_r (%04x): PGSEL = %02x\n", mem_mask, mc68328->regs.pgsel);
2095                verboselog(space.machine(), 2, "mc68328_r (%04x): PGSEL = %02x\n", mem_mask, mc68328->regs.pgsel);
20962096                return mc68328->regs.pgsel;
20972097            }
20982098            else
20992099            {
2100                verboselog(device->machine(), 2, "mc68328_r (%04x): PGPUEN = %02x\n", mem_mask, mc68328->regs.pgpuen);
2100                verboselog(space.machine(), 2, "mc68328_r (%04x): PGPUEN = %02x\n", mem_mask, mc68328->regs.pgpuen);
21012101                return mc68328->regs.pgpuen << 8;
21022102            }
21032103            break;
r18055r18056
21052105        case 0x438:
21062106            if( mem_mask & 0x00ff )
21072107            {
2108                verboselog(device->machine(), 2, "mc68328_r (%04x): PJDATA = %02x\n", mem_mask, mc68328->regs.pjdata);
2108                verboselog(space.machine(), 2, "mc68328_r (%04x): PJDATA = %02x\n", mem_mask, mc68328->regs.pjdata);
21092109                if(!mc68328->in_port_j.isnull())
21102110                {
21112111                    return mc68328->in_port_j( 0 );
r18055r18056
21172117            }
21182118            else
21192119            {
2120                verboselog(device->machine(), 2, "mc68328_r (%04x): PJDIR = %02x\n", mem_mask, mc68328->regs.pjdir);
2120                verboselog(space.machine(), 2, "mc68328_r (%04x): PJDIR = %02x\n", mem_mask, mc68328->regs.pjdir);
21212121                return mc68328->regs.pjdir << 8;
21222122            }
21232123            break;
r18055r18056
21252125        case 0x43a:
21262126            if( mem_mask & 0x00ff )
21272127            {
2128                verboselog(device->machine(), 2, "mc68328_r (%04x): PJSEL = %02x\n", mem_mask, mc68328->regs.pjsel);
2128                verboselog(space.machine(), 2, "mc68328_r (%04x): PJSEL = %02x\n", mem_mask, mc68328->regs.pjsel);
21292129                return mc68328->regs.pjsel;
21302130            }
21312131            else
21322132            {
2133                verboselog(device->machine(), 2, "mc68328_r (%04x): Unknown address (0xfff43a)\n", mem_mask);
2133                verboselog(space.machine(), 2, "mc68328_r (%04x): Unknown address (0xfff43a)\n", mem_mask);
21342134            }
21352135            break;
21362136
21372137        case 0x440:
21382138            if( mem_mask & 0x00ff )
21392139            {
2140                verboselog(device->machine(), 2, "mc68328_r (%04x): PKDATA = %02x\n", mem_mask, mc68328->regs.pkdata);
2140                verboselog(space.machine(), 2, "mc68328_r (%04x): PKDATA = %02x\n", mem_mask, mc68328->regs.pkdata);
21412141                if(!mc68328->in_port_k.isnull())
21422142                {
21432143                    return mc68328->in_port_k( 0 );
r18055r18056
21492149            }
21502150            else
21512151            {
2152                verboselog(device->machine(), 2, "mc68328_r (%04x): PKDIR = %02x\n", mem_mask, mc68328->regs.pkdir);
2152                verboselog(space.machine(), 2, "mc68328_r (%04x): PKDIR = %02x\n", mem_mask, mc68328->regs.pkdir);
21532153                return mc68328->regs.pkdir << 8;
21542154            }
21552155            break;
r18055r18056
21572157        case 0x442:
21582158            if( mem_mask & 0x00ff )
21592159            {
2160                verboselog(device->machine(), 2, "mc68328_r (%04x): PKSEL = %02x\n", mem_mask, mc68328->regs.pksel);
2160                verboselog(space.machine(), 2, "mc68328_r (%04x): PKSEL = %02x\n", mem_mask, mc68328->regs.pksel);
21612161                return mc68328->regs.pksel;
21622162            }
21632163            else
21642164            {
2165                verboselog(device->machine(), 2, "mc68328_r (%04x): PKPUEN = %02x\n", mem_mask, mc68328->regs.pkpuen);
2165                verboselog(space.machine(), 2, "mc68328_r (%04x): PKPUEN = %02x\n", mem_mask, mc68328->regs.pkpuen);
21662166                return mc68328->regs.pkpuen << 8;
21672167            }
21682168            break;
r18055r18056
21702170        case 0x448:
21712171            if( mem_mask & 0x00ff )
21722172            {
2173                verboselog(device->machine(), 2, "mc68328_r (%04x): PMDATA = %02x\n", mem_mask, mc68328->regs.pmdata);
2173                verboselog(space.machine(), 2, "mc68328_r (%04x): PMDATA = %02x\n", mem_mask, mc68328->regs.pmdata);
21742174                if(!mc68328->in_port_m.isnull())
21752175                {
21762176                    return mc68328->in_port_m( 0 );
r18055r18056
21822182            }
21832183            else
21842184            {
2185                verboselog(device->machine(), 2, "mc68328_r (%04x): PMDIR = %02x\n", mem_mask, mc68328->regs.pmdir);
2185                verboselog(space.machine(), 2, "mc68328_r (%04x): PMDIR = %02x\n", mem_mask, mc68328->regs.pmdir);
21862186                return mc68328->regs.pmdir << 8;
21872187            }
21882188            break;
r18055r18056
21902190        case 0x44a:
21912191            if( mem_mask & 0x00ff )
21922192            {
2193                verboselog(device->machine(), 2, "mc68328_r (%04x): PMSEL = %02x\n", mem_mask, mc68328->regs.pmsel);
2193                verboselog(space.machine(), 2, "mc68328_r (%04x): PMSEL = %02x\n", mem_mask, mc68328->regs.pmsel);
21942194                return mc68328->regs.pmsel;
21952195            }
21962196            else
21972197            {
2198                verboselog(device->machine(), 2, "mc68328_r (%04x): PMPUEN = %02x\n", mem_mask, mc68328->regs.pmpuen);
2198                verboselog(space.machine(), 2, "mc68328_r (%04x): PMPUEN = %02x\n", mem_mask, mc68328->regs.pmpuen);
21992199                return mc68328->regs.pmpuen << 8;
22002200            }
22012201            break;
22022202
22032203        case 0x500:
2204            verboselog(device->machine(), 2, "mc68328_r (%04x): PWMC = %04x\n", mem_mask, mc68328->regs.pwmc);
2204            verboselog(space.machine(), 2, "mc68328_r (%04x): PWMC = %04x\n", mem_mask, mc68328->regs.pwmc);
22052205            temp16 = mc68328->regs.pwmc;
22062206            if(mc68328->regs.pwmc & PWMC_PWMIRQ)
22072207            {
r18055r18056
22112211            return temp16;
22122212
22132213        case 0x502:
2214            verboselog(device->machine(), 2, "mc68328_r (%04x): PWMP = %04x\n", mem_mask, mc68328->regs.pwmp);
2214            verboselog(space.machine(), 2, "mc68328_r (%04x): PWMP = %04x\n", mem_mask, mc68328->regs.pwmp);
22152215            return mc68328->regs.pwmp;
22162216
22172217        case 0x504:
2218            verboselog(device->machine(), 2, "mc68328_r (%04x): PWMW = %04x\n", mem_mask, mc68328->regs.pwmw);
2218            verboselog(space.machine(), 2, "mc68328_r (%04x): PWMW = %04x\n", mem_mask, mc68328->regs.pwmw);
22192219            return mc68328->regs.pwmw;
22202220
22212221        case 0x506:
2222            verboselog(device->machine(), 2, "mc68328_r (%04x): PWMCNT = %04x\n", mem_mask, mc68328->regs.pwmcnt);
2222            verboselog(space.machine(), 2, "mc68328_r (%04x): PWMCNT = %04x\n", mem_mask, mc68328->regs.pwmcnt);
22232223            return mc68328->regs.pwmcnt;
22242224
22252225        case 0x600:
2226            verboselog(device->machine(), 2, "mc68328_r (%04x): TCTL1 = %04x\n", mem_mask, mc68328->regs.tctl[0]);
2226            verboselog(space.machine(), 2, "mc68328_r (%04x): TCTL1 = %04x\n", mem_mask, mc68328->regs.tctl[0]);
22272227            return mc68328->regs.tctl[0];
22282228
22292229        case 0x602:
2230            verboselog(device->machine(), 2, "mc68328_r (%04x): TPRER1 = %04x\n", mem_mask, mc68328->regs.tprer[0]);
2230            verboselog(space.machine(), 2, "mc68328_r (%04x): TPRER1 = %04x\n", mem_mask, mc68328->regs.tprer[0]);
22312231            return mc68328->regs.tprer[0];
22322232
22332233        case 0x604:
2234            verboselog(device->machine(), 2, "mc68328_r (%04x): TCMP1 = %04x\n", mem_mask, mc68328->regs.tcmp[0]);
2234            verboselog(space.machine(), 2, "mc68328_r (%04x): TCMP1 = %04x\n", mem_mask, mc68328->regs.tcmp[0]);
22352235            return mc68328->regs.tcmp[0];
22362236
22372237        case 0x606:
2238            verboselog(device->machine(), 2, "mc68328_r (%04x): TCR1 = %04x\n", mem_mask, mc68328->regs.tcr[0]);
2238            verboselog(space.machine(), 2, "mc68328_r (%04x): TCR1 = %04x\n", mem_mask, mc68328->regs.tcr[0]);
22392239            return mc68328->regs.tcr[0];
22402240
22412241        case 0x608:
2242            verboselog(device->machine(), 2, "mc68328_r (%04x): TCN1 = %04x\n", mem_mask, mc68328->regs.tcn[0]);
2242            verboselog(space.machine(), 2, "mc68328_r (%04x): TCN1 = %04x\n", mem_mask, mc68328->regs.tcn[0]);
22432243            return mc68328->regs.tcn[0];
22442244
22452245        case 0x60a:
2246            verboselog(device->machine(), 5, "mc68328_r (%04x): TSTAT1 = %04x\n", mem_mask, mc68328->regs.tstat[0]);
2246            verboselog(space.machine(), 5, "mc68328_r (%04x): TSTAT1 = %04x\n", mem_mask, mc68328->regs.tstat[0]);
22472247            mc68328->regs.tclear[0] |= mc68328->regs.tstat[0];
22482248            return mc68328->regs.tstat[0];
22492249
22502250        case 0x60c:
2251            verboselog(device->machine(), 2, "mc68328_r (%04x): TCTL2 = %04x\n", mem_mask, mc68328->regs.tctl[1]);
2251            verboselog(space.machine(), 2, "mc68328_r (%04x): TCTL2 = %04x\n", mem_mask, mc68328->regs.tctl[1]);
22522252            return mc68328->regs.tctl[1];
22532253
22542254        case 0x60e:
2255            verboselog(device->machine(), 2, "mc68328_r (%04x): TPREP2 = %04x\n", mem_mask, mc68328->regs.tprer[1]);
2255            verboselog(space.machine(), 2, "mc68328_r (%04x): TPREP2 = %04x\n", mem_mask, mc68328->regs.tprer[1]);
22562256            return mc68328->regs.tprer[1];
22572257
22582258        case 0x610:
2259            verboselog(device->machine(), 2, "mc68328_r (%04x): TCMP2 = %04x\n", mem_mask, mc68328->regs.tcmp[1]);
2259            verboselog(space.machine(), 2, "mc68328_r (%04x): TCMP2 = %04x\n", mem_mask, mc68328->regs.tcmp[1]);
22602260            return mc68328->regs.tcmp[1];
22612261
22622262        case 0x612:
2263            verboselog(device->machine(), 2, "mc68328_r (%04x): TCR2 = %04x\n", mem_mask, mc68328->regs.tcr[1]);
2263            verboselog(space.machine(), 2, "mc68328_r (%04x): TCR2 = %04x\n", mem_mask, mc68328->regs.tcr[1]);
22642264            return mc68328->regs.tcr[1];
22652265
22662266        case 0x614:
2267            verboselog(device->machine(), 2, "mc68328_r (%04x): TCN2 = %04x\n", mem_mask, mc68328->regs.tcn[1]);
2267            verboselog(space.machine(), 2, "mc68328_r (%04x): TCN2 = %04x\n", mem_mask, mc68328->regs.tcn[1]);
22682268            return mc68328->regs.tcn[1];
22692269
22702270        case 0x616:
2271            verboselog(device->machine(), 2, "mc68328_r (%04x): TSTAT2 = %04x\n", mem_mask, mc68328->regs.tstat[1]);
2271            verboselog(space.machine(), 2, "mc68328_r (%04x): TSTAT2 = %04x\n", mem_mask, mc68328->regs.tstat[1]);
22722272            mc68328->regs.tclear[1] |= mc68328->regs.tstat[1];
22732273            return mc68328->regs.tstat[1];
22742274
22752275        case 0x618:
2276            verboselog(device->machine(), 2, "mc68328_r (%04x): WCTLR = %04x\n", mem_mask, mc68328->regs.wctlr);
2276            verboselog(space.machine(), 2, "mc68328_r (%04x): WCTLR = %04x\n", mem_mask, mc68328->regs.wctlr);
22772277            return mc68328->regs.wctlr;
22782278
22792279        case 0x61a:
2280            verboselog(device->machine(), 2, "mc68328_r (%04x): WCMPR = %04x\n", mem_mask, mc68328->regs.wcmpr);
2280            verboselog(space.machine(), 2, "mc68328_r (%04x): WCMPR = %04x\n", mem_mask, mc68328->regs.wcmpr);
22812281            return mc68328->regs.wcmpr;
22822282
22832283        case 0x61c:
2284            verboselog(device->machine(), 2, "mc68328_r (%04x): WCN = %04x\n", mem_mask, mc68328->regs.wcn);
2284            verboselog(space.machine(), 2, "mc68328_r (%04x): WCN = %04x\n", mem_mask, mc68328->regs.wcn);
22852285            return mc68328->regs.wcn;
22862286
22872287        case 0x700:
2288            verboselog(device->machine(), 2, "mc68328_r (%04x): SPISR = %04x\n", mem_mask, mc68328->regs.spisr);
2288            verboselog(space.machine(), 2, "mc68328_r (%04x): SPISR = %04x\n", mem_mask, mc68328->regs.spisr);
22892289            return mc68328->regs.spisr;
22902290
22912291        case 0x800:
2292            verboselog(device->machine(), 2, "mc68328_r (%04x): SPIMDATA = %04x\n", mem_mask, mc68328->regs.spimdata);
2292            verboselog(space.machine(), 2, "mc68328_r (%04x): SPIMDATA = %04x\n", mem_mask, mc68328->regs.spimdata);
22932293            if(!mc68328->in_spim.isnull())
22942294            {
22952295                return mc68328->in_spim( 0, 0xffff );
r18055r18056
22972297            return mc68328->regs.spimdata;
22982298
22992299        case 0x802:
2300            verboselog(device->machine(), 2, "mc68328_r (%04x): SPIMCONT = %04x\n", mem_mask, mc68328->regs.spimcont);
2300            verboselog(space.machine(), 2, "mc68328_r (%04x): SPIMCONT = %04x\n", mem_mask, mc68328->regs.spimcont);
23012301            if(mc68328->regs.spimcont & SPIM_XCH)
23022302            {
23032303                mc68328->regs.spimcont &= ~SPIM_XCH;
r18055r18056
23072307            return mc68328->regs.spimcont;
23082308
23092309        case 0x900:
2310            verboselog(device->machine(), 2, "mc68328_r (%04x): USTCNT = %04x\n", mem_mask, mc68328->regs.ustcnt);
2310            verboselog(space.machine(), 2, "mc68328_r (%04x): USTCNT = %04x\n", mem_mask, mc68328->regs.ustcnt);
23112311            return mc68328->regs.ustcnt;
23122312
23132313        case 0x902:
2314            verboselog(device->machine(), 2, "mc68328_r (%04x): UBAUD = %04x\n", mem_mask, mc68328->regs.ubaud);
2314            verboselog(space.machine(), 2, "mc68328_r (%04x): UBAUD = %04x\n", mem_mask, mc68328->regs.ubaud);
23152315            return mc68328->regs.ubaud;
23162316
23172317        case 0x904:
2318            verboselog(device->machine(), 5, "mc68328_r (%04x): URX = %04x\n", mem_mask, mc68328->regs.urx);
2318            verboselog(space.machine(), 5, "mc68328_r (%04x): URX = %04x\n", mem_mask, mc68328->regs.urx);
23192319            return mc68328->regs.urx;
23202320
23212321        case 0x906:
2322            verboselog(device->machine(), 5, "mc68328_r (%04x): UTX = %04x\n", mem_mask, mc68328->regs.utx);
2322            verboselog(space.machine(), 5, "mc68328_r (%04x): UTX = %04x\n", mem_mask, mc68328->regs.utx);
23232323            return mc68328->regs.utx | UTX_FIFO_EMPTY | UTX_FIFO_HALF | UTX_TX_AVAIL;
23242324
23252325        case 0x908:
2326            verboselog(device->machine(), 2, "mc68328_r (%04x): UMISC = %04x\n", mem_mask, mc68328->regs.umisc);
2326            verboselog(space.machine(), 2, "mc68328_r (%04x): UMISC = %04x\n", mem_mask, mc68328->regs.umisc);
23272327            return mc68328->regs.umisc;
23282328
23292329        case 0xa00:
2330            verboselog(device->machine(), 2, "mc68328_r (%04x): LSSA(16) = %04x\n", mem_mask, mc68328->regs.lssa >> 16);
2330            verboselog(space.machine(), 2, "mc68328_r (%04x): LSSA(16) = %04x\n", mem_mask, mc68328->regs.lssa >> 16);
23312331            return mc68328->regs.lssa >> 16;
23322332
23332333        case 0xa02:
2334            verboselog(device->machine(), 2, "mc68328_r (%04x): LSSA(0) = %04x\n", mem_mask, mc68328->regs.lssa & 0x0000ffff);
2334            verboselog(space.machine(), 2, "mc68328_r (%04x): LSSA(0) = %04x\n", mem_mask, mc68328->regs.lssa & 0x0000ffff);
23352335            return mc68328->regs.lssa & 0x0000ffff;
23362336
23372337        case 0xa04:
23382338            if( mem_mask & 0x00ff )
23392339            {
2340                verboselog(device->machine(), 2, "mc68328_r (%04x): LVPW = %02x\n", mem_mask, mc68328->regs.lvpw);
2340                verboselog(space.machine(), 2, "mc68328_r (%04x): LVPW = %02x\n", mem_mask, mc68328->regs.lvpw);
23412341                return mc68328->regs.lvpw;
23422342            }
23432343            else
23442344            {
2345                verboselog(device->machine(), 2, "mc68328_r (%04x): Unknown address (0xfffa04)\n", mem_mask);
2345                verboselog(space.machine(), 2, "mc68328_r (%04x): Unknown address (0xfffa04)\n", mem_mask);
23462346            }
23472347            break;
23482348
23492349        case 0xa08:
2350            verboselog(device->machine(), 2, "mc68328_r (%04x): LXMAX = %04x\n", mem_mask, mc68328->regs.lxmax);
2350            verboselog(space.machine(), 2, "mc68328_r (%04x): LXMAX = %04x\n", mem_mask, mc68328->regs.lxmax);
23512351            return mc68328->regs.lxmax;
23522352
23532353        case 0xa0a:
2354            verboselog(device->machine(), 2, "mc68328_r (%04x): LYMAX = %04x\n", mem_mask, mc68328->regs.lymax);
2354            verboselog(space.machine(), 2, "mc68328_r (%04x): LYMAX = %04x\n", mem_mask, mc68328->regs.lymax);
23552355            return mc68328->regs.lymax;
23562356
23572357        case 0xa18:
2358            verboselog(device->machine(), 2, "mc68328_r (%04x): LCXP = %04x\n", mem_mask, mc68328->regs.lcxp);
2358            verboselog(space.machine(), 2, "mc68328_r (%04x): LCXP = %04x\n", mem_mask, mc68328->regs.lcxp);
23592359            return mc68328->regs.lcxp;
23602360
23612361        case 0xa1a:
2362            verboselog(device->machine(), 2, "mc68328_r (%04x): LCYP = %04x\n", mem_mask, mc68328->regs.lcyp);
2362            verboselog(space.machine(), 2, "mc68328_r (%04x): LCYP = %04x\n", mem_mask, mc68328->regs.lcyp);
23632363            return mc68328->regs.lcyp;
23642364
23652365        case 0xa1c:
2366            verboselog(device->machine(), 2, "mc68328_r (%04x): LCWCH = %04x\n", mem_mask, mc68328->regs.lcwch);
2366            verboselog(space.machine(), 2, "mc68328_r (%04x): LCWCH = %04x\n", mem_mask, mc68328->regs.lcwch);
23672367            return mc68328->regs.lcwch;
23682368
23692369        case 0xa1e:
23702370            if( mem_mask & 0x00ff )
23712371            {
2372                verboselog(device->machine(), 2, "mc68328_r (%04x): LBLKC = %02x\n", mem_mask, mc68328->regs.lblkc);
2372                verboselog(space.machine(), 2, "mc68328_r (%04x): LBLKC = %02x\n", mem_mask, mc68328->regs.lblkc);
23732373                return mc68328->regs.lblkc;
23742374            }
23752375            else
23762376            {
2377                verboselog(device->machine(), 2, "mc68328_r (%04x): Unknown address (0xfffa1e)\n", mem_mask);
2377                verboselog(space.machine(), 2, "mc68328_r (%04x): Unknown address (0xfffa1e)\n", mem_mask);
23782378            }
23792379            break;
23802380
23812381        case 0xa20:
23822382            if( mem_mask & 0x00ff )
23832383            {
2384                verboselog(device->machine(), 2, "mc68328_r (%04x): LPOLCF = %02x\n", mem_mask, mc68328->regs.lpolcf);
2384                verboselog(space.machine(), 2, "mc68328_r (%04x): LPOLCF = %02x\n", mem_mask, mc68328->regs.lpolcf);
23852385                return mc68328->regs.lpolcf;
23862386            }
23872387            else
23882388            {
2389                verboselog(device->machine(), 2, "mc68328_r (%04x): LPICF = %02x\n", mem_mask, mc68328->regs.lpicf);
2389                verboselog(space.machine(), 2, "mc68328_r (%04x): LPICF = %02x\n", mem_mask, mc68328->regs.lpicf);
23902390                return mc68328->regs.lpicf << 8;
23912391            }
23922392            break;
r18055r18056
23942394        case 0xa22:
23952395            if( mem_mask & 0x00ff )
23962396            {
2397                verboselog(device->machine(), 2, "mc68328_r (%04x): LACDRC = %02x\n", mem_mask, mc68328->regs.lacdrc);
2397                verboselog(space.machine(), 2, "mc68328_r (%04x): LACDRC = %02x\n", mem_mask, mc68328->regs.lacdrc);
23982398                return mc68328->regs.lacdrc;
23992399            }
24002400            else
24012401            {
2402                verboselog(device->machine(), 2, "mc68328_r (%04x): Unknown address (0xfffa22)\n", mem_mask);
2402                verboselog(space.machine(), 2, "mc68328_r (%04x): Unknown address (0xfffa22)\n", mem_mask);
24032403            }
24042404            break;
24052405
24062406        case 0xa24:
24072407            if( mem_mask & 0x00ff )
24082408            {
2409                verboselog(device->machine(), 2, "mc68328_r (%04x): LPXCD = %02x\n", mem_mask, mc68328->regs.lpxcd);
2409                verboselog(space.machine(), 2, "mc68328_r (%04x): LPXCD = %02x\n", mem_mask, mc68328->regs.lpxcd);
24102410                return mc68328->regs.lpxcd;
24112411            }
24122412            else
24132413            {
2414                verboselog(device->machine(), 2, "mc68328_r (%04x): Unknown address (0xfffa24)\n", mem_mask);
2414                verboselog(space.machine(), 2, "mc68328_r (%04x): Unknown address (0xfffa24)\n", mem_mask);
24152415            }
24162416            break;
24172417
24182418        case 0xa26:
24192419            if( mem_mask & 0x00ff )
24202420            {
2421                verboselog(device->machine(), 2, "mc68328_r (%04x): LCKCON = %02x\n", mem_mask, mc68328->regs.lckcon);
2421                verboselog(space.machine(), 2, "mc68328_r (%04x): LCKCON = %02x\n", mem_mask, mc68328->regs.lckcon);
24222422                return mc68328->regs.lckcon;
24232423            }
24242424            else
24252425            {
2426                verboselog(device->machine(), 2, "mc68328_r (%04x): Unknown address (0xfffa26)\n", mem_mask);
2426                verboselog(space.machine(), 2, "mc68328_r (%04x): Unknown address (0xfffa26)\n", mem_mask);
24272427            }
24282428            break;
24292429
24302430        case 0xa28:
24312431            if( mem_mask & 0x00ff )
24322432            {
2433                verboselog(device->machine(), 2, "mc68328_r (%04x): LLBAR = %02x\n", mem_mask, mc68328->regs.llbar);
2433                verboselog(space.machine(), 2, "mc68328_r (%04x): LLBAR = %02x\n", mem_mask, mc68328->regs.llbar);
24342434                return mc68328->regs.llbar;
24352435            }
24362436            else
24372437            {
2438                verboselog(device->machine(), 2, "mc68328_r (%04x): Unknown address (0xfffa28)\n", mem_mask);
2438                verboselog(space.machine(), 2, "mc68328_r (%04x): Unknown address (0xfffa28)\n", mem_mask);
24392439            }
24402440            break;
24412441
24422442        case 0xa2a:
24432443            if( mem_mask & 0x00ff )
24442444            {
2445                verboselog(device->machine(), 2, "mc68328_r (%04x): LOTCR = %02x\n", mem_mask, mc68328->regs.lotcr);
2445                verboselog(space.machine(), 2, "mc68328_r (%04x): LOTCR = %02x\n", mem_mask, mc68328->regs.lotcr);
24462446                return mc68328->regs.lotcr;
24472447            }
24482448            else
24492449            {
2450                verboselog(device->machine(), 2, "mc68328_r (%04x): Unknown address (0xfffa2a)\n", mem_mask);
2450                verboselog(space.machine(), 2, "mc68328_r (%04x): Unknown address (0xfffa2a)\n", mem_mask);
24512451            }
24522452            break;
24532453
24542454        case 0xa2c:
24552455            if( mem_mask & 0x00ff )
24562456            {
2457                verboselog(device->machine(), 2, "mc68328_r (%04x): LPOSR = %02x\n", mem_mask, mc68328->regs.lposr);
2457                verboselog(space.machine(), 2, "mc68328_r (%04x): LPOSR = %02x\n", mem_mask, mc68328->regs.lposr);
24582458                return mc68328->regs.lposr;
24592459            }
24602460            else
24612461            {
2462                verboselog(device->machine(), 2, "mc68328_r (%04x): Unknown address (0xfffa2c)\n", mem_mask);
2462                verboselog(space.machine(), 2, "mc68328_r (%04x): Unknown address (0xfffa2c)\n", mem_mask);
24632463            }
24642464            break;
24652465
24662466        case 0xa30:
24672467            if( mem_mask & 0x00ff )
24682468            {
2469                verboselog(device->machine(), 2, "mc68328_r (%04x): LFRCM = %02x\n", mem_mask, mc68328->regs.lfrcm);
2469                verboselog(space.machine(), 2, "mc68328_r (%04x): LFRCM = %02x\n", mem_mask, mc68328->regs.lfrcm);
24702470                return mc68328->regs.lfrcm;
24712471            }
24722472            else
24732473            {
2474                verboselog(device->machine(), 2, "mc68328_r (%04x): Unknown address (0xfffa30)\n", mem_mask);
2474                verboselog(space.machine(), 2, "mc68328_r (%04x): Unknown address (0xfffa30)\n", mem_mask);
24752475            }
24762476            break;
24772477
24782478        case 0xa32:
2479            verboselog(device->machine(), 2, "mc68328_r (%04x): LGPMR = %04x\n", mem_mask, mc68328->regs.lgpmr);
2479            verboselog(space.machine(), 2, "mc68328_r (%04x): LGPMR = %04x\n", mem_mask, mc68328->regs.lgpmr);
24802480            return mc68328->regs.lgpmr;
24812481
24822482        case 0xb00:
2483            verboselog(device->machine(), 2, "mc68328_r (%04x): HMSR(0) = %04x\n", mem_mask, mc68328->regs.hmsr & 0x0000ffff);
2483            verboselog(space.machine(), 2, "mc68328_r (%04x): HMSR(0) = %04x\n", mem_mask, mc68328->regs.hmsr & 0x0000ffff);
24842484            return mc68328->regs.hmsr & 0x0000ffff;
24852485
24862486        case 0xb02:
2487            verboselog(device->machine(), 2, "mc68328_r (%04x): HMSR(16) = %04x\n", mem_mask, mc68328->regs.hmsr >> 16);
2487            verboselog(space.machine(), 2, "mc68328_r (%04x): HMSR(16) = %04x\n", mem_mask, mc68328->regs.hmsr >> 16);
24882488            return mc68328->regs.hmsr >> 16;
24892489
24902490        case 0xb04:
2491            verboselog(device->machine(), 2, "mc68328_r (%04x): ALARM(0) = %04x\n", mem_mask, mc68328->regs.alarm & 0x0000ffff);
2491            verboselog(space.machine(), 2, "mc68328_r (%04x): ALARM(0) = %04x\n", mem_mask, mc68328->regs.alarm & 0x0000ffff);
24922492            return mc68328->regs.alarm & 0x0000ffff;
24932493
24942494        case 0xb06:
2495            verboselog(device->machine(), 2, "mc68328_r (%04x): ALARM(16) = %04x\n", mem_mask, mc68328->regs.alarm >> 16);
2495            verboselog(space.machine(), 2, "mc68328_r (%04x): ALARM(16) = %04x\n", mem_mask, mc68328->regs.alarm >> 16);
24962496            return mc68328->regs.alarm >> 16;
24972497
24982498        case 0xb0c:
2499            verboselog(device->machine(), 2, "mc68328_r (%04x): RTCCTL = %04x\n", mem_mask, mc68328->regs.rtcctl);
2499            verboselog(space.machine(), 2, "mc68328_r (%04x): RTCCTL = %04x\n", mem_mask, mc68328->regs.rtcctl);
25002500            return mc68328->regs.rtcctl;
25012501
25022502        case 0xb0e:
2503            verboselog(device->machine(), 2, "mc68328_r (%04x): RTCISR = %04x\n", mem_mask, mc68328->regs.rtcisr);
2503            verboselog(space.machine(), 2, "mc68328_r (%04x): RTCISR = %04x\n", mem_mask, mc68328->regs.rtcisr);
25042504            return mc68328->regs.rtcisr;
25052505
25062506        case 0xb10:
2507            verboselog(device->machine(), 2, "mc68328_r (%04x): RTCIENR = %04x\n", mem_mask, mc68328->regs.rtcienr);
2507            verboselog(space.machine(), 2, "mc68328_r (%04x): RTCIENR = %04x\n", mem_mask, mc68328->regs.rtcienr);
25082508            return mc68328->regs.rtcienr;
25092509
25102510        case 0xb12:
2511            verboselog(device->machine(), 2, "mc68328_r (%04x): STPWTCH = %04x\n", mem_mask, mc68328->regs.stpwtch);
2511            verboselog(space.machine(), 2, "mc68328_r (%04x): STPWTCH = %04x\n", mem_mask, mc68328->regs.stpwtch);
25122512            return mc68328->regs.stpwtch;
25132513
25142514        default:
2515            verboselog(device->machine(), 0, "mc68328_r (%04x): Unknown address (0x%06x)\n", mem_mask, 0xfff000 + address);
2515            verboselog(space.machine(), 0, "mc68328_r (%04x): Unknown address (0x%06x)\n", mem_mask, 0xfff000 + address);
25162516            break;
25172517    }
25182518    return 0;
trunk/src/mess/machine/bebox.c
r18055r18056
481481
482482static READ8_DEVICE_HANDLER( get_slave_ack )
483483{
484   bebox_state *state = device->machine().driver_data<bebox_state>();
484   bebox_state *state = space.machine().driver_data<bebox_state>();
485485   if (offset==2) { // IRQ = 2
486486      return pic8259_acknowledge(state->m_devices.pic8259_slave);
487487   }
r18055r18056
696696
697697
698698static READ8_DEVICE_HANDLER( bebox_dma8237_fdc_dack_r ) {
699   return pc_fdc_dack_r(device->machine(),space);
699   return pc_fdc_dack_r(space.machine(),space);
700700}
701701
702702
703703static WRITE8_DEVICE_HANDLER( bebox_dma8237_fdc_dack_w ) {
704   pc_fdc_dack_w( device->machine(), space, data );
704   pc_fdc_dack_w( space.machine(), space, data );
705705}
706706
707707
trunk/src/mess/machine/micropolis.c
r18055r18056
295295   else
296296   {
297297      if (VERBOSE)
298         logerror("%s: micropolis_data_w $%02X\n", device->machine().describe_context(), data);
298         logerror("%s: micropolis_data_w $%02X\n", space.machine().describe_context(), data);
299299   }
300300   w->data = data;
301301}
trunk/src/mess/machine/tf20.c
r18055r18056
9494
9595static READ8_DEVICE_HANDLER( tf20_upd765_tc_r )
9696{
97   logerror("%s: tf20_upd765_tc_r\n", device->machine().describe_context());
97   logerror("%s: tf20_upd765_tc_r\n", space.machine().describe_context());
9898
9999   /* toggle tc on read */
100100   upd765_tc_w(device, ASSERT_LINE);
101   device->machine().scheduler().timer_set(attotime::zero, FUNC(tf20_upd765_tc_reset), 0, device);
101   space.machine().scheduler().timer_set(attotime::zero, FUNC(tf20_upd765_tc_reset), 0, device);
102102
103103   return 0xff;
104104}
trunk/src/mess/machine/c64.c
r18055r18056
8080
8181static READ8_DEVICE_HANDLER( c64_cia0_port_a_r )
8282{
83   UINT8 cia0portb = mos6526_pb_r(device->machine().device("cia_0"), space, 0);
83   UINT8 cia0portb = mos6526_pb_r(space.machine().device("cia_0"), space, 0);
8484
8585   return cbm_common_cia0_port_a_r(device, cia0portb);
8686}
8787
8888static READ8_DEVICE_HANDLER( c64_cia0_port_b_r )
8989{
90   UINT8 cia0porta = mos6526_pa_r(device->machine().device("cia_0"), space, 0);
90   UINT8 cia0porta = mos6526_pa_r(space.machine().device("cia_0"), space, 0);
9191
9292   return cbm_common_cia0_port_b_r(device, cia0porta);
9393}
9494
9595static WRITE8_DEVICE_HANDLER( c64_cia0_port_b_w )
9696{
97   device_t *vic2 = device->machine().device("vic2");
97   device_t *vic2 = space.machine().device("vic2");
9898   vic2_lightpen_write(vic2, data & 0x10);
9999}
100100
r18055r18056
177177 */
178178static READ8_DEVICE_HANDLER( c64_cia1_port_a_r )
179179{
180   legacy_c64_state *state = device->machine().driver_data<legacy_c64_state>();
180   legacy_c64_state *state = space.machine().driver_data<legacy_c64_state>();
181181
182182   UINT8 value = 0xff;
183183
r18055r18056
192192
193193static WRITE8_DEVICE_HANDLER( c64_cia1_port_a_w )
194194{
195   legacy_c64_state *state = device->machine().driver_data<legacy_c64_state>();
195   legacy_c64_state *state = space.machine().driver_data<legacy_c64_state>();
196196   static const int helper[4] = {0xc000, 0x8000, 0x4000, 0x0000};
197197
198198   state->m_iec->clk_w(!(data & 0x10));
r18055r18056
545545
546546WRITE8_DEVICE_HANDLER(c64_m6510_port_write)
547547{
548   legacy_c64_state *state = device->machine().driver_data<legacy_c64_state>();
548   legacy_c64_state *state = space.machine().driver_data<legacy_c64_state>();
549549
550550   UINT8 direction = offset; // HACK ALERT!
551551
r18055r18056
568568   {
569569      if (direction & 0x08)
570570      {
571         device->machine().device<cassette_image_device>(CASSETTE_TAG)->output((data & 0x08) ? -(0x5a9e >> 1) : +(0x5a9e >> 1));
571         space.machine().device<cassette_image_device>(CASSETTE_TAG)->output((data & 0x08) ? -(0x5a9e >> 1) : +(0x5a9e >> 1));
572572      }
573573
574574      if (direction & 0x20)
575575      {
576576         if(!(data & 0x20))
577577         {
578            device->machine().device<cassette_image_device>(CASSETTE_TAG)->change_state(CASSETTE_MOTOR_ENABLED, CASSETTE_MASK_MOTOR);
578            space.machine().device<cassette_image_device>(CASSETTE_TAG)->change_state(CASSETTE_MOTOR_ENABLED, CASSETTE_MASK_MOTOR);
579579            state->m_datasette_timer->adjust(attotime::zero, 0, attotime::from_hz(44100));
580580         }
581581         else
582582         {
583            device->machine().device<cassette_image_device>(CASSETTE_TAG)->change_state(CASSETTE_MOTOR_DISABLED, CASSETTE_MASK_MOTOR);
583            space.machine().device<cassette_image_device>(CASSETTE_TAG)->change_state(CASSETTE_MOTOR_DISABLED, CASSETTE_MASK_MOTOR);
584584            state->m_datasette_timer->reset();
585585         }
586586      }
587587   }
588588
589589   if (!state->m_ultimax)
590      c64_bankswitch(device->machine(), 0);
590      c64_bankswitch(space.machine(), 0);
591591
592592   state->m_memory[0x000] = device->memory().space(AS_PROGRAM).read_byte(0);
593593   state->m_memory[0x001] = device->memory().space(AS_PROGRAM).read_byte(1);
r18055r18056
596596
597597READ8_DEVICE_HANDLER(c64_m6510_port_read)
598598{
599   legacy_c64_state *state = device->machine().driver_data<legacy_c64_state>();
599   legacy_c64_state *state = space.machine().driver_data<legacy_c64_state>();
600600   UINT8 data = state->m_port_data;
601601
602602   if (state->m_tape_on)
603603   {
604      if ((device->machine().device<cassette_image_device>(CASSETTE_TAG)->get_state() & CASSETTE_MASK_UISTATE) != CASSETTE_STOPPED)
604      if ((space.machine().device<cassette_image_device>(CASSETTE_TAG)->get_state() & CASSETTE_MASK_UISTATE) != CASSETTE_STOPPED)
605605         data &= ~0x10;
606606      else
607607         data |=  0x10;
trunk/src/mess/machine/pc.c
r18055r18056
200200
201201static READ8_DEVICE_HANDLER( pc_dma8237_fdc_dack_r )
202202{
203   return pc_fdc_dack_r(device->machine(), space);
203   return pc_fdc_dack_r(space.machine(), space);
204204}
205205
206206
r18055r18056
212212
213213static WRITE8_DEVICE_HANDLER( pc_dma8237_fdc_dack_w )
214214{
215   pc_fdc_dack_w( device->machine(), space, data );
215   pc_fdc_dack_w( space.machine(), space, data );
216216}
217217
218218
r18055r18056
223223
224224static WRITE8_DEVICE_HANDLER( pc_dma8237_0_dack_w )
225225{
226   pc_state *st = device->machine().driver_data<pc_state>();
226   pc_state *st = space.machine().driver_data<pc_state>();
227227   st->m_u73_q2 = 0;
228228   i8237_dreq0_w( st->m_dma8237, st->m_u73_q2 );
229229}
r18055r18056
757757static READ8_DEVICE_HANDLER (ibm5160_ppi_porta_r)
758758{
759759   int data = 0xFF;
760   running_machine &machine = device->machine();
761   pc_state *st = device->machine().driver_data<pc_state>();
760   running_machine &machine = space.machine();
761   pc_state *st = space.machine().driver_data<pc_state>();
762762
763763   /* KB port A */
764764   if (st->m_ppi_keyboard_clear)
r18055r18056
772772         *      01 - color 40x25
773773         * 6-7  The number of floppy disk drives
774774         */
775      data = device->machine().root_device().ioport("DSW0")->read();
775      data = space.machine().root_device().ioport("DSW0")->read();
776776   }
777777   else
778778   {
r18055r18056
785785
786786static READ8_DEVICE_HANDLER ( ibm5160_ppi_portc_r )
787787{
788   pc_state *st = device->machine().driver_data<pc_state>();
788   pc_state *st = space.machine().driver_data<pc_state>();
789789   int timer2_output = pit8253_get_output( st->m_pit8253, 2 );
790790   int data=0xff;
791   running_machine &machine = device->machine();
791   running_machine &machine = space.machine();
792792
793793   data&=~0x80; // no parity error
794794   data&=~0x40; // no error on expansion board
r18055r18056
797797   if (st->m_ppi_portc_switch_high)
798798   {
799799      /* read hi nibble of S2 */
800      data = (data & 0xf0) | ((device->machine().root_device().ioport("DSW0")->read() >> 4) & 0x0f);
800      data = (data & 0xf0) | ((space.machine().root_device().ioport("DSW0")->read() >> 4) & 0x0f);
801801      PIO_LOG(1,"PIO_C_r (hi)",("$%02x\n", data));
802802   }
803803   else
804804   {
805805      /* read lo nibble of S2 */
806      data = (data & 0xf0) | (device->machine().root_device().ioport("DSW0")->read() & 0x0f);
806      data = (data & 0xf0) | (space.machine().root_device().ioport("DSW0")->read() & 0x0f);
807807      PIO_LOG(1,"PIO_C_r (lo)",("$%02x\n", data));
808808   }
809809
r18055r18056
819819
820820static WRITE8_DEVICE_HANDLER( ibm5160_ppi_portb_w )
821821{
822   pc_state *st = device->machine().driver_data<pc_state>();
822   pc_state *st = space.machine().driver_data<pc_state>();
823823
824824   /* PPI controller port B*/
825825   st->m_ppi_portb = data;
r18055r18056
827827   st->m_ppi_keyboard_clear = data & 0x80;
828828   st->m_ppi_keyb_clock = data & 0x40;
829829   pit8253_gate2_w(st->m_pit8253, BIT(data, 0));
830   pc_speaker_set_spkrdata( device->machine(), data & 0x02 );
830   pc_speaker_set_spkrdata( space.machine(), data & 0x02 );
831831
832832   st->m_ppi_clock_signal = ( st->m_ppi_keyb_clock ) ? 1 : 0;
833833   st->m_pc_kbdc->clock_write_from_mb(st->m_ppi_clock_signal);
r18055r18056
856856static READ8_DEVICE_HANDLER (pc_ppi_porta_r)
857857{
858858   int data = 0xFF;
859   running_machine &machine = device->machine();
860   pc_state *st = device->machine().driver_data<pc_state>();
859   running_machine &machine = space.machine();
860   pc_state *st = space.machine().driver_data<pc_state>();
861861
862862   /* KB port A */
863863   if (st->m_ppi_keyboard_clear)
r18055r18056
871871         *      01 - color 40x25
872872         * 6-7  The number of floppy disk drives
873873         */
874      data = device->machine().root_device().ioport("DSW0")->read();
874      data = space.machine().root_device().ioport("DSW0")->read();
875875   }
876876   else
877877   {
r18055r18056
884884
885885static WRITE8_DEVICE_HANDLER( pc_ppi_portb_w )
886886{
887   pc_state *st = device->machine().driver_data<pc_state>();
887   pc_state *st = space.machine().driver_data<pc_state>();
888888   /* PPI controller port B*/
889889   st->m_ppi_portb = data;
890890   st->m_ppi_portc_switch_high = data & 0x08;
891891   st->m_ppi_keyboard_clear = data & 0x80;
892892   st->m_ppi_keyb_clock = data & 0x40;
893893   pit8253_gate2_w(st->m_pit8253, BIT(data, 0));
894   pc_speaker_set_spkrdata( device->machine(), data & 0x02 );
894   pc_speaker_set_spkrdata( space.machine(), data & 0x02 );
895895   pc_keyb_set_clock( st->m_ppi_keyb_clock );
896896
897897   if ( st->m_ppi_keyboard_clear )
r18055r18056
959959
960960static READ8_DEVICE_HANDLER ( mc1502_ppi_porta_r )
961961{
962   running_machine &machine = device->machine();
962   running_machine &machine = space.machine();
963963
964964   DBG_LOG(1,"mc1502_ppi_porta_r",("= %02X\n", mc1502_keyb.latch));
965965   return mc1502_keyb.latch;
r18055r18056
967967
968968static WRITE8_DEVICE_HANDLER ( mc1502_ppi_porta_w )
969969{
970   pc_state *st = device->machine().driver_data<pc_state>();
971   running_machine &machine = device->machine();
970   pc_state *st = space.machine().driver_data<pc_state>();
971   running_machine &machine = space.machine();
972972
973973   DBG_LOG(1,"mc1502_ppi_porta_w",("( %02X )\n", data));
974974   mc1502_keyb.latch = data;
r18055r18056
979979
980980static WRITE8_DEVICE_HANDLER ( mc1502_ppi_portb_w )
981981{
982   pc_state *st = device->machine().driver_data<pc_state>();
983   running_machine &machine = device->machine();
982   pc_state *st = space.machine().driver_data<pc_state>();
983   running_machine &machine = space.machine();
984984
985985   DBG_LOG(2,"mc1502_ppi_portb_w",("( %02X )\n", data));
986986   st->m_ppi_portb = data;
987   pit8253_gate2_w(device->machine().device("pit8253"), BIT(data, 0));
988   pc_speaker_set_spkrdata( device->machine(), data & 0x02 );
987   pit8253_gate2_w(space.machine().device("pit8253"), BIT(data, 0));
988   pc_speaker_set_spkrdata( space.machine(), data & 0x02 );
989989}
990990
991991static READ8_DEVICE_HANDLER ( mc1502_ppi_portc_r )
992992{
993   running_machine &machine = device->machine();
994   pc_state *st = device->machine().driver_data<pc_state>();
995   int timer2_output = pit8253_get_output( device->machine().device("pit8253"), 2 );
993   running_machine &machine = space.machine();
994   pc_state *st = space.machine().driver_data<pc_state>();
995   int timer2_output = pit8253_get_output( space.machine().device("pit8253"), 2 );
996996   int data = 0xff;
997   double tap_val = (device->machine().device<cassette_image_device>(CASSETTE_TAG)->input());
997   double tap_val = (space.machine().device<cassette_image_device>(CASSETTE_TAG)->input());
998998
999999//  0x80 -- serial RxD
10001000//  0x40 -- CASS IN, also loops back T2OUT (gated by CASWR)
r18055r18056
10111011
10121012static READ8_DEVICE_HANDLER ( mc1502_kppi_porta_r )
10131013{
1014   running_machine &machine = device->machine();
1014   running_machine &machine = space.machine();
10151015   UINT8 key = 0;
10161016
10171017   if (mc1502_keyb.mask & 0x0001) { key |= machine.root_device().ioport("Y1")->read(); }
r18055r18056
10331033
10341034static WRITE8_DEVICE_HANDLER ( mc1502_kppi_portb_w )
10351035{
1036   running_machine &machine = device->machine();
1036   running_machine &machine = space.machine();
10371037
10381038   mc1502_keyb.mask &= ~255;
10391039   mc1502_keyb.mask |= data ^ 255;
r18055r18056
10461046
10471047static WRITE8_DEVICE_HANDLER ( mc1502_kppi_portc_w )
10481048{
1049   running_machine &machine = device->machine();
1049   running_machine &machine = space.machine();
10501050
10511051   mc1502_keyb.mask &= ~(7 << 8);
10521052   mc1502_keyb.mask |= ((data ^ 7) & 7) << 8;
r18055r18056
10561056
10571057static WRITE8_DEVICE_HANDLER ( pcjr_ppi_portb_w )
10581058{
1059   pc_state *st = device->machine().driver_data<pc_state>();
1059   pc_state *st = space.machine().driver_data<pc_state>();
10601060   /* KB controller port B */
10611061   st->m_ppi_portb = data;
10621062   st->m_ppi_portc_switch_high = data & 0x08;
1063   pit8253_gate2_w(device->machine().device("pit8253"), BIT(data, 0));
1064   pc_speaker_set_spkrdata( device->machine(), data & 0x02 );
1063   pit8253_gate2_w(space.machine().device("pit8253"), BIT(data, 0));
1064   pc_speaker_set_spkrdata( space.machine(), data & 0x02 );
10651065
1066   device->machine().device<cassette_image_device>(CASSETTE_TAG)->change_state(( data & 0x08 ) ? CASSETTE_MOTOR_DISABLED : CASSETTE_MOTOR_ENABLED,CASSETTE_MASK_MOTOR);
1066   space.machine().device<cassette_image_device>(CASSETTE_TAG)->change_state(( data & 0x08 ) ? CASSETTE_MOTOR_DISABLED : CASSETTE_MOTOR_ENABLED,CASSETTE_MASK_MOTOR);
10671067}
10681068
10691069
r18055r18056
10731073static READ8_DEVICE_HANDLER (pcjr_ppi_porta_r )
10741074{
10751075   int data;
1076   running_machine &machine = device->machine();
1076   running_machine &machine = space.machine();
10771077
10781078   data = 0xff;
10791079   PIO_LOG(1,"PIO_A_r",("$%02x\n", data));
r18055r18056
10941094 */
10951095static READ8_DEVICE_HANDLER ( pcjr_ppi_portc_r )
10961096{
1097   pc_state *st = device->machine().driver_data<pc_state>();
1098   int timer2_output = pit8253_get_output( device->machine().device("pit8253"), 2 );
1097   pc_state *st = space.machine().driver_data<pc_state>();
1098   int timer2_output = pit8253_get_output( space.machine().device("pit8253"), 2 );
10991099   int data=0xff;
11001100
11011101   data&=~0x80;
11021102   data &= ~0x04;      /* floppy drive installed */
1103   if ( device->machine().device<ram_device>(RAM_TAG)->size() > 64 * 1024 )   /* more than 64KB ram installed */
1103   if ( space.machine().device<ram_device>(RAM_TAG)->size() > 64 * 1024 )   /* more than 64KB ram installed */
11041104      data &= ~0x08;
11051105   data = ( data & ~0x01 ) | ( pcjr_keyb.latch ? 0x01: 0x00 );
11061106   if ( ! ( st->m_ppi_portb & 0x08 ) )
11071107   {
1108      double tap_val = (device->machine().device<cassette_image_device>(CASSETTE_TAG)->input());
1108      double tap_val = (space.machine().device<cassette_image_device>(CASSETTE_TAG)->input());
11091109
11101110      if ( tap_val < 0 )
11111111      {
r18055r18056
12651265   data = wd17xx_drq_r(device);
12661266   if (!data && !wd17xx_intrq_r(device)) {
12671267      /* fake cpu halt by resetting PC one insn back */
1268      newpc = device->machine().firstcpu->pc();
1269      device->machine().firstcpu->set_pc( newpc - 1 );
1268      newpc = space.machine().firstcpu->pc();
1269      space.machine().firstcpu->set_pc( newpc - 1 );
12701270   }
12711271
12721272   return data;
trunk/src/mess/machine/bbc.c
r18055r18056
908908
909909static WRITE8_DEVICE_HANDLER( bbcb_via_system_write_porta )
910910{
911   bbc_state *state = device->machine().driver_data<bbc_state>();
911   bbc_state *state = space.machine().driver_data<bbc_state>();
912912   //logerror("SYSTEM write porta %d\n",data);
913913
914914   state->m_via_system_porta = data;
r18055r18056
928928
929929static WRITE8_DEVICE_HANDLER( bbcb_via_system_write_portb )
930930{
931   bbc_state *state = device->machine().driver_data<bbc_state>();
931   bbc_state *state = space.machine().driver_data<bbc_state>();
932932   int bit, value;
933933   bit = data & 0x07;
934934   value = (data >> 3) & 0x01;
r18055r18056
11271127
11281128static READ8_DEVICE_HANDLER( bbcb_via_system_read_porta )
11291129{
1130   bbc_state *state = device->machine().driver_data<bbc_state>();
1130   bbc_state *state = space.machine().driver_data<bbc_state>();
11311131   //logerror("SYSTEM read porta %d\n",state->m_via_system_porta);
11321132   return state->m_via_system_porta;
11331133}
r18055r18056
11581158
11591159   //logerror("SYSTEM read portb %d\n",0xf | input_port(machine, "IN0")|(TMSint<<6)|(TMSrdy<<7));
11601160
1161   return (0xf | device->machine().root_device().ioport("IN0")->read()|(TMSint<<6)|(TMSrdy<<7));
1161   return (0xf | space.machine().root_device().ioport("IN0")->read()|(TMSint<<6)|(TMSrdy<<7));
11621162}
11631163
11641164
r18055r18056
11721172/* joystick EOC */
11731173static READ8_DEVICE_HANDLER( bbcb_via_system_read_cb1 )
11741174{
1175   return uPD7002_EOC_r(device->machine().device("upd7002"),space,0);
1175   return uPD7002_EOC_r(space.machine().device("upd7002"),space,0);
11761176}
11771177
11781178
r18055r18056
12331233
12341234static WRITE8_DEVICE_HANDLER( bbcb_via_user_write_portb )
12351235{
1236   bbc_state *state = device->machine().driver_data<bbc_state>();
1236   bbc_state *state = space.machine().driver_data<bbc_state>();
12371237   state->m_userport = data;
12381238}
12391239
trunk/src/mess/machine/upd765.c
r18055r18056
803803{
804804   upd765_t *fdc = get_safe_token(device);
805805   if (LOG_EXTRA)
806      logerror("%s: upd765_status_r: %02x\n", device->machine().describe_context(), fdc->FDC_main);
806      logerror("%s: upd765_status_r: %02x\n", space.machine().describe_context(), fdc->FDC_main);
807807   return fdc->FDC_main;
808808}
809809
trunk/src/mess/machine/macpci.c
r18055r18056
5151
5252static READ8_DEVICE_HANDLER(mac_via_in_a)
5353{
54//  macpci_state *mac = device->machine().driver_data<macpci_state>();
54//  macpci_state *mac = space.machine().driver_data<macpci_state>();
5555
5656//    printf("VIA1 IN_A (PC %x)\n", mac->m_maincpu->pc());
5757
r18055r18056
6161static READ8_DEVICE_HANDLER(mac_via_in_b)
6262{
6363   int val = 0;
64   macpci_state *mac = device->machine().driver_data<macpci_state>();
64   macpci_state *mac = space.machine().driver_data<macpci_state>();
6565
6666    val |= mac->m_cuda->get_treq()<<3;
6767
r18055r18056
7272
7373static WRITE8_DEVICE_HANDLER(mac_via_out_a)
7474{
75//  macpci_state *mac = device->machine().driver_data<macpci_state>();
75//  macpci_state *mac = space.machine().driver_data<macpci_state>();
7676
7777//    printf("VIA1 OUT A: %02x (PC %x)\n", data, mac->m_maincpu->pc());
7878}
7979
8080static WRITE8_DEVICE_HANDLER(mac_via_out_b)
8181{
82   macpci_state *mac = device->machine().driver_data<macpci_state>();
82   macpci_state *mac = space.machine().driver_data<macpci_state>();
8383
8484//    printf("VIA1 OUT B: %02x (PC %x)\n", data, mac->m_maincpu->pc());
8585
r18055r18056
125125static READ8_DEVICE_HANDLER(mac_adb_via_in_cb2)
126126{
127127   UINT8 ret;
128   macpci_state *mac = device->machine().driver_data<macpci_state>();
128   macpci_state *mac = space.machine().driver_data<macpci_state>();
129129
130130    ret = mac->m_cuda->get_via_data();
131131    #if LOG_ADB
r18055r18056
137137
138138static WRITE8_DEVICE_HANDLER(mac_adb_via_out_cb2)
139139{
140   macpci_state *mac = device->machine().driver_data<macpci_state>();
140   macpci_state *mac = space.machine().driver_data<macpci_state>();
141141
142142    mac->m_cuda->set_via_data(data & 1);
143143}
trunk/src/mess/machine/c65.c
r18055r18056
7272
7373static READ8_DEVICE_HANDLER( c65_cia0_port_a_r )
7474{
75   UINT8 cia0portb = mos6526_pb_r(device->machine().device("cia_0"), space, 0);
75   UINT8 cia0portb = mos6526_pb_r(space.machine().device("cia_0"), space, 0);
7676
7777   return cbm_common_cia0_port_a_r(device, cia0portb);
7878}
7979
8080static READ8_DEVICE_HANDLER( c65_cia0_port_b_r )
8181{
82   c65_state *state = device->machine().driver_data<c65_state>();
82   c65_state *state = space.machine().driver_data<c65_state>();
8383   UINT8 value = 0xff;
84   UINT8 cia0porta = mos6526_pa_r(device->machine().device("cia_0"), space, 0);
84   UINT8 cia0porta = mos6526_pa_r(space.machine().device("cia_0"), space, 0);
8585
8686   value &= cbm_common_cia0_port_b_r(device, cia0porta);
8787
r18055r18056
9494static WRITE8_DEVICE_HANDLER( c65_cia0_port_b_w )
9595{
9696//  was there lightpen support in c65 video chip?
97//  device_t *vic3 = device->machine().device("vic3");
97//  device_t *vic3 = space.machine().device("vic3");
9898//  vic3_lightpen_write(vic3, data & 0x10);
9999}
100100
r18055r18056
167167 */
168168static READ8_DEVICE_HANDLER( c65_cia1_port_a_r )
169169{
170   c65_state *state = device->machine().driver_data<c65_state>();
170   c65_state *state = space.machine().driver_data<c65_state>();
171171   UINT8 value = 0xff;
172172
173173   if (!state->m_iec->clk_r())
r18055r18056
181181
182182static WRITE8_DEVICE_HANDLER( c65_cia1_port_a_w )
183183{
184   c65_state *state = device->machine().driver_data<c65_state>();
184   c65_state *state = space.machine().driver_data<c65_state>();
185185   static const int helper[4] = {0xc000, 0x8000, 0x4000, 0x0000};
186186
187187   state->m_iec->atn_w(!BIT(data, 3));
trunk/src/mess/machine/radio86.c
r18055r18056
4343}
4444static READ8_DEVICE_HANDLER (radio86_8255_portb_r2 )
4545{
46   radio86_state *state = device->machine().driver_data<radio86_state>();
46   radio86_state *state = space.machine().driver_data<radio86_state>();
4747   UINT8 key = 0xff;
4848   if ((state->m_keyboard_mask & 0x01)!=0) { key &= state->ioport("LINE0")->read(); }
49   if ((state->m_keyboard_mask & 0x02)!=0) { key &= device->machine().root_device().ioport("LINE1")->read(); }
50   if ((state->m_keyboard_mask & 0x04)!=0) { key &= device->machine().root_device().ioport("LINE2")->read(); }
51   if ((state->m_keyboard_mask & 0x08)!=0) { key &= device->machine().root_device().ioport("LINE3")->read(); }
52   if ((state->m_keyboard_mask & 0x10)!=0) { key &= device->machine().root_device().ioport("LINE4")->read(); }
53   if ((state->m_keyboard_mask & 0x20)!=0) { key &= device->machine().root_device().ioport("LINE5")->read(); }
54   if ((state->m_keyboard_mask & 0x40)!=0) { key &= device->machine().root_device().ioport("LINE6")->read(); }
55   if ((state->m_keyboard_mask & 0x80)!=0) { key &= device->machine().root_device().ioport("LINE7")->read(); }
49   if ((state->m_keyboard_mask & 0x02)!=0) { key &= space.machine().root_device().ioport("LINE1")->read(); }
50   if ((state->m_keyboard_mask & 0x04)!=0) { key &= space.machine().root_device().ioport("LINE2")->read(); }
51   if ((state->m_keyboard_mask & 0x08)!=0) { key &= space.machine().root_device().ioport("LINE3")->read(); }
52   if ((state->m_keyboard_mask & 0x10)!=0) { key &= space.machine().root_device().ioport("LINE4")->read(); }
53   if ((state->m_keyboard_mask & 0x20)!=0) { key &= space.machine().root_device().ioport("LINE5")->read(); }
54   if ((state->m_keyboard_mask & 0x40)!=0) { key &= space.machine().root_device().ioport("LINE6")->read(); }
55   if ((state->m_keyboard_mask & 0x80)!=0) { key &= space.machine().root_device().ioport("LINE7")->read(); }
5656   return key;
5757}
5858
5959static READ8_DEVICE_HANDLER (radio86_8255_portc_r2 )
6060{
61   radio86_state *state = device->machine().driver_data<radio86_state>();
62   double level = (device->machine().device<cassette_image_device>(CASSETTE_TAG)->input());
61   radio86_state *state = space.machine().driver_data<radio86_state>();
62   double level = (space.machine().device<cassette_image_device>(CASSETTE_TAG)->input());
6363   UINT8 dat = state->ioport("LINE8")->read();
6464   if (level <  0) {
6565      dat ^= state->m_tape_value;
r18055r18056
6969
7070static WRITE8_DEVICE_HANDLER (radio86_8255_porta_w2 )
7171{
72   radio86_state *state = device->machine().driver_data<radio86_state>();
72   radio86_state *state = space.machine().driver_data<radio86_state>();
7373   state->m_keyboard_mask = data ^ 0xff;
7474}
7575
7676static WRITE8_DEVICE_HANDLER (radio86_8255_portc_w2 )
7777{
78   device->machine().device<cassette_image_device>(CASSETTE_TAG)->output(data & 0x01 ? 1 : -1);
78   space.machine().device<cassette_image_device>(CASSETTE_TAG)->output(data & 0x01 ? 1 : -1);
7979}
8080
8181
r18055r18056
103103
104104static READ8_DEVICE_HANDLER (rk7007_8255_portc_r )
105105{
106   radio86_state *state = device->machine().driver_data<radio86_state>();
107   double level = (device->machine().device<cassette_image_device>(CASSETTE_TAG)->input());
106   radio86_state *state = space.machine().driver_data<radio86_state>();
107   double level = (space.machine().device<cassette_image_device>(CASSETTE_TAG)->input());
108108   UINT8 key = 0xff;
109109   if ((state->m_keyboard_mask & 0x01)!=0) { key &= state->ioport("CLINE0")->read(); }
110   if ((state->m_keyboard_mask & 0x02)!=0) { key &= device->machine().root_device().ioport("CLINE1")->read(); }
111   if ((state->m_keyboard_mask & 0x04)!=0) { key &= device->machine().root_device().ioport("CLINE2")->read(); }
112   if ((state->m_keyboard_mask & 0x08)!=0) { key &= device->machine().root_device().ioport("CLINE3")->read(); }
113   if ((state->m_keyboard_mask & 0x10)!=0) { key &= device->machine().root_device().ioport("CLINE4")->read(); }
114   if ((state->m_keyboard_mask & 0x20)!=0) { key &= device->machine().root_device().ioport("CLINE5")->read(); }
115   if ((state->m_keyboard_mask & 0x40)!=0) { key &= device->machine().root_device().ioport("CLINE6")->read(); }
116   if ((state->m_keyboard_mask & 0x80)!=0) { key &= device->machine().root_device().ioport("CLINE7")->read(); }
110   if ((state->m_keyboard_mask & 0x02)!=0) { key &= space.machine().root_device().ioport("CLINE1")->read(); }
111   if ((state->m_keyboard_mask & 0x04)!=0) { key &= space.machine().root_device().ioport("CLINE2")->read(); }
112   if ((state->m_keyboard_mask & 0x08)!=0) { key &= space.machine().root_device().ioport("CLINE3")->read(); }
113   if ((state->m_keyboard_mask & 0x10)!=0) { key &= space.machine().root_device().ioport("CLINE4")->read(); }
114   if ((state->m_keyboard_mask & 0x20)!=0) { key &= space.machine().root_device().ioport("CLINE5")->read(); }
115   if ((state->m_keyboard_mask & 0x40)!=0) { key &= space.machine().root_device().ioport("CLINE6")->read(); }
116   if ((state->m_keyboard_mask & 0x80)!=0) { key &= space.machine().root_device().ioport("CLINE7")->read(); }
117117   key &= 0xe0;
118118   if (level <  0) {
119119      key ^= state->m_tape_value;
r18055r18056
193193
194194static READ8_DEVICE_HANDLER (radio86_romdisk_porta_r )
195195{
196   radio86_state *state = device->machine().driver_data<radio86_state>();
196   radio86_state *state = space.machine().driver_data<radio86_state>();
197197   UINT8 *romdisk = state->memregion("maincpu")->base() + 0x10000;
198198   if ((state->m_disk_sel & 0x0f) ==0) {
199199      return romdisk[state->m_romdisk_msb*256+state->m_romdisk_lsb];
r18055r18056
208208
209209static WRITE8_DEVICE_HANDLER (radio86_romdisk_portb_w )
210210{
211   radio86_state *state = device->machine().driver_data<radio86_state>();
211   radio86_state *state = space.machine().driver_data<radio86_state>();
212212   state->m_romdisk_lsb = data;
213213}
214214
215215static WRITE8_DEVICE_HANDLER (radio86_romdisk_portc_w )
216216{
217   radio86_state *state = device->machine().driver_data<radio86_state>();
217   radio86_state *state = space.machine().driver_data<radio86_state>();
218218   state->m_romdisk_msb = data;
219219}
220220
r18055r18056
230230
231231static WRITE8_DEVICE_HANDLER (mikrosha_8255_font_page_w )
232232{
233   radio86_state *state = device->machine().driver_data<radio86_state>();
233   radio86_state *state = space.machine().driver_data<radio86_state>();
234234   state->m_mikrosha_font_page = (data  > 7) & 1;
235235}
236236
trunk/src/mess/machine/b2m.c
r18055r18056
172172
173173static WRITE8_DEVICE_HANDLER (b2m_8255_porta_w )
174174{
175   b2m_state *state = device->machine().driver_data<b2m_state>();
175   b2m_state *state = space.machine().driver_data<b2m_state>();
176176   state->m_b2m_8255_porta = data;
177177}
178178static WRITE8_DEVICE_HANDLER (b2m_8255_portb_w )
179179{
180   b2m_state *state = device->machine().driver_data<b2m_state>();
180   b2m_state *state = space.machine().driver_data<b2m_state>();
181181   state->m_b2m_video_scroll = data;
182182}
183183
184184static WRITE8_DEVICE_HANDLER (b2m_8255_portc_w )
185185{
186   b2m_state *state = device->machine().driver_data<b2m_state>();
186   b2m_state *state = space.machine().driver_data<b2m_state>();
187187
188188   state->m_b2m_8255_portc = data;
189   b2m_set_bank(device->machine(), state->m_b2m_8255_portc & 7);
189   b2m_set_bank(space.machine(), state->m_b2m_8255_portc & 7);
190190   state->m_b2m_video_page = (state->m_b2m_8255_portc >> 7) & 1;
191191}
192192
193193static READ8_DEVICE_HANDLER (b2m_8255_portb_r )
194194{
195   b2m_state *state = device->machine().driver_data<b2m_state>();
195   b2m_state *state = space.machine().driver_data<b2m_state>();
196196   return state->m_b2m_video_scroll;
197197}
198198
r18055r18056
212212{
213213   UINT8 drive = ((data >> 1) & 1) ^ 1;
214214   UINT8 side  = (data  & 1) ^ 1;
215   b2m_state *state = device->machine().driver_data<b2m_state>();
216   floppy_mon_w(floppy_get_device(device->machine(), 0), 1);
217   floppy_mon_w(floppy_get_device(device->machine(), 1), 1);
215   b2m_state *state = space.machine().driver_data<b2m_state>();
216   floppy_mon_w(floppy_get_device(space.machine(), 0), 1);
217   floppy_mon_w(floppy_get_device(space.machine(), 1), 1);
218218
219219   if (state->m_b2m_drive!=drive) {
220220      wd17xx_set_drive(state->m_fdc,drive);
221      floppy_mon_w(floppy_get_device(device->machine(), 0), 0);
222      floppy_drive_set_ready_state(floppy_get_device(device->machine(), 0), 1, 1);
221      floppy_mon_w(floppy_get_device(space.machine(), 0), 0);
222      floppy_drive_set_ready_state(floppy_get_device(space.machine(), 0), 1, 1);
223223      state->m_b2m_drive = drive;
224224   }
225225   if (state->m_b2m_side!=side) {
226226      wd17xx_set_side(state->m_fdc,side);
227      floppy_mon_w(floppy_get_device(device->machine(), 1), 0);
228      floppy_drive_set_ready_state(floppy_get_device(device->machine(), 1), 1, 1);
227      floppy_mon_w(floppy_get_device(space.machine(), 1), 0);
228      floppy_drive_set_ready_state(floppy_get_device(space.machine(), 1), 1, 1);
229229      state->m_b2m_side = side;
230230   }
231231   wd17xx_dden_w(state->m_fdc, 0);
r18055r18056
243243
244244static READ8_DEVICE_HANDLER (b2m_romdisk_porta_r )
245245{
246   b2m_state *state = device->machine().driver_data<b2m_state>();
246   b2m_state *state = space.machine().driver_data<b2m_state>();
247247
248248   UINT8 *romdisk = state->memregion("maincpu")->base() + 0x12000;
249249   return romdisk[state->m_b2m_romdisk_msb*256+state->m_b2m_romdisk_lsb];
r18055r18056
251251
252252static WRITE8_DEVICE_HANDLER (b2m_romdisk_portb_w )
253253{
254   b2m_state *state = device->machine().driver_data<b2m_state>();
254   b2m_state *state = space.machine().driver_data<b2m_state>();
255255   state->m_b2m_romdisk_lsb = data;
256256}
257257
258258static WRITE8_DEVICE_HANDLER (b2m_romdisk_portc_w )
259259{
260   b2m_state *state = device->machine().driver_data<b2m_state>();
260   b2m_state *state = space.machine().driver_data<b2m_state>();
261261   state->m_b2m_romdisk_msb = data & 0x7f;
262262}
263263
trunk/src/mess/machine/thomson.c
r18055r18056
147147
148148static WRITE8_DEVICE_HANDLER ( to7_set_cassette_motor )
149149{
150   cassette_image_device* img = thom_cassette_img(device->machine());
150   cassette_image_device* img = thom_cassette_img(space.machine());
151151   cassette_state state =  img->get_state();
152152   double pos = img->get_position();
153153
154154   LOG (( "$%04x %f to7_set_cassette_motor: cassette motor %s bitpos=%i\n",
155          device->machine().device("maincpu")->safe_pcbase(), img->machine().time().as_double(), data ? "off" : "on",
155          space.machine().device("maincpu")->safe_pcbase(), img->machine().time().as_double(), data ? "off" : "on",
156156          (int) (pos / TO7_BIT_LENGTH) ));
157157
158158   if ( (state & CASSETTE_MASK_MOTOR) == CASSETTE_MOTOR_DISABLED && !data && pos > 0.3 )
r18055r18056
223223
224224static WRITE8_DEVICE_HANDLER ( mo5_set_cassette_motor )
225225{
226   cassette_image_device* img = thom_cassette_img(device->machine());
226   cassette_image_device* img = thom_cassette_img(space.machine());
227227   cassette_state state = img->get_state();
228228   double pos = img->get_position();
229229
230230   LOG (( "$%04x %f mo5_set_cassette_motor: cassette motor %s hbitpos=%i\n",
231          device->machine().device("maincpu")->safe_pcbase(), device->machine().time().as_double(), data ? "off" : "on",
231          space.machine().device("maincpu")->safe_pcbase(), space.machine().time().as_double(), data ? "off" : "on",
232232          (int) (pos / MO5_HBIT_LENGTH) ));
233233
234234   if ( (state & CASSETTE_MASK_MOTOR) == CASSETTE_MOTOR_DISABLED &&  !data && pos > 0.3 )
r18055r18056
507507
508508static WRITE8_DEVICE_HANDLER ( to7_timer_port_out )
509509{
510   thom_set_mode_point( device->machine(), data & 1 );          /* bit 0: video bank switch */
511   thom_set_caps_led( device->machine(), (data & 8) ? 1 : 0 ) ; /* bit 3: keyboard led */
512   thom_set_border_color( device->machine(),
510   thom_set_mode_point( space.machine(), data & 1 );          /* bit 0: video bank switch */
511   thom_set_caps_led( space.machine(), (data & 8) ? 1 : 0 ) ; /* bit 3: keyboard led */
512   thom_set_border_color( space.machine(),
513513                ((data & 0x10) ? 1 : 0) |           /* bits 4-6: border color */
514514                ((data & 0x20) ? 2 : 0) |
515515                ((data & 0x40) ? 4 : 0) );
r18055r18056
519519
520520static WRITE8_DEVICE_HANDLER ( to7_timer_cp2_out )
521521{
522   device->machine().device<dac_device>("buzzer")->write_unsigned8(data ? 0x80 : 0); /* 1-bit buzzer */
522   space.machine().device<dac_device>("buzzer")->write_unsigned8(data ? 0x80 : 0); /* 1-bit buzzer */
523523}
524524
525525
526526
527527static READ8_DEVICE_HANDLER ( to7_timer_port_in )
528528{
529   int lightpen = (device->machine().root_device().ioport("lightpen_button")->read() & 1) ? 2 : 0;
530   int cass = to7_get_cassette(device->machine()) ? 0x80 : 0;
529   int lightpen = (space.machine().root_device().ioport("lightpen_button")->read() & 1) ? 2 : 0;
530   int cass = to7_get_cassette(space.machine()) ? 0x80 : 0;
531531   return lightpen | cass;
532532}
533533
r18055r18056
536536static WRITE8_DEVICE_HANDLER ( to7_timer_tco_out )
537537{
538538   /* 1-bit cassette output */
539   to7_set_cassette( device->machine(), data );
539   to7_set_cassette( space.machine(), data );
540540}
541541
542542
r18055r18056
617617   if ( to7_lightpen )
618618   {
619619      /* lightpen hi */
620      return to7_lightpen_gpl( device->machine(), TO7_LIGHTPEN_DECAL, to7_lightpen_step ) >> 8;
620      return to7_lightpen_gpl( space.machine(), TO7_LIGHTPEN_DECAL, to7_lightpen_step ) >> 8;
621621   }
622622   else
623623   {
r18055r18056
633633      for ( i = 0; i < 8; i++ )
634634      {
635635         if ( ! (keyline & (1 << i)) )
636            val &= device->machine().root_device().ioport(keynames[i])->read();
636            val &= space.machine().root_device().ioport(keynames[i])->read();
637637      }
638638      return val;
639639   }
r18055r18056
644644static READ8_DEVICE_HANDLER ( to7_sys_portb_in )
645645{
646646   /* lightpen low */
647   return to7_lightpen_gpl( device->machine(), TO7_LIGHTPEN_DECAL, to7_lightpen_step ) & 0xff;
647   return to7_lightpen_gpl( space.machine(), TO7_LIGHTPEN_DECAL, to7_lightpen_step ) & 0xff;
648648}
649649
650650
r18055r18056
767767
768768static WRITE8_DEVICE_HANDLER( to7_io_portb_out )
769769{
770   centronics_device *printer = device->machine().device<centronics_device>("centronics");
770   centronics_device *printer = space.machine().device<centronics_device>("centronics");
771771
772   LOG_IO(( "$%04x %f to7_io_portb_out: CENTRONICS set data=$%02X\n", device->machine().device("maincpu")->safe_pcbase(), device->machine().time().as_double(), data ));
772   LOG_IO(( "$%04x %f to7_io_portb_out: CENTRONICS set data=$%02X\n", space.machine().device("maincpu")->safe_pcbase(), space.machine().time().as_double(), data ));
773773
774774   /* set 8-bit data */
775   printer->write( device->machine().driver_data()->generic_space(), 0, data);
775   printer->write( space.machine().driver_data()->generic_space(), 0, data);
776776}
777777
778778
779779
780780static WRITE8_DEVICE_HANDLER( to7_io_cb2_out )
781781{
782   centronics_device *printer = device->machine().device<centronics_device>("centronics");
782   centronics_device *printer = space.machine().device<centronics_device>("centronics");
783783
784   LOG_IO(( "$%04x %f to7_io_cb2_out: CENTRONICS set strobe=%i\n", device->machine().device("maincpu")->safe_pcbase(), device->machine().time().as_double(), data ));
784   LOG_IO(( "$%04x %f to7_io_cb2_out: CENTRONICS set strobe=%i\n", space.machine().device("maincpu")->safe_pcbase(), space.machine().time().as_double(), data ));
785785
786786   /* send STROBE to printer */
787787   printer->strobe_w(data);
r18055r18056
10371037static READ8_DEVICE_HANDLER ( to7_game_porta_in )
10381038{
10391039   UINT8 data;
1040   if ( device->machine().root_device().ioport("config")->read() & 1 )
1040   if ( space.machine().root_device().ioport("config")->read() & 1 )
10411041   {
10421042      /* mouse */
1043      data = to7_get_mouse_signal(device->machine()) & 0x0c;             /* XB, YB */
1044      data |= device->machine().root_device().ioport("mouse_button")->read() & 3; /* buttons */
1043      data = to7_get_mouse_signal(space.machine()) & 0x0c;             /* XB, YB */
1044      data |= space.machine().root_device().ioport("mouse_button")->read() & 3; /* buttons */
10451045   }
10461046   else
10471047   {
10481048      /* joystick */
1049      data = device->machine().root_device().ioport("game_port_directions")->read();
1049      data = space.machine().root_device().ioport("game_port_directions")->read();
10501050      /* bit 0=0 => P1 up      bit 4=0 => P2 up
10511051           bit 1=0 => P1 down    bit 5=0 => P2 down
10521052           bit 2=0 => P1 left    bit 6=0 => P2 left
r18055r18056
10781078static READ8_DEVICE_HANDLER ( to7_game_portb_in )
10791079{
10801080   UINT8 data;
1081   if ( device->machine().root_device().ioport("config")->read() & 1 )
1081   if ( space.machine().root_device().ioport("config")->read() & 1 )
10821082   {
10831083      /* mouse */
1084      UINT8 mouse =  to7_get_mouse_signal(device->machine());
1084      UINT8 mouse =  to7_get_mouse_signal(space.machine());
10851085      data = 0;
10861086      if ( mouse & 1 )
10871087         data |= 0x04; /* XA */
r18055r18056
10951095      /* bits 2-3: action buttons B (0=pressed) */
10961096      /* bits 4-5: unused (ouput) */
10971097      /* bits 0-1: unknown! */
1098      data = device->machine().root_device().ioport("game_port_buttons")->read();
1098      data = space.machine().root_device().ioport("game_port_buttons")->read();
10991099   }
11001100   return data;
11011101}
r18055r18056
11061106{
11071107   /* 6-bit DAC sound */
11081108   to7_game_sound = data & 0x3f;
1109   to7_game_sound_update(device->machine());
1109   to7_game_sound_update(space.machine());
11101110}
11111111
11121112
r18055r18056
15461546static WRITE8_DEVICE_HANDLER ( to770_sys_cb2_out )
15471547{
15481548   /* video overlay: black pixels are transparent and show TV image underneath */
1549   LOG(( "$%04x to770_sys_cb2_out: video overlay %i\n", device->machine().device("maincpu")->safe_pcbase(), data ));
1549   LOG(( "$%04x to770_sys_cb2_out: video overlay %i\n", space.machine().device("maincpu")->safe_pcbase(), data ));
15501550}
15511551
15521552
r18055r18056
15601560   };
15611561   int keyline = downcast<pia6821_device *>(device)->b_output() & 7;
15621562
1563   return device->machine().root_device().ioport(keynames[7 - keyline])->read();
1563   return space.machine().root_device().ioport(keynames[7 - keyline])->read();
15641564}
15651565
15661566
r18055r18056
16201620
16211621static WRITE8_DEVICE_HANDLER ( to770_sys_portb_out )
16221622{
1623   to770_update_ram_bank(device->machine());
1623   to770_update_ram_bank(space.machine());
16241624}
16251625
16261626
r18055r18056
16491649
16501650static WRITE8_DEVICE_HANDLER ( to770_timer_port_out )
16511651{
1652   thom_set_mode_point( device->machine(), data & 1 );          /* bit 0: video bank switch */
1653   thom_set_caps_led( device->machine(), (data & 8) ? 1 : 0 ) ; /* bit 3: keyboard led */
1654   thom_set_border_color( device->machine(),
1652   thom_set_mode_point( space.machine(), data & 1 );          /* bit 0: video bank switch */
1653   thom_set_caps_led( space.machine(), (data & 8) ? 1 : 0 ) ; /* bit 3: keyboard led */
1654   thom_set_border_color( space.machine(),
16551655                ((data & 0x10) ? 1 : 0) |          /* 4-bit border color */
16561656                ((data & 0x20) ? 2 : 0) |
16571657                ((data & 0x40) ? 4 : 0) |
r18055r18056
18401840
18411841static WRITE8_DEVICE_HANDLER ( mo5_sys_porta_out )
18421842{
1843   thom_set_mode_point( device->machine(), data & 1 );      /* bit 0: video bank switch */
1844   thom_set_border_color( device->machine(), (data >> 1) & 15 );   /* bit 1-4: border color */
1845   mo5_set_cassette( device->machine(), (data & 0x40) ? 1 : 0 );   /* bit 6: cassette output */
1843   thom_set_mode_point( space.machine(), data & 1 );      /* bit 0: video bank switch */
1844   thom_set_border_color( space.machine(), (data >> 1) & 15 );   /* bit 1-4: border color */
1845   mo5_set_cassette( space.machine(), (data & 0x40) ? 1 : 0 );   /* bit 6: cassette output */
18461846}
18471847
18481848
r18055r18056
18501850static READ8_DEVICE_HANDLER ( mo5_sys_porta_in )
18511851{
18521852   return
1853      (mo5_get_cassette(device->machine()) ? 0x80 : 0) |     /* bit 7: cassette input */
1854      ((device->machine().root_device().ioport("lightpen_button")->read() & 1) ? 0x20 : 0)
1853      (mo5_get_cassette(space.machine()) ? 0x80 : 0) |     /* bit 7: cassette input */
1854      ((space.machine().root_device().ioport("lightpen_button")->read() & 1) ? 0x20 : 0)
18551855      /* bit 5: lightpen button */;
18561856}
18571857
r18055r18056
18591859
18601860static WRITE8_DEVICE_HANDLER ( mo5_sys_portb_out )
18611861{
1862   device->machine().device<dac_device>("buzzer")->write_unsigned8((data & 1) ? 0x80 : 0); /* 1-bit buzzer */
1862   space.machine().device<dac_device>("buzzer")->write_unsigned8((data & 1) ? 0x80 : 0); /* 1-bit buzzer */
18631863}
18641864
18651865
r18055r18056
18741874      "keyboard_4", "keyboard_5", "keyboard_6", "keyboard_7"
18751875   };
18761876
1877   return ( device->machine().root_device().ioport(keynames[lin])->read() & (1 << col) ) ? 0x80 : 0;
1877   return ( space.machine().root_device().ioport(keynames[lin])->read() & (1 << col) ) ? 0x80 : 0;
18781878}
18791879
18801880
r18055r18056
30373037
30383038static READ8_DEVICE_HANDLER ( to9_sys_porta_in )
30393039{
3040   UINT8 ktest = to9_kbd_ktest(device->machine());
3040   UINT8 ktest = to9_kbd_ktest(space.machine());
30413041
30423042   LOG_KBD(( "to9_sys_porta_in: ktest=%i\n", ktest ));
30433043
r18055r18056
30483048
30493049static WRITE8_DEVICE_HANDLER ( to9_sys_porta_out )
30503050{
3051   centronics_device *printer = device->machine().device<centronics_device>("centronics");
3052   printer->write(device->machine().driver_data()->generic_space(), 0, data & 0xfe);
3051   centronics_device *printer = space.machine().device<centronics_device>("centronics");
3052   printer->write(space.machine().driver_data()->generic_space(), 0, data & 0xfe);
30533053}
30543054
30553055
30563056
30573057static WRITE8_DEVICE_HANDLER ( to9_sys_portb_out )
30583058{
3059   centronics_device *printer = device->machine().device<centronics_device>("centronics");
3059   centronics_device *printer = space.machine().device<centronics_device>("centronics");
30603060
30613061   printer->d0_w(BIT(data, 0));
30623062   printer->strobe_w(BIT(data, 1));
30633063
3064   to9_update_ram_bank(device->machine());
3064   to9_update_ram_bank(space.machine());
30653065
30663066   if ( data & 4 ) /* bit 2: video overlay (TODO) */
30673067      LOG(( "to9_sys_portb_out: video overlay not handled\n" ));
r18055r18056
30953095
30963096static WRITE8_DEVICE_HANDLER ( to9_timer_port_out )
30973097{
3098   thom_set_mode_point( device->machine(), data & 1 ); /* bit 0: video bank */
3099   to9_update_ram_bank(device->machine());
3100   to9_update_cart_bank(device->machine());
3098   thom_set_mode_point( space.machine(), data & 1 ); /* bit 0: video bank */
3099   to9_update_ram_bank(space.machine());
3100   to9_update_cart_bank(space.machine());
31013101}
31023102
31033103
r18055r18056
40734073
40744074static READ8_DEVICE_HANDLER ( to8_sys_porta_in )
40754075{
4076   int ktest = to8_kbd_ktest (device->machine());
4076   int ktest = to8_kbd_ktest (space.machine());
40774077
4078   LOG_KBD(( "$%04x %f: to8_sys_porta_in ktest=%i\n", device->machine().device("maincpu")->safe_pcbase(), device->machine().time().as_double(), ktest ));
4078   LOG_KBD(( "$%04x %f: to8_sys_porta_in ktest=%i\n", space.machine().device("maincpu")->safe_pcbase(), space.machine().time().as_double(), ktest ));
40794079
40804080   return ktest;
40814081}
r18055r18056
40844084
40854085static WRITE8_DEVICE_HANDLER ( to8_sys_portb_out )
40864086{
4087   centronics_device *printer = device->machine().device<centronics_device>("centronics");
4087   centronics_device *printer = space.machine().device<centronics_device>("centronics");
40884088
40894089   printer->d0_w(BIT(data, 0));
40904090   printer->strobe_w(BIT(data, 1));
40914091
4092   to8_update_ram_bank(device->machine());
4092   to8_update_ram_bank(space.machine());
40934093
40944094   if ( data & 4 ) /* bit 2: video overlay (TODO) */
40954095      LOG(( "to8_sys_portb_out: video overlay not handled\n" ));
r18055r18056
41214121
41224122static READ8_DEVICE_HANDLER ( to8_timer_port_in )
41234123{
4124   centronics_device *printer = device->machine().device<centronics_device>("centronics");
4125   int lightpen = (device->machine().root_device().ioport("lightpen_button")->read() & 1) ? 2 : 0;
4126   int cass = to7_get_cassette(device->machine()) ? 0x80 : 0;
4124   centronics_device *printer = space.machine().device<centronics_device>("centronics");
4125   int lightpen = (space.machine().root_device().ioport("lightpen_button")->read() & 1) ? 2 : 0;
4126   int cass = to7_get_cassette(space.machine()) ? 0x80 : 0;
41274127   int dtr = printer->busy_r() << 6;
41284128   int lock = to8_kbd_caps ? 0 : 8; /* undocumented! */
41294129   return lightpen | cass | dtr | lock;
r18055r18056
41354135{
41364136   int ack = (data & 0x20) ? 1 : 0;       /* bit 5: keyboard ACK */
41374137   to8_bios_bank = (data & 0x10) ? 1 : 0; /* bit 4: BIOS bank*/
4138   thom_set_mode_point( device->machine(), data & 1 );       /* bit 0: video bank switch */
4139   device->machine().root_device().membank( TO8_BIOS_BANK )->set_entry( to8_bios_bank );
4138   thom_set_mode_point( space.machine(), data & 1 );       /* bit 0: video bank switch */
4139   space.machine().root_device().membank( TO8_BIOS_BANK )->set_entry( to8_bios_bank );
41404140   to8_soft_select = (data & 0x04) ? 1 : 0; /* bit 2: internal ROM select */
4141   to8_update_floppy_bank(device->machine());
4142   to8_update_cart_bank(device->machine());
4143   to8_kbd_set_ack(device->machine(), ack);
4141   to8_update_floppy_bank(space.machine());
4142   to8_update_cart_bank(space.machine());
4143   to8_kbd_set_ack(space.machine(), ack);
41444144}
41454145
41464146
r18055r18056
41494149{
41504150   /* mute */
41514151   to7_game_mute = data;
4152   to7_game_sound_update(device->machine());
4152   to7_game_sound_update(space.machine());
41534153}
41544154
41554155
r18055r18056
43224322
43234323static READ8_DEVICE_HANDLER ( to9p_timer_port_in )
43244324{
4325   centronics_device *printer = device->machine().device<centronics_device>("centronics");
4326   int lightpen = (device->machine().root_device().ioport("lightpen_button")->read() & 1) ? 2 : 0;
4327   int cass = to7_get_cassette(device->machine()) ? 0x80 : 0;
4325   centronics_device *printer = space.machine().device<centronics_device>("centronics");
4326   int lightpen = (space.machine().root_device().ioport("lightpen_button")->read() & 1) ? 2 : 0;
4327   int cass = to7_get_cassette(space.machine()) ? 0x80 : 0;
43284328   int dtr = printer->busy_r() << 6;
43294329   return lightpen | cass | dtr;
43304330}
r18055r18056
43344334static WRITE8_DEVICE_HANDLER ( to9p_timer_port_out )
43354335{
43364336   int bios_bank = (data & 0x10) ? 1 : 0; /* bit 4: BIOS bank */
4337   thom_set_mode_point( device->machine(), data & 1 );       /* bit 0: video bank switch */
4338   device->machine().root_device().membank( TO8_BIOS_BANK )->set_entry( bios_bank );
4337   thom_set_mode_point( space.machine(), data & 1 );       /* bit 0: video bank switch */
4338   space.machine().root_device().membank( TO8_BIOS_BANK )->set_entry( bios_bank );
43394339   to8_soft_select = (data & 0x04) ? 1 : 0; /* bit 2: internal ROM select */
4340   to8_update_floppy_bank(device->machine());
4341   to8_update_cart_bank(device->machine());
4340   to8_update_floppy_bank(space.machine());
4341   to8_update_cart_bank(space.machine());
43424342}
43434343
43444344
r18055r18056
47554755
47564756static WRITE8_DEVICE_HANDLER ( mo6_game_porta_out )
47574757{
4758   centronics_device *printer = device->machine().device<centronics_device>("centronics");
4758   centronics_device *printer = space.machine().device<centronics_device>("centronics");
47594759
4760   LOG (( "$%04x %f mo6_game_porta_out: CENTRONICS set data=$%02X\n", device->machine().device("maincpu")->safe_pcbase(), device->machine().time().as_double(), data ));
4760   LOG (( "$%04x %f mo6_game_porta_out: CENTRONICS set data=$%02X\n", space.machine().device("maincpu")->safe_pcbase(), space.machine().time().as_double(), data ));
47614761
47624762   /* centronics data */
4763   printer->write( device->machine().driver_data()->generic_space(), 0, data);
4763   printer->write( space.machine().driver_data()->generic_space(), 0, data);
47644764}
47654765
47664766
47674767
47684768static WRITE8_DEVICE_HANDLER ( mo6_game_cb2_out )
47694769{
4770   centronics_device *printer = device->machine().device<centronics_device>("centronics");
4770   centronics_device *printer = space.machine().device<centronics_device>("centronics");
47714771
4772   LOG (( "$%04x %f mo6_game_cb2_out: CENTRONICS set strobe=%i\n", device->machine().device("maincpu")->safe_pcbase(), device->machine().time().as_double(), data ));
4772   LOG (( "$%04x %f mo6_game_cb2_out: CENTRONICS set strobe=%i\n", space.machine().device("maincpu")->safe_pcbase(), space.machine().time().as_double(), data ));
47734773
47744774   /* centronics strobe */
47754775   printer->strobe_w(data);
r18055r18056
48474847static READ8_DEVICE_HANDLER ( mo6_sys_porta_in )
48484848{
48494849   return
4850      (mo5_get_cassette(device->machine()) ? 0x80 : 0) |     /* bit 7: cassette input */
4850      (mo5_get_cassette(space.machine()) ? 0x80 : 0) |     /* bit 7: cassette input */
48514851      8 |                                   /* bit 3: kbd-line float up to 1 */
4852      ((device->machine().root_device().ioport("lightpen_button")->read() & 1) ? 2 : 0);
4852      ((space.machine().root_device().ioport("lightpen_button")->read() & 1) ? 2 : 0);
48534853   /* bit 1: lightpen button */;
48544854}
48554855
r18055r18056
48714871      lin = 8;     /* A bit 3: 9-th kbd line select */
48724872
48734873   return
4874      ( device->machine().root_device().ioport(keynames[lin])->read() & (1 << col) ) ?  0x80 : 0;
4874      ( space.machine().root_device().ioport(keynames[lin])->read() & (1 << col) ) ?  0x80 : 0;
48754875   /* bit 7: key up */
48764876}
48774877
r18055r18056
48794879
48804880static WRITE8_DEVICE_HANDLER ( mo6_sys_porta_out )
48814881{
4882   thom_set_mode_point( device->machine(),data & 1 );            /* bit 0: video bank switch */
4882   thom_set_mode_point( space.machine(),data & 1 );            /* bit 0: video bank switch */
48834883   to7_game_mute = data & 4;                  /* bit 2: sound mute */
4884   thom_set_caps_led( device->machine(),(data & 16) ? 0 : 1 ) ;      /* bit 4: keyboard led */
4885   mo5_set_cassette( device->machine(), (data & 0x40) ? 1 : 0 );      /* bit 6: cassette output */
4886   mo6_update_cart_bank(device->machine());               /* bit 5: rom bank */
4887   to7_game_sound_update(device->machine());
4884   thom_set_caps_led( space.machine(),(data & 16) ? 0 : 1 ) ;      /* bit 4: keyboard led */
4885   mo5_set_cassette( space.machine(), (data & 0x40) ? 1 : 0 );      /* bit 6: cassette output */
4886   mo6_update_cart_bank(space.machine());               /* bit 5: rom bank */
4887   to7_game_sound_update(space.machine());
48884888}
48894889
48904890
48914891
48924892static WRITE8_DEVICE_HANDLER ( mo6_sys_portb_out )
48934893{
4894   device->machine().device<dac_device>("buzzer")->write_unsigned8((data & 1) ? 0x80 : 0); /* bit 0: buzzer */
4894   space.machine().device<dac_device>("buzzer")->write_unsigned8((data & 1) ? 0x80 : 0); /* bit 0: buzzer */
48954895}
48964896
48974897
r18055r18056
52795279      "keyboard_4", "keyboard_5", "keyboard_6", "keyboard_7"
52805280   };
52815281
5282   return ( device->machine().root_device().ioport(keynames[lin])->read() & (1 << col) ) ? 0x80 : 0;
5282   return ( space.machine().root_device().ioport(keynames[lin])->read() & (1 << col) ) ? 0x80 : 0;
52835283   /* bit 7: key up */
52845284}
52855285
r18055r18056
52885288static WRITE8_DEVICE_HANDLER ( mo5nr_sys_porta_out )
52895289{
52905290   /* no keyboard LED */
5291   thom_set_mode_point( device->machine(), data & 1 );         /* bit 0: video bank switch */
5291   thom_set_mode_point( space.machine(), data & 1 );         /* bit 0: video bank switch */
52925292   to7_game_mute = data & 4;                  /* bit 2: sound mute */
5293   mo5_set_cassette( device->machine(), (data & 0x40) ? 1 : 0 );      /* bit 6: cassette output */
5294   mo6_update_cart_bank(device->machine());               /* bit 5: rom bank */
5295   to7_game_sound_update(device->machine());
5293   mo5_set_cassette( space.machine(), (data & 0x40) ? 1 : 0 );      /* bit 6: cassette output */
5294   mo6_update_cart_bank(space.machine());               /* bit 5: rom bank */
5295   to7_game_sound_update(space.machine());
52965296}
52975297
52985298
trunk/src/mess/machine/pet.c
r18055r18056
4747*/
4848static READ8_DEVICE_HANDLER( pia0_pa_r )
4949{
50   pet_state *state = device->machine().driver_data<pet_state>();
50   pet_state *state = space.machine().driver_data<pet_state>();
5151   /*
5252
5353        bit     description
r18055r18056
6969   data |= state->m_keyline_select;
7070
7171   /* #1 cassette switch */
72   data |= ((device->machine().device<cassette_image_device>(CASSETTE_TAG)->get_state() & CASSETTE_MASK_UISTATE) == CASSETTE_STOPPED) << 4;
72   data |= ((space.machine().device<cassette_image_device>(CASSETTE_TAG)->get_state() & CASSETTE_MASK_UISTATE) == CASSETTE_STOPPED) << 4;
7373
7474   /* #2 cassette switch */
75   data |= ((device->machine().device<cassette_image_device>(CASSETTE2_TAG)->get_state() & CASSETTE_MASK_UISTATE) == CASSETTE_STOPPED) << 5;
75   data |= ((space.machine().device<cassette_image_device>(CASSETTE2_TAG)->get_state() & CASSETTE_MASK_UISTATE) == CASSETTE_STOPPED) << 5;
7676
7777   /* end or identify in */
7878   data |= state->m_ieee->eoi_r() << 6;
r18055r18056
8585
8686static WRITE8_DEVICE_HANDLER( pia0_pa_w )
8787{
88   pet_state *state = device->machine().driver_data<pet_state>();
88   pet_state *state = space.machine().driver_data<pet_state>();
8989   /*
9090
9191        bit     description
r18055r18056
108108/* Keyboard reading/handling for regular keyboard */
109109static READ8_DEVICE_HANDLER( kin_r )
110110{
111   pet_state *state = device->machine().driver_data<pet_state>();
111   pet_state *state = space.machine().driver_data<pet_state>();
112112   /*
113113
114114        bit     description
r18055r18056
132132
133133   if (state->m_keyline_select < 10)
134134   {
135      data = device->machine().root_device().ioport(keynames[state->m_keyline_select])->read();
135      data = space.machine().root_device().ioport(keynames[state->m_keyline_select])->read();
136136      /* Check for left-shift lock */
137      if ((state->m_keyline_select == 8) && (device->machine().root_device().ioport("SPECIAL")->read() & 0x80))
137      if ((state->m_keyline_select == 8) && (space.machine().root_device().ioport("SPECIAL")->read() & 0x80))
138138         data &= 0xfe;
139139   }
140140   return data;
r18055r18056
144144static READ8_DEVICE_HANDLER( petb_kin_r )
145145{
146146   UINT8 data = 0xff;
147   pet_state *state = device->machine().driver_data<pet_state>();
147   pet_state *state = space.machine().driver_data<pet_state>();
148148   static const char *const keynames[] = {
149149      "ROW0", "ROW1", "ROW2", "ROW3", "ROW4",
150150      "ROW5", "ROW6", "ROW7", "ROW8", "ROW9"
r18055r18056
152152
153153   if (state->m_keyline_select < 10)
154154   {
155      data = device->machine().root_device().ioport(keynames[state->m_keyline_select])->read();
155      data = space.machine().root_device().ioport(keynames[state->m_keyline_select])->read();
156156      /* Check for left-shift lock */
157157      /* 2008-05 FP: For some reason, superpet read it in the opposite way!! */
158158      /* While waiting for confirmation from docs, we add a workaround here. */
159159      if (state->m_superpet)
160160      {
161         if ((state->m_keyline_select == 6) && !(device->machine().root_device().ioport("SPECIAL")->read() & 0x80))
161         if ((state->m_keyline_select == 6) && !(space.machine().root_device().ioport("SPECIAL")->read() & 0x80))
162162            data &= 0xfe;
163163      }
164164      else
165165      {
166         if ((state->m_keyline_select == 6) && (device->machine().root_device().ioport("SPECIAL")->read() & 0x80))
166         if ((state->m_keyline_select == 6) && (space.machine().root_device().ioport("SPECIAL")->read() & 0x80))
167167            data &= 0xfe;
168168      }
169169   }
r18055r18056
173173static READ8_DEVICE_HANDLER( cass1_r )
174174{
175175   // cassette 1 read
176   return (device->machine().device<cassette_image_device>(CASSETTE_TAG)->input() > +0.0) ? 1 : 0;
176   return (space.machine().device<cassette_image_device>(CASSETTE_TAG)->input() > +0.0) ? 1 : 0;
177177}
178178
179179static WRITE8_DEVICE_HANDLER( cass1_motor_w )
180180{
181   pet_state *state = device->machine().driver_data<pet_state>();
181   pet_state *state = space.machine().driver_data<pet_state>();
182182   if (!data)
183183   {
184      device->machine().device<cassette_image_device>(CASSETTE_TAG)->change_state(CASSETTE_MOTOR_ENABLED,CASSETTE_MASK_MOTOR);
184      space.machine().device<cassette_image_device>(CASSETTE_TAG)->change_state(CASSETTE_MOTOR_ENABLED,CASSETTE_MASK_MOTOR);
185185      state->m_datasette1_timer->adjust(attotime::zero, 0, attotime::from_hz(48000));   // I put 48000 because I was given some .wav with this freq
186186   }
187187   else
188188   {
189      device->machine().device<cassette_image_device>(CASSETTE_TAG)->change_state(CASSETTE_MOTOR_DISABLED ,CASSETTE_MASK_MOTOR);
189      space.machine().device<cassette_image_device>(CASSETTE_TAG)->change_state(CASSETTE_MOTOR_DISABLED ,CASSETTE_MASK_MOTOR);
190190      state->m_datasette1_timer->reset();
191191   }
192192}
r18055r18056
302302
303303    */
304304
305   pet_state *state = device->machine().driver_data<pet_state>();
305   pet_state *state = space.machine().driver_data<pet_state>();
306306   UINT8 data = 0;
307307
308308   /* not data accepted in */
r18055r18056
342342
343343    */
344344
345   pet_state *state = device->machine().driver_data<pet_state>();
345   pet_state *state = space.machine().driver_data<pet_state>();
346346
347347   /* not ready for data out */
348348   state->m_ieee->nrfd_w(BIT(data, 1));
r18055r18056
351351   state->m_ieee->atn_w(BIT(data, 2));
352352
353353   /* cassette write */
354   device->machine().device<cassette_image_device>(CASSETTE_TAG)->output(BIT(data, 3) ? -(0x5a9e >> 1) : +(0x5a9e >> 1));
355   device->machine().device<cassette_image_device>(CASSETTE2_TAG)->output(BIT(data, 3) ? -(0x5a9e >> 1) : +(0x5a9e >> 1));
354   space.machine().device<cassette_image_device>(CASSETTE_TAG)->output(BIT(data, 3) ? -(0x5a9e >> 1) : +(0x5a9e >> 1));
355   space.machine().device<cassette_image_device>(CASSETTE2_TAG)->output(BIT(data, 3) ? -(0x5a9e >> 1) : +(0x5a9e >> 1));
356356
357357   /* #2 cassette motor */
358358   if (BIT(data, 4))
359359   {
360      device->machine().device<cassette_image_device>(CASSETTE2_TAG)->change_state(CASSETTE_MOTOR_ENABLED, CASSETTE_MASK_MOTOR);
360      space.machine().device<cassette_image_device>(CASSETTE2_TAG)->change_state(CASSETTE_MOTOR_ENABLED, CASSETTE_MASK_MOTOR);
361361      state->m_datasette2_timer->adjust(attotime::zero, 0, attotime::from_hz(48000));   // I put 48000 because I was given some .wav with this freq
362362   }
363363   else
364364   {
365      device->machine().device<cassette_image_device>(CASSETTE2_TAG)->change_state(CASSETTE_MOTOR_DISABLED, CASSETTE_MASK_MOTOR);
365      space.machine().device<cassette_image_device>(CASSETTE2_TAG)->change_state(CASSETTE_MOTOR_DISABLED, CASSETTE_MASK_MOTOR);
366366      state->m_datasette2_timer->reset();
367367   }
368368}
trunk/src/mess/machine/oric.c
r18055r18056
136136/* this port is also used to read printer data */
137137static READ8_DEVICE_HANDLER ( oric_via_in_a_func )
138138{
139   oric_state *state = device->machine().driver_data<oric_state>();
139   oric_state *state = space.machine().driver_data<oric_state>();
140140
141141   /*logerror("port a read\r\n"); */
142142
r18055r18056
157157
158158static READ8_DEVICE_HANDLER ( oric_via_in_b_func )
159159{
160   oric_state *state = device->machine().driver_data<oric_state>();
160   oric_state *state = space.machine().driver_data<oric_state>();
161161   int data;
162162
163   oric_keyboard_sense_refresh(device->machine());
163   oric_keyboard_sense_refresh(space.machine());
164164
165165   data = state->m_key_sense_bit;
166166   data |= state->m_keyboard_line & 0x07;
r18055r18056
211211
212212static WRITE8_DEVICE_HANDLER ( oric_via_out_a_func )
213213{
214   oric_state *state = device->machine().driver_data<oric_state>();
214   oric_state *state = space.machine().driver_data<oric_state>();
215215   state->m_via_port_a_data = data;
216216
217217   oric_psg_connection_refresh(space);
r18055r18056
220220   if (state->m_psg_control==0)
221221   {
222222      /* if psg not selected, write to printer */
223      centronics_device *centronics = device->machine().device<centronics_device>("centronics");
224      centronics->write(device->machine().driver_data()->generic_space(), 0, data);
223      centronics_device *centronics = space.machine().device<centronics_device>("centronics");
224      centronics->write(space.machine().driver_data()->generic_space(), 0, data);
225225   }
226226}
227227
r18055r18056
283283
284284static WRITE8_DEVICE_HANDLER ( oric_via_out_b_func )
285285{
286   oric_state *state = device->machine().driver_data<oric_state>();
287   centronics_device *centronics = device->machine().device<centronics_device>("centronics");
286   oric_state *state = space.machine().driver_data<oric_state>();
287   centronics_device *centronics = space.machine().device<centronics_device>("centronics");
288288
289289   /* KEYBOARD */
290290   state->m_keyboard_line = data & 0x07;
291291
292292   /* CASSETTE */
293293   /* cassette motor control */
294   cassette_device_image(device->machine())->change_state(
294   cassette_device_image(space.machine())->change_state(
295295      (data & 0x40) ? CASSETTE_MOTOR_ENABLED : CASSETTE_MOTOR_DISABLED,
296296      CASSETTE_MOTOR_DISABLED);
297297
298298   /* cassette data out */
299   cassette_device_image(device->machine())->output((data & (1<<7)) ? -1.0 : +1.0);
299   cassette_device_image(space.machine())->output((data & (1<<7)) ? -1.0 : +1.0);
300300
301301   /* centronics STROBE is connected to PB4 */
302302   centronics->strobe_w(BIT(data, 4));
r18055r18056
308308
309309static READ8_DEVICE_HANDLER ( oric_via_in_ca2_func )
310310{
311   oric_state *state = device->machine().driver_data<oric_state>();
311   oric_state *state = space.machine().driver_data<oric_state>();
312312   return state->m_psg_control & 1;
313313}
314314
315315static READ8_DEVICE_HANDLER ( oric_via_in_cb2_func )
316316{
317   oric_state *state = device->machine().driver_data<oric_state>();
317   oric_state *state = space.machine().driver_data<oric_state>();
318318   return (state->m_psg_control>>1) & 1;
319319}
320320
321321static WRITE8_DEVICE_HANDLER ( oric_via_out_ca2_func )
322322{
323   oric_state *state = device->machine().driver_data<oric_state>();
323   oric_state *state = space.machine().driver_data<oric_state>();
324324   state->m_psg_control &=~1;
325325
326326   if (data)
r18055r18056
331331
332332static WRITE8_DEVICE_HANDLER ( oric_via_out_cb2_func )
333333{
334   oric_state *state = device->machine().driver_data<oric_state>();
334   oric_state *state = space.machine().driver_data<oric_state>();
335335   state->m_psg_control &=~2;
336336
337337   if (data)
r18055r18056
12801280
12811281static READ8_DEVICE_HANDLER(telestrat_via2_in_a_func)
12821282{
1283   oric_state *state = device->machine().driver_data<oric_state>();
1283   oric_state *state = space.machine().driver_data<oric_state>();
12841284   //logerror("via 2 - port a %02x\n",state->m_telestrat_via2_port_a_data);
12851285   return state->m_telestrat_via2_port_a_data;
12861286}
r18055r18056
12881288
12891289static WRITE8_DEVICE_HANDLER(telestrat_via2_out_a_func)
12901290{
1291   oric_state *state = device->machine().driver_data<oric_state>();
1291   oric_state *state = space.machine().driver_data<oric_state>();
12921292   //logerror("via 2 - port a w: %02x\n",data);
12931293
12941294   state->m_telestrat_via2_port_a_data = data;
r18055r18056
12971297   {
12981298      state->m_telestrat_bank_selection = data & 0x07;
12991299
1300      telestrat_refresh_mem(device->machine());
1300      telestrat_refresh_mem(space.machine());
13011301   }
13021302}
13031303
13041304static READ8_DEVICE_HANDLER(telestrat_via2_in_b_func)
13051305{
1306   oric_state *state = device->machine().driver_data<oric_state>();
1306   oric_state *state = space.machine().driver_data<oric_state>();
13071307   unsigned char data = 0x01f;
13081308
13091309   /* left joystick selected? */
r18055r18056
13151315   /* right joystick selected? */
13161316   if (state->m_telestrat_via2_port_b_data & (1<<7))
13171317   {
1318      data &= device->machine().root_device().ioport("JOY1")->read();
1318      data &= space.machine().root_device().ioport("JOY1")->read();
13191319   }
13201320
13211321   data |= state->m_telestrat_via2_port_b_data & ((1<<7) | (1<<6) | (1<<5));
r18055r18056
13251325
13261326static WRITE8_DEVICE_HANDLER(telestrat_via2_out_b_func)
13271327{
1328   oric_state *state = device->machine().driver_data<oric_state>();
1328   oric_state *state = space.machine().driver_data<oric_state>();
13291329   state->m_telestrat_via2_port_b_data = data;
13301330}
13311331
trunk/src/mess/machine/amstrad.c
r18055r18056
25082508/* Read/Write 8255 PPI port A (connected to AY-3-8912 databus) */
25092509READ8_DEVICE_HANDLER ( amstrad_ppi_porta_r )
25102510{
2511   amstrad_state *state = device->machine().driver_data<amstrad_state>();
2512   update_psg(device->machine());
2511   amstrad_state *state = space.machine().driver_data<amstrad_state>();
2512   update_psg(space.machine());
25132513   return state->m_ppi_port_inputs[amstrad_ppi_PortA];
25142514}
25152515
25162516
25172517WRITE8_DEVICE_HANDLER ( amstrad_ppi_porta_w )
25182518{
2519   amstrad_state *state = device->machine().driver_data<amstrad_state>();
2519   amstrad_state *state = space.machine().driver_data<amstrad_state>();
25202520   state->m_ppi_port_outputs[amstrad_ppi_PortA] = data;
2521   update_psg(device->machine());
2521   update_psg(space.machine());
25222522}
25232523
25242524
r18055r18056
25502550
25512551READ8_DEVICE_HANDLER (amstrad_ppi_portb_r)
25522552{
2553   amstrad_state *state = device->machine().driver_data<amstrad_state>();
2553   amstrad_state *state = space.machine().driver_data<amstrad_state>();
25542554   int data = 0;
25552555/* Set b7 with cassette tape input */
25562556   if(state->m_system_type != SYSTEM_GX4000)
r18055r18056
25822582
25832583logerror("amstrad_ppi_portb_r\n");
25842584   /* Schedule a write to PC2 */
2585   device->machine().scheduler().timer_set( attotime::zero, FUNC(amstrad_pc2_low));
2585   space.machine().scheduler().timer_set( attotime::zero, FUNC(amstrad_pc2_low));
25862586
25872587   return data;
25882588}
r18055r18056
26042604
26052605WRITE8_DEVICE_HANDLER ( amstrad_ppi_portc_w )
26062606{
2607   amstrad_state *state = device->machine().driver_data<amstrad_state>();
2607   amstrad_state *state = space.machine().driver_data<amstrad_state>();
26082608   int changed_data;
26092609
26102610   state->m_previous_ppi_portc_w = state->m_ppi_port_outputs[amstrad_ppi_PortC];
r18055r18056
26202620   state->m_aleste_rtc_function = data & 0x07;
26212621
26222622   /* Perform PSG function */
2623   update_psg(device->machine());
2623   update_psg(space.machine());
26242624
26252625   /* b5 Cassette Write data */
26262626   if(state->m_system_type != SYSTEM_GX4000)
trunk/src/mess/machine/mac.c
r18055r18056
738738
739739static WRITE8_DEVICE_HANDLER(mac_via_out_cb2)
740740{
741   mac_state *mac = device->machine().driver_data<mac_state>();
741   mac_state *mac = space.machine().driver_data<mac_state>();
742742
743743   if (mac->m_kbd_comm == FALSE && data == 0)
744744   {
745745      /* Mac pulls CB2 down to initiate communication */
746746      mac->m_kbd_comm = TRUE;
747747      mac->m_kbd_receive = TRUE;
748      device->machine().scheduler().timer_set(attotime::from_usec(100), FUNC(kbd_clock));
748      space.machine().scheduler().timer_set(attotime::from_usec(100), FUNC(kbd_clock));
749749   }
750750   if (mac->m_kbd_comm == TRUE && mac->m_kbd_receive == TRUE)
751751   {
r18055r18056
11791179static READ8_DEVICE_HANDLER(mac_adb_via_in_cb2)
11801180{
11811181   UINT8 ret;
1182   mac_state *mac = device->machine().driver_data<mac_state>();
1182   mac_state *mac = space.machine().driver_data<mac_state>();
11831183
11841184    if (ADB_IS_EGRET)
11851185    {
r18055r18056
12081208
12091209static WRITE8_DEVICE_HANDLER(mac_adb_via_out_cb2)
12101210{
1211   mac_state *mac = device->machine().driver_data<mac_state>();
1211   mac_state *mac = space.machine().driver_data<mac_state>();
12121212
12131213//        printf("VIA OUT CB2 = %x\n", data);
12141214    if (ADB_IS_EGRET)
r18055r18056
12641264
12651265static READ8_DEVICE_HANDLER(mac_via_in_a)
12661266{
1267   mac_state *mac = device->machine().driver_data<mac_state>();
1267   mac_state *mac = space.machine().driver_data<mac_state>();
12681268
1269//  printf("VIA1 IN_A (PC %x)\n", device->machine().device("maincpu")->safe_pc());
1269//  printf("VIA1 IN_A (PC %x)\n", space.machine().device("maincpu")->safe_pc());
12701270
12711271   switch (mac->m_model)
12721272   {
r18055r18056
13321332static READ8_DEVICE_HANDLER(mac_via_in_b)
13331333{
13341334   int val = 0;
1335   mac_state *mac = device->machine().driver_data<mac_state>();
1335   mac_state *mac = space.machine().driver_data<mac_state>();
13361336
13371337   // portable/PB100 is pretty different
13381338   if (mac->m_model >= MODEL_MAC_PORTABLE && mac->m_model <= MODEL_MAC_PB100)
r18055r18056
13431343   else
13441344   {
13451345      /* video beam in display (! VBLANK && ! HBLANK basically) */
1346      if (device->machine().primary_screen->vpos() >= MAC_V_VIS)
1346      if (space.machine().primary_screen->vpos() >= MAC_V_VIS)
13471347         val |= 0x40;
13481348
13491349      if (ADB_IS_BITBANG)
r18055r18056
13691369            val |= 0x20;
13701370         if (mac->m_mouse_bit_x)   /* Mouse X2 */
13711371            val |= 0x10;
1372         if ((device->machine().root_device().ioport("MOUSE0")->read() & 0x01) == 0)
1372         if ((space.machine().root_device().ioport("MOUSE0")->read() & 0x01) == 0)
13731373            val |= 0x08;
13741374      }
13751375      if (mac->m_rtc_data_out)
13761376         val |= 1;
13771377   }
13781378
1379//  printf("VIA1 IN_B = %02x (PC %x)\n", val, device->machine().device("maincpu")->safe_pc());
1379//  printf("VIA1 IN_B = %02x (PC %x)\n", val, space.machine().device("maincpu")->safe_pc());
13801380
13811381   return val;
13821382}
13831383
13841384static WRITE8_DEVICE_HANDLER(mac_via_out_a)
13851385{
1386   device_t *sound = device->machine().device("custom");
1387   device_t *fdc = device->machine().device("fdc");
1388   mac_state *mac = device->machine().driver_data<mac_state>();
1386   device_t *sound = space.machine().device("custom");
1387   device_t *fdc = space.machine().device("fdc");
1388   mac_state *mac = space.machine().driver_data<mac_state>();
13891389
1390//  printf("VIA1 OUT A: %02x (PC %x)\n", data, device->machine().device("maincpu")->safe_pc());
1390//  printf("VIA1 OUT A: %02x (PC %x)\n", data, space.machine().device("maincpu")->safe_pc());
13911391
13921392   if (ADB_IS_PM_VIA1)
13931393   {
r18055r18056
14271427
14281428static WRITE8_DEVICE_HANDLER(mac_via_out_b)
14291429{
1430   device_t *sound = device->machine().device("custom");
1430   device_t *sound = space.machine().device("custom");
14311431   int new_rtc_rTCClk;
1432   mac_state *mac = device->machine().driver_data<mac_state>();
1432   mac_state *mac = space.machine().driver_data<mac_state>();
14331433
1434//  printf("VIA1 OUT B: %02x (PC %x)\n", data, device->machine().device("maincpu")->safe_pc());
1434//  printf("VIA1 OUT B: %02x (PC %x)\n", data, space.machine().device("maincpu")->safe_pc());
14351435
14361436   if (ADB_IS_PM_VIA1)
14371437   {
1438      device_t *fdc = device->machine().device("fdc");
1438      device_t *fdc = space.machine().device("fdc");
14391439
14401440      sony_set_sel_line(fdc,(data & 0x20) >> 5);
14411441      mac->m_drive_select = ((data & 0x10) >> 4);
r18055r18056
16321632static READ8_DEVICE_HANDLER(mac_via2_in_a)
16331633{
16341634   UINT8 result;
1635   mac_state *mac = device->machine().driver_data<mac_state>();
1635   mac_state *mac = space.machine().driver_data<mac_state>();
16361636
16371637   if (ADB_IS_PM_VIA2)
16381638   {
r18055r18056
16521652
16531653static READ8_DEVICE_HANDLER(mac_via2_in_b)
16541654{
1655   mac_state *mac =device->machine().driver_data<mac_state>();
1655   mac_state *mac =space.machine().driver_data<mac_state>();
16561656
1657//  logerror("VIA2 IN B (PC %x)\n", device->machine().device("maincpu")->safe_pc());
1657//  logerror("VIA2 IN B (PC %x)\n", space.machine().device("maincpu")->safe_pc());
16581658
16591659   if (ADB_IS_PM_VIA2)
16601660   {
r18055r18056
16831683
16841684static WRITE8_DEVICE_HANDLER(mac_via2_out_a)
16851685{
1686   mac_state *mac = device->machine().driver_data<mac_state>();
1686   mac_state *mac = space.machine().driver_data<mac_state>();
16871687
1688//  logerror("VIA2 OUT A: %02x (PC %x)\n", data, device->machine().device("maincpu")->safe_pc());
1688//  logerror("VIA2 OUT A: %02x (PC %x)\n", data, space.machine().device("maincpu")->safe_pc());
16891689   if (ADB_IS_PM_VIA2)
16901690   {
16911691      mac->m_pm_data_send = data;
r18055r18056
16951695
16961696static WRITE8_DEVICE_HANDLER(mac_via2_out_b)
16971697{
1698   mac_state *mac = device->machine().driver_data<mac_state>();
1698   mac_state *mac = space.machine().driver_data<mac_state>();
16991699
1700//  logerror("VIA2 OUT B: %02x (PC %x)\n", data, device->machine().device("maincpu")->safe_pc());
1700//  logerror("VIA2 OUT B: %02x (PC %x)\n", data, space.machine().device("maincpu")->safe_pc());
17011701
17021702   if (ADB_IS_PM_VIA2)
17031703   {
trunk/src/mess/machine/concept.c
r18055r18056
223223{
224224   UINT8 status;
225225
226   status = ((device->machine().root_device().ioport("DSW0")->read() & 0x80) >> 1) | ((device->machine().root_device().ioport("DSW0")->read() & 0x40) << 1);
226   status = ((space.machine().root_device().ioport("DSW0")->read() & 0x80) >> 1) | ((space.machine().root_device().ioport("DSW0")->read() & 0x40) << 1);
227227   LOG(("via_in_b: VIA port B (DIP switches, Video, Comm Rate) - status: 0x%2.2x\n", status));
228228   return status;
229229}
trunk/src/mess/machine/upd7002.c
r18055r18056
152152      if (uPD7002->status & 0x08)
153153      {
154154         // 12 bit conversion takes 10ms
155         device->machine().scheduler().timer_set(attotime::from_msec(10), FUNC(uPD7002_conversioncomplete), uPD7002->conversion_counter, (void *)device);
155         space.machine().scheduler().timer_set(attotime::from_msec(10), FUNC(uPD7002_conversioncomplete), uPD7002->conversion_counter, (void *)device);
156156      } else {
157157         // 8 bit conversion takes 4ms
158         device->machine().scheduler().timer_set(attotime::from_msec(4), FUNC(uPD7002_conversioncomplete), uPD7002->conversion_counter, (void *)device);
158         space.machine().scheduler().timer_set(attotime::from_msec(4), FUNC(uPD7002_conversioncomplete), uPD7002->conversion_counter, (void *)device);
159159      }
160160      break;
161161
trunk/src/mess/machine/msx.c
r18055r18056
625625
626626WRITE8_DEVICE_HANDLER( msx_printer_strobe_w )
627627{
628   device->machine().device<centronics_device>("centronics")->strobe_w(BIT(data, 1));
628   space.machine().device<centronics_device>("centronics")->strobe_w(BIT(data, 1));
629629}
630630
631631WRITE8_DEVICE_HANDLER( msx_printer_data_w )
632632{
633   if (device->machine().root_device().ioport("DSW")->read() & 0x80)
633   if (space.machine().root_device().ioport("DSW")->read() & 0x80)
634634      /* SIMPL emulation */
635      device->machine().device<dac_device>("dac")->write_signed8(data);
635      space.machine().device<dac_device>("dac")->write_signed8(data);
636636   else
637      device->machine().device<centronics_device>("centronics")->write(device->machine().driver_data()->generic_space(), 0, data);
637      space.machine().device<centronics_device>("centronics")->write(space.machine().driver_data()->generic_space(), 0, data);
638638}
639639
640640READ8_DEVICE_HANDLER( msx_printer_status_r )
641641{
642642   UINT8 result = 0xfd;
643643
644   if (device->machine().root_device().ioport("DSW")->read() & 0x80)
644   if (space.machine().root_device().ioport("DSW")->read() & 0x80)
645645      return 0xff;
646646
647   result |= device->machine().device<centronics_device>("centronics")->busy_r() << 1;
647   result |= space.machine().device<centronics_device>("centronics")->busy_r() << 1;
648648
649649   return result;
650650}
trunk/src/mess/machine/mz700.c
r18055r18056
442442   for(i=0;i<10;i++)
443443   {
444444      if(key_line & (1 << i))
445         res |= device->machine().root_device().ioport(keynames[i])->read();
445         res |= space.machine().root_device().ioport(keynames[i])->read();
446446   }
447447
448448    return res;
r18055r18056
456456 */
457457static READ8_DEVICE_HANDLER( pio_port_c_r )
458458{
459   cassette_image_device *cas = device->machine().device<cassette_image_device>(CASSETTE_TAG);
460   mz_state *mz = device->machine().driver_data<mz_state>();
459   cassette_image_device *cas = space.machine().device<cassette_image_device>(CASSETTE_TAG);
460   mz_state *mz = space.machine().driver_data<mz_state>();
461461   UINT8 data = 0;
462462
463463   /* note: this is actually connected to Q output of the motor-control flip-flop (see below) */
r18055r18056
468468      data |= 0x20;       /* set the RDATA status */
469469
470470   data |= mz->m_cursor_timer << 6;
471   data |= device->machine().primary_screen->vblank() << 7;
471   data |= space.machine().primary_screen->vblank() << 7;
472472
473   LOG(2,"mz700_pio_port_c_r",("%02X\n", data),device->machine());
473   LOG(2,"mz700_pio_port_c_r",("%02X\n", data),space.machine());
474474
475475   return data;
476476}
r18055r18056
478478
479479static WRITE8_DEVICE_HANDLER( pio_port_a_w )
480480{
481   timer_device *timer = device->machine().device<timer_device>("cursor");
481   timer_device *timer = space.machine().device<timer_device>("cursor");
482482
483   LOG(2,"mz700_pio_port_a_w",("%02X\n", data),device->machine());
483   LOG(2,"mz700_pio_port_a_w",("%02X\n", data),space.machine());
484484
485485   /* the ls145 is connected to PA0-PA3 */
486486   dynamic_cast<ttl74145_device *>(device)->write(data & 0x07);
r18055r18056
499499     * bit 0 out    unused
500500     */
501501
502//  UINT8 state = cassette_get_state(device->machine().device<cassette_image_device>(CASSETTE_TAG));
502//  UINT8 state = cassette_get_state(space.machine().device<cassette_image_device>(CASSETTE_TAG));
503503//  UINT8 action = ((~pio_port_c_output & 8) & (data & 8));     /* detect low-to-high transition */
504504
505505   /* The motor control circuit consists of a resistor, capacitor, invertor, nand-gate, and D flip-flop.
r18055r18056
512512        If you load from the command-line or the software-picker, type in L <enter> immediately. */
513513#if 0
514514
515      device->machine().device<cassette_image_device>(CASSETTE_TAG)->change_state(
515      space.machine().device<cassette_image_device>(CASSETTE_TAG)->change_state(
516516      ((data & 0x08) && mz700_motor_on) ? CASSETTE_MOTOR_ENABLED : CASSETTE_MOTOR_DISABLED,
517517      CASSETTE_MOTOR_DISABLED);
518518
519519#endif
520520
521   LOG(2,"mz700_pio_port_c_w",("%02X\n", data),device->machine());
521   LOG(2,"mz700_pio_port_c_w",("%02X\n", data),space.machine());
522522
523   device->machine().device<cassette_image_device>(CASSETTE_TAG)->output((data & 0x02) ? +1.0 : -1.0);
523   space.machine().device<cassette_image_device>(CASSETTE_TAG)->output((data & 0x02) ? +1.0 : -1.0);
524524}
525525
526526
r18055r18056
545545
546546static READ8_DEVICE_HANDLER( mz800_z80pio_port_a_r )
547547{
548   centronics_device *centronics = device->machine().device<centronics_device>("centronics");
548   centronics_device *centronics = space.machine().device<centronics_device>("centronics");
549549   UINT8 result = 0;
550550
551551   result |= centronics->busy_r();
552552   result |= centronics->pe_r() << 1;
553   result |= device->machine().primary_screen->hblank() << 5;
553   result |= space.machine().primary_screen->hblank() << 5;
554554
555555   return result;
556556}
557557
558558static WRITE8_DEVICE_HANDLER( mz800_z80pio_port_a_w )
559559{
560   centronics_device *centronics = device->machine().device<centronics_device>("centronics");
560   centronics_device *centronics = space.machine().device<centronics_device>("centronics");
561561
562562   centronics->init_prime_w(BIT(data, 6));
563563   centronics->strobe_w(BIT(data, 7));
trunk/src/mess/machine/lisa.c
r18055r18056
681681*/
682682static WRITE8_DEVICE_HANDLER(COPS_via_out_a)
683683{
684   lisa_state *state = device->machine().driver_data<lisa_state>();
684   lisa_state *state = space.machine().driver_data<lisa_state>();
685685//    printf("VIA A = %02x\n", data);
686686    state->m_COPS_command = data;
687687}
688688
689689static WRITE8_DEVICE_HANDLER(COPS_via_out_ca2)
690690{
691   lisa_state *state = device->machine().driver_data<lisa_state>();
691   lisa_state *state = space.machine().driver_data<lisa_state>();
692692   state->m_hold_COPS_data = data;
693693
694694   /*logerror("COPS CA2 line state : %d\n", val);*/
695695
696696   /*logerror("COPS_via_out_ca2 : trying to send data to VIA\n");*/
697   COPS_send_data_if_possible(device->machine());
697   COPS_send_data_if_possible(space.machine());
698698}
699699
700700/*
r18055r18056
713713*/
714714static READ8_DEVICE_HANDLER(COPS_via_in_b)
715715{
716   lisa_state *state = device->machine().driver_data<lisa_state>();
716   lisa_state *state = space.machine().driver_data<lisa_state>();
717717   int val = 0;
718718
719719   if (state->m_COPS_Ready)
r18055r18056
727727
728728static WRITE8_DEVICE_HANDLER(COPS_via_out_b)
729729{
730   lisa_state *state = device->machine().driver_data<lisa_state>();
731   via6522_device *via_0 = device->machine().device<via6522_device>("via6522_0");
730   lisa_state *state = space.machine().driver_data<lisa_state>();
731   via6522_device *via_0 = space.machine().device<via6522_device>("via6522_0");
732732
733733   /* pull-up */
734734   data |= (~ via_0->read(space,VIA_DDRA)) & 0x01;
r18055r18056
738738      if (state->m_COPS_force_unplug)
739739      {
740740         state->m_COPS_force_unplug = 0;
741         plug_keyboard(device->machine());
741         plug_keyboard(space.machine());
742742      }
743743   }
744744   else
r18055r18056
746746      if (! state->m_COPS_force_unplug)
747747      {
748748         state->m_COPS_force_unplug = 1;
749         unplug_keyboard(device->machine());
749         unplug_keyboard(space.machine());
750750         //reset_COPS(state);
751751      }
752752   }
r18055r18056
754754
755755static WRITE8_DEVICE_HANDLER(COPS_via_out_cb2)
756756{
757   device_t *speaker = device->machine().device(SPEAKER_TAG);
757   device_t *speaker = space.machine().device(SPEAKER_TAG);
758758   speaker_level_w(speaker, data);
759759}
760760
r18055r18056
790790*/
791791static READ8_DEVICE_HANDLER(parallel_via_in_b)
792792{
793   lisa_state *state = device->machine().driver_data<lisa_state>();
793   lisa_state *state = space.machine().driver_data<lisa_state>();
794794   int val = 0;
795795
796796   if (state->m_DISK_DIAG)
trunk/src/mess/machine/cgenie.c
r18055r18056
604604
605605READ8_DEVICE_HANDLER( cgenie_sh_control_port_r )
606606{
607   cgenie_state *state = device->machine().driver_data<cgenie_state>();
607   cgenie_state *state = space.machine().driver_data<cgenie_state>();
608608   return state->m_control_port;
609609}
610610
611611WRITE8_DEVICE_HANDLER( cgenie_sh_control_port_w )
612612{
613   cgenie_state *state = device->machine().driver_data<cgenie_state>();
613   cgenie_state *state = space.machine().driver_data<cgenie_state>();
614614   state->m_control_port = data;
615615   ay8910_address_w(device, space, offset, data);
616616}
trunk/src/mess/machine/super80.c
r18055r18056
1414
1515static READ8_DEVICE_HANDLER( pio_port_b_r ) // cannot be modernised yet as super80 hangs at start
1616{
17   super80_state *state = device->machine().driver_data<super80_state>();
17   super80_state *state = space.machine().driver_data<super80_state>();
1818   char kbdrow[6];
1919   UINT8 i;
2020   UINT8 data = 0xff;
trunk/src/mess/machine/lviv.c
r18055r18056
6565
6666static READ8_DEVICE_HANDLER ( lviv_ppi_0_portc_r )
6767{
68   lviv_state *state = device->machine().driver_data<lviv_state>();
68   lviv_state *state = space.machine().driver_data<lviv_state>();
6969   UINT8 data = state->m_ppi_port_outputs[0][2] & 0x0f;
70   if (device->machine().device<cassette_image_device>(CASSETTE_TAG)->input() > 0.038)
70   if (space.machine().device<cassette_image_device>(CASSETTE_TAG)->input() > 0.038)
7171      data |= 0x10;
7272   if (state->m_ppi_port_outputs[0][0] & state->ioport("JOY")->read())
7373      data |= 0x80;
r18055r18056
7676
7777static WRITE8_DEVICE_HANDLER ( lviv_ppi_0_porta_w )
7878{
79   lviv_state *state = device->machine().driver_data<lviv_state>();
79   lviv_state *state = space.machine().driver_data<lviv_state>();
8080   state->m_ppi_port_outputs[0][0] = data;
8181}
8282
8383static WRITE8_DEVICE_HANDLER ( lviv_ppi_0_portb_w )
8484{
85   lviv_state *state = device->machine().driver_data<lviv_state>();
85   lviv_state *state = space.machine().driver_data<lviv_state>();
8686   state->m_ppi_port_outputs[0][1] = data;
87   lviv_update_palette(device->machine(), data&0x7f);
87   lviv_update_palette(space.machine(), data&0x7f);
8888}
8989
9090static WRITE8_DEVICE_HANDLER ( lviv_ppi_0_portc_w )   /* tape in/out, video memory on/off */
9191{
92   lviv_state *state = device->machine().driver_data<lviv_state>();
93   device_t *speaker = device->machine().device(SPEAKER_TAG);
92   lviv_state *state = space.machine().driver_data<lviv_state>();
93   device_t *speaker = space.machine().device(SPEAKER_TAG);
9494   state->m_ppi_port_outputs[0][2] = data;
9595   if (state->m_ppi_port_outputs[0][1]&0x80)
9696      speaker_level_w(speaker, data&0x01);
97   device->machine().device<cassette_image_device>(CASSETTE_TAG)->output((data & 0x01) ? -1.0 : 1.0);
98   lviv_update_memory(device->machine());
97   space.machine().device<cassette_image_device>(CASSETTE_TAG)->output((data & 0x01) ? -1.0 : 1.0);
98   lviv_update_memory(space.machine());
9999}
100100
101101static READ8_DEVICE_HANDLER ( lviv_ppi_1_porta_r )
r18055r18056
105105
106106static READ8_DEVICE_HANDLER ( lviv_ppi_1_portb_r )   /* keyboard reading */
107107{
108   lviv_state *state = device->machine().driver_data<lviv_state>();
109   return   ((state->m_ppi_port_outputs[1][0] & 0x01) ? 0xff : device->machine().root_device().ioport("KEY0")->read()) &
110      ((state->m_ppi_port_outputs[1][0] & 0x02) ? 0xff : device->machine().root_device().ioport("KEY1")->read()) &
111      ((state->m_ppi_port_outputs[1][0] & 0x04) ? 0xff : device->machine().root_device().ioport("KEY2")->read()) &
112      ((state->m_ppi_port_outputs[1][0] & 0x08) ? 0xff : device->machine().root_device().ioport("KEY3")->read()) &
113      ((state->m_ppi_port_outputs[1][0] & 0x10) ? 0xff : device->machine().root_device().ioport("KEY4")->read()) &
114      ((state->m_ppi_port_outputs[1][0] & 0x20) ? 0xff : device->machine().root_device().ioport("KEY5")->read()) &
115      ((state->m_ppi_port_outputs[1][0] & 0x40) ? 0xff : device->machine().root_device().ioport("KEY6")->read()) &
108   lviv_state *state = space.machine().driver_data<lviv_state>();
109   return   ((state->m_ppi_port_outputs[1][0] & 0x01) ? 0xff : space.machine().root_device().ioport("KEY0")->read()) &
110      ((state->m_ppi_port_outputs[1][0] & 0x02) ? 0xff : space.machine().root_device().ioport("KEY1")->read()) &
111      ((state->m_ppi_port_outputs[1][0] & 0x04) ? 0xff : space.machine().root_device().ioport("KEY2")->read()) &
112      ((state->m_ppi_port_outputs[1][0] & 0x08) ? 0xff : space.machine().root_device().ioport("KEY3")->read()) &
113      ((state->m_ppi_port_outputs[1][0] & 0x10) ? 0xff : space.machine().root_device().ioport("KEY4")->read()) &
114      ((state->m_ppi_port_outputs[1][0] & 0x20) ? 0xff : space.machine().root_device().ioport("KEY5")->read()) &
115      ((state->m_ppi_port_outputs[1][0] & 0x40) ? 0xff : space.machine().root_device().ioport("KEY6")->read()) &
116116      ((state->m_ppi_port_outputs[1][0] & 0x80) ? 0xff : state->ioport("KEY7")->read());
117117}
118118
119119static READ8_DEVICE_HANDLER ( lviv_ppi_1_portc_r )     /* keyboard reading */
120120{
121   lviv_state *state = device->machine().driver_data<lviv_state>();
122   return   ((state->m_ppi_port_outputs[1][2] & 0x01) ? 0xff : device->machine().root_device().ioport("KEY8")->read()) &
123      ((state->m_ppi_port_outputs[1][2] & 0x02) ? 0xff : device->machine().root_device().ioport("KEY9" )->read()) &
124      ((state->m_ppi_port_outputs[1][2] & 0x04) ? 0xff : device->machine().root_device().ioport("KEY10")->read()) &
121   lviv_state *state = space.machine().driver_data<lviv_state>();
122   return   ((state->m_ppi_port_outputs[1][2] & 0x01) ? 0xff : space.machine().root_device().ioport("KEY8")->read()) &
123      ((state->m_ppi_port_outputs[1][2] & 0x02) ? 0xff : space.machine().root_device().ioport("KEY9" )->read()) &
124      ((state->m_ppi_port_outputs[1][2] & 0x04) ? 0xff : space.machine().root_device().ioport("KEY10")->read()) &
125125      ((state->m_ppi_port_outputs[1][2] & 0x08) ? 0xff : state->ioport("KEY11")->read());
126126}
127127
128128static WRITE8_DEVICE_HANDLER ( lviv_ppi_1_porta_w )   /* kayboard scaning */
129129{
130   lviv_state *state = device->machine().driver_data<lviv_state>();
130   lviv_state *state = space.machine().driver_data<lviv_state>();
131131   state->m_ppi_port_outputs[1][0] = data;
132132}
133133
134134static WRITE8_DEVICE_HANDLER ( lviv_ppi_1_portb_w )
135135{
136   lviv_state *state = device->machine().driver_data<lviv_state>();
136   lviv_state *state = space.machine().driver_data<lviv_state>();
137137   state->m_ppi_port_outputs[1][1] = data;
138138}
139139
140140static WRITE8_DEVICE_HANDLER ( lviv_ppi_1_portc_w )   /* kayboard scaning */
141141{
142   lviv_state *state = device->machine().driver_data<lviv_state>();
142   lviv_state *state = space.machine().driver_data<lviv_state>();
143143   state->m_ppi_port_outputs[1][2] = data;
144144}
145145
trunk/src/mess/machine/apple1.c
r18055r18056
384384*****************************************************************************/
385385static READ8_DEVICE_HANDLER( apple1_pia0_kbdin )
386386{
387   apple1_state *state = device->machine().driver_data<apple1_state>();
387   apple1_state *state = space.machine().driver_data<apple1_state>();
388388   /* Bit 7 of the keyboard input is permanently wired high.  This is
389389       what the ROM Monitor software expects. */
390390   return state->m_kbd_data | 0x80;
r18055r18056
393393static WRITE8_DEVICE_HANDLER( apple1_pia0_dspout )
394394{
395395   /* Send an ASCII character to the video hardware. */
396   apple1_vh_dsp_w(device->machine(), data);
396   apple1_vh_dsp_w(space.machine(), data);
397397}
398398
399399static WRITE8_DEVICE_HANDLER( apple1_pia0_dsp_write_signal )
r18055r18056
413413       write.  Thus the write delay depends on the cursor position and
414414       where the display is in the refresh cycle. */
415415   if (!data)
416      device->machine().scheduler().timer_set(apple1_vh_dsp_time_to_ready(device->machine()), FUNC(apple1_dsp_ready_start));
416      space.machine().scheduler().timer_set(apple1_vh_dsp_time_to_ready(space.machine()), FUNC(apple1_dsp_ready_start));
417417}
418418
419419static TIMER_CALLBACK(apple1_dsp_ready_start)
trunk/src/mess/machine/mc6843.c
r18055r18056
427427      int cmd = mc6843->CMR & 0x0f;
428428
429429      LOG(( "%f $%04x mc6843_r: data input cmd=%s(%i), pos=%i/%i, GCR=%i, ",
430            device->machine().time().as_double(), device->machine().firstcpu->pcbase( ),
430            space.machine().time().as_double(), space.machine().firstcpu->pcbase( ),
431431            mc6843_cmd[cmd], cmd, mc6843->data_idx,
432432            mc6843->data_size, mc6843->GCR ));
433433
r18055r18056
480480      {
481481         /* XXX TODO: other read modes */
482482         data = mc6843->data[0];
483         logerror( "$%04x mc6843 read in unsupported command mode %i\n", device->machine().firstcpu->pcbase( ), cmd );
483         logerror( "$%04x mc6843 read in unsupported command mode %i\n", space.machine().firstcpu->pcbase( ), cmd );
484484      }
485485
486486      LOG(( "data=%02X\n", data ));
r18055r18056
491491   case 1: /* Current-Track Address Register (CTAR) */
492492      data = mc6843->CTAR;
493493      LOG(( "%f $%04x mc6843_r: read CTAR %i (actual=%i)\n",
494            device->machine().time().as_double(), device->machine().firstcpu->pcbase( ), data,
494            space.machine().time().as_double(), space.machine().firstcpu->pcbase( ), data,
495495            floppy_drive_get_current_track( mc6843_floppy_image( device ) ) ));
496496      break;
497497
498498   case 2: /* Interrupt Status Register (ISR) */
499499      data = mc6843->ISR;
500500      LOG(( "%f $%04x mc6843_r: read ISR %02X: cmd=%scomplete settle=%scomplete sense-rq=%i STRB=%i\n",
501            device->machine().time().as_double(), device->machine().firstcpu->pcbase( ), data,
501            space.machine().time().as_double(), space.machine().firstcpu->pcbase( ), data,
502502            (data & 1) ? "" : "not-" , (data & 2) ? "" : "not-",
503503            (data >> 2) & 1, (data >> 3) & 1 ));
504504
r18055r18056
524524
525525      data = mc6843->STRA;
526526      LOG(( "%f $%04x mc6843_r: read STRA %02X: data-rq=%i del-dta=%i ready=%i t0=%i wp=%i trk-dif=%i idx=%i busy=%i\n",
527            device->machine().time().as_double(), device->machine().firstcpu->pcbase( ), data,
527            space.machine().time().as_double(), space.machine().firstcpu->pcbase( ), data,
528528            data & 1, (data >> 1) & 1, (data >> 2) & 1, (data >> 3) & 1,
529529            (data >> 4) & 1, (data >> 5) & 1, (data >> 6) & 1, (data >> 7) & 1 ));
530530      break;
r18055r18056
533533   case 4: /* Status Register B (STRB) */
534534      data = mc6843->STRB;
535535      LOG(( "%f $%04x mc6843_r: read STRB %02X: data-err=%i CRC-err=%i dta--mrk-err=%i sect-mrk-err=%i seek-err=%i fi=%i wr-err=%i hard-err=%i\n",
536            device->machine().time().as_double(), device->machine().firstcpu->pcbase( ), data,
536            space.machine().time().as_double(), space.machine().firstcpu->pcbase( ), data,
537537            data & 1, (data >> 1) & 1, (data >> 2) & 1, (data >> 3) & 1,
538538            (data >> 4) & 1, (data >> 5) & 1, (data >> 6) & 1, (data >> 7) & 1 ));
539539
r18055r18056
545545   case 7: /* Logical-Track Address Register (LTAR) */
546546      data = mc6843->LTAR;
547547      LOG(( "%f $%04x mc6843_r: read LTAR %i (actual=%i)\n",
548            device->machine().time().as_double(), device->machine().firstcpu->pcbase( ), data,
548            space.machine().time().as_double(), space.machine().firstcpu->pcbase( ), data,
549549            floppy_drive_get_current_track( mc6843_floppy_image( device ) ) ));
550550      break;
551551
552552   default:
553      logerror( "$%04x mc6843 invalid read offset %i\n", device->machine().firstcpu->pcbase( ), offset );
553      logerror( "$%04x mc6843 invalid read offset %i\n", space.machine().firstcpu->pcbase( ), offset );
554554   }
555555
556556   return data;
r18055r18056
567567      int FWF = (mc6843->CMR >> 4) & 1;
568568
569569      LOG(( "%f $%04x mc6843_w: data output cmd=%s(%i), pos=%i/%i, GCR=%i, data=%02X\n",
570            device->machine().time().as_double(), device->machine().firstcpu->pcbase( ),
570            space.machine().time().as_double(), space.machine().firstcpu->pcbase( ),
571571            mc6843_cmd[cmd], cmd, mc6843->data_idx,
572572            mc6843->data_size, mc6843->GCR, data ));
573573
r18055r18056
584584            /* end of sector write */
585585            device_t* img = mc6843_floppy_image( device );
586586
587            LOG(( "%f $%04x mc6843_w: write sector %i\n", device->machine().time().as_double(), device->machine().firstcpu->pcbase( ), mc6843->data_id ));
587            LOG(( "%f $%04x mc6843_w: write sector %i\n", space.machine().time().as_double(), space.machine().firstcpu->pcbase( ), mc6843->data_id ));
588588
589589            floppy_drive_write_sector_data(
590590               img, mc6843->side, mc6843->data_id,
r18055r18056
648648               UINT8 track  = mc6843->data[1];
649649               UINT8 sector = mc6843->data[3];
650650               UINT8 filler = 0xe5; /* standard Thomson filler */
651               LOG(( "%f $%04x mc6843_w: address id detected track=%i sector=%i\n", device->machine().time().as_double(), device->machine().firstcpu->pcbase( ), track, sector));
651               LOG(( "%f $%04x mc6843_w: address id detected track=%i sector=%i\n", space.machine().time().as_double(), space.machine().firstcpu->pcbase( ), track, sector));
652652               floppy_drive_format_sector( img, mc6843->side, sector, track, 0, sector, 0, filler );
653653            }
654654            else
r18055r18056
670670      else
671671      {
672672         /* XXX TODO: other write modes */
673         logerror( "$%04x mc6843 write %02X in unsupported command mode %i (FWF=%i)\n", device->machine().firstcpu->pcbase( ), data, cmd, FWF );
673         logerror( "$%04x mc6843 write %02X in unsupported command mode %i (FWF=%i)\n", space.machine().firstcpu->pcbase( ), data, cmd, FWF );
674674      }
675675      break;
676676   }
r18055r18056
678678   case 1: /* Current-Track Address Register (CTAR) */
679679      mc6843->CTAR = data & 0x7f;
680680      LOG(( "%f $%04x mc6843_w: set CTAR to %i %02X (actual=%i) \n",
681            device->machine().time().as_double(), device->machine().firstcpu->pcbase( ), mc6843->CTAR, data,
681            space.machine().time().as_double(), space.machine().firstcpu->pcbase( ), mc6843->CTAR, data,
682682            floppy_drive_get_current_track( mc6843_floppy_image( device ) ) ));
683683      break;
684684
r18055r18056
687687      int cmd = data & 15;
688688
689689      LOG(( "%f $%04x mc6843_w: set CMR to $%02X: cmd=%s(%i) FWF=%i DMA=%i ISR3-intr=%i fun-intr=%i\n",
690            device->machine().time().as_double(), device->machine().firstcpu->pcbase( ),
690            space.machine().time().as_double(), space.machine().firstcpu->pcbase( ),
691691            data, mc6843_cmd[cmd], cmd, (data >> 4) & 1, (data >> 5) & 1,
692692            (data >> 6) & 1, (data >> 7) & 1 ));
693693
r18055r18056
734734
735735      /* assume CLK freq = 1MHz (IBM 3740 compatibility) */
736736      LOG(( "%f $%04x mc6843_w: set SUR to $%02X: head settling time=%fms, track-to-track seek time=%f\n",
737            device->machine().time().as_double(), device->machine().firstcpu->pcbase( ),
737            space.machine().time().as_double(), space.machine().firstcpu->pcbase( ),
738738            data, 4.096 * (data & 15), 1.024 * ((data >> 4) & 15) ));
739739      break;
740740
741741   case 4: /* Sector Address Register (SAR) */
742742      mc6843->SAR = data & 0x1f;
743      LOG(( "%f $%04x mc6843_w: set SAR to %i (%02X)\n", device->machine().time().as_double(), device->machine().firstcpu->pcbase( ), mc6843->SAR, data ));
743      LOG(( "%f $%04x mc6843_w: set SAR to %i (%02X)\n", space.machine().time().as_double(), space.machine().firstcpu->pcbase( ), mc6843->SAR, data ));
744744      break;
745745
746746   case 5: /* General Count Register (GCR) */
747747      mc6843->GCR = data & 0x7f;
748      LOG(( "%f $%04x mc6843_w: set GCR to %i (%02X)\n", device->machine().time().as_double(), device->machine().firstcpu->pcbase( ), mc6843->GCR, data ));
748      LOG(( "%f $%04x mc6843_w: set GCR to %i (%02X)\n", space.machine().time().as_double(), space.machine().firstcpu->pcbase( ), mc6843->GCR, data ));
749749      break;
750750
751751   case 6: /* CRC Control Register (CCR) */
752752      mc6843->CCR = data & 3;
753753      LOG(( "%f $%04x mc6843_w: set CCR to %02X: CRC=%s shift=%i\n",
754            device->machine().time().as_double(), device->machine().firstcpu->pcbase( ), data,
754            space.machine().time().as_double(), space.machine().firstcpu->pcbase( ), data,
755755            (data & 1) ? "enabled" : "disabled", (data >> 1) & 1 ));
756756      break;
757757
758758   case 7: /* Logical-Track Address Register (LTAR) */
759759      mc6843->LTAR = data & 0x7f;
760760      LOG(( "%f $%04x mc6843_w: set LTAR to %i %02X (actual=%i)\n",
761            device->machine().time().as_double(), device->machine().firstcpu->pcbase( ), mc6843->LTAR, data,
761            space.machine().time().as_double(), space.machine().firstcpu->pcbase( ), mc6843->LTAR, data,
762762            floppy_drive_get_current_track( mc6843_floppy_image( device ) ) ));
763763      break;
764764
765765   default:
766      logerror( "$%04x mc6843 invalid write offset %i (data=$%02X)\n", device->machine().firstcpu->pcbase( ), offset, data );
766      logerror( "$%04x mc6843 invalid write offset %i (data=$%02X)\n", space.machine().firstcpu->pcbase( ), offset, data );
767767   }
768768}
769769
trunk/src/mess/machine/mtx.c
r18055r18056
2929
3030READ8_DEVICE_HANDLER( mtx_strobe_r )
3131{
32   centronics_device *centronics = device->machine().device<centronics_device>(CENTRONICS_TAG);
32   centronics_device *centronics = space.machine().device<centronics_device>(CENTRONICS_TAG);
3333   /* set STROBE low */
3434   centronics->strobe_w(FALSE);
3535
r18055r18056
116116
117117READ8_DEVICE_HANDLER( mtx_sound_strobe_r )
118118{
119   mtx_state *state = device->machine().driver_data<mtx_state>();
119   mtx_state *state = space.machine().driver_data<mtx_state>();
120120
121121   sn76496_w(device, space, 0, state->m_sound_latch);
122122
r18055r18056
148148
149149READ8_DEVICE_HANDLER( mtx_prt_r )
150150{
151   centronics_device *centronics = device->machine().device<centronics_device>(CENTRONICS_TAG);
151   centronics_device *centronics = space.machine().device<centronics_device>(CENTRONICS_TAG);
152152
153153   /*
154154
trunk/src/mess/machine/rmnimbus.c
r18055r18056
22172217{
22182218    if(offset==0)
22192219    {
2220        return keyboard_queue_read(device->machine());
2220        return keyboard_queue_read(space.machine());
22212221    }
22222222    else
22232223        return -1;
trunk/src/mess/machine/pp01.c
r18055r18056
187187
188188static READ8_DEVICE_HANDLER (pp01_8255_porta_r )
189189{
190   pp01_state *state = device->machine().driver_data<pp01_state>();
190   pp01_state *state = space.machine().driver_data<pp01_state>();
191191   return state->m_video_scroll;
192192}
193193static WRITE8_DEVICE_HANDLER (pp01_8255_porta_w )
194194{
195   pp01_state *state = device->machine().driver_data<pp01_state>();
195   pp01_state *state = space.machine().driver_data<pp01_state>();
196196   state->m_video_scroll = data;
197197}
198198
199199static READ8_DEVICE_HANDLER (pp01_8255_portb_r )
200200{
201   pp01_state *state = device->machine().driver_data<pp01_state>();
201   pp01_state *state = space.machine().driver_data<pp01_state>();
202202   static const char *const keynames[] = {
203203      "LINE0", "LINE1", "LINE2", "LINE3", "LINE4", "LINE5", "LINE6", "LINE7",
204204      "LINE8", "LINE9", "LINEA", "LINEB", "LINEC", "LINED", "LINEE", "LINEF"
205205   };
206206
207   return (device->machine().root_device().ioport(keynames[state->m_key_line])->read() & 0x3F) | (device->machine().root_device().ioport("LINEALL")->read() & 0xC0);
207   return (space.machine().root_device().ioport(keynames[state->m_key_line])->read() & 0x3F) | (space.machine().root_device().ioport("LINEALL")->read() & 0xC0);
208208}
209209static WRITE8_DEVICE_HANDLER (pp01_8255_portb_w )
210210{
r18055r18056
214214
215215static WRITE8_DEVICE_HANDLER (pp01_8255_portc_w )
216216{
217   pp01_state *state = device->machine().driver_data<pp01_state>();
217   pp01_state *state = space.machine().driver_data<pp01_state>();
218218   state->m_key_line = data & 0x0f;
219219}
220220
trunk/src/mess/machine/atarifdc.c
r18055r18056
702702
703703   if (fdc->serin_count)
704704   {
705      pokey_device *pokey = device->machine().device<pokey_device>("pokey");
705      pokey_device *pokey = space.machine().device<pokey_device>("pokey");
706706
707707      data = fdc->serin_buff[fdc->serin_offs];
708708      ser_delay = 2 * 40;
r18055r18056
727727
728728WRITE8_DEVICE_HANDLER ( atari_serout_w )
729729{
730   pia6821_device *pia = device->machine().device<pia6821_device>( "pia" );
730   pia6821_device *pia = space.machine().device<pia6821_device>( "pia" );
731731   atari_fdc_t *fdc = get_safe_token(device);
732732
733733   /* ignore serial commands if no floppy image is specified */
trunk/src/mess/machine/pk8020.c
r18055r18056
848848
849849static READ8_DEVICE_HANDLER(pk8020_porta_r)
850850{
851   pk8020_state *state = device->machine().driver_data<pk8020_state>();
851   pk8020_state *state = space.machine().driver_data<pk8020_state>();
852852   return 0xf0 | (state->m_takt <<1) | (state->m_text_attr)<<3;
853853}
854854
855855static WRITE8_DEVICE_HANDLER(pk8020_portc_w)
856856{
857   pk8020_state *state = device->machine().driver_data<pk8020_state>();
857   pk8020_state *state = space.machine().driver_data<pk8020_state>();
858858   state->m_video_page_access =(data>>6) & 3;
859859   state->m_attr = (data >> 4) & 3;
860860   state->m_wide = (data >> 3) & 1;
r18055r18056
867867
868868static WRITE8_DEVICE_HANDLER(pk8020_portb_w)
869869{
870   device_t *fdc = device->machine().device("wd1793");
870   device_t *fdc = space.machine().device("wd1793");
871871   // Turn all motors off
872   floppy_mon_w(floppy_get_device(device->machine(), 0), 1);
873   floppy_mon_w(floppy_get_device(device->machine(), 1), 1);
874   floppy_mon_w(floppy_get_device(device->machine(), 2), 1);
875   floppy_mon_w(floppy_get_device(device->machine(), 3), 1);
872   floppy_mon_w(floppy_get_device(space.machine(), 0), 1);
873   floppy_mon_w(floppy_get_device(space.machine(), 1), 1);
874   floppy_mon_w(floppy_get_device(space.machine(), 2), 1);
875   floppy_mon_w(floppy_get_device(space.machine(), 3), 1);
876876   wd17xx_set_side(fdc,BIT(data,4));
877877   if (BIT(data,0)) {
878878      wd17xx_set_drive(fdc,0);
879      floppy_mon_w(floppy_get_device(device->machine(), 0), 0);
880      floppy_drive_set_ready_state(floppy_get_device(device->machine(), 0), 1, 1);
879      floppy_mon_w(floppy_get_device(space.machine(), 0), 0);
880      floppy_drive_set_ready_state(floppy_get_device(space.machine(), 0), 1, 1);
881881   } else if (BIT(data,1)) {
882882      wd17xx_set_drive(fdc,1);
883      floppy_mon_w(floppy_get_device(device->machine(), 1), 0);
884      floppy_drive_set_ready_state(floppy_get_device(device->machine(), 1), 1, 1);
883      floppy_mon_w(floppy_get_device(space.machine(), 1), 0);
884      floppy_drive_set_ready_state(floppy_get_device(space.machine(), 1), 1, 1);
885885   } else if (BIT(data,2)) {
886886      wd17xx_set_drive(fdc,2);
887      floppy_mon_w(floppy_get_device(device->machine(), 2), 0);
888      floppy_drive_set_ready_state(floppy_get_device(device->machine(), 2), 1, 1);
887      floppy_mon_w(floppy_get_device(space.machine(), 2), 0);
888      floppy_drive_set_ready_state(floppy_get_device(space.machine(), 2), 1, 1);
889889   } else if (BIT(data,3)) {
890890      wd17xx_set_drive(fdc,3);
891      floppy_mon_w(floppy_get_device(device->machine(), 3), 0);
892      floppy_drive_set_ready_state(floppy_get_device(device->machine(), 3), 1, 1);
891      floppy_mon_w(floppy_get_device(space.machine(), 3), 0);
892      floppy_drive_set_ready_state(floppy_get_device(space.machine(), 3), 1, 1);
893893   }
894894}
895895
896896static READ8_DEVICE_HANDLER(pk8020_portc_r)
897897{
898   pk8020_state *state = device->machine().driver_data<pk8020_state>();
898   pk8020_state *state = space.machine().driver_data<pk8020_state>();
899899   return state->m_portc_data;
900900}
901901
r18055r18056
912912
913913static WRITE8_DEVICE_HANDLER(pk8020_2_portc_w)
914914{
915   pk8020_state *state = device->machine().driver_data<pk8020_state>();
916   device_t *speaker = device->machine().device(SPEAKER_TAG);
915   pk8020_state *state = space.machine().driver_data<pk8020_state>();
916   device_t *speaker = space.machine().device(SPEAKER_TAG);
917917
918918   state->m_sound_gate = BIT(data,3);
919919
trunk/src/mess/video/911_vdt.c
r18055r18056
420420      case 0xc:
421421         /* keyboard interrupt enable */
422422         vdt->keyboard_interrupt_enable = data;
423         (*vdt->int_callback)(device->machine(), vdt->keyboard_interrupt_enable && vdt->keyboard_data_ready);
423         (*vdt->int_callback)(space.machine(), vdt->keyboard_interrupt_enable && vdt->keyboard_data_ready);
424424         break;
425425
426426      case 0xd:
r18055r18056
478478         {
479479            vdt->keyboard_data_ready = 0;
480480            if (vdt->keyboard_interrupt_enable)
481               (*vdt->int_callback)(device->machine(), 0);
481               (*vdt->int_callback)(space.machine(), 0);
482482         }
483483         /*vdt->keyboard_parity_error = 0;*/
484484         break;
485485
486486      case 0xe:
487487         /* beep enable strobe - not tested */
488         beep_set_state(device->machine().device(BEEPER_TAG), 1);
488         beep_set_state(space.machine().device(BEEPER_TAG), 1);
489489
490490         vdt->beep_timer->adjust(attotime::from_usec(300));
491491         break;
trunk/src/mess/video/cirrus.c
r18055r18056
229229WRITE8_DEVICE_HANDLER( cirrus_42E8_w )
230230{
231231   if (data & 0x80)
232      pc_vga_reset(device->machine());
232      pc_vga_reset(space.machine());
233233}
trunk/src/mess/video/vic4567.c
r18055r18056
12811281      break;
12821282
12831283   case 0x19:
1284      vic3_clear_interrupt(device->machine(), data & 0x0f, vic3);
1284      vic3_clear_interrupt(space.machine(), data & 0x0f, vic3);
12851285      break;
12861286
12871287   case 0x1a:                     /* irq mask */
12881288      vic3->reg[offset] = data;
1289      vic3_set_interrupt(device->machine(), 0, vic3);   // beamrider needs this
1289      vic3_set_interrupt(space.machine(), 0, vic3);   // beamrider needs this
12901290      break;
12911291
12921292   case 0x11:
r18055r18056
13801380      if (vic3->port_changed!=NULL) {
13811381         DBG_LOG(2, "vic write", ("%.2x:%.2x\n", offset, data));
13821382         vic3->reg[offset] = data;
1383         vic3->port_changed(device->machine(), data);
1383         vic3->port_changed(space.machine(), data);
13841384      }
13851385      break;
13861386   case 0x31:
r18055r18056
14601460   case 0x1e:                     /* sprite to sprite collision detect */
14611461      val = vic3->reg[offset];
14621462      vic3->reg[offset] = 0;
1463      vic3_clear_interrupt(device->machine(), 4, vic3);
1463      vic3_clear_interrupt(space.machine(), 4, vic3);
14641464      break;
14651465
14661466   case 0x1f:                     /* sprite to background collision detect */
14671467      val = vic3->reg[offset];
14681468      vic3->reg[offset] = 0;
1469      vic3_clear_interrupt(device->machine(), 2, vic3);
1469      vic3_clear_interrupt(space.machine(), 2, vic3);
14701470      break;
14711471
14721472   case 0x20:
trunk/src/mess/video/vtvideo.c
r18055r18056
172172
173173WRITE8_DEVICE_HANDLER( vt_video_brightness_w )
174174{
175   //palette_set_color_rgb(device->machine(), 1, data, data, data);
175   //palette_set_color_rgb(space.machine(), 1, data, data, data);
176176}
177177
178178static void vt_video_display_char(device_t *device,bitmap_ind16 &bitmap, UINT8 code,
trunk/src/mess/video/vic6567.c
r18055r18056
22262226WRITE8_DEVICE_HANDLER( vic2_port_w )
22272227{
22282228   vic2_state *vic2 = get_safe_token(device);
2229   running_machine &machine = device->machine();
2229   running_machine &machine = space.machine();
22302230
22312231   DBG_LOG(2, "vic write", ("%.2x:%.2x\n", offset, data));
22322232   offset &= 0x3f;
r18055r18056
24512451READ8_DEVICE_HANDLER( vic2_port_r )
24522452{
24532453   vic2_state *vic2 = get_safe_token(device);
2454   running_machine &machine = device->machine();
2454   running_machine &machine = space.machine();
24552455   int val = 0;
24562456
24572457   offset &= 0x3f;
trunk/src/mess/drivers/dectalk.c
r18055r18056
719719
720720static WRITE8_DEVICE_HANDLER( dectalk_kbd_put )
721721{
722   duart68681_rx_data(device->machine().device("duart68681"), 1, data);
722   duart68681_rx_data(space.machine().device("duart68681"), 1, data);
723723}
724724
725725static GENERIC_TERMINAL_INTERFACE( dectalk_terminal_intf )
trunk/src/mess/drivers/pc9801.c
r18055r18056
22072207static READ8_DEVICE_HANDLER( get_slave_ack )
22082208{
22092209   if (offset==7) { // IRQ = 7
2210      return   pic8259_acknowledge( device->machine().device( "pic8259_slave" ));
2210      return   pic8259_acknowledge( space.machine().device( "pic8259_slave" ));
22112211   }
22122212   return 0x00;
22132213}
r18055r18056
23482348
23492349static WRITE8_DEVICE_HANDLER( ppi_sys_portc_w )
23502350{
2351   beep_set_state(device->machine().device(BEEPER_TAG),!(data & 0x08));
2351   beep_set_state(space.machine().device(BEEPER_TAG),!(data & 0x08));
23522352}
23532353
23542354static I8255A_INTERFACE( ppi_system_intf )
r18055r18056
23782378
23792379static READ8_DEVICE_HANDLER( ppi_fdd_portb_r )
23802380{
2381   return 0xff; //upd765_status_r(device->machine().device("upd765_2dd"),space, 0);
2381   return 0xff; //upd765_status_r(space.machine().device("upd765_2dd"),space, 0);
23822382}
23832383
23842384static READ8_DEVICE_HANDLER( ppi_fdd_portc_r )
23852385{
2386   return 0xff; //upd765_data_r(device->machine().device("upd765_2dd"),space, 0);
2386   return 0xff; //upd765_data_r(space.machine().device("upd765_2dd"),space, 0);
23872387}
23882388
23892389static WRITE8_DEVICE_HANDLER( ppi_fdd_portc_w )
23902390{
2391   //upd765_data_w(device->machine().device("upd765_2dd"),space, 0,data);
2391   //upd765_data_w(space.machine().device("upd765_2dd"),space, 0,data);
23922392}
23932393
23942394static I8255A_INTERFACE( ppi_fdd_intf )
trunk/src/mess/drivers/atari400.c
r18055r18056
909909static WRITE8_DEVICE_HANDLER(a800xl_pia_pb_w)
910910{
911911   if (downcast<pia6821_device *>(device)->port_b_z_mask() != 0xff)
912      a800xl_mmu(device->machine(), data);
912      a800xl_mmu(space.machine(), data);
913913}
914914
915915static WRITE8_DEVICE_HANDLER(xegs_pia_pb_w)
916916{
917917   if (downcast<pia6821_device *>(device)->port_b_z_mask() != 0xff)
918      xegs_mmu(device->machine(), data);
918      xegs_mmu(space.machine(), data);
919919}
920920
921921static const pokey_interface atari_pokey_interface =
trunk/src/mess/drivers/osbexec.c
r18055r18056
349349
350350static READ8_DEVICE_HANDLER( osbexec_pia0_a_r )
351351{
352   osbexec_state *state = device->machine().driver_data<osbexec_state>();
352   osbexec_state *state = space.machine().driver_data<osbexec_state>();
353353
354354   return state->m_pia0_porta;
355355}
r18055r18056
357357
358358static WRITE8_DEVICE_HANDLER( osbexec_pia0_a_w )
359359{
360   osbexec_state *state = device->machine().driver_data<osbexec_state>();
360   osbexec_state *state = space.machine().driver_data<osbexec_state>();
361361
362362   logerror("osbexec_pia0_a_w: %02x\n", data );
363363
364364   state->m_pia0_porta = data;
365365
366   state->set_banks(device->machine());
366   state->set_banks(space.machine());
367367}
368368
369369
370370static READ8_DEVICE_HANDLER( osbexec_pia0_b_r )
371371{
372   osbexec_state *state = device->machine().driver_data<osbexec_state>();
372   osbexec_state *state = space.machine().driver_data<osbexec_state>();
373373
374374   return state->m_pia0_portb;
375375}
r18055r18056
377377
378378static WRITE8_DEVICE_HANDLER( osbexec_pia0_b_w )
379379{
380   osbexec_state *state = device->machine().driver_data<osbexec_state>();
380   osbexec_state *state = space.machine().driver_data<osbexec_state>();
381381
382382   state->m_pia0_portb = data;
383383
trunk/src/mess/drivers/mz2000.c
r18055r18056
290290
291291static READ8_DEVICE_HANDLER( mz2000_wd17xx_r )
292292{
293   mz2000_state *state = device->machine().driver_data<mz2000_state>();
293   mz2000_state *state = space.machine().driver_data<mz2000_state>();
294294
295295   if(state->m_has_fdc)
296296      return wd17xx_r(device, space, offset) ^ 0xff;
r18055r18056
300300
301301static WRITE8_DEVICE_HANDLER( mz2000_wd17xx_w )
302302{
303   mz2000_state *state = device->machine().driver_data<mz2000_state>();
303   mz2000_state *state = space.machine().driver_data<mz2000_state>();
304304
305305   if(state->m_has_fdc)
306306      wd17xx_w(device, space, offset, data ^ 0xff);
r18055r18056
573573
574574static READ8_DEVICE_HANDLER( mz2000_portb_r )
575575{
576   mz2000_state *state = device->machine().driver_data<mz2000_state>();
576   mz2000_state *state = space.machine().driver_data<mz2000_state>();
577577   /*
578578    x--- ---- break key
579579    -x-- ---- read tape data
r18055r18056
593593   else
594594      res |= 0x20;
595595
596   res |= (device->machine().primary_screen->vblank()) ? 0x00 : 0x01;
596   res |= (space.machine().primary_screen->vblank()) ? 0x00 : 0x01;
597597
598598   return res;
599599}
r18055r18056
617617    ---- --x- tape ff
618618    ---- ---x tape rewind
619619    */
620   mz2000_state *state = device->machine().driver_data<mz2000_state>();
620   mz2000_state *state = space.machine().driver_data<mz2000_state>();
621621
622622   if((state->m_tape_ctrl & 0x80) == 0 && data & 0x80)
623623   {
r18055r18056
673673
674674static WRITE8_DEVICE_HANDLER( mz2000_portc_w )
675675{
676   mz2000_state *state = device->machine().driver_data<mz2000_state>();
676   mz2000_state *state = space.machine().driver_data<mz2000_state>();
677677   /*
678678        x--- ---- tape data write
679679        -x-- ---- tape rec
r18055r18056
692692   {
693693      state->m_ipl_enable = 0;
694694      /* correct? */
695      device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
695      space.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
696696   }
697697
698   beep_set_state(device->machine().device(BEEPER_TAG),data & 0x04);
698   beep_set_state(space.machine().device(BEEPER_TAG),data & 0x04);
699699
700700   state->m_old_portc = data;
701701}
r18055r18056
712712
713713static WRITE8_DEVICE_HANDLER( mz2000_pio1_porta_w )
714714{
715   mz2000_state *state = device->machine().driver_data<mz2000_state>();
715   mz2000_state *state = space.machine().driver_data<mz2000_state>();
716716   state->m_tvram_enable = ((data & 0xc0) == 0xc0);
717717   state->m_gvram_enable = ((data & 0xc0) == 0x80);
718718   state->m_width80 = ((data & 0x20) >> 5);
r18055r18056
723723
724724static READ8_DEVICE_HANDLER( mz2000_pio1_portb_r )
725725{
726   mz2000_state *state = device->machine().driver_data<mz2000_state>();
726   mz2000_state *state = space.machine().driver_data<mz2000_state>();
727727   static const char *const keynames[] = { "KEY0", "KEY1", "KEY2", "KEY3",
728728                                           "KEY4", "KEY5", "KEY6", "KEY7",
729729                                           "KEY8", "KEY9", "KEYA", "KEYB",
r18055r18056
735735
736736      res = 0xff;
737737      for(i=0;i<0xe;i++)
738         res &= device->machine().root_device().ioport(keynames[i])->read();
738         res &= space.machine().root_device().ioport(keynames[i])->read();
739739
740740      return res;
741741   }
742742
743   return device->machine().root_device().ioport(keynames[state->m_key_mux & 0xf])->read();
743   return space.machine().root_device().ioport(keynames[state->m_key_mux & 0xf])->read();
744744}
745745
746746static READ8_DEVICE_HANDLER( mz2000_pio1_porta_r )
747747{
748   mz2000_state *state = device->machine().driver_data<mz2000_state>();
748   mz2000_state *state = space.machine().driver_data<mz2000_state>();
749749
750750   return state->m_porta_latch;
751751}
trunk/src/mess/drivers/mini2440.c
r18055r18056
113113
114114static WRITE8_DEVICE_HANDLER( s3c2440_nand_command_w )
115115{
116   mini2440_state *state = device->machine().driver_data<mini2440_state>();
116   mini2440_state *state = space.machine().driver_data<mini2440_state>();
117117   state->m_nand->command_w(data);
118118}
119119
120120static WRITE8_DEVICE_HANDLER( s3c2440_nand_address_w )
121121{
122   mini2440_state *state = device->machine().driver_data<mini2440_state>();
122   mini2440_state *state = space.machine().driver_data<mini2440_state>();
123123   state->m_nand->address_w(data);
124124}
125125
126126static READ8_DEVICE_HANDLER( s3c2440_nand_data_r )
127127{
128   mini2440_state *state = device->machine().driver_data<mini2440_state>();
128   mini2440_state *state = space.machine().driver_data<mini2440_state>();
129129   return state->m_nand->data_r();
130130}
131131
132132static WRITE8_DEVICE_HANDLER( s3c2440_nand_data_w )
133133{
134   mini2440_state *state = device->machine().driver_data<mini2440_state>();
134   mini2440_state *state = space.machine().driver_data<mini2440_state>();
135135   state->m_nand->data_w(data);
136136}
137137
r18055r18056
139139
140140static WRITE16_DEVICE_HANDLER( s3c2440_i2s_data_w )
141141{
142   mini2440_state *state = device->machine().driver_data<mini2440_state>();
142   mini2440_state *state = space.machine().driver_data<mini2440_state>();
143143   state->m_dac[offset]->write_signed16(data + 0x8000);
144144}
145145
r18055r18056
150150   UINT32 data = 0;
151151   switch (offset)
152152   {
153      case 2 + 0 : data = device->machine().root_device().ioport( "PENX")->read(); break;
154      case 2 + 1 : data = 915 - device->machine().root_device().ioport( "PENY")->read() + 90; break;
153      case 2 + 0 : data = space.machine().root_device().ioport( "PENX")->read(); break;
154      case 2 + 1 : data = 915 - space.machine().root_device().ioport( "PENY")->read() + 90; break;
155155   }
156   verboselog( device->machine(), 5,  "s3c2440_adc_data_r %08X\n", data);
156   verboselog( space.machine(), 5,  "s3c2440_adc_data_r %08X\n", data);
157157   return data;
158158}
159159
trunk/src/mess/drivers/pc88va.c
r18055r18056
13981398
13991399static READ8_DEVICE_HANDLER( cpu_8255_c_r )
14001400{
1401   pc88va_state *state = device->machine().driver_data<pc88va_state>();
1401   pc88va_state *state = space.machine().driver_data<pc88va_state>();
14021402
14031403   return state->m_i8255_1_pc >> 4;
14041404}
14051405
14061406static WRITE8_DEVICE_HANDLER( cpu_8255_c_w )
14071407{
1408   pc88va_state *state = device->machine().driver_data<pc88va_state>();
1408   pc88va_state *state = space.machine().driver_data<pc88va_state>();
14091409
14101410   state->m_i8255_0_pc = data;
14111411}
r18055r18056
14221422
14231423static READ8_DEVICE_HANDLER( fdc_8255_c_r )
14241424{
1425   pc88va_state *state = device->machine().driver_data<pc88va_state>();
1425   pc88va_state *state = space.machine().driver_data<pc88va_state>();
14261426
14271427   return state->m_i8255_0_pc >> 4;
14281428}
14291429
14301430static WRITE8_DEVICE_HANDLER( fdc_8255_c_w )
14311431{
1432   pc88va_state *state = device->machine().driver_data<pc88va_state>();
1432   pc88va_state *state = space.machine().driver_data<pc88va_state>();
14331433
14341434   state->m_i8255_1_pc = data;
14351435}
r18055r18056
14481448{
14491449   UINT8 sw5, sw4, sw3, sw2,speed_sw;
14501450
1451   speed_sw = (device->machine().root_device().ioport("SPEED_SW")->read() & 1) ? 0x20 : 0x00;
1452   sw5 = (device->machine().root_device().ioport("DSW")->read() & 0x10);
1453   sw4 = (device->machine().root_device().ioport("DSW")->read() & 0x08);
1454   sw3 = (device->machine().root_device().ioport("DSW")->read() & 0x04);
1455   sw2 = (device->machine().root_device().ioport("DSW")->read() & 0x02);
1451   speed_sw = (space.machine().root_device().ioport("SPEED_SW")->read() & 1) ? 0x20 : 0x00;
1452   sw5 = (space.machine().root_device().ioport("DSW")->read() & 0x10);
1453   sw4 = (space.machine().root_device().ioport("DSW")->read() & 0x08);
1454   sw3 = (space.machine().root_device().ioport("DSW")->read() & 0x04);
1455   sw2 = (space.machine().root_device().ioport("DSW")->read() & 0x02);
14561456
14571457   return 0xc1 | sw5 | sw4 | sw3 | sw2 | speed_sw;
14581458}
r18055r18056
14611461{
14621462   UINT8 xsw1;
14631463
1464   xsw1 = (device->machine().root_device().ioport("DSW")->read() & 1) ? 0 : 8;
1464   xsw1 = (space.machine().root_device().ioport("DSW")->read() & 1) ? 0 : 8;
14651465
14661466   return 0xf7 | xsw1;
14671467}
r18055r18056
15101510static READ8_DEVICE_HANDLER( get_slave_ack )
15111511{
15121512   if (offset==7) { // IRQ = 7
1513      return pic8259_acknowledge(device->machine().device( "pic8259_slave"));
1513      return pic8259_acknowledge(space.machine().device( "pic8259_slave"));
15141514   }
15151515   return 0x00;
15161516}
trunk/src/mess/drivers/mycom.c
r18055r18056
420420
421421static WRITE8_DEVICE_HANDLER( mycom_rtc_w )
422422{
423   mycom_state *state = device->machine().driver_data<mycom_state>();
423   mycom_state *state = space.machine().driver_data<mycom_state>();
424424
425425   state->m_rtc->address_w(data & 0x0f);
426426
trunk/src/mess/drivers/spc1000.c
r18055r18056
100100
101101static WRITE8_DEVICE_HANDLER(spc1000_gmode_w)
102102{
103   spc1000_state *state = device->machine().driver_data<spc1000_state>();
103   spc1000_state *state = space.machine().driver_data<spc1000_state>();
104104   state->m_GMODE = data;
105105
106106   // state->m_GMODE layout: CSS|NA|PS2|PS1|~A/G|GM0|GM1|NA
r18055r18056
113113
114114static READ8_DEVICE_HANDLER(spc1000_gmode_r)
115115{
116   spc1000_state *state = device->machine().driver_data<spc1000_state>();
116   spc1000_state *state = space.machine().driver_data<spc1000_state>();
117117   return state->m_GMODE;
118118}
119119
r18055r18056
244244
245245static READ8_DEVICE_HANDLER( spc1000_mc6847_videoram_r )
246246{
247   spc1000_state *state = device->machine().driver_data<spc1000_state>();
247   spc1000_state *state = space.machine().driver_data<spc1000_state>();
248248   if (offset == ~0) return 0xff;
249249
250250   // state->m_GMODE layout: CSS|NA|PS2|PS1|~A/G|GM0|GM1|NA
trunk/src/mess/drivers/pes.c
r18055r18056
6767/* Devices */
6868static WRITE8_DEVICE_HANDLER( pes_kbd_input )
6969{
70   pes_state *state = device->machine().driver_data<pes_state>();
70   pes_state *state = space.machine().driver_data<pes_state>();
7171#ifdef DEBUG_FIFO
7272   fprintf(stderr,"keyboard input: %c, ", data);
7373#endif
r18055r18056
8787   fprintf(stderr,"kb input fifo fullness: %d\n",(state->m_infifo_head_ptr-state->m_infifo_tail_ptr)&0x1F);
8888#endif
8989   // todo: following two should be set so clear happens after one cpu cycle
90   device->machine().device("maincpu")->execute().set_input_line(MCS51_RX_LINE, ASSERT_LINE);
91   device->machine().device("maincpu")->execute().set_input_line(MCS51_RX_LINE, CLEAR_LINE);
90   space.machine().device("maincpu")->execute().set_input_line(MCS51_RX_LINE, ASSERT_LINE);
91   space.machine().device("maincpu")->execute().set_input_line(MCS51_RX_LINE, CLEAR_LINE);
9292}
9393
9494static GENERIC_TERMINAL_INTERFACE( pes_terminal_intf )
trunk/src/mess/drivers/palm.c
r18055r18056
7373
7474static WRITE8_DEVICE_HANDLER( palm_port_f_out )
7575{
76   palm_state *state = device->machine().driver_data<palm_state>();
76   palm_state *state = space.machine().driver_data<palm_state>();
7777   state->m_port_f_latch = data;
7878}
7979
r18055r18056
8484
8585static READ8_DEVICE_HANDLER( palm_port_f_in )
8686{
87   palm_state *state = device->machine().driver_data<palm_state>();
87   palm_state *state = space.machine().driver_data<palm_state>();
8888   return state->m_port_f_latch;
8989}
9090
9191static WRITE16_DEVICE_HANDLER( palm_spim_out )
9292{
93   palm_state *state = device->machine().driver_data<palm_state>();
93   palm_state *state = space.machine().driver_data<palm_state>();
9494   state->m_spim_data = data;
9595}
9696
9797static READ16_DEVICE_HANDLER( palm_spim_in )
9898{
99   palm_state *state = device->machine().driver_data<palm_state>();
99   palm_state *state = space.machine().driver_data<palm_state>();
100100   return state->m_spim_data;
101101}
102102
r18055r18056
159159
160160static WRITE8_DEVICE_HANDLER( palm_dac_transition )
161161{
162   palm_state *state = device->machine().driver_data<palm_state>();
162   palm_state *state = space.machine().driver_data<palm_state>();
163163   state->m_dac->write_unsigned8(0x7f * data );
164164}
165165
trunk/src/mess/drivers/xor100.c
r18055r18056
417417
418418static READ8_DEVICE_HANDLER( i8255_pc_r )
419419{
420   centronics_device *centronics = device->machine().device<centronics_device>("centronics");
420   centronics_device *centronics = space.machine().device<centronics_device>("centronics");
421421   /*
422422
423423        bit     description
trunk/src/mess/drivers/a2600.c
r18055r18056
11771177
11781178static WRITE8_DEVICE_HANDLER(switch_A_w)
11791179{
1180   a2600_state *state = device->machine().driver_data<a2600_state>();
1181   running_machine &machine = device->machine();
1180   a2600_state *state = space.machine().driver_data<a2600_state>();
1181   running_machine &machine = space.machine();
11821182
11831183   /* Left controller port */
11841184   if ( machine.root_device().ioport("CONTROLLERS")->read() / CATEGORY_SELECT == 0x03 )
r18055r18056
12011201static READ8_DEVICE_HANDLER( switch_A_r )
12021202{
12031203   static const UINT8 driving_lookup[4] = { 0x00, 0x02, 0x03, 0x01 };
1204   running_machine &machine = device->machine();
1204   running_machine &machine = space.machine();
12051205   UINT8 val = 0;
12061206
12071207   /* Left controller port PINs 1-4 ( 4321 ) */
r18055r18056
12611261
12621262static READ8_DEVICE_HANDLER( riot_input_port_8_r )
12631263{
1264   return device->machine().root_device().ioport("SWB")->read();
1264   return space.machine().root_device().ioport("SWB")->read();
12651265}
12661266
12671267static const riot6532_interface r6532_interface =
trunk/src/mess/drivers/mirage.c
r18055r18056
165165static WRITE8_DEVICE_HANDLER( mirage_via_write_portb )
166166{
167167   int bank = 0;
168    mirage_state *state = device->machine().driver_data<mirage_state>();
168    mirage_state *state = space.machine().driver_data<mirage_state>();
169169
170170   // handle sound RAM bank switching
171171   bank = (data & 2) ? (64*1024) : 0;
trunk/src/mess/drivers/v1050.c
r18055r18056
701701
702702static WRITE8_DEVICE_HANDLER( misc_ppi_pb_w )
703703{
704   centronics_device *centronics = device->machine().device<centronics_device>(CENTRONICS_TAG);
705   centronics->write( device->machine().driver_data()->generic_space() , 0, ~data & 0xff);
704   centronics_device *centronics = space.machine().device<centronics_device>(CENTRONICS_TAG);
705   centronics->write( space.machine().driver_data()->generic_space() , 0, ~data & 0xff);
706706}
707707
708708static READ8_DEVICE_HANDLER( misc_ppi_pc_r )
r18055r18056
723723    */
724724
725725   UINT8 data = 0;
726   centronics_device *centronics = device->machine().device<centronics_device>(CENTRONICS_TAG);
726   centronics_device *centronics = space.machine().device<centronics_device>(CENTRONICS_TAG);
727727   data |= centronics->not_busy_r() << 4;
728728   data |= centronics->pe_r() << 5;
729729
trunk/src/mess/drivers/amiga.c
r18055r18056
7676
7777static READ8_DEVICE_HANDLER( amiga_cia_1_porta_r )
7878{
79   centronics_device *centronics = device->machine().device<centronics_device>("centronics");
79   centronics_device *centronics = space.machine().device<centronics_device>("centronics");
8080   UINT8 result = 0;
8181
8282   /* centronics status is stored in PA0 to PA2 */
r18055r18056
523523
524524static READ8_DEVICE_HANDLER( amiga_cia_0_portA_r )
525525{
526   UINT8 ret = device->machine().root_device().ioport("CIA0PORTA")->read() & 0xc0;   /* Gameport 1 and 0 buttons */
527   ret |= device->machine().device<amiga_fdc>("fdc")->ciaapra_r();
526   UINT8 ret = space.machine().root_device().ioport("CIA0PORTA")->read() & 0xc0;   /* Gameport 1 and 0 buttons */
527   ret |= space.machine().device<amiga_fdc>("fdc")->ciaapra_r();
528528   return ret;
529529}
530530
531531
532532static READ8_DEVICE_HANDLER( amiga_cia_0_cdtv_portA_r )
533533{
534   return device->machine().root_device().ioport("CIA0PORTA")->read() & 0xc0;   /* Gameport 1 and 0 buttons */
534   return space.machine().root_device().ioport("CIA0PORTA")->read() & 0xc0;   /* Gameport 1 and 0 buttons */
535535}
536536
537537
538538static WRITE8_DEVICE_HANDLER( amiga_cia_0_portA_w )
539539{
540   amiga_state *state = device->machine().driver_data<amiga_state>();
540   amiga_state *state = space.machine().driver_data<amiga_state>();
541541   /* switch banks as appropriate */
542542   state->membank("bank1")->set_entry(data & 1);
543543
r18055r18056
550550      }
551551
552552      /* overlay disabled, map RAM on 0x000000 */
553      device->machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_bank(0x000000, state->m_chip_ram.bytes() - 1, 0, mirror_mask, "bank1");
553      space.machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_bank(0x000000, state->m_chip_ram.bytes() - 1, 0, mirror_mask, "bank1");
554554
555555      /* if there is a cart region, check for cart overlay */
556      if (device->machine().root_device().memregion("user2")->base() != NULL)
557         amiga_cart_check_overlay(device->machine());
556      if (space.machine().root_device().memregion("user2")->base() != NULL)
557         amiga_cart_check_overlay(space.machine());
558558   }
559559   else
560560      /* overlay enabled, map Amiga system ROM on 0x000000 */
561      device->machine().device("maincpu")->memory().space(AS_PROGRAM).unmap_write(0x000000, state->m_chip_ram.bytes() - 1);
561      space.machine().device("maincpu")->memory().space(AS_PROGRAM).unmap_write(0x000000, state->m_chip_ram.bytes() - 1);
562562
563   set_led_status( device->machine(), 0, ( data & 2 ) ? 0 : 1 ); /* bit 2 = Power Led on Amiga */
563   set_led_status( space.machine(), 0, ( data & 2 ) ? 0 : 1 ); /* bit 2 = Power Led on Amiga */
564564   output_set_value("power_led", ( data & 2 ) ? 0 : 1);
565565}
566566
trunk/src/mess/drivers/mz2500.c
r18055r18056
12531253
12541254static READ8_DEVICE_HANDLER( mz2500_wd17xx_r )
12551255{
1256   mz2500_state *state = device->machine().driver_data<mz2500_state>();
1256   mz2500_state *state = space.machine().driver_data<mz2500_state>();
12571257   return wd17xx_r(device, space, offset) ^ state->m_fdc_reverse;
12581258}
12591259
12601260static WRITE8_DEVICE_HANDLER( mz2500_wd17xx_w )
12611261{
1262   mz2500_state *state = device->machine().driver_data<mz2500_state>();
1262   mz2500_state *state = space.machine().driver_data<mz2500_state>();
12631263   wd17xx_w(device, space, offset, data ^ state->m_fdc_reverse);
12641264}
12651265
r18055r18056
18411841{
18421842   UINT8 vblank_bit;
18431843
1844   vblank_bit = device->machine().primary_screen->vblank() ? 0 : 1; //Guess: NOBO wants this bit to be high/low
1844   vblank_bit = space.machine().primary_screen->vblank() ? 0 : 1; //Guess: NOBO wants this bit to be high/low
18451845
18461846   return 0xfe | vblank_bit;
18471847}
r18055r18056
18651865
18661866static WRITE8_DEVICE_HANDLER( mz2500_portc_w )
18671867{
1868   mz2500_state *state = device->machine().driver_data<mz2500_state>();
1868   mz2500_state *state = space.machine().driver_data<mz2500_state>();
18691869   /*
18701870    ---- x--- 0->1 transition = IPL reset
18711871    ---- -x-- beeper state
r18055r18056
18771877   {
18781878      mz2500_reset(state, WRAM_RESET);
18791879      /* correct? */
1880      device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
1880      space.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
18811881   }
18821882
18831883   /* bit 2 is speaker */
r18055r18056
18881888
18891889   state->m_old_portc = data;
18901890
1891   beep_set_state(device->machine().device(BEEPER_TAG),data & 0x04);
1891   beep_set_state(space.machine().device(BEEPER_TAG),data & 0x04);
18921892
18931893   if(data & ~0x0e)
18941894      logerror("PPI PORTC W %02x\n",data & ~0x0e);
r18055r18056
19061906
19071907static WRITE8_DEVICE_HANDLER( mz2500_pio1_porta_w )
19081908{
1909   mz2500_state *state = device->machine().driver_data<mz2500_state>();
1909   mz2500_state *state = space.machine().driver_data<mz2500_state>();
19101910//  printf("%02x\n",data);
19111911
19121912   if(state->m_prev_col_val != ((data & 0x20) >> 5))
19131913   {
19141914      state->m_text_col_size = ((data & 0x20) >> 5);
19151915      state->m_prev_col_val = state->m_text_col_size;
1916      mz2500_reconfigure_screen(device->machine());
1916      mz2500_reconfigure_screen(space.machine());
19171917   }
19181918   state->m_key_mux = data & 0x1f;
19191919}
r18055r18056
19211921
19221922static READ8_DEVICE_HANDLER( mz2500_pio1_porta_r )
19231923{
1924   mz2500_state *state = device->machine().driver_data<mz2500_state>();
1924   mz2500_state *state = space.machine().driver_data<mz2500_state>();
19251925   static const char *const keynames[] = { "KEY0", "KEY1", "KEY2", "KEY3",
19261926                                           "KEY4", "KEY5", "KEY6", "KEY7",
19271927                                           "KEY8", "KEY9", "KEYA", "KEYB",
r18055r18056
19331933
19341934      res = 0xff;
19351935      for(i=0;i<0xe;i++)
1936         res &= device->machine().root_device().ioport(keynames[i])->read();
1936         res &= space.machine().root_device().ioport(keynames[i])->read();
19371937
19381938      state->m_pio_latchb = res;
19391939
19401940      return res;
19411941   }
19421942
1943   state->m_pio_latchb = device->machine().root_device().ioport(keynames[state->m_key_mux & 0xf])->read();
1943   state->m_pio_latchb = space.machine().root_device().ioport(keynames[state->m_key_mux & 0xf])->read();
19441944
1945   return device->machine().root_device().ioport(keynames[state->m_key_mux & 0xf])->read();
1945   return space.machine().root_device().ioport(keynames[state->m_key_mux & 0xf])->read();
19461946}
19471947
19481948#if 0
19491949static READ8_DEVICE_HANDLER( mz2500_pio1_portb_r )
19501950{
1951   mz2500_state *state = device->machine().driver_data<mz2500_state>();
1951   mz2500_state *state = space.machine().driver_data<mz2500_state>();
19521952   return state->m_pio_latchb;
19531953}
19541954#endif
r18055r18056
19671967
19681968static READ8_DEVICE_HANDLER( opn_porta_r )
19691969{
1970   mz2500_state *state = device->machine().driver_data<mz2500_state>();
1970   mz2500_state *state = space.machine().driver_data<mz2500_state>();
19711971   return state->m_ym_porta;
19721972}
19731973
19741974static WRITE8_DEVICE_HANDLER( opn_porta_w )
19751975{
1976   mz2500_state *state = device->machine().driver_data<mz2500_state>();
1976   mz2500_state *state = space.machine().driver_data<mz2500_state>();
19771977   /*
19781978    ---- x--- mouse select
19791979    ---- -x-- palette bit (16/4096 colors)
trunk/src/mess/drivers/fmtowns.c
r18055r18056
25552555
25562556static READ8_DEVICE_HANDLER( get_slave_ack )
25572557{
2558   towns_state* state = device->machine().driver_data<towns_state>();
2558   towns_state* state = space.machine().driver_data<towns_state>();
25592559   if (offset==7) { // IRQ = 7
25602560      return pic8259_acknowledge(state->m_pic_slave);
25612561   }
trunk/src/mess/drivers/einstein.c
r18055r18056
240240
241241static WRITE8_DEVICE_HANDLER( einstein_drsel_w )
242242{
243   einstein_state *einstein = device->machine().driver_data<einstein_state>();
243   einstein_state *einstein = space.machine().driver_data<einstein_state>();
244244   if(VERBOSE_DISK)
245      logerror("%s: einstein_drsel_w %02x\n", device->machine().describe_context(), data);
245      logerror("%s: einstein_drsel_w %02x\n", space.machine().describe_context(), data);
246246
247247   /* bit 0 to 3 select the drive */
248248   static const char *names[] = { "fd0", "fd1", "fd2", "fd3" };
249249   floppy_image_device *floppy = 0;
250250   for(int i=0; i<4; i++) {
251251      if(BIT(data, i)) {
252         floppy_connector *con = device->machine().device<floppy_connector>(names[i]);
252         floppy_connector *con = space.machine().device<floppy_connector>(names[i]);
253253         if(con)
254254            floppy = con->get_device();
255255      }
256256   }
257257
258258   /* double sided drive connected? */
259   if (device->machine().root_device().ioport("config")->read() & data)
259   if (space.machine().root_device().ioport("config")->read() & data)
260260   {
261261      /* bit 4 selects the side then */
262262      //floppy->ss_w(BIT(data, 4));
trunk/src/mess/drivers/vtech1.c
r18055r18056
482482
483483static READ8_DEVICE_HANDLER( vtech1_printer_r )
484484{
485   centronics_device *centronics = device->machine().device<centronics_device>("centronics");
485   centronics_device *centronics = space.machine().device<centronics_device>("centronics");
486486   return 0xfe | centronics->busy_r();
487487}
488488
489489/* TODO: figure out how this really works */
490490static WRITE8_DEVICE_HANDLER( vtech1_strobe_w )
491491{
492   centronics_device *centronics = device->machine().device<centronics_device>("centronics");
492   centronics_device *centronics = space.machine().device<centronics_device>("centronics");
493493   centronics->strobe_w(TRUE);
494494   centronics->strobe_w(FALSE);
495495}
r18055r18056
613613
614614static READ8_DEVICE_HANDLER( vtech1_mc6847_videoram_r )
615615{
616   vtech1_state *vtech1 = device->machine().driver_data<vtech1_state>();
616   vtech1_state *vtech1 = space.machine().driver_data<vtech1_state>();
617617   if (offset == ~0) return 0xff;
618618   vtech1->m_mc6847->inv_w(BIT(vtech1->m_videoram[offset], 6));
619619   vtech1->m_mc6847->as_w(BIT(vtech1->m_videoram[offset], 7));
trunk/src/mess/drivers/ssystem3.c
r18055r18056
119119
120120static WRITE8_DEVICE_HANDLER(ssystem3_via_write_a)
121121{
122   ssystem3_state *state = device->machine().driver_data<ssystem3_state>();
122   ssystem3_state *state = space.machine().driver_data<ssystem3_state>();
123123   state->m_porta=data;
124124  //  logerror("%.4x via port a write %02x\n",(int)activecpu_get_pc(), data);
125125}
126126
127127static READ8_DEVICE_HANDLER(ssystem3_via_read_a)
128128{
129   ssystem3_state *state = device->machine().driver_data<ssystem3_state>();
129   ssystem3_state *state = space.machine().driver_data<ssystem3_state>();
130130  UINT8 data=0xff;
131131#if 1 // time switch
132  if (!(state->m_porta&0x10)) data&=device->machine().root_device().ioport("matrix1")->read()|0xf1;
133  if (!(state->m_porta&0x20)) data&=device->machine().root_device().ioport("matrix2")->read()|0xf1;
134  if (!(state->m_porta&0x40)) data&=device->machine().root_device().ioport("matrix3")->read()|0xf1;
135  if (!(state->m_porta&0x80)) data&=device->machine().root_device().ioport("matrix4")->read()|0xf1;
132  if (!(state->m_porta&0x10)) data&=space.machine().root_device().ioport("matrix1")->read()|0xf1;
133  if (!(state->m_porta&0x20)) data&=space.machine().root_device().ioport("matrix2")->read()|0xf1;
134  if (!(state->m_porta&0x40)) data&=space.machine().root_device().ioport("matrix3")->read()|0xf1;
135  if (!(state->m_porta&0x80)) data&=space.machine().root_device().ioport("matrix4")->read()|0xf1;
136136#else
137  if (!(state->m_porta&0x10)) data&=device->machine().root_device().ioport("matrix1")->read()|0xf0;
138  if (!(state->m_porta&0x20)) data&=device->machine().root_device().ioport("matrix2")->read()|0xf0;
139  if (!(state->m_porta&0x40)) data&=device->machine().root_device().ioport("matrix3")->read()|0xf0;
140  if (!(state->m_porta&0x80)) data&=device->machine().root_device().ioport("matrix4")->read()|0xf0;
137  if (!(state->m_porta&0x10)) data&=space.machine().root_device().ioport("matrix1")->read()|0xf0;
138  if (!(state->m_porta&0x20)) data&=space.machine().root_device().ioport("matrix2")->read()|0xf0;
139  if (!(state->m_porta&0x40)) data&=space.machine().root_device().ioport("matrix3")->read()|0xf0;
140  if (!(state->m_porta&0x80)) data&=space.machine().root_device().ioport("matrix4")->read()|0xf0;
141141#endif
142142  if (!(state->m_porta&1)) {
143    if (!(device->machine().root_device().ioport("matrix1")->read()&1)) data&=~0x10;
144    if (!(device->machine().root_device().ioport("matrix2")->read()&1)) data&=~0x20;
145    if (!(device->machine().root_device().ioport("matrix3")->read()&1)) data&=~0x40;
143    if (!(space.machine().root_device().ioport("matrix1")->read()&1)) data&=~0x10;
144    if (!(space.machine().root_device().ioport("matrix2")->read()&1)) data&=~0x20;
145    if (!(space.machine().root_device().ioport("matrix3")->read()&1)) data&=~0x40;
146146    if (!(state->ioport("matrix4")->read()&1)) data&=~0x80;
147147  }
148148  if (!(state->m_porta&2)) {
149    if (!(device->machine().root_device().ioport("matrix1")->read()&2)) data&=~0x10;
150    if (!(device->machine().root_device().ioport("matrix2")->read()&2)) data&=~0x20;
151    if (!(device->machine().root_device().ioport("matrix3")->read()&2)) data&=~0x40;
152    if (!(device->machine().root_device().ioport("matrix4")->read()&2)) data&=~0x80;
149    if (!(space.machine().root_device().ioport("matrix1")->read()&2)) data&=~0x10;
150    if (!(space.machine().root_device().ioport("matrix2")->read()&2)) data&=~0x20;
151    if (!(space.machine().root_device().ioport("matrix3")->read()&2)) data&=~0x40;
152    if (!(space.machine().root_device().ioport("matrix4")->read()&2)) data&=~0x80;
153153  }
154154  if (!(state->m_porta&4)) {
155    if (!(device->machine().root_device().ioport("matrix1")->read()&4)) data&=~0x10;
156    if (!(device->machine().root_device().ioport("matrix2")->read()&4)) data&=~0x20;
157    if (!(device->machine().root_device().ioport("matrix3")->read()&4)) data&=~0x40;
158    if (!(device->machine().root_device().ioport("matrix4")->read()&4)) data&=~0x80;
155    if (!(space.machine().root_device().ioport("matrix1")->read()&4)) data&=~0x10;
156    if (!(space.machine().root_device().ioport("matrix2")->read()&4)) data&=~0x20;
157    if (!(space.machine().root_device().ioport("matrix3")->read()&4)) data&=~0x40;
158    if (!(space.machine().root_device().ioport("matrix4")->read()&4)) data&=~0x80;
159159  }
160160  if (!(state->m_porta&8)) {
161    if (!(device->machine().root_device().ioport("matrix1")->read()&8)) data&=~0x10;
162    if (!(device->machine().root_device().ioport("matrix2")->read()&8)) data&=~0x20;
163    if (!(device->machine().root_device().ioport("matrix3")->read()&8)) data&=~0x40;
164    if (!(device->machine().root_device().ioport("matrix4")->read()&8)) data&=~0x80;
161    if (!(space.machine().root_device().ioport("matrix1")->read()&8)) data&=~0x10;
162    if (!(space.machine().root_device().ioport("matrix2")->read()&8)) data&=~0x20;
163    if (!(space.machine().root_device().ioport("matrix3")->read()&8)) data&=~0x40;
164    if (!(space.machine().root_device().ioport("matrix4")->read()&8)) data&=~0x80;
165165  }
166166  //  logerror("%.4x via port a read %02x\n",(int)activecpu_get_pc(), data);
167167  return data;
r18055r18056
193193{
194194   UINT8 data=0xff;
195195   int on, ready;
196   ssystem3_playfield_read(device->machine(), &on, &ready);
196   ssystem3_playfield_read(space.machine(), &on, &ready);
197197   if (!on) data&=~0x20;
198198   if (!ready) data&=~0x10;
199199   return data;
r18055r18056
201201
202202static WRITE8_DEVICE_HANDLER(ssystem3_via_write_b)
203203{
204   via6522_device *via_0 = device->machine().device<via6522_device>("via6522_0");
204   via6522_device *via_0 = space.machine().device<via6522_device>("via6522_0");
205205   UINT8 d;
206206
207   ssystem3_playfield_write(device->machine(), data&1, data&8);
208   ssystem3_lcd_write(device->machine(), data&4, data&2);
207   ssystem3_playfield_write(space.machine(), data&1, data&8);
208   ssystem3_lcd_write(space.machine(), data&4, data&2);
209209
210210   d=ssystem3_via_read_b(via_0, space, 0, mem_mask)&~0x40;
211211   if (data&0x80) d|=0x40;
trunk/src/mess/drivers/bml3.c
r18055r18056
330330
331331static READ8_DEVICE_HANDLER( bml3_ym2203_r )
332332{
333   bml3_state *state = device->machine().driver_data<bml3_state>();
333   bml3_state *state = space.machine().driver_data<bml3_state>();
334334   UINT8 dev_offs = ((state->m_psg_latch & 3) != 3);
335335
336336   return ym2203_r(device,space, dev_offs);
r18055r18056
338338
339339static WRITE8_DEVICE_HANDLER( bml3_ym2203_w )
340340{
341   bml3_state *state = device->machine().driver_data<bml3_state>();
341   bml3_state *state = space.machine().driver_data<bml3_state>();
342342   UINT8 dev_offs = ((state->m_psg_latch & 3) != 3);
343343
344344   ym2203_w(device,space, dev_offs,data);
trunk/src/mess/drivers/samcoupe.c
r18055r18056
267267
268268static READ8_DEVICE_HANDLER( samcoupe_lpt1_busy_r )
269269{
270   centronics_device *centronics = device->machine().device<centronics_device>("lpt1");
270   centronics_device *centronics = space.machine().device<centronics_device>("lpt1");
271271   return centronics->busy_r();
272272}
273273
274274static WRITE8_DEVICE_HANDLER( samcoupe_lpt1_strobe_w )
275275{
276   centronics_device *centronics = device->machine().device<centronics_device>("lpt1");
276   centronics_device *centronics = space.machine().device<centronics_device>("lpt1");
277277   centronics->strobe_w(data);
278278}
279279
280280static READ8_DEVICE_HANDLER( samcoupe_lpt2_busy_r )
281281{
282   centronics_device *centronics = device->machine().device<centronics_device>("lpt2");
282   centronics_device *centronics = space.machine().device<centronics_device>("lpt2");
283283   return centronics->busy_r();
284284}
285285
286286static WRITE8_DEVICE_HANDLER( samcoupe_lpt2_strobe_w )
287287{
288   centronics_device *centronics = device->machine().device<centronics_device>("lpt2");
288   centronics_device *centronics = space.machine().device<centronics_device>("lpt2");
289289   centronics->strobe_w(data);
290290}
291291
trunk/src/mess/drivers/digel804.c
r18055r18056
560560******************************************************************************/
561561static WRITE8_DEVICE_HANDLER( digel804_serial_put )
562562{
563   digel804_state *state = device->machine().driver_data<digel804_state>();
563   digel804_state *state = space.machine().driver_data<digel804_state>();
564564   state->m_acia->receive_character(data);
565565}
566566
trunk/src/mess/drivers/nanos.c
r18055r18056
308308
309309static READ8_DEVICE_HANDLER (nanos_port_a_r)
310310{
311   nanos_state *state = device->machine().driver_data<nanos_state>();
311   nanos_state *state = space.machine().driver_data<nanos_state>();
312312   UINT8 retVal;
313313   if (state->m_key_command==0)  {
314314      return state->m_key_pressed;
r18055r18056
327327
328328static WRITE8_DEVICE_HANDLER (nanos_port_b_w)
329329{
330   nanos_state *state = device->machine().driver_data<nanos_state>();
330   nanos_state *state = space.machine().driver_data<nanos_state>();
331331   state->m_key_command = BIT(data,1);
332332   if (BIT(data,7)) {
333333      state->membank("bank1")->set_base(state->memregion("maincpu")->base());
334334   } else {
335      state->membank("bank1")->set_base(device->machine().device<ram_device>(RAM_TAG)->pointer());
335      state->membank("bank1")->set_base(space.machine().device<ram_device>(RAM_TAG)->pointer());
336336   }
337337}
338338
trunk/src/mess/drivers/fm7.c
r18055r18056
943943
944944static READ8_DEVICE_HANDLER( fm77av_joy_1_r )
945945{
946   return device->machine().root_device().ioport("joy1")->read();
946   return space.machine().root_device().ioport("joy1")->read();
947947}
948948
949949static READ8_DEVICE_HANDLER( fm77av_joy_2_r )
950950{
951   return device->machine().root_device().ioport("joy2")->read();
951   return space.machine().root_device().ioport("joy2")->read();
952952}
953953
954954READ8_MEMBER(fm7_state::fm7_unknown_r)
trunk/src/mess/drivers/jr100.c
r18055r18056
229229
230230static READ8_DEVICE_HANDLER(jr100_via_read_b)
231231{
232   jr100_state *state = device->machine().driver_data<jr100_state>();
232   jr100_state *state = space.machine().driver_data<jr100_state>();
233233   UINT8 val = 0x1f;
234234   if (keynames[state->m_keyboard_line]) {
235235      val = state->ioport(keynames[state->m_keyboard_line])->read();
r18055r18056
239239
240240static WRITE8_DEVICE_HANDLER(jr100_via_write_a )
241241{
242   jr100_state *state = device->machine().driver_data<jr100_state>();
242   jr100_state *state = space.machine().driver_data<jr100_state>();
243243   state->m_keyboard_line = data & 0x0f;
244244}
245245
246246static WRITE8_DEVICE_HANDLER(jr100_via_write_b )
247247{
248   jr100_state *state = device->machine().driver_data<jr100_state>();
248   jr100_state *state = space.machine().driver_data<jr100_state>();
249249   state->m_use_pcg = (data & 0x20) ? TRUE : FALSE;
250250   state->m_speaker = data>>7;
251251}
trunk/src/mess/drivers/ami1200.c
r18055r18056
8585
8686static WRITE8_DEVICE_HANDLER( ami1200_cia_0_porta_w )
8787{
88   ami1200_state *state = device->machine().driver_data<ami1200_state>();
88   ami1200_state *state = space.machine().driver_data<ami1200_state>();
8989
9090   /* bit 2 = Power Led on Amiga */
91   set_led_status(device->machine(), 0, !BIT(data, 1));
91   set_led_status(space.machine(), 0, !BIT(data, 1));
9292
9393   handle_cd32_joystick_cia(state, data, mos6526_r(device, space, 2));
9494}
r18055r18056
111111static READ8_DEVICE_HANDLER( ami1200_cia_0_portb_r )
112112{
113113   /* parallel port */
114   logerror("%s:CIA0_portb_r\n", device->machine().describe_context());
114   logerror("%s:CIA0_portb_r\n", space.machine().describe_context());
115115   return 0xff;
116116}
117117
118118static WRITE8_DEVICE_HANDLER( ami1200_cia_0_portb_w )
119119{
120120   /* parallel port */
121   logerror("%s:CIA0_portb_w(%02x)\n", device->machine().describe_context(), data);
121   logerror("%s:CIA0_portb_w(%02x)\n", space.machine().describe_context(), data);
122122}
123123
124124static ADDRESS_MAP_START( a1200_map, AS_PROGRAM, 32, ami1200_state )
r18055r18056
246246
247247static READ8_DEVICE_HANDLER( a1200_cia_0_portA_r )
248248{
249   UINT8 ret = device->machine().root_device().ioport("CIA0PORTA")->read() & 0xc0;   /* Gameport 1 and 0 buttons */
250   ret |= device->machine().device<amiga_fdc>("fdc")->ciaapra_r();
249   UINT8 ret = space.machine().root_device().ioport("CIA0PORTA")->read() & 0xc0;   /* Gameport 1 and 0 buttons */
250   ret |= space.machine().device<amiga_fdc>("fdc")->ciaapra_r();
251251   return ret;
252252}
253253
trunk/src/mess/drivers/apple2gs.c
r18055r18056
186186{
187187    if (data)
188188    {
189        apple2gs_add_irq(device->machine(), IRQ_SLOT);
189        apple2gs_add_irq(space.machine(), IRQ_SLOT);
190190    }
191191    else
192192    {
193        apple2gs_remove_irq(device->machine(), IRQ_SLOT);
193        apple2gs_remove_irq(space.machine(), IRQ_SLOT);
194194    }
195195}
196196
197197static WRITE8_DEVICE_HANDLER(a2bus_nmi_w)
198198{
199    apple2gs_state *a2 = device->machine().driver_data<apple2gs_state>();
199    apple2gs_state *a2 = space.machine().driver_data<apple2gs_state>();
200200
201201    a2->m_maincpu->set_input_line(INPUT_LINE_NMI, data);
202202}
203203
204204static WRITE8_DEVICE_HANDLER(a2bus_inh_w)
205205{
206    apple2_state *a2 = device->machine().driver_data<apple2_state>();
206    apple2_state *a2 = space.machine().driver_data<apple2_state>();
207207
208208    a2->m_inh_slot = data;
209    apple2_update_memory(device->machine());
209    apple2_update_memory(space.machine());
210210}
211211
212212static const struct a2bus_interface a2bus_intf =
trunk/src/mess/drivers/palmz22.c
r18055r18056
112112
113113static WRITE8_DEVICE_HANDLER( s3c2410_nand_command_w )
114114{
115   palmz22_state *state = device->machine().driver_data<palmz22_state>();
116   verboselog( device->machine(), 9, "s3c2410_nand_command_w %02X\n", data);
115   palmz22_state *state = space.machine().driver_data<palmz22_state>();
116   verboselog( space.machine(), 9, "s3c2410_nand_command_w %02X\n", data);
117117   state->m_nand->command_w(data);
118118}
119119
120120static WRITE8_DEVICE_HANDLER( s3c2410_nand_address_w )
121121{
122   palmz22_state *state = device->machine().driver_data<palmz22_state>();
123   verboselog( device->machine(), 9, "s3c2410_nand_address_w %02X\n", data);
122   palmz22_state *state = space.machine().driver_data<palmz22_state>();
123   verboselog( space.machine(), 9, "s3c2410_nand_address_w %02X\n", data);
124124   state->m_nand->address_w(data);
125125}
126126
127127static READ8_DEVICE_HANDLER( s3c2410_nand_data_r )
128128{
129   palmz22_state *state = device->machine().driver_data<palmz22_state>();
129   palmz22_state *state = space.machine().driver_data<palmz22_state>();
130130   UINT8 data = state->m_nand->data_r();
131   verboselog( device->machine(), 9, "s3c2410_nand_data_r %02X\n", data);
131   verboselog( space.machine(), 9, "s3c2410_nand_data_r %02X\n", data);
132132   return data;
133133}
134134
135135static WRITE8_DEVICE_HANDLER( s3c2410_nand_data_w )
136136{
137   palmz22_state *state = device->machine().driver_data<palmz22_state>();
138   verboselog( device->machine(), 9, "s3c2410_nand_data_w %02X\n", data);
137   palmz22_state *state = space.machine().driver_data<palmz22_state>();
138   verboselog( space.machine(), 9, "s3c2410_nand_data_w %02X\n", data);
139139   state->m_nand->data_w(data);
140140}
141141
r18055r18056
217217   {
218218      case 0 + 0 : data = 0x2EE + (PALM_Z22_BATTERY_LEVEL * 0xFF / 100); break;
219219      case 0 + 1 : data = 0; break;
220      case 2 + 0 : data = device->machine().root_device().ioport( "PENX")->read(); break;
221      case 2 + 1 : data = 0x3FF - device->machine().root_device().ioport( "PENY")->read(); break;
220      case 2 + 0 : data = space.machine().root_device().ioport( "PENX")->read(); break;
221      case 2 + 1 : data = 0x3FF - space.machine().root_device().ioport( "PENY")->read(); break;
222222   }
223   verboselog( device->machine(), 5,  "s3c2410_adc_data_r %08X\n", data);
223   verboselog( space.machine(), 5,  "s3c2410_adc_data_r %08X\n", data);
224224   return data;
225225}
226226
trunk/src/mess/drivers/p8k.c
r18055r18056
513513
514514static READ16_DEVICE_HANDLER( p8k_16_ctc_r )
515515{
516   return (UINT16)downcast<z80ctc_device *>(device)->read(device->machine().driver_data()->generic_space(),(offset & 0x06) >> 1);
516   return (UINT16)downcast<z80ctc_device *>(device)->read(space.machine().driver_data()->generic_space(),(offset & 0x06) >> 1);
517517}
518518
519519static WRITE16_DEVICE_HANDLER( p8k_16_ctc_w )
520520{
521   downcast<z80ctc_device *>(device)->write(device->machine().driver_data()->generic_space(), (offset & 0x06) >> 1, (UINT8)(data & 0xff));
521   downcast<z80ctc_device *>(device)->write(space.machine().driver_data()->generic_space(), (offset & 0x06) >> 1, (UINT8)(data & 0xff));
522522}
523523
524524READ16_MEMBER( p8k_state::portff82_r )
trunk/src/mess/drivers/pk8000.c
r18055r18056
102102}
103103static WRITE8_DEVICE_HANDLER(pk8000_80_porta_w)
104104{
105   pk8000_set_bank(device->machine(),data);
105   pk8000_set_bank(space.machine(),data);
106106}
107107
108108static READ8_DEVICE_HANDLER(pk8000_80_portb_r)
109109{
110   pk8000_state *state = device->machine().driver_data<pk8000_state>();
110   pk8000_state *state = space.machine().driver_data<pk8000_state>();
111111   static const char *const keynames[] = { "LINE0", "LINE1", "LINE2", "LINE3", "LINE4", "LINE5", "LINE6", "LINE7", "LINE8", "LINE9" };
112112   if(state->m_keyboard_line>9) {
113113      return 0xff;
114114   }
115   return device->machine().root_device().ioport(keynames[state->m_keyboard_line])->read();
115   return space.machine().root_device().ioport(keynames[state->m_keyboard_line])->read();
116116}
117117
118118static WRITE8_DEVICE_HANDLER(pk8000_80_portc_w)
119119{
120   pk8000_state *state = device->machine().driver_data<pk8000_state>();
120   pk8000_state *state = space.machine().driver_data<pk8000_state>();
121121   state->m_keyboard_line = data & 0x0f;
122122
123   speaker_level_w(device->machine().device(SPEAKER_TAG), BIT(data,7));
123   speaker_level_w(space.machine().device(SPEAKER_TAG), BIT(data,7));
124124
125   cassette_device_image(device->machine())->change_state(
125   cassette_device_image(space.machine())->change_state(
126126                  (BIT(data,4)) ? CASSETTE_MOTOR_ENABLED : CASSETTE_MOTOR_DISABLED,
127127                  CASSETTE_MASK_MOTOR);
128   cassette_device_image(device->machine())->output((BIT(data,6)) ? +1.0 : 0.0);
128   cassette_device_image(space.machine())->output((BIT(data,6)) ? +1.0 : 0.0);
129129}
130130
131131static I8255_INTERFACE( pk8000_ppi8255_interface_1 )
trunk/src/mess/drivers/sgi_ip2.c
r18055r18056
359359
360360static WRITE8_DEVICE_HANDLER( sgi_kbd_put )
361361{
362   duart68681_rx_data(device->machine().device("duart68681a"), 1, data);
362   duart68681_rx_data(space.machine().device("duart68681a"), 1, data);
363363}
364364
365365static GENERIC_TERMINAL_INTERFACE( sgi_terminal_intf )
trunk/src/mess/drivers/apollo.c
r18055r18056
11581158static WRITE8_DEVICE_HANDLER( apollo_kbd_putchar ) {
11591159   // put keyboard character to the keyboard sio
11601160//  DLOG1(("apollo_kbd_putchar: 0x%02x", data));
1161   apollo_sio_rx_data(device->machine().device(APOLLO_SIO_TAG), 0, data);
1161   apollo_sio_rx_data(space.machine().device(APOLLO_SIO_TAG), 0, data);
11621162}
11631163
11641164static READ8_DEVICE_HANDLER( apollo_kbd_has_beeper ) {
r18055r18056
11811181   // FIXME: as of mess0145u1, terminal.c will append a null character after each input character
11821182   if (data != 0)
11831183   {
1184      apollo_sio_rx_data(device->machine().device(APOLLO_SIO_TAG), 1, data);
1184      apollo_sio_rx_data(space.machine().device(APOLLO_SIO_TAG), 1, data);
11851185   }
11861186}
11871187
trunk/src/mess/drivers/apexc.c
r18055r18056
283283   if (image->exists())
284284      image->fwrite(& data5, 1);
285285
286   apexc_teletyper_putchar(device->machine(), data & 0x1f);   /* display on screen */
286   apexc_teletyper_putchar(space.machine(), data & 0x1f);   /* display on screen */
287287}
288288
289289/*
trunk/src/mess/drivers/x68k.c
r18055r18056
868868// Judging from the XM6 source code, PPI ports A and B are joystick inputs
869869static READ8_DEVICE_HANDLER( ppi_port_a_r )
870870{
871   x68k_state *state = device->machine().driver_data<x68k_state>();
872   int ctrl = device->machine().root_device().ioport("ctrltype")->read() & 0x0f;
871   x68k_state *state = space.machine().driver_data<x68k_state>();
872   int ctrl = space.machine().root_device().ioport("ctrltype")->read() & 0x0f;
873873
874874   switch(ctrl)
875875   {
r18055r18056
891891
892892static READ8_DEVICE_HANDLER( ppi_port_b_r )
893893{
894   x68k_state *state = device->machine().driver_data<x68k_state>();
895   int ctrl = device->machine().root_device().ioport("ctrltype")->read() & 0xf0;
894   x68k_state *state = space.machine().driver_data<x68k_state>();
895   int ctrl = space.machine().root_device().ioport("ctrltype")->read() & 0xf0;
896896
897897   switch(ctrl)
898898   {
r18055r18056
914914
915915static READ8_DEVICE_HANDLER( ppi_port_c_r )
916916{
917   x68k_state *state = device->machine().driver_data<x68k_state>();
917   x68k_state *state = space.machine().driver_data<x68k_state>();
918918   return state->m_ppi_port[2];
919919}
920920
r18055r18056
928928*/
929929static WRITE8_DEVICE_HANDLER( ppi_port_c_w )
930930{
931   x68k_state *state = device->machine().driver_data<x68k_state>();
931   x68k_state *state = space.machine().driver_data<x68k_state>();
932932   // ADPCM / Joystick control
933   device_t *oki = device->machine().device("okim6258");
933   device_t *oki = space.machine().device("okim6258");
934934
935935   state->m_ppi_port[2] = data;
936936   if((data & 0x0f) != (state->m_ppi_prev & 0x0f))
937937   {
938938      state->m_adpcm.pan = data & 0x03;
939939      state->m_adpcm.rate = data & 0x0c;
940      x68k_set_adpcm(device->machine());
940      x68k_set_adpcm(space.machine());
941941      okim6258_set_divider(oki, (data >> 2) & 3);
942942   }
943943
r18055r18056
947947   if((state->m_ppi_prev & 0x10) == 0x00 && (data & 0x10) == 0x10)
948948   {
949949      state->m_mdctrl.seq1++;
950      state->m_mdctrl.io_timeout1->adjust(device->machine().device<cpu_device>("maincpu")->cycles_to_attotime(8192));
950      state->m_mdctrl.io_timeout1->adjust(space.machine().device<cpu_device>("maincpu")->cycles_to_attotime(8192));
951951   }
952952
953953   state->m_joy.joy2_enable = data & 0x20;
r18055r18056
955955   if((state->m_ppi_prev & 0x20) == 0x00 && (data & 0x20) == 0x20)
956956   {
957957      state->m_mdctrl.seq2++;
958      state->m_mdctrl.io_timeout2->adjust(device->machine().device<cpu_device>("maincpu")->cycles_to_attotime(8192));
958      state->m_mdctrl.io_timeout2->adjust(space.machine().device<cpu_device>("maincpu")->cycles_to_attotime(8192));
959959   }
960960   state->m_ppi_prev = data;
961961
r18055r18056
11411141
11421142static WRITE8_DEVICE_HANDLER( x68k_ct_w )
11431143{
1144   x68k_state *state = device->machine().driver_data<x68k_state>();
1145   device_t *fdc = device->machine().device("upd72065");
1146   device_t *okim = device->machine().device("okim6258");
1144   x68k_state *state = space.machine().driver_data<x68k_state>();
1145   device_t *fdc = space.machine().device("upd72065");
1146   device_t *okim = space.machine().device("okim6258");
11471147
11481148   // CT1 and CT2 bits from YM2151 port 0x1b
11491149   // CT1 - ADPCM clock - 0 = 8MHz, 1 = 4MHz
11501150   // CT2 - 1 = Set ready state of FDC
11511151   upd765_ready_w(fdc,data & 0x01);
11521152   state->m_adpcm.clock = data & 0x02;
1153   x68k_set_adpcm(device->machine());
1153   x68k_set_adpcm(space.machine());
11541154   okim6258_set_clock(okim, data & 0x02 ? 4000000 : 8000000);
11551155}
11561156
trunk/src/mess/drivers/pc8801.c
r18055r18056
18201820
18211821static READ8_DEVICE_HANDLER( cpu_8255_c_r )
18221822{
1823   pc8801_state *state = device->machine().driver_data<pc8801_state>();
1824//  device->machine().scheduler().synchronize(); // force resync
1823   pc8801_state *state = space.machine().driver_data<pc8801_state>();
1824//  space.machine().scheduler().synchronize(); // force resync
18251825
18261826   return state->m_i8255_1_pc >> 4;
18271827}
18281828
18291829static WRITE8_DEVICE_HANDLER( cpu_8255_c_w )
18301830{
1831   pc8801_state *state = device->machine().driver_data<pc8801_state>();
1832//  device->machine().scheduler().synchronize(); // force resync
1831   pc8801_state *state = space.machine().driver_data<pc8801_state>();
1832//  space.machine().scheduler().synchronize(); // force resync
18331833
18341834   state->m_i8255_0_pc = data;
18351835}
r18055r18056
18471847
18481848static READ8_DEVICE_HANDLER( fdc_8255_c_r )
18491849{
1850   pc8801_state *state = device->machine().driver_data<pc8801_state>();
1851//  device->machine().scheduler().synchronize(); // force resync
1850   pc8801_state *state = space.machine().driver_data<pc8801_state>();
1851//  space.machine().scheduler().synchronize(); // force resync
18521852
18531853   return state->m_i8255_0_pc >> 4;
18541854}
18551855
18561856static WRITE8_DEVICE_HANDLER( fdc_8255_c_w )
18571857{
1858   pc8801_state *state = device->machine().driver_data<pc8801_state>();
1859//  device->machine().scheduler().synchronize(); // force resync
1858   pc8801_state *state = space.machine().driver_data<pc8801_state>();
1859//  space.machine().scheduler().synchronize(); // force resync
18601860
18611861   state->m_i8255_1_pc = data;
18621862}
r18055r18056
25692569
25702570static READ8_DEVICE_HANDLER( opn_porta_r )
25712571{
2572   pc8801_state *state = device->machine().driver_data<pc8801_state>();
2572   pc8801_state *state = space.machine().driver_data<pc8801_state>();
25732573
2574   if(device->machine().root_device().ioport("BOARD_CONFIG")->read() & 2)
2574   if(space.machine().root_device().ioport("BOARD_CONFIG")->read() & 2)
25752575   {
25762576      UINT8 shift,res;
25772577
r18055r18056
25832583      return ((res >> shift) & 0x0f) | 0xf0;
25842584   }
25852585
2586   return device->machine().root_device().ioport("OPN_PA")->read();
2586   return space.machine().root_device().ioport("OPN_PA")->read();
25872587}
25882588static READ8_DEVICE_HANDLER( opn_portb_r ) { return device->machine().root_device().ioport("OPN_PB")->read(); }
25892589
trunk/src/mess/drivers/enterp.c
r18055r18056
100100/* EP specific handling of dave register write */
101101static WRITE8_DEVICE_HANDLER( enterprise_dave_reg_write )
102102{
103   ep_state *ep = device->machine().driver_data<ep_state>();
103   ep_state *ep = space.machine().driver_data<ep_state>();
104104
105105   switch (offset)
106106   {
r18055r18056
108108   case 0x11:
109109   case 0x12:
110110   case 0x13:
111      enterprise_update_memory_page(device->machine().device("maincpu")->memory().space(AS_PROGRAM), offset - 0x0f, data);
111      enterprise_update_memory_page(space.machine().device("maincpu")->memory().space(AS_PROGRAM), offset - 0x0f, data);
112112      break;
113113
114114   case 0x15:
r18055r18056
126126      "LINE5", "LINE6", "LINE7", "LINE8", "LINE9"
127127   };
128128
129   ep_state *ep = device->machine().driver_data<ep_state>();
129   ep_state *ep = space.machine().driver_data<ep_state>();
130130
131131   switch (offset)
132132   {
133133      case 0x015:
134134         /* read keyboard line */
135         dave_set_reg(device, 0x015, device->machine().root_device().ioport(keynames[ep->keyboard_line])->read());
135         dave_set_reg(device, 0x015, space.machine().root_device().ioport(keynames[ep->keyboard_line])->read());
136136         break;
137137
138138      case 0x016:
139139      {
140140         int ExternalJoystickInputs;
141         int ExternalJoystickPortInput = device->machine().root_device().ioport("JOY1")->read();
141         int ExternalJoystickPortInput = space.machine().root_device().ioport("JOY1")->read();
142142
143143         if (ep->keyboard_line <= 4)
144144         {
trunk/src/mess/drivers/portfoli.c
r18055r18056
658658static READ8_DEVICE_HANDLER( hd61830_rd_r )
659659{
660660   UINT16 address = ((offset & 0xff) << 3) | ((offset >> 12) & 0x07);
661   UINT8 data = device->machine().root_device().memregion(HD61830_TAG)->base()[address];
661   UINT8 data = space.machine().root_device().memregion(HD61830_TAG)->base()[address];
662662
663663   return data;
664664}
trunk/src/mess/drivers/dm7000.c
r18055r18056
270270
271271static READ32_DEVICE_HANDLER( dcr_r )
272272{
273   dm7000_state *state = device->machine().driver_data<dm7000_state>();
273   dm7000_state *state = space.machine().driver_data<dm7000_state>();
274274   mame_printf_debug("DCR %03X read\n", offset);
275275   if(offset>=1024) {printf("get %04X\n", offset); return 0;} else
276276   switch(offset) {
r18055r18056
285285static WRITE32_DEVICE_HANDLER( dcr_w )
286286{
287287   mame_printf_debug("DCR %03X write = %08X\n", offset, data);
288   dm7000_state *state = device->machine().driver_data<dm7000_state>();
288   dm7000_state *state = space.machine().driver_data<dm7000_state>();
289289   if(offset>=1024) {printf("get %04X\n", offset); } else
290290   state->dcr[offset] = data;
291291}
trunk/src/mess/drivers/elwro800.c
r18055r18056
176176
177177static READ8_DEVICE_HANDLER(i8255_port_c_r)
178178{
179   centronics_device *centronics = device->machine().device<centronics_device>("centronics");
179   centronics_device *centronics = space.machine().device<centronics_device>("centronics");
180180   return (centronics->ack_r() << 2);
181181}
182182
183183static WRITE8_DEVICE_HANDLER(i8255_port_c_w)
184184{
185   centronics_device *centronics = device->machine().device<centronics_device>("centronics");
185   centronics_device *centronics = space.machine().device<centronics_device>("centronics");
186186   centronics->strobe_w((data >> 7) & 0x01);
187187}
188188
trunk/src/mess/drivers/fidelz80.c
r18055r18056
943943
944944static WRITE8_DEVICE_HANDLER( digit_w )
945945{
946   fidelz80_state *state = device->machine().driver_data<fidelz80_state>();
946   fidelz80_state *state = space.machine().driver_data<fidelz80_state>();
947947
948948   if (state->m_digit_line_status[offset])
949949      return;
trunk/src/mess/drivers/ms0515.c
r18055r18056
236236
237237static WRITE8_DEVICE_HANDLER(ms0515_portc_w)
238238{
239   ms0515_state *state = device->machine().driver_data<ms0515_state>();
239   ms0515_state *state = space.machine().driver_data<ms0515_state>();
240240   state->m_sysreg = data;
241241}
242242I8255A_INTERFACE( ms0515_ppi8255_interface_1 )
trunk/src/mess/drivers/juicebox.c
r18055r18056
233233
234234static WRITE16_DEVICE_HANDLER( s3c44b0_i2s_data_w )
235235{
236   juicebox_state *juicebox = device->machine().driver_data<juicebox_state>();
236   juicebox_state *juicebox = space.machine().driver_data<juicebox_state>();
237237   juicebox->dac->write_signed16(data ^ 0x8000);
238238}
239239
trunk/src/mess/drivers/apple2.c
r18055r18056
223223
224224static WRITE8_DEVICE_HANDLER(a2bus_irq_w)
225225{
226    apple2_state *a2 = device->machine().driver_data<apple2_state>();
226    apple2_state *a2 = space.machine().driver_data<apple2_state>();
227227
228228    a2->m_maincpu->set_input_line(M6502_IRQ_LINE, data);
229229}
230230
231231static WRITE8_DEVICE_HANDLER(a2bus_nmi_w)
232232{
233    apple2_state *a2 = device->machine().driver_data<apple2_state>();
233    apple2_state *a2 = space.machine().driver_data<apple2_state>();
234234
235235    a2->m_maincpu->set_input_line(INPUT_LINE_NMI, data);
236236}
237237
238238static WRITE8_DEVICE_HANDLER(a2bus_inh_w)
239239{
240    apple2_state *a2 = device->machine().driver_data<apple2_state>();
240    apple2_state *a2 = space.machine().driver_data<apple2_state>();
241241
242242    a2->m_inh_slot = data;
243    apple2_update_memory(device->machine());
243    apple2_update_memory(space.machine());
244244}
245245
246246/***************************************************************************

Previous 199869 Revisions Next


© 1997-2024 The MAME Team