Previous 199869 Revisions Next

r22886 Saturday 18th May, 2013 at 06:46:11 UTC by Curt Coder
(MESS) wmbullet, softbox, super6, xor100: Refactored serial terminal to connect thru an RS-232 port. [Curt Coder]
[src/mess/drivers]bullet.c ob68k1a.c softbox.c super6.c xor100.c
[src/mess/includes]bullet.h softbox.h super6.h xor100.h

trunk/src/mess/includes/bullet.h
r22885r22886
33#ifndef __BULLET__
44#define __BULLET__
55
6
76#include "emu.h"
87#include "cpu/z80/z80.h"
98#include "machine/ctronics.h"
r22885r22886
1110#include "machine/scsibus.h"
1211#include "machine/scsicb.h"
1312#include "machine/scsihd.h"
14#include "machine/terminal.h"
13#include "machine/serial.h"
1514#include "machine/wd_fdc.h"
1615#include "machine/z80ctc.h"
1716#include "machine/z80dart.h"
r22885r22886
2625#define MB8877_TAG      "u55"
2726#define CENTRONICS_TAG  "centronics"
2827#define SCSIBUS_TAG     "scsi"
28#define RS232_A_TAG     "rs232a"
29#define RS232_B_TAG     "rs232b"
2930
3031class bullet_state : public driver_device
3132{
r22885r22886
4748         m_floppy6(*this, MB8877_TAG":6"),
4849         m_floppy7(*this, MB8877_TAG":7"),
4950         m_floppy(NULL),
50         m_terminal(*this, TERMINAL_TAG),
5151         m_centronics(*this, CENTRONICS_TAG),
5252         m_rom(*this, Z80_TAG),
5353         m_sw1(*this, "SW1"),
r22885r22886
7171   required_device<floppy_connector> m_floppy6;
7272   required_device<floppy_connector> m_floppy7;
7373   floppy_image_device *m_floppy;
74   required_device<serial_terminal_device> m_terminal;
7574   required_device<centronics_device> m_centronics;
7675   required_memory_region m_rom;
7776   required_ioport m_sw1;
trunk/src/mess/includes/super6.h
r22885r22886
88#include "cpu/z80/z80daisy.h"
99#include "machine/com8116.h"
1010#include "machine/ram.h"
11#include "machine/terminal.h"
11#include "machine/serial.h"
1212#include "machine/wd_fdc.h"
1313#include "machine/z80ctc.h"
1414#include "machine/z80dart.h"
r22885r22886
2323#define WD2793_TAG      "u27"
2424#define BR1945_TAG      "u31"
2525#define SCREEN_TAG      "screen"
26#define TERMINAL_TAG    "terminal"
26#define RS232_A_TAG     "rs232a"
27#define RS232_B_TAG     "rs232b"
2728
2829class super6_state : public driver_device
2930{
r22885r22886
4041         m_ram(*this, RAM_TAG),
4142         m_floppy0(*this, WD2793_TAG":0"),
4243         m_floppy1(*this, WD2793_TAG":1"),
43         m_terminal(*this, TERMINAL_TAG),
4444         m_rom(*this, Z80_TAG),
4545         m_j7(*this, "J7")
4646   { }
r22885r22886
5555   required_device<ram_device> m_ram;
5656   required_device<floppy_connector> m_floppy0;
5757   required_device<floppy_connector> m_floppy1;
58   required_device<serial_terminal_device> m_terminal;
5958   required_memory_region m_rom;
6059   required_ioport m_j7;
6160
trunk/src/mess/includes/softbox.h
r22885r22886
1010#include "machine/i8251.h"
1111#include "machine/i8255.h"
1212#include "machine/ieee488.h"
13#include "machine/terminal.h"
13#include "machine/serial.h"
1414
1515#define Z80_TAG         "z80"
1616#define I8251_TAG       "i8251"
1717#define I8255_0_TAG     "ic17"
1818#define I8255_1_TAG     "ic16"
1919#define COM8116_TAG      "ic14"
20#define RS232_TAG      "rs232"
2021
2122class softbox_state : public driver_device
2223{
trunk/src/mess/includes/xor100.h
r22885r22886
1111#include "machine/i8255.h"
1212#include "machine/i8251.h"
1313#include "machine/s100.h"
14#include "machine/terminal.h"
14#include "machine/serial.h"
1515#include "machine/wd_fdc.h"
1616#include "machine/z80ctc.h"
1717
r22885r22886
2424#define Z80CTC_TAG      "11b"
2525#define WD1795_TAG      "wd1795"
2626#define CENTRONICS_TAG  "centronics"
27#define RS232_A_TAG     "rs232a"
28#define RS232_B_TAG     "rs232b"
2729
2830class xor100_state : public driver_device
2931{
r22885r22886
3739         m_fdc(*this, WD1795_TAG),
3840         m_ctc(*this, Z80CTC_TAG),
3941         m_ram(*this, RAM_TAG),
40         m_terminal(*this, TERMINAL_TAG),
4142         m_centronics(*this, CENTRONICS_TAG),
4243         m_s100(*this, S100_TAG),
4344         m_floppy0(*this, WD1795_TAG":0"),
r22885r22886
5455   required_device<fd1795_t> m_fdc;
5556   required_device<z80ctc_device> m_ctc;
5657   required_device<ram_device> m_ram;
57   required_device<generic_terminal_device> m_terminal;
5858   required_device<centronics_device> m_centronics;
5959   required_device<s100_device> m_s100;
6060   required_device<floppy_connector> m_floppy0;
trunk/src/mess/drivers/super6.c
r22885r22886
369369{
370370   0, 0, 0, 0,
371371
372   DEVCB_DEVICE_LINE_MEMBER(TERMINAL_TAG, serial_terminal_device, tx_r),
373   DEVCB_DEVICE_LINE_MEMBER(TERMINAL_TAG, serial_terminal_device, rx_w),
372   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, rx),
373   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx),
374   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w),
375   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w),
374376   DEVCB_NULL,
375377   DEVCB_NULL,
376   DEVCB_NULL,
377   DEVCB_NULL,
378378
379   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, rx),
380   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx),
381   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w),
382   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w),
379383   DEVCB_NULL,
380384   DEVCB_NULL,
381   DEVCB_NULL,
382   DEVCB_NULL,
383   DEVCB_NULL,
384   DEVCB_NULL,
385385
386386   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0)
387387};
r22885r22886
502502
503503
504504//-------------------------------------------------
505//  GENERIC_TERMINAL_INTERFACE( terminal_intf )
505//  rs232_port_interface rs232a_intf
506506//-------------------------------------------------
507507
508508static DEVICE_INPUT_DEFAULTS_START( terminal )
r22885r22886
510510   DEVICE_INPUT_DEFAULTS( "TERM_FRAME", 0x30, 0x00 ) // 8N1
511511DEVICE_INPUT_DEFAULTS_END
512512
513WRITE8_MEMBER( super6_state::dummy_w )
513static const rs232_port_interface rs232a_intf =
514514{
515   // handled in Z80DART_INTERFACE
516}
515   DEVCB_NULL,
516   DEVCB_NULL,
517   DEVCB_NULL,
518   DEVCB_NULL,
519   DEVCB_NULL
520};
517521
518static GENERIC_TERMINAL_INTERFACE( terminal_intf )
522
523//-------------------------------------------------
524//  rs232_port_interface rs232b_intf
525//-------------------------------------------------
526
527static const rs232_port_interface rs232b_intf =
519528{
520   DEVCB_DRIVER_MEMBER(super6_state, dummy_w)
529   DEVCB_NULL,
530   DEVCB_NULL,
531   DEVCB_NULL,
532   DEVCB_NULL,
533   DEVCB_NULL
521534};
522535
523536
r22885r22886
586599   MCFG_COM8116_ADD(BR1945_TAG, XTAL_5_0688MHz, brg_intf)
587600   MCFG_FLOPPY_DRIVE_ADD(WD2793_TAG":0", super6_floppies, "525dd", NULL, floppy_image_device::default_floppy_formats)
588601   MCFG_FLOPPY_DRIVE_ADD(WD2793_TAG":1", super6_floppies, NULL,   NULL, floppy_image_device::default_floppy_formats)
589   MCFG_SERIAL_TERMINAL_ADD(TERMINAL_TAG, terminal_intf, 19200)
590   MCFG_DEVICE_INPUT_DEFAULTS(terminal)
602   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232b_intf, default_rs232_devices, "serial_terminal", terminal)
603   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232a_intf, default_rs232_devices, NULL, NULL)
591604
592605   // internal ram
593606   MCFG_RAM_ADD(RAM_TAG)
trunk/src/mess/drivers/xor100.c
r22885r22886
380380
381381static const i8251_interface printer_8251_intf =
382382{
383   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, rx),
384   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx),
385   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dsr_r),
386   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w),
387   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w),
383388   DEVCB_NULL,
384389   DEVCB_NULL,
385390   DEVCB_NULL,
386   DEVCB_NULL,
387   DEVCB_NULL,
388   DEVCB_NULL,
389   DEVCB_NULL,
390   DEVCB_NULL,
391391   DEVCB_NULL
392392};
393393
r22885r22886
395395
396396static const i8251_interface terminal_8251_intf =
397397{
398   DEVCB_DEVICE_LINE_MEMBER(TERMINAL_TAG, serial_terminal_device, tx_r),
399   DEVCB_DEVICE_LINE_MEMBER(TERMINAL_TAG, serial_terminal_device, rx_w),
398   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, rx),
399   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx),
400   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dsr_r),
401   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w),
402   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w),
400403   DEVCB_NULL,
401404   DEVCB_NULL,
402405   DEVCB_NULL,
403   DEVCB_NULL,
404   DEVCB_NULL,
405   DEVCB_NULL,
406406   DEVCB_NULL
407407};
408408
r22885r22886
504504   }
505505}
506506
507/* Terminal Interface */
508507
508//-------------------------------------------------
509//  rs232_port_interface rs232a_intf
510//-------------------------------------------------
511
512static const rs232_port_interface rs232a_intf =
513{
514   DEVCB_NULL,
515   DEVCB_NULL,
516   DEVCB_NULL,
517   DEVCB_NULL,
518   DEVCB_NULL
519};
520
521
522//-------------------------------------------------
523//  rs232_port_interface rs232b_intf
524//-------------------------------------------------
525
509526static DEVICE_INPUT_DEFAULTS_START( terminal )
510527   DEVICE_INPUT_DEFAULTS( "TERM_FRAME", 0x0f, 0x06 ) // 9600
511528   DEVICE_INPUT_DEFAULTS( "TERM_FRAME", 0x30, 0x00 ) // 8N1
512529DEVICE_INPUT_DEFAULTS_END
513530
514static GENERIC_TERMINAL_INTERFACE( xor100_terminal_intf )
531static const rs232_port_interface rs232b_intf =
515532{
533   DEVCB_NULL,
534   DEVCB_NULL,
535   DEVCB_NULL,
536   DEVCB_NULL,
516537   DEVCB_NULL
517538};
518539
r22885r22886
590611   MCFG_FLOPPY_DRIVE_ADD(WD1795_TAG":1", xor100_floppies, "8ssdd", NULL, floppy_image_device::default_floppy_formats)
591612   MCFG_FLOPPY_DRIVE_ADD(WD1795_TAG":2", xor100_floppies, NULL,    NULL, floppy_image_device::default_floppy_formats)
592613   MCFG_FLOPPY_DRIVE_ADD(WD1795_TAG":3", xor100_floppies, NULL,    NULL, floppy_image_device::default_floppy_formats)
593
594614   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, xor100_centronics_intf)
595   MCFG_SERIAL_TERMINAL_ADD(TERMINAL_TAG, xor100_terminal_intf, 9600)
596   MCFG_DEVICE_INPUT_DEFAULTS(terminal)
615   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232a_intf, default_rs232_devices, NULL, NULL)
616   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232b_intf, default_rs232_devices, "serial_terminal", terminal)
597617
598618   // S-100
599619   MCFG_S100_BUS_ADD(Z80_TAG, s100_intf)
trunk/src/mess/drivers/softbox.c
r22885r22886
8888
8989static const i8251_interface usart_intf =
9090{
91   DEVCB_DEVICE_LINE_MEMBER(TERMINAL_TAG, serial_terminal_device, tx_r),
92   DEVCB_DEVICE_LINE_MEMBER(TERMINAL_TAG, serial_terminal_device, rx_w),
91   DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, rx),
92   DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, tx),
93   DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, dsr_r),
94   DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, dtr_w),
95   DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, rts_w),
9396   DEVCB_NULL,
9497   DEVCB_NULL,
9598   DEVCB_NULL,
96   DEVCB_NULL,
97   DEVCB_NULL,
98   DEVCB_NULL,
9999   DEVCB_NULL
100100};
101101
r22885r22886
265265
266266
267267//-------------------------------------------------
268//  serial_terminal_interface terminal_intf
268//  rs232_port_interface rs232_intf
269269//-------------------------------------------------
270270
271271static DEVICE_INPUT_DEFAULTS_START( terminal )
r22885r22886
273273   DEVICE_INPUT_DEFAULTS( "TERM_FRAME", 0x30, 0x10 ) // 7E1
274274DEVICE_INPUT_DEFAULTS_END
275275
276static const serial_terminal_interface terminal_intf =
276static const rs232_port_interface rs232_intf =
277277{
278   DEVCB_NULL,
279   DEVCB_NULL,
280   DEVCB_NULL,
281   DEVCB_NULL,
278282   DEVCB_NULL
279283};
280284
r22885r22886
300304   MCFG_I8255A_ADD(I8255_1_TAG, ppi1_intf)
301305   MCFG_COM8116_ADD(COM8116_TAG, XTAL_5_0688MHz, dbrg_intf)
302306   MCFG_CBM_IEEE488_ADD("c8050")
303   MCFG_SERIAL_TERMINAL_ADD(TERMINAL_TAG, terminal_intf, 9600)
304   MCFG_DEVICE_INPUT_DEFAULTS(terminal)
307   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, "serial_terminal", terminal)
305308
306309   // software lists
307310   //MCFG_SOFTWARE_LIST_ADD("flop_list", "softbox_flop")
trunk/src/mess/drivers/bullet.c
r22885r22886
769769{
770770   0, 0, 0, 0,
771771
772   DEVCB_DEVICE_LINE_MEMBER(TERMINAL_TAG, serial_terminal_device, tx_r),
773   DEVCB_DEVICE_LINE_MEMBER(TERMINAL_TAG, serial_terminal_device, rx_w),
774   DEVCB_NULL,
775   DEVCB_NULL,
772   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, rx),
773   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx),
774   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w),
775   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w),
776776   DEVCB_DRIVER_LINE_MEMBER(bullet_state, dartardy_w),
777777   DEVCB_NULL,
778778
779   DEVCB_LINE_VCC,
780   DEVCB_NULL,
781   DEVCB_NULL,
782   DEVCB_NULL,
779   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, rx),
780   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx),
781   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w),
782   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w),
783783   DEVCB_DRIVER_LINE_MEMBER(bullet_state, dartbrdy_w),
784784   DEVCB_NULL,
785785
r22885r22886
10851085
10861086
10871087//-------------------------------------------------
1088//  serial_terminal_interface terminal_intf
1088//  rs232_port_interface rs232a_intf
10891089//-------------------------------------------------
10901090
1091static serial_terminal_interface terminal_intf =
1091static DEVICE_INPUT_DEFAULTS_START( terminal )
1092   DEVICE_INPUT_DEFAULTS( "TERM_FRAME", 0x0f, 0x06 ) // 9600
1093   DEVICE_INPUT_DEFAULTS( "TERM_FRAME", 0x30, 0x00 ) // 8N1
1094DEVICE_INPUT_DEFAULTS_END
1095
1096static const rs232_port_interface rs232a_intf =
10921097{
1098   DEVCB_NULL,
1099   DEVCB_NULL,
1100   DEVCB_NULL,
1101   DEVCB_NULL,
10931102   DEVCB_NULL
10941103};
10951104
10961105
10971106//-------------------------------------------------
1107//  rs232_port_interface rs232b_intf
1108//-------------------------------------------------
1109
1110static const rs232_port_interface rs232b_intf =
1111{
1112   DEVCB_NULL,
1113   DEVCB_NULL,
1114   DEVCB_NULL,
1115   DEVCB_NULL,
1116   DEVCB_NULL
1117};
1118
1119
1120//-------------------------------------------------
10981121//  z80_daisy_config daisy_chain
10991122//-------------------------------------------------
11001123
r22885r22886
12501273   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":6", bullet_8_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
12511274   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":7", bullet_8_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
12521275   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
1253   MCFG_SERIAL_TERMINAL_ADD(TERMINAL_TAG, terminal_intf, 9600)
1276   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232b_intf, default_rs232_devices, "serial_terminal", terminal)
1277   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232a_intf, default_rs232_devices, NULL, NULL)
12541278
12551279   // software lists
12561280   MCFG_SOFTWARE_LIST_ADD("flop_list", "wmbullet")
r22885r22886
12901314   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":8", bullet_35_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
12911315   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":9", bullet_35_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
12921316   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
1293   MCFG_SERIAL_TERMINAL_ADD(TERMINAL_TAG, terminal_intf, 9600)
1317   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232b_intf, default_rs232_devices, "serial_terminal", terminal)
1318   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232a_intf, default_rs232_devices, NULL, NULL)
12941319
12951320   MCFG_SCSIBUS_ADD(SCSIBUS_TAG)
12961321   MCFG_SCSIDEV_ADD(SCSIBUS_TAG ":harddisk0", SCSIHD, SCSI_ID_0)
trunk/src/mess/drivers/ob68k1a.c
r22885r22886
215215   0,
216216   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, rx),
217217   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx),
218   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, cts_r),
218   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, cts_r),
219219   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w),
220   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dcd_r),
220   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dcd_r),
221221   DEVCB_NULL
222222};
223223

Previous 199869 Revisions Next


© 1997-2024 The MAME Team