Merge pull request #16 from shattered/master

MDA clone has downloadable fonts and both CGA clones have unique chargens.
This commit is contained in:
Miodrag Milanović 2014-10-26 19:48:01 +01:00
commit b1cdf0e843
8 changed files with 400 additions and 48 deletions

View File

@ -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>;
//-------------------------------------------------
// 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>;
//-------------------------------------------------
// 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

View File

@ -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 :

View File

@ -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<isa8_ec1840_0002_device>;
//-------------------------------------------------
// 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;
}
}

View File

@ -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__ */

View File

@ -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

View File

@ -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__

View File

@ -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
***************************************************************************/
@ -18,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"
@ -178,7 +178,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
@ -232,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")
@ -259,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")

View File

@ -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")
@ -120,9 +121,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 +131,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
/***************************************************************************