From 58202e4605774b1309c127f5d705a870509b0e1e Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Sat, 19 Dec 2015 20:49:03 +0100 Subject: [PATCH] some hand made changes (nw) --- src/mame/drivers/atarisy4.cpp | 6 +++--- src/mame/drivers/cbasebal.cpp | 8 ++++---- src/mame/drivers/cclimber.cpp | 6 +++--- src/mame/drivers/chsuper.cpp | 18 +++++++++--------- src/mame/drivers/cobra.cpp | 4 ++-- src/mame/drivers/cps1.cpp | 6 +++--- src/mame/drivers/cps3.cpp | 5 ----- src/mame/drivers/dkong.cpp | 9 ++++----- src/mame/drivers/ecoinf3.cpp | 4 ++-- src/mame/includes/cbasebal.h | 1 + src/mame/includes/cclimber.h | 1 + src/mame/includes/cps1.h | 1 + src/mame/includes/cps3.h | 1 - src/mame/includes/dkong.h | 1 + 14 files changed, 34 insertions(+), 37 deletions(-) diff --git a/src/mame/drivers/atarisy4.cpp b/src/mame/drivers/atarisy4.cpp index 5213bbb8b9f..78af3c1417c 100644 --- a/src/mame/drivers/atarisy4.cpp +++ b/src/mame/drivers/atarisy4.cpp @@ -69,7 +69,7 @@ public: required_memory_bank m_dsp0_bank1; optional_memory_bank m_dsp1_bank1; - atarisy4_renderer *m_renderer; + std::unique_ptr m_renderer; UINT8 m_r_color_table[256]; UINT8 m_g_color_table[256]; @@ -179,9 +179,9 @@ atarisy4_renderer::atarisy4_renderer(atarisy4_state &state, screen_device &scree { } - void atarisy4_state::video_start() +void atarisy4_state::video_start() { - m_renderer = auto_alloc(machine(), atarisy4_renderer(*this, *m_screen)); + m_renderer = std::make_unique(*this, *m_screen); } void atarisy4_state::video_reset() diff --git a/src/mame/drivers/cbasebal.cpp b/src/mame/drivers/cbasebal.cpp index 7ae08b20537..6d4b46b0749 100644 --- a/src/mame/drivers/cbasebal.cpp +++ b/src/mame/drivers/cbasebal.cpp @@ -337,11 +337,11 @@ DRIVER_INIT_MEMBER(cbasebal_state,cbasebal) { UINT8 *src = memregion("maincpu")->base(); int size = memregion("maincpu")->bytes(); - UINT8 *dst = auto_alloc_array(machine(), UINT8, size); - pang_decode(src, dst, size); + m_decoded = std::make_unique(size); + pang_decode(src, m_decoded.get(), size); membank("bank1")->configure_entries(0, 32, src + 0x10000, 0x4000); - membank("bank0d")->set_base(dst); - membank("bank1d")->configure_entries(0, 32, dst + 0x10000, 0x4000); + membank("bank0d")->set_base(m_decoded.get()); + membank("bank1d")->configure_entries(0, 32, m_decoded.get() + 0x10000, 0x4000); } diff --git a/src/mame/drivers/cclimber.cpp b/src/mame/drivers/cclimber.cpp index c7e624d30ce..bc924df4980 100644 --- a/src/mame/drivers/cclimber.cpp +++ b/src/mame/drivers/cclimber.cpp @@ -2483,11 +2483,11 @@ DRIVER_INIT_MEMBER(cclimber_state,toprollr) { 0x20,0xa0,0x28,0xa8 }, { 0x00,0x08,0x20,0x28 } /* ...1...1...1...1 */ }; - UINT8 *opcodes = auto_alloc_array(machine(), UINT8, 0x6000*3); - sega_decode(memregion("user1")->base(), opcodes, 0, convtable, 3, 0x6000); + m_opcodes = std::make_unique(0x6000*3); + sega_decode(memregion("user1")->base(), m_opcodes.get(), 0, convtable, 3, 0x6000); membank("bank1")->configure_entries(0, 3, memregion("user1")->base(), 0x6000); - membank("bank1d")->configure_entries(0, 3, opcodes, 0x6000); + membank("bank1d")->configure_entries(0, 3, m_opcodes.get(), 0x6000); membank("bank1")->set_entry(0); membank("bank1d")->set_entry(0); diff --git a/src/mame/drivers/chsuper.cpp b/src/mame/drivers/chsuper.cpp index cb518967cba..dea5fee86bd 100644 --- a/src/mame/drivers/chsuper.cpp +++ b/src/mame/drivers/chsuper.cpp @@ -399,13 +399,13 @@ ROM_END DRIVER_INIT_MEMBER(chsuper_state,chsuper2) { - UINT8 *buffer; + std::unique_ptr buffer; UINT8 *rom = memregion("gfx1")->base(); int i; m_tilexor = 0x7f00; - buffer = auto_alloc_array(machine(), UINT8, 0x100000); + buffer = std::make_unique(0x100000); for (i=0;i<0x100000;i++) { @@ -416,18 +416,18 @@ DRIVER_INIT_MEMBER(chsuper_state,chsuper2) buffer[j] = rom[i]; } - memcpy(rom,buffer,0x100000); + memcpy(rom,buffer.get(),0x100000); } DRIVER_INIT_MEMBER(chsuper_state,chsuper3) { - UINT8 *buffer; + std::unique_ptr buffer; UINT8 *rom = memregion("gfx1")->base(); int i; m_tilexor = 0x0e00; - buffer = auto_alloc_array(machine(), UINT8, 0x100000); + buffer = std::make_unique(0x100000); for (i=0;i<0x100000;i++) { @@ -438,18 +438,18 @@ DRIVER_INIT_MEMBER(chsuper_state,chsuper3) buffer[j] = rom[i]; } - memcpy(rom,buffer,0x100000); + memcpy(rom,buffer.get(),0x100000); } DRIVER_INIT_MEMBER(chsuper_state,chmpnum) { - UINT8 *buffer; + std::unique_ptr buffer; UINT8 *rom = memregion("gfx1")->base(); int i; m_tilexor = 0x1800; - buffer = auto_alloc_array(machine(), UINT8, 0x100000); + buffer = std::make_unique(0x100000); for (i=0;i<0x100000;i++) { @@ -464,7 +464,7 @@ DRIVER_INIT_MEMBER(chsuper_state,chmpnum) buffer[j] = rom[i]; } - memcpy(rom,buffer,0x100000); + memcpy(rom,buffer.get(),0x100000); } diff --git a/src/mame/drivers/cobra.cpp b/src/mame/drivers/cobra.cpp index c5842421c16..97cd40a7cb1 100644 --- a/src/mame/drivers/cobra.cpp +++ b/src/mame/drivers/cobra.cpp @@ -680,7 +680,7 @@ public: DECLARE_WRITE_LINE_MEMBER(ide_interrupt); - cobra_renderer *m_renderer; + std::unique_ptr m_renderer; cobra_fifo *m_gfxfifo_in; cobra_fifo *m_gfxfifo_out; @@ -1020,7 +1020,7 @@ void cobra_state::video_start() { machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(cobra_state::cobra_video_exit), this)); - m_renderer = auto_alloc(machine(), cobra_renderer(*m_screen)); + m_renderer = std::make_unique(*m_screen); m_renderer->gfx_init(); } diff --git a/src/mame/drivers/cps1.cpp b/src/mame/drivers/cps1.cpp index 2380fe10eb5..c51c77f7271 100644 --- a/src/mame/drivers/cps1.cpp +++ b/src/mame/drivers/cps1.cpp @@ -11809,10 +11809,10 @@ DRIVER_INIT_MEMBER( cps_state, sf2m8 ) void cps_state::kabuki_setup(void (*decode)(UINT8 *src, UINT8 *dst)) { - UINT8 *decrypt = auto_alloc_array(machine(), UINT8, 0x8000); + m_decrypt_kabuki = std::make_unique(0x8000); UINT8 *rom = memregion("audiocpu")->base(); - decode(rom, decrypt); - membank("decrypted")->set_base(decrypt); + decode(rom, m_decrypt_kabuki.get()); + membank("decrypted")->set_base(m_decrypt_kabuki.get()); } DRIVER_INIT_MEMBER(cps_state,wof) diff --git a/src/mame/drivers/cps3.cpp b/src/mame/drivers/cps3.cpp index f0082acd383..d591f40ac8a 100644 --- a/src/mame/drivers/cps3.cpp +++ b/src/mame/drivers/cps3.cpp @@ -771,11 +771,6 @@ void cps3_state::cps3_decrypt_bios() void cps3_state::init_common(void) { - /* just some NOPs for the game to execute if it crashes and starts executing unmapped addresses - - this prevents MAME from crashing */ - m_nops = auto_alloc(machine(), UINT32); - m_nops[0] = 0x00090009; - // flash roms std::string tempstr; for (int simmnum = 0; simmnum < 7; simmnum++) diff --git a/src/mame/drivers/dkong.cpp b/src/mame/drivers/dkong.cpp index e6d81e7d2a6..4c90fe71f35 100644 --- a/src/mame/drivers/dkong.cpp +++ b/src/mame/drivers/dkong.cpp @@ -3271,10 +3271,9 @@ DRIVER_INIT_MEMBER(dkong_state,strtheat) DRIVER_INIT_MEMBER(dkong_state,dkongx) { - UINT8 *decrypted; address_space &space = m_maincpu->space(AS_PROGRAM); - decrypted = auto_alloc_array(machine(), UINT8, 0x10000); + m_decrypted = std::make_unique(0x10000); m_maincpu->space(AS_PROGRAM).install_read_bank(0x0000, 0x5fff, "bank1" ); m_maincpu->space(AS_PROGRAM).install_read_bank(0x8000, 0xffff, "bank2" ); @@ -3284,11 +3283,11 @@ DRIVER_INIT_MEMBER(dkong_state,dkongx) space.install_read_handler(0xc800, 0xc800, read8_delegate(FUNC(dkong_state::braze_eeprom_r),this)); space.install_write_handler(0xc800, 0xc800, write8_delegate(FUNC(dkong_state::braze_eeprom_w),this)); - braze_decrypt_rom(decrypted); + braze_decrypt_rom(m_decrypted.get()); - membank("bank1")->configure_entries(0, 2, &decrypted[0], 0x8000); + membank("bank1")->configure_entries(0, 2, m_decrypted.get(), 0x8000); membank("bank1")->set_entry(0); - membank("bank2")->configure_entries(0, 2, &decrypted[0], 0x8000); + membank("bank2")->configure_entries(0, 2, m_decrypted.get(), 0x8000); membank("bank2")->set_entry(0); } diff --git a/src/mame/drivers/ecoinf3.cpp b/src/mame/drivers/ecoinf3.cpp index 2bf9fce48d3..3073fdc2852 100644 --- a/src/mame/drivers/ecoinf3.cpp +++ b/src/mame/drivers/ecoinf3.cpp @@ -833,7 +833,7 @@ DRIVER_INIT_MEMBER(ecoinf3_state,ecoinf3_swap) 0x06, 0x02, 0x07, 0x03, 0x0e, 0x0a, 0x0f, 0x0b, 0x31, 0x21, 0x39, 0x29, 0x33, 0x23, 0x3b, 0x2b, }; - UINT8* buffer = auto_alloc_array(machine(), UINT8, 0x10000); + auto buffer = std::make_unique(0x10000); UINT8 *rom = memregion( "maincpu" )->base(); @@ -842,7 +842,7 @@ DRIVER_INIT_MEMBER(ecoinf3_state,ecoinf3_swap) buffer[i] = rom[(i&0xff80)|table[i&0x7f]]; } - memcpy(rom,buffer,0x10000); + memcpy(rom,buffer.get(),0x10000); } diff --git a/src/mame/includes/cbasebal.h b/src/mame/includes/cbasebal.h index 8a057beac20..b64eb70e6f8 100644 --- a/src/mame/includes/cbasebal.h +++ b/src/mame/includes/cbasebal.h @@ -24,6 +24,7 @@ public: tilemap_t *m_bg_tilemap; std::unique_ptr m_textram; std::unique_ptr m_scrollram; + std::unique_ptr m_decoded; UINT8 m_scroll_x[2]; UINT8 m_scroll_y[2]; int m_tilebank; diff --git a/src/mame/includes/cclimber.h b/src/mame/includes/cclimber.h index e4fd5acc1d1..cd4bd9eec30 100644 --- a/src/mame/includes/cclimber.h +++ b/src/mame/includes/cclimber.h @@ -49,6 +49,7 @@ public: tilemap_t *m_pf_tilemap; tilemap_t *m_bs_tilemap; tilemap_t *m_toproller_bg_tilemap; + std::unique_ptr m_opcodes; DECLARE_WRITE8_MEMBER(swimmer_sh_soundlatch_w); DECLARE_WRITE8_MEMBER(yamato_p0_w); diff --git a/src/mame/includes/cps1.h b/src/mame/includes/cps1.h index 6a0655b48ce..85497c434e2 100644 --- a/src/mame/includes/cps1.h +++ b/src/mame/includes/cps1.h @@ -141,6 +141,7 @@ public: std::unique_ptr m_buffered_obj; optional_shared_ptr m_qsound_sharedram1; optional_shared_ptr m_qsound_sharedram2; + std::unique_ptr m_decrypt_kabuki; // cps2 optional_shared_ptr m_objram1; optional_shared_ptr m_objram2; diff --git a/src/mame/includes/cps3.h b/src/mame/includes/cps3.h index 8792500c685..4f954dbdb9d 100644 --- a/src/mame/includes/cps3.h +++ b/src/mame/includes/cps3.h @@ -52,7 +52,6 @@ public: fujitsu_29f016a_device *m_simm[7][8]; UINT32 m_cram_gfxflash_bank; - UINT32* m_nops; std::unique_ptr m_char_ram; std::unique_ptr m_eeprom; UINT32 m_ss_pal_base; diff --git a/src/mame/includes/dkong.h b/src/mame/includes/dkong.h index bd1b4bbac10..2033bf96bbe 100644 --- a/src/mame/includes/dkong.h +++ b/src/mame/includes/dkong.h @@ -140,6 +140,7 @@ public: UINT8 m_hardware_type; UINT8 m_nmi_mask; + std::unique_ptr m_decrypted; /* sound state */ const UINT8 *m_snd_rom;