Previous 199869 Revisions Next

r20780 Wednesday 6th February, 2013 at 20:39:31 UTC by Curt Coder
(MESS) Refactored all drivers to use the new MOS6551 and removed the old implementation. (nw)
[src/emu]emu.mak
[src/emu/machine]6551acia.c 6551acia.h
[src/mame/drivers]cops.c
[src/mess/drivers]aim65_40.c apple3.c clcd.c concept.c dgn_beta.c digel804.c dragon.c ec65.c microtan.c mits680b.c mmodular.c oric.c rvoice.c thomson.c
[src/mess/formats]m65_snqk.c
[src/mess/includes]concept.h dragon.h oric.h plus4.h thomson.h
[src/mess/machine]a2ssc.c a2ssc.h apple3.c coco_232.c coco_232.h dgn_beta.c microtan.c

trunk/src/emu/emu.mak
r20779r20780
147147   $(EMUMACHINE)/6525tpi.o     \
148148   $(EMUMACHINE)/6526cia.o     \
149149   $(EMUMACHINE)/6532riot.o    \
150   $(EMUMACHINE)/6551acia.o    \
151150   $(EMUMACHINE)/6821pia.o     \
152151   $(EMUMACHINE)/6840ptm.o     \
153152   $(EMUMACHINE)/6850acia.o    \
trunk/src/emu/machine/6551acia.c
r20779r20780
1/*********************************************************************
2
3    6551.h
4
5    MOS Technology 6551 Asynchronous Communications Interface Adapter
6
7    A1 A0  Write                    Read
8     0  0  Transmit Data Register   Receiver Data Register
9     0  1  Programmed Reset         Status Register
10     1  0              Command Register
11     1  1              Control Register
12
13*********************************************************************/
14
15#include "emu.h"
16#include "6551acia.h"
17
18
19//**************************************************************************
20//  DEVICE DEFINITIONS
21//**************************************************************************
22
23const device_type ACIA6551 = &device_creator<acia6551_device>;
24
25//-------------------------------------------------
26//  acia6551_device - constructor
27//-------------------------------------------------
28
29acia6551_device::acia6551_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
30   : device_t(mconfig, ACIA6551, "MOS Technology 6551 ACIA", tag, owner, clock),
31      device_serial_interface(mconfig, *this)
32{
33}
34
35/***************************************************************************
36    IMPLEMENTATION
37***************************************************************************/
38
39/*-------------------------------------------------
40    input_callback - called when other side
41    has updated state
42-------------------------------------------------*/
43void acia6551_device::input_callback(UINT8 state)
44{
45   m_input_state = state;
46}
47
48/*-------------------------------------------------
49    timer_callback
50-------------------------------------------------*/
51void acia6551_device::timer_callback()
52{
53   /* get bit received from other side and update receive register */
54   receive_register_update_bit(get_in_data_bit());
55
56   if (is_receive_register_full())
57   {
58      receive_register_extract();
59      receive_character(get_received_char());
60   }
61
62   /* transmit register full? */
63   if ((m_status_register & (1<<4))==0)
64   {
65      /* if transmit reg is empty */
66      if (is_transmit_register_empty())
67      {
68         /* set it up */
69         transmit_register_setup(m_transmit_data_register);
70         /* acia transmit reg now empty */
71         m_status_register |=(1<<4);
72         /* and refresh ints */
73         refresh_ints();
74      }
75   }
76
77   /* if transmit is not empty... transmit data */
78   if (!is_transmit_register_empty())
79   {
80   //  logerror("UART6551\n");
81      transmit_register_send_bit();
82   }
83}
84
85static TIMER_CALLBACK(acia_6551_timer_callback)
86{
87   reinterpret_cast<acia6551_device *>(ptr)->timer_callback();
88}
89
90//-------------------------------------------------
91//  device_start - device-specific startup
92//-------------------------------------------------
93
94void acia6551_device::device_start()
95{
96   /* transmit data reg is empty */
97   m_status_register = (1<<4);
98   m_timer = machine().scheduler().timer_alloc(FUNC(acia_6551_timer_callback), (void *) this);
99
100   transmit_register_reset();
101   receive_register_reset();
102}
103
104
105
106/*-------------------------------------------------
107    refresh_ints - update interrupt output
108-------------------------------------------------*/
109
110void acia6551_device::refresh_ints()
111{
112   int interrupt_state;
113
114   interrupt_state = 0;
115
116   /* receive interrupts */
117
118   /* receive data register full? */
119   if (m_status_register & (1<<3))
120   {
121      /* receiver interrupt enable? */
122      if ((m_command_register & (1<<1))==0)
123      {
124         /* trigger a interrupt */
125         interrupt_state = 1;
126      }
127   }
128
129   /* set state of irq bit in status register */
130   m_status_register &= ~(1<<7);
131
132   if (interrupt_state)
133   {
134      m_status_register |=(1<<7);
135   }
136
137   //if (m_irq_callback != NULL)
138      //(*m_irq_callback)(interrupt_state);
139}
140
141
142
143/*-------------------------------------------------
144    receive_character
145-------------------------------------------------*/
146
147void acia6551_device::receive_character(UINT8 ch)
148{
149   /* receive register full? */
150   if (m_status_register & (1<<3))
151   {
152      /* set overrun error */
153      m_status_register |= (1<<2);
154      return;
155   }
156
157   /* set new byte */
158   m_receive_data_register = ch;
159   /* receive register is full */
160   m_status_register |= (1<<3);
161   /* update ints */
162   refresh_ints();
163}
164
165
166
167/*-------------------------------------------------
168    read
169-------------------------------------------------*/
170
171READ8_MEMBER(acia6551_device::read)
172{
173   unsigned char data;
174
175   data = 0x0ff;
176   switch (offset & 0x03)
177   {
178      case 0:
179      {
180         /*  clear parity error, framing error and overrun error */
181         /* when read of data reigster is done */
182         m_status_register &=~((1<<0) | (1<<1) | (1<<2));
183         /* clear receive data register full flag */
184         m_status_register &=~(1<<3);
185         /* return data */
186         data = m_receive_data_register;
187      }
188      break;
189
190   /*
191   Status                    cleared by
192   b0  Parity error * (1: error)       self clearing **
193   b1  Framing error * (1: error)      self clearing **
194   b2  Overrun * (1: error)            self clearing **
195   b3  Receive Data Register Full (1: full)  Read Receive Data Register
196   b4  Transmit Data Reg Empty (1: empty) Write Transmit Data Register
197   b5  DCD (0: DCD low, 1: DCD high) Not resettable, reflects DCD state
198   b6  DSR (0: DSR low, 1: DCD high) Not resettable, reflects DSR state
199   b7  IRQ (0: no int., 1: interrupt)  Read Status Register
200   */
201      case 1:
202      {
203         data = m_status_register;
204         /* clear interrupt */
205         m_status_register &= ~(1<<7);
206      }
207      break;
208
209      case 2:
210         data = m_command_register;
211         break;
212
213      case 3:
214         data = m_control_register;
215         break;
216
217      default:
218         break;
219   }
220
221   //logerror("6551 R %04x %02x\n",offset & 0x03,data);
222
223   return data;
224}
225
226
227
228/*-------------------------------------------------
229    update_data_form
230-------------------------------------------------*/
231
232void acia6551_device::update_data_form()
233{
234   int word_length = 8-((m_control_register>>5) & 0x03);
235   int stop_bit_count = (m_control_register>>7)+1;
236   int parity = 0;
237   if (m_command_register & (1<<5))
238   {
239      parity = SERIAL_PARITY_ODD;
240   }
241   else
242   {
243      parity = SERIAL_PARITY_NONE;
244   }
245
246   set_data_frame(word_length, stop_bit_count, parity);
247}
248
249
250
251/*-------------------------------------------------
252    write
253-------------------------------------------------*/
254
255WRITE8_MEMBER(acia6551_device::write)
256{
257   //logerror("6551 W %04x %02x\n",offset & 0x03, data);
258
259   switch (offset & 0x03)
260   {
261      case 0:
262      {
263         /* clear transmit data register empty */
264         m_status_register &= ~(1<<4);
265         /* store byte */
266         m_transmit_data_register = data;
267
268      }
269      break;
270
271      case 1:
272      {
273         /* telstrat writes 0x07f! */
274      }
275      break;
276
277
278      /*
279      Command Register:
280
281      b0  Data Terminal Ready
282          0 : disable receiver and all interrupts (DTR high)
283          1 : enable receiver and all interrupts (DTR low)
284      b1  Receiver Interrupt Enable
285          0 : IRQ interrupt enabled from bit 3 of status register
286          1 : IRQ interrupt disabled
287      b3,b2   Transmitter Control
288              Transmit Interrupt    RTS level    Transmitter
289          00     disabled     high        off
290          01     enabled      low     on
291          10     disabled     low     on
292          11     disabled     low    Transmit BRK
293      b4  Normal/Echo Mode for Receiver
294          0 : normal
295          1 : echo (bits 2 and 3 must be 0)
296      b5  Parity Enable
297          0 : parity disabled, no parity bit generated or received
298          1 : parity enabled
299      b7,b6   Parity
300          00 : odd parity receiver and transmitter
301          01 : even parity receiver and transmitter
302          10 : mark parity bit transmitted, parity check disabled
303          11 : space parity bit transmitted, parity check disabled
304      */
305
306      case 2:
307      {
308         m_command_register = data;
309
310         /* update state of dtr */
311         m_connection_state &=~SERIAL_STATE_DTR;
312         if (m_command_register & (1<<0))
313         {
314            m_connection_state |=SERIAL_STATE_DTR;
315         }
316
317         /* update state of rts */
318         switch ((m_command_register>>2) & 0x03)
319         {
320            case 0:
321            {
322               m_connection_state &=~SERIAL_STATE_RTS;
323            }
324            break;
325
326            case 1:
327            case 2:
328            case 3:
329            {
330               m_connection_state |=SERIAL_STATE_RTS;
331            }
332            break;
333         }
334
335         serial_connection_out();
336         update_data_form();
337      }
338      break;
339
340      /*
341      Control register:
342
343      b3-b0   baud rate generator:
344          0000 : 16x external clock
345          0001 : 50 baud
346          0010 : 75 25
347          0011 : 110 35
348          0100 : 134.5
349          0101 : 150
350          0110 : 300 150
351          0111 : 600 300
352          1000 : 1200 600
353          1001 : 1800 600
354          1010 : 2400 600
355          1011 : 3600 1200
356          1100 : 4800 1200
357          1101 : 7200 2400
358          1110 : 9600 2400
359          1111 : 19,200 9600
360      b4  receiver clock source
361          0 : external receiver clock
362          1 : baud rate generator
363      b6,b5   word length
364          00 : 8 bits
365          01 : 7
366          10 : 6
367          11 : 5
368      b7  stop bits
369          0 : 1 stop bit
370          1 : 2 stop bits
371              (1 stop bit if parity and word length = 8)
372              (1 1/2 stop bits if word length = 5 and no parity)
373      */
374      case 3:
375      {
376         unsigned char previous_control_register;
377
378         previous_control_register = m_control_register;
379
380         if (((previous_control_register^data) & 0x07)!=0)
381         {
382            int rate;
383
384            rate = data & 0x07;
385
386            /* baud rate changed? */
387            m_timer->reset();
388
389            if (rate==0)
390            {
391               /* 16x external clock */
392               logerror("6551: external clock not supported!\n");
393            }
394            else
395            {
396               int baud_rate;
397
398               switch (rate)
399               {
400                  default:
401                  case 1:
402                  {
403                     baud_rate = 50;
404                  }
405                  break;
406
407                  case 2:
408                  {
409                     baud_rate = 75;
410                  }
411                  break;
412
413                  case 3:
414                  {
415                     baud_rate = 110;
416                  }
417                  break;
418
419                  case 4:
420                  {
421                     baud_rate = 135;
422                  }
423                  break;
424
425                  case 5:
426                  {
427                     baud_rate = 150;
428                  }
429                  break;
430
431                  case 6:
432                  {
433                     baud_rate = 300;
434                  }
435                  break;
436
437                  case 7:
438                  {
439                     baud_rate = 600;
440                  }
441                  break;
442
443                  case 8:
444                  {
445                     baud_rate = 1200;
446                  }
447                  break;
448
449                  case 9:
450                  {
451                     baud_rate = 1800;
452                  }
453                  break;
454
455                  case 10:
456                  {
457                     baud_rate = 2400;
458                  }
459                  break;
460
461                  case 11:
462                  {
463                     baud_rate = 3600;
464                  }
465                  break;
466
467                  case 12:
468                  {
469                     baud_rate = 4800;
470                  }
471                  break;
472
473                  case 13:
474                  {
475                     baud_rate = 7200;
476                  }
477                  break;
478
479                  case 14:
480                  {
481                     baud_rate = 9600;
482                  }
483                  break;
484
485                  case 15:
486                  {
487                     baud_rate = 19200;
488                  }
489                  break;
490               }
491
492               m_timer->adjust(attotime::zero, 0, attotime::from_hz(baud_rate));
493            }
494         }
495
496         m_control_register = data;
497         update_data_form();
498      }
499      break;
500
501      default:
502         break;
503   }
504
505}
trunk/src/emu/machine/6551acia.h
r20779r20780
1/*********************************************************************
2
3    6551.h
4
5    MOS Technology 6551 Asynchronous Communications Interface Adapter
6
7*********************************************************************/
8
9#ifndef __6551_H__
10#define __6551_H__
11
12//**************************************************************************
13//  INTERFACE CONFIGURATION MACROS
14//**************************************************************************
15
16#define MCFG_ACIA6551_ADD(_tag) \
17   MCFG_DEVICE_ADD((_tag), ACIA6551, 0)
18
19
20/***************************************************************************
21    TYPE DEFINITIONS
22***************************************************************************/
23
24// ======================> acia6551_device
25
26class acia6551_device :  public device_t,
27                     public device_serial_interface
28{
29public:
30   // construction/destruction
31   acia6551_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
32
33   /* read data register */
34   DECLARE_READ8_MEMBER(read);
35
36   /* write data register */
37   DECLARE_WRITE8_MEMBER(write);
38
39   void receive_character(UINT8 ch);
40
41   void timer_callback();
42
43   virtual void input_callback(UINT8 state);
44protected:
45   // device-level overrides
46   virtual void device_start();
47
48   void refresh_ints();
49   void update_data_form();
50
51private:
52   UINT8 m_transmit_data_register;
53   UINT8 m_receive_data_register;
54   UINT8 m_status_register;
55   UINT8 m_command_register;
56   UINT8 m_control_register;
57
58   /* internal baud rate timer */
59   emu_timer   *m_timer;
60};
61
62// device type definition
63extern const device_type ACIA6551;
64
65#endif /* __6551_H__ */
trunk/src/mess/machine/dgn_beta.c
r20779r20780
6363#include "cpu/m6809/m6809.h"
6464#include "machine/6821pia.h"
6565#include "includes/dgn_beta.h"
66#include "machine/6551acia.h"
66#include "machine/mos6551.h"
6767#include "machine/wd17xx.h"
6868#include "imagedev/flopdrv.h"
6969
trunk/src/mess/machine/a2ssc.c
r20779r20780
2626
2727
2828MACHINE_CONFIG_FRAGMENT( ssc )
29   MCFG_ACIA6551_ADD(SSC_ACIA_TAG)
29   MCFG_MOS6551_ADD(SSC_ACIA_TAG, XTAL_1_8432MHz, NULL)
3030MACHINE_CONFIG_END
3131
3232ROM_START( ssc )
trunk/src/mess/machine/a2ssc.h
r20779r20780
1111
1212#include "emu.h"
1313#include "machine/a2bus.h"
14#include "machine/6551acia.h"
14#include "machine/mos6551.h"
1515
1616//**************************************************************************
1717//  TYPE DEFINITIONS
r20779r20780
4040   virtual UINT8 read_cnxx(address_space &space, UINT8 offset);
4141   virtual UINT8 read_c800(address_space &space, UINT16 offset);
4242
43   required_device<acia6551_device> m_acia;
43   required_device<mos6551_device> m_acia;
4444
4545private:
4646   UINT8 *m_rom;
trunk/src/mess/machine/apple3.c
r20779r20780
2121#include "machine/ay3600.h"
2222#include "machine/applefdc.h"
2323#include "devices/appldriv.h"
24#include "machine/6551acia.h"
24#include "machine/mos6551.h"
2525#include "machine/ram.h"
2626
2727
r20779r20780
103103
104104READ8_MEMBER(apple3_state::apple3_c0xx_r)
105105{
106   acia6551_device *acia = machine().device<acia6551_device>("acia");
106   mos6551_device *acia = machine().device<mos6551_device>("acia");
107107   applefdc_base_device *fdc = machine().device<applefdc_base_device>("fdc");
108108   UINT8 result = 0xFF;
109109
r20779r20780
188188
189189WRITE8_MEMBER(apple3_state::apple3_c0xx_w)
190190{
191   acia6551_device *acia = machine().device<acia6551_device>("acia");
191   mos6551_device *acia = machine().device<mos6551_device>("acia");
192192   applefdc_base_device *fdc = machine().device<applefdc_base_device>("fdc");
193193
194194   switch(offset)
trunk/src/mess/machine/microtan.c
r20779r20780
1919/* Components */
2020#include "cpu/m6502/m6502.h"
2121#include "machine/6522via.h"
22#include "machine/6551acia.h"
22#include "machine/mos6551.h"
2323#include "sound/ay8910.h"
2424
2525/* Devices */
trunk/src/mess/machine/coco_232.c
r20779r20780
2121***************************************************************************/
2222
2323static MACHINE_CONFIG_FRAGMENT(coco_rs232)
24   MCFG_ACIA6551_ADD(UART_TAG)
24   MCFG_MOS6551_ADD(UART_TAG, XTAL_1_8432MHz, NULL)
2525MACHINE_CONFIG_END
2626
2727//**************************************************************************
trunk/src/mess/machine/coco_232.h
r20779r20780
55
66#include "emu.h"
77#include "machine/cococart.h"
8#include "machine/6551acia.h"
8#include "machine/mos6551.h"
99
1010//**************************************************************************
1111//  TYPE DEFINITIONS
r20779r20780
3131      virtual DECLARE_WRITE8_MEMBER(write);
3232private:
3333      // internal state
34      required_device<acia6551_device> m_uart;
34      required_device<mos6551_device> m_uart;
3535};
3636
3737
trunk/src/mess/includes/plus4.h
r20779r20780
88#include "formats/cbm_snqk.h"
99#include "audio/t6721.h"
1010#include "audio/mos7360.h"
11#include "machine/6551acia.h"
11#include "machine/mos6551.h"
1212#include "machine/plus4exp.h"
1313#include "machine/plus4user.h"
1414#include "machine/cbmiec.h"
trunk/src/mess/includes/concept.h
r20779r20780
1313
1414#include "machine/6522via.h"
1515#include "machine/wd17xx.h"
16#include "machine/6551acia.h"
16#include "machine/mos6551.h"
1717
1818#define ACIA_0_TAG  "acia0"
1919#define ACIA_1_TAG  "acia1"
r20779r20780
4343      m_acia1(*this, ACIA_1_TAG),
4444      m_videoram(*this,"videoram") { }
4545
46   required_device<acia6551_device> m_acia0;
47   required_device<acia6551_device> m_acia1;
46   required_device<mos6551_device> m_acia0;
47   required_device<mos6551_device> m_acia1;
4848   required_shared_ptr<UINT16> m_videoram;
4949   UINT8 m_pending_interrupts;
5050   char m_clock_enable;
trunk/src/mess/includes/oric.h
r20779r20780
1212#include "sound/ay8910.h"
1313#include "sound/wave.h"
1414#include "machine/6522via.h"
15#include "machine/6551acia.h"
15#include "machine/mos6551.h"
1616#include "machine/ctronics.h"
1717#include "machine/wd17xx.h"
1818//#include <stdio.h>
trunk/src/mess/includes/dragon.h
r20779r20780
1414
1515#include "includes/coco12.h"
1616#include "imagedev/printer.h"
17#include "machine/6551acia.h"
17#include "machine/mos6551.h"
1818
1919
2020
r20779r20780
5757   {
5858   }
5959
60   required_device<acia6551_device> m_acia;
60   required_device<mos6551_device> m_acia;
6161
6262protected:
6363   virtual DECLARE_READ8_MEMBER( ff00_read );
trunk/src/mess/includes/thomson.h
r20779r20780
1414#include "machine/6821pia.h"
1515#include "machine/mc6846.h"
1616#include "machine/6850acia.h"
17#include "machine/6551acia.h"
17#include "machine/mos6551.h"
1818#include "sound/dac.h"
1919#include "audio/mea8000.h"
2020#include "machine/ctronics.h"
trunk/src/mess/formats/m65_snqk.c
r20779r20780
1515#include "cpu/m6502/m6502.h"
1616#include "includes/microtan.h"
1717#include "machine/6522via.h"
18#include "machine/6551acia.h"
18#include "machine/mos6551.h"
1919#include "sound/ay8910.h"
2020#include "formats/m65_snqk.h"
2121
trunk/src/mess/drivers/digel804.c
r20779r20780
6060#include "machine/terminal.h"
6161#include "sound/speaker.h"
6262#include "machine/roc10937.h"
63#include "machine/6551acia.h"
63#include "machine/mos6551.h"
6464#include "machine/mm74c922.h"
6565#include "machine/ram.h"
6666#include "digel804.lh"
r20779r20780
8484   required_device<cpu_device> m_maincpu;
8585   required_device<generic_terminal_device> m_terminal;
8686   required_device<speaker_sound_device> m_speaker;
87   required_device<acia6551_device> m_acia;
87   required_device<mos6551_device> m_acia;
8888   required_device<roc10937_t> m_vfd;
8989   required_device<mm74c922_device> m_kb;
9090   required_device<ram_device> m_ram;
r20779r20780
480480   AM_RANGE(0x85, 0x85) AM_MIRROR(0x38) AM_READ(acia_command_r) // (ACIA command reg)
481481   AM_RANGE(0x86, 0x86) AM_MIRROR(0x38) AM_WRITE(acia_control_w) // (ACIA control reg)
482482   AM_RANGE(0x87, 0x87) AM_MIRROR(0x38) AM_READ(acia_control_r) // (ACIA control reg)
483   //AM_RANGE(0x80,0x87) AM_MIRROR(0x38) AM_SHIFT(-1) AM_DEVREADWRITE("acia", acia6551_device, read, write) // this doesn't work since we lack an AM_SHIFT command
483   //AM_RANGE(0x80,0x87) AM_MIRROR(0x38) AM_SHIFT(-1) AM_DEVREADWRITE("acia", mos6551_device, read, write) // this doesn't work since we lack an AM_SHIFT command
484484
485485ADDRESS_MAP_END
486486
r20779r20780
507507   AM_RANGE(0x85, 0x85) AM_MIRROR(0x38) AM_READ(acia_command_r) // (ACIA command reg)
508508   AM_RANGE(0x86, 0x86) AM_MIRROR(0x38) AM_WRITE(acia_control_w) // (ACIA control reg)
509509   AM_RANGE(0x87, 0x87) AM_MIRROR(0x38) AM_READ(acia_control_r) // (ACIA control reg)
510   //AM_RANGE(0x80,0x87) AM_MIRROR(0x38) AM_SHIFT(-1) AM_DEVREADWRITE("acia", acia6551_device, read, write) // this doesn't work since we lack an AM_SHIFT command
510   //AM_RANGE(0x80,0x87) AM_MIRROR(0x38) AM_SHIFT(-1) AM_DEVREADWRITE("acia", mos6551_device, read, write) // this doesn't work since we lack an AM_SHIFT command
511511
512512ADDRESS_MAP_END
513513
r20779r20780
561561******************************************************************************/
562562WRITE8_MEMBER(digel804_state::digel804_serial_put)
563563{
564   m_acia->receive_character(data);
564   //m_acia->receive_character(data);
565565}
566566
567567static GENERIC_TERMINAL_INTERFACE( digel804_terminal_intf )
r20779r20780
603603   MCFG_MM74C923_ADD("74c923", digel804_keypad_intf)
604604
605605   /* acia */
606   MCFG_ACIA6551_ADD("acia")
606   MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
607607
608608   MCFG_RAM_ADD(RAM_TAG)
609609   MCFG_RAM_DEFAULT_SIZE("256K")
trunk/src/mess/drivers/aim65_40.c
r20779r20780
4848#include "includes/aim65_40.h"
4949#include "cpu/m6502/m6502.h"
5050#include "machine/6522via.h"
51#include "machine/6551acia.h"
51#include "machine/mos6551.h"
5252#include "aim65_40.lh"
5353
5454/***************************************************************************
r20779r20780
6161   AM_RANGE(0xffa0, 0xffaf) AM_DEVREADWRITE(M6522_0_TAG, via6522_device, read, write)
6262   AM_RANGE(0xffb0, 0xffbf) AM_DEVREADWRITE(M6522_1_TAG, via6522_device, read, write)
6363   AM_RANGE(0xffc0, 0xffcf) AM_DEVREADWRITE(M6522_2_TAG, via6522_device, read, write)
64   AM_RANGE(0xffd0, 0xffd3) AM_DEVREADWRITE(M6551_TAG, acia6551_device, read, write)
64   AM_RANGE(0xffd0, 0xffd3) AM_DEVREADWRITE(M6551_TAG, mos6551_device, read, write)
6565   AM_RANGE(0xffe0, 0xffff) AM_ROM
6666ADDRESS_MAP_END
6767
r20779r20780
145145   MCFG_VIA6522_ADD(M6522_0_TAG, 0, user_via_intf)
146146   MCFG_VIA6522_ADD(M6522_1_TAG, 0, system_via_intf)
147147   MCFG_VIA6522_ADD(M6522_2_TAG, 0, kb_via_intf)
148   MCFG_ACIA6551_ADD(M6551_TAG)
148   MCFG_MOS6551_ADD(M6551_TAG, XTAL_1_8432MHz, NULL)
149149MACHINE_CONFIG_END
150150
151151/***************************************************************************
trunk/src/mess/drivers/rvoice.c
r20779r20780
1010/* Core includes */
1111#include "emu.h"
1212#include "cpu/m6800/m6800.h"
13#include "machine/6551acia.h"
13#include "machine/mos6551.h"
1414//#include "dectalk.lh" //  hack to avoid screenless system crash
1515#include "machine/terminal.h"
1616
r20779r20780
329329   ADDRESS_MAP_UNMAP_HIGH
330330   AM_RANGE(0x0000, 0x0027) AM_READWRITE(main_hd63701_internal_registers_r, main_hd63701_internal_registers_w) // INTERNAL REGS
331331   AM_RANGE(0x0040, 0x013f) AM_RAM // INTERNAL RAM (overlaps acia)
332   AM_RANGE(0x0060, 0x007f) AM_DEVREADWRITE("acia65c51", acia6551_device, read, write) // ACIA 65C51
332   AM_RANGE(0x0060, 0x007f) AM_DEVREADWRITE("acia65c51", mos6551_device, read, write) // ACIA 65C51
333333   AM_RANGE(0x2000, 0x7fff) AM_RAM // EXTERNAL SRAM
334334   AM_RANGE(0x8000, 0xffff) AM_ROM // 27512 EPROM
335335ADDRESS_MAP_END
r20779r20780
368368   //MCFG_CPU_IO_MAP(hd63701_slave_io)
369369   MCFG_QUANTUM_TIME(attotime::from_hz(60))
370370
371   MCFG_ACIA6551_ADD("acia65c51")
371   MCFG_MOS6551_ADD("acia65c51", XTAL_1_8432MHz, NULL)
372372
373373   /* video hardware */
374374   //MCFG_DEFAULT_LAYOUT(layout_dectalk) // hack to avoid screenless system crash
trunk/src/mess/drivers/thomson.c
r20779r20780
308308   AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt )
309309   AM_RANGE ( 0xe7d0, 0xe7df ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w )
310310   AM_RANGE ( 0xe7e0, 0xe7e3 ) AM_DEVREADWRITE( "pia_2", pia6821_device, read_alt, write_alt )
311   AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia",  acia6551_device, read, write )
311   AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia",  mos6551_device, read, write )
312312   AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
313313   AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt )
314314   AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w )
r20779r20780
672672   MCFG_PIA6821_ADD( THOM_PIA_MODEM, to7_pia6821_modem )
673673
674674/* acia */
675   MCFG_ACIA6551_ADD("acia")
675   MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
676676
677677/* to7 serial io line */
678678   MCFG_TO7_IO_LINE_ADD("to7_io")
r20779r20780
769769   AM_RANGE ( 0xe7d0, 0xe7df ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w )
770770   AM_RANGE ( 0xe7e0, 0xe7e3 ) AM_DEVREADWRITE( "pia_2", pia6821_device, read_alt, write_alt )
771771   AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to770_gatearray_r, to770_gatearray_w )
772   AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia",  acia6551_device, read, write )
772   AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia",  mos6551_device, read, write )
773773   AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
774774   AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt )
775775   AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w )
r20779r20780
960960   AM_RANGE ( 0xa7d0, 0xa7df ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w )
961961   AM_RANGE ( 0xa7e0, 0xa7e3 ) AM_DEVREADWRITE( "pia_2", pia6821_device, read_alt, write_alt )
962962   AM_RANGE ( 0xa7e4, 0xa7e7 ) AM_READWRITE_LEGACY(mo5_gatearray_r, mo5_gatearray_w )
963   AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia",  acia6551_device, read, write )
963   AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia",  mos6551_device, read, write )
964964   AM_RANGE ( 0xa7f2, 0xa7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
965965   AM_RANGE ( 0xa7fe, 0xa7ff ) AM_DEVREADWRITE_LEGACY("mea8000", mea8000_r, mea8000_w)
966966   AM_RANGE ( 0xb000, 0xefff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(mo5_cartridge_w )
r20779r20780
11651165   AM_RANGE ( 0xe7da, 0xe7dd ) AM_READWRITE_LEGACY(to9_vreg_r, to9_vreg_w )
11661166   AM_RANGE ( 0xe7de, 0xe7df ) AM_READWRITE_LEGACY(to9_kbd_r, to9_kbd_w )
11671167   AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to9_gatearray_r, to9_gatearray_w )
1168   AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia",  acia6551_device, read, write )
1168   AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia",  mos6551_device, read, write )
11691169/*   AM_RANGE ( 0xe7f0, 0xe7f7 ) AM_READWRITE_LEGACY(to9_ieee_r, to9_ieee_w ) */
11701170   AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
11711171   AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt)
r20779r20780
14891489   AM_RANGE ( 0xe7d0, 0xe7d9 ) AM_READWRITE_LEGACY(to8_floppy_r, to8_floppy_w )
14901490   AM_RANGE ( 0xe7da, 0xe7dd ) AM_READWRITE_LEGACY(to8_vreg_r, to8_vreg_w )
14911491   AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to8_gatearray_r, to8_gatearray_w )
1492   AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia",  acia6551_device, read, write )
1492   AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia",  mos6551_device, read, write )
14931493/*   AM_RANGE ( 0xe7f0, 0xe7f7 ) AM_READWRITE_LEGACY(to9_ieee_r, to9_ieee_w ) */
14941494   AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
14951495   AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt)
r20779r20780
16851685   AM_RANGE ( 0xe7da, 0xe7dd ) AM_READWRITE_LEGACY(to8_vreg_r, to8_vreg_w )
16861686   AM_RANGE ( 0xe7de, 0xe7df ) AM_READWRITE_LEGACY(to9_kbd_r, to9_kbd_w )
16871687   AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to8_gatearray_r, to8_gatearray_w )
1688   AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia",  acia6551_device, read, write )
1688   AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia",  mos6551_device, read, write )
16891689/*   AM_RANGE ( 0xe7f0, 0xe7f7 ) AM_READWRITE_LEGACY(to9_ieee_r, to9_ieee_w ) */
16901690   AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
16911691   AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt)
r20779r20780
18451845   AM_RANGE ( 0xa7d0, 0xa7d9 ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w )
18461846   AM_RANGE ( 0xa7da, 0xa7dd ) AM_READWRITE_LEGACY(mo6_vreg_r, mo6_vreg_w )
18471847   AM_RANGE ( 0xa7e4, 0xa7e7 ) AM_READWRITE_LEGACY(mo6_gatearray_r, mo6_gatearray_w )
1848   AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia",  acia6551_device, read, write )
1848   AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia",  mos6551_device, read, write )
18491849/*   AM_RANGE ( 0xa7f0, 0xa7f7 ) AM_READWRITE_LEGACY(to9_ieee_r, to9_ieee_w )*/
18501850   AM_RANGE ( 0xa7f2, 0xa7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
18511851   AM_RANGE ( 0xa7fe, 0xa7ff ) AM_DEVREADWRITE_LEGACY("mea8000", mea8000_r, mea8000_w)
r20779r20780
21602160   AM_RANGE ( 0xa7e1, 0xa7e1 ) AM_DEVREADWRITE("centronics", centronics_device, read, write)
21612161   AM_RANGE ( 0xa7e3, 0xa7e3 ) AM_READWRITE_LEGACY(mo5nr_prn_r, mo5nr_prn_w )
21622162   AM_RANGE ( 0xa7e4, 0xa7e7 ) AM_READWRITE_LEGACY(mo6_gatearray_r, mo6_gatearray_w )
2163   AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia",  acia6551_device, read, write )
2163   AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia",  mos6551_device, read, write )
21642164/*   AM_RANGE ( 0xa7f0, 0xa7f7 ) AM_READWRITE_LEGACY(to9_ieee_r, to9_ieee_w ) */
21652165   AM_RANGE ( 0xa7f2, 0xa7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
21662166   AM_RANGE ( 0xa7f8, 0xa7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt)
trunk/src/mess/drivers/concept.c
r20779r20780
146146   MCFG_VIA6522_ADD("via6522_0", 1022750, concept_via6522_intf)
147147
148148   /* ACIAs */
149   MCFG_ACIA6551_ADD(ACIA_0_TAG)
150   MCFG_ACIA6551_ADD(ACIA_1_TAG)
149   MCFG_MOS6551_ADD(ACIA_0_TAG, XTAL_1_8432MHz, NULL)
150   MCFG_MOS6551_ADD(ACIA_1_TAG, XTAL_1_8432MHz, NULL)
151151
152152   MCFG_FD1793_ADD("wd179x", concept_wd17xx_interface )
153153
trunk/src/mess/drivers/dgn_beta.c
r20779r20780
4242#include "cpu/m6809/m6809.h"
4343#include "machine/6821pia.h"
4444#include "includes/dgn_beta.h"
45#include "machine/6551acia.h"
45#include "machine/mos6551.h"
4646#include "formats/coco_dsk.h"
4747#include "imagedev/flopdrv.h"
4848#include "machine/ram.h"
trunk/src/mess/drivers/dragon.c
r20779r20780
174174   MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, dragon_state::cartridge_config, dragon_cart, "dragon_fdc", NULL)
175175
176176   // acia
177   MCFG_ACIA6551_ADD("acia")
177   MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
178178MACHINE_CONFIG_END
179179
180180static MACHINE_CONFIG_DERIVED_CLASS( d64plus, dragon_base, dragon64_state )
r20779r20780
186186   MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, dragon_state::cartridge_config, dragon_cart, "dragon_fdc", NULL)
187187
188188   // acia
189   MCFG_ACIA6551_ADD("acia")
189   MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
190190MACHINE_CONFIG_END
191191
192192static MACHINE_CONFIG_DERIVED_CLASS( dgnalpha, dragon_base, dragon_alpha_state )
r20779r20780
198198   MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, dragon_alpha_state::cartridge_config, dragon_cart, NULL, NULL)
199199
200200   // acia
201   MCFG_ACIA6551_ADD("acia")
201   MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
202202
203203   // floppy
204204   MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(coco_floppy_interface)
trunk/src/mess/drivers/ec65.c
r20779r20780
1212#include "video/mc6845.h"
1313#include "machine/6821pia.h"
1414#include "machine/6522via.h"
15#include "machine/6551acia.h"
15#include "machine/mos6551.h"
1616#include "machine/6850acia.h"
1717#include "machine/keyboard.h"
1818
r20779r20780
5353   AM_RANGE(0xe011, 0xe011) AM_DEVREADWRITE(ACIA6850_TAG, acia6850_device, data_read, data_write)
5454   AM_RANGE(0xe100, 0xe10f) AM_DEVREADWRITE(VIA6522_0_TAG, via6522_device, read, write)
5555   AM_RANGE(0xe110, 0xe11f) AM_DEVREADWRITE(VIA6522_1_TAG, via6522_device, read, write)
56   AM_RANGE(0xe130, 0xe133) AM_DEVREADWRITE(ACIA6551_TAG,  acia6551_device, read, write)
56   AM_RANGE(0xe130, 0xe133) AM_DEVREADWRITE(ACIA6551_TAG,  mos6551_device, read, write)
5757   AM_RANGE(0xe140, 0xe140) AM_DEVWRITE(MC6845_TAG, mc6845_device, address_w)
5858   AM_RANGE(0xe141, 0xe141) AM_DEVREADWRITE(MC6845_TAG, mc6845_device, register_r , register_w)
5959   AM_RANGE(0xe400, 0xe7ff) AM_RAM // 1KB on-board RAM
r20779r20780
273273   MCFG_ACIA6850_ADD(ACIA6850_TAG, ec65_acia_intf)
274274   MCFG_VIA6522_ADD(VIA6522_0_TAG, XTAL_4MHz / 4, ec65_via_0_intf)
275275   MCFG_VIA6522_ADD(VIA6522_1_TAG, XTAL_4MHz / 4, ec65_via_1_intf)
276   MCFG_ACIA6551_ADD(ACIA6551_TAG)     // have XTAL of 1.8432MHz connected
276   MCFG_MOS6551_ADD(ACIA6551_TAG, XTAL_1_8432MHz, NULL)
277277   MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf)
278278MACHINE_CONFIG_END
279279
trunk/src/mess/drivers/microtan.c
r20779r20780
4545#include "sound/dac.h"
4646#include "sound/wave.h"
4747#include "machine/6522via.h"
48#include "machine/6551acia.h"
48#include "machine/mos6551.h"
4949
5050/* Devices */
5151#include "imagedev/cassette.h"
r20779r20780
6060   AM_RANGE(0xbc02, 0xbc02) AM_DEVWRITE_LEGACY("ay8910.2", ay8910_address_w)
6161   AM_RANGE(0xbc03, 0xbc03) AM_DEVREADWRITE_LEGACY("ay8910.2", ay8910_r, ay8910_data_w)
6262   AM_RANGE(0xbfc0, 0xbfcf) AM_DEVREADWRITE("via6522_0", via6522_device, read, write)
63   AM_RANGE(0xbfd0, 0xbfd3) AM_DEVREADWRITE("acia", acia6551_device, read, write)
63   AM_RANGE(0xbfd0, 0xbfd3) AM_DEVREADWRITE("acia", mos6551_device, read, write)
6464   AM_RANGE(0xbfe0, 0xbfef) AM_DEVREADWRITE("via6522_1", via6522_device, read, write)
6565   AM_RANGE(0xbff0, 0xbfff) AM_READWRITE(microtan_bffx_r, microtan_bffx_w)
6666   AM_RANGE(0xc000, 0xe7ff) AM_ROM
r20779r20780
256256   MCFG_CASSETTE_ADD( CASSETTE_TAG, default_cassette_interface )
257257
258258   /* acia */
259   MCFG_ACIA6551_ADD("acia")
259   MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
260260
261261   /* via */
262262   MCFG_VIA6522_ADD("via6522_0", 0, microtan_via6522_0)
trunk/src/mess/drivers/mits680b.c
r20779r20780
2222
2323#include "emu.h"
2424#include "cpu/m6800/m6800.h"
25#include "machine/6551acia.h"
25#include "machine/mos6551.h"
2626#include "machine/terminal.h"
2727
2828
r20779r20780
6666static ADDRESS_MAP_START(mits680b_mem, AS_PROGRAM, 8, mits680b_state)
6767   ADDRESS_MAP_UNMAP_HIGH
6868   AM_RANGE( 0x0000, 0x03ff ) AM_RAM // 1024 bytes RAM
69   //AM_RANGE( 0xf000, 0xf003 ) AM_DEVREADWRITE("acia",  acia6551_device, read, write )
69   //AM_RANGE( 0xf000, 0xf003 ) AM_DEVREADWRITE("acia",  mos6551_device, read, write )
7070   AM_RANGE( 0xf000, 0xf000 ) AM_READ(terminal_status_r)
7171   AM_RANGE( 0xf001, 0xf001 ) AM_READ(terminal_r) AM_DEVWRITE(TERMINAL_TAG, generic_terminal_device, write)
7272   AM_RANGE( 0xf002, 0xf002 ) AM_READ(status_check_r)
trunk/src/mess/drivers/clcd.c
r20779r20780
1212#include "emu.h"
1313#include "cpu/m6502/m65c02.h"
1414#include "machine/6522via.h"
15#include "machine/6551acia.h"
15#include "machine/mos6551.h"
1616#include "rendlay.h"
1717
1818class clcd_state : public driver_device
r20779r20780
178178static ADDRESS_MAP_START( clcd_mem, AS_PROGRAM, 8, clcd_state )
179179   AM_RANGE(0xf800, 0xf80f) AM_DEVREADWRITE("via0", via6522_device, read, write)
180180   AM_RANGE(0xf880, 0xf88f) AM_DEVREADWRITE("via1", via6522_device, read, write)
181   AM_RANGE(0xf980, 0xf981) AM_DEVREADWRITE("acia", acia6551_device, read, write)
181   AM_RANGE(0xf980, 0xf981) AM_DEVREADWRITE("acia", mos6551_device, read, write)
182182   AM_RANGE(0xff00, 0xff00) AM_WRITE(rombank_w)
183183   AM_RANGE(0xff80, 0xff83) AM_WRITE(rambank_w)
184184   AM_RANGE(0x0000, 0x3fff) AM_RAM AM_SHARE("ram")
r20779r20780
345345
346346   MCFG_VIA6522_ADD("via0", 0, via0_intf)
347347   MCFG_VIA6522_ADD("via1", 0, via1_intf)
348   MCFG_ACIA6551_ADD("acia")
348   MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
349349
350350   /* video hardware */
351351   MCFG_SCREEN_ADD("screen", LCD)
trunk/src/mess/drivers/mmodular.c
r20779r20780
9090#include "cpu/m6502/m65c02.h"
9191#include "cpu/arm/arm.h"
9292#include "sound/beep.h"
93//#include "machine/6551acia.h"
93//#include "machine/mos6551.h"
9494#include "video/hd44780.h"
9595
9696#include "rendlay.h"
r20779r20780
15381538   MCFG_FRAGMENT_ADD( chess_common )
15391539
15401540   /* acia */
1541//  MCFG_ACIA6551_ADD("acia65c51")
1541//  MCFG_MOS6551_ADD("acia65c51", XTAL_1_8432MHz, NULL)
15421542
15431543   MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_timer", polgar_state, cause_M6502_irq, attotime::from_hz(600))
15441544   MCFG_TIMER_START_DELAY(attotime::from_hz(60))
r20779r20780
16011601   MCFG_FRAGMENT_ADD( chess_common )
16021602
16031603   /* acia */
1604//  MCFG_ACIA6551_ADD("acia65c51")
1604//  MCFG_MOS6551_ADD("acia65c51", XTAL_1_8432MHz, NULL)
16051605
16061606   MCFG_TIMER_DRIVER_ADD_PERIODIC("int_timer", polgar_state, timer_update_irq2, attotime::from_hz(60))
16071607   MCFG_TIMER_START_DELAY(attotime::from_hz(30))
trunk/src/mess/drivers/oric.c
r20779r20780
5757   AM_RANGE( 0x0000, 0x02ff) AM_RAM
5858   AM_RANGE( 0x0300, 0x030f) AM_DEVREADWRITE("via6522_0", via6522_device, read, write)
5959   AM_RANGE( 0x0310, 0x031b) AM_READWRITE(oric_microdisc_r, oric_microdisc_w )
60   AM_RANGE( 0x031c, 0x031f) AM_DEVREADWRITE("acia", acia6551_device, read, write)
60   AM_RANGE( 0x031c, 0x031f) AM_DEVREADWRITE("acia", mos6551_device, read, write)
6161   AM_RANGE( 0x0320, 0x032f) AM_DEVREADWRITE("via6522_1", via6522_device, read, write)
6262   AM_RANGE( 0x0400, 0xbfff) AM_RAM
6363   AM_RANGE( 0xc000, 0xffff) AM_READ_BANK("bank1") AM_WRITE_BANK("bank2")
r20779r20780
425425   MCFG_MACHINE_START_OVERRIDE(oric_state, telestrat )
426426
427427   /* acia */
428   MCFG_ACIA6551_ADD("acia")
428   MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
429429
430430   /* via */
431431   MCFG_VIA6522_ADD( "via6522_1", 1000000, telestrat_via2_interface )
trunk/src/mess/drivers/apple3.c
r20779r20780
1616#include "includes/apple2.h"
1717#include "imagedev/flopdrv.h"
1818#include "formats/ap2_dsk.h"
19#include "machine/6551acia.h"
19#include "machine/mos6551.h"
2020#include "machine/6522via.h"
2121#include "machine/a2bus.h"
2222#include "machine/ram.h"
r20779r20780
9898   MCFG_APPLEFDC_ADD("fdc", apple3_fdc_interface)
9999   MCFG_LEGACY_FLOPPY_APPLE_4_DRIVES_ADD(apple3_floppy_interface,1,4)
100100   /* acia */
101   MCFG_ACIA6551_ADD("acia")
101   MCFG_MOS6551_ADD("acia", XTAL_1_8432MHz, NULL)
102102
103103   /* via */
104104   MCFG_VIA6522_ADD("via6522_0", 1000000, apple3_via_0_intf)
trunk/src/mame/drivers/cops.c
r20779r20780
1111#include "emu.h"
1212#include "cpu/m6502/m6502.h"
1313#include "machine/6522via.h"
14//#include "machine/6551acia.h"
14//#include "machine/mos6551.h"
1515
1616#include "cops.lh"
1717
r20779r20780
564564   AM_RANGE(0xb000, 0xb00f) AM_DEVREADWRITE("via6522_1", via6522_device, read, write)  /* VIA 1 */
565565   AM_RANGE(0xb800, 0xb80f) AM_DEVREADWRITE("via6522_2", via6522_device, read, write)  /* VIA 2 */
566566   AM_RANGE(0xc000, 0xcfff) AM_READWRITE(io2_r, io2_w)
567//  AM_RANGE(0xd000, 0xd003) AM_DEVREADWRITE("acia6551_1", acia6551_device, read, write )
568//  AM_RANGE(0xd004, 0xd007) AM_DEVREADWRITE("acia6551_2", acia6551_device, read, write )
567//  AM_RANGE(0xd000, 0xd003) AM_DEVREADWRITE("acia6551_1", mos6551_device, read, write )
568//  AM_RANGE(0xd004, 0xd007) AM_DEVREADWRITE("acia6551_2", mos6551_device, read, write )
569569   AM_RANGE(0xd000, 0xd007) AM_READWRITE(dacia_r, dacia_w)
570570   AM_RANGE(0xd800, 0xd80f) AM_DEVREADWRITE("via6522_3", via6522_device, read, write)  /* VIA 3 */
571571   AM_RANGE(0xe000, 0xffff) AM_ROM AM_REGION("system", 0)
r20779r20780
644644   MCFG_VIA6522_ADD("via6522_3", 0, via_3_interface)
645645
646646   /* acia */
647//  MCFG_ACIA6551_ADD("acia6551_1")
648//  MCFG_ACIA6551_ADD("acia6551_2")
647//  MCFG_MOS6551_ADD("acia6551_1", XTAL_1_8432MHz, NULL)
648//  MCFG_MOS6551_ADD("acia6551_2", XTAL_1_8432MHz, NULL)
649649
650650   /* sound hardware */
651651   MCFG_SPEAKER_STANDARD_MONO("mono")

Previous 199869 Revisions Next


© 1997-2024 The MAME Team