diff options
Diffstat (limited to 'src/mame/drivers/wicat.cpp')
-rw-r--r-- | src/mame/drivers/wicat.cpp | 48 |
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) |