summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/isa/cga.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/isa/cga.cpp')
-rw-r--r--src/devices/bus/isa/cga.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/devices/bus/isa/cga.cpp b/src/devices/bus/isa/cga.cpp
index 532cb06b3d1..c431772bcb9 100644
--- a/src/devices/bus/isa/cga.cpp
+++ b/src/devices/bus/isa/cga.cpp
@@ -692,7 +692,7 @@ MC6845_UPDATE_ROW( isa8_cga_device::cga_gfx_1bpp_update_row )
}
-WRITE_LINE_MEMBER( isa8_cga_device::hsync_changed )
+void isa8_cga_device::hsync_changed(int state)
{
m_hsync = state ? 1 : 0;
if(state && !m_vsync)
@@ -703,7 +703,7 @@ WRITE_LINE_MEMBER( isa8_cga_device::hsync_changed )
}
-WRITE_LINE_MEMBER( isa8_cga_device::vsync_changed )
+void isa8_cga_device::vsync_changed(int state)
{
if ( state )
{
@@ -1367,11 +1367,7 @@ void isa8_cga_pc1512_device::device_reset()
void isa8_wyse700_device::change_resolution(uint8_t mode)
{
int width = 0, height = 0;
- if (mode & 2) {
- machine().root_device().membank("bank_wy1")->set_base(&m_vram[0x10000]);
- } else {
- machine().root_device().membank("bank_wy1")->set_base(&m_vram[0x00000]);
- }
+ m_vrambank->set_entry((mode >> 1) & 1);
if ((m_control & 0xf0) == (mode & 0xf0)) return;
switch(mode & 0xf0) {
@@ -1441,7 +1437,7 @@ DEFINE_DEVICE_TYPE(ISA8_WYSE700, isa8_wyse700_device, "wyse700", "Wyse 700")
//-------------------------------------------------
isa8_wyse700_device::isa8_wyse700_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- isa8_cga_device(mconfig, ISA8_WYSE700, tag, owner, clock), m_bank_offset(0), m_bank_base(0), m_control(0)
+ isa8_cga_device(mconfig, ISA8_WYSE700, tag, owner, clock), m_vrambank(*this, "wy1"), m_bank_offset(0), m_bank_base(0), m_control(0)
{
m_vram_size = 0x20000;
m_start_offset = 0x18000;
@@ -1480,7 +1476,8 @@ void isa8_wyse700_device::device_start()
isa8_cga_device::device_start();
m_isa->install_device(0x3d0, 0x3df, read8sm_delegate(*this, FUNC(isa8_wyse700_device::io_read)), write8sm_delegate(*this, FUNC(isa8_wyse700_device::io_write)));
- m_isa->install_bank(0xa0000, 0xaffff, &m_vram[0x00000]);
+ m_vrambank->configure_entries(0, 2, m_vram.data(), 0x10000);
+ m_isa->install_bank(0xa0000, 0xaffff, m_vrambank);
m_isa->install_bank(0xb0000, 0xbffff, &m_vram[0x10000]);
}
@@ -1490,6 +1487,9 @@ void isa8_wyse700_device::device_reset()
m_control = 0;
m_bank_offset = 0;
m_bank_base = 0;
+ int width = 640, height = 400;
+ rectangle visarea(0, width-1, 0, height-1);
+ m_screen->configure(width, height, visarea, HZ_TO_ATTOSECONDS(60));
}
uint32_t isa8_wyse700_device::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)