summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/wicat.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/wicat.cpp')
-rw-r--r--src/mame/drivers/wicat.cpp48
1 files changed, 22 insertions, 26 deletions
diff --git a/src/mame/drivers/wicat.cpp b/src/mame/drivers/wicat.cpp
index f05116e50e3..aa344856ead 100644
--- a/src/mame/drivers/wicat.cpp
+++ b/src/mame/drivers/wicat.cpp
@@ -761,26 +761,24 @@ WRITE_LINE_MEMBER(wicat_state::crtc_cb)
I8275_DRAW_CHARACTER_MEMBER(wicat_state::wicat_display_pixels)
{
- uint8_t romdata = m_chargen->base()[(charcode << 4) | linecount];
+ uint8_t romdata = vsp ? 0 : m_chargen->base()[(charcode << 4) | linecount];
const pen_t *pen = m_palette->pens();
- for (int i = 0; i < 8; i++)
+ for (int i = 0; i < 10; i++)
{
- int color = (romdata >> (7-i)) & 0x01;
-
- if(vsp)
- color = 0;
+ int color = ((romdata & 0xc0) != 0) ^ rvv;
bitmap.pix32(y, x + i) = pen[color];
+ romdata <<= 1;
}
}
MACHINE_CONFIG_START(wicat_state::wicat)
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", M68000, XTAL(8'000'000))
+ MCFG_DEVICE_ADD("maincpu", M68000, 8_MHz_XTAL)
MCFG_DEVICE_PROGRAM_MAP(wicat_mem)
- MCFG_DEVICE_ADD("via", VIA6522, XTAL(8'000'000))
+ MCFG_DEVICE_ADD("via", VIA6522, 8_MHz_XTAL)
MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(*this, wicat_state, via_a_w))
MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(*this, wicat_state, via_b_w))
MCFG_VIA6522_IRQ_HANDLER(INPUTLINE("maincpu", M68K_IRQ_1))
@@ -790,41 +788,41 @@ MACHINE_CONFIG_START(wicat_state::wicat)
MCFG_MM58274C_DAY1(1) // monday
// internal terminal
- MCFG_DEVICE_ADD("uart0", MC2661, XTAL(5'068'800)) // connected to terminal board
+ MCFG_DEVICE_ADD("uart0", MC2661, 5.0688_MHz_XTAL) // connected to terminal board
MCFG_MC2661_TXD_HANDLER(WRITELINE("videouart0", mc2661_device, rx_w))
MCFG_MC2661_RXRDY_HANDLER(INPUTLINE("maincpu", M68K_IRQ_2))
MCFG_MC2661_RTS_HANDLER(WRITELINE("videouart0", mc2661_device, cts_w))
MCFG_MC2661_DTR_HANDLER(WRITELINE("videouart0", mc2661_device, dsr_w))
// RS232C ports (x5)
- MCFG_DEVICE_ADD("uart1", MC2661, XTAL(5'068'800))
+ MCFG_DEVICE_ADD("uart1", MC2661, 5.0688_MHz_XTAL)
MCFG_MC2661_TXD_HANDLER(WRITELINE("serial1", rs232_port_device, write_txd))
MCFG_MC2661_RXRDY_HANDLER(INPUTLINE("maincpu", M68K_IRQ_2))
MCFG_MC2661_RTS_HANDLER(WRITELINE("serial1", rs232_port_device, write_rts))
MCFG_MC2661_DTR_HANDLER(WRITELINE("serial1", rs232_port_device, write_dtr))
MCFG_MC2661_TXEMT_DSCHG_HANDLER(INPUTLINE("maincpu", M68K_IRQ_2))
- MCFG_DEVICE_ADD("uart2", MC2661, XTAL(5'068'800))
+ MCFG_DEVICE_ADD("uart2", MC2661, 5.0688_MHz_XTAL)
MCFG_MC2661_TXD_HANDLER(WRITELINE("serial2", rs232_port_device, write_txd))
MCFG_MC2661_RXRDY_HANDLER(INPUTLINE("maincpu", M68K_IRQ_2))
MCFG_MC2661_RTS_HANDLER(WRITELINE("serial2", rs232_port_device, write_rts))
MCFG_MC2661_DTR_HANDLER(WRITELINE("serial2", rs232_port_device, write_dtr))
- MCFG_DEVICE_ADD("uart3", MC2661, XTAL(5'068'800))
+ MCFG_DEVICE_ADD("uart3", MC2661, 5.0688_MHz_XTAL)
MCFG_MC2661_TXD_HANDLER(WRITELINE("serial3", rs232_port_device, write_txd))
MCFG_MC2661_RXRDY_HANDLER(INPUTLINE("maincpu", M68K_IRQ_2))
MCFG_MC2661_RTS_HANDLER(WRITELINE("serial3", rs232_port_device, write_rts))
MCFG_MC2661_DTR_HANDLER(WRITELINE("serial3", rs232_port_device, write_dtr))
MCFG_MC2661_TXEMT_DSCHG_HANDLER(INPUTLINE("maincpu", M68K_IRQ_2))
- MCFG_DEVICE_ADD("uart4", MC2661, XTAL(5'068'800))
+ MCFG_DEVICE_ADD("uart4", MC2661, 5.0688_MHz_XTAL)
MCFG_MC2661_TXD_HANDLER(WRITELINE("serial4", rs232_port_device, write_txd))
MCFG_MC2661_RXRDY_HANDLER(INPUTLINE("maincpu", M68K_IRQ_2))
MCFG_MC2661_RTS_HANDLER(WRITELINE("serial4", rs232_port_device, write_rts))
MCFG_MC2661_DTR_HANDLER(WRITELINE("serial4", rs232_port_device, write_dtr))
MCFG_MC2661_TXEMT_DSCHG_HANDLER(INPUTLINE("maincpu", M68K_IRQ_2))
- MCFG_DEVICE_ADD("uart5", MC2661, XTAL(5'068'800))
+ MCFG_DEVICE_ADD("uart5", MC2661, 5.0688_MHz_XTAL)
MCFG_MC2661_TXD_HANDLER(WRITELINE("serial5", rs232_port_device, write_txd))
MCFG_MC2661_RXRDY_HANDLER(INPUTLINE("maincpu", M68K_IRQ_2))
MCFG_MC2661_RTS_HANDLER(WRITELINE("serial5", rs232_port_device, write_rts))
@@ -832,7 +830,7 @@ MACHINE_CONFIG_START(wicat_state::wicat)
MCFG_MC2661_TXEMT_DSCHG_HANDLER(INPUTLINE("maincpu", M68K_IRQ_2))
// modem
- MCFG_DEVICE_ADD("uart6", MC2661, XTAL(5'068'800)) // connected to modem port
+ MCFG_DEVICE_ADD("uart6", MC2661, 5.0688_MHz_XTAL) // connected to modem port
MCFG_MC2661_RXRDY_HANDLER(INPUTLINE("maincpu", M68K_IRQ_2))
MCFG_MC2661_TXEMT_DSCHG_HANDLER(INPUTLINE("maincpu", M68K_IRQ_2))
@@ -877,11 +875,11 @@ MACHINE_CONFIG_START(wicat_state::wicat)
MCFG_ADDRESSABLE_LATCH_Q7_OUT_CB(OUTPUT("led6")) MCFG_DEVCB_INVERT
/* video hardware */
- MCFG_DEVICE_ADD("videocpu",Z8002,XTAL(8'000'000)/2) // AMD AMZ8002DC
+ MCFG_DEVICE_ADD("videocpu", Z8002, 8_MHz_XTAL/2) // AMD AMZ8002DC
MCFG_DEVICE_PROGRAM_MAP(wicat_video_mem)
MCFG_DEVICE_IO_MAP(wicat_video_io)
- MCFG_DEVICE_ADD("videodma", AM9517A, XTAL(8'000'000)) // clock is a bit of guess
+ MCFG_DEVICE_ADD("videodma", AM9517A, 8_MHz_XTAL) // clock is a bit of guess
MCFG_AM9517A_OUT_HREQ_CB(WRITELINE(*this, wicat_state, dma_hrq_w))
MCFG_AM9517A_OUT_EOP_CB(WRITELINE(*this, wicat_state, dma_nmi_cb))
MCFG_AM9517A_IN_MEMR_CB(READ8(*this, wicat_state, vram_r))
@@ -891,13 +889,13 @@ MACHINE_CONFIG_START(wicat_state::wicat)
MCFG_IM6402_DR_CALLBACK(WRITELINE(*this, wicat_state, kb_data_ready))
// terminal (2x INS2651, 1x IM6042 - one of these is for the keyboard, another communicates with the main board, the third is unknown)
- MCFG_DEVICE_ADD("videouart0", MC2661, XTAL(5'068'800)) // the INS2651 looks similar enough to the MC2661...
+ MCFG_DEVICE_ADD("videouart0", MC2661, 5.0688_MHz_XTAL) // the INS2651 looks similar enough to the MC2661...
MCFG_MC2661_TXD_HANDLER(WRITELINE("uart0", mc2661_device, rx_w))
MCFG_MC2661_RXRDY_HANDLER(INPUTLINE("videocpu", INPUT_LINE_IRQ0))
MCFG_MC2661_RTS_HANDLER(WRITELINE("uart0", mc2661_device, cts_w))
MCFG_MC2661_DTR_HANDLER(WRITELINE("uart0", mc2661_device, dsr_w))
- MCFG_DEVICE_ADD("videouart1", MC2661, XTAL(5'068'800))
+ MCFG_DEVICE_ADD("videouart1", MC2661, 5.0688_MHz_XTAL)
MCFG_MC2661_RXC(19200)
MCFG_MC2661_TXC(19200)
MCFG_MC2661_RXRDY_HANDLER(INPUTLINE("videocpu", INPUT_LINE_IRQ0))
@@ -905,15 +903,13 @@ MACHINE_CONFIG_START(wicat_state::wicat)
MCFG_X2210_ADD("vsram") // XD2210
MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
- MCFG_SCREEN_SIZE(720,300)
- MCFG_SCREEN_VISIBLE_AREA(0,720-1,0,300-1)
- MCFG_SCREEN_REFRESH_RATE(60)
+ MCFG_SCREEN_RAW_PARAMS(19.6608_MHz_XTAL, 1020, 0, 800, 324, 0, 300)
MCFG_SCREEN_UPDATE_DEVICE("video",i8275_device,screen_update)
MCFG_PALETTE_ADD_MONOCHROME("palette")
- MCFG_DEVICE_ADD("video", I8275, XTAL(19'660'800)/8)
- MCFG_I8275_CHARACTER_WIDTH(9)
+ MCFG_DEVICE_ADD("video", I8275, 19.6608_MHz_XTAL/10)
+ MCFG_I8275_CHARACTER_WIDTH(10)
MCFG_I8275_DRAW_CHARACTER_CALLBACK_OWNER(wicat_state, wicat_display_pixels)
MCFG_I8275_DRQ_CALLBACK(WRITELINE("videodma",am9517a_device, dreq0_w))
MCFG_I8275_IRQ_CALLBACK(WRITELINE(*this, wicat_state,crtc_cb))
@@ -922,10 +918,10 @@ MACHINE_CONFIG_START(wicat_state::wicat)
MCFG_DEFAULT_LAYOUT(layout_wicat)
/* Winchester Disk Controller (WD1000 + FD1795) */
- MCFG_DEVICE_ADD("wd1kcpu",N8X300,XTAL(8'000'000))
+ MCFG_DEVICE_ADD("wd1kcpu", N8X300, 8_MHz_XTAL)
MCFG_DEVICE_PROGRAM_MAP(wicat_wd1000_mem)
MCFG_DEVICE_IO_MAP(wicat_wd1000_io)
- MCFG_FD1795_ADD("fdc",XTAL(8'000'000))
+ MCFG_FD1795_ADD("fdc", 8_MHz_XTAL)
MCFG_FLOPPY_DRIVE_ADD("fdc:0", wicat_floppies, "525qd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_SOUND(true)
MCFG_FLOPPY_DRIVE_ADD("fdc:1", wicat_floppies, nullptr, floppy_image_device::default_floppy_formats)