mirror of
https://github.com/holub/mame
synced 2025-05-09 15:51:48 +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/nvram.h"
|
||||
#include "machine/z80ctc.h"
|
||||
//#include "video/mc6845.h"
|
||||
#include "video/mc6845.h"
|
||||
#include "screen.h"
|
||||
|
||||
class qvt6800_state : public driver_device
|
||||
{
|
||||
@ -24,17 +25,23 @@ public:
|
||||
, m_p_chargen(*this, "chargen")
|
||||
{ }
|
||||
|
||||
MC6845_UPDATE_ROW(update_row);
|
||||
|
||||
private:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
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 )
|
||||
AM_RANGE(0x0000, 0x03ff) AM_RAM AM_SHARE("nvram")
|
||||
AM_RANGE(0x2800, 0x2803) AM_DEVWRITE("ctc", z80ctc_device, write)
|
||||
AM_RANGE(0x4000, 0x47ff) AM_RAM
|
||||
//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(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(0x9800, 0x9801) AM_DEVREADWRITE("acia", acia6850_device, read, write)
|
||||
AM_RANGE(0xe000, 0xffff) AM_ROM AM_REGION("maincpu", 0)
|
||||
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(0x2500, 0x2501) AM_DEVREADWRITE("acia1", 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(0x2801, 0x2801) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_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(0x4000, 0x47ff) AM_RAM
|
||||
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0)
|
||||
ADDRESS_MAP_END
|
||||
@ -70,16 +77,34 @@ static MACHINE_CONFIG_START( qvt102 )
|
||||
MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("ctc", z80ctc_device, trg0))
|
||||
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)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
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_DEVICE_ADD("acia1", 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
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user