mirror of
https://github.com/holub/mame
synced 2025-05-10 16:21:42 +03:00
qvt6800.cpp: CRTC and screen configuration (nw)
This commit is contained in:
parent
805074ccfe
commit
ba819fcf5a
@ -13,7 +13,8 @@ Skeleton driver for M6800-based display terminals by Qume.
|
|||||||
#include "machine/clock.h"
|
#include "machine/clock.h"
|
||||||
#include "machine/nvram.h"
|
#include "machine/nvram.h"
|
||||||
#include "machine/z80ctc.h"
|
#include "machine/z80ctc.h"
|
||||||
//#include "video/mc6845.h"
|
#include "video/mc6845.h"
|
||||||
|
#include "screen.h"
|
||||||
|
|
||||||
class qvt6800_state : public driver_device
|
class qvt6800_state : public driver_device
|
||||||
{
|
{
|
||||||
@ -24,17 +25,23 @@ public:
|
|||||||
, m_p_chargen(*this, "chargen")
|
, m_p_chargen(*this, "chargen")
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
|
MC6845_UPDATE_ROW(update_row);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
required_device<cpu_device> m_maincpu;
|
required_device<cpu_device> m_maincpu;
|
||||||
required_region_ptr<u8> m_p_chargen;
|
required_region_ptr<u8> m_p_chargen;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
MC6845_UPDATE_ROW(qvt6800_state::update_row)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
static ADDRESS_MAP_START( qvt102_mem_map, AS_PROGRAM, 8, qvt6800_state )
|
static ADDRESS_MAP_START( qvt102_mem_map, AS_PROGRAM, 8, qvt6800_state )
|
||||||
AM_RANGE(0x0000, 0x03ff) AM_RAM AM_SHARE("nvram")
|
AM_RANGE(0x0000, 0x03ff) AM_RAM AM_SHARE("nvram")
|
||||||
AM_RANGE(0x2800, 0x2803) AM_DEVWRITE("ctc", z80ctc_device, write)
|
AM_RANGE(0x2800, 0x2803) AM_DEVWRITE("ctc", z80ctc_device, write)
|
||||||
AM_RANGE(0x4000, 0x47ff) AM_RAM
|
AM_RANGE(0x4000, 0x47ff) AM_RAM
|
||||||
//AM_RANGE(0x8000, 0x8000) AM_DEVREADWRITE("crtc", mc6845_device, status_r, address_w)
|
AM_RANGE(0x8000, 0x8000) AM_DEVREADWRITE("crtc", mc6845_device, status_r, address_w)
|
||||||
//AM_RANGE(0x8001, 0x8001) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
|
AM_RANGE(0x8001, 0x8001) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
|
||||||
AM_RANGE(0x9800, 0x9801) AM_DEVREADWRITE("acia", acia6850_device, read, write)
|
AM_RANGE(0x9800, 0x9801) AM_DEVREADWRITE("acia", acia6850_device, read, write)
|
||||||
AM_RANGE(0xe000, 0xffff) AM_ROM AM_REGION("maincpu", 0)
|
AM_RANGE(0xe000, 0xffff) AM_ROM AM_REGION("maincpu", 0)
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
@ -43,8 +50,8 @@ static ADDRESS_MAP_START( qvt190_mem_map, AS_PROGRAM, 8, qvt6800_state )
|
|||||||
AM_RANGE(0x0000, 0x07ff) AM_RAM
|
AM_RANGE(0x0000, 0x07ff) AM_RAM
|
||||||
AM_RANGE(0x2500, 0x2501) AM_DEVREADWRITE("acia1", acia6850_device, read, write)
|
AM_RANGE(0x2500, 0x2501) AM_DEVREADWRITE("acia1", acia6850_device, read, write)
|
||||||
AM_RANGE(0x2600, 0x2601) AM_DEVREADWRITE("acia2", acia6850_device, read, write)
|
AM_RANGE(0x2600, 0x2601) AM_DEVREADWRITE("acia2", acia6850_device, read, write)
|
||||||
//AM_RANGE(0x2800, 0x2800) AM_DEVREADWRITE("crtc", mc6845_device, status_r, address_w)
|
AM_RANGE(0x2800, 0x2800) AM_DEVREADWRITE("crtc", mc6845_device, status_r, address_w)
|
||||||
//AM_RANGE(0x2801, 0x2801) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
|
AM_RANGE(0x2801, 0x2801) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
|
||||||
AM_RANGE(0x4000, 0x47ff) AM_RAM
|
AM_RANGE(0x4000, 0x47ff) AM_RAM
|
||||||
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0)
|
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0)
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
@ -70,16 +77,34 @@ static MACHINE_CONFIG_START( qvt102 )
|
|||||||
MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("ctc", z80ctc_device, trg0))
|
MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("ctc", z80ctc_device, trg0))
|
||||||
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("ctc", z80ctc_device, trg1))
|
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("ctc", z80ctc_device, trg1))
|
||||||
|
|
||||||
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
|
MCFG_SCREEN_RAW_PARAMS(XTAL_16_6698MHz, 882, 0, 720, 315, 0, 300)
|
||||||
|
MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
|
||||||
|
|
||||||
|
MCFG_DEVICE_ADD("crtc", MC6845, XTAL_16_6698MHz / 9)
|
||||||
|
MCFG_MC6845_CHAR_WIDTH(9)
|
||||||
|
MCFG_MC6845_UPDATE_ROW_CB(qvt6800_state, update_row)
|
||||||
|
MCFG_VIDEO_SET_SCREEN("screen")
|
||||||
|
|
||||||
MCFG_CPU_ADD("kbdmcu", I8748, XTAL_6MHz)
|
MCFG_CPU_ADD("kbdmcu", I8748, XTAL_6MHz)
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
static MACHINE_CONFIG_START( qvt190 )
|
static MACHINE_CONFIG_START( qvt190 )
|
||||||
MCFG_CPU_ADD("maincpu", M6800, 1'000'000)
|
MCFG_CPU_ADD("maincpu", M6800, XTAL_16_6698MHz / 9)
|
||||||
MCFG_CPU_PROGRAM_MAP(qvt190_mem_map)
|
MCFG_CPU_PROGRAM_MAP(qvt190_mem_map)
|
||||||
|
|
||||||
MCFG_DEVICE_ADD("acia1", ACIA6850, 0)
|
MCFG_DEVICE_ADD("acia1", ACIA6850, 0)
|
||||||
|
|
||||||
MCFG_DEVICE_ADD("acia2", ACIA6850, 0)
|
MCFG_DEVICE_ADD("acia2", ACIA6850, 0)
|
||||||
|
|
||||||
|
MCFG_SCREEN_ADD("screen", RASTER)
|
||||||
|
MCFG_SCREEN_RAW_PARAMS(XTAL_16_6698MHz, 882, 0, 720, 315, 0, 300)
|
||||||
|
MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update)
|
||||||
|
|
||||||
|
MCFG_DEVICE_ADD("crtc", MC6845, XTAL_16_6698MHz / 9)
|
||||||
|
MCFG_MC6845_CHAR_WIDTH(9)
|
||||||
|
MCFG_MC6845_UPDATE_ROW_CB(qvt6800_state, update_row)
|
||||||
|
MCFG_VIDEO_SET_SCREEN("screen")
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user