From b1ff333c7366ff7525a4b88f863d8a5f90323b56 Mon Sep 17 00:00:00 2001 From: Sergey Svishchev Date: Sat, 29 Mar 2014 23:33:47 +0400 Subject: ec184x: MDA clone --- src/emu/bus/isa/mda.c | 231 +++++++++++++++++++++++++++++++++++++++++++++- src/emu/bus/isa/mda.h | 30 ++++++ src/mess/drivers/ec184x.c | 2 - 3 files changed, 260 insertions(+), 3 deletions(-) diff --git a/src/emu/bus/isa/mda.c b/src/emu/bus/isa/mda.c index f15451b07c3..eb93ab93a75 100644 --- a/src/emu/bus/isa/mda.c +++ b/src/emu/bus/isa/mda.c @@ -44,7 +44,9 @@ enum { MDA_TEXT_INTEN = 0, MDA_TEXT_BLINK, - HERCULES_GFX_BLINK + HERCULES_GFX_BLINK, + MDA_LOWRES_TEXT_INTEN, + MDA_LOWRES_TEXT_BLINK }; /* F4 Character Displayer */ @@ -750,3 +752,230 @@ READ8_MEMBER( isa8_hercules_device::io_read ) } return data; } + +// XXX +MACHINE_CONFIG_FRAGMENT( pcvideo_ec1840_0002 ) + MCFG_SCREEN_ADD( MDA_SCREEN_NAME, RASTER) + MCFG_SCREEN_RAW_PARAMS(MDA_CLOCK, 792, 0, 640, 370, 0, 350 ) + MCFG_SCREEN_UPDATE_DEVICE( MDA_MC6845_NAME, mc6845_device, screen_update ) + + MCFG_PALETTE_ADD( "palette", 4 ) + + MCFG_MC6845_ADD( MDA_MC6845_NAME, MC6845, MDA_SCREEN_NAME, MDA_CLOCK/8) + MCFG_MC6845_SHOW_BORDER_AREA(false) + MCFG_MC6845_CHAR_WIDTH(8) + MCFG_MC6845_UPDATE_ROW_CB(isa8_mda_device, crtc_update_row) + MCFG_MC6845_OUT_HSYNC_CB(WRITELINE(isa8_mda_device, hsync_changed)) + MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(isa8_mda_device, vsync_changed)) +MACHINE_CONFIG_END + +const device_type ISA8_EC1840_0002 = &device_creator; + + +//------------------------------------------------- +// machine_config_additions - device-specific +// machine configurations +//------------------------------------------------- + +machine_config_constructor isa8_ec1840_0002_device::device_mconfig_additions() const +{ + return MACHINE_CONFIG_NAME( pcvideo_ec1840_0002 ); +} + +//------------------------------------------------- +// isa8_ec1840_0002_device - constructor +//------------------------------------------------- + +isa8_ec1840_0002_device::isa8_ec1840_0002_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : + isa8_mda_device( mconfig, ISA8_EC1840_0002, "EC 1840.0002 (MDA)", tag, owner, clock, "ec1840_0002", __FILE__) +{ +} + +//------------------------------------------------- +// device_start - device-specific startup +//------------------------------------------------- + +void isa8_ec1840_0002_device::device_start() +{ + isa8_mda_device::device_start(); + + m_soft_chr_gen = auto_alloc_array(machine(), UINT8, 0x2000); + m_isa->install_bank(0xdc000, 0xddfff, 0, 0x2000, "bank_chargen", m_soft_chr_gen); +} + +void isa8_ec1840_0002_device::device_reset() +{ + isa8_mda_device::device_reset(); + + m_chr_gen = m_soft_chr_gen; +} + + +/*************************************************************************** + Draw text mode with 80x25 characters (default) and intense background. + The character cell size is 8x14. +***************************************************************************/ + +MC6845_UPDATE_ROW( isa8_ec1840_0002_device::mda_lowres_text_inten_update_row ) +{ + const rgb_t *palette = m_palette->palette()->entry_list_raw(); + UINT32 *p = &bitmap.pix32(y); + UINT16 chr_base = ra; + int i; + + if ( y == 0 ) MDA_LOG(1,"mda_lowres_text_inten_update_row",("\n")); + for ( i = 0; i < x_count; i++ ) + { + UINT16 offset = ( ( ma + i ) << 1 ) & 0x0FFF; + UINT8 chr = m_videoram[ offset ]; + UINT8 attr = m_videoram[ offset + 1 ]; + UINT8 data = m_chr_gen[ (chr_base + chr * 16) << 1 ]; + UINT8 fg = ( attr & 0x08 ) ? 3 : 2; + UINT8 bg = 0; + + if ( ( attr & ~0x88 ) == 0 ) + { + data = 0x00; + } + + switch( attr ) + { + case 0x70: + bg = 2; + fg = 0; + break; + case 0x78: + bg = 2; + fg = 1; + break; + case 0xF0: + bg = 3; + fg = 0; + break; + case 0xF8: + bg = 3; + fg = 1; + break; + } + + if ( ( i == cursor_x && ( m_framecnt & 0x08 ) ) || ( attr & 0x07 ) == 0x01 ) + { + data = 0xFF; + } + + *p = palette[( data & 0x80 ) ? fg : bg]; p++; + *p = palette[( data & 0x40 ) ? fg : bg]; p++; + *p = palette[( data & 0x20 ) ? fg : bg]; p++; + *p = palette[( data & 0x10 ) ? fg : bg]; p++; + *p = palette[( data & 0x08 ) ? fg : bg]; p++; + *p = palette[( data & 0x04 ) ? fg : bg]; p++; + *p = palette[( data & 0x02 ) ? fg : bg]; p++; + *p = palette[( data & 0x01 ) ? fg : bg]; p++; + } +} + + +/*************************************************************************** + Draw text mode with 80x25 characters (default) and blinking characters. + The character cell size is 8x14. +***************************************************************************/ + +MC6845_UPDATE_ROW( isa8_ec1840_0002_device::mda_lowres_text_blink_update_row ) +{ + const rgb_t *palette = m_palette->palette()->entry_list_raw(); + UINT32 *p = &bitmap.pix32(y); + UINT16 chr_base = ra; + int i; + + if ( y == 0 ) MDA_LOG(1,"mda_lowres_text_blink_update_row",("\n")); + for ( i = 0; i < x_count; i++ ) + { + UINT16 offset = ( ( ma + i ) << 1 ) & 0x0FFF; + UINT8 chr = m_videoram[ offset ]; + UINT8 attr = m_videoram[ offset + 1 ]; + UINT8 data = m_chr_gen[ (chr_base + chr * 16) << 1 ]; + UINT8 fg = ( attr & 0x08 ) ? 3 : 2; + UINT8 bg = 0; + + if ( ( attr & ~0x88 ) == 0 ) + { + data = 0x00; + } + + switch( attr ) + { + case 0x70: + case 0xF0: + bg = 2; + fg = 0; + break; + case 0x78: + case 0xF8: + bg = 2; + fg = 1; + break; + } + + if ( ( attr & 0x07 ) == 0x01 ) + { + data = 0xFF; + } + + if ( i == cursor_x ) + { + if ( m_framecnt & 0x08 ) + { + data = 0xFF; + } + } + else + { + if ( ( attr & 0x80 ) && ( m_framecnt & 0x10 ) ) + { + data = 0x00; + } + } + + *p = palette[( data & 0x80 ) ? fg : bg]; p++; + *p = palette[( data & 0x40 ) ? fg : bg]; p++; + *p = palette[( data & 0x20 ) ? fg : bg]; p++; + *p = palette[( data & 0x10 ) ? fg : bg]; p++; + *p = palette[( data & 0x08 ) ? fg : bg]; p++; + *p = palette[( data & 0x04 ) ? fg : bg]; p++; + *p = palette[( data & 0x02 ) ? fg : bg]; p++; + *p = palette[( data & 0x01 ) ? fg : bg]; p++; + } +} + +WRITE8_MEMBER( isa8_ec1840_0002_device::mode_control_w ) +{ + m_mode_control = data; + + switch( m_mode_control & 0x2a ) + { + case 0x08: + m_update_row_type = MDA_LOWRES_TEXT_INTEN; + break; + case 0x28: + m_update_row_type = MDA_LOWRES_TEXT_BLINK; + break; + default: + m_update_row_type = -1; + } +} + +MC6845_UPDATE_ROW( isa8_ec1840_0002_device::crtc_update_row ) +{ + if (m_update_row_type == -1) + return; + + switch (m_update_row_type) + { + case MDA_LOWRES_TEXT_INTEN: + mda_lowres_text_inten_update_row(bitmap, cliprect, ma, ra, y, x_count, cursor_x, de, hbp, vbp); + break; + case MDA_LOWRES_TEXT_BLINK: + mda_lowres_text_blink_update_row(bitmap, cliprect, ma, ra, y, x_count, cursor_x, de, hbp, vbp); + break; + } +} diff --git a/src/emu/bus/isa/mda.h b/src/emu/bus/isa/mda.h index 71db33dc557..1c7a1fb37bc 100644 --- a/src/emu/bus/isa/mda.h +++ b/src/emu/bus/isa/mda.h @@ -97,4 +97,34 @@ public: // device type definition extern const device_type ISA8_HERCULES; +// ======================> isa8_ec1840_0002_device + +class isa8_ec1840_0002_device : + public isa8_mda_device +{ +public: + // construction/destruction + isa8_ec1840_0002_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + // optional information overrides + virtual machine_config_constructor device_mconfig_additions() const; + + virtual DECLARE_WRITE8_MEMBER(mode_control_w); + + virtual MC6845_UPDATE_ROW( crtc_update_row ); + MC6845_UPDATE_ROW( mda_lowres_text_inten_update_row ); + MC6845_UPDATE_ROW( mda_lowres_text_blink_update_row ); + +protected: + // device-level overrides + virtual void device_start(); + virtual void device_reset(); + +public: + UINT8 *m_soft_chr_gen; + +}; + +// device type definition +extern const device_type ISA8_EC1840_0002; + #endif /* __ISA_MDA_H__ */ diff --git a/src/mess/drivers/ec184x.c b/src/mess/drivers/ec184x.c index 019444771f8..3248c8bceb0 100644 --- a/src/mess/drivers/ec184x.c +++ b/src/mess/drivers/ec184x.c @@ -8,7 +8,6 @@ - memory bank size is smaller (128K) TODO (ec1841) - - add chargen upload support for MDA - hard disk is connected but requires changes to isa_hdc.c ***************************************************************************/ @@ -178,7 +177,6 @@ static ADDRESS_MAP_START( ec1841_map, AS_PROGRAM, 16, ec184x_state ) AM_RANGE(0xa0000, 0xbffff) AM_NOP AM_RANGE(0xc0000, 0xc7fff) AM_ROM AM_RANGE(0xc8000, 0xcffff) AM_ROM - AM_RANGE(0xdc000, 0xdffff) AM_RAM // monochrome chargen AM_RANGE(0xf0000, 0xfffff) AM_ROM ADDRESS_MAP_END -- cgit v1.2.3 From 6ef43ba25d18e6b84eb921400d1ba57098016b3c Mon Sep 17 00:00:00 2001 From: Sergey Svishchev Date: Sun, 30 Mar 2014 00:20:03 +0400 Subject: iskr103x: CGA clone --- src/emu/bus/isa/cga.c | 62 +++++++++++++++++++++++++++++++++++++-------- src/emu/bus/isa/cga.h | 30 ++++++++++++++++++++-- src/mess/drivers/iskr103x.c | 6 ----- 3 files changed, 80 insertions(+), 18 deletions(-) diff --git a/src/emu/bus/isa/cga.c b/src/emu/bus/isa/cga.c index 0487f05753c..8e545116601 100644 --- a/src/emu/bus/isa/cga.c +++ b/src/emu/bus/isa/cga.c @@ -1750,16 +1750,6 @@ void isa8_ec1841_0002_device::device_reset() m_p3df = 0; } -ROM_START( iskr1031 ) - ROM_REGION(0x2000,"gfx1", 0) - ROM_LOAD( "iskra-1031_font.bin", 0x0000, 0x2000, CRC(f4d62e80) SHA1(ad7e81a0c9abc224671422bbcf6f6262da92b510)) -ROM_END - -const rom_entry *isa8_ec1841_0002_device::device_rom_region() const -{ - return ROM_NAME( iskr1031 ); -} - WRITE8_MEMBER( isa8_ec1841_0002_device::char_ram_write ) { offset ^= BIT(offset, 12); @@ -1827,6 +1817,58 @@ isa8_cga_mc1502_device::isa8_cga_mc1502_device(const machine_config &mconfig, co } +ROM_START( cga_iskr1031 ) + ROM_REGION(0x2000,"gfx1", 0) + ROM_LOAD( "iskra-1031_font.bin", 0x0000, 0x2000, CRC(f4d62e80) SHA1(ad7e81a0c9abc224671422bbcf6f6262da92b510)) +ROM_END + +//------------------------------------------------- +// rom_region - device-specific ROM region +//------------------------------------------------- + +const rom_entry *isa8_cga_iskr1031_device::device_rom_region() const +{ + return ROM_NAME( cga_iskr1031 ); +} + +const device_type ISA8_CGA_ISKR1031 = &device_creator; + +//------------------------------------------------- +// isa8_cga_iskr1031_device - constructor +//------------------------------------------------- + +isa8_cga_iskr1031_device::isa8_cga_iskr1031_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : + isa8_cga_device( mconfig, ISA8_CGA_ISKR1031, "Iskra-1031 CGA", tag, owner, clock, "cga_iskr1031", __FILE__) +{ +} + +ROM_START( cga_iskr1030m ) + ROM_REGION(0x2000,"gfx1", 0) + ROM_LOAD( "iskra-1030m.chr", 0x0000, 0x2000, CRC(50b162eb) SHA1(5bd7cb1705a69bd16115a4c9ed1c2748a5c8ad51)) +ROM_END + +//------------------------------------------------- +// rom_region - device-specific ROM region +//------------------------------------------------- + +const rom_entry *isa8_cga_iskr1030m_device::device_rom_region() const +{ + return ROM_NAME( cga_iskr1030m ); +} + +const device_type ISA8_CGA_ISKR1030M = &device_creator; + +//------------------------------------------------- +// isa8_cga_iskr1030m_device - constructor +//------------------------------------------------- + +isa8_cga_iskr1030m_device::isa8_cga_iskr1030m_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : + isa8_cga_device( mconfig, ISA8_CGA_ISKR1030M, "Iskra-1030M CGA", tag, owner, clock, "cga_iskr1030m", __FILE__) +{ +} + +// XXX + ROM_START( mc1502 ) ROM_REGION(0x2000,"gfx1", 0) // taken from mc1502 diff --git a/src/emu/bus/isa/cga.h b/src/emu/bus/isa/cga.h index 4e088fd1b37..068a04b1773 100644 --- a/src/emu/bus/isa/cga.h +++ b/src/emu/bus/isa/cga.h @@ -198,8 +198,6 @@ class isa8_ec1841_0002_device : public: // construction/destruction isa8_ec1841_0002_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); - // optional information overrides - virtual const rom_entry *device_rom_region() const; protected: // device-level overrides @@ -218,6 +216,34 @@ public: // device type definition extern const device_type ISA8_EC1841_0002; +// ======================> isa8_cga_iskr1031_device + +class isa8_cga_iskr1030m_device : + public isa8_cga_device +{ +public: + // construction/destruction + isa8_cga_iskr1030m_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + virtual const rom_entry *device_rom_region() const; +}; + +// device type definition +extern const device_type ISA8_CGA_ISKR1030M; + +// ======================> isa8_cga_iskr1031_device + +class isa8_cga_iskr1031_device : + public isa8_cga_device +{ +public: + // construction/destruction + isa8_cga_iskr1031_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + virtual const rom_entry *device_rom_region() const; +}; + +// device type definition +extern const device_type ISA8_CGA_ISKR1031; + // ======================> isa8_cga_mc1502_device class isa8_cga_mc1502_device : diff --git a/src/mess/drivers/iskr103x.c b/src/mess/drivers/iskr103x.c index 017b57cf5e3..4b8f55fd704 100644 --- a/src/mess/drivers/iskr103x.c +++ b/src/mess/drivers/iskr103x.c @@ -120,9 +120,6 @@ ROM_START( iskr1030m ) ROM_REGION16_LE(0x100000,"maincpu", 0) ROMX_LOAD( "iskra-1030m_0.rom", 0xfc000, 0x2000, CRC(0d698e19) SHA1(2fe117c9f4f8c4b59085d5a41f919d743c425fdd), ROM_SKIP(1)) ROMX_LOAD( "iskra-1030m_1.rom", 0xfc001, 0x2000, CRC(fe808337) SHA1(b0b7ebe14324ada8aa9a6926a82b18e80f78a257), ROM_SKIP(1)) - - ROM_REGION(0x2000,"gfx1", 0) - ROM_LOAD( "iskra-1030m.chr", 0x0000, 0x2000, CRC(50b162eb) SHA1(5bd7cb1705a69bd16115a4c9ed1c2748a5c8ad51)) ROM_END ROM_START( iskr1031 ) @@ -133,9 +130,6 @@ ROM_START( iskr1031 ) ROM_SYSTEM_BIOS(1, "v2", "v2") ROMX_LOAD( "150-06.bin", 0xfc000, 0x2000, CRC(1adbf969) SHA1(08c0a0fc50a75e6207b1987bae389cca60893eac), ROM_SKIP(1) | ROM_BIOS(2)) ROMX_LOAD( "150-07.bin", 0xfc001, 0x2000, CRC(0dc4b65a) SHA1(c96f066251a7343eac8113ea9dcb2cb12d0334d5), ROM_SKIP(1) | ROM_BIOS(2)) - - //ROM_REGION(0x2000,"gfx1", 0) - //ROM_LOAD( "iskra-1031_font.bin", 0x0000, 0x2000, CRC(f4d62e80) SHA1(ad7e81a0c9abc224671422bbcf6f6262da92b510)) ROM_END /*************************************************************************** -- cgit v1.2.3 From ef939437fc4f769e9372704e518290051f99d991 Mon Sep 17 00:00:00 2001 From: Sergey Svishchev Date: Sat, 29 Mar 2014 23:30:00 +0400 Subject: ec184x, iskr103x: use custom set of ISA cards --- src/emu/bus/isa/xsu_cards.c | 31 ++++++++++++++++++++++++++++++- src/emu/bus/isa/xsu_cards.h | 2 ++ src/mess/drivers/ec184x.c | 25 +++++++++++++------------ src/mess/drivers/iskr103x.c | 29 +++++++++++++++-------------- 4 files changed, 60 insertions(+), 27 deletions(-) diff --git a/src/emu/bus/isa/xsu_cards.c b/src/emu/bus/isa/xsu_cards.c index de7875a18b3..f32a21ce907 100644 --- a/src/emu/bus/isa/xsu_cards.c +++ b/src/emu/bus/isa/xsu_cards.c @@ -7,10 +7,11 @@ **********************************************************************/ +#include "isa_cards.h" #include "xsu_cards.h" SLOT_INTERFACE_START( p1_isa8_cards ) - SLOT_INTERFACE("rom", P1_ROM) + SLOT_INTERFACE("rom", P1_ROM) // B003 SLOT_INTERFACE("fdc", P1_FDC) // B504 SLOT_INTERFACE("hdc", P1_HDC) // B942 /* @@ -36,3 +37,31 @@ SLOT_INTERFACE_START( mc1502_isa8_cards ) SLOT_INTERFACE("pclpt", ISA8_LPT) SLOT_INTERFACE("xtide", ISA8_XTIDE) SLOT_INTERFACE_END + +SLOT_INTERFACE_START( ec184x_isa8_cards ) + SLOT_INTERFACE("ec1840.0002", ISA8_EC1840_0002) // MDA with downloadable font + SLOT_INTERFACE("ec1841.0002", ISA8_EC1841_0002) // CGA with downloadable font + SLOT_INTERFACE("ec1841.0003", ISA8_FDC_XT) +/* + SLOT_INTERFACE("ec1841.0010", ISA8_EC1841_0010) // 8089-based HDC + SLOT_INTERFACE("ec1841.0003", ISA8_EC1841_0003) // FDC + mouse port + SLOT_INTERFACE("ec1841.0004", ISA8_EC1841_0004) // BSC-like serial ports + parallel port +*/ + SLOT_INTERFACE("mda", ISA8_MDA) + SLOT_INTERFACE("hdc", ISA8_HDC) + SLOT_INTERFACE("pccom", ISA8_COM) + SLOT_INTERFACE("pclpt", ISA8_LPT) + SLOT_INTERFACE("xtide", ISA8_XTIDE) +SLOT_INTERFACE_END + +SLOT_INTERFACE_START( iskr103x_isa8_cards ) + SLOT_INTERFACE("cga_iskr1030m", ISA8_CGA_ISKR1030M) + SLOT_INTERFACE("cga_iskr1031", ISA8_CGA_ISKR1031) +/**/ + SLOT_INTERFACE("fdc_xt", ISA8_FDC_XT) + SLOT_INTERFACE("mda", ISA8_MDA) + SLOT_INTERFACE("hdc", ISA8_HDC) + SLOT_INTERFACE("pccom", ISA8_COM) + SLOT_INTERFACE("pclpt", ISA8_LPT) + SLOT_INTERFACE("xtide", ISA8_XTIDE) +SLOT_INTERFACE_END diff --git a/src/emu/bus/isa/xsu_cards.h b/src/emu/bus/isa/xsu_cards.h index 70d6d1b60cb..b6e474cd5fa 100644 --- a/src/emu/bus/isa/xsu_cards.h +++ b/src/emu/bus/isa/xsu_cards.h @@ -32,5 +32,7 @@ // supported devices SLOT_INTERFACE_EXTERN( p1_isa8_cards ); SLOT_INTERFACE_EXTERN( mc1502_isa8_cards ); +SLOT_INTERFACE_EXTERN( ec184x_isa8_cards ); +SLOT_INTERFACE_EXTERN( iskr103x_isa8_cards ); #endif // __XSU_CARDS_H__ diff --git a/src/mess/drivers/ec184x.c b/src/mess/drivers/ec184x.c index 3248c8bceb0..16b9026a4f8 100644 --- a/src/mess/drivers/ec184x.c +++ b/src/mess/drivers/ec184x.c @@ -17,6 +17,7 @@ #include "includes/genpc.h" +#include "bus/isa/xsu_cards.h" #include "bus/pc_kbd/keyboards.h" #include "cpu/i86/i86.h" #include "machine/ram.h" @@ -230,12 +231,12 @@ static MACHINE_CONFIG_START( ec1840, ec184x_state ) MCFG_IBM5150_MOTHERBOARD_ADD("mb","maincpu") MCFG_DEVICE_INPUT_DEFAULTS(ec1840) - MCFG_ISA8_SLOT_ADD("mb:isa", "isa1", pc_isa8_cards, "mda", false) // cga is? an option - MCFG_ISA8_SLOT_ADD("mb:isa", "isa2", pc_isa8_cards, "fdc_xt", false) - MCFG_ISA8_SLOT_ADD("mb:isa", "isa3", pc_isa8_cards, NULL, false) // native variant(s?) not emulated - MCFG_ISA8_SLOT_ADD("mb:isa", "isa4", pc_isa8_cards, NULL, false) // native serial not emulated - MCFG_ISA8_SLOT_ADD("mb:isa", "isa5", pc_isa8_cards, NULL, false) // native mouse port not emulated - MCFG_ISA8_SLOT_ADD("mb:isa", "isa6", pc_isa8_cards, NULL, false) // game port is an option + MCFG_ISA8_SLOT_ADD("mb:isa", "isa1", ec184x_isa8_cards, "ec1840.0002", false) + MCFG_ISA8_SLOT_ADD("mb:isa", "isa2", ec184x_isa8_cards, "ec1841.0003", false) // actually ec1840.0003 -- w/o mouse port + MCFG_ISA8_SLOT_ADD("mb:isa", "isa3", ec184x_isa8_cards, NULL, false) + MCFG_ISA8_SLOT_ADD("mb:isa", "isa4", ec184x_isa8_cards, NULL, false) + MCFG_ISA8_SLOT_ADD("mb:isa", "isa5", ec184x_isa8_cards, NULL, false) + MCFG_ISA8_SLOT_ADD("mb:isa", "isa6", ec184x_isa8_cards, NULL, false) MCFG_SOFTWARE_LIST_ADD("flop_list","ec1841") @@ -257,12 +258,12 @@ static MACHINE_CONFIG_START( ec1841, ec184x_state ) MCFG_EC1841_MOTHERBOARD_ADD("mb", "maincpu") MCFG_DEVICE_INPUT_DEFAULTS(ec1841) - MCFG_ISA8_SLOT_ADD("mb:isa", "isa1", pc_isa8_cards, "cga_ec1841", false)// mda is an option - MCFG_ISA8_SLOT_ADD("mb:isa", "isa2", pc_isa8_cards, "fdc_xt", false) - MCFG_ISA8_SLOT_ADD("mb:isa", "isa3", pc_isa8_cards, NULL, false) // native variants not emulated - MCFG_ISA8_SLOT_ADD("mb:isa", "isa4", pc_isa8_cards, NULL, false) // native serial not emulated - MCFG_ISA8_SLOT_ADD("mb:isa", "isa5", pc_isa8_cards, NULL, false) // native mouse port not emulated - MCFG_ISA8_SLOT_ADD("mb:isa", "isa6", pc_isa8_cards, NULL, false) // game port is? an option + MCFG_ISA8_SLOT_ADD("mb:isa", "isa1", ec184x_isa8_cards, "ec1841.0002", false) // cga + MCFG_ISA8_SLOT_ADD("mb:isa", "isa2", ec184x_isa8_cards, "ec1841.0003", false) // fdc + mouse port + MCFG_ISA8_SLOT_ADD("mb:isa", "isa3", ec184x_isa8_cards, "hdc", false) + MCFG_ISA8_SLOT_ADD("mb:isa", "isa4", ec184x_isa8_cards, NULL, false) + MCFG_ISA8_SLOT_ADD("mb:isa", "isa5", ec184x_isa8_cards, NULL, false) + MCFG_ISA8_SLOT_ADD("mb:isa", "isa6", ec184x_isa8_cards, NULL, false) MCFG_SOFTWARE_LIST_ADD("flop_list","ec1841") diff --git a/src/mess/drivers/iskr103x.c b/src/mess/drivers/iskr103x.c index 4b8f55fd704..c3dae58dadf 100644 --- a/src/mess/drivers/iskr103x.c +++ b/src/mess/drivers/iskr103x.c @@ -17,10 +17,11 @@ #include "includes/genpc.h" -#include "cpu/nec/nec.h" #include "cpu/i86/i86.h" -#include "machine/pc_lpt.h" +#include "cpu/nec/nec.h" +#include "bus/isa/xsu_cards.h" #include "bus/pc_kbd/keyboards.h" +#include "machine/pc_lpt.h" #include "machine/ram.h" #define DBG_LOG(a,b,c) @@ -76,12 +77,12 @@ static MACHINE_CONFIG_START( iskr1030m, iskr103x_state ) MCFG_IBM5160_MOTHERBOARD_ADD("mb","maincpu") MCFG_DEVICE_INPUT_DEFAULTS(iskr1030m) - MCFG_ISA8_SLOT_ADD("mb:isa", "isa1", pc_isa8_cards, "mda", false) - MCFG_ISA8_SLOT_ADD("mb:isa", "isa2", pc_isa8_cards, "fdc_xt", false) - MCFG_ISA8_SLOT_ADD("mb:isa", "isa3", pc_isa8_cards, NULL, false) // hdc is WIP - MCFG_ISA8_SLOT_ADD("mb:isa", "isa4", pc_isa8_cards, NULL, false) - MCFG_ISA8_SLOT_ADD("mb:isa", "isa5", pc_isa8_cards, NULL, false) - MCFG_ISA8_SLOT_ADD("mb:isa", "isa6", pc_isa8_cards, NULL, false) + MCFG_ISA8_SLOT_ADD("mb:isa", "isa1", iskr103x_isa8_cards, "cga_iskr1030m", false) // actually MDA? + MCFG_ISA8_SLOT_ADD("mb:isa", "isa2", iskr103x_isa8_cards, "fdc_xt", false) + MCFG_ISA8_SLOT_ADD("mb:isa", "isa3", iskr103x_isa8_cards, NULL, false) // hdc is WIP + MCFG_ISA8_SLOT_ADD("mb:isa", "isa4", iskr103x_isa8_cards, NULL, false) + MCFG_ISA8_SLOT_ADD("mb:isa", "isa5", iskr103x_isa8_cards, NULL, false) + MCFG_ISA8_SLOT_ADD("mb:isa", "isa6", iskr103x_isa8_cards, NULL, false) MCFG_PC_KBDC_SLOT_ADD("mb:pc_kbdc", "kbd", pc_xt_keyboards, STR_KBD_EC_1841) // MCFG_PC_KBDC_SLOT_ADD("mb:pc_kbdc", "kbd", pc_xt_keyboards, STR_KBD_ISKR_1030) @@ -100,12 +101,12 @@ static MACHINE_CONFIG_START( iskr1031, iskr103x_state ) MCFG_IBM5160_MOTHERBOARD_ADD("mb","maincpu") MCFG_DEVICE_INPUT_DEFAULTS(iskr1031) - MCFG_ISA8_SLOT_ADD("mb:isa", "isa1", pc_isa8_cards, "cga_ec1841", false) - MCFG_ISA8_SLOT_ADD("mb:isa", "isa2", pc_isa8_cards, "fdc_xt", false) - MCFG_ISA8_SLOT_ADD("mb:isa", "isa3", pc_isa8_cards, NULL, false) // hdc is WIP - MCFG_ISA8_SLOT_ADD("mb:isa", "isa4", pc_isa8_cards, NULL, false) - MCFG_ISA8_SLOT_ADD("mb:isa", "isa5", pc_isa8_cards, NULL, false) - MCFG_ISA8_SLOT_ADD("mb:isa", "isa6", pc_isa8_cards, NULL, false) + MCFG_ISA8_SLOT_ADD("mb:isa", "isa1", iskr103x_isa8_cards, "cga_iskr1031", false) + MCFG_ISA8_SLOT_ADD("mb:isa", "isa2", iskr103x_isa8_cards, "fdc_xt", false) + MCFG_ISA8_SLOT_ADD("mb:isa", "isa3", iskr103x_isa8_cards, NULL, false) // hdc is WIP + MCFG_ISA8_SLOT_ADD("mb:isa", "isa4", iskr103x_isa8_cards, NULL, false) + MCFG_ISA8_SLOT_ADD("mb:isa", "isa5", iskr103x_isa8_cards, NULL, false) + MCFG_ISA8_SLOT_ADD("mb:isa", "isa6", iskr103x_isa8_cards, NULL, false) // MCFG_SOFTWARE_LIST_ADD("flop_list", "iskr1031") -- cgit v1.2.3