summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Robbbert <Robbbert@users.noreply.github.com>2020-07-20 04:09:28 +1000
committer Robbbert <Robbbert@users.noreply.github.com>2020-07-20 04:09:28 +1000
commit7fc035a52b996770a481a356945c352dbd899113 (patch)
treef9cf9904ad91be4dccaed253ac2dc5fb7b11bed3
parent381c38a848d29a3d09d94709fd285a6b56b930a5 (diff)
mk85,mk90,a51xx,uknc,msbc1,sys9002: slight cleanup
-rw-r--r--src/mame/drivers/a51xx.cpp12
-rw-r--r--src/mame/drivers/mk85.cpp20
-rw-r--r--src/mame/drivers/mk90.cpp24
-rw-r--r--src/mame/drivers/msbc1.cpp8
-rw-r--r--src/mame/drivers/sys9002.cpp22
-rw-r--r--src/mame/drivers/uknc.cpp35
6 files changed, 64 insertions, 57 deletions
diff --git a/src/mame/drivers/a51xx.cpp b/src/mame/drivers/a51xx.cpp
index 39ff383e87e..94d96c167f1 100644
--- a/src/mame/drivers/a51xx.cpp
+++ b/src/mame/drivers/a51xx.cpp
@@ -31,7 +31,7 @@ public:
private:
virtual void machine_reset() override;
- virtual void video_start() override;
+ virtual void machine_start() override;
DECLARE_MACHINE_RESET(a5130);
DECLARE_VIDEO_START(a5130);
uint32_t screen_update_a5120(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -80,7 +80,7 @@ void a51xx_state::machine_reset()
{
}
-void a51xx_state::video_start()
+void a51xx_state::machine_start()
{
}
@@ -165,7 +165,7 @@ void a51xx_state::a5130(machine_config &config)
/* ROM definition */
ROM_START( a5120 )
- ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF )
+ ROM_REGION( 0x0400, "maincpu", 0 )
ROM_SYSTEM_BIOS( 0, "v1", "v1" )
ROMX_LOAD( "a5120_v1.rom", 0x0000, 0x0400, CRC(b2b3fee0) SHA1(6198513b263d8a7a867f1dda368b415bb37fcdae), ROM_BIOS(0))
ROM_SYSTEM_BIOS( 1, "v2", "v2" )
@@ -178,7 +178,7 @@ ROM_END
/* ROM definition */
ROM_START( a5130 )
- ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF )
+ ROM_REGION( 0x1000, "maincpu", 0 )
ROM_LOAD( "dzr5130.rom", 0x0000, 0x1000, CRC(4719beb7) SHA1(09295a658b8c5b75b20faea57ad925f69f07a9b5))
ROM_REGION(0x0800, "chargen",0)
@@ -189,5 +189,5 @@ ROM_END
/* Driver */
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
-COMP( 1982, a5120, 0, 0, a5120, a5120, a51xx_state, empty_init, "VEB Robotron", "A5120", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
-COMP( 1983, a5130, a5120, 0, a5130, a5130, a51xx_state, empty_init, "VEB Robotron", "A5130", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
+COMP( 1982, a5120, 0, 0, a5120, a5120, a51xx_state, empty_init, "VEB Robotron", "A5120", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE )
+COMP( 1983, a5130, a5120, 0, a5130, a5130, a51xx_state, empty_init, "VEB Robotron", "A5130", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mk85.cpp b/src/mame/drivers/mk85.cpp
index 55d5e71bc08..e7afc40516d 100644
--- a/src/mame/drivers/mk85.cpp
+++ b/src/mame/drivers/mk85.cpp
@@ -38,17 +38,17 @@ public:
private:
virtual void machine_reset() override;
- virtual void video_start() override;
+ virtual void machine_start() override;
- void mk85_mem(address_map &map);
+ void mem_map(address_map &map);
- uint32_t screen_update_mk85(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
required_device<k1801vm2_device> m_maincpu;
};
-void mk85_state::mk85_mem(address_map &map)
+void mk85_state::mem_map(address_map &map)
{
map.unmap_value_high();
map(0x0000, 0x3fff).rom().mirror(0x4000);
@@ -64,11 +64,11 @@ void mk85_state::machine_reset()
{
}
-void mk85_state::video_start()
+void mk85_state::machine_start()
{
}
-uint32_t mk85_state::screen_update_mk85(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+uint32_t mk85_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
return 0;
}
@@ -78,7 +78,7 @@ void mk85_state::mk85(machine_config &config)
/* basic machine hardware */
K1801VM2(config, m_maincpu, XTAL(4'000'000));
m_maincpu->set_initial_mode(0);
- m_maincpu->set_addrmap(AS_PROGRAM, &mk85_state::mk85_mem);
+ m_maincpu->set_addrmap(AS_PROGRAM, &mk85_state::mem_map);
/* video hardware */
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
@@ -86,7 +86,7 @@ void mk85_state::mk85(machine_config &config)
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_size(640, 480);
screen.set_visarea(0, 640-1, 0, 480-1);
- screen.set_screen_update(FUNC(mk85_state::screen_update_mk85));
+ screen.set_screen_update(FUNC(mk85_state::screen_update));
screen.set_palette("palette");
PALETTE(config, "palette", palette_device::MONOCHROME);
@@ -94,11 +94,11 @@ void mk85_state::mk85(machine_config &config)
/* ROM definition */
ROM_START( mk85 )
- ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF )
+ ROM_REGION( 0x4000, "maincpu", 0 )
ROM_LOAD( "mk85.rom", 0x0000, 0x4000, CRC(398e4fd1) SHA1(5e2f877d0f451b46840f01190004552bad5248c8))
ROM_END
/* Driver */
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
-COMP( 1986, mk85, 0, 0, mk85, mk85, mk85_state, empty_init, "Elektronika", "MK-85", MACHINE_NOT_WORKING | MACHINE_NO_SOUND)
+COMP( 1986, mk85, 0, 0, mk85, mk85, mk85_state, empty_init, "Elektronika", "MK-85", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mk90.cpp b/src/mame/drivers/mk90.cpp
index 4a630b01910..0effd6ccd8b 100644
--- a/src/mame/drivers/mk90.cpp
+++ b/src/mame/drivers/mk90.cpp
@@ -2,9 +2,9 @@
// copyright-holders:Miodrag Milanovic
/***************************************************************************
- Elektronika MK-90
+Elektronika MK-90
- 12/05/2009 Skeleton driver.
+2009-05-12 Skeleton driver.
http://www.pisi.com.pl/piotr433/index.htm#mk90
@@ -14,6 +14,8 @@ This is a Soviet computer-calculator, very similar in looks to the Sharp.
It has a LCD display. It cost about 1500 roubles, which is the wages for 6
months for an average citizen.
+Status: Starts in the weeds.
+
****************************************************************************/
#include "emu.h"
@@ -34,17 +36,17 @@ public:
private:
virtual void machine_reset() override;
- virtual void video_start() override;
+ virtual void machine_start() override;
- void mk90_mem(address_map &map);
+ void mem_map(address_map &map);
- uint32_t screen_update_mk90(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
required_device<k1801vm2_device> m_maincpu;
};
-void mk90_state::mk90_mem(address_map &map)
+void mk90_state::mem_map(address_map &map)
{
map.unmap_value_high();
map(0x0000, 0x3fff).ram(); // RAM
@@ -68,11 +70,11 @@ void mk90_state::machine_reset()
{
}
-void mk90_state::video_start()
+void mk90_state::machine_start()
{
}
-uint32_t mk90_state::screen_update_mk90(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+uint32_t mk90_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
return 0;
}
@@ -82,7 +84,7 @@ void mk90_state::mk90(machine_config &config)
/* basic machine hardware */
K1801VM2(config, m_maincpu, XTAL(4'000'000));
m_maincpu->set_initial_mode(0x8000);
- m_maincpu->set_addrmap(AS_PROGRAM, &mk90_state::mk90_mem);
+ m_maincpu->set_addrmap(AS_PROGRAM, &mk90_state::mem_map);
/* video hardware */
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
@@ -90,7 +92,7 @@ void mk90_state::mk90(machine_config &config)
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_size(640, 480);
screen.set_visarea(0, 640-1, 0, 480-1);
- screen.set_screen_update(FUNC(mk90_state::screen_update_mk90));
+ screen.set_screen_update(FUNC(mk90_state::screen_update));
screen.set_palette("palette");
PALETTE(config, "palette", palette_device::MONOCHROME);
@@ -110,4 +112,4 @@ ROM_END
/* Driver */
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
-COMP( 1988, mk90, 0, 0, mk90, mk90, mk90_state, empty_init, "Elektronika", "MK-90", MACHINE_NOT_WORKING | MACHINE_NO_SOUND)
+COMP( 1988, mk90, 0, 0, mk90, mk90, mk90_state, empty_init, "Elektronika", "MK-90", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/msbc1.cpp b/src/mame/drivers/msbc1.cpp
index bed3d434fc9..1307aa67732 100644
--- a/src/mame/drivers/msbc1.cpp
+++ b/src/mame/drivers/msbc1.cpp
@@ -71,12 +71,12 @@ public:
void msbc1(machine_config &config);
private:
- void msbc1_mem(address_map &map);
+ void mem_map(address_map &map);
virtual void machine_reset() override;
required_device<cpu_device> m_maincpu;
};
-void msbc1_state::msbc1_mem(address_map &map)
+void msbc1_state::mem_map(address_map &map)
{
map.unmap_value_high();
map(0x000000, 0x5fffff).ram();
@@ -102,7 +102,7 @@ void msbc1_state::msbc1(machine_config &config)
{
/* basic machine hardware */
M68000(config, m_maincpu, 12.5_MHz_XTAL);
- m_maincpu->set_addrmap(AS_PROGRAM, &msbc1_state::msbc1_mem);
+ m_maincpu->set_addrmap(AS_PROGRAM, &msbc1_state::mem_map);
PIT68230(config, "pit", 8_MHz_XTAL);
@@ -134,4 +134,4 @@ ROM_END
/* Driver */
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
-COMP( 1985, msbc1, 0, 0, msbc1, msbc1, msbc1_state, empty_init, "Omnibyte", "MSBC-1", MACHINE_NOT_WORKING | MACHINE_NO_SOUND)
+COMP( 1985, msbc1, 0, 0, msbc1, msbc1, msbc1_state, empty_init, "Omnibyte", "MSBC-1", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/sys9002.cpp b/src/mame/drivers/sys9002.cpp
index ed917402b48..0046cb9790e 100644
--- a/src/mame/drivers/sys9002.cpp
+++ b/src/mame/drivers/sys9002.cpp
@@ -33,7 +33,7 @@ public:
sys9002_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
- , m_p_videoram(*this, "videoram")
+ , m_vram(*this, "videoram")
, m_palette(*this, "palette")
{ }
@@ -42,16 +42,16 @@ public:
private:
MC6845_UPDATE_ROW(crtc_update_row);
- void sys9002_io(address_map &map);
- void sys9002_mem(address_map &map);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
required_device<cpu_device> m_maincpu;
- required_shared_ptr<uint8_t> m_p_videoram;
+ required_shared_ptr<uint8_t> m_vram;
required_device<palette_device> m_palette;
};
-void sys9002_state::sys9002_mem(address_map &map)
+void sys9002_state::mem_map(address_map &map)
{
map.unmap_value_high();
map(0x0000, 0x7fff).rom(); // 4 * 4K ROM
@@ -60,7 +60,7 @@ void sys9002_state::sys9002_mem(address_map &map)
map(0xc000, 0xc07f).ram(); // ??
}
-void sys9002_state::sys9002_io(address_map &map)
+void sys9002_state::io_map(address_map &map)
{
map.unmap_value_high();
map.global_mask(0xff);
@@ -85,7 +85,7 @@ MC6845_UPDATE_ROW( sys9002_state::crtc_update_row )
for (x = 0; x < x_count; x++)
{
mem = (ma + x) & 0x7ff;
- chr = m_p_videoram[mem];
+ chr = m_vram[mem];
/* get pattern of pixels for that character scanline */
gfx = chr; //gfx = m_p_chargen[(chr<<4) | ra] ^ ((x == cursor_x) ? 0xff : 0);
@@ -125,8 +125,8 @@ void sys9002_state::sys9002(machine_config &config)
{
/* basic machine hardware */
I8085A(config, m_maincpu, XTAL(2'000'000)); // XTAL not visible on images
- m_maincpu->set_addrmap(AS_PROGRAM, &sys9002_state::sys9002_mem);
- m_maincpu->set_addrmap(AS_IO, &sys9002_state::sys9002_io);
+ m_maincpu->set_addrmap(AS_PROGRAM, &sys9002_state::mem_map);
+ m_maincpu->set_addrmap(AS_IO, &sys9002_state::io_map);
/* video hardware */
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
@@ -177,7 +177,7 @@ void sys9002_state::sys9002(machine_config &config)
/* ROM definition */
ROM_START( sys9002 )
- ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF )
+ ROM_REGION( 0x8000, "maincpu", 0 )
ROM_LOAD( "55-040.bin", 0x0000, 0x2000, CRC(781eaca9) SHA1(1bdae2bcc43deaef2eb1d6ec302fbadbb779fd48))
ROM_LOAD( "55-041.bin", 0x2000, 0x2000, CRC(0f89fe81) SHA1(2dc8de7dabaf11a150cfd34460c5b47612cf5e61))
ROM_LOAD( "55-042.bin", 0x4000, 0x2000, CRC(e6fbc837) SHA1(fc11f6a6927709552bedf06b9eb0dc66e9a81264))
@@ -187,4 +187,4 @@ ROM_END
/* Driver */
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
-COMP( 198?, sys9002, 0, 0, sys9002, sys9002, sys9002_state, empty_init, "Mannesmann Kienzle", "System 9002 Terminal", MACHINE_IS_SKELETON )
+COMP( 198?, sys9002, 0, 0, sys9002, sys9002, sys9002_state, empty_init, "Mannesmann Kienzle", "System 9002 Terminal", MACHINE_IS_SKELETON | MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/uknc.cpp b/src/mame/drivers/uknc.cpp
index 21319efbf4c..85d9704b26f 100644
--- a/src/mame/drivers/uknc.cpp
+++ b/src/mame/drivers/uknc.cpp
@@ -2,9 +2,14 @@
// copyright-holders:Miodrag Milanovic
/***************************************************************************
- UKNC
+UKNC (Educational Computer by Scientific Centre) PDP-11 clone.
+Also known as Elektronika MS-0511.
+RAM = 192K (CPU 1 = 64K, CPU 2 = 32K, Videoram = 96K), ROM = 32K.
+Graphics 640x288 pixels.
- 12/05/2009 Skeleton driver.
+2009-05-12 Skeleton driver.
+
+Status: both CPUs start in the weeds.
****************************************************************************/
@@ -26,7 +31,7 @@ public:
private:
virtual void machine_reset() override;
- virtual void video_start() override;
+ virtual void machine_start() override;
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
required_device<k1801vm2_device> m_maincpu;
@@ -38,15 +43,15 @@ private:
void uknc_state::uknc_mem(address_map &map)
{
map.unmap_value_high();
- map(0x0000, 0x7fff).ram(); // RAM
- map(0x8000, 0xffff).rom(); // ROM
+ map(0x0000, 0x7fff).ram();
+ map(0x8000, 0xffff).rom().region("maincpu",0);
}
void uknc_state::uknc_sub_mem(address_map &map)
{
map.unmap_value_high();
- map(0x0000, 0x7fff).ram(); // RAM
- map(0x8000, 0xffff).rom(); // ROM
+ map(0x0000, 0x7fff).ram();
+ map(0x8000, 0xffff).rom().region("subcpu",0);
}
/* Input ports */
@@ -58,7 +63,7 @@ void uknc_state::machine_reset()
{
}
-void uknc_state::video_start()
+void uknc_state::machine_start()
{
}
@@ -70,11 +75,11 @@ uint32_t uknc_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap,
void uknc_state::uknc(machine_config &config)
{
/* basic machine hardware */
- K1801VM2(config, m_maincpu, 8000000);
+ K1801VM2(config, m_maincpu, 8'000'000);
m_maincpu->set_initial_mode(0x8000);
m_maincpu->set_addrmap(AS_PROGRAM, &uknc_state::uknc_mem);
- k1801vm2_device &subcpu(K1801VM2(config, "subcpu", 6000000));
+ k1801vm2_device &subcpu(K1801VM2(config, "subcpu", 6'250'000));
subcpu.set_initial_mode(0x8000);
subcpu.set_addrmap(AS_PROGRAM, &uknc_state::uknc_sub_mem);
@@ -91,13 +96,13 @@ void uknc_state::uknc(machine_config &config)
/* ROM definition */
ROM_START( uknc )
- ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF )
- ROM_LOAD( "uknc.rom", 0x8000, 0x8000, CRC(a1536994) SHA1(b3c7c678c41ffa9b37f654fbf20fef7d19e6407b))
+ ROM_REGION( 0x8000, "maincpu", 0 )
+ ROM_LOAD( "uknc.rom", 0x0000, 0x8000, CRC(a1536994) SHA1(b3c7c678c41ffa9b37f654fbf20fef7d19e6407b))
- ROM_REGION( 0x10000, "subcpu", ROMREGION_ERASEFF )
+ ROM_REGION( 0x8000, "subcpu", ROMREGION_ERASEFF )
ROM_END
/* Driver */
-/* YEAR NAME PARENT COMPAT MACHINE INPUT STATE INIT COMPANY FULLNAME FLAGS */
-COMP( 1987, uknc, 0, 0, uknc, uknc, uknc_state, empty_init, "<unknown>", "UKNC", MACHINE_NOT_WORKING | MACHINE_NO_SOUND)
+/* YEAR NAME PARENT COMPAT MACHINE INPUT STATE INIT COMPANY FULLNAME FLAGS */
+COMP( 1987, uknc, 0, 0, uknc, uknc, uknc_state, empty_init, "Elektronika", "UKNC / MS-0511", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE )