1
#include "includes/pc8401a.h"
6
static PALETTE_INIT( pc8401a )
8
palette_set_color(machine, 0, MAKE_RGB(39, 108, 51));
9
palette_set_color(machine, 1, MAKE_RGB(16, 37, 84));
12
void pc8401a_state::video_start()
16
bool pc8401a_state::screen_update(screen_device &screen, bitmap_t &bitmap, const rectangle &cliprect)
18
m_lcdc->update_screen(&bitmap, &cliprect);
25
void pc8500_state::video_start()
29
bool pc8500_state::screen_update(screen_device &screen, bitmap_t &bitmap, const rectangle &cliprect)
31
m_lcdc->update_screen(&bitmap, &cliprect);
34
if (strcmp(screen.tag(), SCREEN_TAG) == 0)
36
sed1330_update(m_lcdc, &bitmap, &cliprect);
40
m_crtc->update(&bitmap, &cliprect);
47
/* SED1330 Interface */
49
static ADDRESS_MAP_START( pc8401a_lcdc, AS_0, 8, pc8401a_state )
50
ADDRESS_MAP_GLOBAL_MASK(0x1fff)
51
AM_RANGE(0x0000, 0x1fff) AM_RAM
54
static ADDRESS_MAP_START( pc8500_lcdc, AS_0, 8, pc8401a_state )
55
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
56
AM_RANGE(0x0000, 0x3fff) AM_RAM
59
/* MC6845 Interface */
61
static MC6845_UPDATE_ROW( pc8441a_update_row )
65
static const mc6845_interface pc8441a_mc6845_interface =
81
MACHINE_CONFIG_FRAGMENT( pc8401a_video )
82
// MCFG_DEFAULT_LAYOUT(layout_pc8401a)
84
MCFG_PALETTE_LENGTH(2)
85
MCFG_PALETTE_INIT(pc8401a)
88
MCFG_SCREEN_ADD(SCREEN_TAG, LCD)
89
MCFG_SCREEN_REFRESH_RATE(44)
90
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
91
MCFG_SCREEN_SIZE(480, 128)
92
MCFG_SCREEN_VISIBLE_AREA(0, 480-1, 0, 128-1)
94
MCFG_SED1330_ADD(SED1330_TAG, 0, SCREEN_TAG, pc8401a_lcdc)
97
MACHINE_CONFIG_FRAGMENT( pc8500_video )
98
MCFG_DEFAULT_LAYOUT(layout_pc8500)
100
MCFG_PALETTE_LENGTH(2+8)
101
MCFG_PALETTE_INIT(pc8401a)
104
MCFG_SCREEN_ADD(SCREEN_TAG, LCD)
105
MCFG_SCREEN_REFRESH_RATE(44)
106
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
107
MCFG_SCREEN_SIZE(480, 208)
108
MCFG_SCREEN_VISIBLE_AREA(0, 480-1, 0, 200-1)
110
MCFG_SED1330_ADD(SED1330_TAG, 0, SCREEN_TAG, pc8500_lcdc)
113
MCFG_SCREEN_ADD(CRT_SCREEN_TAG, RASTER)
114
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
115
MCFG_SCREEN_SIZE(80*8, 24*8)
116
MCFG_SCREEN_VISIBLE_AREA(0, 80*8-1, 0, 24*8-1)
117
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
118
MCFG_SCREEN_REFRESH_RATE(50)
120
MCFG_MC6845_ADD(MC6845_TAG, MC6845, 400000, pc8441a_mc6845_interface)