microterm.cpp: Screen configuration (nw) (touches xtal.h, alas)

This commit is contained in:
AJR 2018-01-17 00:49:44 -05:00
parent cdfafd5136
commit 91ea7b5174
2 changed files with 22 additions and 10 deletions

View File

@ -119,6 +119,7 @@ enum
XTAL_9_828MHz = 9828000, /* Universal PCBs */
XTAL_9_832MHz = 9832000, /* Robotron A7150 */
XTAL_9_8304MHz = 9830400, /* Epson PX-8 */
XTAL_9_87768MHz = 9877680, /* Microterm 420 */
XTAL_9_987MHz = 9987000, /* Crazy Balloon */
XTAL_10MHz = 10000000,
XTAL_10_245MHz = 10245000, /* PES Speech box */
@ -198,7 +199,7 @@ enum
XTAL_17_9712MHz = 17971200,
XTAL_18MHz = 18000000, /* S.A.R, Ikari Warriors 3 */
XTAL_18_432MHz = 18432000, /* Extremely common, used on 100's of PCBs (48000 * 384) */
XTAL_18_575MHz = 18575000, /* Visual 102 */
XTAL_18_575MHz = 18575000, /* Visual 102, Visual 220 */
XTAL_18_720MHz = 18720000, /* Nokia MikroMikko 1 */
XTAL_18_8696MHz = 18869600, /* Memorex 2178 */
XTAL_19_3396MHz = 19339600, /* TeleVideo TVI-955 80-column display clock */
@ -248,6 +249,7 @@ enum
XTAL_27MHz = 27000000, /* Some Banpresto games macrossp, Irem M92 and 90's Toaplan games */
XTAL_27_164MHz = 27164000, /* Typically used on 90's Taito PCBs to drive the custom chips */
XTAL_27_2109MHz = 27210900, /* LA Girl */
XTAL_27_562MHz = 27562000, /* Visual 220 */
XTAL_28MHz = 28000000,
XTAL_28_322MHz = 28322000, /* Saitek RISC 2500, Mephisto Montreux */
XTAL_28_37516MHz = 28375160, /* Amiga PAL systems */

View File

@ -23,6 +23,8 @@ public:
, m_p_chargen(*this, "chargen")
{ }
u32 mt5510_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_READ8_MEMBER(c000_r);
SCN2674_DRAW_CHARACTER_MEMBER(draw_character);
@ -31,6 +33,11 @@ private:
optional_region_ptr<u8> m_p_chargen;
};
u32 microterm_state::mt5510_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
return 0;
}
READ8_MEMBER(microterm_state::c000_r)
{
return machine().rand() & 0x80;
@ -48,7 +55,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( mt420_io_map, AS_IO, 8, microterm_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0xe0, 0xef) AM_DEVREADWRITE("duart", scn2681_device, read, write)
AM_RANGE(0xf0, 0xf3) AM_DEVREADWRITE("asci", mc2661_device, read, write)
AM_RANGE(0xf0, 0xf3) AM_DEVREADWRITE("aci", mc2661_device, read, write)
ADDRESS_MAP_END
SCN2674_DRAW_CHARACTER_MEMBER(microterm_state::draw_character)
@ -84,21 +91,20 @@ static MACHINE_CONFIG_START( mt420 )
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("eeprom", eeprom_serial_93cxx_device, cs_write)) MCFG_DEVCB_BIT(4)
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("eeprom", eeprom_serial_93cxx_device, clk_write)) MCFG_DEVCB_BIT(3)
MCFG_DEVICE_ADD("asci", MC2661, XTAL_3_6864MHz) // SCN2641
MCFG_DEVICE_ADD("aci", MC2661, XTAL_3_6864MHz) // SCN2641
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_EEPROM_SERIAL_DO_CALLBACK(DEVWRITELINE("duart", scn2681_device, ip6_w))
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(720, 360)
MCFG_SCREEN_VISIBLE_AREA(0, 720-1, 0, 360-1)
MCFG_SCREEN_RAW_PARAMS(XTAL_9_87768MHz, 612, 0, 480, 269, 0, 250)
//MCFG_SCREEN_RAW_PARAMS(XTAL_15_30072MHz, 948, 0, 792, 269, 0, 250)
MCFG_SCREEN_UPDATE_DEVICE("avdc", scn2674_device, screen_update)
MCFG_DEVICE_ADD("avdc", SCN2674, 4000000)
MCFG_SCN2674_TEXT_CHARACTER_WIDTH(8)
MCFG_SCN2674_GFX_CHARACTER_WIDTH(8)
MCFG_DEVICE_ADD("avdc", SCN2674, XTAL_9_87768MHz / 6)
//MCFG_DEVICE_CLOCK(XTAL_15_30072MHz / 6)
MCFG_SCN2674_TEXT_CHARACTER_WIDTH(6)
MCFG_SCN2674_GFX_CHARACTER_WIDTH(6)
MCFG_SCN2674_DRAW_CHARACTER_CALLBACK_OWNER(microterm_state, draw_character)
MCFG_DEVICE_ADDRESS_MAP(0, mt420_vram_map)
MCFG_VIDEO_SET_SCREEN("screen")
@ -123,6 +129,10 @@ static MACHINE_CONFIG_START( mt5510 )
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom2")
MCFG_EEPROM_SERIAL_DO_CALLBACK(DEVWRITELINE("duart", scn2681_device, ip5_w))
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_45_8304MHz / 2, 1120, 0, 960, 341, 0, 300) // wild guess at resolution
MCFG_SCREEN_UPDATE_DRIVER(microterm_state, mt5510_update)
MACHINE_CONFIG_END