diff options
author | 2020-07-20 04:09:28 +1000 | |
---|---|---|
committer | 2020-07-20 04:09:28 +1000 | |
commit | 7fc035a52b996770a481a356945c352dbd899113 (patch) | |
tree | f9cf9904ad91be4dccaed253ac2dc5fb7b11bed3 | |
parent | 381c38a848d29a3d09d94709fd285a6b56b930a5 (diff) |
mk85,mk90,a51xx,uknc,msbc1,sys9002: slight cleanup
-rw-r--r-- | src/mame/drivers/a51xx.cpp | 12 | ||||
-rw-r--r-- | src/mame/drivers/mk85.cpp | 20 | ||||
-rw-r--r-- | src/mame/drivers/mk90.cpp | 24 | ||||
-rw-r--r-- | src/mame/drivers/msbc1.cpp | 8 | ||||
-rw-r--r-- | src/mame/drivers/sys9002.cpp | 22 | ||||
-rw-r--r-- | src/mame/drivers/uknc.cpp | 35 |
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 ) |