micro3d: Add terminal to the DrMath board

This commit is contained in:
Dirk Best 2017-11-30 16:58:17 +01:00
parent 4f7e8703c8
commit 02ba6e2b99
3 changed files with 11 additions and 28 deletions

View File

@ -30,6 +30,7 @@
#include "cpu/m68000/m68000.h"
#include "cpu/mcs51/mcs51.h"
#include "bus/rs232/rs232.h"
#include "machine/z80scc.h"
#include "machine/adc0844.h"
#include "machine/mc68681.h"
#include "machine/mc68901.h"
@ -265,7 +266,7 @@ static ADDRESS_MAP_START( drmath_data, AS_DATA, 32, micro3d_state )
AM_RANGE(0x01400000, 0x01400003) AM_READWRITE(micro3d_pipe_r, micro3d_fifo_w)
AM_RANGE(0x01600000, 0x01600003) AM_WRITE(drmath_intr2_ack)
AM_RANGE(0x01800000, 0x01800003) AM_WRITE(micro3d_alt_fifo_w)
AM_RANGE(0x03fffff0, 0x03fffff7) AM_READWRITE(micro3d_scc_r, micro3d_scc_w)
AM_RANGE(0x03fffff0, 0x03fffff7) AM_DEVREADWRITE8("scc", z80scc_device, ba_cd_inv_r, ba_cd_inv_w, 0x000000ff)
ADDRESS_MAP_END
/*************************************
@ -313,6 +314,13 @@ static MACHINE_CONFIG_START( micro3d )
MCFG_CPU_PROGRAM_MAP(drmath_prg)
MCFG_CPU_DATA_MAP(drmath_data)
MCFG_SCC8530_ADD("scc", XTAL_32MHz / 2 / 2, 0, 0, 0, 0)
MCFG_Z80SCC_OUT_TXDB_CB(DEVWRITELINE("monitor_drmath", rs232_port_device, write_txd))
MCFG_RS232_PORT_ADD("monitor_drmath", default_rs232_devices, nullptr)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("scc", z80scc_device, rxb_w))
MCFG_RS232_DCD_HANDLER(DEVWRITELINE("scc", z80scc_device, dcdb_w)) MCFG_DEVCB_XOR(1)
MCFG_CPU_ADD("audiocpu", I8051, XTAL_11_0592MHz)
MCFG_CPU_PROGRAM_MAP(soundmem_prg)
MCFG_CPU_IO_MAP(soundmem_io)
@ -321,7 +329,7 @@ static MACHINE_CONFIG_START( micro3d )
MCFG_DEVICE_ADD("duart", MC68681, XTAL_3_6864MHz)
MCFG_MC68681_IRQ_CALLBACK(WRITELINE(micro3d_state, duart_irq_handler))
MCFG_MC68681_A_TX_CALLBACK(DEVWRITELINE("monitor", rs232_port_device, write_txd))
MCFG_MC68681_A_TX_CALLBACK(DEVWRITELINE("monitor_host", rs232_port_device, write_txd))
MCFG_MC68681_B_TX_CALLBACK(WRITELINE(micro3d_state, duart_txb))
MCFG_MC68681_INPORT_CALLBACK(READ8(micro3d_state, duart_input_r))
MCFG_MC68681_OUTPORT_CALLBACK(WRITE8(micro3d_state, duart_output_w))
@ -346,7 +354,7 @@ static MACHINE_CONFIG_START( micro3d )
MCFG_SCREEN_UPDATE_DEVICE("vgb", tms34010_device, tms340x0_ind16)
MCFG_SCREEN_PALETTE("palette")
MCFG_RS232_PORT_ADD("monitor", default_rs232_devices, nullptr)
MCFG_RS232_PORT_ADD("monitor_host", default_rs232_devices, nullptr)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("duart", mc68681_device, rx_a_w))
MCFG_ADC0844_ADD("adc")

View File

@ -134,8 +134,6 @@ public:
DECLARE_WRITE16_MEMBER(micro3d_ti_uart_w);
DECLARE_READ16_MEMBER(micro3d_ti_uart_r);
DECLARE_WRITE32_MEMBER(micro3d_scc_w);
DECLARE_READ32_MEMBER(micro3d_scc_r);
DECLARE_WRITE32_MEMBER(micro3d_mac1_w);
DECLARE_READ32_MEMBER(micro3d_mac2_r);
DECLARE_WRITE32_MEMBER(micro3d_mac2_w);

View File

@ -186,29 +186,6 @@ READ16_MEMBER(micro3d_state::micro3d_ti_uart_r)
}
/*************************************
*
* Z8530 SCC (Am29000)
*
*************************************/
WRITE32_MEMBER(micro3d_state::micro3d_scc_w)
{
#if DRMATH_MONITOR_DISPLAY
if (offset == 1)
osd_printf_debug("%c", data);
#endif
}
READ32_MEMBER(micro3d_state::micro3d_scc_r)
{
if (offset == 1)
return 0xd;
else
return 5;
}
/*************************************
*