summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/timetrv.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/timetrv.cpp')
-rw-r--r--src/mame/drivers/timetrv.cpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/mame/drivers/timetrv.cpp b/src/mame/drivers/timetrv.cpp
index ea41f6aa93d..172f8cf51ae 100644
--- a/src/mame/drivers/timetrv.cpp
+++ b/src/mame/drivers/timetrv.cpp
@@ -27,7 +27,9 @@ CPU is an Intel 80188
#include "emu.h"
#include "cpu/i86/i186.h"
+#include "machine/eeprompar.h"
#include "machine/i8255.h"
+#include "machine/ins8250.h"
#include "screen.h"
@@ -45,7 +47,6 @@ public:
DECLARE_READ8_MEMBER(test1_r);
DECLARE_READ8_MEMBER(test2_r);
DECLARE_READ8_MEMBER(in_r);
- DECLARE_READ8_MEMBER(ld_r);
virtual void video_start() override;
uint32_t screen_update_timetrv(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
@@ -81,14 +82,9 @@ READ8_MEMBER(timetrv_state::in_r)
return 0xff;
}
-READ8_MEMBER(timetrv_state::ld_r)
-{
- return machine().rand();
-}
-
static ADDRESS_MAP_START( timetrv_map, AS_PROGRAM, 8, timetrv_state )
AM_RANGE(0x00000, 0x0ffff) AM_RAM //irq vectors + work ram
- AM_RANGE(0x10000, 0x107ff) AM_RAM
+ AM_RANGE(0x10000, 0x107ff) AM_DEVREADWRITE("eeprom", eeprom_parallel_28xx_device, read, write)
AM_RANGE(0xc0000, 0xfffff) AM_ROM
ADDRESS_MAP_END
@@ -96,8 +92,7 @@ static ADDRESS_MAP_START( timetrv_io, AS_IO, 8, timetrv_state )
AM_RANGE(0x0122, 0x0123) AM_WRITENOP //eeprom write bits
AM_RANGE(0x1000, 0x1003) AM_DEVREADWRITE("ppi1", i8255_device, read, write)
AM_RANGE(0x1080, 0x1083) AM_DEVREADWRITE("ppi2", i8255_device, read, write)
- AM_RANGE(0x1100, 0x1105) AM_WRITENOP //laserdisc write area
- AM_RANGE(0x1100, 0x1105) AM_READ(ld_r) //5 -> laserdisc read status
+ AM_RANGE(0x1100, 0x1107) AM_DEVREADWRITE("uart", ins8250_device, ins8250_r, ins8250_w)
AM_RANGE(0x1180, 0x1187) AM_RAM AM_SHARE("led_vralo")//led string,part 1
AM_RANGE(0x1200, 0x1207) AM_RAM AM_SHARE("led_vrahi")//led string,part 2
AM_RANGE(0xff80, 0xffff) AM_RAM //am80188-em-like cpu internal regs?
@@ -146,6 +141,8 @@ MACHINE_CONFIG_START(timetrv_state::timetrv)
MCFG_CPU_IO_MAP(timetrv_io)
// interrupts are generated by internally-driven timers
+ MCFG_EEPROM_2816_ADD("eeprom")
+
MCFG_DEVICE_ADD("ppi1", I8255, 0)
MCFG_I8255_IN_PORTA_CB(READ8(timetrv_state, test1_r)) //inputs
MCFG_I8255_IN_PORTB_CB(READ8(timetrv_state, test2_r)) //eeprom read bit + inputs
@@ -155,6 +152,8 @@ MACHINE_CONFIG_START(timetrv_state::timetrv)
MCFG_I8255_IN_PORTB_CB(READ8(timetrv_state, in_r)) //dsw
MCFG_I8255_IN_PORTC_CB(READ8(timetrv_state, in_r)) //dsw
+ MCFG_DEVICE_ADD("uart", INS8250, 1843200) // serial interface for laserdisc
+
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)