From 8d4559070f10367dac4fb7f7721b1f3e91098c75 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Sun, 22 Nov 2020 19:40:20 +0100 Subject: [PATCH] atm.cpp, pasopia7.cpp, spc1500.cpp, spyhuntertec.cpp, tasman.cpp: removed a tiny bunch of MACHINE_*_MEMBER and VIDEO_*_MEMBER --- src/mame/drivers/atm.cpp | 13 ++++++--- src/mame/drivers/pasopia7.cpp | 18 ++++++------ src/mame/drivers/spc1500.cpp | 46 ++++++++++++++++--------------- src/mame/drivers/spyhuntertec.cpp | 15 +++++++--- src/mame/drivers/tasman.cpp | 15 ++++++---- 5 files changed, 63 insertions(+), 44 deletions(-) diff --git a/src/mame/drivers/atm.cpp b/src/mame/drivers/atm.cpp index eccf86d13b5..06a548da08e 100644 --- a/src/mame/drivers/atm.cpp +++ b/src/mame/drivers/atm.cpp @@ -17,6 +17,8 @@ Not working because of banking issues. #include "machine/beta.h" +namespace { + class atm_state : public spectrum_state { public: @@ -32,12 +34,14 @@ public: void atm(machine_config &config); void atmtb2(machine_config &config); +protected: + virtual void machine_reset() override; + private: void atm_port_7ffd_w(uint8_t data); uint8_t beta_neutral_r(offs_t offset); uint8_t beta_enable_r(offs_t offset); uint8_t beta_disable_r(offs_t offset); - DECLARE_MACHINE_RESET(atm); void atm_io(address_map &map); void atm_mem(address_map &map); @@ -141,7 +145,7 @@ void atm_state::atm_switch(address_map &map) map(0x4000, 0xffff).r(FUNC(atm_state::beta_disable_r)); } -MACHINE_RESET_MEMBER(atm_state,atm) +void atm_state::machine_reset() { uint8_t *messram = m_ram->pointer(); m_program = &m_maincpu->space(AS_PROGRAM); @@ -195,8 +199,6 @@ void atm_state::atm(machine_config &config) m_maincpu->set_addrmap(AS_IO, &atm_state::atm_io); m_maincpu->set_addrmap(AS_OPCODES, &atm_state::atm_switch); - MCFG_MACHINE_RESET_OVERRIDE(atm_state, atm ) - BETA_DISK(config, m_beta, 0); subdevice("gfxdecode")->set_info(gfx_atm); @@ -254,6 +256,9 @@ ROM_START( atmtb2 ) ROM_LOAD( "sgen.rom", 0x0000, 0x0800, CRC(1f4387d6) SHA1(93b3774dc8a486643a1bdd48c606b0c84fa0e22b)) ROM_END +} // Anonymous namespace + + /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ COMP( 1991, atm, spec128, 0, atm, spec_plus, atm_state, empty_init, "MicroART", "ATM", MACHINE_NOT_WORKING) //COMP( 1991, atmtb1, spec128, 0, atm, spec_plus, atm_state, empty_init, "MicroART", "ATM-turbo1", MACHINE_NOT_WORKING) diff --git a/src/mame/drivers/pasopia7.cpp b/src/mame/drivers/pasopia7.cpp index b38f32be17b..62d0637ec81 100644 --- a/src/mame/drivers/pasopia7.cpp +++ b/src/mame/drivers/pasopia7.cpp @@ -46,6 +46,8 @@ #include "speaker.h" +namespace { + class pasopia7_state : public driver_device { public: @@ -80,6 +82,8 @@ public: protected: virtual void machine_start() override; + virtual void machine_reset() override; + virtual void video_start() override; private: uint8_t vram_r(offs_t offset); @@ -106,7 +110,6 @@ private: uint8_t nmi_portb_r(); DECLARE_WRITE_LINE_MEMBER(speaker_w); TIMER_CALLBACK_MEMBER(pio_timer); - DECLARE_VIDEO_START(pasopia7); void p7_lcd_palette(palette_device &palette) const; MC6845_UPDATE_ROW(update_row); @@ -137,7 +140,6 @@ private: u8 m_porta_2; bool m_spr_sw; emu_timer *m_pio_timer; - virtual void machine_reset() override; void fdc_irq(bool state); void draw_cg4_line(bitmap_rgb32 &bitmap,int y,int yi,int width,int count); void draw_tv_line(bitmap_rgb32 &bitmap,int y,int yi,int width,int count,int cursor_x); @@ -180,7 +182,7 @@ TIMER_CALLBACK_MEMBER( pasopia7_state::pio_timer ) m_pio->port_b_write(keyb_r()); } -VIDEO_START_MEMBER(pasopia7_state,pasopia7) +void pasopia7_state::video_start() { m_p7_pal = std::make_unique(0x10); } @@ -407,7 +409,7 @@ void pasopia7_state::pasopia_nmi_trap() } } -uint8_t pasopia7_state::fdc_r(offs_t offset) +[[maybe_unused]] uint8_t pasopia7_state::fdc_r(offs_t offset) { switch(offset) { @@ -770,7 +772,7 @@ void pasopia7_state::p7_lcd_palette(palette_device &palette) const palette.set_pen_color(i, 0x30, 0x38, 0x10); } -void pasopia7_state::fdc_irq(bool state) +[[maybe_unused]] void pasopia7_state::fdc_irq(bool state) { m_maincpu->set_input_line(INPUT_LINE_IRQ0, state ? ASSERT_LINE : CLEAR_LINE); } @@ -848,8 +850,6 @@ void pasopia7_state::p7_raster(machine_config &config) m_screen->set_visarea(0, 640-1, 0, 32-1); m_screen->set_screen_update(m_crtc, FUNC(mc6845_device::screen_update)); - MCFG_VIDEO_START_OVERRIDE(pasopia7_state,pasopia7) - PALETTE(config, m_palette, palette_device::BRG_3BIT); GFXDECODE(config, "gfxdecode", m_palette, gfx_pasopia7); @@ -871,8 +871,6 @@ void pasopia7_state::p7_lcd(machine_config &config) m_screen->set_visarea(0, 640-1, 0, 200-1); m_screen->set_screen_update(m_crtc, FUNC(mc6845_device::screen_update)); - MCFG_VIDEO_START_OVERRIDE(pasopia7_state,pasopia7) - PALETTE(config, m_palette, FUNC(pasopia7_state::p7_lcd_palette), 8); GFXDECODE(config, "gfxdecode", m_palette, gfx_pasopia7); @@ -922,6 +920,8 @@ void pasopia7_state::init_p7_lcd() m_pio_timer->adjust(attotime::from_hz(5000), 0, attotime::from_hz(5000)); } +} // Anonymous namespace + /* Driver */ diff --git a/src/mame/drivers/spc1500.cpp b/src/mame/drivers/spc1500.cpp index 8fc2d1eefac..45240d8625c 100644 --- a/src/mame/drivers/spc1500.cpp +++ b/src/mame/drivers/spc1500.cpp @@ -13,11 +13,11 @@ Samsung SPC-1500 driver by Miso Kim 2016-01-05 detection of color palette initialization 2016-01-06 80x16 mode graphic mode support 2016-01-10 double character support - 2016-01-12 PCG adressing improved + 2016-01-12 PCG addressing improved 2016-01-13 Cassette tape motor improved TODO: - - Verify PCG ram read for Korean character (english character is fine) + - Verify PCG ram read for Korean character (English character is fine) - Support floppy disk drive with SD-1500A controller card ****************************************************************************/ @@ -44,7 +44,7 @@ TODO: - English font: 8KB (sizes 8x8 and 8x16 size of each character in ROM) - Hangul fonts: 24KB (head 8KB, middle 8KB, last 8KB) - Periperials + Peripherals - Built-in cassette deck - 1 composite video output to connect a monitor - 1 TTL output for RGB monitor connection @@ -66,9 +66,9 @@ TODO: 3) SPC-1500V This product can not confirm the release date because of PCB level modification. - It equiped SPC-1500V VLSI chip embedded products and removed a lot of TTLs and the memory expansion card. + It equipped SPC-1500V VLSI chip embedded products and removed a lot of TTLs and the memory expansion card. - IOCS ROM Version: 1.6 - - Two internal 50-pin expension slots + - Two internal 50-pin expansion slots Firmware @@ -90,11 +90,11 @@ TODO: Hangul ROM 8KB each is divided by a consonant and consonant and neutral. - - Initial (Choseong) SS151-1223: 8 types of intial character (actual 6 types) + - Initial (Choseong) SS151-1223: 8 types of initial character (actual 6 types) - Middle (Jungseong) SS152-1224: 2 types of middle character - Final (Jongseong) SS153-1225: 2 types of final character - Periperials - Monitor + Peripherals - Monitor - , high-resolution monitor SM, color monitor model was to distinguish it from CD. 1) MD-1255H (Low resolution monitors MD) @@ -128,7 +128,7 @@ TODO: - 5.25 "floppy drive for 2D composed of external disk drives diskettes 2) SD-1500B - Dual external disk drives - - The two models are idential except the number of FDD. They need the expension controller card named by SFC-1500. + - The two models are identical except the number of FDD. They need the expansion controller card named by SFC-1500. - IBM PC XT compatible FDD can be quipped. SFD-5x0 model is a genuine FDD from Samsung Electronics. HDD (Hard Disk Drive) @@ -149,9 +149,9 @@ TODO: 1) SP-510S - Bitmap image output method Hangul support - - Recommanded 80 columns dot-matrix printer + - Recommended 80 columns dot-matrix printer 2) SP-570H - - Recommanded 132 columns dot-matrix printer + - Recommended 132 columns dot-matrix printer 3) SP-510L 4) SP-510T 5) SP-570B @@ -207,7 +207,7 @@ TODO: - Release price: 49,900won ($58) Super Pack - - External ROM cartrige from Static Soft (C) + - External ROM cartridge from Static Soft (C) - 1 cartridge slot and 3 expansion slots (up to five expansion slots available) - It is available to use the MSX ROM packs without any modification with the static soft VDP card - Release price: 60,000won ($71) @@ -215,7 +215,7 @@ TODO: ST-KEY2 - For synthesizer external keyboard - * Compatiblity with X1 series of Sharp Electronics + * Compatibility with X1 series of Sharp Electronics - Almost the key components is the same as X1 models of Sharp Electronics and except for the keyboard input. - To port the X1 software to SPC-1500, Text attribute, keyboard input and DMA related code should be modified @@ -239,6 +239,9 @@ TODO: #include "formats/spc1000_cas.h" + +namespace { + #define VDP_CLOCK XTAL(42'954'545) class spc1500_state : public driver_device @@ -264,6 +267,11 @@ public: void spc1500(machine_config &config); +protected: + virtual void machine_start() override; + virtual void machine_reset() override; + + private: uint8_t psga_r(); uint8_t porta_r(); @@ -285,7 +293,6 @@ private: void double_w(offs_t offset, uint8_t data); uint8_t io_r(offs_t offset); void spc_palette(palette_device &palette) const; - DECLARE_VIDEO_START(spc); MC6845_UPDATE_ROW(crtc_update_row); MC6845_RECONFIGURE(crtc_reconfig); TIMER_DEVICE_CALLBACK_MEMBER(timer); @@ -308,8 +315,6 @@ private: bool m_motor_toggle; uint8_t m_crtc_vreg[0x100]; bool m_centronics_busy; - virtual void machine_start() override; - virtual void machine_reset() override; required_device m_maincpu; required_device m_vdg; required_device m_cass; @@ -511,9 +516,6 @@ void spc1500_state::spc_palette(palette_device &palette) const palette.set_pen_color(7,rgb_t(0xff,0xff,0xff)); } -VIDEO_START_MEMBER(spc1500_state, spc) -{ -} MC6845_RECONFIGURE(spc1500_state::crtc_reconfig) { @@ -840,7 +842,7 @@ void spc1500_state::machine_reset() m_char_count = 0; } -uint8_t spc1500_state::mc6845_videoram_r(offs_t offset) +[[maybe_unused]] uint8_t spc1500_state::mc6845_videoram_r(offs_t offset) { return m_p_videoram[offset]; } @@ -853,7 +855,7 @@ uint8_t spc1500_state::psga_r() return data; } -uint8_t spc1500_state::porta_r() +[[maybe_unused]] uint8_t spc1500_state::porta_r() { uint8_t data = 0x3f; data |= (m_cass->input() > 0.0038) ? 0x80 : 0; @@ -889,8 +891,6 @@ void spc1500_state::spc1500(machine_config &config) m_vdg->set_update_row_callback(FUNC(spc1500_state::crtc_update_row)); m_vdg->set_reconfigure_callback(FUNC(spc1500_state::crtc_reconfig)); - MCFG_VIDEO_START_OVERRIDE(spc1500_state, spc) - I8255(config, m_pio); m_pio->out_pa_callback().set("cent_data_out", FUNC(output_latch_device::write)); m_pio->in_pb_callback().set(FUNC(spc1500_state::portb_r)); @@ -939,7 +939,9 @@ ROM_START( spc1500 ) ROM_LOAD( "ss153fnt.bin", 0x6000, 0x2000, CRC(8677d5fa) SHA1(34bfacc855c3846744cd586c150c72e5cbe948b0) ) ROM_END +} // Anonymous namespace + /* Driver */ // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS diff --git a/src/mame/drivers/spyhuntertec.cpp b/src/mame/drivers/spyhuntertec.cpp index 92e20327d2d..4fe733748c7 100644 --- a/src/mame/drivers/spyhuntertec.cpp +++ b/src/mame/drivers/spyhuntertec.cpp @@ -29,6 +29,9 @@ sound system appears to be the same as 'spartanxtec.cpp' #include "spyhunttec.lh" + +namespace { + class spyhuntertec_state : public driver_device { public: @@ -53,6 +56,11 @@ public: void init_spyhuntertec(); +protected: + virtual void machine_start() override; + virtual void machine_reset() override; + virtual void video_start() override; + private: required_device m_maincpu; required_device m_audiocpu; @@ -68,9 +76,6 @@ private: required_device m_screen; required_device m_soundlatch; - virtual void machine_start() override; - virtual void machine_reset() override; - virtual void video_start() override; void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update_spyhuntertec(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); @@ -85,7 +90,6 @@ private: tilemap_t *m_bg_tilemap; void spyhuntertec_paletteram_w(offs_t offset, uint8_t data); - // DECLARE_VIDEO_START(spyhuntertec); // uint32_t screen_update_spyhuntertec(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); void spyhuntertec_port04_w(uint8_t data); void spyhuntertec_portf0_w(uint8_t data); @@ -917,6 +921,9 @@ void spyhuntertec_state::init_spyhuntertec() m_spyhunt_scroll_offset = 16; } +} // Anonymous namespace + + /*************************************************************************** * Game Drivers * ***************************************************************************/ diff --git a/src/mame/drivers/tasman.cpp b/src/mame/drivers/tasman.cpp index 9b0632b6e3a..f18ec010ee7 100644 --- a/src/mame/drivers/tasman.cpp +++ b/src/mame/drivers/tasman.cpp @@ -33,6 +33,8 @@ #include "speaker.h" +namespace { + #define CUSTOM_DRAW 1 class kongambl_state : public driver_device @@ -57,6 +59,10 @@ public: void init_kingtut(); +protected: + virtual void machine_reset() override { m_irq_mask = 0; }; + virtual void video_start() override; + private: required_device m_maincpu; required_device m_k053252; @@ -76,10 +82,8 @@ private: uint32_t test_r(); // uint32_t rng_r(); - DECLARE_VIDEO_START(kongambl); uint8_t m_irq_mask; - virtual void machine_reset() override { m_irq_mask = 0; }; uint32_t screen_update_kongambl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); WRITE_LINE_MEMBER(vblank_irq_ack_w); WRITE_LINE_MEMBER(hblank_irq_ack_w); @@ -92,7 +96,7 @@ private: }; -VIDEO_START_MEMBER(kongambl_state,kongambl) +void kongambl_state::video_start() { #if CUSTOM_DRAW @@ -669,8 +673,6 @@ void kongambl_state::kongambl(machine_config &config) PALETTE(config, m_palette).set_format(palette_device::xRGB_888, 32768); - MCFG_VIDEO_START_OVERRIDE(kongambl_state,kongambl) - K055555(config, m_k055555, 0); K055673(config, m_k055673, 0); @@ -828,6 +830,9 @@ void kongambl_state::init_kingtut() //rom[0x55e40/4] = (rom[0x55e40/4] & 0xffff0000) | 0x4e71; // goes away from the POST } +} // Anonymous namespace + + GAME( 199?, kingtut, 0, kongambl, kongambl, kongambl_state, init_kingtut, ROT0, "Konami", "King Tut (NSW, Australia)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) GAME( 199?, moneybnk, 0, kongambl, kongambl, kongambl_state, empty_init, ROT0, "Konami", "Money In The Bank (NSW, Australia)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) GAME( 199?, dragsphr, 0, kongambl, kongambl, kongambl_state, empty_init, ROT0, "Konami", "Dragon Sphere", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )